Open rafaelcaue opened 8 years ago
Commitei um código inicial para isso no branch https://github.com/lsa-pucrs/mas-pc-pucrs-2016/tree/postJobsToOtherTeams (não fiz direto no main pq não estou muito seguro que ele esteja funcionando 100%). Basicamente o que fiz foi:
Não fiz eles escolheram sempre produtos com mais volume pq eventualmente eles já serão escolhidos (estamos postando muitoooos jobs). Os parâmetros de reward e deadline deixei com uns valores fixos. Não sei se poderíamos deixar eles variados, pq não sabemos quanto custa os produtos ou onde o outro time está. Acho que com aqueles parâmetros nunca alguém conseguirá completar os jobs, mas não sei, e por isso tá em um branch. Comentários/Sugestões?
Estava vendo o diff do novo branch e fiquei em dúvida quanto a linha 396:
+randomNumberOfItems(math.ceil(math.random(10)));
Pela documentação de random e ceil um número entre 0 e 9.9999 seria gerado e arredondado para um inteiro igual ou maior. Acredito que zero ainda possa ser retornado e isso geraria um job sem quantia ou inválido. Algo como a linha abaixo força um mínimo de 1 como quantia.
+randomNumberOfItems(math.ceil(math.random(9) + 1));
1e158cd83bedd85c4561c0897e73d488531ab2ac
Implementado o que discutimos na reunião. Todos os agentes free, durante a exploração, estão postando jobs. O que falta (não sei se consigo acabar até amanhã de manhã, mas vou tentar):
Se der faz só 1 postar, e ser 50/50 priced/auction.
Fiz o 2 (postar durante o go horse): c9e118ae533438cbcaa123ce01bb0982e26a762c
To perdido pra limitar o numero de agentes. Quando eles fazem o ring não parece ter um agente que saiba de todos os outros pra poder mandar algum agente ser o que fica postando jobs.
O 16 sabe, é ele que fecha o anel. Procura o plano sendAgentsToTheirShops em common strategies. Basta adicionar o nome do agente em uma lista todas vez que der um send. Nas linhas 327 a 332 (aqui no meu código) o veiculo 16 limpa umas crenças, ali tu pode consultar a tua lista e escolher um agente que não esteja naquela lista.
(ele limpa pq naquele momento já acabou e já esta tudo decidido, é aí que tem que escolher 1 agente)
feito \o/ 4757304711a9344f22aa50c3464405ec5d1f2c44
A estratégia durante o goHorse ta igual a da durante o exploration. Acho que não vou conseguir terminar até amanhã ele considerar os preços dos itens para o reward durante o goHorse.
Valeu GUilherme!!
Eu acho melhor deixar reward como 1 mesmo para garantir. Só vou aumentar um pouco o período das auctions.
A minha troca de e-mails com o Sarmas me fez pensar que postar jobs pode aumentar significativamente a nossa chance contra o time dele.
Pensei em fazer os agentes que não estão indo explorar os shops no início ficarem postando jobs até a etapa de exploração terminar. Depois da exploração não postamos mais jobs. Podemos fazer metade posta priced e a outra metade posta auction.