Répondre à la discussion
Affichage des résultats 1 à 2 sur 2

[TIPE] Stabilité Classement ELO (classement aux échecs)



  1. #1
    Haazheel

    [TIPE] Stabilité Classement ELO (classement aux échecs)


    ------

    Bonsoir,

    Voilà mon TIPE est basé sur le classement ELO, classement des joueurs d'échecs étant réputé stables, cependant étant fidel à MAPLE pour ce genre de travaux je n'arrive pas à trouver le problème. J'ai en effet un problème d'opérande, alors que mon programme fonctionne parfaitement sans le "générateur de EloAdv" et de même le "générateur de EloAdv" fonctionne tout seul.

    Donc voilà le code:

    Code:
    restart; 
    
    with(linalg); 
    
    A := [[1.00, 760], [.99, 677], [.98, 589], [.97, 538], [.96, 501], [.95, 470], [.94, 444], [.93, 422], [.92, 401], [.91, 383], [.90, 366], [.89, 351], [.88, 335], [.87, 322], [.86, 309], [.85, 296], [.84, 284], [.83, 273], [.82, 262], [.81, 251], [.8, 240], [.79, 230], [.78, 220], [.77, 211], [.76, 202], [.75, 193], [.74, 184], [.73, 175], [.72, 166], [.71, 158], [.7, 149], [.69, 141], [.68, 133], [.67, 125], [.66, 117], [.65, 110], [.64, 102], [.63, 95], [.62, 87], [.61, 80], [.6, 72], [.59, 65], [.58, 57], [.57, 50], [.56, 43], [.55, 36], [.54, 29], [.53, 21], [.52, 14], [.51, 7], [.5, 0], [.49, -7], [.48, -14], [.47, -21], [.46, -29], [.45, -36], [.44, -43], [.43, -50], [.42, -57], [.41, -65], [.4, -72], [.39, -80], [.38, -87], [.37, -95], [.36, -102], [.25, -110], [.34, -117], [.33, -125], [.32, -133], [.31, -141], [.3, -149], [.29, -158], [.28, -166], [.27, -175], [.26, -184], [.25, -193], [.24, -202], [.23, -211], [.22, -220], [.21, -230], [.2, -240], [.19, -251], [18, -262], [.17, -273], [.16, -284], [.15, -296], [.14, -309], [.13, -322], [.12, -336], [.11, -351], [.1, -366], [0.9e-1, -383], [0.8e-1, -401], [0.7e-1, -422], [0.6e-1, -444], [0.5e-1, -470], [0.4e-1, -501], [0.3e-1, -538], [0.2e-1, -589], [0.1e-1, -677], [0, -760]];
    
    CalculElo := proc (EloDep, N) 
    local i, P, P2, dP, P0, Ef, roll, roll2, EloAdv, Match, Match2, k, Ea; 
    
    roll := rand(1000 .. 2831); 
    roll2 := rand(1 .. 100); 
    
    f := t -> exp(-(1/400)*t*ln(10))/(1+exp(-(1/400)*t*ln(10)))^2:
    
    for k to N do EloAdv[k] := roll(k);
     
    difference := EloAdv[k]-EloDep;
    
    #Générateur aléatoire#
     
    if difference < 0 
    then 
    if roll2(k) < 100*evalf(int((1/400)*f(t)*ln(10), t = -infinity .. -difference)) 
    then 
    Match2[k] := 1 end if; 
    
    if 100*evalf(int((1/400)*f(t)*ln(10), t = -infinity .. -difference)) = roll2(k) 
    then 
    Match2[k] := .5 end if; 
    
    if 100*evalf(int((1/400)*f(t)*ln(10), t = -infinity .. -difference)) < roll2(k) 
    then
    Match2[k] := 0 
    end if 
    end if; 
    
    if 0 < difference then if 100*evalf(int((1/400)*f(t)*ln(10), t = -infinity .. difference)) < roll2(k) 
    then
    Match2[k] := 1 
    end if;
    
    if 100*evalf(int((1/400)*f(t)*ln(10), t = -infinity .. difference)) = roll2(k) 
    then
    Match2[k] := .5 
    end if;
    
    if roll2(k) < 100*evalf(int((1/400)*f(t)*ln(10), t = -infinity .. difference)) 
    then
    Match2[k] := 0 
    end if 
    end if; 
    
    Match2[k] 
    end do; 
    
    #Fin du générateur aléatoire#
    
    Ea := (sum(EloAdv[i], i = 1 .. N))/N; 
    
    P := (sum(Match2[i], i = 1 .. N))/N; 
    
    for i to 100 do if op(1, op(i, A)) = evalf(P, 2) then P2 := op(i, A) 
    end if 
    end do; 
    
    dP := op(2, P2); 
    P0 := Ea+dP; if P0 < 1000 
    then 
    P0 := 1000 
    end if;
    
    if EloDep < P0 then 
    Ef := (1/16)*(16-N)*EloDep+(1/16)*P0*N+P 
    else 
    Ef := (16*EloDep+P0*N)/(16+N)+P end if; 
    
    evalf(Ef, 4) 
    
    end proc;
    Bon il y a surement des oublies de ":" ou de ";" mais ce problème d'opérande me bloque.
    Je ne vous indique pas pour le moment les étapes du programme puisque ça ne vient pas des algorithmes utilisés, mais si besoin est je vous fournirais les détails.

    Merci de votre future aide les amis.

    Bonne soirée

    HaaZ.

    -----
    . 2+2 = 5 . (1984)

  2. #2
    Rincevent

    Re : [TIPE] Stabilité Classement ELO (classement aux échecs)

    Déplacé depuis TIPE.
    Ceux qui manquent de courage ont toujours une philosophie pour le justifier. A.C.

Discussions similaires

  1. classement ensa
    Par scherou dans le forum Orientation après le BAC
    Réponses: 10
    Dernier message: 11/08/2012, 13h15
  2. X et Y jouent aux échecs, aux dames...
    Par fg12345 dans le forum Mathématiques du collège et du lycée
    Réponses: 2
    Dernier message: 16/02/2007, 19h05
  3. classement tensioactif
    Par tomgo dans le forum Chimie
    Réponses: 2
    Dernier message: 19/04/2006, 21h49
  4. Le classement
    Par Kirik dans le forum Orientation après le BAC
    Réponses: 26
    Dernier message: 08/03/2006, 23h26
Découvrez nos comparatifs produits sur l'informatique et les technologies.