Un cadre pour la cartographie des langages

Un systรจme (vรฉhicule, instrument) est dit autonome sโ€™il nโ€™est pas contrรดlรฉ par un opรฉrateur humain. Ses actions sont alors gรฉrรฉes par un programme interne, qui ne peut รชtre modifiรฉ pendant son fonctionnement ; il sโ€™agit dโ€™un programme embarquรฉ, devant permettre au systรจme de ยซ prendre lui-mรชme des dรฉcisions ยป. Les systรจmes embarquรฉs font gรฉnรฉralement lโ€™objet de fortes limitations (par exemple au niveau de leur prix, poids ou puissance) qui dรฉpendent de la tรขche quโ€™ils doivent accomplir ; ils nโ€™ont par consรฉquent que peu de ressources ร  leur disposition, en termes dโ€™espace mรฉmoire et de puissance de calcul. Malgrรฉ cela, ils exigent gรฉnรฉralement une trรจs forte rรฉactivitรฉ. Ces contraintes sont particuliรจrement significatives dans le cadre des systรจmes embarquรฉs contrรดlant des systรจmes spatiaux et aรฉronautiques, tels des drones ou des satellites : leurs ressources peuvent รชtre drastiquement limitรฉes, et leur besoin en rรฉactivitรฉ crucial.

La prise de dรฉcision est lโ€™un des objectifs du domaine de lโ€™intelligence artificielle que lโ€™on nomme planification. Pour produire des dรฉcisions adaptรฉes ร  la situation courante, le programme doit rรฉsoudre un problรจme de planification. Des outils ont รฉtรฉ dรฉveloppรฉs pour rรฉsoudre de tels problรจmes ; grรขce ร  eux, le systรจme peut calculer des dรฉcisions convenables. Cependant, dans le cas gรฉnรฉral, les problรจmes de planification sont difficiles ร  rรฉsoudre โ€” ils ont une haute complexitรฉ algorithmique. En consรฉquence, prendre des dรฉcisions en rรฉsolvant des problรจmes de planification prend du temps, et ce en particulier sur les systรจmes autonomes, qui ne disposent que dโ€™une puissance limitรฉe. Il est donc impossible de leur assurer une bonne rรฉactivitรฉ si le problรจme est rรฉsolu en ligne, cโ€™est-ร -dire ร  chaque fois quโ€™une dรฉcision doit รชtre prise, en nโ€™utilisant que la puissance et la mรฉmoire du systรจme. Une faรงon de rรฉgler ce problรจme est de calculer les dรฉcisions hors ligne, avant la mise en situation du systรจme. Pour ce faire, on anticipe toutes les situations possibles et on rรฉsout le problรจme pour chacune dโ€™elles ; on peut alors fournir au systรจme une table de dรฉcision, contenant un ensemble de ยซ rรจgles de dรฉcision ยป de la forme ยซ dans telle situation, prends telle dรฉcision ยป. Cela garantit une rรฉactivitรฉ maximale au systรจme ; en effet lโ€™exploitation en ligne de ce genre de table ne requiert quโ€™une puissance trรจs limitรฉe.

Concepts et historique

La compilation de connaissances peut รชtre vue comme une forme de ยซfactorisationยป, la phase hors ligne รฉtant dรฉdiรฉe ร  lโ€™exรฉcution de calculs ร  la fois difficiles et communs ร  plusieurs opรฉrations en ligne. Cette idรฉe nโ€™est pas nouvelle, comme lโ€™illustre lโ€™exemple des tables de logarithmes [Mar08], qui รฉtaient utilisรฉes ร  une รฉpoque oรน les calculatrices nโ€™รฉtaient pas aussi lรฉgรจres et bon marchรฉ quโ€™aujourdโ€™hui. Elles contenaient des couples โŸจx, log10(x)โŸฉ pour un grand nombre de valeurs de x, qui pouvaient รชtre utilisรฉes pour faire des calculs complexes, tels lโ€™extraction de racines .

Prenons un autre exemple, plus proche du sujet : dans lโ€™introduction, la premiรจre solution que nous proposions pour amรฉliorer la rรฉactivitรฉ du systรจme รฉtait de rรฉsoudre le problรจme au prรฉalable, pour toutes les situations possibles, de maniรจre ร  fournir au programme de contrรดle une table de rรจgles de dรฉcision. Bien que naรฏve, cette idรฉe relรจve รฉgalement de la compilation de connaissances ; les trois aspects principaux de la dรฉfinition sont en effet prรฉsents, ร  savoir que la phase hors ligne est chargรฉe des calculs difficiles (la rรฉsolution du problรจme pour des situations initiales multiples) et souvent rรฉpรฉtรฉs (une mรชme situation peut รชtre rencontrรฉe de nombreuses fois), et la phase en ligne est simple (regarder dans la table la prochaine dรฉcision ร  prendre). Ce que dรฉsigne usuellement (et historiquement) le mot compilation est la traduction dโ€™un programme depuis un langage de haut niveau, facilement comprรฉhensible et modifiable par des รชtres humains, vers du ยซ langage machine ยป, de bas niveau, beaucoup plus efficace dโ€™un point de vue algorithmique. Il sโ€™agit lร  encore de prรฉ-traitement โ€” on transforme quelque chose hors ligne pour faciliter son utilisation en ligne. Ce nโ€™est cependant pas ร  proprement parler de la compilation de connaissances, domaine spรฉcifique qui diffรจre de lโ€™รฉtude gรฉnรฉrale du prรฉ-traitement sur deux points. Premiรจrement, comme le souligne Marquis [Mar08], le nom de la ยซ compilation de connaissances ยป limite sa portรฉe aux ยซ bases de connaissances ยป, cโ€™est-ร dire ร  des ensembles dโ€™informations gรฉnรฉralement reprรฉsentรฉes par des formules logiques, et ร  leur exploitation, cโ€™est-ร -dire au raisonnement automatisรฉ. La dรฉfinition reste trรจs gรฉnรฉrale โ€” le terme ยซ informationยป peut recouvrir un grand nombre de choses โ€” mais exclut notamment la compilation de programmes au sens classique. La seconde diffรฉrence entre compilation standard et compilation de connaissances est une consรฉquence de la prรฉcรฉdente [CD97]. ร‰tant liรฉe ร  la reprรฉsentation des connaissances et au raisonnement, la compilation de connaissances ne considรจre la difficultรฉ dโ€™un problรจme que par le prisme de la thรฉorie de la complexitรฉ algorithmique [voir Pap94 pour un survol de la thรฉorie de la complexitรฉ]. Ainsi, les auteurs travaillant sur la compilation ne cherchent pas simplement ร  rendre les problรจmes plus faciles, mais drastiquement plus faciles, en les faisant changer de classe de complexitรฉ, par exemple de NP-complet ร  P, de PSPACE-complet ร  NP, etc.

Un cadre pour la cartographie des langages

Le but de la carte de compilation est de comparer les langages selon leur complexitรฉ spatiale et leur efficacitรฉ (en termes de complexitรฉ au pire cas) pour diverses opรฉrations possibles, comme la requรชte dโ€™informations sur la forme compilรฉe, ou lโ€™application de transformations. La carte facilite la comparaison des fragments sur le plan de la complexitรฉ thรฉorique, permettant ainsi de ne retenir que les meilleurs pour chaque application. Lโ€™objectif de cette section est de prรฉsenter formellement la carte de compilation, notamment la notion de langage sur laquelle elle repose, et les concepts en permettant la comparaison.

Notations

Avant dโ€™introduire nos conventions de notation, prรฉcisons que cette thรจse inclut un index des symboles [p. 173]. On note R lโ€™ensemble des nombres rรฉels, Z celui des entiers relatifs, N celui des entiers naturels (y compris 0), Nโˆ— celui des entiers naturels non nuls, et B celui des constantes boolรฉennes. Ces derniรจres sont notรฉes โŠค et โŠฅ (respectivement pour ยซ vrai ยป et ยซ faux ยป), mais sont souvent identifiรฉes aux entiers 1 et 0, de sorte que :

B โŠ† N โŠ† Z โŠ† R

On utilise SA pour lโ€™ensemble des singletons dโ€™un ensemble A. Ainsi, par exemple, SB = { {โŠค}, {โŠฅ}} , et SN = โˆช nโˆˆN { {n} } .

Dans une optique de gรฉnรฉralisation, nous considรฉrerons des variables de domaine quelconque โ€” discret ou continu, fini ou infiniโ€ฆ mais non vide. On note V lโ€™ensemble de toutes les variables possibles ; V est bien sรปr non vide, et on le suppose ordonnรฉ par un ordre strict total <V. Quand on considรฉrera des ensembles de variables indicรฉes, comme {x1, x2 . . . , xk}, on supposera toujours implicitement que x1 <V x2 <V . . . <V xk.

Comment lโ€™exprimer : les structures de donnรฉesย 

La compilation de connaissances vise ร  exprimer les fonctions comme des instances de structures de donnรฉes spรฉcifiques. Une structure de donnรฉes [voir e.g. CL+01, partie III] est une organisation particuliรจre des informations dans la mรฉmoire dโ€™un ordinateur, munie dโ€™algorithmes de manipulation exploitant les donnรฉes efficacement, en tirant parti de cette organisation. Parmi les structures de donnรฉes bien connues, on peut citer les piles, les files, les tables de hachage, les arbres, les graphesโ€ฆ Un objet mathรฉmatique comme une fonction est un concept abstrait. Pour le reprรฉsenter avec une structure de donnรฉes, il est nรฉcessaire de le modรฉliser, en identifiant les opรฉrations de base par le biais desquelles il est manipulรฉ ; ainsi, les ensembles sont des ยซ choses ยป quโ€™il est possible dโ€™intersecter, dโ€™unir, dโ€™รฉnumรฉrer, etc. Une fois quโ€™un modรจle est dรฉcrit, il est possible de dรฉfinir une structure de donnรฉe lโ€™implantant efficacement. Celle-ci nโ€™est pas nรฉcessairement unique ; diverses structures donnรฉes peuvent รชtre utilisรฉes pour exprimer un mรชme concept mathรฉmatique. Leur efficacitรฉ peut varier, mais aucune nโ€™est plus ยซ correcte ยป quโ€™une autre. Nous considรฉrons les structures de donnรฉes dโ€™une maniรจre relativement abstraite, sans nous apesantir sur les dรฉtails dโ€™implantation. Nous utiliserons un attribut important des structures de donnรฉes, la taille mรฉmoire de leurs instances. Pour cela, on munit chaque structure de donnรฉes dโ€™une fonction de taille caractรฉristique abstraite, associant ร  chaque instance ฯ† de la structure de donnรฉes en question, un entier positif reprรฉsentatif de la place quโ€™elle prend en mรฉmoire. La taille caractรฉristique dโ€™une instance ฯ†, que nous notons โˆฅฯ†โˆฅ pour la distinguer du cardinal dโ€™un ensemble (notรฉ |S|), nโ€™est pas directement รฉgale ร  sa taille mรฉmoire Mem(ฯ†). Le point-clef est que la taille caractรฉristique doit croรฎtre de la mรชme maniรจre que la taille mรฉmoire : โˆฅฯ†โˆฅ โˆˆ ฮ˜(Mem(ฯ†)), cโ€™est-ร -dire quโ€™il existe deux constantes positives k1 et k2 telles que lorsque ฯ† est suffisamment gros, Mem(ฯ†) ยท k1 โฉฝ โˆฅฯ†โˆฅ โฉฝ Mem(ฯ†) ยท k2. Par exemple, considรฉrons une structure de donnรฉes destinรฉe ร  reprรฉsenter des listes de nombres rรฉels, et une autre destinรฉe ร  reprรฉsenter des listes de nombres entiers. Il est probable que les instances de la premiรจre prennent plus de place en mรฉmoire que les instances de la seconde, รฉtant donnรฉ que les nombres rรฉels sont plus coรปteux que les entiers en termes de mรฉmoire. Pourtant, si on utilise dans les deux cas des structures exactement similaires exceptรฉ le type utilisรฉ pour les nombres, elles ont la mรชme taille caractรฉristique, puisquโ€™elles sont รฉquivalentes modulo une simple constante multiplicative.

Le rapport de stage ou le pfe est un document dโ€™analyse, de synthรจse et dโ€™รฉvaluation de votre apprentissage, cโ€™est pour cela chatpfe.com propose le tรฉlรฉchargement des modรจles complet de projet de fin dโ€™รฉtude, rapport de stage, mรฉmoire, pfe, thรจse, pour connaรฎtre la mรฉthodologie ร  avoir et savoir comment construire les parties dโ€™un projet de fin dโ€™รฉtude.

Table des matiรจres

Introduction
Contexte
1 Compilation de connaissances
1.1 Prรฉsentation
1.1.1 Concepts et historique
1.1.2 Exemple de langage-cible : OBDDs
1.2 Un cadre pour la cartographie des langages
1.2.1 Notations
1.2.2 Langage de reprรฉsentation
1.2.3 Comparaison de langages
1.3 Langages boolรฉens
1.3.1 Langages de DAGs
1.3.2 Fragments basรฉ sur des restrictions dโ€™opรฉrateurs
1.3.3 Fragments ยซ historiques ยป
1.3.4 Fragments basรฉs sur des propriรฉtรฉs des nล“uds
1.3.5 La famille des graphes de dรฉcision
1.3.6 Ordonner les graphes de dรฉcision
1.3.7 Principes de fermeture
1.4 Carte de compilation des langages boolรฉens
1.4.1 Requรชtes et transformations boolรฉennes
1.4.2 Rรฉsultats de compacitรฉ
1.4.3 Satisfaction de requรชtes et de transformations
1.5 Compilation
1.5.1 Langage dโ€™entrรฉe
1.5.2 Mรฉthodes exactes de compilation
1.5.3 Mรฉthodes non-exactes de compilation
2 Planification
2.1 Dรฉfinition gรฉnรฉrale
2.1.1 Intuition
2.1.2 Description du monde
2.1.3 Dรฉfinition dโ€™un problรจme de planification
2.1.4 Solutions dโ€™un problรจme de planification
2.2 Paradigmes de planification
2.2.1 Planification en avant dans lโ€™espace des รฉtats
2.2.2 Planification par satisfiabilitรฉ
2.2.3 Planification par model-checking
2.2.4 Planification par processus dรฉcisionnels de Markov
2.2.5 Autres paradigmes
2.3 Compilation pour la planification
2.3.1 Planification par satisfiabilitรฉ
2.3.2 Planification par recherche heuristique
2.3.3 Planification par model-checking
2.3.4 Planification par MDPs
3 Problรฉmatique
3.1 Benchmarks utilisรฉs
3.1.1 Problรจme de compรฉtition de drones
3.1.2 Problรจme de gestion de la mรฉmoire dโ€™un satellite
3.1.3 Problรจme de gestion des connections dโ€™un transpondeur
3.1.4 Problรจme de rendez-vous en attitude
3.2 Premiรจre tentative
3.2.1 Notre approche pour le problรจme Drone
3.2.2 Rรฉsultats pour le problรจme Drone
3.3 Vers des langages-cibles plus appropriรฉs
3.3.1 Orientation gรฉnรฉrale
3.3.2 Identification des opรฉrations importantes
3.3.3 Nouvelles requรชtes et transformations
Automates ร  intervalles
Introduction
4 Formalisme des automates ร  intervalles
4.1 Langage
4.1.1 Dรฉfinition
4.1.2 Automates ร  intervalles
4.1.3 Relations avec la famille de BDD
4.1.4 Rรฉduction
4.2 Un sous-langage efficace
4.2.1 Satisfaction dโ€™importantes requรชtes sur les automates ร  intervalles
4.2.2 Convergence
4.3 Carte de compilation dโ€™IA
4.3.1 Prรฉliminaires
4.3.2 Compacitรฉ
4.3.3 Requรชtes et transformations
Conclusion

Lire le rapport complet

Tรฉlรฉcharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiรฉe. Les champs obligatoires sont indiquรฉs avec *