Revisão 1º Bimestre Inteligência Artificial Origem da “Inteligência Artificial” • O termo “Artificial Intelligence” foi cunhado por John McCarthy em 1956 durante o seminário de Darthmouth... • ... onde também participaram: Marvin Minsky, Claude Shannon, Allen Newell, Herbert Simon, etc... Marvin Minsky O que é inteligência artificial? Barr & Feigenbaum (1981) • “IA é a parte da ciência da computação que se preocupa em desenvolver sistemas computacionais inteligentes, isto é, sistemas que exibem características, as quais nós associamos com a inteligência no comportamento humano - por exemplo, compreensão da linguagem, aprendizado, raciocínio, resolução de problemas, etc.” Nils Nilsson (1982) • “Muitas atividades mentais -como escrever programas de computadores, matemática, raciocínio do senso comum, compreensão de línguas e até dirigir um automóvel demandam “inteligência”. Nas últimas décadas, vários sistemas computacionais foram construídos para realizar estas tarefas. Dizemos que tais sistemas possuem algum grau de Inteligência Artificial.” Charniak & McDermott (1987) • “IA é o estudo de faculdades mentais através do uso de modelos computacionais.” O que ´e IA? • • Automação de atividades associadas ao pensamento humano (tomada de • decisões, resolução de problemas, aprendizagem, etc.) - Bellman, 1978. • • Estudo de como produzir máquinas que façam coisas que humanos ainda fazem melhor - Rich/Knight, 1991 • • Estudo de faculdades mentais através de modelos computacionais Charniat/ McDermott, 1985 • • Ramo da Computação que estuda a automação do comportamento inteligente” - Luger/Stubblefield, 1993. • • • • • A definição mais apropriada depende do interesse: • Sistemas que pensam como humanos • Sistemas que agem como humanos • Sistemas que pensam de modo racional • Sistemas que agem de modo racional Para que serve IA? • 1. Resolução de problemas envolvendo – • Auxílio a decisão (incluindo sob incerteza); – • Processamento de linguagem natural; – • Robótica; – • Logística; – • etc, etc, etc. • 2. Modelagem em Psicologia e Neurobiologia. • 3. Motivador de quest˜oes filos´oficas. Sistemas Especialistas • Geralmente baseados em regras, • Possuem conhecimento intensivo do domínio da aplicação, • Construídos por especialistas humanos, • Podem empregar aprendizado automático, • Têm dificuldade em lidar com conhecimento de senso comum, • Orientados à reutilização do conhecimento. Arquitetura de um SE consulta resposta Usuário Interface ( shell ) ask request Máquina de Inferência Base de Conhecimento tell deliever Aplicações de SE • • • • • • • Diagnóstico, Suporte on-line, Controle de processos, Controladores de vôo, Identificação de padrões difusos, Medicina Digital, Aconselhamento jurídico... Introdução à Linguagem Prolog Introdução ao Prolog • Características – – – – – – Provador de teoremas (Verdade ou Falso) Linguagem declarativa Linguagem não tipada Linguagem é interpretada Não determinístico Diferente de programação procedimental (definição lógica dos problemas) – Não existe variáveis globais – Muito usado em IA (rápida prototipação) Da Notação de Kowalski para um programa Prolog Fato ou Cláusula Unitária Notação de Kowalski chama(a,b) usa(b,e) depende(x,y) chama(x,y) depende(x,y) usa(x,y) depende(x,y) chama(x,z), depende(z,y) depende(a,e) Programa Prolog Regra chama(a,b). usa(b,e). depende(X,Y) :- chama(X,Y). depende(X,Y) :- usa(X,Y). depende(X,Y) :- chama(X,Z), depende(Z,Y). ?- depende(a,e). Questionamento Programa Prolog • Declaração de fatos (cláusulas unitárias) • Declaração de regras • Interrogação a respeito desses elementos Fatos e regras denotam relações entre objetos Programa Prolog (cont.) Parâmetros • Estrutura de um fato gosta(joao, maria). Nome do predicado • Estrutura de uma regra gosta(joao, X) :gosta(X, vinho), gosta(X, futebol). Conjunção