LE RAISONNEMENT À PARTIR DE CAS :
Le raisonnement à base de cas ou raisonnement à partir de cas (RàPC) est un type de raisonnement appliqué à des situations concrètes. Il consiste, face à un problème (ou « cas ») donné, à rechercher dans une base de données (la fameuse base de cas ) un cas similaire déjà rencontré par le passé afin dappliquer la solution ayant servi à sa résolution au cas présent, éventuellement en ladaptant. Puis, à évaluer la solution proposée qui viendra enrichir la base de cas.
Ce type de raisonnement, quotidiennement utilisé par lêtre humain, fait lobjet de recherches scientifiques en vue dapplications dans le domaine de lintelligence artificielle. Il pose quatre problématiques majeures :
Comment modéliser les cas et la base de cas (BDC) ?
Comment rechercher un cas similaire dans la BDC ?
Comment adapter la solution au problème ?
Comment gérer l « apprentissage » i.e. le stockage de nouveaux cas dans la BDC de manière à pouvoir le retrouver facilement et dans les circonstances adéquates ?
I. La modélisation
Un cas peut contenir différentes informations mais, pour que le RàPC fonctionne, il faut au moins quil contienne une description du problème rencontré et sa solution (son algorithme de résolution). Ces informations peuvent être de différents types : booléen, entier, chaîne de caractères, etc Cela va dépendre du contexte où le RàPC est appliqué.
La BDC peut être modélisé de plusieurs manières. La plus simple est celle de larbre de décision.
On part dune « racine » à laquelle sont rattachés plusieurs nuds. Les nuds sont ici des « index » cest à dire à une question concernant le problème donné. À chaque réponse possible est rattaché soit un cas de la BDC soit un nouvel index.
EXEMPLE : On considère un ordinateur domestique. Dans le cas présent, rien ne saffiche sur lécran. Un système à RàPC appliqué à ce problème pourrait être modélisé de la manière suivante :
NB : Ici nous navons utilisé que des questions binaires mais il est possible dimaginer des questions à plus de 2 réponses
Un autre modèle est celui dit « à mémoire dynamique ». Les cas sont regroupés en « épisodes généralisés »(EG) sils possèdent certaines caractéristiques communes (appelés « normes »). À cet épisode est alors relié dautres valeurs relatives à dautres caractères et le chemin suivi par le système RàPC est alors celui qui est le plus similaire au problème (le concept de similarité peut être défini différemment en fonction du domaine considéré). Ces valeurs mènent alors soit vers un cas en particulier soit vers un autre épisode généralisé (le processus étant alors répété).
EXEMPLE : On reprend lexemple précédent. Voici ce que sa modélisation en EG pourrait donner :
NB : Deux EG différents peuvent mener à un même cas : le modèle est redondant.
Il existe bien sûr dautres modèles, mais ceux-ci sont les deux principaux.
II. La recherche :
La recherche commence par la collecte de données sur le problème. Elle peut être faite de manière automatique ou bien en demandant à lutilisateur de les fournir. Après ça, on peut encore essayer de réarranger ou corriger les données pour optimiser le système.
La recherche contient deux étapes : le filtrage et la sélection.
2.1. Le filtrage :
Cette étape consiste à simplement parcourir la BDC afin déliminer les cas qui ne correspondent pas et de construire une nouvelle BDC avec les cas restants. Si la BDC est suffisamment petite, cette étape peut être sautée.
2.2. La sélection :
On calcule alors la similarité entre le problème posé avec les cas non-filtrés de létape précédente (en utilisant les index). Comme précisé avant, la fonction de similarité dépend de lindex considéré.
On peut, de plus, utiliser un heuristique, i.e. un programme qui ne se préoccupe pas que du degré de similarité mais aussi dautres critères comme la fréquence dutilisation des las, leur ancienneté, etc
Dans lexemple pris dans la partie précédente, la sélection consiste à parcourir linéairement les index depuis la racine.
III. Ladaptation :
Une fois quun cas de la base a été isolé, on peut désormais appliquer la solution qui lui est associée. On pourrait appliquer directement la solution associée mais le plus souvent on cherche à adapter la solution au problème considéré.
Il existe deux principales méthodes dadaptations :
3.1. Ladaptation transformationnelle :
Elle consiste à réitérer la solution du cas en utilisant des lois dadaptations préprogrammées.
3.2. Ladaptation dérivative :
Elle consiste non pas à appliquer une solution adaptée mais le raisonnement qui a servi à la résolution du cas sélectionné. Cette forme dadaptation est donc potentiellement plus « puissante » que la transformationnelle, néanmoins lobjectif du cas présent nest pas forcément celui de lancien. Il est donc aussi plus compliqué à mettre en uvre.
EXEMPLE : On reprend le problème de lécran en se plaçant dans le modèle de larbre de décision. Cette fois, la cause du dysfonctionnement est que la tour est éteinte. Le cas sélectionné le plus similaire est celui où lécran est éteint. Dans ce cas là, le raisonnement ayant mené à sa résolution est dallumer lécran. La transposition de ce raisonnement au problème indiquerait dallumer la tour : cest une adaptation dérivative.
NB : Pour le modèle dynamique, il ny a pas dadaptation puisque le cas de la tour éteinte est déjà inclus dans un EG.
3.3. La révision :
Parfois, la solution trouvée ne fonctionne pas. Dans ce cas, le système va essayer dexpliquer les raisons de léchec afin de constituer une mémoire déchec qui viendra modifier le fonctionnement de la phase dadaptation. Puis il va essayer de corriger la solution qui a échoué.
IV. Apprentissage :
Cest la dernière phase du RàPC où le cas présent et sa solution vont être ajoutés dans la base. Il y a deux possibilités :
Si la solution du cas est totalement nouvelle, celui-ci est automatiquement àjouté à la BDC.
Si la solution découle de solutions antérieures, le cas en lui-même nest pas forcément rajouté mais il peut être inclus dans un EG lorsque ceux-ci existent. On peut aussi réajuster les lois dadaptations.
Il faut aussi décider quels caractéristiques du cas conserver pour pouvoir le retrouver facilement. Ce sont en général les plus discriminantes.
On peut, par la suite, tester le programme pour vérifier quil retrouve bien le cas.
EXEMPLE : La tour a été allumée, mais lécran naffiche toujours rien. Tout étant allumé et branché, on se retrouve dans le cas où il faut appeler le service après vente. Nouveau problème : le téléphone ne marche pas. En fait, lélectricité a été coupée. Dans ce cas, il suffit dattendre que lélectricité revienne. Ce cas étant totalement inédit, il est ajouté à lextrémité dune branche de larbre de décision (ou bien, il forme un nouveau cas avec un nouvel index dans le cas du modèle dynamique).
Pour le modèle à arbre de décision, voici comment lapprentissage modifierait la BDC dans ce cadre là :
Nouveau problème : le téléphone ne marche pas. En fait, lélectricité a été coupée. Dans ce cas, il suffit dattendre que lélectricité revienne. Ce cas étant totalement inédit, il est ajouté à lextrémité dune branche de larbre de décision (ou bien, il forme un nouveau cas avec un nouvel index dans le cas du modèle dynamique).
Pourquoi ce n'est pas valide ? C'est une solution qui a été validée, même si elle consiste à ne rien faire..
1) Définition
Le raisonnement à base de cas ou raisonnement à partir de cas (RàPC) est une méthode danalyse et de résolution des problèmes. Il consiste à faire des analogies entre un problème donné et dautres stockés dans une base de cas afin dappliquer au problème présent des solutions ayant fait leur preuve par le passé.
2) Création et histoire
Le RàPC fait partie de notre bagage cognitif et nous lutilisons tous les jours dans des situations de la vie courante. Toutefois, il na commencé à faire lobjet dune modélisation formelle que dans les années 70 grâce aux travaux de Roger Schank et Robert P.Abelson, tout deux professeurs de psychologie cognitive à lUniversité Yale1.
3) De quoi s'agit-il?
Le RàPC fait intervenir les notions de solution et de problème. Le problème peut se formuler sous la forme dune question du type « Comment faire pour [ ] N » et la solution est la réponse à cette question. Lensemble constitué par le problème et sa solution est appelé cas (parfois, le cas contient aussi le résultat de lévaluation de la solution (échec ou pas) et son explication). La base de cas est lensemble des cas mémorisés par le système dont on se sert pour aborder un problème appelé problème cible.
4) Dans quelles circonstances l'utiliser?
Le RaPC peut sappliquer dans presque tous les domaines (cuisine, agronomie2, etc ). Il est le plus souvent utilisé dans des domaines où la complexité est de mise et où les problèmes ne peuvent être résolus simplement en appliquant des lois ou des principes.
5) Courte description du principe de fonctionnement
Soit un problème à résoudre. Ce problème est appelé problème cible. Le RàPC peut se décomposer en quatre phases :
1. La recherche dun cas dans la base de cas dont le problème est similaire au problème cible. Cela suppose de savoir mesurer la similarité entre cas. Pour ça, on dispose dindex qui répertorient les caractéristiques des cas (appelés indices3) utiles à la recherche. Dautres critères que la similarité peuvent également être utilisés dans la lextraction dun cas comme la fréquence dutilisation, lancienneté, etc Le ou les cas ainsi extrait sont appelés cas sources.
2. La réutilisation de la solution attachée au cas source. Cette solution peut être soit appliquée directement ou après être ajustée par des lois dadaptations (on parle alors d adaptation transformationnelle) soit modifiée en appliquant au problème cible le raisonnement qui a permis la résolution du problème source (on parle alors d adaptation dérivative).
3. La révision de la solution choisie. La solution source est appliquée puis évaluée. A-t-on abouti à la résolution complète du problème ? Si non, pourquoi ? Dans ce cas, la solution peut encore être réadaptée.
4. Lapprentissage : le cas cible (le problème + la solution ayant été appliquée) est alors ajouté à la base de cas et ce, que le problème ait été résolu ou non.
Il découle de cette description un certain nombre de problématiques. Par exemple, comment modéliser efficacement la base de cas ? Comment mesurer efficacement la similarité entre plusieurs cas ? Il nexiste pas une seule réponse. Pour ce qui est de la modélisation de la base de cas, citons entre autres, comme réponse possible, larbre de décision, le modèle à mémoire dynamique ou le modèle à base de catégories1.
6) Forces et faiblesses
Comme précisé plus haut, le RàPC permet daborder des problèmes complexes et de mieux gérer lincertitude ou lindéterminisme. Il est utile dans les domaines où nos connaissances sont surtout dorigine inductive comme la médecine ou la cuisine.
Toutefois, il a aussi un certain nombre de points faibles qui sont ceux du raisonnement à induction. Par exemple, les points communs et les différences retenus entre plusieurs problèmes dans la mesure de la similarité nest pas toujours significative et ne signifie pas que ces points et ces différences se retrouveront dans leurs solution. Deux problèmes similaires peuvent avoir des solutions totalement différentes1.
7) Temps/ Difficultés d'apprentissage
La compréhension du RàPC nécessite simplement de comprendre les notions qui sy rattachent (cas, similarité, etc ) et de se souvenir de ses 4 phases. La mise en uvre peut cependant prendre plus ou moins de temps selon le domaine dapplication du RàPC. En médecine, par exemple, la révision peut prendre plusieurs années1.
8) Outils de fonction similaire
Le RàPC peut sapparenter aux algorithmes génétiques en ceci que les deux peuvent servir à la génération de solutions à des problèmes non-solvables de manière systématiques. La principale différence réside dans le fait que les algorithmes génétiques génèrent des solutions de manière aléatoire. Plus dinformation sur les algorithmes génétiques ici : http://www.recherche.enac.fr/opti/papers/thesis/HABIT/main002.html
En théologie, en droit et en médecine, la casuistique peut également être vue comme une application du RàPC. Plus dinformation ici : http://books.google.fr/books?id=VCYoKnDa1mIC&printsec=frontcover&dq=casuistique&source=bl&ots=piVc2OuXct&sig=vsvi3iDcwyb5YVMyhYYXXX04ZEs&hl=fr&ei=_LAfTdS8CIar8QPdxIW1BQ&sa=X&oi=book_result&ct=result&resnum=10&ved=0CGMQ6AEwCQ#v=onepage&q&f=false
9) Supports logiciels
Des logiciels de RàPC ont été développés ou vont être développés dans plusieurs domaines. En voici une liste non-exhaustive :
Le logiciel CHEF qui permet de réaliser une recette donné à laide dingrédients donnés : http://www.cs.indiana.edu/classes/b351-leak/local/chef2up.pdf
Dans le domaine de la thanatologie, le logiciel SWALE permet de retrouver les causes de la mort dun individu humain ou animal en la comparant à dautres morts similaires :
http://www.cs.indiana.edu/~leake/projects/swale/
Le logiciel PERSUADER applique la méthode RàPC pour gérer les conflits : http://www.cs.cmu.edu/~sycara/persuader.html
En sciences de léducation, le projet AMBRE prévoit de concevoir des logiciels de RàPC pour aider des élèves à apprendre des méthodes de résolution des problèmes.
http://liris.cnrs.fr/Documents/Liris-2745.pdf
En agronomie, le projet ROSA2 vise également à terme à la conception dun logiciel de RàPC
http://www.cairn.info/revue-anthropologie-des-connaissances-2008-2-page-169.htm
10) Bibliographie/Webographie
1. La page Wikipédia associée au RàPC :
http://fr.wikipedia.org/wiki/Raisonnement_par_cas
Ainsi que sa version anglophone :
http://en.wikipedia.org/wiki/Case-based_reasoning
2. Larticle du CAIRN consacré au projet ROSA cité ci-dessus, et qui présente également une description du RàPC :
http://www.cairn.info/revue-anthropologie-des-connaissances-2008-2-page-169.htm
3. http://www-sop.inria.fr/aid/people/Michel.Jaczynski/rapc-fra.htm
4. http://liris.cnrs.fr/~rapc/mediawiki/index.php/Accueil
5. http://www.scd.uhp-nancy.fr/docnum/SCD_T_2009_0109_BADRA.pdf
6. http://www-edmsii.u-strasbg.fr/Site-ED-MSII-2010/These-Renaud.html
Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 3 invités
Tu pars déja ?
Identification
Pas encore inscrit ?
Ou identifiez-vous :