lsa-pucrs / mas-pc-pucrs-2016

Repository for the 2016 MAS programming contest: https://multiagentcontest.org/
2 stars 1 forks source link

goto(shop) and buy(item,qty) #16

Closed rafaelcaue closed 9 years ago

rafaelcaue commented 9 years ago

Esqueci de colocar na descrição do commit mas dei nome aos planos select_goal em anotações para facilitar a leitura do que cada plano é responsável por fazer.

Pessoal, terminei as regras e os planos que eu estava fazendo para o goto do shop e o buy.

A regra findShops esta dentro de um loop for, ela retorna os shops que possuem um determinado item. A cada passo do loop for é passado ao findShops um item da lista de itens que o job necessita.

O que falta fazer: decompor os items não-base em items base. Por enquanto o código só vai comprar items para Jobs se eles forem bases puras.

Se tiver mais de um shop que vende o produto necessário para completar um job, o primeiro shop da lista (.nth(0,L,R)) vai ser o escolhido (regra bestShop).

Nós só recebemos o feedback do servidor sobre a ação que executamos no passo seguinte, o que as vezes resultava em compras repetidas pois eu esperava o feedback da ação de compra (crença item(id,qty)) para adicionar na base de crenças. Reslolvi então adicionar manualmente no mesmo passo que executo a ação, mas se a ação falhar no passo seguinte (pode falhar 1% das vezes) o agente vai acreditar que tem o item porém não vai ser verdade pois a ação falhou. Eu acho que vi uma solução para isso no código do time do Jomi, vou verificar e atualizo depois.

Por enquanto o código só funciona para 1 agente (moto). Temos que pensar melhor em como dividir as tarefas de um job entre os dummies (próxima reunião).

Vou fazer os agentes comprar as tools que podem usar no primeiro passo da execução, devo commitar isso daqui a pouco.

Quem tiver alguma dúvida sobre o código pode postar aqui.

rafaelcaue commented 9 years ago

Feito, commitei os planos para comprar as tools no inicio da execução. Futuramente tem que arrumar para ignorar as tools que forem user made, ou então fazer os agentes irem comprar as bases e depois ir para o workshop montar a tool.

Por enquanto adicionei a tool3 aos shops para facilitar os testes.

rafaelcaue commented 9 years ago

solved