• Nenhum resultado encontrado

Noções básicas de Inteligência Artificial. Inteligência Artificial

N/A
N/A
Protected

Academic year: 2021

Share "Noções básicas de Inteligência Artificial. Inteligência Artificial"

Copied!
16
0
0

Texto

(1)

FEUP

Noções básicas de Inteligência Artificial

Disciplina:

Metodologias de Inteligência Artificial

Inteligência Artificial

• EVOLUÇÃO:

– Ciência COGNITIVA

– Estuda todas as estruturas e processos internos mediando as respostas inteligentes e os respectivos estímulos externos

• DIFERENCIAÇÃO:

– Técnicas de Inteligência Artificial:

– i) para problemas complexos e dificeis de caracterizar com precisão (pouco estruturados);

– ii) Modelização do raciocínio

(2)

FEUP 3

“The exciting new effort to make computers

think… machines with minds, in the full

and literal sense” (Haugland, 1985)

“The automation of activities that we associate with human thinking, activities such as human

decision making, problem solving, learning…” (Bellman, 1978)

“The study of mental faculties through the use

of computational models”

(Charniak, McDermott, 1985)

“The study of computations that make it possible

to perceive, reason and act” (Winston, 1992)

“The art of creating machines that perform

functions that require intelligence when

performed by people” (Kurzweil, 1990)

“The study of how to make computers do

Things at wich, at the moment, people are

Better” (Rich and Knight, 1991)

“A field of study that tries to explain and emulate

intelligent behaviour in terms of computational

processes” (Schalkoff, 1990)

“The branch of computer science that is Concerned with the automation of intelligent Behavior” (Luger and Stubblefield, 1993) Sist. que pensam como humanos Sist. que pensam racionalmente

Sist. que agem como humanos Sist. que agem racionalmente

Inteligência Artificial

Definições de Inteligência Artificial organizada em 4 categorias

FEUP 4

CONHECIMENTO DADOS

OPERADORES

ESTRATÉGIAS

PARADIGMA BÁSICO DOS SISTEMAS DE PRODUÇÕES

(3)

FEUP 5

Problemas e resolução

Métodos de Resolução de Problemas

• Sistemas de Produções

– a primeira Arquitectura básica dos Sistema de Inteligência Artificial

• Descrição do problema

– através de um espaço de estados

• Representação do conhecimento

– através da lógica e de estruturas de informação

• Resolução do problema

– movimentação no espaço de estados da configuração inicial à configuração final

• Arquitectura do sistema computacional

– uso de SISTEMAS DE PRODUÇÕES: arquitectura básica para sistemas de IA mantendo separadamente os Factos (numa ou várias “Bases de Dados”), os operadores (regras) e o algoritmo de controlo

Espaço de estados

Problemas como Espaço de estados

• Exemplo do Missionários e Canibais:

Representação do estado: misscan(NMissMDir, NCanMDir,B).

Estado inicial: misscan(3,3,d).

Estado objectivo: misscan(0,0,e).

Não existindo heurísticas, a pesquisa é sistemática.

• Exemplo dos Baldes:

Representação do estado: baldes(NLb4, NLb3).

Estado inicial: baldes(0,0).

Estado objectivo: baldes(2,_).

(4)

FEUP 7

Espaço de estados

• Ex: Puzzle de 8

Operadores: Movimentação do branco para E,D,C,B

Estados: Descrição da localização de cada numero e do branco Teste: Estado igual ao Objectivo

Custo: Cada acção o mesmo custo de 1. Custo do Passo = Nº acções

• Ex: 8 Rainhas

Estados: Descrição de qualquer arranjo de rainhas de 1 a 8 no Tabuleiro Operadores: Colocar 1 rainha na coluna mais à esquerda vazia não atacável Teste: 8 rainhas não atacáveis

Custo: O passo não tem custo. Só interessa o estado final

FEUP 8

Domínios para a IA

ALGUNS DOMÍNIOS DE INVESTIGAÇÃO E APLICAÇÃO

1. Compreensão Computacional da Linguagem Natural

compreender traduzir

– Tratamento superficial : Análise Lexical (Ex: Eliza ) – Análise em profundidade:

Sintática , Semântica , Pragmática Frase: João atira a bola branca

(5)

FEUP 9

Domínios para a IA

2. Sistemas Periciais ("Expert Systems")

ESPECÍFICO VS GERAL

Conhecimento Vs "Inteligência" CONHECIMENTO + METODOLOGIAS DE IA SISTEMA SIMULADOR DO PERITO

» uso de conhecimento simbólico e heuristico » uso de conhecimento incerto, vago, incompleto » acesso ao conhecimento modular

» conclusões credíveis (Raciocínio Incerto) » explicações

» evolução do conhecimento » interacção

» aquisição de conhecimento (eventualmente automático)

Domínios para a IA

3. Robótica

– ARQUITECTURAS: Cognitivas e Reactivas ; Híbridas – PERCEPÇÃO: Interpretação de Cenas

– DECISÃO: Geração Automática de Planos » "Frame Problem“

– Linguagens: Nível Tarefa

(6)

FEUP 11

Domínios para a IA

4. APRENDIZAGEM, ADAPTAÇÃO E “DATA MINING”

– Indução de Regras baseada em: » analogia; exemplos; explicações » Programação Lógica Indutiva – “Data e Text Mining”

Criação de novo Conhecimento) – Adaptação progressiva

5. NOVAS LÓGICAS para o Raciocínio Automático

– de ordem n – modais e intencionais – temporais – não-monótonas FEUP 12

Domínios para a IA

6. ARQUITECTURAS CONECTIVISTAS E NEURONAIS

– informação sub-simbólica e adaptação

7. INTELIGÊNCIA ARTIFICIAL DISTRIBUÍDA

– agentes distribuídos e cooperativos

Aplicações em domínios complexos, distribuídos e descentralizados: gestão de Redes (Electricidade, Gás...), CIM, …

– softbots (Pesquisadores, Shopbots,...) – mercados electrónicos (leilões, contratos)

– instituições electrónicas (Empresas Virtuais, Negociação, contratação) – agentes “emocionais”

8. TUTORES INTELIGENTES

(7)

FEUP 13

Introdução aos Agentes

Agentes Computacionais

– Agentes são entidades computacionais dispondo de capacidade de percepção do ambiente exterior a si (através de "sensores") e de interacção com esse ambiente (através de "efectuadores")

– Agentes permitem que os humanos "deleguem" neles responsabilidade custosas em tempo ou "poder" (computação, força, memória, deslocação, repetibilidade, ...)

– Agentes usam sequências percepcionais juntamente com eventual conhecimento à priori para agirem de forma a maximizar o seu desempenho – Agentes dizem-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

Programa = Arquitectura + Programa dos Módulos

Exemplos de Agentes

Tipo Percepção Acções Objectivos Ambiente

Sistema de Diagnóstico Médico Sintomas Questio- narios testes tratamentos Saúde do Paciente Minimização dos custos Paciente 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 comprador) 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

Introdução aos Agentes

Descrição "PAGE" dos Agentes:

(8)

FEUP 15

Aplicações

Aplicações dos Sistemas Multi-Agente podem sêr encontradas em vários domínios: • Pesquisadores na WWW: vários agentes pesquisando informação

simultaneamente.

Gestão Dinâmica de Redes de Distribuição de Electricidade.

Selecção de Recursos em Empresas geograficamente distribuídas (ex. Construção

Civil)

Mercados de Electricidade: empresas utilizando grandes quantidades de

Electricidade, querem minimizar os seus custos negociando e escolhendo em cada momento a melhor companhia.

• Mercados de Aquecimento: grandes edifícios em que diversos gabinetes (computadores e agentes) competem pela energia calorífica disponível. • Redes de Computador: distribuição de largura de banda por consumidores. • Sistemas operativos: como distribuír memória a quem e em que discos. • Empresas Virtuais : sub-contratação com apreciação de custos/benefícios.

Encaminhamento de Camiões: empresas várias negoceiam quais dos seus camiões

transportam o quê para onde, comerciando serviços e trocas com outras empresas. • Tratamento de pacientes: escalonamento do tratamento de um paciente no hospital. • Sistemas multi-robôs.

Mercados Electrónicos: Leilões, Negociações, Segurança de Transacções

Aplicações de SMA

FEUP 16

Arquitecturas básicas

função esqueleto-agente (percepção) retorna acção

estática: memória /* a memória do mundo do agente */

memória <---- actualiza_mem (memoria, percepção) acção <---- selecciona_melhor (memoria)

memória <---- actualiza_mem (memoria, acção)

retorna acção Notas:

(9)

FEUP 17

Arquitecturas básicas

Agente mais elementar: agente_tabela

função agente_tabela (percepção) retorna acção

estática: percepções /* em sequência inicialmente vazia*/

tabela /* tabela indexada pelas percepções. Inicialmente completamente especificada*/

concatenar percepção na fila percepções acção <---- indexar (percepções, tabela)

retorna acção

Desvantagens:

– enormes tabelas

– tempo de construção da tabela

– agente sem autonomia (sem reacção a alterações inesperadas no ambiente) – mesmo que o agente tivesse aprendizagem levaria demasiado tempo a

construir a tabela.

Arquitecturas básicas

• Um Agente com "raciocínio" pode tentar evitar estas 4

desvantagens.

• Como construir agentes capazes de melhor mapear

as percepções em acções?

Consideremos cinco tipos de agentes:

(10)

FEUP 19

Arquitecturas básicas:

reactivo simples

a) Reactivo simples

– Usando um conjunto de regras "situação-acção"

– válidos quando a decisão correcta é só função da percepção actual função agente_reactivo_simples(percepção) retorna acção

estática: regras /*conjunto de regras situação-acção */

estado <--- interpreta_input (percepção) regra <--- selecciona (estado, regras) acção <--- conclusão_regra (regra)

retorna acção FEUP 20 AGENTE estado do mundo Sensores próxima acção ? Efectuadores Regras:Condições->acção A M B I E N T E

Diagrama esquemático de um Agente Reactivo simples

Arquitecturas básicas:

reactivo simples

(11)

FEUP 21

Arquitecturas básicas:

memorizando o mundo

b) Memorizando o mundo

– A decisão implica um conhecimento prévio do mundo. função agente_reactivo_c_mem (percepção) retorna acção

estática: estado /* descrição do estado corrente do mundo */

regras /* conjunto de regras situação_acção */

estado <--- actualiza_estado (estado, percepção) regra <--- selecciona_regra (estado, regras) acção <--- conclusão_regra (regra)

estado <--- actualiza_estado (estado, acção)

retorna acção /*mesma percepção -->acções diferentes,(estado do mundo)

AGENTE estado do mundo Sensores próxima acção ? Efectuadores Regras:Condições->acção A M B I E N T E

Diagrama esquemático de um Agente "Reactivo" com estado interno estado

evolução do mundo resultados das acções

Arquitecturas básicas:

memorizando o mundo

(12)

FEUP 23

Arquitecturas básicas:

gerido por objectivos

c) Gerido por objectivos

– Para além da descrição do estado corrente o agente usa informação sobre os objectivos.

– Implica pesquisa e planeamento.

– É mais flexivel pois diferentes comportamentos são obtidos para o mesmo estado do mundo dependendo do destino.

FEUP 24 AGENTE estado do mundo Sensores próxima acção ? Efectuadores A M B I E N T E

Diagrama esquemático de um Agente com objectivos explícitos estado

evolução do mundo resultados das acções

Objectivos

evolução do mundo se executar acção A

(13)

FEUP 25

Arquitecturas básicas:

baseado na utilidade

d) Baseado na utilidade

– Utilidades são medidas de "satisfação", para o agente, relativamente aos diversos estados.

– Utilidades 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.

– Agentes que usam a função utilidade são mais racionais (ex. jogar xadrez, ...). Qual o grau de satisfação do Agente neste estado AGENTE estado do mundo Sensores próxima acção ? Efectuadores A M B I E N T E

Diagrama esquemático de um Agente baseado em Utilidades estado

evolução do mundo resultados das acções

Objectivos evolução do mundo se executar acção A Qual o grau de satisfação do Agente neste estado? Medida de Utilidade

(14)

FEUP 27

Arquitecturas básicas:

com aprendizagem

e) Agente com Aprendizagem

– Percepções devem ser úteis não só para a acção imediata mas também para melhorar as capacidades do agente em acções futuras – Aprender pode ser tão simples como memorizar ou tão complexo

como criar teorias.

– Crítico avalia o desempenho.

– O Elemento Aprendizagem faz as melhorias. – O Elemento Desempenho selecciona as acções. – Gerador de Problemas propõe acções exploratórias.

FEUP 28 ! " # $ " % & ' $ " # ($ $ )* %

(15)

FEUP 29

As propriedades do "ambiente" (o mundo exterior) também

implicam o uso de um determinado tipo de agente.

Ambientes podem ser:

– Acessíveis ou inacessíveis conforme a percepção é total ou não

– Determinísticos ou Não-determinísticos (de ponto de vista do agente) se o próximo estado pode ou não ser calculado com certeza a partir do estado actual.

– Episódico ou Não-episódico se a caracterização das situações correntes não dependem das anteriores então a experiência do agente está dividida em "episódios"

– Estáticos ou Dinâmicos conforme se altera com o tempo independentemente da acção do agente

– Discreto ou Contínuo conforme o número de percepções e acções são um conjunto limitado ou não (como um robô a evoluir no exterior)

(16)

FEUP 31

Agentes

Conclusões

– Agentes são entidades computacionais que percebem e agem em um Ambiente

– O Agente ideal responde sempre bem a qualquer alteração no Ambiente e maximiza sempre o seu desempenho

– Autonomia do Agente baseia-se nos seus objectivos, sua experiência e interactividade com os outros

– Programa do Agente mapeia percepção em acção modificando (eventualmente) o estado através da sua arquitectura interna – Agentes: de Reactivos a baseados em Objectivos e Utilidades, sem

ou com Aprendizagem

Referências

Documentos relacionados

Matemática Computação Computação Computação Computação Ciência da Ciência da Ciência da Ciência da Lingüística Lingüística Lingüística Lingüística Engenharia

Antes de passar à representação de conhecimento através da Programação em Lógica, usando Prolog, apresenta-se um breve enquadramento da Programação em Lógica

O raciocínio usado com este método de representação de conhecimento pode ser encadeado para trás (no caso das regras condição-conclusão) ou encadeado para a frente (tanto nas

Percep ção Agente Base Conhecimento Sensores Ambiente Acção Mundo Plano Utilidade Aprend izagem Acção

Agentes que usam a função utilidade são mais racionais (ex. Arquiteturas 4) Baseados na utilidade Qual o grau de satisfação do Agente neste estado AGENTE estado do mundo

Utilidades podem ser usadas para decidir entre objetivos em conflito ou ainda (quando há incerteza nas ações) para medir a verosimilhança de atingir o objetivo. Agentes que usam

• O processo de busca pelo espaço de estados ocorre, de modo geral, por regras que causam movimentação de uma “configuração” de espaço de estados para

 Redes de uma única camada  Redes de múltiplas camadas  Redes do tipo uni-direcional  Redes do tipo recorrentes.  Redes com estrutura estática (não altera a