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

Programmation logique (Prolog)




  1. #1
    Control

    Programmation logique (Prolog)

    Bonjour,
    Je n'arrive pas à comprendre ce qu'est un langage de programmation logique. J'ai beau lire la définition de wikipédia, je ne l'a comprend toujours pas.
    Quelqu'un pourrait-il m'expliquer cela, avec des mots simples sans entrer dans énormément de détails s'il vous plaît ?

    Merci d'avance.

    -----


  2. #2
    pm42

    Re : Programmation logique (Prolog)

    Dans un langage de programmation classique, tu donnes au programme des instructions qu'il suit l'une après l'autre. Tu décris vraiment ce qu'il doit faire.

    En prolog et dans les langages équivalent, tu donnes simplement un ensemble de règles qu'il faut respecter. Ensuite, quand tu lui demandes de chercher quelque chose, il prend toutes les règles, regardent celles qui peuvent marcher et les essaie.
    Elles mêmes déclenchent d'autres règles, etc.
    Si à un moment donné, on se retrouve sans aucune règle qui soit applicable, on arrête d'explorer dans cette direction là.
    Si on en trouve une qui fonctionne et ne dépend d'aucune autre, on a une solution et on la renvoie.

    On peut ainsi renvoyer de 0 à n solutions. Et c'est le langage qui implémente ce mécanisme de recherche.

    Par exemple, si tu veux résoudre le problème des n reines sur l'échiquier dans un langage classique, tu vas faire un tableau qui représente ton échiquier et des boucles qui vont essayer les différentes positions.
    En Prolog, pas de tableau, pas de boucles : tu vas juste exprimer dans le langage les règles qui font que les reines ne sont pas en prise et le laisser faire la recherche à ta place.

Discussions similaires

  1. Jeu de dé en prolog
    Par pm42 dans le forum Programmation et langages, Algorithmique
    Réponses: 7
    Dernier message: 09/12/2016, 02h31
  2. Programmation en matlab : logique floue
    Par mira2012 dans le forum Programmation et langages, Algorithmique
    Réponses: 3
    Dernier message: 20/03/2012, 23h34
  3. Prolog
    Par GECKO00 dans le forum Programmation et langages, Algorithmique
    Réponses: 4
    Dernier message: 27/01/2012, 19h17
  4. Programmation en C (logique??)
    Par Julien21000 dans le forum Électronique
    Réponses: 7
    Dernier message: 31/05/2011, 14h14