diff --git a/pdf/README.pdf b/pdf/README.pdf index 46a4d51..d47da05 100644 Binary files a/pdf/README.pdf and b/pdf/README.pdf differ diff --git a/pdf/semaine02.pdf b/pdf/semaine02.pdf index ec41281..6122042 100644 Binary files a/pdf/semaine02.pdf and b/pdf/semaine02.pdf differ diff --git a/pdf/semaine03.pdf b/pdf/semaine03.pdf index 06f1ad8..d4522d2 100644 Binary files a/pdf/semaine03.pdf and b/pdf/semaine03.pdf differ diff --git a/semaine03.md b/semaine03.md index 93be712..07fd139 100644 --- a/semaine03.md +++ b/semaine03.md @@ -17,18 +17,18 @@ Source: [Young - Production Systems in Cognitive Psychology](http://www0.cs.ucl. - Un système de production est une collection de règles `si ... alors ...` qui ensemble forment un modèle de simulation et traitement de l'information d'une tâche cognitive ou d'un ensemble de tâches. - Le fonctionnement est un cycle de reconnaissance (conditions) et d'action - Caractéristiques: - - Traitement en série et en parallèle - - Indépendance des règles - - Contrôle flexible + - Traitement en série et en parallèle + - Indépendance des règles + - Contrôle flexible - Utilisés dans des domaines avec une forte concentration de connaîssances, par exemple le domaine médical et le jeu d'échecs. - Deux mémoires: 1. Mémoire de production (règles) 1. Mémoire de données (informations sur la tàche en cours) - Résolution de conflits - - Un conflit se produit si plusieurs règles sont satisfaites simultanément - - Différentes méthodes de résolution: ordre de précédence des règles, âge des données, complexité des conditions de la règle, ... - - Young and O’Shea (1981): Résolution de soustractions chez les enfants: une douzaine de règles. Les erreurs les plus fréquentes sont répliquées facilement en enlevant ou ajoutant une règle au système. - - Depuis les années 1990: Architectures cognitives intégrées: + - Un conflit se produit si plusieurs règles sont satisfaites simultanément + - Différentes méthodes de résolution: ordre de précédence des règles, âge des données, complexité des conditions de la règle, ... +- Young and O’Shea (1981): Résolution de soustractions chez les enfants: une douzaine de règles. Les erreurs les plus fréquentes sont répliquées facilement en enlevant ou ajoutant une règle au système. +- Depuis les années 1990: Architectures cognitives intégrées: - Soar (Newell 1990): - ACT (Anderson and Lebiere 1998): @@ -37,33 +37,49 @@ Source: [Young - Production Systems in Cognitive Psychology](http://www0.cs.ucl. - Les systèmes experts représentent les connaîssances servant à résoudre les problèmes sous la forme de règles `si ... alors ...`. - Plus ancienne forme de représentation des connaîssances - Un système expert à base de règles est construit à partir d'un **système de production** tel que défini par Newell and Simon: - - Modéliser la performance humaine dans la résolution de problèmes - - Base de connaîssances spécifique au domaine: ensemble de règles de production - - Expérimentation sur la cryptarithmétique: résolution de problèmes arithmétiques où les nombres sont encodés. Observation du processus de résolution et établissement de règles. + - Modéliser la performance humaine dans la résolution de problèmes + - Base de connaîssances spécifique au domaine: ensemble de règles de production + - Expérimentation sur la cryptarithmétique: résolution de problèmes arithmétiques où les nombres sont encodés. Observation du processus de résolution et établissement de règles. - Un système expert doit respecter ces conditions: - - Ouvert à l'inspection - - Facilement modifiable - - Nature heuristique + - Ouvert à l'inspection + - Facilement modifiable + - Nature heuristique ## Recherche ### Recherche vers l'avant -La recherche vers l'avant est utilisée lorsqu'il est difficile de formuler une hypothèse ou un but. Par exemple, dans un problème d'interprétation. Recherche avec parcours en largeur. + +- La recherche vers l'avant est utilisée lorsqu'il est difficile de formuler une hypothèse ou un but. +- Par exemple, dans un problème d'interprétation. +- Recherche avec parcours en largeur. ### Recherche vers l'arrière -La recherche par l'arrière dans un système expert revient au test d'une hypothèse. L'objectif est identifié et placé en mémoire. Des objectifs intermédiaires peuvent être résolus en demandant à l'utilisateur des informations supplémentaires. Pas de mécanisme de propagation par l'arrière. Recherche avec parcours en profondeur. +- La recherche par l'arrière dans un système expert revient au test d'une hypothèse. +- L'objectif est identifié et placé en mémoire. +- Des objectifs intermédiaires peuvent être résolus en demandant à l'utilisateur des informations supplémentaires. +- Pas de mécanisme de propagation par l'arrière. +- Recherche avec parcours en profondeur. ## Explication et transparence Les deux questions auxquelles un système expert à base de règles peut répondre sont: pourquoi? et comment? + - Pourquoi demandes-tu cette information? - - Retourne la règle courante pour laquelle il manque une information. + - Retourne la règle courante pour laquelle il manque une information. - Comment es-tu arrivé à cette conclusion? - - Retourne la réquence de règles qui ont permis d'arriver à la conclusion. + - Retourne la réquence de règles qui ont permis d'arriver à la conclusion. -Le programme peut être arrêté à chaque cycle et inspecté. Chaque règle représente un élément de résolution du problème, une étape logique. Contrairement à un programme traditionnel compilé où l'instruction courante fera peu de sens. +Caractéristiques: -Le mécanisme est simple, mais le pouvoir d'explication est remarquable. Si les règles sont mal divisées par contre, les réponses seront adéquates, mais les explications seront vagues, arbitraires ou illogiques. Ceci réduira la confiance de l'utilisateur envers le système. +- Le programme peut être arrêté à chaque cycle et inspecté. +- Chaque règle représente un élément de résolution du problème, une étape logique. +- Contrairement à un programme traditionnel compilé où l'instruction courante fera peu de sens. + +Avantages et inconvénients: + +- Le mécanisme est simple, mais le pouvoir d'explication est remarquable. +- Si les règles sont mal divisées par contre, les réponses seront adéquates, mais les explications seront vagues, arbitraires ou illogiques. + - Ceci réduira la confiance de l'utilisateur envers le système. ## Raisonnement à partir des données @@ -80,24 +96,27 @@ Ce mode de raisonnement est une recherche avec parcours en largeur: les conditio ### Système avec objectif - Il est possible de contrôler la recherche par la structuration et l'ordonnancement des règles. -Tri des règles: -- Interprétation des règles de façon procédurale. Doit suivre un plan comme le ferait un expert humain. +- Tri des règles: + - Interprétation des règles de façon procédurale. + - Doit suivre un plan comme le ferait un expert humain. -Ordonner les prémisses dans une règle: -- Ce qui a le plus de chances d'échouer est le plus facile à tester en premier. -- Tenir compte du coût de calcul de chacun des tests. +- Ordonner les prémisses dans une règle: + - Ce qui a le plus de chances d'échouer est le plus facile à tester en premier. + - Tenir compte du coût de calcul de chacun des tests. ### Système à base de données Trois heuristiques à haut niveau pour la résolution de conflits (Luger, section 6.2.3.): -- Réfraction - - Si une règle a été déclenchée, elle ne peut être déclenchée à nouveau tant que les éléments qui correspondent à ses conditions n'ont pas été modifiées. Ceci prévient les boucles. + +- Réfraction: + - Si une règle a été déclenchée, elle ne peut être déclenchée à nouveau tant que les éléments qui correspondent à ses conditions n'ont pas été modifiées. Ceci prévient les boucles. - Récence: - - Préférer les règles dont les conditions correspondent à des éléments récemment ajoutés en mémoire. Donne une seule ligne de raisonnement. -- Spécificité - - Il est approprié d'utiliser une règle plus spécifique qu'une règle plus générale. On définit la spécificité par le nombre de conditions. + - Préférer les règles dont les conditions correspondent à des éléments récemment ajoutés en mémoire. Donne une seule ligne de raisonnement. +- Spécificité: + - Il est approprié d'utiliser une règle plus spécifique qu'une règle plus générale. On définit la spécificité par le nombre de conditions. Algorithme RETE: + - Structure en réseau. - Graphes acycliques directionnels qui représentent des ensembles de règles à plus haut niveau. - Plus efficient que l'approche naïve qui revient à tester les règles une par une en boucle. @@ -105,15 +124,17 @@ Algorithme RETE: ## Langages et outils utilisés +(Source: pages Wikipédia correspondantes) + - Prolog, Scheme, Java - Langage de systèmes de production OPS5 - - [Page Wikipédia](https://en.wikipedia.org/wiki/OPS5) + [Page Wikipédia](https://en.wikipedia.org/wiki/OPS5) - CLIPS: C Language Integrated Production System (1985) - - [Site officiel](http://clipsrules.sourceforge.net/) + - [Site officiel](http://clipsrules.sourceforge.net/) - Système Soar (John Laird, 1983), toujours très utilisé aujourd'hui - - [Site web officiel](https://soar.eecs.umich.edu/) + - [Site web officiel](https://soar.eecs.umich.edu/) - Paquetage Rulu pour Python - - [Rulu Documentation](http://rulu.readthedocs.io/en/latest/) + - [Rulu Documentation](http://rulu.readthedocs.io/en/latest/)