Prova 1

26 de Janeiro de 2001

Tecnologia Informática


Condições gerais da prova

Índice


Parte teórica

  1. Indique possíveis aplicações dos Agentes Inteligentes e dos Sistemas Multi-Agente em actividades associadas à Bolsa de Valores. Especifique e descreva os Agentes que podem existir, quais as dificuldades associadas a tais agentes e que medidas tomaria no sentido de ultrapassar tais limitações. Refira-se às dificuldades associadas à substituição do ser humano por tais agentes.
  2. Que limitações apresentam os protocolos do tipo de "Rede de Contratos" ("Contract Net") para modelizar os processos de negociação que encontramos na realidade?
  3. Uma das principais dificuldades dos Sistemas de Apoio à Decisão encontra-se na modelização do processo de tomada de decisão em grupo (uma decisão envolve normalmente um grupo de pessoas). Como utilizaria a tecnologia dos Agentes para auxiliar na resolução dessa dificuldade? Exemplifique especificando os agentes envolvidos num processo de tomada de decisão em grupo a sua escolha. Que aspectos acha que serão mais complexos de modelizar?

Índice


Parte prática

Pretende-se desenvolver um meta-portal para serviços WWW. Ou seja, um sistema de pesquisa de informação na web, cujas fontes de informação são vários portais WWW comuns.
Cada portal WWW, classifica e agrupa a informação em temas, sub-temas, sub-sub-temas e assim sucessivamente. Os termos identificadores de cada tema não coincidem em todos os portais.
Para resolver esse problema, existe um portal (serviço), denominado "TraduzClassificação", que relaciona os termos usados entre os diversos portais. Por isso, o meta-portal não guarda informação, e aceita as opções deste serviço.
Todos os portais e meta-portal conhecem-se mutuamente.
Além disso, foi considerado fundamental a especificação, desenvolvimento e posterior disponibilização aos clientes, dum agente (Assistente) que modelize o utilizador/cliente, no que respeita a preferências, histórico, etc, de forma a melhorar o desempenho do sistema.

  1. Especifique os agentes, suas conversações e informação relevante, da forma mais completa possível, usando para isso o quadro do Anexo 1.
  2. Imagine o cenário em que existem duas categorias "Institutos". Uma, sub-tema de "Educação", e outra, sub-tema de "Centro de Investigação". O utilizador/cliente deseja receber uma e uma única resposta, pelo que no caso de existirem ocorrências nas duas categorias, deverá ocorrer uma negociação entre o portal e o meta-portal, ou entre o portal e o agente Assistente, no sentido de esclarecer este problema.
    Destas duas conversações, descreva graficamente aquela que achar mais pertinente, indicando as mensagens e seu conteúdo.
  3. Descreva as mensagens KQML ocorridas em dois dos três cenários que se seguem:
    1. O portal ABC informa todos os outros, que passa a dispor de mais uma categoria de informação: "Educação->Institutos".
    2. O serviço "TraduzClassificação" anuncia a capacidade de poder informar quais os portais mais competentes para responder a uma pergunta sobre determinado tema.
    3. Um cliente envia a seguinte mensagem ao meta-portal. Quais as mensagens KQML que se seguem, no caso do processo ser bem sucedido?
(stream-all
	:content(search(for("ISEP"), in("Institutos")))
	:ontology informação
	:language privada
	:reply-with ref
	:sender cliente
	:receiver meta-portal
)
  1. Em que linguagens e/ou sistemas de desenvolvimento implementaria este sistema? Porquê?

Índice


Correcção da Parte Prática

1. Como se pretende criar um sistema baseado em met-portal, então não será muito correcto considerar que Utilizador e Assistente pesquisam ou conversam com os Portais. No entanto, essa situação poderá acontecer mesmo que sem a abrangência do sistema a desenvolver. Por exemplo, requisitar ao meta-portal, recomendação dum portal para pesquisa.
ver Anexo 1 (completo/completado)
.

2. Pretende-se criar um sistema que torne transparente para o utilizador a pesquisa de variados portais, e que a pesquisa seja cada vez mais orientada pelo histórico e preferências do utilziador. Assim, não faz muito sentido que o Portal "fale" com o Assistente (ou no limite, com o Utilizador). No entanto, esta abordagem tem a vantagem de diminuir a complexidade e níveis de conversação, uma vez que o requisitante (portal) se coloca em "linha" com a fonte (Assistente/Utilizador).
No entanto, o enunciado refere que o meta-portal não guarda informação, será que é todo o tipo de informação ou apenas a informação de tradução entre categorias de diversos portais? Vou considerar que pode guardar o modelo de utilizador e o histórico, mas não outras preferências.
Em qualquer dos casos, não é previsível que o meta-portal tenha sempre a capacidade de decidir àcerca das opções do utilizador, pelo que a conversação terá nalguns casos que ser extendida ao Assistente, e no limite, até ao Utilizador.

3.

a)

(tell
    	:content(categoria(nova("Institutos"), sub-categoria-de("Educação")))
	:language privada
	:ontology categorias
	:sender ABC
	:receiver ?todos-os-portais-mas-um-de cada-vez
)

Também se poderia utilizar uma mensagem advertise, mas não parece tão correcta, uma vez que o advertise especifica como se deve usar tal anúncio, o que não é necessário ou vantajoso neste caso.

b)

(advertise
	:content(recommend-one
			:content(ask-about
					:content(?Tema)
					:language KQML
					:ontology categorias-web
				)
			:ontology categorias-web
			:language KQML
		)
	:language KQML
	:ontology servicos-basicos
	:sender portalTraduzClassificacao
	:receiver ?todos-os-portais-mas-um-de cada-vez
)

c)

	(tell
		:content(?ElementoEncontrado)
		:ontology informação
		:language privada
		:in-reply-to ref
		:sender meta-portal
		:receiver cliente
	)
	... (mensagens idênticas à anterior, até terminarem os elementos encontrados)
	(eos
		:in-reply-to ref
	)

4. Existem muitos e variados sistemas destinados ao desenvolvimentos de sistemas baseados em agentes. No entanto, dificilmente se encontra em qualquer um desses sistemas, a capacidade nativa de desenvolvimento de diferentes tipos de agentes: inteligentes, móveis, "seguros", cooperativos, sociáveis, etc. Ou seja, uma aplicação que necessite de desenvolver agentes de vários tipos, o mais provável é ter de aplicar vários sistemas ou linguagens.
Tratando-se dum sistema baseado em agentes, a interligação com sistemas heterogeneos é tambem uma das principais características, pelo que a interligaçãoi de comunidades mais ou menos heterogéneas não deve ser problema. O mesmo se passa com agentes/comunidades, desenvolvidas usando linguagens diferentes.
Assim, seria aconcelhável a utilização de sistemas de desenvolvimento que permitissem uma certa mobilidade dos agentes, embora que o enunciado refira a existência de serviços de resposta existentes nos próprios servidores web. Ou seja, não é o agente do utilizador ou do met-portal que via "minar" a informação no servidor web.
Além disso, e considerando a "segunda parte" do enunciado, parece importante a utilização de sistemas ou linguagens que permitam o uso fácil de técnicas de inteligência artificial como a aprendizagem (com respeito a preferências e modelação do utilizador) ou data-mining (com respeito ao tratamento do histórico e páginas de informação em bruto).
Embora uma das plataformas utilizadas nos trabalhos práticos (o OAA) contenha algumas destas características e a sua utilização seja pública, não é comum encontrar todos estes requisitos num sistema de utilização pública. Existem contudo algumas soluções comerciais, como o Agent-Builder ou o Voyager (e semelhantes) que por adição de "pacotes" extra se possam considerar competentes em todas estas áreas.

Índice


Última actualização: 01-02-2001

Tecnologia Informática