Forum do WarNet

Últimos assuntos

» Criar Campeonato
Qua Fev 08, 2017 8:29 pm por Asthon Guilherme

» Dados...
Ter Jan 31, 2017 9:49 am por Manto Negro

» O clã OPS morreu mesmo?
Seg Dez 26, 2016 5:45 am por |FIT|_|ЭenИy

» Classificação de todos os Claps desde 2006.
Seg Dez 26, 2016 5:43 am por |FIT|_|ЭenИy

» Clap11 - 2016 | Inicio: 02/07/2017
Seg Dez 26, 2016 5:39 am por |FIT|_|ЭenИy

» GP - Grupo Pedreira
Sab Dez 24, 2016 12:59 am por [PG]Azteca

» Copa Universal 2016
Qui Dez 22, 2016 8:25 am por |FIT|_|ЭenИy

» Nunca muda
Sex Dez 16, 2016 3:15 am por F7

» Ganhei o jogo ha duas rodadas atras
Qua Dez 07, 2016 6:25 am por Procópio

Os membros mais ativos do mês


probabilidade nos lançamentos de dados

Compartilhe

Bevi

Mensagens : 2
Data de inscrição : 03/02/2008

probabilidade nos lançamentos de dados

Mensagem  Bevi em Dom Fev 03, 2008 6:18 am

Olá.

Sou novo por aqui e acabei entrando nesse site por causa de uma coisa muito estranha que encontrei a respeito de probabilidades no war, a página: http://www.geocities.com/rodrupp/

Sou professor de matemática e achei o método bem pouco convincente. Fiz alguns cálculos que não bateram nem de perto com algumas das estatísticas apresentadas. Aí fiz um programa em MatLab que testava todas as possibilidades e calculava as probabilidades em questão. Assim as probabilidades não parecem mesmo muito com as da página e batiam com os meus cálculos.

A grande diferença é que eu usei um método probabilístico puro e o colega autor da página usou um método estatístico baseado no algoritmo de geração de aleatórios do exel. Espero sinceramente que o algoritmo dos dados do jogo crie estatísticas mais parecida com as probabilidades, pois do contrário estaremos jogando com dados viciados.

De qualquer forma, se a idéia era fazer uma análise estatística o número de lançamentos gerado deveria então ser muito maior que o de lançamentos possíveis e só no lançamento de 3vs3 dados, por exemplo, são 46656 resultados distintos. Eu recomendaria então uns 500000 lançamentos aleatórios no mínimo. Os 10000 lançamentos que o colega indicou foi o primeiro ponto estranho que me chamou a atenção em sua página.

Caso o jogo seja open source e alguém assim deseje gostaria do código ou trecho que gera o lançamento dos dados para testá-lo. Segue ainda a tabela dos meus resultados e abaixo (já que parece que não dá pra anexar) o programa utilizado. Estou aberto a críticas ao meu método.



DADOS\VIT DO AT:.....3VAT..........2VTA..........1VTA..........0VTA
1AT/1DF............................0.................0..........41.67..........58.33
2AT/1DF............................0.................0..........57.87..........42.13
3AT/1DF............................0.................0..........65.97....,,....34.03
1AT/2DF............................0.................0..........25.46..........74.54
2AT/2DF............................0...........22.76..........32.41..........44.83
3AT/2DF............................0...........37.17..........33.58..........29.26
1AT/3DF............................0.................0..........17.36..........82.64
2AT/3DF............................0...........12.59..........25.48..........61.93
3AT/3DF......................13.76...........21.47..........26.47..........38.30


Código:
format bank





vitat11=[0 0 0 0];
a1=1;
d1=1;
lances11=0;
while a1<7
    while d1<7
        if a1>d1
            vitat11(3)=vitat11(3)+1;
        else
            vitat11(4)=vitat11(4)+1;
        end
        lances11=lances11+1;
        d1=d1+1;
    end
    d1=1;
    a1=a1+1;
end





vitat21=[0 0 0 0];
a1=1;
a2=1;
d1=1;
lances21=0;
while a1<7
    while a2<7
        A=[a1 a2];
        if a2>a1
            A=[a2 a1];
        end
        while d1<7
            if A(1)>d1
                vitat21(3)=vitat21(3)+1;
            else
                vitat21(4)=vitat21(4)+1;
            end
            lances21=lances21+1;
            d1=d1+1;
        end
        d1=1;
        a2=a2+1;
    end
    a2=1;
    a1=a1+1;
end





vitat31=[0 0 0 0];
a1=1;
a2=1;
a3=1;
d1=1;
lances31=0;
while a1<7
    while a2<7
        while a3<7
            A=[a1 a2 a3];
            if A(2)>A(1)
                A=[A(2) A(1) A(3)];
            end
            if A(3)>A(2)
                A=[A(1) A(3) A(2)];
            end
            if A(2)>A(1)
                A=[A(2) A(1) A(3)];
            end
            while d1<7
                if A(1)>d1
                    vitat31(3)=vitat31(3)+1;
                else
                    vitat31(4)=vitat31(4)+1;
                end
                lances31=lances31+1;
                d1=d1+1;
            end
            d1=1;
            a3=a3+1;
        end
        a3=1;
        a2=a2+1;
    end
    a2=1;
    a1=a1+1;
end





vitat12=[0 0 0 0];
a1=1;
d1=1;
d2=1;
lances12=0;
while a1<7
    while d1<7
        while d2<7
            D=[d1 d2];
            if d2>d1
                D=[d2 d1];
            end
            if a1>D(1)
                vitat12(3)=vitat12(3)+1;
            else
                vitat12(4)=vitat12(4)+1;
            end
            lances12=lances12+1;
            d2=d2+1;
        end
        d2=1;
        d1=d1+1;
    end
    d1=1;
    a1=a1+1;
end





vitat22=[0 0 0 0];
a1=1;
a2=1;
d1=1;
d2=1;
lances22=0;
while a1<7
    while a2<7
        A=[a1 a2];
        if a2>a1
            A=[a2 a1];
        end
        while d1<7
            while d2<7
                D=[d1 d2];
                if d2>d1
                    D=[d2 d1];
                end
                if A(1)>D(1)
                    if A(2)>D(2)
                        vitat22(2)=vitat22(2)+1;
                    else
                        vitat22(3)=vitat22(3)+1;
                    end
                else
                    if A(2)>D(2)
                        vitat22(3)=vitat22(3)+1;
                    else
                        vitat22(4)=vitat22(4)+1;
                    end
                end
                lances22=lances22+1;
                d2=d2+1;
            end
            d2=1;
            d1=d1+1;
        end
        d1=1;
        a2=a2+1;
    end
    a2=1;
    a1=a1+1;
end





vitat32=[0 0 0 0];
a1=1;
a2=1;
a3=1;
d1=1;
d2=1;
lances32=0;
while a1<7
    while a2<7
        while a3<7
            A=[a1 a2 a3];
            if A(2)>A(1)
                A=[A(2) A(1) A(3)];
            end
            if A(3)>A(2)
                A=[A(1) A(3) A(2)];
            end
            if A(2)>A(1)
                A=[A(2) A(1) A(3)];
            end
            while d1<7
                while d2<7
                    D=[d1 d2];
                    if D(2)>D(1)
                        D=[D(2) D(1)];
                    end
                    if A(1)>D(1)
                        if A(2)>D(2)
                            vitat32(2)=vitat32(2)+1;
                        else
                            vitat32(3)=vitat32(3)+1;
                        end
                    else
                        if A(2)>D(2)
                            vitat32(3)=vitat32(3)+1;
                        else
                            vitat32(4)=vitat32(4)+1;
                        end
                    end
                    lances32=lances32+1;
                    d2=d2+1;
                end
                d2=1;
                d1=d1+1;
            end
            d1=1;
            a3=a3+1;
        end
        a3=1;
        a2=a2+1;
    end
    a2=1;
    a1=a1+1;
end





vitat13=[0 0 0 0];
a1=1;
d1=1;
d2=1;
d3=1;
lances13=0;
while a1<7
    while d1<7
        while d2<7
            while d3<7
                D=[d1 d2 d3];
                if D(2)>D(1)
                    D=[D(2) D(1) D(3)];
                end
                if D(3)>D(2)
                    D=[D(1) D(3) D(2)];
                end
                if D(2)>D(1)
                    D=[D(2) D(1) D(3)];
                end
                if a1>D(1)
                    vitat13(3)=vitat13(3)+1;
                else
                    vitat13(4)=vitat13(4)+1;
                end
                lances13=lances13+1;
                d3=d3+1;
            end
            d3=1;
            d2=d2+1;
        end
        d2=1;
        d1=d1+1;
    end
    d1=1;
    a1=a1+1;
end





vitat23=[0 0 0 0];
a1=1;
a2=1;
d1=1;
d2=1;
d3=1;
lances23=0;
while a1<7
    while a2<7
        A=[a1 a2];
        if a2>a1
            A=[a2 a1];
        end
        while d1<7
            while d2<7
                while d3<7
                    D=[d1 d2 d3];
                    if D(2)>D(1)
                        D=[D(2) D(1) D(3)];
                    end
                    if D(3)>D(2)
                        D=[D(1) D(3) D(2)];
                    end
                    if D(2)>D(1)
                        D=[D(2) D(1) D(3)];
                    end
                    if A(1)>D(1)
                        if A(2)>D(2)
                            vitat23(2)=vitat23(2)+1;
                        else
                            vitat23(3)=vitat23(3)+1;
                        end
                    else
                        if A(2)>D(2)
                            vitat23(3)=vitat23(3)+1;
                        else
                            vitat23(4)=vitat23(4)+1;
                        end
                    end
                    lances23=lances23+1;
                    d3=d3+1;
                end
                d3=1;
                d2=d2+1;
            end
            d2=1;
            d1=d1+1;
        end
        d1=1;
        a2=a2+1;
    end
    a2=1;
    a1=a1+1;
end





vitat33=[0 0 0 0];
a1=1;
a2=1;
a3=1;
d1=1;
d2=1;
d3=1;
lances33=0;
while a1<7
    while a2<7
        while a3<7
            A=[a1 a2 a3];
            if A(2)>A(1)
                A=[A(2) A(1) A(3)];
            end
            if A(3)>A(2)
                A=[A(1) A(3) A(2)];
            end
            if A(2)>A(1)
                A=[A(2) A(1) A(3)];
            end
            while d1<7
                while d2<7
                    while d3<7
                        D=[d1 d2 d3];
                        if D(2)>D(1)
                            D=[D(2) D(1) D(3)];
                        end
                        if D(3)>D(2)
                            D=[D(1) D(3) D(2)];
                        end
                        if D(2)>D(1)
                            D=[D(2) D(1) D(3)];
                        end
                        if A(1)>D(1)
                            if A(2)>D(2)
                                if A(3)>D(3)
                                    vitat33(1)=vitat33(1)+1;
                                else
                                    vitat33(2)=vitat33(2)+1;
                                end
                            else
                                if A(3)>D(3)
                                    vitat33(2)=vitat33(2)+1;
                                else
                                    vitat33(3)=vitat33(3)+1;
                                end
                            end
                        else
                            if A(2)>D(2)
                                if A(3)>D(3)
                                    vitat33(2)=vitat33(2)+1;
                                else
                                    vitat33(3)=vitat33(3)+1;
                                end
                            else
                                if A(3)>D(3)
                                    vitat33(3)=vitat33(3)+1;
                                else
                                    vitat33(4)=vitat33(4)+1;
                                end
                            end
                        end
                        lances33=lances33+1;
                        d3=d3+1;
                    end
                    d3=1;
                    d2=d2+1;
                end
                d2=1;
                d1=d1+1;
            end
            d1=1;
            a3=a3+1;
        end
        a3=1;
        a2=a2+1;
    end
    a2=1;
    a1=a1+1;
end





Resultado=[vitat11(1)/lances11 vitat11(2)/lances11 vitat11(3)/lances11 vitat11(4)/lances11;vitat21(1)/lances21 vitat21(2)/lances21 vitat21(3)/lances21 vitat21(4)/lances21;vitat31(1)/lances31 vitat31(2)/lances31 vitat31(3)/lances31 vitat31(4)/lances31;vitat12(1)/lances12 vitat12(2)/lances12 vitat12(3)/lances12 vitat12(4)/lances12;vitat22(1)/lances22 vitat22(2)/lances22 vitat22(3)/lances22 vitat22(4)/lances22;vitat32(1)/lances32 vitat32(2)/lances32 vitat32(3)/lances32 vitat32(4)/lances32;vitat13(1)/lances13 vitat13(2)/lances13 vitat13(3)/lances13 vitat13(4)/lances13;vitat23(1)/lances23 vitat23(2)/lances23 vitat23(3)/lances23 vitat23(4)/lances23;vitat33(1)/lances33 vitat33(2)/lances33 vitat33(3)/lances33 vitat33(4)/lances33];
Resultado*100
avatar
Migrante [SAW]
2º Sargento
2º Sargento

Mensagens : 459
Data de inscrição : 10/01/2008

Re: probabilidade nos lançamentos de dados

Mensagem  Migrante [SAW] em Seg Fev 04, 2008 2:29 am

Uau! Nunca achei que alguem fosse analisar o meu projeto assim. Maneiro. Fui eu quem criou todos os projetos na pagina geocities.com/RodRupp. Nao sou matematico, nem professor - estudo quimica - mas estatistica e probabilidades sempre foram do meu interesse, tambem. Se voce se dispor, podemos conversar no MSN: rforupp@hotmail.com

Abras,
Migrante [SW]
avatar
[FW]Anjonegro
Cabo
Cabo

Mensagens : 291
Data de inscrição : 07/02/2008

Re: probabilidade nos lançamentos de dados

Mensagem  [FW]Anjonegro em Ter Fev 19, 2008 12:11 am

se me derem indicações posso colocar em PHP e criar com sistema com isso

até mais

menezes_pt

Mensagens : 1
Data de inscrição : 22/02/2008

dados...

Mensagem  menezes_pt em Qua Abr 09, 2008 12:35 pm

Sim, POR FAVOR façam alguma coisa quanto ao lançamento de dados no jogo pois está mesmo muito irreal... Não só quem tem o costume de jogar war no tabuleiro percebe que aqui perde-se muito mais exércitos nos ataques do que de costume, quanto eu fui fazer o teste proposto na página pra testar a validade dos dados no jogo e além do número máximo do lançamento de dados ali ser mto pequeno, como o resultado nem de longe foi satisfatório...
Corrijam isso por favor porque eu já desisti de alguns jogos devido à falta de realismo dos dados o que me prejudicou muito e não queria desistir de jogar no warnet porque gosto muito...
Cumprimentos.
avatar
Peter Flag [ops]
Soldado
Soldado

Mensagens : 128
Data de inscrição : 24/01/2008
Idade : 56
Localização : Lisboa Portugal

Re: probabilidade nos lançamentos de dados

Mensagem  Peter Flag [ops] em Ter Abr 15, 2008 2:54 pm

O Menezes PT

És portugues ?

Peter F.
avatar
[FW]Anjonegro
Cabo
Cabo

Mensagens : 291
Data de inscrição : 07/02/2008

Re: probabilidade nos lançamentos de dados

Mensagem  [FW]Anjonegro em Sab Abr 19, 2008 11:36 am

O dado na Warnet pela prática que tenho é completamente viciado.

Ele é viciado quando vc tem muitos territórios e suspeito q seja viciado logo no início pra aliviar a vantagem de quem joga primeiro. Eu tb suspeito q seja viciado quando alguém é atacado várias vezes por vários jogadores.

Eu sou contra isso. Isso prejudica quem joga bem, pois este tem a tendência a acumular mais territórios e por isso sofreria com o dado viciado.

Claro que isso favorece a disputa, porém é injusto.

Bevi

Mensagens : 2
Data de inscrição : 03/02/2008

página

Mensagem  Bevi em Sab Maio 03, 2008 4:16 pm

Escrevi no meu blog a respeito, taí o link do post.
avatar
Migrante [SAW]
2º Sargento
2º Sargento

Mensagens : 459
Data de inscrição : 10/01/2008

Re: probabilidade nos lançamentos de dados

Mensagem  Migrante [SAW] em Dom Maio 04, 2008 6:40 pm

Ateh que os valores nao ficaram tao diferentes assim, voce somente deu valores mais exatos, mas se arredondar pra um numero interio da no mesmo :-)

Eu tambem ja tinha, posteriormente ao arquivo publicado la no site, visto um arquivo de alguem que tinha feito o mesmo que voce - enumerando todas as possibilidades - mas nao comentei a respeito nem mudei meu arquivo por que as probabilidades eram tao parecidas!

Abras,
Migrante [SAW]
avatar
Marcius [ops]
3º Sargento
3º Sargento

Mensagens : 343
Data de inscrição : 17/04/2008
Idade : 40

dados...

Mensagem  Marcius [ops] em Sab Set 06, 2008 3:59 pm

Gostaria que alguém fizesse algo de concreto em relação aos dados do jogo... está simplesmente impossível fazer alguma tática e esperar que de certo... o war é um jogo de estratégia, que conta com alguma sorte é claro... mas não somente a sorte... está muito favorável a defesa... deve-se ver isso o mais rápido possível, porque acredito que desestimula muita gente...
abraços.

sgbrito

Mensagens : 1
Data de inscrição : 26/12/2008

Probabilidade de conquista de território

Mensagem  sgbrito em Sab Dez 27, 2008 12:26 am

Olá pessoal,

Depois de muitos anos (15 ou 20) sem jogar War, meu filho acabou ganhando o War Império Romano.
E eu, de férias, acabei me deparando com a página do Migrante [SW].

Resolvi então fazer alguns programas em Java para passar o tempo.

Fiz o mesmo que o Bevi; fui para o lado probabilístico, ao invés do estatístico, e naturalmente, obtive os mesmos resultados.

DADOS\VIT DO AT3VAt2VTA1VTA0VTA
1AT/1DF0/ 36 ( 0.0000%)0/ 36 ( 0.0000%)15/ 36 (41.6666%)21/ 36 (58.3333%)
2AT/1DF0/ 216 ( 0.0000%)0/ 216 ( 0.0000%)125/ 216 (57.8703%) 91/ 216 (42.1296%)
3AT/1DF0/ 1296 ( 0.0000%)0/ 1296 ( 0.0000%)855/ 1296 (65.9722%)441/ 1296 (34.0277%)
1AT/2DF0/ 216 ( 0.0000%)0/ 216 ( 0.0000%)55/ 216 (25.4629%)161/ 216 (74.5370%)
2AT/2DF0/ 1296 ( 0.0000%)295/ 1296 (22.7623%)420/ 1296 (32.4074%)581/ 1296 (44.8302%)
3AT/2DF0/ 7776 ( 0.0000%)2890/ 7776 (37.1656%)2611/ 7776 (33.5776%)2275/ 7776 (29.2566%)
1AT/3DF0/ 1296 ( 0.0000%)0/ 1296 ( 0.0000%)225/ 1296 (17.3611%)1071/ 1296 (82.6388%)
2AT/3DF0/ 7776 ( 0.0000%)979/ 7776 (12.5900%)1981/ 7776 (25.4758%)4816/ 7776 (61.9341%)
3AT/3DF6420/46656 (13.7602%)10017/46656 (21.4699%)12348/46656 (26.4660%)17871/46656 (38.3037%)

Mas, o que tenho a agregar neste post então ? Aqui vai a resposta ....
Eu estava procurando na web a probabilidade de se conquistar um território, e não a probabilidade de um ataque apenas.

Assim, suponha que eu tenha 5 exércitos (ou legiões, no War Império Romano) e o defensor tenha 3 exércitos.

Temos na tabela acima só o começo da jogada (ataque 3 contra 3) ... E o resto ?

Se o ataque vencer em 3 dados (13.76%), o ataque pára (5x0). Território conquistado SmileSmile
Se o ataque vencer em 2 dados (21.46%), teremos agora (4x1). E possivelmente, continuarei atacando 3x1 ...
Se o ataque vencer em 1 dado (26.46%), teremos agora (3x2). E possivelmente, mais ataque 2x2 ...
Se o ataque não vencer (38.30%), teremos agora (2x3). Dependendo da situação, ataque suicida 1x3 ...

O que eu procurava era a probabilidade inicial de conquista do território, com múltiplos ataques, algo que normalmente ocorre no jogo.


Baseado na tabela acima, desenvolvi dois programas em Java. Um probabilístico, que calcula efetivamente a Tabela 2 abaixo e outro estatístico (rodando 10.000.000 de amostras), só para poder validar os dados.

Tabela 2 - Probabilidade de conquista de território

Ataque/Defesa123456789101112131415
10,00000,00000,00000,00000,00000,00000,00000,00000,00000,00000,00000,00000,00000,00000,0000
241,666710,60961,84190,31980,05550,00960,00170,00030,00010,00000,00000,00000,00000,00000,0000
375,424436,265412,19885,03511,61730,64810,20610,08200,02600,01030,00330,00130,00040,00020,0001
491,637565,595432,761820,883211,72985,60383,22341,75360,81540,46120,24690,11440,06420,03430,0158
597,154478,545443,738330,803019,195810,93396,92913,89922,21831,33690,71430,40510,23730,12300,0696
699,031788,978956,652441,090027,780817,761611,33757,05474,40582,61701,57030,95910,54390,32010,1920
799,670593,398068,359252,393537,660425,455317,302411,50117,28124,65932,97691,79671,11010,69150,4026
899,887996,664975,462160,589746,205733,173223,777916,317410,99637,41934,77483,08422,00481,23380,7741
999,961998,030881,624968,339954,198541,010930,403821,861615,479810,61647,20374,87823,16982,06981,3582
1099,987099,011586,989574,846161,610148,621737,342527,981220,325714,527110,27767,02814,78713,25702,1284
1199,995699,419590,077179,828368,142455,515044,174034,112525,654419,024813,69669,73706,88344,70513,2119
1299,998599,709392,699184,304873,628661,909250,744740,307531,337923,752417,658412,98549,28336,58024,6470
1399,999599,829794,862587,676478,365667,812056,868846,484137,039728,833422,096416,513412,16948,89786,3259
1499,999899,914896,122190,304682,528772,801762,556452,411842,721834,169126,697020,472315,519211,47828,4016
1599,999999,950197,158392,610285,797877,211467,846657,926748,361439,489731,538124,812719,092014,476310,8811


Exemplo:
Território Atacante possui 7 exércitos
Território Defensor possui 4 exércitos

Probabilidade do atacante conseguir conquistar o território da defesa em múltiplos ataques ===> 52,3935%

NOTA: Perceba que se o território de ataque possui somente o exército de ocupação, ele não pode atacar, assim a probabilidade de conquista de território é 0% para a primeira linha.

Finalmente, para que serve a tabela ?

Suponha que eu queira tentar conquistar um território, mas gostaria que minhas chances fossem maiores que 60%. Teria que seguir o seguinte esquema

DefesaAtaque (mínimo)
13
24
37
48
510
612
714
8...


Espero ter contribuído com o post.
avatar
Lochas
Aspirante
Aspirante

Mensagens : 14
Data de inscrição : 10/12/2008
Idade : 95
Localização : Nos cafundós dos quintos dos infernos!

Re: probabilidade nos lançamentos de dados

Mensagem  Lochas em Qui Jan 08, 2009 8:10 pm

È isso aí! Quem joga a um tempo já se ligou que atacar com menos que o dobro da defesa é arriscar demais. Isso deixa uns ataques meio que impossíveis na prática, tipo se o cara colocar 20 ex precisa de pelo menos 40 prá entrar, se for 30 não se ataca com menos de 60.

Mas também é só teoria, porque na prática já ataquei várias vezes com bastante desproporção como 9X1;7X1 ou 12X2 e não consegui invadir o território! Isso acontece toda hora. No Warnet atacar é arriscar sempre!

Conteúdo patrocinado

Re: probabilidade nos lançamentos de dados

Mensagem  Conteúdo patrocinado


    Data/hora atual: Sab Jun 24, 2017 2:20 am