Jogo de números de adivinhação

7

Eu estava resolvendo essa pergunta. É como segue

Joe escolhe um número inteiro a partir da lista de com uma probabilidade de colheita para todos . Ele então tenta Jason adivinhar seu número. Em cada palpite, Joe dirá a Jason se seu número é maior ou menor que o palpite de Jason. Se Jason adivinha o número de Joe corretamente em qualquer um dos , o jogo termina e Jason vence. Jason perde o contrário. Se Jason conhece todos os e joga da melhor maneira, qual é a probabilidade de ganhar? 1,2,,Npii1iNKKpis
1N200000
1K20

Eu tentei esse problema por programação dinâmica. Permita que armazene a probabilidade de ganho, de modo que o número esteja entre e inclusivo e restem apenas chances. Então Mas desde o intervalo de N é muito alto, essa solução não é viável. Então, enquanto eu procurava uma solução \ mathcal {O} (n) , me deparei com a seguinte solução (na internet, que foi aceita)DP[i][j][k]ijk

DP[i][j][k]=maxilj{pl+DP[i][l1][k1]+DP[l+1][j][k1]}DP[i][j][1]=maxiljpl Base Case
NO(n)
  • Classificar ( p[] )
  • i=0min(n,2k1)pi

Se executarmos a solução na entrada , obteremos a mesma resposta. Portanto, minha pergunta é como o algoritmo acima está funcionando e podemos chegar à mesma conclusão começando com a minha formulação dp {se estiver correta}.N=5,K=2,p=[0.2,0.3,0.4,0.1,0.0]

Liga da Justiça
fonte
Seu caso base e a solução que você encontrou não me parecem a melhor estratégia.
InformedA
@randomA por quê? Se tivermos apenas uma chance, a estratégia ideal deve ser escolher o número que tem maior probabilidade.
liga da justiça
Você está certo. O caso base está correto, não entendo sua solução. Desculpa.
InformedA

Respostas:

2

A razão pela qual a solução de classificação funciona é que, se você receber palpites, com qualquer estratégia determinística, você poderá adivinhar no máximo valores. Isso pode ser provado por indução, observando primeiro o caso base e, em seguida, para , observe que depois de adivinhar o primeiro valor, você terá palpites restantes e adivinhar à esquerda ou à direita do seu palpite original, dependendo no resultado da suposição original, por indução que fornece valores, você pode adivinhar após o primeiro; portanto, se você adicionar a suposição original, obterá .K2K1K=1K+1K2(2K1)2K+11

Além disso, se algum desses valores for o valor correto, ele será adivinhado e você vencerá. Nenhum dos outros valores será adivinhado. Portanto, a probabilidade de ganhar é a soma das probabilidades dos valores que sua estratégia determinística pode adivinhar. Obviamente, a solução ideal é obter as probabilidades .2K1N2K+12K12K1

user2566092
fonte
0

Depois de alguns meses, minha cabeça ficou mais clara e parece fácil ver como isso funciona.

Se você tem um palpite, escolhe aquele com maior probabilidade.

Se você tem 2 palpites, escolhe os 3 com maior probabilidade. O primeiro palpite, você escolhe o segundo entre os três. A segunda escolha, você é direcionado para um dos dois lados da primeira escolha. Cada lado leva ao caso de um palpite e, em cada lado, você já tem os 2 principais prob localizados em cada um. Isso é ótimo. Prob de ganhar é a soma dos 3 prob.

..

Portanto, o padrão claro é que, quando você tem suposições, você escolhe os superiores com as maiores probabilidades. A primeira escolha está no meio dos . Depois disso, você recuará dos dois lados do meio. Em ambos os lados, você tem as probabilidades localizadas lá porque a maneira como você escolhe o pivô do meio e faz as top .k2k12k1(2k1)12=2k112k1

Isso fornece a probabilidade de vitória como a soma das probabilidades .2k1

InformedA
fonte