Inteligência Artificial e suas Aplicações

23
1 Inteligência Artificial e suas Aplicações Marilza Antunes de Lemos [email protected] O que é Inteligência Artificial ? IA é a ciência e engenharia de construir máquinas inteligentes, especialmente programas inteligentes para computadores [John McCarthy, 1956] IA é o estudo de como fazer os computadores realizarem coisas que, no momento, as pessoas fazem melhor [Elaine Rich and Kevin Knight, 1993] IA é o estudo e simulação de atividades que normalmente assumimos que requerem inteligência [Bellman] IA é o estudo das faculdades mentais através da utilização de modelos computacionais [Charniak and MacDermott]

Transcript of Inteligência Artificial e suas Aplicações

Page 1: Inteligência Artificial e suas Aplicações

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]

Page 2: Inteligência Artificial e suas Aplicações

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

Page 3: Inteligência Artificial e suas Aplicações

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]

Page 4: Inteligência Artificial e suas Aplicações

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

Page 5: Inteligência Artificial e suas Aplicações

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

Page 6: Inteligência Artificial e suas Aplicações

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 .

Page 7: Inteligência Artificial e suas Aplicações

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

Page 8: Inteligência Artificial e suas Aplicações

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

Page 9: Inteligência Artificial e suas Aplicações

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).

Page 10: Inteligência Artificial e suas Aplicações

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

Page 11: Inteligência Artificial e suas Aplicações

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

Page 12: Inteligência Artificial e suas Aplicações

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

Page 13: Inteligência Artificial e suas Aplicações

13

Tipos de Problemas dos SBC [UFPE]

Áreas de Aplicação do s SBC [UFPE]

Page 14: Inteligência Artificial e suas Aplicações

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

Page 15: Inteligência Artificial e suas Aplicações

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

Page 16: Inteligência Artificial e suas Aplicações

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.

Page 17: Inteligência Artificial e suas Aplicações

17

Neurônio

Modelo Computacional de umarede de neurônios

Camada deentrada

Camadasintermediárias

Camada desaída

Page 18: Inteligência Artificial e suas Aplicações

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

Page 19: Inteligência Artificial e suas Aplicações

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

Page 20: Inteligência Artificial e suas Aplicações

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

Page 21: Inteligência Artificial e suas Aplicações

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

Page 22: Inteligência Artificial e suas Aplicaçõ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

Page 23: Inteligência Artificial e suas Aplicações

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