1 INTELIGÊNCIA ARTIFICIAL 2 INTELIGÊNCIA ARTIFICIAL • 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. 3 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 Auto correção (adaptação) 4 Comportamento Inteligente .... Aprendizado O pássaro... (1-2) (3) (4-5) (6) (7-8) (9) Ataca e come borboleta de sabor agradável... Ataca uma de sabor desagradável... Come apenas parte do espécime... Reage ao mau gosto da borboleta... Vomita, bebe água e vomita novamente... 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 5 INTELIGÊNCIA ARTIFICIAL • Ramo do conhecimento que trata, entre outras coisas, do projeto 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 Capacidade de ver, ouvir e interpretar corretamente símbolos sensoriais 6 INTELIGÊNCIA ARTIFICIAL IA - Sistemas que agem racionalmente 7 Teste de Turing 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” 8 Teste de Turing 9 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 não ? 10 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 • 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 (agir racionalmente !!!!) 11 “componentes” da IA 12 Pesquisa Heurística X Algoritmica 13 Pesquisa Heurística X Algoritmica Problema: procurar uma vaga perto da universidade Se você fosse o motorista arriscaria tentar uma vaga melhor (mais próxima à universidade) ? 14 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). • 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 15 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 de Jogar Xadrez: movimentação dentro de um espaço de estados onde cada estado é uma “configuração” legal 16 PROBLEMA para IA – Exemplo 2 “Problema” das 8 rainhas 17 PROBLEMA para IA – Exemplo 2 “Problema” das 8 rainhas 18 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) → “Configuração final” : (2,0) 19 PROBLEMA para IA – Exemplo 3 “Problema” das jarras de água • Árvore de possibilidades para resolução do problema 20 PROBLEMA para IA – Exemplo 4 • Problema: Quebra-cabeça dos 8 21 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” Rota: S _ _ _ _ S 22 PROBLEMA para IA – Exemplo 5 “Problema” do caixeiro viajante 23 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 do programa, de acesso aos dados, cálculo das distâncias, comparações, chamadas a subrotinas, etc. 24 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 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. 25 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. • 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 26 IA – Técnicas de busca • 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”. 27 IA – Técnicas de busca 28 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 (1a ordem) Conectivos: ∧ , ∨ , ¬ , → , ↔ Quantificadores: ∀ - “Para todo” ∃ - “Existe ao menos um” Exemplo: Predicados H - (...) ser humano V - (...) ser vegetal Objeto: ∀x(Hx → Mx) Hs ∀x∀y (Hx ∧ Vy→ Gxy) Hs → ∃xMx M - (...) ser mortal G - (...) gosta de (...) s – Sócrates “Todo humano é mortal” “Sócrates é humano” “Todo humano gosta de vegetal” “Se Sócrates é humano, então existe ao menos um objeto que é mortal” 29 30 IA – Representação de conhecimento Usando lógica matemática 31 IA – Representação de conhecimento Usando regras de produção • Regras de produção ⇒ Representam relações AtributoValor (A-V) ou Objeto-Atributo-Valor (O-A-V) 32 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” “Todo carro tem rodas, e um veículo é um meio de transporte” 33 IA – Representação de conhecimento Usando redes semânticas 34 IA – Representação de conhecimento Usando redes semânticas 35 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). → Consulta : “o mamoeiro é mortal ?” mortal(mamoeiro) 36 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 “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. 37 IA e Agentes Inteligentes 38 IA e Agentes Inteligentes 39 IA e Agentes Inteligentes 40 IA e Agentes Inteligentes 41 Exemplos de Agentes Inteligentes 42 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. • Imagine agentes inteligentes à solta sobre dados de pesquisas médicas ou informações sobre partículas subatômicas. Os computadores podem revelar novos tratamentos para doenças ou novas visões sobre a natureza do universo. 43 IA e Mineração de dados (data mining) 44 IA e Mineração de dados (data mining) 45 IA e Mineração de dados (data mining) 46 IA e Mineração de dados (data mining) 47 IA e Mineração de dados (data mining) 48 IA e Mineração de dados (data mining)