Slides de présentation de dédramathisons. (colloque mathématique)
Retrouvez l'intégralité du travail à l'adresse suivante :
http://uclouvain.be/cps/ucl/doc/fsa/documents/Travail_Complet.pdf
Slides de présentation de dédramathisons. (colloque mathématique)
Retrouvez l'intégralité du travail à l'adresse suivante :
http://uclouvain.be/cps/ucl/doc/fsa/documents/Travail_Complet.pdf
cours sur les variables aléatoires. l'objectif de ce cours est de faire découvrir aux étudiants en gestion les variables aléatoires dans le cadre de leurs cours de Probabilité
Mémoire de Licence, site web dynamique sous JEE, application aux entreprises ...
12 quelques prédicats prédéfinis de swi
1. Quelques prédicats prédéfinis de SWI-Prolog
L’affichage du contenu du fichier chargé se fait par :
?- listing.
L’affichage d’une clause particulière, ici toto, se fait par :
?- listing(FoncteurDeLaClause).
La longueur d’une liste
?- length([a, b, c],3).
Yes
?- length([a, [a, b], c], N).
N = 3
Prédicats de type integer
?- integer(3).
Yes.
?- integer(X).
No.
Utilisation: integer(X), integer(Y), Z is X+Y;
number : est-ce un nombre?
?- number(3.14).
Yes.
float : est-ce un flottant?
atom : est-ce un atome?
?- atom(homme).
Yes.
?- atom(3).
No
atomic (ou constant dans certains Prolog) : Est-ce un atome ou un nombre?
var : est-ce une variable non instanciée?
?- var(X).
Yes.
?- X = f(Z), var(X).
No
nonvar. Le contraire de var.
?- nonvar(X).
No
compound. Est-ce que le terme est composé?
?- compound(X).
No.
?- compound(f(X, Y)).
Yes
2. Opérateurs de comparaison:
X > Y
X < Y
X >= Y
X =< Y
X =:= Y les valeurs de X et Y sont identiques
X == Y les valeurs de X et Y sont différentes
T1 == T2 : si les termes T1 et T2 sont littéralement égaux .
i.e. ont la même structure et leur composants sont les mêmes.
T1 == T2 : est vrai si T1 == T2 est faux
Exemples:
?- f(a,b) == f(a,b).
yes
?- f(a,b) == f(a,X).
no
?- f(a,X) == f(a,Y).
no
?- X == Y
yes
?- t(X, f(a,Y)) == t(X, f(a,Y)).
yes
Opérateur (=)
X = Y permet d’unifier X et Y (possibilité d’instanciation de variable.
Exemples:
?- 1 + 2 = 2 + 1.
no
1 + 2 =:= 2 + 1.
yes
?- 1 + A = B + 2.
A = 2
B = 1
Prédicats de manipulation de la BD :
Ajout et suppression de clauses (règles) en cours d’exécution :
assert(C): ajout de la clause C à la base de données.
retract(C): Suppression des clauses unifiable avec C.
asserta(C): ajout de C au début de la base de données.
assertz(C): ajout de C en fin de la base de données.
Repeat
Le prédicat repeat est toujours vrai (succès) et à chaque fois qu’il est rencontré, une nouvelle branche
d ’exécution est générée.
bagof and setof
› La résolution Prolog peut trouver toutes les solutions satisfaisant un ensemble de
buts.
› Mais lorsqu’ ’une nouvelle solution est générée, la solution précédente est perdue.
› Les prédicats bagof,setof et findall permettent de collecter ses solutions dans une
liste.
bagof(X,P,L):
permet de produire la liste L de tout les objets X vérifiant P.
Utile si X et P admettent des variable en commun.
setof(X,P,L):
idem que bagof. Les éléments de la liste sont ordonnées et sans répétitions.