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...
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 tell Máquina de Inferência deliever request Base de Conhecimento
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 Programa Prolog Notação de Kowalski 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) 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
Fatos e regras denotam relações entre objetos 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). Estrutura de uma regra gosta(joao, X) :- gosta(X, vinho), gosta(X, futebol). Nome do predicado Conjunção