Prolog

Prolog
Date de première version 1972
Paradigme Programmation logique
Auteur Alain Colmerauer, Philippe Roussel
Influencé par Planner (en)Voir et modifier les données sur Wikidata
Extension de fichier pl, pro et PVoir et modifier les données sur Wikidata

Prolog est un langage de programmation logique. Le nom Prolog est un acronyme de PROgrammation en LOGique. Il a été créé par Alain Colmerauer et Philippe Roussel vers 1972 à Luminy, Marseille. Le but était de créer un langage de programmation où seraient définies les règles logiques attendues d'une solution et de laisser le compilateur la transformer en séquence d'instructions. L'un des gains attendus était une facilité accrue de maintenance des applications, l'ajout ou la suppression de règles au cours du temps n'obligeant pas à réexaminer toutes les autres.

Prolog est utilisé en intelligence artificielle et dans le traitement linguistique par ordinateur (principalement langues naturelles). Ses règles de syntaxe et sa sémantique sont simples et considérées comme claires (un des objectifs poursuivis était de procurer un outil aux linguistes ignorant l’informatique). Les premiers résultats obtenus avec Prolog suscitèrent quelque temps, dans les années 1980, des recherches sur une cinquième génération, matérielle et logicielle, d'ordinateurs (nommée Cinquième génération japonaise en raison de l'engagement important du MITI sur le projet). L'effort engagé fut important, les retombées plus modestes, Prolog restant un langage parmi d'autres dans la panoplie du programmeur.

Prolog est basé sur le calcul des prédicats du premier ordre ; cependant il est restreint dans sa version initiale à n’accepter que les clauses de Horn (les versions modernes de Prolog acceptent des prédicats plus complexes, notamment avec le traitement de la négation par l'échec). L’exécution d’un programme Prolog est effectivement une application du théorème prouvant par résolution du premier ordre. Les concepts fondamentaux sont l’unification, la récursivité et le retour sur trace. L'algorithme de résolution de Prolog est basé sur une extension de la SLD-résolution.

On peut construire en Prolog une base de connaissances dans un ordre indéterminé, puisque seules comptent les relations en présence et non leur séquence d'écriture. Prolog peut ensuite résoudre des séries de problèmes logiques relatifs à une telle base de connaissances (notion base de données déductive), problème similaire à la recherche d'une issue (ou plusieurs) dans un labyrinthe de contraintes établies.


From Wikipedia, the free encyclopedia · View on Wikipedia

Developed by Tubidy