Prof. Rafael Rodrigues de Souza 02/2010. Segundo Piaget, é a capacidade adaptativa de um ser em...

Post on 07-Apr-2016

216 views 0 download

Transcript of Prof. Rafael Rodrigues de Souza 02/2010. Segundo Piaget, é a capacidade adaptativa de um ser em...

Inteligência ArtificialProf. Rafael Rodrigues de Souza02/2010

O QUE É SER INTELIGENTE?

Inteligência - Definições Segundo Piaget, é a capacidade adaptativa de um

ser em relação a alterações no ambiente físico ou social

Já Rabuske define como sendo “o processo contínuo de aquisição, de triagem, de ordenação e de interpretação da informação” (RABUSKE, 1995, p. 18).

Vamos considerar também que inteligência trata também da capacidade de um ser de tomar decisões, reativa ou proativamente, em relação a algum fato ou acontecimento, recente ou não.

Inteligência Artificial- Definições O trabalho realizado por uma máquina que, se fosse

realizado por um ser humano, poderia ser chamado de inteligente. (TURBAN -1992)

O estudo de como fazer com que os computadores realizem tarefas que, até o momento as pessoas fazem melhor. (RICH e KNIGHT - 1991).

“se podemos imaginar um dispositivo capaz de colecionar, de selecionar entre, de compreender, de distinguir e de saber, então temos inteligência artificial” (FEIGENBAUM e MCCORDUCK, apud RABUSKE, 1995, p. 21).

IA - ExemplosMYCINDetém conhecimento sobre parâmetros de análises

sanguí-neas para diagnosticar automaticamente problemas rela-cionados com infecções bacterianas

INTERNISTAlém de diagnosticar problemas individuais o

INTERNIST é capaz de combinar problemas separados que ocorram simultaneamente num mesmo paciente.

PUFF Sistema dedicado ao diagnóstico de problemas

pulmonares

IA - ExemplosAUTHORIZER’s ASSISTANTAuxilia na aprovação de despesas individuais

• Usado pela American Express, acessa e processa informação dispersa em cerca de 12 Bases de Dados

LENDING ADVISOR Apoio na decisão de concessão de crédito por parte de instituições bancárias

EXPERTAXSistema para auxílio à tarifação em seguros

• Concebido pela Coopers and Lybrand,• Desenvolvido em LISP envolvendo mais de 3000 regras

IA - ExemplosGATES Sistema para auxílio dos controladores de voo na atribuição das portas de chegada e partida dos voos• Utilizado no terminal da TWA do Aeroporto JFK em New York

• Desenvolvido em linguagem PROLOG

ARCA - Sistema Pericial para diagnóstico de arritmias cardíacas

• Usa como entrada o sinal de um eletrocardiograma

8

Sistemas por Área de Aplicação

100 300200

Agricultura

Negócios

Química

Comunicações

Sist. Computacionais

Educação

Electrónica

Ambiente

Engenharia

Gestão Informação

Process. ImagemGeologia

Matemática

Indústria

Direito

Minas

Ap. Militares

Meteorologia

Medicina

Transportes

Tecnolog. Espaço

Ciência

Sistemas Energia

Número de aplicações

1ª Posição: Área de Negócios

2ª Posição: Produção

Áreas relevantes • Sistemas Computacionais • Militar • Tecnologias do Espaço

Áreas em expansão no futuro:• Direito/Advocacia• Comunicações• Ensino

História da Inteligência Artificial A Gestação (1943-1956) 

McCulloch and Pitts (1943) - proposta de neurônios artificiais Donald Hebb (1949) - regra simples de aprendizado McCarthy (1956) propôs o nome: Inteligência Artificial

Entusiasmo Precoce e Grandes Expectativas (1952-1969) Newell and Simon - GPS - General Problem Solver - imita os

protocolos do raciocínio humano Arthur Samuel (1952) - que joga damas, com capacidades de

aprendizado John McCarthy (1958) -

▪ LISP ▪ Advise Taker - 1o. Sistema de IA completo

História da Inteligência Artificial Uma dose de realismo (1966-1974) 

falha dos métodos para problemas difíceis problemas não tratáveis

Sistemas Baseados em Conhecimento: A chave para o poder? (1969-1979) DENDRAL (1969) Feigenbaum, Buchanam, Lederberg. Primeiro sistema baseado em conhecimento de sucesso MYCIN (1969) Feigenbaum, Buchanam, Shortlife.

Sucesso Industrial (1980-1988)  R1 (1982) - Digital Equipment Corporation auxilia configuração de pedidos de novos computadores 1996: economia de $40milhões por ano

Linguagens para IA

É possível escrever programas de IA em qualquer linguagem?

SBC implementados com sucesso em LISP, PROLOG, C, Pascal, FORTRAN

SBC transpostos:

Características das linguagens de IA  Suporte para computação simbólica manipula símbolos ao invés de números estrutura principal: listas

Caracterização de um Comportamento Inteligente

1) Aprendizado e compreensão através da experiência;

2) Tirar conclusões de mensagens ambíguas ou contraditórias;

3) Respostas rápidas e corretas a uma nova situação (reações diferentes, flexibilidade);

4) Uso do raciocínio de uma maneira efetiva na solução de problemas;

5) Tratamento de situações confusas; 6) Entendimento e inferência de um modo simples e

racional; 7) Aplicação de conhecimento para manipular as

circunstâncias; 8) Aquisição e aplicação do conhecimento; 9) Pensar e Raciocinar; 10) Reconhecer a importância relativa de diferentes

elementos numa dada situação;

Teste de Turing

  

O interrogador faz perguntas e recebe respostas escritas da máquina e da outra pessoa

O seu objetivo é identificar quem é a máquina e quem é a pessoa

Interrogador

Computador

Pessoa

Perguntas/Respostas

Características de IA na resolução de problemas e tomada de decisões

Usa o processamento simbólico

Símbolo - é um conjunto de caracteres que identifica uma situação do mundo real. Ex.: produto, vendedor.

Os símbolos podem ser representados como estruturas simbólicas:

DEFEITUOSO(produto) BOM(vendedor)

Características de IA na resolução de problemas e tomada de decisões

Heurísticas

IA usa símbolos para representar o conhecimento e heurísticas para processar esta informação

Permite o uso de informação passada para resolver problemas atuais

Características de IA na resolução de problemas e tomada de decisões

Inferência

IA procura exibir características de raciocínio, isto consiste em INFERIR de fatos e regras, usando heurísticas e/ou outros métodos de busca

Características de IA na resolução de problemas e tomada de decisões

Reconhecimento de Padrões

É um método que procura descrever objetos, eventos ou processos, em termos de suas características qualitativas e relações lógicas e computacionais

Paralelo entre Inteligência Artificial e Inteligência Natural

Inteligência Artificial Inteligência Natural- é mais permanente - é criativa- permite fácil duplicação e disseminação

- usa a experiência sensorial diretamente

- pode ser mais barata que a IN

- usa todo o seu conhecimento para resolver qualquer tipo de problema

- pode ser documentada- sendo uma tecnologia computacional, é consistente e formal

Dado X Informação X Conhecimento Dado: os elementos que são a base para se

fazer qualquer operação, o computador trata e manipula o dado até gerar o resultado esperado.

Informação qualquer conjunto de dados que processados, organizados ou ordenados e que passe a ter alguma representatividade

conhecimento o fato de cada indivíduo analisar um conjunto de informações e dar a isto alguma finalidade ou utilidade

Conferindo!!! - Um número anotado em um papel:

- Um número anotado em um papel com o nome de quem é e a observação “fazer depósito no valor de R$ xxx,xx”:

  - Um relatório com as vendas por vendedor:  - A análise feita por um gerente do relatório do total de

vendas por vendedor:  - Um valor total qualquer impresso:  - O valor total das vendas do mês impresso:

Conferindo!!! - Um número anotado em um papel: Dado

- Um número anotado em um papel com o nome de quem é e a observação “fazer depósito no valor de R$ xxx,xx”:

 Informação - Um relatório com as vendas por vendedor:  Informação  - A análise feita por um gerente do relatório do total de

vendas por vendedor: Conhecimento  - Um valor total qualquer impresso: Dado  - O valor total das vendas do mês impresso: Informação

Computador para IA

COMPUTADOR

Conhecimento

Base de Capacidade de

Inferência

(Técnicas de IA)

Entradas

(Perguntas,

Problemas,etc ...)

Saídas

(Respostas, soluções

alternativas,etc ...)

Computador para Inteligência Artificial

Computação convecional X IA Computação convencional o usuário diz

ao computador como resolver o problema

São fornecidos dados e um programa do tipo passo-a-passo

IA é dado ao computador um conhecimento sobre determinada área, somado a uma capacidade de inferência.

Bases da IA

Agentes inteligentes

DefiniçãoUm agente é tudo aquilo que pode ser visto como percebendo um ambiente e

agindo sobre ele

Características Cognitivas (1/2) Básicas:

Autonomia – capacidade de agir sem intervenção de outros agentes.

Reatividade – habilidade de reagir a estímulos do ambiente.

Proatividade – propriedade de agir guiado por objetivos, a partir de iniciativa própria.

Sociabilidade – potencialidade de se comunicar com outros agentes do ambiente.

Características Cognitivas (2/2)

Adicionais: Adaptatividade – capacidade de se adaptar ao

ambiente (aprendizado). Mobilidade – habilidade de se mover entre

ambientes. Veracidade – propriedade de dizer sempre a

verdade. Benevolência – característica de realizar tudo

aquilo que lhe é solicitado. Racionalidade – capacidade de agir sempre em

busca dos próprios objetivos.

Não há consenso! [Wooldridge 1999] Autonomia é a habilidade de agir sem

intervenção humana ou de outros sistemas. Isso é conseqüência do controle total sobre seu estado interno e sobre seu comportamento.

[Maes 1995] Agente autônomo é o que consegue operar com completa autonomia, decidir por si só como relacionar os dados obtidos com ações de modo que seus objetivos sejam atingidos com sucesso.

[Russel & Norvig 1995] Um sistema é autônomo na medida em que seu comportamento é determinado pela sua experiência, em vez de ter todo o conhecimento sobre o ambiente pré-construído. Esse sistema tem um conhecimento inicial e habilidade de aprender.

Agentes Racionais São aqueles que tomam a ação correta

em busca de seus objetivos. Dependem:

Da medida de eficiência (performance measure) que define o grau de sucesso do agente.

De sua seqüência de percepções em relação ao ambiente.

De todo o conhecimento que tem sobre o ambiente

Das ações que é capaz de realizar.

Agente Racional Ideal

Para cada possível seqüência de percepção, um agente racional ideal deve realizar a

ação que maximize sua medida de eficiência, com base em evidências

providas pela seqüência de percepção e mais qualquer conhecimento que o

agente tiver sobre o ambiente.

Exemplos

Termostato Agente de Diagnóstico Médico Motorista de Taxi Artificial

Quais são seus perceptores, ações, objetivos, ambiente e medida de eficiência?

Tipos de Agentes

Reflexivos Reflexivos com estado interno Orientados a objetivos Baseados em utilidade

Agente Reflexivo

Ações baseadas no estado atual do mundo.

Agem por reflexo: regras condição-ação.

Ambiente

Estado do Mundo

Sensors

Que ação eu devo tomarregras condição-ação

Effectors

Agente Reflexivo com Estado Interno

Necessários quando um histórico é necessário, além da informação sensorial.

Ambiente

Estado do Mundo

Sensors

Que ação eu devo tomarregras condição-ação

Effectors

estado interno

como o mundo evolui

conseqüências de minhas ações

Agente Orientado a Objetivos

Mais flexíveis por inferirem reações.

Ambiente

Estado do Mundo

Sensors

Que ação eu devo tomarobjetivos

Effectors

estado interno

como o mundo evolui

conseqüências de minhas ações Como será o mundo

se eu tomar ação A

Agente Baseado em Utilidade

Funciona escolhendo sempre um estado mais útil. Função de utilidade: determina o grau de satisfação

do agente em relação a um determinado estado.

Ambiente

Estado do Mundo

Sensors

Que ação eu devo tomar

utility

Effectors

estado interno

como o mundo evolui

conseqüências de minhas ações Como será o mundo

se eu tomar ação A

O quão feliz vou ficar nesse estado

Propriedades do Ambiente Acessível x Inacessível Determinístico x Não-determinístico Episódico x Não-episódico Estático x Dinâmico Discreto x Contínuo

Ambiente Acessível

Sensores têm acesso ao estado completo do ambiente (i.e. os agentes vêem tudo).

Os sensores captam toda informação relevante para a escolha por uma ação.

Não é necessário manter o estado interno. Ex.:

xadrez – acessível robô que seleciona peças – inacessível

Ambiente Determinístico

Próximo estado = estado atual + ações dos agentes.

Devemos dizer se um ambiente é ou não determinístico do ponto de vista de um agente.

Ex.: xadrez – determinístico robô que seleciona peças – não-determinístico

Ambiente Episódico A experiência dos agentes é dividida em episódios,

i.e. pares percepção-ação. A qualidade da ação depende apenas do episódio

em si, porque episódios subseqüentes não dependem da ação que ocorrem em episódios anteriores.

É mais simples porque o agente não precisa pensar no futuro.

Ex.: xadrez – não-episódico robô que seleciona peças – episódico

Ambiente Estático

O ambiente não muda enquanto o agente está deliberando.

É mais simples de lidar porque o agente não precisa monitorar o ambiente enquanto toma uma decisão.

Semi-dinâmico: o ambiente não muda mas a medida de eficiência do agente muda.

Ex.: Xadrez sem relógio – estático Xadrez com relógio – semi-dinâmico robô que seleciona peças – dinâmico

Ambiente Discreto

Há um conjunto limitado e bem definido de perceptores e ações distintos.

Ex.: xadrez – discreto robô que seleciona peças – contínuo

Ambiente x Agente

Cada ambiente requer um tipo de agente.

Ambiente mais simples: acessível, determinístico, episódico, estático e discreto.

Quanto mais complexo for o ambiente, mais complexo deve ser o agente.

Sistemas Multiagentes (MAS) Definição 01: Sistemas compostos

por dois ou mais agentes. Definição 02: Uma rede de

resolvedores de problemas que trabalham juntos para solucionar problemas que estão acima de suas capacidades e conhecimentos individuais.

Características de um MAS Cada agente tem informação ou

capacidade incompleta para solucionar o problema, assim: cada agente tem um ponto de vista

limitado; Não há controle global do sistema; Os dados estão descentralizados; A computação é assíncrona.

Tipos de Interação em um MAS Cooperação

trabalhar juntos em busca de um objetivo comum.

Coordenação gerenciar as dependências entre diferentes

atividades, de forma que as ações dos diferentes agentes sejam sincronizadas e o trabalho dobrado seja evitado.

Negociação chegar a um acordo que seja aceitável para

todas as partes envolvidas.

Quando usar?

Sistemas Multi-agentes são adequados para representar problemas que têm múltiplos

métodos de resolução, múltiplas perspectivas e/ou múltiplos resolvedores de problema.

Resolução de problemas por meio de busca

Aborda como um agente pode encontar uma sequência de ações que alcança seus objetivos, quando nenhuma ação isolada é capaz de fazê-lo.

Resolução de problemas por meio de busca

Agente de resolução de problemas:

É um tipo de agente baseado em objetivos, estes agentes decidem o que fazer encontrando sequências de ações que levam a estados desejáveis.

Suponha que um agente de resolução de problemas está em Arad, na Romênia passando férias.

Este agente ganhou uma passagem para casa e o vôo irá partir de Bucareste na manhã seguinte.

Neste caso o objetivo agora é chegar a Bucareste até a manhã seguinte para não perder sua passagem.

Automaticamente tudo o que não ajudar a alcançar seu objetivo deve ser imediatamente rejeitado

O primeiro passo então é o que chamamos de formulação de objetivos, a tarefa do agente é descobrir que sequência de ações o levará a um estado objetivo.

Este processo de decidir que ações e estados devem ser considerados para se alcançar o objetivo proposto é o que chamamos de formulação de problemas.

Se o agente considerar neste momento decisões como dar um passo, desviar de uma pedra provavelmente não chegará a lugar algum já que o número de passos seria muito grande.

Iremos considerar então ações como dirigir de uma cidade até outra.

Nosso agente então está em Arad e adotou como objetivo dirigir até Bucareste, começam então os problemas, existem três estradas possíveis:

Uma em direção a Sibiu, uma para Timisoara e uma para Zerind.

Nenhuma dessas atinge o objetivo, inicialmente então a pergunta é, qual é a melhor ação neste caso?

Supondo então que o agente está com o mapa ele poderá usá-lo e considerar ações subsequentes simulando a ida até Bucareste pelas três cidades e escolhendo qual o melhor trajeto.

Este processo de procurar por tal sequência é chamado de busca. Um algoritmo de busca recebe como entrada um problema e retorna uma solução na forma de uma sequência de ações.

Depois de encontrara a solução, as ações podem ser executadas, chamamos esta etapa de fase de execução.

Temos então um processo de formular(formulação dos objetivos e problemas) , buscar(busca e solução) e execução

Função AGENTE-RESOLUÇÃO DE PROBLEMAS SIMPLES(percepção) retorna uma ação

entradas:percepção, uma percepçãovariáveis estáticas: seq, sequência de ações, inicialmente vazia estado, uma descrição do estado atual do mundo objetivo, um objetivo, inicialmente nulo problema, uma formulação de problema

estado ATUALIZAR-ESTADO(estado, percepção)

se seq está vazia então façaobjetivo FORMULAR-OBJETIVO(estado)problema FORMULAR-PROBLEMA(estado, objetivo)seq BUSCA(problema)

ação PRIMEIRO(seq)seq RESTO(seq)

retornar ação

Na função mostrada primeiro ele formula um objetivo e um problema, busca uma sequência de ações que resolveriam o problema, executa as ações uma de cada vez, quando chega ao final ele formula outro objetivo e recomeça.

Observe que, quando está executando a sequência o agente ignora suas percepções, pressupondo que a solução funcionará

Problemas e soluções bem definidos Um problema pode ser definido por

quatro componentes:

O estado inicial em que o agente começa, no nosso exemplo poderia ser EM(Arad)

Uma descrição das ações possíveis que estão disponíveis para o agente

Problemas e soluções bem definidos A ação pode usar uma função

sucessor, trabalhando sempre em pares, onde a função sucessor é o estado após a execução da ação descrita.

Ex.: {<IR(Sibiu), Em(Sibiu)>,

<IR(Timisoara), Em(Timisoara)>, <IR(Zerind),EM(Zerind)>}

Problemas e soluções bem definidos O estado inicial e a função sucessor

definem o espaco de estados do problema, ou seja, o conjunto de todos os estados acessíveis a partir do estado inicial.

O espaço de estados forma um grafo onde os nós são os estados e os arcos são as ações

Problemas e soluções bem definidos Tendo os estados objetivo

possíveis deve ser feito o teste de objetivo que verifica se o estado dado é um deles.

Em algumas situações o objetivo é um conjunto unitário, {EM(Bucareste)}, cabe então ao agente determinar qual são os estados objetivo

Problemas e soluções bem definidos Para se determinar quais são os

estados objetivo pode usar a função de custo de caminho que atribui um custo numérico a cada caminho.

O agente de resolução de problemas escolhe uma função de custo que represente melhor sua medida de desempenho

Problemas e soluções bem definidos O custo de caminho é determinado

pelo conjunto de custo de passo escolhido, que pode ser representado de forma númerica como no exemplo abaixo:

Problemas e soluções bem definidos Por fim, com o custo de caminho

definido podemos encontrar o que chamamos de solução ótima que é a que possui o menor custo de caminho dentre as soluções possíveis.

REPRESENTAÇÃO DO CONHECIMENTOPodemos tratar como duas entidades

diferentes:

Fatos : verdades em algum mundo relevante. São as coisas que quer-se representar.

Representação de Fatos : representar os fatos com algum formalismo escolhido. São as coisas que seremos efetivamente capazes de manipular.

REPRESENTAÇÃO DO CONHECIMENTO

A estruturação destas duas entidades pode ser feita em dois níveis:

Nível do Conhecimento : no qual os fatos (incluindo o comportamento dos operadores e os objetivos) são descritos.

Nível Simbólico : no qual a representação dos objetos é definida em termos de símbolos, que podem ser manipulados por programas.

REPRESENTAÇÃO DO CONHECIMENTO

Fatos Representação Interna

Representaçãoem Português

do Português do Português

Compreensão Geração

Programas deRaciocínio

REPRESENTAÇÃO DO CONHECIMENTO

Exemplo usando lógica matemática como formalismo: Considere a seguinte frase em português:

Rex é um cachorro.

O fato representado pela frase pode ser descrito em lógica como:

cachorro(Rex)

Suponha também, que temos a representação do fato que todos os cachorros têm cauda:

x : cachorro(x) temcauda(x)

Usando os mecanismos dedutivos da lógica, podemos gerar o novo objeto de representação:

temcauda(Rex)

REPRESENTAÇÃO DO CONHECIMENTO Usando uma função de mapeamento

adequada pode-se chegar na seguinte frase em português:

Rex tem cauda.

Poderiamos fazer uso desta representação de um novo fato para tomar alguma decisão ou para gerar representações de outros fatos.

REPRESENTAÇÃO DO CONHECIMENTO Quando tenta-se converter frases em

português para alguma outra representação, tal como, lógica proposicional, deve-se, inicialmente, decidir que fatos as frases representam e então converter estes fatos em uma nova representação.

Ex.: Todos os cachorros têm cauda. Cada cachorro tem uma cauda.

Fatos IniciaisRaciocínio realmente desejado

no Sentido DiretoRepresentaçãoMapeamento da

Operação do Programa

Fatos Finais

RepresentaçãoInterna dos FI

RepresentaçãoInterna dos FF

no Sentido InversoRepresentaçãoMapeamento da

REPRESENTAÇÃO DO CONHECIMENTO

Métodos para Representação do Conhecimento

Um bom sistema para representação do conhecimento, em um determinado domínio, deve possuir as seguintes propriedades:

Suficiência de Representação: a habilidade de representar todos os tipos de conhecimento que são necessários no domínio.

Suficiência de Inferência: a habilidade para manipular as estruturas representacionais, de modo a derivar novas estruturas correspondentes ao novo conhecimento, inferido do velho.

Métodos para Representação do Conhecimento

Eficiência de Inferência: a habilidade de incorporar na estrutura de conhecimento, uma informação adicional que pode ser usada para direcionar a busca, nos mecanismos de inferência, para regiões mais promissoras.

Eficiência de Aquisição: a habilidade de, facilmente, adquirir novas informações. O caso mais simples é o de uma pessoa inserir, diretamente, o conhecimento na base de conhecimento. O ideal seria o programa ser autosuficiente no controle da aquisição do conhecimento.

 Tipos de Conhecimento:

- Relacional Simples;- Herdável;- Inferencial;- Procedural.

Questões em Representação do Conhecimento Existem alguns atributos dos objetos que

ocorrem em quase todo problema?

Se existem, deve-se ter certeza de que serão propriamente manipulados em cada um dos mecanismos propostos.

Quais são estes atributos?

Existe alguma relação importante entre os atributos dos objetos?

Questões em Representação do Conhecimento Em que nível o conhecimento deve ser representado?

Existe um bom conjunto de primitivas no qual o conhecimento possa ser descrito?

Será útil utilizar estas primitivas?

Como deve-se representar os conjuntos de objetos?

Tendo uma grande quantidade de conhecimento dentro da base de conhecimento, como acessar aquilo que é relevante em cada caso?

Jogo da Velha

Vamos resolver o problema usando três diferentes maneiras, que crescem: em complexidade; no uso de generalizações; na clareza do conhecimento usado; na generalização de sua aplicação.

1ª Maneira - Estrutura de Dados

  Tabuleiro: Consiste de um vetor de nove

elementos representando o tabuleiro, onde os elementos do vetor correspondente as posições do tabuleiro serão preenchidos da seguinte forma:

0 corresponde a um quadro vazio1 corresponde a um quadro com X2 corresponde a um quadro com 0

1 2 34 5 67 8 9

1ª Maneira - Estrutura de Dados Vantagens:

eficiente em termos de tempo.

Desvantagens: toma muito espaço; todos os elementos do vetor de movimentos

devem ser especificados; se o jogo for colocado em três dimensões o

tabuleiro passa a ter 327 posições a serem armazenadas.