INTELIGÊNCIA ARTIFICIAL
• Ramo da computação que procura permitir uma máquinasimular “comportamento inteligente”, através de algoritmos e técnicas que simulem situações consideradas específicamente humanas, tais como:
→ Compreensão de linguagem natural
→ Reconhecimento de padrões
→ Jogos de estratégia
→ Demonstração automática de teoremas
→ Otimização de sistemas de recuperação
→ Programação automática
→ Robótica
→ Sistemas de consulta especializados
• O que é “comportamento inteligente” ?
Comportamento Inteligente .... Aprendizado
Although it is impossible to give succint definitions or descriptions of intelligence, it is clear that intelligence is associated with a specialization of knowledge, and that involves the ability to learn and to adapt to the environment
Aprendizado
Raciocínio
Comportamento Inteligente .... Aprendizado
O pássaro...
(1-2) Ataca e come borboleta de sabor agradável... (3) Ataca uma de sabor desagradável...
(4-5) Come apenas parte do espécime... (6) Reage ao mau gosto da borboleta...
(7-8) Vomita, bebe água e vomita novamente...
INTELIGÊNCIA ARTIFICIAL
• Ramo do conhecimento que trata, entre outras coisas, doprojeto e da construção de computadores e robôs inteligentes.
• Computador inteligente possui qualquer uma das habilidades mentais que fazem uma pessoa ser considerada inteligente. Algumas habilidades:
Capacidade de raciocinar e fazer inferências
Capacidade de resolver problemas
Capacidade de acumular e de usar conhecimentos
Capacidade de falar línguas humanas tais como o inglês e o português
Capacidade de planejar as próprias ações e de prever o resultado delas
Capacidade de aprender com a experiência
INTELIGÊNCIA ARTIFICIAL
Teste de Turing
O filósofo John Searle e a Sala Chinesa (contra-argumento ao Teste de Turing)
Um humano que compreende inglês permanece numa sala isolada.
Este humano não fala/compreende nada de chinês (nem mesmo os ideogramas)
Na sala existe apenas uma “interface de entrada” (input) com o exterior da sala por
onde se passa, em ideogramas chineses, uma história e perguntas sobre a história .
Na sala existe um dispositivo (output) para saída em papel das respostas escritas a
mão pelo humano
Na sala existe um conjunto de instruções (rule ledger), escritas em inglês, sobre os
procedimentos a serem adotados para cada tipo de dados apresentado através da “interface de entrada” (input)
• Perguntas:
O humano é inteligente ?
O sistema [ Humano + input + rule ledger + output ] é inteligente ?
O observador externo acredita que o humano sabe chinês... É verdade ou
Dos anos 60 aos 90
• Desde os anos 50, uma grande dose de otimismo original com IA foi perdida, tendo sido substituída por uma dose de realismo
Pesquisa Heurística X Algoritmica
Problema: procurar uma vaga perto da universidade
Se você fosse o motorista arriscaria tentar uma vaga melhor
Definição de PROBLEMA para IA
PROBLEMA em IA ⇒ Uma busca em um espaço de estados com o objetivo de partir de um estado inicial e se chegar a um estado-meta (estado final).
PROBLEMA para IA – Exemplo 1
“Problema” = Jogar Xadrez
• Estruturas de dados:
→ “Configuração inicial” das peças no tabuleiro
→ “Configuração final” das peças no tabuleiro
→ Descrever todas as regras de movimento legal das peças
→ Como descrever cada uma das 10120 possíveis posições no tabuleiro nas regras ?
PROBLEMA para IA – Exemplo 2
PROBLEMA para IA – Exemplo 2
PROBLEMA para IA – Exemplo 3
“Problema” das jarras de água
Definição: Tem-se duas jarras de água, uma de 4 litros e uma de 3 litros. Nenhuma delas tem qualquer marcação de medidas. Há uma torneira que pode ser usada para encher as jarras com água. Problema: como proceder para encher a
jarra de 4 litros com exatamente 2 litros de água ?
• Estruturas de dados:
→ Par ordenado (x,y) onde x = 0, 1, 2, 3 ou 4 e y = 0, 1, 2 ou 3 representa o espaço de estados do problema
→ “Configuração inicial” : (0,0)
PROBLEMA para IA – Exemplo 3
“Problema” das jarras de água
PROBLEMA para IA – Exemplo 4
PROBLEMA para IA – Exemplo 5 “Problema” do caixeiro viajante
Definição: Um vendedor tem uma lista de clientes que precisa visitar exatamente uma vez. Há estradas diretas entre cada par de clientes da lista. Problema: Encontre a rota que o
vendedor deverá seguir para que a viagem seja a menor possível, e que comece e termine na loja de origem do vendedor.
Primeira tentativa de solução: Combinatória de possibilidades de ordem de visitação considerando n clientes.
Por exemplo, tendo-se como ponto de partida a loja S do vendedor e sendo necessário visitar os clientes A, B, C e D temos:
n = 4 clientes a serem “combinados” (A, B, C e D) Pn = n! = 4! = 24 possíveis “combinações”
PROBLEMA para IA – Exemplo 5 “Problema” do caixeiro viajante
Supondo que o tempo gasto para geração e cálculo do custo
de cada rota numa máquina hipotética seja da ordem de 1
µs (10-6 segundos). Assim, considerando-se n clientes a visitar temos:
Esse tempo envolve a execução das instruções de controle
IA – Técnicas de busca
Em princípio, as técnicas de busca da solução para
PROBLEMA em IA envolvem a navegação pelos ramos das árvores de possibilidade até que se encontre a solução
Mas, se a árvore de possibilidades for “grande”, a busca da
IA – Técnicas de busca
• Podemos dizer, de modo geral, que as técnicas de busca para a solução de problemas em IA são análogas à situação acima onde Johnnie Walker tem que procurar o vale mais profundo.
IA – Técnicas de busca
• Quais os ramos “corretos” a serem percorridos para se chegar ao resultado “ótimo” ?
IA – Representação de conhecimento Usando lógica matemática
•
Lógica proposicional
Conectivos: E - ∧ OU - ∨ NÃO - ¬
Se...Então... - → Se e somente se ↔
Exemplos: p = João é médico q = João é estudioso p ∧ q, p ∨ q, p → q, p ↔ q, ¬q
•
Lógica de predicados (1
aordem)
Conectivos: ∧ , ∨ , ¬ , → , ↔ Quantificadores: ∀ - “Para todo”
∃ - “Existe ao menos um” Exemplo: Predicados
H - (...) ser humano M - (...) ser mortal V - (...) ser vegetal G - (...) gosta de (...) Objeto: s – Sócrates
∀x(Hx → Mx) “Todo humano é mortal”
Hs “Sócrates é humano”
∀x∀y (Hx ∧ Vy→ Gxy) “Todo humano gosta de vegetal” Hs → ∃xMx “Se Sócrates é humano, então
IA – Representação de conhecimento Usando regras de produção
IA – Representação de conhecimento Usando redes semânticas
• Estrutura de GRAFO ⇒ NÓS e ARCOS
• Tríade Objeto-Atributo-Valor (O-A-V) Ex.: “Todo carro é um veículo”
IA – Técnicas de busca /*--- */ /* Base de Conhecimento */ /*---*/ clauses /*--> Fatos <--*/ cachorro(pluto). gato(tom). humano(socrates). humano(mane). vegetal(abacateiro). vegetal(limoeiro). vegetal(mamoeiro). /*--> Regras <--*/ mortal(X) :- mamifero(X). mortal(X) :- faz_fotossintese(X). mamifero(X) :- humano(X). mamifero(X) :- cachorro(X). mamifero(X) :- gato(X). faz_fotossintese(X) :- vegetal(X). tem_raiz(X) :- vegetal(X).
IA – Técnicas de busca
Heurística é qualquer método ou técnica criada, ou desenvolvida, para resolver um determinado tipo de problema.
Meta-Heurísticas são consideradas heurísticas de uso geral ou uma heurística das heurísticas.
Os métodos utilizados para resolver problemas de otimização combinatória (excluindo os algoritmos exponenciais) podem ser assim classificados:
Heurísticas: (a) Míopes ou gulosas, (b) Locais e (c)
Partição ou agrupamento
Métodos enumerativos: não exaustivos, do tipo
“Branch-and-Bound” e Programação Dinâmica
Métodos de Programação Linear e Não-Linear:
Simplex, Pontos Interiores, Algoritmo dos Elipsóides, etc.
Métodos Estocásticos: Simulated Annealing, Tabu Search, etc
Métodos Analógicos: Redes Neurais e Algoritmos
IA e Mineração de dados (data mining)
(Revista Byte – Outubro/1995 –págs. 96-110)
• Há ouro em seus dados, mas você não consegue vê-lo.
Pode ser uma percepção tão simples (e tão lucrativa)
quanto se dar conta de que compradores de comida para bebês são também compradores de fraldas.
• A mineração de dados (data mining) deixa que o poder dos computadores faça o trabalho de joeirar as imensas quantidades de dados armazenados. Uma busca incansável e persistente pode encontrar a minúscula pepita de ouro em uma montanha de entulho de dados.