|
|
#1 (permalink) |
|
Table Captain
Registrado em: 02/01/08
Posts: 599
![]() |
Entendendo o conceito de equidade
quero nesse post discutir um pouco sobre o conceito de equidade.
fiz uma calculadora de equidade, mas os resultados nao batem exatamente, apesar de parecidos, com os de calculadoras oline que consultei. usei um metodo iterativo, ou seja, simulei milhoes de resultados e fiz as totalizacoes, chegando a equidade de cada jogador, fornecendo como dados de entrada os stacks, e a distribuicao do prizepool. um resultado me chamou particularmente atenção: prizepoll 0.50/0.30/0.20 jogador1= 1 jogador2=1000 jogador3=1000 resultado da calculadora online: 20.025 39.988 39.988 Meu resultado: 0.2334046 0.3833999 0.3831955 pelo resultado da calculadora online, podemos concluir que o jogador1 que tem apenas uma ficha quase nunca fica em 1 ou 2 lugar, parece logico, mas e as vezes que os outros dois jogadores se eliminam e o jogador com uma ficha fica em 2? na pratica e quase impossivel alguem com uma ficha ficar em 2, pq os outros dois nunca irao allin entre eles dando essa equidade ao jogador 1 de graça... mas o calculo e feito desconsiderando a habilidade, entao eu posso calcular as equidades fazendo os 3 jogadores irem allin todas as maos, ate que so reste um com fichas, e posso repetir isso um milhao de vezes obtendo resultados aceitaveis, mas entao pq meus resultados deram diferentes da calculadora online? desconsiderando a habilidade, nao era pro jogador com uma ficha ficar um numero consideravel de vezes em segundo lugar? há algo de errado nesse raciocínio? |
|
|
|
|
|
#2 (permalink) | |
|
Professional
Registrado em: 11/09/07
Posts: 370
![]() |
Citação:
|
|
|
|
|
|
|
#3 (permalink) |
|
Table Captain
|
Realmente aquela forma de calcular não está certa. Nesse teu exemplo o jogador 1 não seria 3º em 33% das vezes e isso tá bem longe de ser realidade.
O cálculo de equidade em relação ao prize pool é feito da seguinte forma: No mystery here, each remaining player at the bubble has a chance to finish in any of the 4 remaining positions... to work out current $ equity we need to calculate the chance of each position for the 4 players. Here is how it is done (will try to keep as simple as possible), the 4 players have stacks of 5000 / 2500 / 1500 / 1000. We Start with the big stack, based on chips alone he has a 50% chance of finishing 1st and taking the $50 for 1st place, that is $25 in equity. Next we assume big stack indeed got 1st and work out what % chance the other players have of finishing 2nd / 3rd / 4th (based on % of chips in play after we exclude the big stacks chips). So the guy with 2500 chips now has 50% of the remaining chips and thus a 50% chance of finishing 2nd. Repeat for each place. We are now part of the way there! Next we start over and look at the 2nd stacks chance of finishing 1st (25%) and then work out the other stacks chances of taking 2nd / 3rd / 4th based on their chip stacks. Repeat for the other stacks... Independent Chip Model (ICM) for SNGs |
|
|
|
|
|
#4 (permalink) |
|
Table Captain
Registrado em: 02/01/08
Posts: 599
![]() |
na verdade pelos meus calculos os dois jogadores com 1k ficaram da seguinte forma:
50% das vezes em 1 33% em 2 17% em 3 o jogador com uma ficha: 0% em 1 ->>arredondado ja deu um numero bem pequeno 33% em 2 67% em 3 alem do mais nao sei se vcs notaram mas do calculo que fiz pro calculo correto a diferenca e de apenas 2%. eu entendo o conceito de equidade da seguinte forma: vamos jogar um dado, quem tira o numero maior vence e ganha sempre um real do adversario. eu comeco com 7 reais e um vilao comeca com 5 reais...qual a chance de eu ganhar e do vilao ganhar? eu entendi assim o coceito de equidade...realmente a forma descrita por cristian é a forma oficial de calcular, mas por que? o poker e igual um jogo de dados todo mundo tem a mesma chance de ganhar uma mao, entao se fossemos allin todas a vezes nao era pra essa simulacao indicar a equidade de cada um em relacao ao seu stack? o que o calculo oficial considera que a simulacao nao? so lembrando que os resultados de ambos os metodos sao parecidos, em alguns casos iguais, nao há diferencas nem de 5% nos resultados... Última edição por Flavio; 10-11-2008 às 05:53 PM. |
|
|
|
|
|
#5 (permalink) |
|
Professional
Registrado em: 11/09/07
Posts: 370
![]() |
Na verdade os jogadores com 1000 fichas vão ficar:
49.975% em 1o (1000/2001) 49.95% em 2o (1000/1001*49.975% + 1/2001*50%) 0.075% em 3o e o jogador com 1 ficha: 0.05% em 1o (1/2001) 0.1% em 2o (1/1001*49.975%*2) 99.85% em 3o Se vc considerar que eles vão allin todas as mãos claro que aumenta a equidade do jogador com 1 ficha já que a chance dos jogadores com 1000 fichas se eliminarem aumenta. O fato do método dar resultados parecidos em alguns casos não significa que ele está correto. E 5% é uma diferença considerável. |
|
|
|
|
|
#6 (permalink) | |
|
Table Captain
Registrado em: 02/01/08
Posts: 599
![]() |
Citação:
o metodo que fiz nao tem segredo...todo mundo vai allin todas as vezes e calculo a equidade baseado nos resultados...o que queria compreender é pq isso é nao e correto...se o icm desconsidera a habilidade.... se todo mundo fosse allin todas as vezes era pra dar exatamente a equidade de cada um... |
|
|
|
|
|
|
#7 (permalink) |
|
Moderador
![]() Registrado em: 03/10/07
Localização: Epitacolandia
Posts: 4,028
![]() ![]() |
Faz um exemplo assim: 4 jogadores com 1000 fichas e 1 jogador com 1 ficha. Quanto dá pelo seu método?
__________________
Olho por olho, dente por dente. Créditos $$$ PP, PS, FTP, Neteller $$$ R$12,50 - Mandem MP |
|
|
|
|
|
#10 (permalink) |
|
Table Captain
Registrado em: 02/01/08
Posts: 599
![]() |
consegui fazer pelo metodo correto...so nao entendi pq esse metodo funciona e pq nao bate com uma simulacao como descrevi...pena ng ter nehuma informacao sobre isso...so entraram aqui pra provar que minhas contas estavam erradas...
mas aí vai uma funcao recursiva que funciona, criada por mim... para quem se interessa por programacao...dá as probabilidades, aí só é multiplicar pela percetagem da premiacao por cada lugar e vc tem a equidade, eu fiz isso numa funcao externa a essa... M=numero de jogadores N=numero de lugares pagos nivel=usado pra controlar a recursao, quando o nivel ultrapassa o numero de lugares pagos, a funcao chega ao ultimo nivel de recursao. l= lista de inteiros, usada pra armazenar temporariamente a permutacao que esta sendo calculada. players= lista de inteiros com stacks dos jogadores resultados=matriz de duas dimensoes de reais que armazena as probabilidades de cada jogador ficar em determinado lugar ex: resultados[1,1]= probabilidade do jogador 1 ficar em 1. o codigo é bem simples, a funcao percorre todas as permutacoes possiveis MxN e no final de cada permutacao calcula a probabilidade daquela permutacao especifica ocorrer, entao manda para a tabela de resultados. ex: se permutacao ABC for=0.10, manda 0.10 pro jogador A ficar em 1, 0.10 pro jogador B ficar em 2 e 0.10 pro jogador C ficar em 3, esses resultados por jogador serão somados com os resultados de outras permutações... function Probabilidades(M,N,nivel: integer; l: Tlista; var players:Tlista; var Resultados: Ttabela): integer; var i,k,temp:integer; usado: boolean; p:real; begin if nivel>N then begin temp:=0; for i:=1 to M do temp:= temp+players[i]; p:=1; for i:=1 to N do begin if temp=0 then break; if l[i]<>0 then begin p:=p*players[l[i]]/temp; temp:=temp-players[l[i]]; end; end; for i:=1 to N do begin if l[i]<>0 then begin resultados[l[i],i]:=resultados[l[i],i]+p; end; end; exit; end; for i:=1 to M do begin usado:=false; for k:=1 to M do if l[k]=i then usado:=true; if usado then continue; l[nivel]:=i; Probabilidades(M,N,nivel+1,l,players,resultados); end; end; |
|
|
|