INTELIGÊNCIA ARTIFICIAL
INTELIGÊNCIA ARTIFICIAL
2284-ELE/5, 3316-IE/3
Conceitos Introductórios
Definiçao de Inteligência Artificial (IA)
ç
g
( )
(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, 1990) A arte de criar máquinas capazes de efectuar
tarefas que requerem inteligência quando desempenhadas por
pessoas.
(Russel & Norvig 2003) Estudo e desenho de Agentes
(Russel & 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 probabilidades de sucesso.
p
(Encyclopædia Britannica, 2007) Capacidade de um sistema
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 ligados a uma entidade que seja cognitivamente indiferenciável 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
Inteligência? (Teste de Turing)
g
(
g)
Qual o limiar para classificar um sistema computacional como
l
?
inteligente?
Noção difusa e subjectiva.
Teste de Turing
Al T i f i i iã B i ã i
Alan Turing foi um antigo espião Britãnico.
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
f d di f i h
pessoa não for capaz de dizer se foi o programa ou o ser humano a responder às suas perguntas".
Procurar na Web por “Chatterbots”
Sinopse da IA
p
"Pré-História" Clássico Romântico Pragmático Difusão/Integração Refundação Antropomorf.
1956 1962 1974 1982 1990 2000 Filosofia (Lógica) Matemática : Boole Frege Psicologia: Behaviorismo Cognitivismo (W. James) G.P.S. (Newell&Simon) Geometry P.S. (IBM) Jogo de Damas (Samuel)
Logic Theorist (Newell)
Robótica ("Shakey")
Cálculo Integral (SAINT) Gramática SIR (B.Raphael) Perceptrão (Rosenblatt) Eliza Engª do Conhecimento (Feigenbaum) Dendral Sistemas Periciais: MICYN Raciocínio incerto e Computadores da 5º Geração (MITI) Hdw dedicado: Controlo "Fuzzy" ESPRIT Agentes "situados" (SOAR - Newell) IA Distribuída: S.Multi-Agente Ag. cognitivos Agentes Emotivos Agentes Robóticos I t li ê i Cibernética T. de Turing Teoria da Informação (Shannon) LISP, Time-sharing (Mccarthy) Pesquisa+ Conhecimento (advice taker)
Minsky & Papert e polémica dos perceptrões
saída do reconhecimento de formas Probabilístico: Prospector Frames (Minsky) Lunar PROLOG ESPRIT Redes Neuronais Robótica reactiva (Brooks) IA + Web Inteligência Social Modelo do Neurónio Artificial
(McCulloch & Pits)
Computação neuronal
P. da Resolução
(A.Robinson)
Grupos: MIT (Minsky) U.Stanford (McCarthy) PROLOG S.Baseados em Conhecimento divulgados Aprendizagem Computação neuronal (Doutoramento de Minsky) Nascimento da IA:
Aplicações de IA
p
ç
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 nesta área deu origem a
,
g ç
g
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 2Aplicações de IA
p
ç
Planeamento e escalonamento. A 100 000 000 Km da Terra, o programa
R t A t d NASA f i i i d t l Remote Agent da NASA foi o primeiro programa de que controla 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
Aplicações de IA
p
ç
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 foram capazes de executar tarefas no nível de um medico especialista em diversas áreas da medicina.
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 programa sugeriram que ele pedisse ao computador uma p g g q p p
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.
Robótica. A utilização de robôs assistentes em microcirurgias. O HipNav é um
i t té i d i ã t i l i d l
sistema emprega técnicas de visão computacional para criar um modelo 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. Forte ($$$$$) investimento nesta área, derivado da eminente massificação da
nanotecnologia nanotecnologia.
Reconhecimento de linguagem e resolução de problemas. O PROVERB é um
Perspectivas sobre Técnicas de IA
p
Exemplo A- Pesquisa: Jogo do Galo
1 2 3 O X
Exemplo A Pesquisa: Jogo do Galo
Vector com a configuração actual (dimensão 9)
4 5 6
7 8 9
O
Vector com a configuração actual (dimensão 9)
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
Perspectivas sobre Técnicas de IA
p
Exemplo B - Representação do conhecimento
p
p
ç
(Reconhecimento de Caracteres)
arc (a,b) AND up(a,b) AND line(b,c) AND left(c,b) AND a e
(nil OR (line(b,d) AND down(d,b))) AND (nil OR (line(a,e) AND up(e,a)))
b c
d
Encontrar instâncias das primitivas (arcos, linhas)
Relacioná-los e comparar com os padrões
p
p
Modelos préviamente conhecidos
Perspectivas sobre Técnicas de IA
p
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 SN1
SN --> Qt SN1 SN --> SN1 SN1 --> N FADJ FADJ--> nil | FADJ ADJ
G áti El t J | J J SV --> V SN N --> João | bola |… ADJ --> branca | … | | Gramática Elementar Qt --> a | o | … V --> atira
Verificação da correcção gramatical.
Comparação entre gramáticas
Agentes Computacionais
g
p
Entidades computacionais com capacidade de percepção do ambiente
t i i ( t é d ) d i t ã bi t exterior a si (através de sensores) e de interacção com esse ambiente (através de actuadores).
Permitem que os humanos deleguem neles responsabilidade custosas em
tempo ou "poder" (computação, força, memória, deslocação, p p ( p ç ç ç repetibilidade, ...).
Usam sequências percepcionais juntamente com eventual conhecimento à
priori para agirem de forma a maximizar o seu desempenho.
C id tó did t t é
Consideram-se autónomos na medida em que o seu comportamento é
baseado na sua própria experiência e percepções (e não na do seu criador).
Agente = Plataforma + Programa
Agentes Computacionais
g
p
Um agente será simplemente um programa que efectua
g
p
p g
q
uma determinada tarefa de forma autónoma.
Tipicamente a sua tarefa é bastante reduzida e explícita.
T
f
i
l
l
i
ã
á i
Tarefas mais complexas envolvem a interacção entre vários
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
i l
t d i t
ã
t ilhõ
d
t
essencialmente da interacção entre milhões de agentes
(células).
Agentes Computacionais
g
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
Q l f
d
di õ
Actions. Qual a forma de que o agente dispõe 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?
Obrigam à construção de um plano?
Environment. Como se caracteriza o ambiente onde o agente está
Agentes Computacionais (PAGE)
g
p
(
)
Exemplos de Agentesp g
Tipo Percepção Acções Objectivos Ambiente
Sistema de Sintomas Questio- Saúde do Paciente
Diagnóstico Médico narios testes tratamentos Paciente Minimização dos custos Hospital Robô Manip. pixeis de intensidade variada pegar e largar peças localizar e colocar correcta- mente mesas ou passadeiras com peças Softbot bibliografico (ou leitura de páginas Web Localização de pg. Web filtragem de informação Selecção de informação relevante Computa- dores Internet Web pages (
Agentes Computacionais (Esqueleto)
g
p
( q
)
function [acções]=agente(percepções)
function [acções] agente(percepções)
Tipos de Agentes
p
g
Podem-se identificar os seguintes 5 tipos de agentes, segundo a sua
complexidade complexidade:
(A1) Reactivos simples
Reagem a estímulos segundo uma tabela de conhecimento.
(A2) Com Memorização (A2) Com Memorização
(A1) + Actualizam a sua base de conhecimento, o que permitirá evoluir na
forma de actuação.
(A3) Geridos por objectivos
(A2) + Possuem capacidade de traçar planos, por forma a alcançar objectivos.
(A4) Baseados na utilidade
(A3) + Incorporam medidas de satisfação, usadas para decidir entre objectivos
em conflito em conflito.
(A5) Com Aprendizagem (Adaptativos)
(A4) + Têm capacidade de rever a sua forma de actuar no ambiente, quer
Agentes Reactivos Simples
g
p
É o tipo mais elementar de agentes inteligentes
É o tipo mais elementar de agentes inteligentes.
Usam um conjunto de regras "situação-acção".
Válidos quando a decisão correcta é só função da
Válidos quando a decisão correcta é só função da
Agentes C/ Memorização
g
/
ç
Neste tipo de agentes a decisão a tomar leva
Neste tipo de agentes, a decisão a tomar leva
em conta a percepção do estado actual do
mundo.
mundo.
Entradas iguais podem levar a acções diferentes
Agentes C/ Objectivos
g
/
j
A acção é condicionada não só pela entrada e
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
interno do agente, isto é, pelo plano traçado
para atingir o objectivo.
Agentes Baseados na Utilidade
g
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, ...).
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, podem rever a própria forma de actuar, em busca da ç , p p p ,
maximização da utilidade.
A evolução pode consistir inclusivamente na alteração de processos (algoritmos).