Rapport IA

186 vues

Publié le

0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
186
Sur SlideShare
0
Issues des intégrations
0
Intégrations
13
Actions
Partages
0
Téléchargements
1
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Rapport IA

  1. 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
  2. 2. 28 juillet 2015 Table des mati`eres 1 Chapitre 1 : D´efinitions et techniques de repr´esentation de la connaissance et le raisonne- ment 2 1.1 D´efinitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.1.1 Repr´esentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.1.2 Connaissances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.1.3 Raisonnement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.1.4 Repr´esentation de la connaissance et le raisonnement . . . . . . . . . . . . . . . . . . . . . 2 1.2 Techniques de repr´esentation de la connaissance et le raisonnement . . . . . . . . . . . . . . . . . 2 1.2.1 Le r´eseau semantique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.2.2 Graphes conceptuels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.2.3 Logiques de descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2 Chapitre 2 : L’application `a la v´erification et a la validation des logiciels 9 2.1 D´efinition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 2.1.1 V´erification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 2.1.2 Validation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 2.2 Int´erˆet de la v´erification et de la validation de logiciels . . . . . . . . . . . . . . . . . . . . . . . . 9 2.3 Approche de r´esolution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 2.3.1 Approche standard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 2.3.2 Approche expert . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 2.3.3 Approche multi-expert . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 3 Chapitre 3 : Mise en œuvre : l’approche expert 11 3.1 La v´erification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 3.2 La validation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 1
  3. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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

×