INTELIGÊNCIA ARTIFICIAL - Departamento de Informática

Propaganda
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
Download