Eu codifiquei uma simulação incompleta do seu conjunto de regras em Python. Da minha estratégia, parece ter cerca de oitenta por cento de chance de comprar a carta do Sacerdote com sete dados. Eu testei o código em TiO para que você possa executá-lo sem instalar o Python localmente.
Aqui está um exemplo da saída de depuração:
Reqs: [Sword_4, Sword_1, Political, Castle] Rolls: [Wizard, Sword_1, Sword_3, Sword_1, Castle, Wizard, Sword_1] Correspondente: Castle 4 correspondido por 3, 1 Sword_1 [Matched exactamente, Wizard, Swum_1, Sword_1] , Sword_4], ainda precisa re-rotular [Political] Reqs 3: [Political] Rolls: [Castle, Wizard, Sword_3, Castle] Partidas atuais: [Castle, Sword_1, Sword_1, Sword_3] Não corresponde a: [Castle, Wizard, Sword_3, Castle], ainda precisa de [Política] Reencaminhar solicitações 2: [Política] Rolos: [Sword_1, Sword_3, Sword_3] Partidas atuais: [Castle, Sword_1, Sword_1, Sword_2] Sem correspondências com: [Sword_1, Sword] [Política] Reencaminhando as solicitações 3: [Política] Rolamentos: [Sword_1] Partidas atuais: [Castle, Sword_3, Sword_3, Sword_1] Não há correspondências com: [Sword_1], ainda é necessário que a [Sword_3] ainda precise de uma nova remessa [Political] -2 para obter o Priest restante: comprar cartão Padre é sobre 78.39% após iterações 10000
Aqui está uma tentativa bem-sucedida:
Reqs: [Sword_4, Sword_1, Political, Castle] Rolls: [Castle, Sword_1, Sword_1, Wizard, Sword_1, Sword_1, Sword_3] Correspondente: castelo 4 correspondido por 3, 1 Sword_XN, MatchumX: Sword_1: , Sword_1], ainda precisa de [Política] Reencaminhar solicitações 1: [Política] Rolls: [Political, Sword_1, Castle, Sword_4] Correspondências atuais: [Castle, Sword_2, Sword_1, Sword_3] Correspondentes: políticos desnecessários: [, Sword_1] ] Padre adquirido com sucesso
Você pode definir novos cartões modificando a linha:
padre = carta ("Sacerdote", dado.Sword_4, dado.Sword_1, dado.Política, dado.Castelo)
Desculpas pela verbosidade, eu estava me certificando de que a estratégia estivesse funcionando corretamente.
Um exemplo em que minha implementação é insuficiente é não combinar um Sword 4 com um Sword 2 e dois Sword 1s. Isso é relativamente trivial de se adicionar, mas provavelmente é algo que você escolheria se o Sword 4 fosse seu único requisito restante.
Na verdade, acabei de revisar suas regras e implementei as penalidades incorretamente. Acabei de dar o primeiro re-roll grátis e adicionei uma penalidade crescente para cada rodada subsequente. É relativamente simples rastrear as partidas em uma rodada e aplicar penalidades; suspeito que isso facilite o recrutamento do Sacerdote.
Deixe-me saber se essa abordagem é interessante ou útil e eu vou corrigi-la ou ficar à vontade para tentar.
Editar: Ok, estava me roendo, então eu corrigi a implementação aqui. Como se suspeita, a chance de adquirir um Sacerdote aumenta para cerca de 85%. Aqui está um novo log mostrando um exemplo, incluindo rerolls:
Reqs: [Sword_4, Sword_1, Political, Castle] Rolls: [Sword_1, Sword_1, Wizard, Sword_1, Wizard, Sword_2, Wizard] Sword_1 Correspondeu exatamente Sem correspondências com: [Sword_1, Wizard, Sword_1, Sword_1, , ainda precisa [Sword_2, Political, Castle] Reencaminhando Reqs do 4: [Sword_7, Political, Castle] Rolos: [Castle, Castle, Wizard, Sword_4, Castle, Sword_2, Sword_2] Correspondências atuais: [Sword_1] Correspondentes por: Castle 1 4, 2 Não há correspondências com: [Castelo, Mago, Castelo, Sword_2], ainda precisa de [Político] Re-rotulando 1 Reqs: [Político] Rolls: [Sword_4, Sword_3, Sword_1, Sword_1] Correspondências atuais: [Sword_2, Castle, Sword_1, Sword_2] Não há correspondências com: [Sword_2, Sword_3, Sword_1, Sword_1], ainda precisa de [Políticos] Reencaminhar solicitações 2: [Políticos] Rolls: [Sword_3, Sword_2, Político] Jogos atuais: [Sword_3, Político] : P desnecessário: [Sword_1, Sword_2] Sacerdote adquirido com sucesso
Infelizmente, isso mostra outro problema, eu não estava removendo os dados da espada da piscina quando combinavam exatamente. Também não estava permitindo que dois Sword 3s cumprissem um requisito do Sword 4. Uma solução rápida aqui o que nos leva a uma chance de oitenta e um por cento de adquirir o sacerdote.
Aqui está uma tentativa de aquisição com falha que parece correta:
Reqs: [Sword_4, Sword_1, Político, Castelo] Rolls: [Wizard, Sword_1, Sword_1, Sword_1, Sword_2, Político, Wizard] Corresponde: Político Sword_1 Corresponde exatamente Não há mais correspondências com: [Wizard, Sword_1] , ainda precisa [Sword_1, Castle] Reencaminhando Reqs do 2: [Sword_4, Castle] Rolos: [Sword_5, Wizard, Sword_4, Castle, Wizard] Correspondências atuais: [Political, Sword_1] Corresponde: Castle Não há mais correspondências com: [Sword_1, Wizard , Sword_1, Wizard], ainda precisa de [Sword_1] Reencaminhar solicitações 1: [Sword_4] Rolls: [Sword_4, Political, Sword_4, Political] Partidas atuais: [Political, Sword_1, Castle] Não há mais correspondências com: [Sword_1, Castle] , Political], ainda precisa [Sword_1] Reencaminhar solicitações 1: [Sword_1] Rolls: [Political, Political, Sword_4] Partidas atuais: [Political, Sword_3, Castle] Não há mais correspondências com: [Political, Political, Sword_4], ainda precisa [Espada_3] Reencaminhando as solicitações de 1: [Sword_3] Rolamentos: [Sword_4, Castle] Partidas atuais: [Political, Sword_2, Castle] Não há mais correspondências com: [Sword_4, Castle], ainda precisa de [Sword_3] Reencaminhando Reqs de 1: [Sword_3] Sword_4] Partidas atuais: [Political, Sword_1, Castle] Não há mais correspondências com: [Sword_4], ainda é necessário [Sword_3] Reencaminhar o 1 Falha ao adquirir o Padre restante:
Embora isso mostre que talvez eu devesse ter incluído a partida 2,1,1 da Sword 4.
Última edição:
Ok, eu fiz algumas modificações e agora o código suporta requisitos arbitrários de espada até doze. Foi um pouco complicado trabalhar corretamente e meu algoritmo genérico de correspondência de espadas não é tão bom quanto a implementação manual - 36.5% em comparação com o 40% para os requisitos do 3 Sword_4. Uma falha do meu algoritmo genérico é que ele corresponderá quatro espadas 1 a um requisito de espadas 4, mesmo se houver requisitos adicionais de espadas. Duvido que seja toda a causa da discrepância.
De qualquer forma, o código está disponível aqui.
A chance de adquirir um cartão com a exigência de Espadas 12 é de cerca de 11.5% ao jogar sete dados.