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
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
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,_).
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
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
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
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:
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:
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:
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
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
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
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
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 ! " # $ " % & ' $ " # ($ $ )* %
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)
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