• Aucun résultat trouvé

6 Points fixes et programmes logiques normau

Ce chapitre est d´edi´e aux applications de la th´eorie des espaces ultram´etriques dans la programmation logique. Nous utiliserons le th´eor`eme de point fixe vu dans le chapitre 2 pour d´eriver l’existence d’un mod`ele support´e minimal pour une classe de programmes logiques normaux appel´es localement stratifi´es dans le sens de Przymusinski [16].

§6.1 Introduction

Le but de ce chapitre est de retenir l’attention sur la th´eorie r´ecente des espaces ul- tram´etriques g´en´eralis´es et son investigation dans les domaines de l’intelligence artificielle, plus pr´ecis´ement la programmation logique.

L’id´ee d’incorporer des techniques topologiques dans la programmation logique d´eclarative fut adopt´ee par Seda et Hitzler dans [20] et ´egalement par Sybilla Priess Crampe et Paulo Ribenboim dans [15]. Les premiers auteurs ont muni l’espace des interpr´etations de Herbrand par la topologie de Scott et les seconds ont utilis´e une topologie m´etrisable relative `a une dis- tance ultram´etrique et qui n´ecessite de consid´erer l’ensemble des interpr´etations de Herbrand comme un espace ultram´etrique g´en´eralis´e.

Nous empruntons le pas `a ces approches en ce qui concerne la programmation logique d´eclarative dont le moteur est de trouver des mod`eles et des mod`eles support´es pour les programmes. Nous reprenons le th´eor`eme de point fixe du chapitre 2 . La notion de programmes nor-

maux est introduite dans le troisi`eme paragraphe. Nous relatons les mod`eles support´es de ces programmes aux points fixes d’un op´erateur associ´e au programme dit l’op´erateur de Van-Emden Kowalski. Nous donnons la syntaxe des programmes qui ont un mod`ele support´e et qui prennent exactement la forme des programmes localement stratifi´es dans le sens de Przymusinski [16]. Nous verrons que cette classe coincide avec celle des programmes semi strictement d´ecroissants telle que d´efinie par Seda et Hitzler [20].

Finalement, nous prouvons la minimalit´e du mod`ele. La s´emantique expect´ee (intended) pour les programmes logiques doit comporter une certaine forme de l’hypoth`ese du monde clos (the Closed World Assumption), Reiter [17], [18]: Si aucune raison n’existe pour un fait positif pour ˆ

etre vrai alors on est amen´e `a en d´eduire qu’il est faux. Donc, l’hypoth`ese du monde clos doit en quelque sorte minimiser les informations positives. Les mod`eles minimaux sembleraient donc correspondre au sens exact du programme.

Dans [15], Crampe et Ribenboim ont juste donn´e un crit`ere d’existence de mod`eles pour les programmes normaux. Dans le troisi`eme paragraphe, nous donnons exactement la syntaxe des programmes qui v´erifient ce crit`ere et qui sont appel´es localement stratifi´es. Nous discutons des s´emantiques des programmes logiques et les formulons en terme de version m´etrique qui entraˆıne des preuves simples d’existence et qui sont moins intuitives par rapport aux preuves constructives mentionn´ees par Seda et Hitzler dans [20]. On voit aussi que notre m´ethode n’in- corpore pas un large nombre de connecteurs logiques. Cette approche est donc plus flexible et peut s’´etendre facilement `a une classe plus large de programmes. Nous ´evoquons `a ce niveau les programmes disjonctifs avec plus d’un atome dans la tˆete des clauses. Ce chapitre est un point de d´epart pour trouver des ensembles de r´eponses pour les programmes disjonctifs et qui sera l’objet du prochain chapitre.

§6.2 Programmes logiques normaux.

Nous reprenons les th´eorie des espaces ultram´etriques ainsi que le th´eor`eme de point fixe du chapitre 2.

Soit X un ensemble et soit (Γ,≤) un ensemble partiellement ordonn´e avec 0 comme plus petit ´

el´ement et soit d : X ∗ X −→ Γ une distance ultram´etrique. 71

Nous rappelons les propri´et´es des espaces ultram´etriques: (1.1) Si 06= α ≤ β et Bα(a)∩ Bβ(b) 6= ∅, alors Bα(a)⊆ Bβ(b).

Th´eor`eme 6.2.1 Soit (X,d,Γ) un espace ultram´etrique hyperconvexe et soit T : X −→ X une contraction, alors T admet un point fixe ou il existe un espace hyperconvexe non vide S de X tel que T (S) ⊆ S, S = T (S) et δ(S) = d(x,T (x)) pour tout x ∈ S.

Maintenant, nous consid´erons les programmes logiques normaux, i.e les programmes qui consistent en un nombre fini de clauses de la forme: A ←− A1,...,Ak,¬B1,...¬Bm o`u A,Ai

et Bj sont des atomes et k,m≥ 0. Le symbole ¬ d´esigne la n´egation classique. Le cas n = 0

est un abus de notation indiquant un ant´ec´edant vide i.e. une unit clause ou un fait A←−. Les virgules remplacent la conjonction ie A1,...Ak,¬B1,...,¬Bm d´enote A1∧...∧Ak∧¬B1∧...∧¬Bm.

Le symbole ”←−” d´esigne le connecteur logique de l’implication. Donc la s´emantique formelle de A←− A1,...Ak,¬B1,...¬Bm est : si A1,...Aksont tous vrais et B1,...,Bm sont tous faux alors

A est vrai.

On d´esigne par Bp la base de Herbrand du programme logique normal P , i.e. l’ensemble

des atomes `a variables libres (ground) de L qui est le langage du premier ordre de P . Une instance d’une clause r dans P est une clause obtenue `a partir de r en rempla¸cant les variables par d’autres termes du langage. Nous allons utiliser ground(P ) pour d´esigner l’ensemble des ground instances des clauses de P . Cela veut dire que ground(P) est l’ensemble de toutes les instances A ←− A1,...,Ak,¬B1,...¬Bl1 de chaque clause o`u A,Ai,Bj sont des ”ground” atomes, ou en d’autres termes ne contiennent aucune variable, voir Lloyd [14].

Par suite, soit Ip l’ensemble des interpr´etations de Herbrand de P , cela veut dire que Ip est

le ”power set” P(Bp) de Bp, voir [chapitre 5]

Un des concepts les plus importants dans l’´etude de ces programmes est celui de l’op´erateur cons´equent au programme appel´e Van-Emden Kowalski operator Tp : Ip −→ Ip d´efini par

Tp(I) ={A ∈ Bp; il existe une clause A←− A1,...,Ak,¬B1,...¬Bm ∈ ground(P ) telle que

A1,...,Ak ∈ I et B1,...,Bm ∈ I}./

Notre but sp´ecifique est d’utiliser les points fixes de Tp pour trouver des mod`eles et des

mod`eles support´es I de P . Evidemment, le premier correspond aux points pre-fixes de Tp

(interpr´etations I v´erifiant Tp(I) ⊆ I) et le second correspond aux points fixes de Tp (I est

support´e s’il v´erifie Tp(I)⊇ I).

Si le programme P est positif, i.e. ne contient pas de n´egation dans le corps des clauses, alors il est imm´ediat que Tp: Ip −→ Ip est une application qui pr´eserve l’ordre (par rapport `a

l’incluion). L’intersection J de la famille des sous ensembles I de Ip tels que Tp(I) ⊆ I est

telle que Tp(J ) = J . Donc J est un point fixe de l’op´erateur Tp et il correspond `a l’unique

mod`ele de Herbrand minimal du programme positif P , voir [14].

Maintenant, nous allons introduire la n´egation dans le corps des clauses et nous allons consid´erer plus particuli`erement la classe des programmes localement stratifi´es. Nous em- pruntons cette d´efinition `a Przymusinski [16].

Definition 6.2.1 Un programme normal est dit localement stratifi´e s’il est possible de d´ecomposer l’ensemble S de la base de Herbrand Bp en des ensembles disjoints S1,S2,...,Sα,...,α < γ, ap-

pel´es strates, de mani`ere `a ce que pour toute ground clause:

A←− A1,...,Ak,¬B1,...,¬Bm

dans P , o`u A,A1,...Ak,B1,...Bm sont des ground atomes, nous avons:

(i) pour tout i, stratum(Ai)≤ stratum(A);

(ii) pour tout j, stratum(Bj) < stratum(A),

o`u stratum(C)= α, si l’atome C appartient `a Sα.

N’importe quelle d´ecomposition {S1,...,Sα,...} v´erifiant les conditions au dessus est appel´ee

une stratification locale de P .

Soit (∆0,≤) un ensemble totalement ordonn´e qui est un bon ordre. Une application l : Bp −→ ∆0 est dite une fonction niveau.

Soit ∆∗ l’ensemble ∆0 avec l’ordre inverse et supposons que 0 ≤ δ pour tout δ ∈ ∆∗. Posons ∆ = ∆∗∪ {0}

Maintenant, nous consid´erons les fonctions niveaux d’un genre sp´ecial: soit γ un ordinal d´enombrable. γ peut ˆetre vu comme l’ensemble de tous les ordinaux α tels que α ∈ γ, i.e

l’ensemble des ordinaux α tels que α < γ. Comme convenu, si α = β + 1 est le successeur de β, alors nous ´ecrivons β = α− 1 pour le pr´edecesseur β de α. Nous utilisons la notation γ = ω pour l’ensemble IN des entiers naturels (comprenant z´ero). Un ordinal limite est un ordinal qui n’est le successeur d’aucun ordinal.

Soit (∆0, ≤) l’ensemble des ordinaux inf´erieurs `a γ. L’ensemble ordonn´e ∆∗ sera identifi´e `a l’ensemble {2−α; α < γ} muni de l’ordre 2−α ≤ 2−β si et seulement si β ≤ α.

Soit L0 =∅ et Lα ={A ∈ Bp,l(A) < α} pour α < γ.

(P(Bp),d,∆) avec la distance d de Fitting [8], d´efinie par d(I,I0) = inf{2−α,I∩ Lα = I0∩ Lα}

si I 6= I0 et 0 sinon, est un espace ultram´etrique hyperconvexe.

En effet, soit (B2−αi(Ii))i∈K une famille de boules (αi ∈ γ pour tout i ∈ K et (Ii)i∈K ⊂ Ip)

avec d(Ii,Ij)≤ sup(2−αi,2−αj).

Posons I = S

i∈K

(Ii∩ Lαi).

Soit i∈ K et A ∈ Ii avec l(A) < αi, alors A∈ I.

Soit A∈ I avec l(A) < αi, alors il existe j ∈ K tel que A ∈ Ij∩ Lαj. Or B2−αi(Ii) et B2−αj(Ij)

sont comparables , donc d(Ii,Ij)≤ sup(2−αi,2−αj) = 2−inf(αi,αj). D’o`u A∈ Ii et par cons´equent

d(Ii,I)≤ 2−αi.

Nous empruntons la d´efinition suivante `a Seda & Hitzler [23].

Definition 6.2.2 Soit P un programme logique normal et l : Bp −→ γ une fonction niveau.

Soit A ←− A1,...,Ak,¬B1,...¬Bm une clause typique dans ground(P ).

Nous disons que P est:

(1) d´ecroissant par rapport `a une fonction niveau si les in´egalit´es l(A) ≥ l(Ai),l(Bj) ont lieu

pout tout i and j;

(2) strictement d´ecroissant si les in´egalit´es l(A) > l(Ai),l(Bj) ont lieu pour tout i and j;

(3) semi-strictement d´ecroissant si les in´egalit´es l(A) ≥ l(Ai) et l(A) > l(Bj) ont lieu pour

tout i et j.

La classe (1) est tr`es g´en´erale et ne sera pas consid´er´ee ici car elle n’admet pas toujours de

mod`ele minimal.

Exemple 4 Consid´erons le programme

p(0) ←−

p(s(x)) ←− ¬p(s(x))

et la fonction niveau l :Bp −→ ω d´efinie par l(p(sn(0)) = n pour tout n < ω.

P est d´ecroissant par rapport `a l et Tp n’admet pas de point fixe.

§6.3 Programmes strictement d´ecroissants par rapport

`