Jump to content
This Topic
fluffer

EXPRESSO

Recommended Posts

Il y a 22 heures, SuperCaddy a écrit :
News

Qui n'a jamais roué de coups son meilleur ami après un conflit autour des règles du Uno ? L'Expresso x UNO ne présente pas cet inconvénient puisque vous y jouez en solo et que Winamax a pris soin de bien expliquer chacune des règles (parfois perverses) de son jeu événement.

[...] Lire la suite…

 

 

expresso-uno-68956.jpg

 

 

 

il y a 5 minutes, KingArthAs a écrit :

Comment ça marche ce truc de « uno »?

 

Share this post


Link to post
Share on other sites

plutôt facile de gagner en ayant un gros taux d itm sur les x2 ;) 

à voir après auprès des gros regs pour avoir leurs avis mais 133K distribués en 3 jours c'est un beau bonus

Share this post


Link to post
Share on other sites
il y a 52 minutes, LeGrandBl0nd a écrit :

plutôt facile de gagner en ayant un gros taux d itm sur les x2 ;) 

à voir après auprès des gros regs pour avoir leurs avis mais 133K distribués en 3 jours c'est un beau bonus

Fête de la bière qui prends 5K de bonus en 250. Finalement c’est pas si ouf je trouve 

Share this post


Link to post
Share on other sites

Ok guys, j'ai run un petit programme pour estimer ce que rapporte la promo Uno.

 

J'ai pas fait tout une batterie de test donc c'est tout à fait possible que ce soit bogué de partout, mais les résultats sont cohérent avec les autres promos

Mais en gros, sur 100 millions de games :

L =TheActualGame(nombreDeGames = 10000000, probaFirst = 0.3667, probaThird = 0.3067)

[142, 609, 1627, 3289, 5503, 8421, 11715, 15115, 18737, 756953]

Soit 142réussites en 7 Expresso, 609 en 8...

Et 756 953 échecs (un peu inutile comme info, mais je l'ai gardée)

 

Ça nous donne un bonus de :

L[0]*100 +L[1]*25 +L[2]*10 +L[3]*5 +L[4]*3 +L[5]*2 +L[6]*2 +L[7]*1 +L[8]*1
152773 buy Ins

pour 917577/(100000000*0.07) =  21.82% de Rakeback

Ce qui est genre sacrement (trop ?) cool

EDIT FINAL :

Merci à  Gabriel Passif passif d'avoir pointé mon erreur, j'avais oublié de compter la proportion de x2, je dois donc multiplier ceci par

0.64245 (proba d'avoir un x2)  pour arriver à quasi exactement 14% de RB

 

J'ai codé la stratégie suivante que j'utilise In game:

On compte le nombre de carte par couleur, les paires comptes triples ( 22 > 357) et on retire les couleurs les plus "lourdes" en cartes

Pour avoir testé plusieurs strats, la différences avec juste retirer des cartes de la couleur la plus nombreuse est pas significative, si quelqu'un a prouvé mathématiquement la stratégie optimale, je suis preneur.

 

Ci-dessous le code utilisé en Python :

A noter que je n'ai considéré un tirage sans remise, vu que Winamax est pas vraiment explicite et a même quelque coquilles sur sa page, j'ai pas voulu me casser la tête

Spoiler

# -*- coding: utf-8 -*-
from random import randint, uniform
from copy import deepcopy
'''
Formatage de ma liste de carte :
L = [
     [1,2,2,2,2,2,2,2,2,2,2,2], #0-9, +2, passe tour rouge
     [1,2,2,2,2,2,2,2,2,2,2,2], #Bleu
     [1,2,2,2,2,2,2,2,2,2,2,2], #Turquoise
     [1,2,2,2,2,2,2,2,2,2,2,2], #Rose
     [4,4] #Joker, +4 
    ]
Note : Winamax indique qu'il y a 2 joker de chaque couleur, c'est bon à savoir Winamax https://www.winamax.fr/expresso-x-uno
'''

listeVide = [
     [0,0,0,0,0,0,0,0,0,0,0,0], #0-9, +2, passe tour rouge
     [0,0,0,0,0,0,0,0,0,0,0,0], #Bleu
     [0,0,0,0,0,0,0,0,0,0,0,0], #Turquoise
     [0,0,0,0,0,0,0,0,0,0,0,0], #Rose
     [0,0] #Joker, +4 
    ]

def DrawYourLastPatheticCardSoICanEndThisYugi(r = -1):
    if r == -1:
        r = randint(0,99)
    couleur = r//23 #23 cartes par couleur + 8 multicolore = 100
    chiffre = (r%23+1)//2 # 0-> 0, 1-2 -> 1, 3-4 -> 2. C'est magique
    if couleur == 4:
        chiffre =((r-92)//4) 
        
    return(couleur, chiffre)

def TentativeDeDefausse(board, main):
    #print("Début Defausse", board, main)
    poidsDeChaqueCouleur = [0,0,0,0]
    for i in range(4):
        #poidsDeChaqueCouleur[i] = sum(main[i])
        #poidsDeChaqueCouleur[i] = sum(map(bool,main[i])) #Compte le nombre de cartes differentes par couleur
        poidsDeChaqueCouleur[i] = sum(main[i]) + (sum(main[i]) - sum(map(bool,main[i])))*1.1 #Compte le nombre de cartes par couleur et pénalise les doublons par un facteur un peu random que j'utilise en pratique en jeu (un doublons vaut un peu plus que 3 cartes différentes en gros)
    defausse = False
    beSad = False
    while (not defausse)&(not beSad):
        poidsMaximum = max(poidsDeChaqueCouleur)
        #print(poidsMaximum)
        if poidsMaximum != 0:
            couleurLaPlusLourde = poidsDeChaqueCouleur.index(poidsMaximum)
            if ((couleurLaPlusLourde == board[0])|(board[0] == 4)):  #En gros, si la couleur la plus lourde est piochée (dont joker), on vire la carte en double
                plusGrosseFrequence = max(main[couleurLaPlusLourde])
                main[couleurLaPlusLourde][main[couleurLaPlusLourde].index(plusGrosseFrequence)] -= 1
                defausse = True
                
            elif main[couleurLaPlusLourde][board[1]]: #Si la couleur la plus lourde a le bon chiffre dispo, on le vire
                main[couleurLaPlusLourde][board[1]] -= 1
                defausse = True
            else:
                poidsDeChaqueCouleur[couleurLaPlusLourde] = 0 #La couleur la plus lourde est pas dispo, on passe à la couleur la plus lourde qui suit
        
        else: #Si on arrive ici, c'est qu'on a pas de carte non joker à virer, on tente donc de virer des jokers
            #print("pas de carte classique à jeter")
            if main[4][0]:
                main[4][0] -= 1
                defausse = True
            elif main[4][1]:
                main[4][1] -= 1
                defausse = True
            else:
                beSad = True #Sad indeed de pas defausser de carte
    #print(defausse)
    return(main, defausse)

def TheActualGame(probaFirst = 0.3667, probaThird = 0.3067, nombreDeGames = 10000000):
    reload = True
    passTour = False
    nbRoundsEnCours = 0
    nbCartesEnMain = 7
    listeGainsUno = [0,0,0,0,0,0,0,0,0,0] #Finir de 7-15 rounds + Nombre d'Echecs
    for i in range(nombreDeGames):
        if reload: #Plus de 7 cartes ou impossible de finir
            reload = False
            nbRoundsEnCours = 0
            nbCartesEnMain = 7
            main = deepcopy(listeVide)
            for j in range(7):
                pioche = DrawYourLastPatheticCardSoICanEndThisYugi()
                main[pioche[0]][pioche[1]] += 1
    
        nbRoundsEnCours += 1
        if not passTour: #Passtour
            board = DrawYourLastPatheticCardSoICanEndThisYugi()
            result = uniform(0,1)
            #print(nbRoundsEnCours)
            if result < probaFirst:
                #print("Victoire :", nbRoundsEnCours, "  ", nbCartesEnMain)
                defausse = TentativeDeDefausse(board, main)
                if not defausse[1] and nbRoundsEnCours + nbCartesEnMain == 16:
                    reload = True
                    listeGainsUno[9] += 1
                main = defausse[0]
                nbCartesEnMain = nbCartesEnMain - defausse[1]
                if not(nbCartesEnMain):
                    #print(nbRoundsEnCours)
                    listeGainsUno[nbRoundsEnCours-7] += 1
                    reload = True
                    
            elif nbRoundsEnCours > 15-nbCartesEnMain:
                reload = True
                listeGainsUno[9] += 1
                
            elif result > 1 - probaThird:
                if pioche[1] == 10: #+2
                    if (nbCartesEnMain >6)|(15 - nbRoundsEnCours - nbCartesEnMain - 2 < 0): #Ex : j'ai 1 carte, je pioche 2, il faut que nbRoundsEnCours <=12 pour que j'ai encore une chance
                        reload = True
                        listeGainsUno[9] += 1
                    else:
                        nbCartesEnMain += 2
                        for j in range(2):
                            pioche = DrawYourLastPatheticCardSoICanEndThisYugi()
                            main[pioche[0]][pioche[1]] += 1
                            
                elif pioche[1] == 11: #passtour
                    if (15 - nbRoundsEnCours - nbCartesEnMain - 1 < 0): #Ex : j'ai 1 carte, je passtour, il faut que nbRoundsEnCours <=13 pour que j'ai encore une chance
                        reload = True
                        listeGainsUno[9] += 1
                    else:
                        passTour = True
                        
                elif (pioche[0] == 4)&(pioche[1] == 2): #+4
                    if (nbCartesEnMain >4)|(15 - nbRoundsEnCours - nbCartesEnMain - 4 < 0): #Ex : j'ai 1 carte, je pioche 2, il faut que nbRoundsEnCours <=12 pour que j'ai encore une chance
                        reload = True
                        listeGainsUno[9] += 1
                    else:
                        nbCartesEnMain += 4
                        for j in range(4):
                            pioche = DrawYourLastPatheticCardSoICanEndThisYugi()
                            main[pioche[0]][pioche[1]] += 1
        else:
            passTour = False
    return(listeGainsUno)


def test_full_deck(liste = range(100)):
    main = deepcopy(listeVide)
    for i in liste:
        pioche = DrawYourLastPatheticCardSoICanEndThisYugi(i)
        main[pioche[0]][pioche[1]] += 1
    return(main)

 

 

Edited by Shadourow

Share this post


Link to post
Share on other sites

@Shadourow je m'apprêtais à faire un post similaire. Personnellement je trouve un rakeback de 13,57% avec une défausse optimisée et j'ai pris une répartition des places semblabe à la tienne (1. 37%, 2. 33%, 3 30%).

 

Edit: je crois que tu as oublié de multiplier le résultat final par 0.64245 (proba d'avoir un x2), ce qui te donnerait 14% ce qui est assez proche de mon résultat.

 

Edited by Gabriel Passif

Share this post


Link to post
Share on other sites
il y a 18 minutes, Gabriel Passif a écrit :

@Shadourow je m'apprêtais à faire un post similaire. Personnellement je trouve un rakeback de 13,57% avec une défausse optimisée et j'ai pris une répartition des places semblabe à la tienne (1. 37%, 2. 33%, 3 30%).

 

Je t'en prie, fais nous ton post s'il te plait ton résultat me parait plus cohérent avec les autres events Winamax.

Je comparerai nos codes pour trouver les erreurs, ça devrait permettre d'arriver avec certitude au bon résultat

 

Share this post


Link to post
Share on other sites
Il y a 5 heures, Shadourow a écrit :

[142, 609, 1627, 3289, 5503, 8421, 11715, 15115, 18737, 756953]

Tes chiffres semblent cohérents, sauf qu'ils correspondent à un échantillon de 10M et non 100M

 

Il y a 5 heures, Shadourow a écrit :

pour 917577/(100000000*0.07) =  21.82% de Rakeback

J'ai pas compris d'où sort le 917577.
Pour moi ça donnerait : (152773 / (10^7 * 0.07)) * 0.64245 = 14.02%

 

Il y a 5 heures, Shadourow a écrit :

A noter que je n'ai considéré un tirage sans remise, vu que Winamax est pas vraiment explicite et a même quelque coquilles sur sa page, j'ai pas voulu me casser la tête

Il est précisé tout en bas que les cartes en début d'expresso sont tirées dans un jeu complet de 100 cartes.

 

Il y a 5 heures, Shadourow a écrit :

J'ai codé la stratégie suivante que j'utilise In game:

On compte le nombre de carte par couleur, les paires comptes triples ( 22 > 357) et on retire les couleurs les plus "lourdes" en cartes

Pour avoir testé plusieurs strats, la différences avec juste retirer des cartes de la couleur la plus nombreuse est pas significative, si quelqu'un a prouvé mathématiquement la stratégie optimale, je suis preneur.

Petite clarification quant à la défausse optimale:
Je n'ai pas de démonstration à proprement parler, mais je pense qu'il est toujours plus judicieux de se débarrasser de la couleur la plus nombreuse.
la proba de se défausser d'une carte grâce à sa couleur est 23% contre seulement 8% grâce à son symbole (4% pour le 0). L'objectif principal est donc de garder un maximum de couleurs différentes.

La règle que j'ai utilisée pour la défausse est la suivante:
1. On joue les "jokers" et "+4" en dernier recours.
S'il y a plusieurs cartes éligibles à la défausse qui ne sont ni "joker" ni "+4", on procède ainsi:
2. Parmi ces cartes, on ne retient que celles dont la couleur a le nombre d'occurrences maximale dans la collection du joueur.
3. Puis parmi les cartes restantes, on ne retient que celles dont le symbole a le nombre d'occurrences maximale dans la collection du joueur.
4. Enfin, s'il y a un ou plusieurs symbole "0" parmi les cartes restantes, on ne retient que les "0".
S'il reste encore plusieurs choix possibles après ces étapes, on défausse une carte indifféremment parmi les cartes restantes.

Rakeback obtenu avec cette méthode: 13.57%  (répartition choisie 1er: 37%, 2ème: 33%, 3ème: 30%, échantillon de 10^9 parties jouées les unes après les autres)
A titre de comparaison:
- Rakeback avec une défausse aléatoire: 9.58% (-3.99%)
- Rakeback avec une défausse aleatoire après l'étape 1: 12,19% (-1.38%)
- Rakeback avec une défausse aleatoire après l'étape 2: 13,33% (-0.24%)
- Rakeback avec une défausse aleatoire après l'étape 3: 13.48% (-0.09%)

Autres remarques:
- Comme l'ont déjà fait remarquer certains, on peut encore optimiser la défausse et donc le RB en multitablant.
- A la dernière carte, si on multitable, il peut se produire un "effet d'ICM".
Exemple: Il nous reste une carte. On joue 3 tables x2 et seule l'une d'elle nous permettrait de nous défausser de la derniere carte en cas de victiore. On doit tout faire pour rester en vie sur les 2 autres tables, tant que la première partie n'est pas terminée pour ne pas passer au palier inférieur. C'est d'autant plus le cas si la différence de prix entre les paliers est élevée.

Edited by Gabriel Passif

Share this post


Link to post
Share on other sites

C'est dommage qu'on ne puisse pas voir les cartes uno des autres joueurs, car ça amènerait une dimension stratégique en plus, par exemple si il reste une seule carte à un joueur et que la carte tirée lui permettrait de gagner la prime , on saurait qu'il serait beaucoup moins enclin à s'envoyer en l'air.On pourrait lui mettrait aussi de la pression "ICM" , overbet une tonne ect ...

Edited by LaVieEstBelle

Share this post


Link to post
Share on other sites

Porte ouverte à la collusion, également.

Share this post


Link to post
Share on other sites

Je me demande pour la promo UNO quand même si c'est on doit gagner 7 parties/7 parties en tout, où le logiciel calcule seulement une partie multiplicateur x2 et seulement ces parties jouées sont comptées (c'est clair?). Ca changerait un peu le résultat final. Imo aussi comme dit par gabriel ya une value dans le fait de jouer plus vite à la fin de nos cartes les parties qui sont compatibles avec notre dernière/deux dernières carte et inversement jouer lentement la carte qui ne correspond pas, quitte même à lancer des nitros si on joue en classique. 

Edited by oakb

Share this post


Link to post
Share on other sites
il y a 12 minutes, oakb a écrit :

Je me demande pour la promo UNO quand même si c'est on doit gagner 7 parties/7 parties en tout, où le logiciel calcule seulement une partie multiplicateur x2 et seulement ces parties jouées sont comptées (c'est clair?). Ca changerait un peu le résultat final. Imo aussi comme dit par gabriel ya une value dans le fait de jouer plus vite à la fin de nos cartes les parties qui sont compatibles avec notre dernière/deux dernières carte et inversement jouer lentement la carte qui ne correspond pas, quitte même à lancer des nitros si on joue en classique. 

seul les x2 sont pris en compte dans ton nombre de parties jouees pour la promo / expresso restants 

Share this post


Link to post
Share on other sites
Il y a 1 heure, DaX a écrit :

https://www.winamax.fr/blog_team_blog-une-bankroll-presto-43015

 

"Hé regardez les récréa vous pouvez crush les nitro avec 100 BI"

:mon-maitre: RESPECT !

(ça c'est un joueur de "team wina" régulier qui envoi du vrai steack !)

nitrometro_total.png

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


  • Recently Browsing   0 members

    No registered users viewing this page.

English
Retour en haut de page
×
partypoker : McLaren
partypoker : McLaren