Agentes Inteligentes e Sistemas Cooperativos

Problemas??...
Problemas com o estudo??...

Ano lectivo: 2000/2001

Ensino (1999-2000)


Avaliação

Os parâmetros de avaliação são os seguintes:

Índice


Exercícios

Data Descrição Correcção

28/09/2000

Usando a Infra-estrutura em Erlang disponibilizada, desenvolva um conjunto de agentes cooperativos, que não conhecendo o ambiente, se anuncie e às suas capacidades, e seja útil à comunidade. exercicio1.erl

12/10/2000

Pretende-se desenvolver um sistema de comércio electrónico. O produtos a vender têm a forma a[b=X,c=Y,d=Z]. Ou seja o produto a, caracteriza-se por diferentes valores para os componentes b, c e d que por sua vez condicionam o valor de a. Deverão existir entidades que vendem a, b, c ou d. em separado, em conjunto ou ambas.

A negociação ocorre mediante o diagrama seguinte:

O comprador poderá contactar vários vendedores para conseguir o melhor preço de mercado.

O vendedor poderá ter que contactar outros vendedores para complementar a sua proposta. Além disso poderá contactá-lo apenas para comparar a sua proposta. Cada vendedor deverá publicar (anunciar) a venda dos produtos do seu catálogo, que pode variar de vendedor para vendedor:

[{business, [ {sell, [Lista_de_produtos]}] }]

Lista_de_produtos= a | b | c | d

Usando a Infra-estrutura em Erlang disponibilizada, desenvolva um conjunto de entidades que modelize o sistema anterior. Além disso poderá usar o exercício anterior como ponto de partida.

Experimentar comprador.erl e vendedor.erl com suporte (muito) limitado para KQML.

 

Índice


Trabalho Prático

O objectivo é desenvolver uma aplicação baseada em agentes inteligentes e cooperativos, ou seja, que tenham algumas das propriedades de sistemas inteligentes e se interliguem com outras entidades (por ventura outros agentes) de forma a atingirem os seus objectivos.

Trabalho Descrição Ferramentas

Agendamento

Agendamento de eventos entre diferentes entidades, representadas por agentes. Cada entidade dispõe duma agenda e de regras para a sua utilização, onde estão representadas as horas ocupadas, com que evento, entidades intervenientes, prioridades, etc. É tarefa do agente contactar os agentes representando outras entidades, e negociar o agendamento de tarefas que o utilizador definir, segundo as propriedades descritas. Aconselhadas: OAA+Prolog
Roteiro Turístico Aconselhamento de roteiro turístico segundo um conjunto de informação definido pelo utilizador (algumas datas, locais, preferências, etc.). É suposto o agente recolher informação em fontes na internet, que lhe permita aconselhar visitas, percursos, compras e outras actividades.  OAA+WebL+(Java ou  Prolog ou C)
Tráfego Desenvolvimento dum sistema que modelize situações de tráfego rodoviário.   Aconselhadas: OAA ou Erlang
Filtro de Informação Desenvolvimento dum agente de filtragem e sistematização de informação. É suposto o agente recolher informação num conjunto de fontes da internet, e filtrá-la segundo recomendações do utilizador. OAA+WebL+(Java ou Prolog ou C)
KQML/KIF Existe uma infra-estrutura para desenvolvimento de sistemas baseados em agentes que utiliza mensagens em formato "privado". O objectivo é alterar essa infra-estrutura de forma a que as mensagens passem a obedecer ao formato KQML. Erlang, KQML
FIPA ACL Existe uma infra-estrutura para desenvolvimento de sistemas baseados em agentes que utiliza mensagens em formato "privado". O objectivo é alterar essa infra-estrutura de forma a que as mensagens passem a obedecer ao formato FIPA ACL. Erlang, FIPA ACL
Comércio Electrónico Desenvolvimento dum conjunto de agentes que modelizem transacções em comércio electrónico sob o ponto de vista do cliente. É suposto que os agentes intervenientes revelem capacidades de aprendizagem das preferências do utilizador, processamento com informação incompleta, etc. Aconselhadas: OAA ou Infra-estrutura em Erlang
Escalonamento Desenvolvimento dum conjunto de agentes que modelizem um sistema produtivo complexo, onde existem diversas entidades autónomas com capacidades distintas. O processo produtivo é composto por várias tarefas sequenciais (ou paralelas) que têm de ser coordenadas entre as diversas entidades. É suposto que os agentes intervenientes revelem capacidades de aprendizagem, processamento com informação incompleta, etc. Aconselhadas: OAA ou Infra-estrutura em Erlang

 

Índice


Ferramentas

Índice

Infra-estrutura em Erlang

É um conjunto de módulos Erlang, correspondentes a protótipos de entidades específicas (Banco, Sistema de Informação, Cliente, Vendedor, Armazenista), desenvolvida no âmbito da disciplina de AISC em 1999-2000. Permite ao programador o desenvolvimento rápido de agentes específicos, sem necessidade de preocupação com pormenores de comunicações de baixo nível. Dado o facto de ser implementado em Erlang, é simples a sua ligação com funções escritas noutras linguagens, como o JAVA, o C/C++, parsers, etc.
Tem a grande vantagem, devido ao Erlang, de ser muito leve, mesmo para comunidades de agentes muito grandes.

Trabalho Prático

Massyve ToolKit

O Massyve ToolKit é uma ferramenta académica (também desenvolvida para ensino) de desenvolvimento de agentes (genéricos). A sua grande vantagem é ser muito simples de utilizar, e a sua grande desvantagem é ser necessário programar em Borland C/C++.

Trabalho Prático

Open Agent Architecture (OAA)

O OAA é um conjunto de librarias em diversas linguagens (JAVA, Prolog, C, VB, etc.) iguais para cada linguagem, e que permite criar agentes (fundamentalmente) cooperativos. Como as linguagens de programação são variadas, é (supostamente) fácil desenvolver outro tipo de características nestes agentes.

Trabalho Prático

WebL (Compaq Web Language)

O WebL é uma linguagem de script, bastante simples e leve, que permite manipular páginas html e xml, e extrair conteúdo de uma forma sistematizada. A existência em OAA de interface para WebL, torna o Webl apropriado como interface na descoberta de informação e conhecimento na Web usando os agentes desenvolvidos em OAA.

Trabalho Prático

Sictus/Quintus Prolog (para complementar com OAA)

Trabalho PráticoÍndice


Tecnologias

Índice


Testes

Índice


Última actualização: 02-05-2005

Ensino (1999-2000)