1. Minist`ere des Enseignements Secondaire et Sup´erieur
(MESS)
——————————
Secr´etariat G´en´eral
——————————
Universit´e Polytechnique de Bobo-Dioulasso (U.P.B.)
——————————
Ecole Sup´erieure d’Informatique (E.S.I)
Cycle des Ing´enieurs de Conception Informatique (C.I.C.I)
1 Ann´ee
Rapport de projet d’Intelligence Artificielle
Th`eme : Knowledge representation and reasoning : application to software
verification and validation
Auteurs :
BADO Maturin G. S.
ILLY Poulmanogo
KABRE Bonaventure G.
KANI D´esir´e D.
KOLA Aklesso R.
Enseignant :
Dr Pasteur PODA
Ann´ee acad´emique 2014-2015
3. 1 Chapitre 1 : D´efinitions et techniques de repr´esentation de la
connaissance et le raisonnement
1.1 D´efinitions
1.1.1 Repr´esentation
Repr´esenter c’est cr´eer une structure de symboles pour d´ecrire une approximation du monde
dans le contexte d’une tˆache particuli`ere.
1.1.2 Connaissances
C’est la capacit´e `a mobiliser de l’information pour agir. Le passage de l’information `a la connais-
sance est li´e `a l’exp´erience de l’action. Autrement dit, la connaissance est la r´esultante de
l’influence de l’information sur un processus.
1.1.3 Raisonnement
Le raisonnement est une suite de propositions d´eduites les unes des autres. Une proposition est
un ´enonc´e du langage ordinaire consid´er´e du point de vue formel et `a laquelle on peut affecter
la valeur de v´erit´e vrai ou faux mais pas les deux.
1.1.4 Repr´esentation de la connaissance et le raisonnement
C’est une branche de l’intelligence artificielle. Elle d´esigne un ensemble d’outils et de proc´ed´es
destin´es `a repr´esenter et `a organiser le savoir humain pour construire des bases de connaissance
et des r`egles d’inf´erence. Elle permet en effet d’augmenter l’accessibilit´e `a la connaissance et `a
l’expertise.
1.2 Techniques de repr´esentation de la connaissance et le raisonnement
1.2.1 Le r´eseau semantique
D´efinition Le r´eseau s´emantique est un outil qui simule notre repr´esentation de la m´emoire.
C’est un mod`ele qui montre d’une part comment, l’information pourrait ˆetre repr´esent´ee en
m´emoire, et d’autres part comment on pourrait acc´eder `a ces informations.
Principe Les repr´esentations (humaines) de la connaissance formelle sur des informations
factuelles, d´enot´ees peuvent se mod´eliser avec 4 types d’entit´es :
– des concepts (noms ou propositions nominales) ;
– des relations ´etiquet´ees entre concepts (verbes ou propositions verbales) ;
– des modificateurs (ou marqueurs) qui sont attach´es aux concepts ou aux relations
(pour restreindre ou clarifier leur port´ee) ;
2
4. – des combinaisons de Concept-Relation-Concept avec des modificateurs optionnels sont des
instances de mise en relation.
L’ensemble forme de larges r´eseaux d’id´ees appel´es r´eseaux s´emantiques Notre m´emoire
est repr´esent´ee comme un bassin de donn´ee contenant des concepts, des ´ev´enements, des sen-
sations. Tous ces ´el´ements forment un immense r´eseau en interrelation. Couch´e sur le papier,
un r´eseau s´emantique est compos´e de nœuds dont les interrelations sont ´etablies par des poin-
teurs ´etiquet´es. Les nœuds sont les diff´erents types d’information en m´emoire. A ces nœuds
peuvent ˆetre associ´ees des propositions, ´enonc´es qui caract´erisent les propri´et´es s’appliquant
aux nœuds du r´eseau. L’´etiquette associ´ee au pointeur indique quel est le type de relation
entre deux nœuds. Exemple de repr´esentation de connaissances avec un r´eseau s´emantique : les
propositions suivantes sont formalis´ees dans le r´eseau s´emantique de la figure 1.
– le chat est un f´elin ;
– le chat a pour proies la souris, l’oiseau, l’insecte ;
– le chat n’aime pas le chien ;
– le chat est repr´esent´e par son image par idphoto ; lechatadesgriffes.
Figure 1 – Exemple de r´eseau s´emantique
3
5. 1.2.2 Graphes conceptuels
D´efinition
Un graphe conceptuel est un formalisme de repr´esentation de connaissances et de raisonne-
ments. Ce formalisme a ´et´e introduit par John F. Sowa (en) en 1984. Depuis cette date, ce
formalisme a ´et´e d´evelopp´e suivant trois directions principales : interface graphique de la lo-
gique du premier ordre, syst`eme diagrammatique pour la logique du premier ordre, formalisme
de repr´esentation de connaissances et de raisonnement bas´e sur les graphes.
Une interface graphique de la logique du premier ordre (LPO)
Dans cette approche les graphes conceptuels servent d’interface graphique pour la logique du
premier ordre (calcul des pr´edicats). Une formule logique est repr´esent´ee par un graphe bi-
parti ´etiquet´e, les sommets d’une des deux classes repr´esentant les pr´edicats et les sommets de
l’autre classe repr´esentant les arguments de ces pr´edicats. `A ce titre, les graphes conceptuels
constituent l’un des formats propos´es par l’ISO dans le cadre de la Common Logic. Dans cette
approche le mod`ele n’a pas de m´ecanismes sp´ecifiques de raisonnement. Pour faire des raison-
nements les graphes sont traduits par des formules de logique, puis un d´emonstrateur logique
doit ˆetre utilis´e.de m´ecanismes sp´ecifiques de raisonnement. Pour faire des raisonnements les
graphes sont traduits par des formules de logique, puis un d´emonstrateur logique doit ˆetre uti-
lis´e.
Un syst`eme diagrammatique pour la logique du premier ordre
Une autre direction poursuit dans la voie des graphes existentiels de Charles Sanders Peirce,
qui ´etaient une des origines des graphes conceptuels tels que propos´es par Sowa. Dans cette
approche, d´evelopp´ee, en particulier, par Dau, plutˆot que des graphes au sens de la th´eorie
des graphes, les graphes conceptuels sont des diagrammes, et les op´erations de raisonnement
sont effectu´ees par des op´erations sur ces diagrammes. Ces op´erations sur les diagrammes sont
difficilement automatisables.
Un formalisme de repr´esentation de connaissance et de raisonnement bas´e sur les
graphes
Les graphes, au sens classique de la th´eorie des graphes, sont au cœur du troisi`eme point de
vue d´evelopp´e, en particulier, par Chein et Mugnier et le groupe de Montpellier. Les connais-
sances sont, comme dans les deux approches pr´ec´edentes, repr´esent´ees par des graphes ´etiquet´es
mais cette fois-ci les m´ecanismes de raisonnement sont bas´es sur des op´erations de graphes, en
particulier sur l’homomorphisme de graphes (cette op´eration ´etait appel´ee ’projection’ dans
les premiers travaux sur les graphes conceptuels, mais cette op´eration est sans relation avec
l’op´eration appel´ee projection dans les bases de donn´ees). Cette troisi`eme approche n’est pas
ind´ependante de la logique puisque les graphes conceptuels peuvent ˆetre munis d’une s´emantique
4
6. en logique du premier ordre et que les raisonnements bas´es sur l’homomorphisme de graphes
sont corrects et complets pour cette s´emantique. Dit simplement, toutes les inf´erences faites en
logique peuvent ˆetre faites par des op´erations de graphes et r´eciproquement. L’un des int´erˆets
essentiels de cette approche est de pouvoir utiliser des algorithmes de graphes qui s’av`erent
efficaces pour faire des raisonnements. Cette approche permet ´egalement de voir les liens entre
les graphes conceptuels et les bases de donn´ees ou la satisfaction de contraintes.
S-Graph / Le graphe conforme `a un support
Un graphe conceptuel est relatif `a un support , qui d´efinit des contraintes syntaxiques
permettant de d´ecrire un domaine d’application. Cette notion de support regroupe :
–– un ensemble de types de concepts , structur´es en treillis, repr´esentant une hi´erarchie
sorte-de acceptant l’h´eritage multiple ;
– un ensemble de types de relations ;
– un ensemble de graphes ´etoiles , appel´es bases , montrant pour chaque relation
quels types de concepts elle peut connecter (signature de relation).
– un ensemble de marqueurs pour les sommets concepts : un marqueur g´en´erique
et un marqueur individuel
– une relation de conformit´e, qui d´efinit les contraintes d’association entre un type de concept
et un marqueur (si le type t est associ´e au marqueur m il existe un individu m qui
estun t).
La figure 2 illustre un exemple de support.
Le graphe conforme `a un support est illustr´e par la figure 3.
1.2.3 Logiques de descriptions
D´efinition
Les logiques de description aussi appel´e logiques descriptives (LD) sont une famille de langages
de repr´esentation de connaissance qui peuvent ˆetre utilis´es pour repr´esenter la connaissance
terminologique d’un domaine d’application d’une mani`ere formelle et structur´ee. Le nom de
logique de description se rapporte, d’une part `a la description de concepts utilis´ee pour d´ecrire
un domaine et d’autre part `a la s´emantique bas´ee sur la logique qui peut ˆetre donn´ee par
une transcription en logique des pr´edicats du premier ordre. La logique de description a ´et´e
d´evelopp´ee comme une extension des frames et des r´eseaux s´emantiques, qui ne poss´edaient pas
de s´emantique formelle bas´ee sur la logique.
Principe
La plupart des logiques de description divisent la connaissance en deux parties :
– les informations terminologiques : d´efinition des notions basiques ou d´eriv´ees et de la fa¸con
dont elles sont reli´ees entre elles. Ces informations sont g´en´eriques ou globales ,
5
7. Figure 2 – Exemple de support S
vraies dans tous les mod`eles et pour tous les individus. les informations sur les indivi-
dus : ces informations sont sp´ecifiques ou locales , vraies pour certains individus
particuliers.
– les informations sur les individus : ces informations sont sp´ecifiques ou locales ,
vraies pour certains individus particuliers.
Toutes les informations connues sont alors mod´elis´ees comme un couple ¡T, A¿, o`u T est un
ensemble de formules relatives aux informations terminologiques (la T-Box) et o`u A est un en-
semble de formules relatives aux informations sur les assertions (la A-Box). Une autre mani`ere
de voir la s´eparation entre ces informations est d’associer la T-Box aux r`egles qui r´egissent
notre monde (par exemple la physique, la chimie, la biologie, etc.), et d’associer les individus
de notre monde `a la A-Box (par exemple Jean, Marie, un chat, etc.).
S´emantique
Les logiques de description utilisent les notions de concept, de rˆole et d’individu. Un concept
correspond `a une classe d’´el´ements et est interpr´et´e comme un ensemble dans un univers
donn´e. Les rˆoles correspondent aux liens entre les ´el´ements et sont interpr´et´es comme des
relations binaires sur un univers donn´e. Les individus correspondent aux ´el´ements d’un univers
donn´e.
6
8. Figure 3 – Exemple de S-graphes conformes au support S
En d’autres termes, une interpr´etation de la logique de description n’est rien de plus qu’un
mod`ele pour un type particulier de signature du premier ordre, o`u seuls les pr´edicats unaires
et binaires sont autoris´es, et o`u l’ensemble des symboles de fonction est vide.
Quelques logiques de description
Les logiques de descriptions ont une base commune enrichie de diff´erentes extensions (voir
tableau ci-dessous). On peut d`es lors avoir des concepts complexes compos´es de concepts ato-
miques, et de mˆeme pour les rˆoles.
– conjonction ;
– disjonction ;
– quantificateur universel ;
– quantificateur existentiel
7
9. 2 Chapitre 2 : L’application `a la v´erification et a la validation des
logiciels
2.1 D´efinition
2.1.1 V´erification
C’est un ensemble de m´ethodes qui assurent que le syst`eme (logiciel) fonctionne correctement, et
donnent une preuve formelle de propri´et´es sur un mod`ele du syst`eme. Elle r´epond `a la question
suivante : Are we building the product right ?
2.1.2 Validation
C’est un ensemble de m´ethodes qui assurent que le syst`eme fonctionne selon les attentes de
l’utilisateur, et donnent assurance d’un certain niveau de confiance dans le syst`eme. Elle r´epond
`a la question suivante : Are we building the right product ?
2.2 Int´erˆet de la v´erification et de la validation de logiciels
La v´erification et la validation permettent d’assurer la qualit´e du logiciel :
– capacit´e fonctionnelle : r´eponse aux besoins des utilisateurs ;
– facilit´e d’utilisation : prise en main et robustesse ;
– fiabilit´e : tol´erance aux pannes ;
– performance : temps de r´eponse, d´ebit, fluidit´e... ;
– maintenabilit´e : facilit´e `a corriger ou transformer le logiciel ;
– portabilit´e : aptitude `a fonctionner dans un environnement diff´erent de celui pr´evu.
Par ailleurs, ils permettent de r´eduire d’environ 30% le coˆut de d´eveloppement d’un logiciel
standard, et de 50% le coˆut de d´eveloppement d’un logiciel critique.
2.3 Approche de r´esolution
2.3.1 Approche standard
Il s’agit de l’impl´ementation d’une solution permettant de tester les fonctionnalit´es globales de
tout logiciel standard de gestion. Dans cette approche notre syst`eme devra ˆetre muni d’une
base de connaissance g´en´erique.
La v´erification dans cette impl´ementation devra permettre d’appr´ecier le niveau de respect des
standard de d´eveloppement d’un logiciel, c’est-`a-dire d´eceler les failles de fonctionnement.
La validation concernera des fonctionnalit´es standard propres `a tout type de logiciels. Ainsi
l’authentification, l’insertion, la modification, la suppression, la gestion des utilisateurs, . . .
seront appr´eci´ees selon des crit`eres propositionnels.
8
10. Chaque fonctionnalit´e disposera d’un ensemble plus ou moins important de crit`eres proposition-
nels pour la v´erification et la validation. Du recueil de ces informations d´ecoulera l’appr´eciation
du logiciel.
2.3.2 Approche expert
Cette approche peut s’interpr´eter comme le clonage d’un expert dans un domaine bien d´etermin´e.
Le syst`eme est sp´ecialis´e dans la validation et la v´erification de logiciels d’un domaine sp´ecifique :
comptabilit´e, architecture, . . . De ce fait la solution `a impl´ementer devra disposer d’une base
solide de connaissance sur le domaine.
2.3.3 Approche multi-expert
Comme son nom l’indique, cette derni`ere approche devra refl´eter le clonage de plusieurs ex-
perts de domaines diff´erents. En effet l’impl´ementation ne peut pas se calquer sur un domaine
sp´ecifique, la solution propos´ee devra permettre d’int´egrer progressivement des connaissances
pour chaque domaine.
9
11. 3 Chapitre 3 : Mise en œuvre : l’approche expert
De nos jours le test de logiciel est la m´ethode la plus utilis´e pour assurer la qualit´e des logiciels
et l’objet d’une pratique trop souvent artisanal. Parmi les trois(03) approches pr´ec´edemment
´enonc´ees, le choix de l’´equipe s’est port´e sur l’approche expert avec pour domaine la math´ematique.
Ce domaine ´etant encore plus vaste, nous l’avons restreint en ´etudiant le cas de logiciel dont
la sp´ecification est la suivante : le programme prend en entr´ee trois(03) entiers, interpr´et´es
comme ´etant les longueurs des cˆot´es du triangle. Le programme retourne la propri´et´e du triangle
correspondant : scal`ene, isoc`ele, ´equilat´eral .
3.1 La v´erification
Objectif : prouver la correction du syst`eme.
La v´erification dans ce cas va consister `a v´erifier la validit´e des param`etres entr´es. Elle s’assure
que le logiciel a ´et´e fabriqu´e suivant les normes et est robuste. Les cas pour lesquels la v´erification
ne passera pas sont :
– pas un triangle (somme de a et b inf´erieure `a c) + permutation o`u a, b et c sont des
entiers ;
– une valeur `a 0 ;
– toutes les valeurs `a 0 ;
– une valeur n´egative ;
– une valeur n´egative ;
– mauvais nombre d’arguments
3.2 La validation
Objectif : v´erifier la conformit´e du syst`eme.
validation veille `a s’assurer que le logiciel r´epond vraiment `a sa vocation. Les r´esultats attendus
de ce logiciel sont :
– triangle scal`ene valide ;
– triangle isoc`ele valide + permutation ;
– triangle ´equilat´eral valide ;
– triangle plat (a+b=c) + permutation ;
10
12. R´ef´erences
[1] Stuart C. Shapiro, Knowledge Representation and Reasoning, 2004–2010.
[2] Lindsay et Norman, Traitement de l’information et comportement humain,
Ed. Etudes Vivantes, 1980.
[3] Daniel Kayser, La repr´esentation des connaissances,Hermes, 1997.
[4] Delphine Longuet, Introduction au test de logiciels .
[5] artint.info, Knowledge representation, [consult´e le 12 mars 2014], disponible
sur : http ://artint.info/html/ArtInt8.html.
11