Forum Programmation.autre traduction recursion -> somme

Posté par . Licence CC by-sa
Tags : aucun
1
2
oct.
2017

Bonjour,

J'ai trouve une solution a un probleme de statistique sous forme d'une fonction recursive, mais j'aimerai le transformer en une somme. Vous avez une idee de comment je pourrai m'y prendre. J'ai l'impression que c'est un probleme d'algebre discrete, non?

def f(a: Int, b: Int, goal: Int, p: Double): Double =  {
  if( a == goal ) {
    1
  } else if( b == goal ) {
    0
  } else {
    p * f(a + 1, b, goal, p) + p * f(a, b + 1, goal, p)
  }
}

Que j'aimerais transformer en un truc du genre: Somme

Pour le contexte, ca devrait etre la solution du probleme des parti de Pascal et Fermat : fr.wikipedia.org/wiki/Probl%C3%A8me_des_partis

Deux joueurs jouent aux des pour une mise d'argent en cas de victoire. Si le des tombe sur un nombre impair le joueur A remporte le point sinon, c'est le joueur B. Le premier qui arrive a 10 remporte la mise. Mais le jeu est interrompu alors que le joueur A avait 3 point et le joueur B en avait 5. Comment partager la mise equitablement?

D'apres mes calculs ca devrait etre donne par: f(3, 5, 10, 0.5) en faveur de A, ou le 0.5 est la probabilite que le des tombe sur un nombre pair pour un lance.

Envoyer un commentaire

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.