INTELIGÊNCIA ARTIFICIAL 2284-ELE/5, 3316-IE/3 Universidade da Beira Interior, Departamento de Informática Hugo Pedro Proença, 2007/2008 Conceitos Introductórios Definiçao ç de Inteligência g Artificial (IA) ( ) (McCarthy, 1956) Ramo da ciência computacional cujo objectivo é fazer os computadores comportarem-se como humanos. (Kurzweil 1990) A arte de criar máquinas capazes de efectuar (Kurzweil, tarefas que requerem inteligência quando desempenhadas por pessoas. (Russel & Norvig Norvig, 2003) Estudo e desenho de Agentes Inteligentes, considerando como agente inteligente um sistema capaz de perceber o ambiente e tomar acções que maximizam as suas p probabilidades de sucesso. (Encyclopædia Britannica, 2007) Capacidade de um sistema computacional executar tarefas que normalmente requeriríam inteligência g humana. Áreas Condicionantes da IA Ciência Computacional Psicologia Cognitiva Psicologia Sociónica Política Inteligência Artificial Engenharía(s) Economia IA Forte vs. IA Fraca Existem duas perspectivas radicalmente diferentes sobre a Inteligência Artificial e sobre o rumo que esta disciplina poderá (deverá) tomar no futuro: Uma variante de Inteligência Artificial Forte, onde se considera que é (será) efectivamente possível criar uma máquina consciente e, desta forma, inteligente. Tema bastante controverso, pois envolve temas como ''consciência" e ética ligados a uma entidade que seja cognitivamente indiferenciável "ética" de seres humanos. Por outro lado, a Inteligência Artificial Fraca tem objectivos mais modestos (realistas?). Introduzida por John McCarty na famosa conferência de Dartmouth, o objectivo é "programar na máquina tal comportamento, que este sería considerado inteligente caso fosse proveniente de um ser h mano". humano Considera impossível a construção de máquinas efectivamente inteligentes. Inteligência? g (Teste ( de Turing) g) Qual o limiar para classificar um sistema computacional como inteligente? l ? Noção difusa e subjectiva. Teste de Turing Alan Turing Al T i ffoii um antigo i espião iã BBritãnico. iã i Projectou uma máquina que, de acordo com um sistema formal, efectua operações computacionais. Mostrou como um sistema automático pode manipular símbolos de um sistema de regras próprias. Propôs que... Para se determinar se um programa é ou não inteligente deve-se "colocar o programa e um ser humano a responder a questões de outra pessoa fisicamente distante. O programa deve ser considerado inteligente se esta pessoa não for f capaz de d dizer di se foi f i o programa ou o ser humano h a responder às suas perguntas". Procurar na Web por “Chatterbots” ELIZA A.L.I.C.E. Sinopse p da IA 1956 "Pré-História" Filosofia (Lógica) Matemática : Boole Frege Psicologia: Behaviorismo Cognitivismo (W. James) Cibernética Clássico G.P.S. (Newell&Simon) Geometry P.S. (IBM) Jogo de Damas (Samuel) LISP, Time-sharing (Mccarthy) T. de Turing Teoria da Informação (Shannon) Modelo do Neurónio Artificial (McCulloch & Pits) Pesquisa+ Conhecimento (advice taker) P. da Resolução (A.Robinson) Romântico Logic Theorist (Newell) Robótica ("Shakey") Cálculo Integral (SAINT) Gramática SIR (B.Raphael) Perceptrão (Rosenblatt) Eliza Minsky & Papert e polémica dos perceptrões saída do reconhecimento de formas Pragmático Difusão/Integração Engª do Conhecimento (Feigenbaum) Dendral Sistemas Periciais: MICYN Raciocínio incerto e Probabilístico: Prospector Computadores da 5º Geração (MITI) Hdw dedicado: Controlo "Fuzzy" Frames (Minsky) Lunar Robótica reactiva (Brooks) PROLOG S.Baseados em Conhecimento divulgados ESPRIT Redes Neuronais Aprendizagem Grupos: MIT (Minsky) U.Stanford (McCarthy) Computação neuronal (Doutoramento de Minsky) Nascimento da IA: Reunião do Dartmouth College (Minsky, Mccarthy, Simon, Newell, Shannon,... 2000 1990 1982 1974 1962 Refundação Antropomorf. Agentes "situados" Agentes (SOAR - Newell) Emotivos IA Distribuída: S.Multi-Agente Ag. cognitivos IA + Web Agentes Robóticos I t li ê i Inteligência Social Aplicações p ç de IA A concretização dos objectivos propostos, quer pela IA fraca ou forte (utópica?), tem sido lenta (aquém do esperado nos anos 50). No entanto,, a investigação g ç nesta área deu origem g a numerosas ramificações que proporcionaram aplicações de evelada utilidade para as sociedades contemporãneas. Linguagens de Programação (LISP, Prolog) Aplicações de detecção / classificação de doenças ... Aplicação 1 Aplicação 2 Investigação e desenvolvimento Aplicações p ç de IA Planeamento e escalonamento. A 100 000 000 Km da Terra, o programa R Remote t Agent A t da d NASA foi f i o primeiro i i programa de d que controla t l o escalonamento de operações de uma nave espacial. Gera planos de metas de alto nível e efetua a detecção, o diagnóstico e a recuperação de problemas . Jogos. O Deep Blue da IBM foi o 1º primeiro programa de computador a derrotar o campeão mundial em uma partida de xadrez, ao vencer Garry Kasparov por um placar de 3,5 a 2,5 em uma partida de exibição. Kasparov disse que sentiu “uma nova espécie de inteligência” do outro lado do tabuleiro. O valor das ações da IBM teve um aumento de 18 bilhões de dólares. Controle autónomo. O sistema de visão de computador ALVINN foi treinado para dirigir um automóvel, automóvel mantendo mantendo-o o na pista. pista Percorrer os Estados Unidos ao longo de quase 4.600 Km e manteve o controlo da direção do veículo durante 98% do tempo. Um ser humano assumiu o comando nos outros 2%, principalmente na saída de declives. Aplicações p ç de IA Diagnóstico. Programas de diagnóstico médico baseados na analise probabilística foram capazes de executar tarefas no nível de um medico especialista em diversas áreas da medicina. Robótica. A utilização de robôs assistentes em microcirurgias. O HipNav é um sistema it emprega té técnicas i d de visão i ã computacional t i l para criar i um modelo d l tridimensional da anatomia interna de um paciente, e depois utiliza controle robótico para orientar a inserção de uma prótese de substituição do quadril. Heckerman (1991) descreve um caso em que um importante especialista em patologia de gânglios linfáticos ridiculariza o diagnostico de um programa em um caso especialmente difícil. Os criadores do p programa g sugeriram g que q ele pedisse p ao computador p uma explicação do diagnostico. A máquina destacou os principais fatores que influenciaram sua decisão e explicou a interação sutil de vários sintomas nesse caso. Mais tarde, o especialista concordou com o programa. Forte ($$$$$) investimento nesta área, derivado da eminente massificação da nanotecnologia. nanotecnologia Reconhecimento de linguagem e resolução de problemas. O PROVERB é um programa computador que resolve quebra-cabeças de palavras cruzadas melhor que a maioria dos seres humanos. Perspectivas p sobre Técnicas de IA Exemplo A A- Pesquisa: Jogo do Galo 1 4 7 5 8 3 6 O X O 9 Vector com a configuração actual (dimensão 9) 2 Matriz 3 x 3 Cálculo dos próximos estados possíveis (filhos do nodo) SE algum é configuração vencedora termina SENÃO considerar respostas possíveis do adversário a cada nó f lh filho. Aplicar informação heurístíca para decidir sobre melhor resposta. espos a. Perspectivas p sobre Técnicas de IA Exemplo p B - Representação p ç do conhecimento (Reconhecimento de Caracteres) arc (a,b) AND up(a,b) AND line(b,c) AND left(c,b) AND (nil OR (line(b,d) AND down(d,b))) AND (nil OR (line(a,e) AND up(e,a))) e a c b d Encontrar instâncias das primitivas (arcos, linhas) Relacioná-los e comparar p com os padrões p Modelos préviamente conhecidos Seleccionar o mais próximo Perspectivas p sobre Técnicas de IA Exemplo C – Compreensão da linguagem natural Análise em profundidade implica Sintática, Semântica e Pragmática. Exemplo "João atira a bola branca" F --> SN SV SN --> >Q Qt SN1 SN --> SN1 SN1 --> N FADJ FADJ--> J nil | FADJJ ADJJ SV --> V SN N --> João | bola |… ADJ --> branca | … Qt --> a | o | … V --> atira Verificação da correcção gramatical. Comparação entre gramáticas. gramáticas G Gramática áti Elementar El t Agentes g Computacionais p Entidades computacionais com capacidade de percepção do ambiente exterior t i a sii ((através t é d de sensores)) e de d interacção i t ã com esse ambiente bi t (através de actuadores). Permitem que os humanos deleguem neles responsabilidade custosas em p ou "poder" p (computação, ( p ç força, ç memória, deslocação, ç tempo repetibilidade, ...). Usam sequências percepcionais juntamente com eventual conhecimento à priori para agirem de forma a maximizar o seu desempenho. C id Consideram-se autónomos tó na medida did em que o seu comportamento t t é baseado na sua própria experiência e percepções (e não na do seu criador). Agente = Plataforma + Programa Programa = Arquitectura + Implementação Algorítmica. Agentes g Computacionais p Um agente g será simplemente p um p programa g que efectua q uma determinada tarefa de forma autónoma. Tipicamente a sua tarefa é bastante reduzida e explícita. T f mais Tarefas i complexas l envolvem l a interacção i ã entre vários ái agentes. Maior proeminência derivada do aparecimento da internet. Existe um teoria baseada na crença de que o comporamento inteligente do ser humano resulta essencialmente i l t da d interacção i t ã entre t milhões ilhõ de d agentes t (células). Processamento paralelo. p Agentes g Computacionais p Os agentes podem ser classificados segundo as propriedades “PAGE” (Perceptions, Actions, Goals, Environment). Estas características determinam o nível de complexidade do agente. Percepções. Que tipo de informação o agente é capaz de reconhecer? Qual o seu volume e periodicidade? A i Actions. Q Quall a fforma d de que o agente dispõe di õ para actuar no espaço externo? Relatórios ? Motores ? Outro tipo de sinais? Goals. Quais os obejctivos do agente? Serão imediatos? Obrigam à construção de um plano? Environment. Como se caracteriza o ambiente onde o agente está integrado? Determinístico? Competitivo? Cooperativo? Adverso? Agentes g Computacionais p (PAGE) ( ) Exemplos p de Agentes g Tipo Percepção Acções Objectivos Sistema de Diagnóstico Médico Sintomas Questionarios testes tratamentos Robô Manip. pixeis de intensidade variada pegar e largar peças localizar e colocar correctamente mesas ou passadeiras com peças Softbot bibliografico ((ou comprador) leitura de páginas Web Localização de pg. Web filtragem de informação Selecção de informação relevante Computadores Internet Web pages Saúde do Paciente Minimização dos custos Ambiente Paciente Hospital Agentes g Computacionais p (Esqueleto) ( q ) function [acções] [acções]=agente(percepções) agente(percepções) memória=actualiza_estado_interno(percepções) acções=selecciona acções(memória) acções=selecciona_acções(memória) memória=actualiza_estado_interno(acções) retorna Tipos p de Agentes g Podem-se identificar os seguintes 5 tipos de agentes, segundo a sua complexidade: complexidade (A1) Reactivos simples (A2) Com Memorização (A2) + Possuem capacidade de traçar planos, por forma a alcançar objectivos. (A4) Baseados na utilidade (A1) + Actualizam a sua base de conhecimento, o que permitirá evoluir na forma de actuação. (A3) Geridos por objectivos Reagem a estímulos segundo uma tabela de conhecimento. (A3) + Incorporam medidas de satisfação, usadas para decidir entre objectivos em conflito. conflito (A5) Com Aprendizagem (Adaptativos) (A4) + Têm capacidade de rever a sua forma de actuar no ambiente, quer seja pelo volume de informação (A2), ou pelo método de inferência usado. Agentes g Reactivos Simples p É o tipo mais elementar de agentes inteligentes. inteligentes Usam um conjunto de regras "situação-acção". Válidos quando a decisão correcta é só função da percepção actual. Sensores A Agente Base C h Conhecimento percep ção Ambiente Acção Actuadores Agentes g C// Memorização ç Neste tipo de agentes, agentes a decisão a tomar leva em conta a percepção do estado actual do mundo. Entradas iguais podem levar a acções diferentes A Agente Base C h Conhecimento PPercep ção Sensores Mundo Ambiente Acção Actuadores Agentes g C// Objectivos j A acção é condicionada não só pela entrada e pelo estado do mundo, como pelo estado interno do agente, isto é, pelo plano traçado para atingir o objectivo. A Agente Base Conhecimento Plano PPercep ção Sensores Mundo Ambiente Acção Actuadores Agentes g Baseados na Utilidade Utilidades são medidas de "satisfação", para o agente, relativamente aos diversos estados. Podem ser usadas para decidir entre objectivos em conflito ou ainda (quando há incerteza nas acções) ç ) para medir a verosimilhança ç de atingir o objectivo. Estes agentes são tipicamente mais racionais (ex. jogar xadrez, ...). Agente Base Conhecimento Utilidade Plano Percep ção Sensores Mundo Ambiente Acção Actuadores Agentes Com Aprendizagem (Adaptativos) Correspondem à complexidade máxima de um agente computacional. Contêm formas de rever (através de medidas de utilidade e de satisfação) a sua forma de actuar no exterior. Com base nesta informação, ç ,p podem rever a própria p p forma de actuar,, em busca da maximização da utilidade. A evolução pode consistir inclusivamente na alteração de processos (algoritmos). Agente Base Conhecimento Utilidade Aprend izagem Plano Percep ção Sensores Mundo Ambiente Acção Actuadores