Documente Academic
Documente Profesional
Documente Cultură
Introdução
Aula 01
Raciocínio Lógico
Usado para derivar conclusões
Usado para convencer da veracidade
Lógica para Computação
Um pouco de história …
(~300 a.C.) Aristóteles
Lei da (não-)contradição – nenhuma
afirmação pode ser verdadeira e falsa
ao mesmo tempo
a ˄ Øa º F
Fonte: http://pt.wikipedia.org/wiki/Aristóteles
Lógica para Computação
Um pouco de história …
(~300 a.C.) Aristóteles
Silogismo hipotético (regra da cadeia)
a®b, b®g |= a®g
Premissas
Todo homem é mortal. Premissa maior
(todo) Sócrates é homem. Premissa menor
Conclusão
Logo, Sócrates é mortal.
Fonte: http://pt.wikipedia.org/wiki/Aristóteles
Lógica para Computação
Um pouco de história …
(1666) Gottfried Wilhelm Leibniz –
"Dissertação da Arte Combinatória"
Propôs uma linguagem artificial própria
para expressar os conceitos da lógica e
da filosofia
Alfabeto
Ideias compostas formalizadas a partir dos símbolos
elementares do alfabeto
Raciocínio automatizável
Fonte: http://pt.wikipedia.org/wiki/Gottfried_Wilhelm_Leibniz
Lógica para Computação
Um pouco de história …
(1847) George Boole – "Mathematical
Analysis of Logic"
Álgebra de Boole
Circuitos
Teoria dos conjuntos
Chave aberta = 0;
Chave fechada = 1
Lâmpada apagada = 0;
Lâmpada acesa = 1
Fonte: http://pt.wikipedia.org/wiki/George_Boole
Lógica para Computação
Um pouco de história …
(1847) George Boole – "Mathematical
Analysis of Logic"
Álgebra de Boole
Circuitos
Teoria dos conjuntos
A.B
A&B
A, B
AÇ B
A˄B
Lógica para Computação
Um pouco de história …
(1806-1871) Augustus De Morgan –
“Formal Logic”
Leis de De Morgan
Ø(X ˅ Y) º ØX ˄ ØY X+Y = X . Y
Ø(X ˄ Y) º ØX ˅ ØY X.Y = X + Y
Um pouco de história …
(1901) Bertrand Arthur William Russell
Paradoxo – predicados que predicam
sobre si mesmos
Conjunto X conjunto de conjuntos
Teoria dos tipos
Objetos de um determinado tipo só podem se referir a
objetos de um nível hierárquico inferior
(1910-1913) Alfred North Whitehead &
Bertand Russell – “Principia Mathematica”
Fonte: http://revistaescola.abril.com.br/formacao/bertrand-russell-logico-educacao-423329.shtml
e http://www.iep.utm.edu/whitehed/
Lógica para Computação
Um pouco de história …
(1921) David Hilbert – Programa de Hilbert
Qualquer proposição da matemática
poderia ser provada dentro de um sistema
completo formado por um número finito de
axiomas consistentes
(1931) Kurt Gödel – Teorema de
incompletude de Gödel
Prova que um sistema axiomático
consistente (ex. lógica de primeira ordem)
não pode provar sua própria consistência
Um pouco de história …
(1930) Jacques Herbrand – Teorema de
Herbrand
Fonte: http://pt.wikipedia.org/wiki/Jacques_Herbrand e
http://en.wikipedia.org/wiki/John_Alan_Robinson
Lógica para Computação
A Lógica na Computação
De acordo com (HALPERN et al., 2001), a Lógica se
mostrou mais importante para a Computação do
que para a Matemática
Lógica para Computação
A Lógica na Computação
Lógica de programação
num = input("Digite um numero: ")
if (num < 10):
print 'Menor que 10'
elif (num == 10):
print 'Igual a 10'
else:
print 'Maior que 10'
Lógica para Computação
A Lógica na Computação
Programação lógica – PROLOG
size([],0).
size([H|T],N) :- size(T,N1), N is N1+1.
member(X,[X|_]).
member(X,[_|T]) :- member(X,T).
Lógica para Computação
A Lógica na Computação
Consulta a Banco de Dados – SQL
SELECT * FROM Customers
WHERE Country='Germany'
AND (City='Berlin' OR City='München');
Lógica para Computação
A Lógica na Computação
Sistemas especialistas
Fonte: http://images.slideplayer.com.br/2/345351/slides/slide_21.jpg
Lógica para Computação
A Lógica na Computação
Aprendizado de Máquina
Fonte:
http://1.bp.blogspot.com/_j_uiNXFNWY0/S9NKp0gk5jI/AAAAAAAAAOA/aA5nCRDiYxQ/s1600/filos
ofia.JPG
Lógica para Computação