A lógica proposicional estuda afirmações (proposições) que podem ser verdadeiras (V) ou falsas (F). Os conectivos lógicos combinam proposições simples para formar proposições compostas. Conhecemos quatro conectivos fundamentais: conjunção (e), disjunção (ou), condicional (se... então) e negação (não). Abaixo apresentamos a definição de cada um com suas tabelas-verdade. Utilizamos \(\wedge\) para "e", \(\vee\) para "ou", \(\rightarrow\) para "se...então" e \(\sim\) ou \(\neg\) para negação.
A conjunção \(p \wedge q\) é verdadeira apenas quando ambas as proposições \(p\) e \(q\) são verdadeiras; nos demais casos é falsa.
\[ \begin{array}{c|c|c} p & q & p \wedge q \\ \hline V & V & V \\ V & F & F \\ F & V & F \\ F & F & F \\ \end{array} \]
A disjunção \(p \vee q\) é falsa apenas quando ambas as proposições são falsas; em todos os outros casos é verdadeira (ou inclusivo: pelo menos uma verdadeira).
\[ \begin{array}{c|c|c} p & q & p \vee q \\ \hline V & V & V \\ V & F & V \\ F & V & V \\ F & F & F \\ \end{array} \]
A condicional \(p \rightarrow q\) (lê-se: "se p então q") é falsa apenas no caso em que a antecedente \(p\) é verdadeira e a consequente \(q\) é falsa. Nos demais casos, é verdadeira.
\[ \begin{array}{c|c|c} p & q & p \rightarrow q \\ \hline V & V & V \\ V & F & F \\ F & V & V \\ F & F & V \\ \end{array} \]
A negação \(\sim p\) (ou \(\neg p\)) inverte o valor lógico da proposição: se \(p\) é verdadeira, \(\sim p\) é falsa; se \(p\) é falsa, \(\sim p\) é verdadeira.
\[ \begin{array}{c|c} p & \sim p \\ \hline V & F \\ F & V \\ \end{array} \]
A tabela abaixo reúne todos os conectivos para facilitar a comparação:
\[ \begin{array}{c|c|c|c|c|c} p & q & p \wedge q & p \vee q & p \rightarrow q & \sim p \\ \hline V & V & V & V & V & F \\ V & F & F & V & F & F \\ F & V & F & V & V & V \\ F & F & F & F & V & V \\ \end{array} \]
Observe os valores e memorize os padrões. A lógica proposicional é a base do raciocínio matemático e computacional. Pratique criando exemplos com frases do dia a dia!
No dia a dia, usamos a nossa língua natural (português, inglês, etc.) para nos comunicar. Essa linguagem é rica, mas pode ser ambígua. Já a linguagem matemática (ou simbólica) utiliza símbolos precisos para representar ideias de forma clara e sem duplicidade de interpretação.
Na lógica proposicional, representamos proposições simples por letras como \(p\) e \(q\) e usamos conectivos (\(\wedge\), \(\vee\), \(\rightarrow\), \(\sim\)) para criar proposições compostas. A seguir, damos um exemplo concreto e traduzimos expressões simbólicas para a linguagem natural.
Considere as seguintes proposições simples:
Agora vamos escrever em linguagem natural (português claro) as proposições compostas formadas a partir de \(p\) e \(q\) com os conectivos lógicos.
Linguagem natural: "Hoje está chovendo e eu sou aluno de IA."
(A frase combina as duas informações com o conectivo "e", indicando que ambas as condições são verdadeiras.)
Linguagem natural: "Hoje não está chovendo e eu sou aluno de IA."
(Primeiro negamos "Hoje está chovendo" – que vira "Hoje não está chovendo" – e depois unimos com "e eu sou aluno de IA".)
Linguagem natural: "Hoje está chovendo ou eu sou aluno de IA."
(Na linguagem cotidiana, esse "ou" pode ser interpretado como pelo menos um dos dois acontecendo – podendo inclusive ambos.)
Linguagem natural: "Se hoje está chovendo, então eu sou aluno de IA."
(A implicação afirma que, no caso de a primeira parte ser verdadeira, a segunda obrigatoriamente também é.)
A linguagem matemática elimina ambiguidades. Por exemplo, na língua natural a palavra "ou" pode significar "um ou outro, mas não ambos" (ou exclusivo) ou "pelo menos um". Na lógica, usamos símbolos diferentes (\(\vee\) para o inclusivo; às vezes \(\veebar\) para o exclusivo). As tabelas-verdade fixam exatamente o significado.
Outro ponto: a condicional "se... então" em português às vezes sugere uma relação de causa e efeito, mas na lógica \(p \rightarrow q\) é apenas uma relação formal definida pela tabela-verdade (falsa apenas quando \(p\) é verdadeira e \(q\) falsa).
Praticar a tradução entre os dois mundos ajuda a estruturar o raciocínio lógico e a evitar armadilhas da linguagem comum.
O Perceptron é a unidade fundamental das redes neurais artificiais. Inspirado no neurônio biológico, ele recebe várias entradas, multiplica cada uma por um peso, soma tudo, adiciona um viés (bias) e, em seguida, aplica uma função de ativação (geralmente uma função degrau) para decidir a saída.
A combinação linear das entradas com os pesos é dada por:
\[ z = \sum_{i=1}^{n} (w_i \cdot x_i) + b \]
onde:
Em seguida, aplicamos uma função de ativação. No perceptron clássico, usamos a função degrau (Heaviside):
\[ y = \begin{cases} 1 & \text{se } z \ge 0 \text{ (aprovado)} \\ 0 & \text{se } z < 0 \text{ (reprovado)} \end{cases} \]
Imagine um banco que deseja decidir se aprova ou não um empréstimo com base em três características do cliente:
O viés (bias) adotado será \(b = -5\) (um limiar padrão para dificultar a aprovação, exigindo boas pontuações).
Cálculo de \(z\):
\[ \begin{aligned} z &= (0,0001 \times 5000) + (0,5 \times 2) + (0,002 \times 650) + (-5) \\ &= 0,5 + 1,0 + 1,3 - 5 \\ &= 2,8 - 5 \\ &= -2,2 \end{aligned} \]
Como \(z = -2,2 < 0\), a saída \(y = 0\). Decisão: REPROVAR crédito.
Cálculo de \(z\):
\[ \begin{aligned} z &= (0,0001 \times 12000) + (0,5 \times 5) + (0,002 \times 820) + (-5) \\ &= 1,2 + 2,5 + 1,64 - 5 \\ &= 5,34 - 5 \\ &= 0,34 \end{aligned} \]
Como \(z = 0,34 \ge 0\), a saída \(y = 1\). Decisão: APROVAR crédito.
O cliente A tem um salário razoável e score mediano, mas pouco tempo de relacionamento. O somatório ponderado não atingiu o limiar (bias negativo), resultando em reprovação.
O cliente B tem alta renda, longo relacionamento e bom score, o que fez \(z\) superar o limiar, sendo aprovado.
Esse é o princípio básico de um perceptron: uma combinação linear seguida de uma decisão binária. Na prática, os pesos e o bias são aprendidos a partir de dados históricos.