INTELIGÊNCIA ARTIFICIAL 1 Ramo da computação que procura permitir uma máquina simular 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? O conceito de ser inteligente é bastante impreciso, mesmo entre os seres humanos.
Comportamento Inteligente... Aprendizado 2 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... (9) Se recupera... e daí em diante passa a rejeitar exemplares de sabor desagradável Fonte: Amabis Martho e Mizuguchi, Biologia. volume 3 Genética, evolução e ecologia São Paulo, Ed. Moderna, 1979
Teste de Turing 3 Se o operador humano A faz perguntas de qualquer natureza - ao operador humano B e ao Computador com software inteligente e, pelo padrão de respostas recebido, NUNCA sabe quem é o operador humano e quem é a máquina. Neste caso Turing considera a máquina inteligente
O filósofo John Searle e a Sala Chinesa (contra-argumento ao Teste de Turing) 4 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 não?
Dos anos 60 aos 90 5 Desde os anos 50, uma grande dose de otimismo original com IA foi perdida, tendo sido substituída por uma dose de realismo O objetivo do estudo da IA não é mais criar um robô tão inteligente quanto um humano, mas em vez disso usar algoritmos, heurísticas e metodologias baseadas nos modos pelas quais o cérebro humano soluciona problemas.
componentes da IA fraca... ou apenas IA... 6
Pesquisa Heurística X Algoritmica 7
Pesquisa Heurística X Algoritmica 8 Problema: procurar uma vaga perto da universidade Se você fosse o motorista arriscaria tentar uma vaga melhor (mais próxima à universidade)?
Definição de PROBLEMA para IA 9 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). O processo de busca pelo espaço de estados ocorre, de modo geral, por regras que causam movimentação de uma configuração de espaço de estados para outra configuração de espaço de estados
PROBLEMA para IA Exemplo 1 10 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 10 120 possíveis posições no tabuleiro nas regras? Problema de Jogar Xadrez: movimentação dentro de um espaço de estados onde cada estado é uma configuração legal
PROBLEMA para IA Exemplo 2 11 Problema das 8 rainhas
PROBLEMA para IA Exemplo 2 12 Problema das 8 rainhas
PROBLEMA para IA Exemplo 3 13 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) Configuração final : (2,0)
PROBLEMA para IA Exemplo 3 14 Problema das jarras de água Árvore de possibilidades para resolução do problema
PROBLEMA para IA Exemplo 4 15 Problema: Quebra-cabeça dos 8
PROBLEMA para IA Exemplo 5 16 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) P n = n! = 4! = 24 possíveis combinações Rota: S S
PROBLEMA para IA Exemplo 5 17 Problema do caixeiro viajante
PROBLEMA para IA Exemplo 5 18 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 do programa, de acesso aos dados, cálculo das distâncias, comparações, chamadas a subrotinas, etc.
IA Técnicas de busca 19 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 solução ótima pode se tornar inviável computacionalmente falando... Usam-se então técnicas heurísticas onde a solução é obtida em tempo computacional aceitável e cuja solução espera-se seja próxima da solução ótima.
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 20 Exemplos: p = João é médico q = João é estudioso p q, p q, p q, p q, q Lógica de predicados (1 a ordem) 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 existe ao menos um objeto que é mortal
21
IA Representação de conhecimento Usando lógica matemática 22
IA Representação de conhecimento Usando regras de produção Regras de produção Representam relações Atributo- Valor (A-V) ou Objeto-Atributo-Valor (O-A-V) 23
IA Representação de conhecimento Usando redes semânticas 24 Estrutura de GRAFO NÓS e ARCOS Tríade Objeto-Atributo-Valor (O-A-V) Ex.: Todo carro é um veículo Todo carro tem rodas, e um veículo é um meio de transporte
IA Representação de conhecimento Usando redes semânticas 25
IA Representação de conhecimento 26 Usando redes semânticas
IA Técnicas de busca 27 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. As técnicas de IA (heurísticas) na maioria das vezes acharão soluções de mínimo local que, contudo são próximas da solução ótima do problema
IA Técnicas de busca 28 Quais os ramos corretos a serem percorridos para se chegar ao resultado ótimo? Se forem muitos ramos, somente usando alguma heurística é que se achará uma solução próxima da solução ótima.
IA Técnicas de busca 29
IA Técnicas de busca 30 /*--------------------- */ /* 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). Consulta : o mamoeiro é mortal? mortal(mamoeiro)
IA Técnicas de busca 31 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 Branchand-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 Genéticos.
IA Alguns exemplos 32 IA base Pesquisa Operacional - Otimização combinatória Probabilidade e Estatística Matemática - Álgebra linear entre outras... *** FIM ***