Discussion:Prolog
- Admissibilité
- Neutralité
- Droit d'auteur
- Article de qualité
- Bon article
- Lumière sur
- À faire
- Archives
- Commons
Copyvio ?
[modifier le code]Je me pose des grosses question sur le copyrightibilité de cet article. -- Looxix 9 jun 2003 ・18:20 (CEST)
- je n'ai pas trouvé la source éventuelle sur le Web, mais il est vrai que la forme (par exemple le sommaire) plaide pour une repompe. - Panoramix
Questions sur Prolog
[modifier le code]bonjour a tous,
quelques petites questions :
a quoi sert le @ ? exemple dans @>, @<, .... quel est la différence entre \= et =\= ??
un grand merci
- C'est pour faire la distinction entre les diférents type d'équivalance:
- '\=' c'est non-unifiable alors que '=\=' est 'arithmétiquement non-égal'
- '>' et '<' sont les comparaisons arithmétiques, '@>' et '<@' sont les comparaisons dites 'structurelles' qui fonctionnent avec tous les termes.
- -- Looxix 9 jun 2003 ・17:14 (CEST)
qu'entendez vous par non-unifiable ?? je comprend pas bien cette notion... et encore merci
- Je ne sais pas expliquer cette notion en quelques lignes. Je vais voir si je peut améliorer l'article. Reviens dans quelques heures ou demain. -- Looxix 9 jun 2003 ・17:20 (CEST)
ok merci
donc pour résumé pour comparer des nombres ont utilise >, <, ... et pour tous le reste @> et <@ ???
- C'est un peu plsu compliqué que ça:
- >, <, =<, >=, =:= et =\= sont des opérateurs fonctionant sur des expressions artihmétiques; c'est-à-dire qu'il essayent dabord d'évaluer leurs arguments. Par exemple '1+1 > 1' réussit car '1+1' est d'abord évalué en '2' puis '2' est comparé à '1' donc la comparaison réussit.
- @>, @<, @=<, @>=, == et \== fonctionnent avec tous les termes mais n'essayent pas d'évaluer leur arguments comme expression arithmétique
- = est l'opérateur d'unification
- \= est un test de non-unification (les arguments ne sont jamais unifiés, si l'unification est possible alors '\=' échoue, sinon il réusit).
ATTENTION, plus j'avait confondu '=\=' et '\==' J'ai ajouté un petit article expliquant l'unification: Unification (logique)
- examen? -- Looxix 9 jun 2003 ・18:50 (CEST)
Problèmes avec l'exemple (partie évaluation)
[modifier le code]L'exemple ne fonctionne pas du tout avec GNU Prolog.
- D'un part, les prédicats sont discontigus, mais j'ai cru comprendre que cela dépendait de l'implémentation ;
- D'autre part, gprolog ne supporte pas que les deux règles suivantes soient présentes simultanément :
père(X,Y) :- parent(X,Y), mâle(X). parent(X,Y) :- père(X,Y).
En effet, dans ce cas, on obtient :
- une infinité de résultats (toujours le même) en demandant le père ou le parent de quelqu'un ;
- une boucle infinie si trouver le père ou le parent est une étape ;
- un plantage dans certains cas.
L'exemple est-il donc vraiment faux, ou bien alors GNU Prolog est-il une mauvaise implémentation ?
- Je ne sais pas qui a rédigé l'article de dessus, mais j'ai rajouté Grammaire Générative... non, t'as mal lu, cet article est un extrait de:
père(X,Y) :- parent(X,Y), mâle(X). mère(X,Y) :- parent(X,Y), femelle(X). parent(X,Y) :- père(X,Y). parent(X,Y) :- mère(X,Y).
Et
parent(X,Y) :- père(X,Y). parent(X,Y) :- mère(X,Y).
implique un "ou" logique, soit le parent est le père, soit c'est la mère, c'est drôle, je connais cet exo mais rédigé autrement et je peux te l'assurer qu'il marche. Donc l'exemple n'est pas faux. J'ai corrigé l'oubli et/ou. Par contre je ne comprends pas cette histoire de miser(X)?
Storm 23 aoû 2004 à 12:35 (CEST)STORM
L'exemple ne fonctionne pas non plus sous SWI-Prolog. Pour savoir si père(X,Y), l'interpréteur vérifie si parent(X,Y), ce qui le fait vérifier que père(X,Y), et ainsi de suite. Spidermario (d) 24 mars 2010 à 14:50 (CET)
L'exemple ne marche pas, je confirme, il s'agit de récursivité croisée, sans progrès. je l'ai réduit (et corrigé). BDenis.--90.27.28.164 (d) 20 avril 2010 à 09:45 (CEST)
Lien externe mort
[modifier le code]Bonjour,
Pendant plusieurs vérifications automatiques, et dans le cadre du projet correction des liens externes un lien était indisponible.
Merci de vérifier si il est bien indisponible et de le remplacer par une version archivée par Internet Archive si c'est le cas. Vous pouvez avoir plus d'informations sur la manière de faire ceci ici. Si le lien est disponible, merci de l'indiquer sur cette page, pour permettre l'amélioration du robot. Les erreurs rapportées sont :
▪ Eskimbot ☼ 1 février 2006 à 00:25 (CET)
Lien sur la page web d'Alain Colmerauer
[modifier le code]Ce lien sur la page d'accueil d'Alain Colmerauer presente des information interressantes sur la creation de Prolog et ses differentes evolutions :
Page d'accueil d'Alain Colmerauer
Serait-il possible de l'ajouter dans la liste des liens ?
- Fait. - Eusebius [causons] 30 juillet 2007 à 11:49 (CEST)
Prédicats multiples
[modifier le code]La partie sur les prédicats multiples me semble étrange : ni SWI-Prolog, ni GNU Prolog n'acceptent la syntaxe « a, b :- c. », il semblent qu'ils supposent que l'on essaie de redéfinir le prédicat ,/2. De plus, il est ensuite affirmé que ce qui suit n'est pas équivalent à « (a et b et c) si d », mais il me semble que si. Spidermario (d) 24 mars 2010 à 15:21 (CET)
- La partie sur les prédicats multiples me semble effectivement fausse en général ; enlever ce paragraphe : il y a plus utile --Lf69100 (discuter) 6 juillet 2015 à 01:16 (CEST)
Bug bizarre
[modifier le code]Les tooltips des pages non existantes s'affichent dans une langue cyrillique?
- Heiiiin ? Pas chez moi. Zandr4[Kupopo ?] 27 juillet 2012 à 06:21 (CEST)
Article important, mais mélangeant des informations très inégales
[modifier le code]L'utilisateur habituel de Prolog, LISP et Haskell ne sera pas dérouté par cet article, mais je me demande si le lecteur curieux ne risque pas d'être dérouté par ce mélange hétéroclite de concepts importants (la recherche, par exploration, d'une solution dans un buisson de contraintes) et de considérations tellement secondaires qu'elles en deviennent peut-être anecdotiques (l'usage des majuscules et des minuscules, et les caractères autorisés pour écrire une variable !). Peut-être l'article gagnerait-il à ce que soient exposés
- d'abord les idées fondamentales : explorer des solutions possibles sous contraintes spécifiées,
- et ensuite seulement les détails "administratifs", ou en tout cas arbitraires, qui sont utiles à la rédaction de ses premiers programmes, mais n'apportent rien à la compréhension du mécanisme Prolog, au contraire.
Cette deuxième partie pourrait alors être illustrée de l'écriture d'expresions Prolog pour fixer les idées. Bon, je sais que les conseilleurs ne sont pas les payeurs, alors le je tais et je vais au dodo ! :-) 82.226.27.88 (d) 23 février 2013 à 03:38 (CET)
Remarques
[modifier le code]- Prolog, plus grammatical que logique, a ses connecteurs non-commutatifs : "," signifie PUIS plutôt que ET ; ";" signifie SINON plutôt que OU.
- Evoquer la déclaration d'opérateurs, sur la base du nom, d'une priorité et d'une associativité ; cette possibilité facilite la modélisation, et permet des écritures pseudo-naturelles (langage de requête ou LRC).
- "Une particularité de Prolog est de ne pas donner de statut aux paramètres d'un prédicat, ce ne sont pas des paramètres 'donnés' ou 'résultats', ou même 'donnés/résultats', leur statut est indifférent et sera défini en fonction des requêtes utilisées." est un point très favorable à une exploitation relationnelle non directive. Mais de fait la norme ISO recommande le modage des paramètres ; certaines applications ayant dépassé 50'000 lignes, la fiabilité suppose que les flux d'informations (source->puits) soient contrôlables statiquement ; et certains prédicats prédéfinis étant modés par nature, tendent à moder ceux qui les emploient.
- la réification permet de simuler des aspects de l'ordre 2
- la PLC mériterait son article, en termes de logique et d'efficacité
- quid du Prolog ISO ??
--Lf69100 (discuter) 6 juillet 2015 à 00:55 (CEST)
Remplacement de 'grammaire générative' par 'applications grammaticales'
[modifier le code]L'exemple donné était encombré de déclarations Turbo-Prolog sans être très probant.
Je le remplace par un exemple plus développé, testé en SWI Prolog, mis en mode déroulant.
Pour rester simple, je fais l'impasse sur les accords en genre et en nombre et sur les conjugaisons.
--Lf69100 (discuter) 23 mai 2016 à 18:41 (CEST)
Importance de XSB
[modifier le code]Bonjour,
XSB, implémentation de Prolog, dispose sur la Wikipedia anglaise de son propre article, ayant dépassé le stade d’ébauche. Celui-ci figurait dans la liste 2013 des articles à traduire en français. Serait-il plus logique de disposer sur la Wikipedia française également d’un article spécifique ? ou d’enrichir une sous-section de l’article sur Prolog ?
A fortiori, le cas se pose aussi pour d’autres implémentations…