INTELIGÊNCIA ARTIFICIAL Introdução. O Que é Inteligência Artificial ?
Inteligência Artificial e suas Aplicações - lsi.usp.brmlemos/courses/IA.pdf · 1 Inteligência...
-
Upload
truongnhan -
Category
Documents
-
view
221 -
download
0
Transcript of Inteligência Artificial e suas Aplicações - lsi.usp.brmlemos/courses/IA.pdf · 1 Inteligência...
1
Inteligência Artificiale suas Aplicações
Marilza Antunes de Lemosmaril [email protected]
O que é Inteligência Artificial ?
• IA é a ciência e engenharia de construir máqu inas inteligentes,especialmente programas inteligentes para computadores [JohnMcCarthy, 1956]
• IA é o estudo de como fazer os computadores realizarem coisasque, no momento, as pessoas fazem melhor [Elaine Rich andKevin Knigh t, 1993]
• IA é o estudo e simulação de atividades que normalmenteassumimos que requerem inteligência [Bellman]
• IA é o estudo das faculdades mentais através da utilização demodelos computacionais [Charniak and MacDermott]
2
Desafio da IA
• Desafio da IA– Construir um dispositivo parecido como nós mesmos
• Os que são contra– John Searle
• máquina biológ ica
– Hubert Dreyfus• IA é impossível
– Joseph Weizenbaum• idéia obscena, anti-humana e imoral
– Outros• se não deu certo até agora...
Como é a pesquisa em IA
• Foco: Construir entidades inteligentes
– observar como humanos resolvem tarefascomplexas
– estudar a fisiologia e psicologia humanas
– estudar problemas complexos do mundo
• Pesquisadores da IA são livres para usarmétodos que não são observados em pessoas
3
Inteligência Artificial
IA
Ciência
Engenharia
Desenvolvimento de conceitos e teorias para compreender o comportamento inteligente
Desenvolvimento de conceitos e teorias para a implementação de máquinas inteligentes
Conclusão
“ Máqu ina inteligente é aquela que possui comportamento inteligente”
• Teste de Turing– Alan Turing, Computing Machinery and
Intelligence [Turing, 1963]
4
Ramos de pesquisa da IAparadigma de raciocínio
• Simbólico: metáfora lingüística– ex. sistemas de produção, agentes,...
• Conexionista: metáfora cerebral– ex. redes neurais
• Evolucionista: metáfora da natureza– ex. algoritmos genéticos
• Estatístico / Probabilístico / Incerto– ex. Redes Bayes ianas, Sistemas Difusos (fuzzy)
IA simbólica
AlgoritmoProgramador
Dados
Usuário
Dados
Usuário
Computação tradicional
Dados
Usuário
Dados
Usuário
Mecanismo deraciocíniogenérico
Base deConhecimento
Conclusões
Fatos
Sistema IA simbólica
5
Exemplo: Mundo do s Blocos
Perguntas:
Quem está sobre quem?..........
Quem está sobre B?.................Quem está sobre a mesa?.......Quem está li vre?.......................C está li vre?...............................
A
B
C
D
E
Respostas:
A está sobre B e C, B estásobre C e D está sobre E.
A está sobre B.C e E.A e D.Não.
Como escrever um programa em IA que aceite perguntas e as responda corretamente ?
Um programa em Prolog
sobre(a,b).sobre(b,c).sobre(d,e).
mesa(c).mesa(e).
livre(a).livre(d).
acima(X,Y):- sobre(X,Y).acima(X,Z):- acima(X,Y), acima(Y,Z).
A
B
C
D
E
6
Interface em Prolog
?- acima(X,Y).
X = aY = b ;
X = bY = c ;
X = dY = e ;
X = aY = c ;
No
?- li vre(b).
No
ABC
DE
?- mesa(G).
G = c ;
G = e ;
No
Perguntas:
Respostas:
IA simbólica: Resolução de Problema
– Identificar o conhecimento do do mínio (modelo do p rob lema)– Representá-lo u til izando uma lingu agem formal de
representação
ABC
DE
Base de Conhecimento do mundo dos blocos
sobre(a,b).sobre(b,c).sobre(d,e).mesa(c).mesa(e).livre(a).livre(d).acima(X,Y):- sobre(X,Y).acima(X,Z):- acima(X,Y), acima(Y,Z).
– Implementar um mecanismo de inferência para utilizar esseconh ecimento. No exemplo, util izou-se o mecanismo deinferência da lingu agem Prolog .
7
IA Simbólica
Computação tradicional
AlgoritmoProgramador
Dados
Usuário
Dados
Usuário
Computação tradicional Sistema IA simbólico
Mecanismode raciocínio
genérico
Base deconhecimento
Aquisição doconhecimento
Usuário
Dados
Dados
Usuário
Explicações
Engenheiro deConhecimento
Especialista
Sistema IA simbólico
Explicação doraciocínio
Computação convencional x IA
Algoritmo passo a passox
Mecanismo geral de inferência+ base de conhecimento
Dados e controle embutidosem cód igo procedimental
xSeparação entre
conhecimento declarativo econtrole
Linguagens de programaçãoimperativas
x“ alto-nível” (declarativa, lóg ica,
baseada em restrições)
IA: Usa metáforas de sistemasnaturais (neurônio, evolução,
memória, sociedade,...)
Dados
Usuário
Dados
Usuário
Mecanismo deraciocíniogenérico
Base deconhecimento
Conclusões
FatosAlgoritmoProgramador
Dados
Usuário
Dados
Usuário
Computação tradicional Sistema IA simbólico
8
O problema dos jarros
Você tem dois jarros, um de 4 litros e um de3 litros. Nenhum deles tem marcação demedidas. Há uma bomba que pode ser usadapara encher os jarros com água. Como é quevocê consegue colocar exatamente 2 litrosde água no jarro de 4 litros?
Resolução
• Representação do Conhecimento
– Quantidades como par ordenado (J4,J3)• J4 : representa o nú mero de litros J4• J3 : representa o nú mero de litros J3
– Estado inicial: (0,0)– Estado final desejado: (2,J3)– Operadores
• permitem a mudança de um estado em outro
9
Representação do Conhecimento:Operadores como Regras de Produção
Regra 1 - Se o J4 não estiver cheio, encha-oSE J4 < 4 →→ R1 (4,J3).
Regra 2 - Se o J3 não estiver cheio, encha-o SE not J3=2 e J3 < 3 →→ R2 (J4, 3).
Regra 3 - Se o J4 não estiver vazio, esvazie-oSE J4 > 0 →→ R3 (0, J3).
Regra 4 - Se o J3 não estiver vazio, esvazie-oSE J3 > 0 →→ R4 (J4, 0).
Regra 5 - Despejar a água do J3 no J4 até enchê-loSE J4+J3 ≥≥ 4 e J4<4 e J3>0 →→ R5(4,J3 - (4-J4)).
Regra 6 - Despejar a água do J4 no J3 até enchê-loSE J4+J3 ≥≥ 3 e J4>0 e J3<3 →→ R6(J4 - (3-J3, 3)).
Regra 7 - Despejar toda água do J3 no J4SE J4+J3 ≤≤ 4 e J3>0 →→ R7(J4+J3, 0).
Regra 8 - Despejar toda a água do J4 no J3SE J4+J3 ≤≤ 3 e J4>0 →→ R8(0, J4+J3).
Máquina de Inferência(ou Procedimento de busca ou algoritmo de busca)
• Objetivo– Selecionar e aplicar os operadores a fim
de descobrir um caminho a partir doestado inicial (0,0) até o estado desejado(2,n).
10
Espaço de Busca
0,0
4,0
0,2
2,0
4,3 0,3 3,0 4,2
4,0 3,3 0,0 0,3
4,3
4,3 0,0 3,0
0,3
0,3 4,0
4,3 0,3 1,0
4,0 1,3 0,0 0,1
2,3
4,1 0,3 0,0 1,0
4,3 0,1 4,00,0
4,0
4,3 0,0 1,3
R2
R7
R2
R5
R3
R7
0,0 0,3
4,0 3,3
Três técnicas importantes da IA• Representação do Conhecimento (Base de Conhecimento)
– proporciona um meio de solucionar problemas complexos explorando as es truturas dosobjetos envolvidos
• Busca (Estratégias de con trole)– proporciona um meio de solucionar problemas para os quais não há uma abordagem direta
(um algoritmo tradicional) disponível
• Abstração (Heurística)– proporciona um meio de separar características importantes (eficiência) das irrelevantes
(sobrecarregam o processo)
Dados
Usuário
Dados
Usuário
Mecanismo deraciocíniogenérico
Base deconhecimento
Conclusões
FatosAlgoritmoProgramador
Dados
Usuário
Dados
Usuário
Computação tradicional Sistema IA simbólico
11
Representação de Conhecimento
• Lóg ica de predicados∀∀ x,y,z Americano(x) ∧ ∧ Arma(y) ∧ ∧ Nação(z) ∧ ∧ Hostil(z) ∧ ∧ Vende(x,z,y) ⇒ ⇒ Criminoso(x)
• Regras de produçãoSE J4 > 0 Então R3(0, J3)
• Lóg ica Difusa (Lóg ica fuzzy)– João é muito alto– Pedro é ligeiramente baixo
– Exceções a regra são quase imposs íveis
• Redes Semânticas– conceitos e relações
• Frames– conceito, instâncias, seus atribu tos e valores
Algorítmos de busca
• Busca cega– busca em ampli tude– busca em profundidade
• Busca Heurística– gerar-e-testar– hill climbing– simulated annealing– best-first search– algoritmo A*– means-ends analysis
12
Engenharia do Conhecimento:Etapas de Construção dos Sistemas Baseados em Conh ecimento (SBC)
Nível doConhecimento
Nível deImplementação
linguagem natural
linguagem de representação de
conhecimento
linguagens de programação
Aquisição deconhecimento
Modelagem eformalização doconhecimento
Implementação
Refinamento
Ferramentas para implementação de SBCs
• Metodo log ias• KADS/CommonKADS (Universidade de Amsterdam)• Protégé (Universidade de Stanford)• MIKE (Universidade Karlsruhe)
• Shells• Expert Sintta, OPS, KAS, ...
• Ambientes para Desenvolvimento• regras + objetos (CLIPS, JESS, NeOpus, JEOPS,...)
• Lingu agens de programação de alto n ível• Prolog, Lisp, C++, Java
13
Tipos de Problemas dos SBC [UFPE]
Áreas de Aplicação do s SBC [UFPE]
14
Visão Unificada da IA: agentes[Russel and Norvig]
A caracterização e racionalidade de umagente é dada por:
P - Percept SequenceA - Actions that can be performedG - GoalsE - Environment
Exemplos de Agentes segundo PAGE
Imagens desatéli tes em
órbita
Categorizaçãocorreta
Imprime umacategorização
de cena
Pixels deintensidade e
de cor variável
Análise deimagem de
satéli te
Conjunto deestudantes,
temapedagógico
Maximizar apontuação em
testes
Análise deexercícios,
conselhos ecorreções
Ações doestudante
TutorInteligente
InternetColeta de
informaçõessobre uma
pessoa / tema
Navegar pelaspáginas Web,Reconheci/ode Padrão
Páginas daWeb
Softbot
Paciente ehospital
Pacientesaudável,
tratamentobarato
Perguntas,testes,
tratamentosSintomas,
manifestaçõesDiagnóstico
médico
AmbientEGolsAçõesPercepçãoTipo deagente
15
Estrutura de Agentes
• Agente Robó tico– possui sensores e atuadores “ reais”
• Agente de software (softbot)– possui sensores e atuadores s imulados /
artificiais
Agente está inserido nu m ambiente ondeele pod e detectar e produ zir mudanças
Outras Ramos da IA
• Entendimento de Linguagem Natural
– Problema complexo• análise morfológica• análise s intática• análise semântica• integração de discurso• análise pragmática
– Aplicações• interfaces homem-maquina• reconhecimento de voz• tradução automática de línguas
16
Outros Ramos da IA
• Visão Computacional
– Aplicações• navegação móvel por robô• tarefas complexas de manufatura• análise de imagens de satélites• processa mento de imagens médicas
– Desafios• imagem 2-D, o mundo 3-D -> perda de informação• uma imagem -> vários ob jetos• un idade (pixel) inclui
– cor do ob jeto, fon te de luz, ângu lo e distância dacâmera, po luição do ar.
IA Biológ ica
• Fundamento• Imitar os mecanismos de aprend izagem humana
• IA Conexion ista: Redes Neurais Artificiais• simulação do cérebro humano• início da pesqu isa 1943• interrupção 1970• retomada anos 80
RNA são técnicas c omputacionais que apresentam ummodelo matemático inspirado n a estrutura neural humana e
que adqu irem conh ecimento através da experiência.
17
Neurônio
Modelo Computacional de umarede de neurônios
Camada deentrada
Camadasintermediárias
Camada desaída
18
Sinais de entrada: u1, u2, ..., un (valores boo leanos 0 ou 1)Pesos: w1, w2, ..., wn
Limitador: tNível de atividade a da rede é dado po r: a = u1w1 + u2w2 + ... + unwn
A saída y é dada por:
Modelo matemático
Dependendo d a aplicação, a rede neural possui alguma regra de treinamento, onde os pesos de suas conexões são ajustados de acordo com o interesse da aplicação.
y = f(a) 1 se a ≥≥ t0 se a << t
u1
u2
un
w1
w2
wn
• y = f(a)t...
Um exemploDadas uma série de entradas boo leanas u, determinar os pesosw1, w2 e o limitante t para que a rede abaixo aprenda a funçãológ ica AND.
u 1 u 2 AN D w 1=w 2=1 a
0 0 0 1 00 1 0 1 11 0 0 1 11 1 1 1 2
Vamos supor w1=w2=1 e calcularmos o nível de ativação a da redesegundo a fórmula: a = u1w1 + u2w2
Comparando a saída AND com a, podemosconcluir por um valor l imitante t=2. Assima função de saída será:
y = f(a) 1 se a ≥≥ 20 se a << 2
u1
u2
w1
w2
• y = f(a)t
19
Treinamento das RNAs
O Aprendizado BackpropagationA rede “aprende” um conjunto pré-definido de pares de exemplos
de entrada/saída em ciclos de propagação/adaptação.
Passo-1– um padrão de entrada (um exemplo) é aplicado como um estímulo
aos elementos da primeira camada da rede
Passo-2– o estímulo é propagado para cada uma das outras camadas até
que a saída seja gerada.
Passo-3– o padrão de saída é então comparado com a saída desejada e um
sinal de erro é calculado para cada elemento de saída.
Passo-4– baseado no sinal de erro, os pesos (w) das conexões são então
atualizados de modo a fazer a rede convergir para um estado quepermita a codificação de todos os padrões do conjunto detreinamento.
Aplicações de RNA
• Reconhecimento óptico de caracteres (OCR)• Prognósticos de mercado financeiro• Identificação de fraude de cartão de crédito• Diagnóstico médico• Robótica (visão)• Análise de imagens• Reconhecimento de padrões em linha de
montagem• Reconhecimento de voz
20
IA: Lóg ica Fuzzy
• Uma abordagem para raciocínio
• Capaz de tratar com informação vaga
• Extensão da lógica clássica
• Baseada na teoria dos conjun tos fuzzy(Zadeh, 1965)
Lógica c lássica x Lóg ica fuzzy
• Raciocínio exato
– valores verdade:verdadeiro (1)falso (0)
– predicados exatos:par, maior que,...
– modificador:negação
– quantificadores:existenciais ∃∃universais ∀∀
• Raciocínio inexato
– valores verdade:verdade, muito verdadefalso, pouco falso
– predicados nebulosos:alto, baixo...
– modificador:muito, mais, menos
– quantificadores:poucováriosfrequentemente
21
Modelos Simbólicos
• Modelos Clássicos– Se pressão = 10 atm, então volume = 2,5 cm3
• Modelos Imprecisos– Se pressão ≥≥ 5 atm, então volume ≤≤ 6 cm3
• Modelos Incertos– Se pressão ≥≥ 5 atm, então Probabilidade(vol=6 cm3) = 0.9
• Modelos Vagos (modelos fuzzy)– Se pressão é alta, então volume é baixo
Áreas de aplicação de lóg ica fuzzy
• Prob lemas reais cuja modelagemmatemática é impraticável;
• Informações disponíveis apenas na formaquali tativa ou em termos lingüísticos.
• Controle de processos• Diagnóstico• Tomadas de decisões
22
Mais sobre Fuzzy
• Pesquisador especialista em Lóg ica Fuzzy
Ph.D Marco Túlio Carvalho de AndradeDepto. Eng. Computação e Sistemas Digitais (PCS)Escola Politécnica Universidade de São Paulohttp://www.pcs .usp.br/~mtulio/
• Curso sobre Fuzzyhttp://www.pcs .usp.br/~mtulio/transp
• Exemplo de aplicaçãohttp://www.pcs .usp.br/%7Emtulio/transp/5711exemplotrabalho .pd f
Referências• Inteligência Artificial
– AIMA - Artificial Intelligence: A Modern Approach Stuart Russem and Peter Norvig Prentice Hall, 1995
– John McCarthyComputer Science DepartmentStanford University, CAhttp://www-formal.stanford.edu/jmc/
– A.M.Turing, Computing Machinery and Intelligence emhttp://www.abelard.org/turpap/turpap.htm
– Pesquisador A.M.Turing Pagina dedicada em http://www.turing.org.uk/turing/
– http://www.uol.com.br/negociosexame/revista/revista0002_35.html
– Geber Ramalho, EITA! DEEP BLUE GANHOU, E AGORA?! Jornal do Comércio, 26/05/1997) em http://www.cin.ufpe.br/~glr/Publications/deepblue.htm
23
Referências
• Redes Neurais– Links importantes
• http://www .din.uem.br/ia/intelige/neurais/links.html– Livros
• Kovács, Zsolt Laszlo Redes Neurais Artificiais: fundamentos eaplicaçõesCollegium Cognit io, 1997.
• Arbib, Michael A. (Ed) The Handbook of Brain Theory and NeuralNetworks. MIT Press, 1995.
• Robótica– http://www .robocup.org/
• Tutores Inteligentes– http://www .lsi.usp.br/~mlemos/its-referencias.htm
Referências
• Sistemas Baseados em Conhecimento– http://www -ksl.stanford.edu/yearindex.html
• Inteligência na WEB– http://www .cs.washington.edu/research/projects/WebWare1/www /soft
bots/softbots.html– http://www .cs.umd.edu/projects/plus/SHOE/– http://ontobroker.semanticweb.org/
• Agentes– http://foner.www .media.mit.edu/people/foner/Julia/Julia.html