Atualizado em 19/10/2026: texto refeito: definição direta do problema XOR, tabela da operação XOR, por que um perceptron de uma camada não resolve, o que o livro Perceptrons (1969) mostrou de fato e como uma camada oculta resolve, com fontes; saíram parágrafos repetidos e sem fonte. Como conferimos os dados
O problema XOR (em inglês XOR problem) é o exemplo clássico de uma tarefa que um perceptron de uma camada só não consegue aprender: separar as saídas da operação lógica XOR (ou exclusivo). Ele mostra o limite dos modelos lineares e por que redes com camada oculta são necessárias.
O que é a operação XOR
XOR devolve 1 (verdadeiro) quando as duas entradas são diferentes e 0 quando são iguais:
| Entrada A | Entrada B | A XOR B |
|---|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 0 |
Por que é um problema
Ponha os quatro casos num plano: os pontos (0,1) e (1,0) têm saída 1; (0,0) e (1,1) têm saída 0. Não existe uma única linha reta que deixe os dois “1” de um lado e os dois “0” do outro. Em termos técnicos, o XOR não é linearmente separável. Um perceptron de uma camada, assim como a regressão logística sem transformar as entradas, só traça uma fronteira de decisão reta, então erra pelo menos um dos quatro casos.
Perceptrons (1969) e o mito do “inverno”
Marvin Minsky e Seymour Papert publicaram em 1969 o livro Perceptrons, que prova limites dos perceptrons de uma camada; o XOR virou o exemplo mais citado. O livro costuma ser lembrado como o responsável por afastar a pesquisa de redes neurais nos anos 1970, mas isso é discutido: os próprios autores já sabiam que redes com mais camadas conseguem computar XOR, e o limite provado vale para o perceptron simples, não para redes neurais em geral.
Como o XOR é resolvido
- Camada oculta: um perceptron multicamadas com dois neurônios ocultos já resolve. Cada neurônio oculto traça uma reta (por exemplo, um faz “A OU B” e outro “A E B”), e a saída combina as duas: XOR = (A OU B) e não (A E B).
- Treino: para ajustar os pesos de uma rede com camada oculta usa-se um algoritmo como a retropropagação (backpropagation), popularizada em 1986 por Rumelhart, Hinton e Williams.
- Transformar as entradas: acrescentar uma variável como A×B, ou usar métodos de kernel (como no SVM), torna o problema separável por um modelo linear.
Termos relacionados
Fontes (conferidas em 14/10/2026): Wikipédia (inglês): Perceptron · Wikipédia (inglês): Perceptrons (livro) · Rumelhart, Hinton e Williams (1986), Learning representations by back-propagating errors, Nature