Jeu de dé en prolog
Répondre à la discussion
Affichage des résultats 1 à 8 sur 8

Jeu de dé en prolog



  1. #1
    pm42

    Jeu de dé en prolog


    ------

    Hier, un fil est apparu où quelqu'un se demandait comment coder un jeu de dé en prolog... Curieusement il a disparu.

    Comme je suis rouillé dans ce langage, j'ai fait une version simpliste pour me remémorer des vieux souvenirs et lui montrer comment coder l'équivalent des boucles.
    En attendant de résoudre le mystère du fil perdu, voici au cas où cela pourrait être utile :

    Code:
    jeu(T, M) :-
        T =< 0,
        write('fini').
        
    jeu(T, M) :-
        T > 0,
        affiche(T),
        random(X),
        tir(T, M, X).
    
    tir(T, M, X) :-
        X >= 0.5,
        T1 is T - M,
        jeu(T1, M).
    
    tir(T, M, X) :-
        X < 0.5,
        T1 is T + M,
        jeu(T1, M).
    
    affiche(T) :-
        write('je joue avec '),
        write(T),
        nl.
    Et on fait jeu(10, 2) pour commencer avec 10€ et jouer 2€ jusqu'à épuisement du capital initial.

    -----

  2. #2
    Dlzlogic

    Re : Jeu de dé en prolog

    Bonjour PM42,
    C'est très intéressant cette syntaxe. Ma question, ce langage est-il toujours utilisé ?
    Bonne journée.

  3. #3
    pm42

    Re : Jeu de dé en prolog

    Citation Envoyé par Dlzlogic Voir le message
    C'est très intéressant cette syntaxe. Ma question, ce langage est-il toujours utilisé ?
    Oui et non. 38ème au classement TIOBE mais pas si loin de ça que Lisp, Scala, Ada ou même Fortran (http://www.tiobe.com/tiobe-index/)
    Mais il y a au moins un usage prestigieux récent en IA : http://www.cs.nmsu.edu/ALP/2011/03/n...watson-system/

  4. #4
    JPL
    Responsable des forums

    Re : Jeu de dé en prolog

    Citation Envoyé par pm42 Voir le message
    Hier, un fil est apparu où quelqu'un se demandait comment coder un jeu de dé en prolog... Curieusement il a disparu.
    C'était un tirage à pile ou face et il a été supprimé à la demande de l'auteur (pression de son prof).
    Rien ne sert de penser, il faut réfléchir avant - Pierre Dac

  5. A voir en vidéo sur Futura
  6. #5
    pm42

    Re : Jeu de dé en prolog

    Citation Envoyé par JPL Voir le message
    C'était un tirage à pile ou face
    En effet, lapsus de ma part parce que ce que j'ai codé est bien un pile ou face (comparaison d'un random entre 0 et 1 avec 0.5).

    Citation Envoyé par JPL Voir le message
    et il a été supprimé à la demande de l'auteur (pression de son prof).
    Mince. Vu que les discussions sur Prolog sont rares, c'est dommage.

  7. #6
    Dlzlogic

    Re : Jeu de dé en prolog

    Bonsoir,
    J'ai lu tout l'article de Wiki et je trouve que la méthode d'approche est originale (pardon, c'est une évidence), mais j'avoue ne pas avoir tout compris.
    Par exemple, c'est un langage compilé ou interprété ?
    Apparemment, c'est surtout intéressant en tant que gestion de base de données. Donc il doit y avoir deux étape, la constitution de la base, puis son interrogation.
    Par ailleurs, si c'est utilisé dans le cadre de l'IA, l'argument "ne nécessite pas de connaissances en informatique" me parait un peu hors de propos.
    Je me souviens que vers les années 80 on parlait d'un langage ne nécessitant pas de connaissances en informatique (lire logique ou programmation ou je sais pas quoi) j'ai oublié le nom, mais je ne comprends toujours pas comment on peut "créer un programme" au sens noble du terme sans avoir un minimum de logique.

  8. #7
    Philou67

    Re : Jeu de dé en prolog

    Prolog est interprété, et implémente un moteur d'inférence. Ceci explique qu'il ne nécessite pas de connaissance en informatique, un programme étant simplement composé de règles, le moteur créant de nouvelles règles au besoin pour obtenir le résultat recherché.
    (c'est de mémoire ce qu'il me reste de prolog... ; il y a 30 ans environ, j'avais écris un dérivateur formel en lisp, que j'avais porté ensuite sur ce langage).
    :'( Plus j'apprends, et plus je mesure mon ignorance

  9. #8
    pm42

    Re : Jeu de dé en prolog

    Citation Envoyé par Dlzlogic Voir le message
    Par exemple, c'est un langage compilé ou interprété ?
    Historiquement c'est interprété mais maintenant, on sait le compiler.

    Citation Envoyé par Dlzlogic Voir le message
    Apparemment, c'est surtout intéressant en tant que gestion de base de données. Donc il doit y avoir deux étape, la constitution de la base, puis son interrogation.
    En fait, l'usage est plus vaste et on est plus proche d'un système expert : on donne des règles et le système se charge de trouver des conclusions.
    Il va chercher à chaque étape quelle règle il peut appliquer, voir de quelles règles elles dépendent, se "tromper" en en essayant qui ne marchent pas avant de revenir en arrière...
    On peut donc s'en servir pour simuler un raisonnement pour grossir le trait.

    Citation Envoyé par Dlzlogic Voir le message
    Par ailleurs, si c'est utilisé dans le cadre de l'IA, l'argument "ne nécessite pas de connaissances en informatique" me parait un peu hors de propos.
    Je ne connais pas cet argument mais effectivement, ce n'est pas le cas. C'est de la programmation mais différente, déclarative, moins procédurale mais il faut largement autant si ce n'est plus de logique et de structuration que dans d'autres langages.

Discussions similaires

  1. [Prolog] Doublement de résultats...
    Par invite1bcc2991 dans le forum Programmation et langages, Algorithmique
    Réponses: 8
    Dernier message: 18/12/2012, 00h33
  2. Problème de compilation sous GNU Prolog
    Par inviteff53e475 dans le forum Programmation et langages, Algorithmique
    Réponses: 0
    Dernier message: 28/06/2012, 15h52
  3. Prolog
    Par invite73b93f64 dans le forum Programmation et langages, Algorithmique
    Réponses: 4
    Dernier message: 27/01/2012, 20h17
  4. Déduction et validation : Prolog ou ML ?
    Par inviteab8f3a27 dans le forum Epistémologie et Logique (archives)
    Réponses: 0
    Dernier message: 25/08/2010, 06h26