Nota: Responda a cada questão numa folha de exame separada 1. [5 valores] A CP pretende automatizar um processo de venda de bilhetes para os seus itinerários, sendo alguns de preço não fixo. Para a venda destes últimos, foi implementado um Sistema Multi-Agente composto por dois tipos de agentes: o agente AgCP, que representa a empresa CP e o agente AgPass, que representa o (eventual) passageiro. Um bilhete é caracterizado por Data, local de Origem e local de Destino. O processo implementado é o seguinte: i. AgCP questiona os agentes AgPass registados no sistema sobre interesse na aquisição de um bilhete para a data Data, com partida em Origem e chegada em Destino e preço mínimo PrecoMin. ii. Se nenhum agente passageiro está interessado, o processo reinicia (volta a i) com a venda de um troço do percurso total da viagem. Se todos os troços já foram analisados, o processo termina. iii. AgCP negoceia com agentes AgPass interessados a venda do bilhete, procurando obter o preço mais elevado possível, usando como protocolo de negociação o leilão inglês. a) Apresente um diagrama de sequência UML que ilustre a interação descrita. AgCP AgPass 1 AgPass n query_if(bilhete(data,orig,dest,pmin)) há mais troços inform(yes/no)) não há mais troços termina sem nºyes=0 nºyes>=1 Pbase=Pmin cfp(bilhete(data,orig,dest,pbase)) loop propose(preco(preco i )) nprop=0 nprop >=1 reject_proposal Pbase=max(Preco i ) 1ªronda termina sem nºronda>1 termina com accept_proposal EUGÉNIO OLIVEIRA 14/01/2016 PÁG. 1 / 5
b) Escreva as mensagens trocadas entres os agentes do sistema, usando a linguagem ACL. Instancie convenientemente o conteúdo das mensagens. 1. AgCP questiona todos os passageiros, AgPass, sobre interesse na aquisição de um bilhete na data Data, da estação Orig à estação Dest, com preço mínimo igual a Pmin ( query-if : sender AgCP : content (bilhete(data,orig,dest,pmin)) ) 2. Cada passageiro, AgPass i, responde afirmativamente ou negativamente ( inform : sender AgPass i : receiver AgCP : content (sim/nao) ) 3. Se nenhum passageiro está interessado 3 a. Se existem mais troços da viagem, AgCP escolhe um novo troço para tentar vender e retorna ao passo 1. 3 b. Se não existem mais troços da viagem (todos os troços já foram usados na tentativa de compra/venda), o processo termina 4. Se existem passageiros interessados, AgCP anuncia, a todos eles, o preço mínimo (Pbase) para a venda/compra do bilhete ( cfp : sender AgCP : content (bilhete(data,orig,dest,pbase)) ) 5. Os passageiros interessados apresentam proposta com valores superiores a Pbase ( propose : sender AgPass i : receiver AgCP : content (preco(preco i )) ) 6a. Havendo mais que uma proposta, AgCP responde com reject proposal a todos os AgPass que enviaram propostas nesta ronda (exceto o que enviou preço mais alto) e também ao AgPass vencedor da ronda anterior. Retoma ao passo 3, mas com Pbase=max(Preco i ), sendo Preco i os preços das propostas desta ronda. ( reject-proposal : sender AgCP : content () ) 6b. Não havendo propostas e esta é a 1ªronda, o processo termina sem 6c. Não havendo propostas e esta não é a 1ªronda, responde com accept proposal ao AgPass vencedor da ronda anterior (accept-proposal : sender AgCP : receiver APassx : content (preco(precox)) ) a) Suponha que o AgCP possui arquitetura BDI. Com o objetivo de minimizar os custos, a empresa, AgCP, pode tomar a decisão de cancelar uma viagem ou realizar apenas alguns troços da viagem original (tendo em consideração os comboios parados em estações intermédias) quando o número de passageiros é diminuto. AgCP pretende também a satisfação de todos os seus clientes, procurando assegurar a sua viagem: no horário pretendido, se urgente ou num outro horário se não inferior a 12h de intervalo. EUGÉNIO OLIVEIRA 14/01/2016 PÁG. 2 / 5
Considere o cenário apresentado anteriormente, em que o AgCp decide sobre as viagens efetivamente realizadas (se uma viagem é realizada na totalidade, parcialmente, ou cancelada) ou que troços colocar em venda e respetivo preço mínimo. Defina e exemplifique os conceitos de crenças, desejos e intenções do agente AgCP. Crenças: Itinerário diário (horário de todos os comboios), nº de bilhetes vendidos e por vender por troço de cada viagem, comboios disponíveis em cada estação Desejos: Cancelar uma viagem (na totalidade), cancelar troços de uma viagem, colocar troço de viagem (ou totalidade) em leilão, aumentar/diminuir preço base do leilão, Intenções: Minimizar custos/maximizar lucros, satisfação clientes 2. [5 valores] O Sr. António (agente A) precisa de se deslocar do Porto a Lisboa, regressando no final do dia. Possui um automóvel a gasolina. O Sr. Bernardo (agente B) precisa igualmente de ir do Porto a Lisboa levar o seu filho de 10 anos, regressando depois sozinho ao Porto. Possui um automóvel a gasóleo. Fazer esta viagem de automóvel custa 21,25 em cada direção, só em portagens. Acrescenta-se a isto o custo com o combustível, que rondará os 32,00 com um carro a gasolina e 18,25 com um carro a gasóleo, novamente só para uma direção. Se viajar sozinho, ir de comboio é a opção mais barata, pois o bilhete de ida (ou de volta) custa 30,30 em classe turística, sendo que as crianças têm 50% de desconto. Porém, partilhar a viagem de carro pode revelar-se mais em conta. a) Calcule os custos no acordo de conflito, para A e para B. C A ( ) = 30,30 * 2 = 60,60 C B ( ) = 30,30 * 2 + 15,15 = 75,75 b) Considere a hipótese de um dos agentes usar o seu carro, transportando todos. O acordo A consiste em viajar às custas do agente A, enquanto que o acordo B consiste em viajar às custas do agente B. Calcule a utilidade dos agentes neste acordo tudo-ou-nada. A faz tudo: C A ( A ) = (21,25 + 32,00) * 2 = 106,50 B faz tudo: C B ( B ) = (21,25 + 18,25) * 2 = 79,00 U A = 60,60 (p * 106,50 + (1-p) * 0) = 60,60 106.50p U B = 75,75 (p * 0 + (1-p) * 79,00) = 79p 3,25 60,60 106,50p = 79p 3,25 185,5p = 63,85 p = 0,344 U A = U B 60,60 106,50 * 0,344 = 23,964 c) Considere agora que no caso de partilha de automóvel os agentes concordam em suportar, cada um, os custos de metade da viagem (um a ida e o outro a volta). Determine se os acordos A2 e B2 (idênticos a A e B mas com repartição de custos) são individualmente racionais. C A ( A2 ) = 21,25 + 32,00 = 53,25 = C B ( A2 ) C A ( B2 ) = 21,25 + 18,25 = 39,50 = C B ( B2 ) U A ( A2 ) = 60,60 53,25 = 7,35 U A ( B2 ) = 60,60 39,50 = 21,10 U B ( A2 ) = 75,75 53,25 = 22,50 U B ( B2 ) = 75,75 39,50 = 36,25 Ambos os acordos A2 e B2 são individualmente racionais, pois os dois agentes obtêm utilidades positivas. d) Considerando apenas os acordos A, B, A2, B2 e o acordo de conflito, qual(is) é(são) Pareto-eficiente(s)? Justifique. A B A2 B2 U A -45,90 60,60 7,35 21,10 EUGÉNIO OLIVEIRA 14/01/2016 PÁG. 3 / 5
U B 75,75-3,25 22,50 36,25 O acordo A2 é dominado pelo acordo B2. O acordo de conflito é dominado pelos dois acordos individualmente racionais A2 e B2. Os acordos Pareto-eficientes são os acordos A, B e B2, pois não são dominados. 3. [5 valores] Existem N cidades ao longo de uma autoestrada, numeradas de 1 a N. Um mercador está na cidade 1. Em cada dia, o mercador pode viajar para uma cidade vizinha (ação=este ou Oeste) ou ficar na cidade atual (ação=ficar). Se escolher viajar da cidade atual i para uma cidade vizinha, existe a probabilidade p i de chegar a essa cidade, e probabilidade 1-p i de apanhar uma tempestade e não conseguir sair. A recompensa de efetuar a viagem é 0. Sempre que escolher ficar a negociar na cidade i, recebe uma recompensa r i. O mercador usa o algoritmo de aprendizagem Q nas suas escolhas. a) Suponha que, para todas as cidades i, r i =1 e p i =1. Considerando uma taxa de aprendizagem =1 e um fator de desconto =0.5, identifique a política ótima para o mercador (não necessita apresentar cálculos, mas deve justificar a sua resposta). Como todas as cidades oferecem a mesma recompensa, não existe incentivo para viajar para outra cidade. Assim, a política ótima é permanecer sempre na cidade atual. b) Considere agora que r i e p i são valores possivelmente diferentes, positivos e previamente conhecidos. A taxa de aprendizagem é 1 ( =1) e quase não há desconto ( 1). Identifique a política ótima para o mercador (não necessita apresentar cálculos, mas deve justificar a sua resposta). A política ótima é viajar para a cidade com maior valor de recompensa. Após chegar a esta cidade, o mercador permanece aí para sempre. 4. Responda sucintamente às seguintes questões. a) [1 valor] como se relacionam as arquiteturas de subsunção e BDI com as arquiteturas básicas para agentes? A arquitectura de subsunção pode ser considerada reativa. Acrescenta as prioridades entre os vários comportamentos possíveis. A arquitectura BDI pode ser considerada guiada quer por objectivos quer por utilidades (se considerarmos que a escolha dos objectivos depende de serem mais ou menos úteis para a realização das intenções. Portanto estabelece diferença entre objetivos últimos (intenções) com que está comprometido e outros objetivos potencialmente possíveis de alcançar em cada momento. b) [1 valor] No algoritmo COBWEB, o estereótipo de um cluster permite identificar características distintivas desse cluster quando comparado com os demais. Que significado pode ter o facto de nenhuma característica (atributo-valor) permitir caracterizar um cluster? Significa que a distinção das características entre os elementos do cluster e os exteriores não ultrapassa (em frequência) um certo valor de limiar (Beta) que foi considerado à priori significativo. Ou o Agrupamento nõ se deveria distinguir da restante população ou o limiar Beta considerado é demasiado elevado. c) [1 valor] Explique a noção de risco utilizada na estratégia de Zeuthen. Um agente terá menor risco que outro em aceitar a proposta desse outro, se a diferença de utilidades entre a sua proposta e a do outro for inferior para si do que o contrário para o outro parceiro. d) [2 valores] Explique o que caracteriza uma metodologia de engenharia de software orientada a agentes (AOSE). EUGÉNIO OLIVEIRA 14/01/2016 PÁG. 4 / 5
Uma metodologia AOSE terá de necessariamente incluir a identificação de atores, actividades, papeis e respectivas interacções. EUGÉNIO OLIVEIRA 14/01/2016 PÁG. 5 / 5