Sorteio dos 1/4, 1/2 e Final da Liga dos Campeões (Inter - Milan/Napoli)

Granizo

Citação de: Hungry Alien em 04 de Novembro de 2022, 14:45
Como estava com algum tempo livre, pus-me a fazer um script em python para simular o serteio dos oitavos de final da Champions, levando em atenção todas as condicionantes. Depois usei esse script para fazer 5 milhões de simulações.

Esta tabela indica a frequência absoluta com que cada confronto surgiu na simulação:



e esta tabela mostra a mesma infomação mas em percentagem:



O resultado mais frequente, mas com apenas 1615 ocorrências em 5 milhões, foi:

Bayern - Brugges
Benfica - Leipzig
Chelsea - Inter
FCP - Liverpool
Man City - Frankfurt
Napoli - Paris SG
Real Madrid - Dortmund
Tottenham - Milan

Em spoiler estão histogramas com a as frequências relativas para cada uma das 16 equipas.

Spoiler

















[fechar]

Por curiosidade que metodo usas para gerar os dados aleatorios?
Isto porque a distribuição para o Benfica nao e linear, o Liverpool aparece com 20% vs 13% do resto. (a nao ser que existe ai algum factor extra)

EagleVision

Citação de: Hungry Alien em 04 de Novembro de 2022, 16:09
Citação de: klaxxon em 04 de Novembro de 2022, 15:13
Citação de: Hungry Alien em 04 de Novembro de 2022, 14:45
Como estava com algum tempo livre, pus-me a fazer um script em python para simular o serteio dos oitavos de final da Champions, levando em atenção todas as condicionantes. Depois usei esse script para fazer 5 milhões de simulações.

Esta tabela indica a frequência absoluta com que cada confronto surgiu na simulação:



e esta tabela mostra a mesma infomação mas em percentagem:



O resultado mais frequente, mas com apenas 1615 ocorrências em 5 milhões, foi:

Bayern - Brugges
Benfica - Leipzig
Chelsea - Inter
FCP - Liverpool
Man City - Frankfurt
Napoli - Paris SG
Real Madrid - Dortmund
Tottenham - Milan

Em spoiler estão histogramas com a as frequências relativas para cada uma das 16 equipas.

Spoiler

















[fechar]

Bom trabalho. Mas já que tens gosto e jeito para estas coisas, permite-me o reparo: 5 milhões é um exagero, camarada! Podes determinar o resultado exacto a partir das 8! permutações possíveis (sem condicionantes), às quais deves retirar as que não são possíveis por força das condicionantes do sorteio. Fica a dica ;)

Eu acho que é um pouco mais complicado do que isso. Da forma como tu sugeres todos os resultados possíveis teriam a mesma probabilidade, mas isso na prática não é verdade. A ordem pela qual as bolas vão saindo tem influência e uns resultados do tornan-se mais prováveis do que outros.

Com 20 mil simulações há resultados que não ocorrem nem uma única vez (o total de resultados possíveis é 3876), enquanto que um resultado ocorre 16 vezes. Com 100 mil simulações há um resultado que ocorre 50 vezes e outro apenas 10.

Por isso eu fui para as 5 milhões de simulações (apenas demorou cerca de 75 minutos  :smokin:).

Ambas as abordagens estão correctas.

Ou fazes de modo exacto gerando os 8! - #casos das condicionantes, e depois contabilizas individualmente as ocorrências de cada confronto, por exemplo um Benfica - Liverpool (nesse caso quantas vezes o Liverpool apareceu na posição do Benfica).

Ou então fazes de modo "preguiçoso" (nada contra!) através de um Monte Carlo, como tu fizeste e bem.

Hungry Alien

Citação de: EagleVision em 04 de Novembro de 2022, 16:26
Citação de: Hungry Alien em 04 de Novembro de 2022, 16:12
Citação de: EagleVision em 04 de Novembro de 2022, 14:49
Citação de: Hungry Alien em 04 de Novembro de 2022, 14:45
Como estava com algum tempo livre, pus-me a fazer um script em python para simular o serteio dos oitavos de final da Champions, levando em atenção todas as condicionantes. Depois usei esse script para fazer 5 milhões de simulações.

Esta tabela indica a frequência absoluta com que cada confronto surgiu na simulação:



e esta tabela mostra a mesma infomação mas em percentagem:



O resultado mais frequente, mas com apenas 1615 ocorrências em 5 milhões, foi:

Bayern - Brugges
Benfica - Leipzig
Chelsea - Inter
FCP - Liverpool
Man City - Frankfurt
Napoli - Paris SG
Real Madrid - Dortmund
Tottenham - Milan

Em spoiler estão histogramas com a as frequências relativas para cada uma das 16 equipas.

Spoiler

















[fechar]

Bom trabalho! Esse resultado mais frequente não varia com a seed ou varia?

Para determinar o resultado mais frequente, os jogos estão todos com os primeiros classificados em primeiro lugar e os segundos calssificados como equipa visitante, e tudo ordenado alfabeticamente. Assim, a ordem pela qual as bolas saem não tem influência.

P.S.
Tinha respondido ao post errado...  :crazy2:

Estava-me a referir à random seed. Mas em 5M acaba por ser irrelevante.

O resultado mais frequente acaba por ser uma mera curiosidade, apenas ocorreu 0,0323% das vezes.

Jonimane

Citação de: ana_lopes2009 em 04 de Novembro de 2022, 15:38
Citação de: Alntjan em 04 de Novembro de 2022, 15:30
Citação de: Hungry Alien em 04 de Novembro de 2022, 14:45
Como estava com algum tempo livre, pus-me a fazer um script em python para simular o serteio dos oitavos de final da Champions, levando em atenção todas as condicionantes. Depois usei esse script para fazer 5 milhões de simulações.

Esta tabela indica a frequência absoluta com que cada confronto surgiu na simulação:



e esta tabela mostra a mesma infomação mas em percentagem:



O resultado mais frequente, mas com apenas 1615 ocorrências em 5 milhões, foi:

Bayern - Brugges
Benfica - Leipzig
Chelsea - Inter
FCP - Liverpool
Man City - Frankfurt
Napoli - Paris SG
Real Madrid - Dortmund
Tottenham - Milan

Em spoiler estão histogramas com a as frequências relativas para cada uma das 16 equipas.

Spoiler

















[fechar]

Ponderaste o fator "Borra Portista" e "Máfia da UEFA"? 😅
FCP - Liverpool?
Pode ser com um golo de Darwin

O Liverpool ou apanha os dois tugas ou os dois papões.
Sorteio muito condicionado o deles

klaxxon

Citação de: Hungry Alien em 04 de Novembro de 2022, 16:09
Citação de: klaxxon em 04 de Novembro de 2022, 15:13
Citação de: Hungry Alien em 04 de Novembro de 2022, 14:45
Como estava com algum tempo livre, pus-me a fazer um script em python para simular o serteio dos oitavos de final da Champions, levando em atenção todas as condicionantes. Depois usei esse script para fazer 5 milhões de simulações.

Esta tabela indica a frequência absoluta com que cada confronto surgiu na simulação:



e esta tabela mostra a mesma infomação mas em percentagem:



O resultado mais frequente, mas com apenas 1615 ocorrências em 5 milhões, foi:

Bayern - Brugges
Benfica - Leipzig
Chelsea - Inter
FCP - Liverpool
Man City - Frankfurt
Napoli - Paris SG
Real Madrid - Dortmund
Tottenham - Milan

Em spoiler estão histogramas com a as frequências relativas para cada uma das 16 equipas.

Spoiler

















[fechar]

Bom trabalho. Mas já que tens gosto e jeito para estas coisas, permite-me o reparo: 5 milhões é um exagero, camarada! Podes determinar o resultado exacto a partir das 8! permutações possíveis (sem condicionantes), às quais deves retirar as que não são possíveis por força das condicionantes do sorteio. Fica a dica ;)

Eu acho que é um pouco mais complicado do que isso. Da forma como tu sugeres todos os resultados possíveis teriam a mesma probabilidade, mas isso na prática não é verdade. A ordem pela qual as bolas vão saindo tem influência e uns resultados do tornan-se mais prováveis do que outros.

Com 20 mil simulações há resultados que não ocorrem nem uma única vez (o total de resultados possíveis é 3876), enquanto que um resultado ocorre 16 vezes. Com 100 mil simulações há um resultado que ocorre 50 vezes e outro apenas 10.

Por isso eu fui para as 5 milhões de simulações (apenas demorou cerca de 75 minutos  :smokin:).

Hmmm, não acho que seja assim como dizes. É uma questão de simetria. A ordem dos confrontos não é relevante, o que importa é se a configuração é permitida ou não.

Com cerca de 4000 possibilidades não é de estranhar que correndo a simulação 20, 50, 100 mil vezes algumas apareçam com pouca frequência. Repete isso 50, 100 milhões de vezes e vais ver que as frequências vão-se aproximando cada vez mais O0

2doMats

Citação de: Hungry Alien em 04 de Novembro de 2022, 14:45
Como estava com algum tempo livre, pus-me a fazer um script em python para simular o serteio dos oitavos de final da Champions, levando em atenção todas as condicionantes. Depois usei esse script para fazer 5 milhões de simulações.

Esta tabela indica a frequência absoluta com que cada confronto surgiu na simulação:



e esta tabela mostra a mesma infomação mas em percentagem:



O resultado mais frequente, mas com apenas 1615 ocorrências em 5 milhões, foi:

Bayern - Brugges
Benfica - Leipzig
Chelsea - Inter
FCP - Liverpool
Man City - Frankfurt
Napoli - Paris SG
Real Madrid - Dortmund
Tottenham - Milan

Em spoiler estão histogramas com a as frequências relativas para cada uma das 16 equipas.

Spoiler

















[fechar]
Exercicio giro de se fazer. E confirma as tabelas de probabilidades que já tinha visto por aí


FelixBermudes

Citação de: 2doMats em 04 de Novembro de 2022, 17:35
Citação de: Hungry Alien em 04 de Novembro de 2022, 14:45
Como estava com algum tempo livre, pus-me a fazer um script em python para simular o serteio dos oitavos de final da Champions, levando em atenção todas as condicionantes. Depois usei esse script para fazer 5 milhões de simulações.

Esta tabela indica a frequência absoluta com que cada confronto surgiu na simulação:



e esta tabela mostra a mesma infomação mas em percentagem:



O resultado mais frequente, mas com apenas 1615 ocorrências em 5 milhões, foi:

Bayern - Brugges
Benfica - Leipzig
Chelsea - Inter
FCP - Liverpool
Man City - Frankfurt
Napoli - Paris SG
Real Madrid - Dortmund
Tottenham - Milan

Em spoiler estão histogramas com a as frequências relativas para cada uma das 16 equipas.

Spoiler

















[fechar]
Exercicio giro de se fazer. E confirma as tabelas de probabilidades que já tinha visto por aí



Diria que isto se pode calcular recorrendo a arranjos e/ou combinações para calcular o total de possibilidades, e o número de eventos em que pode ocorrer cada um dos encontros, calculando depois a probabilidade. Mas já lá vão mais de 15 anos desde que dei isso...

2doMats

Citação de: FelixBermudes em 04 de Novembro de 2022, 17:59
Citação de: 2doMats em 04 de Novembro de 2022, 17:35
Citação de: Hungry Alien em 04 de Novembro de 2022, 14:45
Como estava com algum tempo livre, pus-me a fazer um script em python para simular o serteio dos oitavos de final da Champions, levando em atenção todas as condicionantes. Depois usei esse script para fazer 5 milhões de simulações.

Esta tabela indica a frequência absoluta com que cada confronto surgiu na simulação:



e esta tabela mostra a mesma infomação mas em percentagem:



O resultado mais frequente, mas com apenas 1615 ocorrências em 5 milhões, foi:

Bayern - Brugges
Benfica - Leipzig
Chelsea - Inter
FCP - Liverpool
Man City - Frankfurt
Napoli - Paris SG
Real Madrid - Dortmund
Tottenham - Milan

Em spoiler estão histogramas com a as frequências relativas para cada uma das 16 equipas.

Spoiler

















[fechar]
Exercicio giro de se fazer. E confirma as tabelas de probabilidades que já tinha visto por aí



Diria que isto se pode calcular recorrendo a arranjos e/ou combinações para calcular o total de possibilidades, e o número de eventos em que pode ocorrer cada um dos encontros, calculando depois a probabilidade. Mas já lá vão mais de 15 anos desde que dei isso...
é mesmo isso. foi assim que essa tabela em cima foi calculada.

Crente

Citação de: FelixBermudes em 04 de Novembro de 2022, 17:59
Citação de: 2doMats em 04 de Novembro de 2022, 17:35
Citação de: Hungry Alien em 04 de Novembro de 2022, 14:45
Como estava com algum tempo livre, pus-me a fazer um script em python para simular o serteio dos oitavos de final da Champions, levando em atenção todas as condicionantes. Depois usei esse script para fazer 5 milhões de simulações.

Esta tabela indica a frequência absoluta com que cada confronto surgiu na simulação:



e esta tabela mostra a mesma infomação mas em percentagem:



O resultado mais frequente, mas com apenas 1615 ocorrências em 5 milhões, foi:

Bayern - Brugges
Benfica - Leipzig
Chelsea - Inter
FCP - Liverpool
Man City - Frankfurt
Napoli - Paris SG
Real Madrid - Dortmund
Tottenham - Milan

Em spoiler estão histogramas com a as frequências relativas para cada uma das 16 equipas.

Spoiler

















[fechar]
Exercicio giro de se fazer. E confirma as tabelas de probabilidades que já tinha visto por aí



Diria que isto se pode calcular recorrendo a arranjos e/ou combinações para calcular o total de possibilidades, e o número de eventos em que pode ocorrer cada um dos encontros, calculando depois a probabilidade. Mas já lá vão mais de 15 anos desde que dei isso...

Sinceramente, já olhei um pouco para isto e ainda estou sem perceber como chegar àqueles valores. (E não estou assim tão distante de combinatória e probabilidades.) Tenho mesmo alguma curiosidade em perceber como chegar lá...
No entanto, fico feliz pelo facto de a Lei dos Grandes Números ajudar a confirmar as probabilidades.

Crente

https://eminga.github.io/cldraw/
https://math.stackexchange.com/questions/262629/what-is-the-probability-of-this-exact-same-champions-league-draw

Encontro aqui alguma informação. Parece-me existir uma base matemática um pouco mais complexa do que esperava.
E também há a possibilidade de recorrer a programação e procurar todos os casos possíveis.
Acho um trabalho muito interessante.

Hungry Alien

#4510
Citação de: Granizo em 04 de Novembro de 2022, 16:32
Citação de: Hungry Alien em 04 de Novembro de 2022, 14:45
Como estava com algum tempo livre, pus-me a fazer um script em python para simular o serteio dos oitavos de final da Champions, levando em atenção todas as condicionantes. Depois usei esse script para fazer 5 milhões de simulações.

Esta tabela indica a frequência absoluta com que cada confronto surgiu na simulação:



e esta tabela mostra a mesma infomação mas em percentagem:



O resultado mais frequente, mas com apenas 1615 ocorrências em 5 milhões, foi:

Bayern - Brugges
Benfica - Leipzig
Chelsea - Inter
FCP - Liverpool
Man City - Frankfurt
Napoli - Paris SG
Real Madrid - Dortmund
Tottenham - Milan

Em spoiler estão histogramas com a as frequências relativas para cada uma das 16 equipas.

Spoiler

















[fechar]

Por curiosidade que metodo usas para gerar os dados aleatorios?
Isto porque a distribuição para o Benfica nao e linear, o Liverpool aparece com 20% vs 13% do resto. (a nao ser que existe ai algum factor extra)

O que sucede é que o Liverpool apenas pode jogar com uma de quatro equipas: Benfica, Bayern, Real e Porcos. É essa a razão de o Liverpool ter uma maior probabilidade de calhar com o Benfica. Mas como o Bayern por seu lado também apenas pode jogar com Liverpool, Brugge, Milan ou PSG, a probabilidade de termos um Bayern - Liverpool dispara para cerca de 37%.

O método usado para gerar os dados aleatórios é simplesmente a função random.choice(), que aplica uma distribuiçáo uniforme a uma lista, mas existem muitas linhas de código para garantir que a lista contém apenas as equipas corretas dadas as condicionantes do sorteio.

Crente

Citação de: 2doMats em 04 de Novembro de 2022, 18:02
Citação de: FelixBermudes em 04 de Novembro de 2022, 17:59
Citação de: 2doMats em 04 de Novembro de 2022, 17:35
Citação de: Hungry Alien em 04 de Novembro de 2022, 14:45
Como estava com algum tempo livre, pus-me a fazer um script em python para simular o serteio dos oitavos de final da Champions, levando em atenção todas as condicionantes. Depois usei esse script para fazer 5 milhões de simulações.

Esta tabela indica a frequência absoluta com que cada confronto surgiu na simulação:



e esta tabela mostra a mesma infomação mas em percentagem:



O resultado mais frequente, mas com apenas 1615 ocorrências em 5 milhões, foi:

Bayern - Brugges
Benfica - Leipzig
Chelsea - Inter
FCP - Liverpool
Man City - Frankfurt
Napoli - Paris SG
Real Madrid - Dortmund
Tottenham - Milan

Em spoiler estão histogramas com a as frequências relativas para cada uma das 16 equipas.

Spoiler

















[fechar]
Exercicio giro de se fazer. E confirma as tabelas de probabilidades que já tinha visto por aí



Diria que isto se pode calcular recorrendo a arranjos e/ou combinações para calcular o total de possibilidades, e o número de eventos em que pode ocorrer cada um dos encontros, calculando depois a probabilidade. Mas já lá vão mais de 15 anos desde que dei isso...
é mesmo isso. foi assim que essa tabela em cima foi calculada.

Assim por alto, consegue dizer-me como chegar a esses valores? Só um... :) Obrigado.

Stigmat

Vamos jogar com o Brugges e o Fóculporto com o PSG. Está escrito nas estrelas.

Kurt Cobain 10

Neste momento estão todos a não querer apanhar o Benfica . O Benfica nesta época é das melhores equipas da europa ...

2doMats

Citação de: Crente em 04 de Novembro de 2022, 18:30
Citação de: 2doMats em 04 de Novembro de 2022, 18:02
Citação de: FelixBermudes em 04 de Novembro de 2022, 17:59
Citação de: 2doMats em 04 de Novembro de 2022, 17:35
Citação de: Hungry Alien em 04 de Novembro de 2022, 14:45
Como estava com algum tempo livre, pus-me a fazer um script em python para simular o serteio dos oitavos de final da Champions, levando em atenção todas as condicionantes. Depois usei esse script para fazer 5 milhões de simulações.

Esta tabela indica a frequência absoluta com que cada confronto surgiu na simulação:



e esta tabela mostra a mesma infomação mas em percentagem:



O resultado mais frequente, mas com apenas 1615 ocorrências em 5 milhões, foi:

Bayern - Brugges
Benfica - Leipzig
Chelsea - Inter
FCP - Liverpool
Man City - Frankfurt
Napoli - Paris SG
Real Madrid - Dortmund
Tottenham - Milan

Em spoiler estão histogramas com a as frequências relativas para cada uma das 16 equipas.

Spoiler

















[fechar]
Exercicio giro de se fazer. E confirma as tabelas de probabilidades que já tinha visto por aí



Diria que isto se pode calcular recorrendo a arranjos e/ou combinações para calcular o total de possibilidades, e o número de eventos em que pode ocorrer cada um dos encontros, calculando depois a probabilidade. Mas já lá vão mais de 15 anos desde que dei isso...
é mesmo isso. foi assim que essa tabela em cima foi calculada.

Assim por alto, consegue dizer-me como chegar a esses valores? Só um... :) Obrigado.
Confesso que é um conceito confuso.

Digamos assim, imagina que sai a bola do porto primeiro. Nessa situação podem calhar 7 clubes aos gajos e as probabilidades de calhar qualquer um desses são 1/7.

Contudo pode não ser o porto a calhar primeiro no sorteio. Pode ser segundo, ou terceiro, etc. E cada clube que calhar antes deles, com as suas próprias condicionantes, altera a probabilidade de certo adversário ainda lá estar quando sair o porto.

Estas probabilidades contam com isso tudo junto. Mas certamente há aqui alguém mais esperto que possa explicar melhor.

E se quiseres ver o código que gera estas probabilidades até podes ir a esta pagina que lá em baixo tem um link para o código no Git.

https://eminga.github.io/cldraw/