Raisonnement par Analogie et Compression dInformation Laurent Orseau

  • Slides: 39
Download presentation
Raisonnement par Analogie et Compression d’Information Laurent Orseau Cours ENSTA 2008 -2009 aaabbbbccccc a

Raisonnement par Analogie et Compression d’Information Laurent Orseau Cours ENSTA 2008 -2009 aaabbbbccccc a 3 b 4 c 5 ?

Inférence: Types de Raisonnement n Déduction q q n Induction q q n Faits

Inférence: Types de Raisonnement n Déduction q q n Induction q q n Faits + règles nouveaux faits Preuves mathématiques Faits nouvelles règles Généralisation, apprentissage Analogie q Induction + déduction en une étape

Raisonnement par Analogie n n Monaco est le Las Vegas de l’Europe La Terre

Raisonnement par Analogie n n Monaco est le Las Vegas de l’Europe La Terre est au soleil ce que l’électron est au noyau Les étudiants c’est comme le linge, quand il fait beau, ca sèche A est à B ce que C est à D n Les cours sont aux étudiants ce que l’eau est au linge

Raisonnement par Analogie n Raisonnement très utile dans beaucoup de circonstances q n Expliquer

Raisonnement par Analogie n Raisonnement très utile dans beaucoup de circonstances q n Expliquer rapidement un fait complexe, en référence à un autre fait connu Parfois subtil ! q - Je vais payer ma bière - Moi aussi ! n Sa bière, ma bière ? Mais il a pris un whisky !

Interprétation simple A B C D n On transforme A en B, et cette

Interprétation simple A B C D n On transforme A en B, et cette même transformation s’applique à C : q q n B=f(A) D=f(C) Exemple Terre Electron –(tourne autour, attiré par) Soleil –(tourne autour, attiré par) Noyau

Problème Analogique n Problème analogique : trouver D A –(f) B C –(f) ?

Problème Analogique n Problème analogique : trouver D A –(f) B C –(f) ? Trouver f Terre Electron –(tourne autour, attiré par) Soleil –(tourne autour, attiré par) ?

… mais plus compliqué ? § La souris est à l’éléphant ce que l’araignée

… mais plus compliqué ? § La souris est à l’éléphant ce que l’araignée est à Odile Deray § § La souris est à l’éléphant ce que Joe est à Averell § § § abstraction A B : peur abstraction A B : petit/grand A B et C D ne sont pas indépendants Interpréter A B en fonction de C

Interprétations n L’interprétation de A et B peut dépendre de C, et réciproquement. q

Interprétations n L’interprétation de A et B peut dépendre de C, et réciproquement. q q q n A = f. A(B , C) B = f. B(A, C) C = f. C(A, B) Objectif : trouver D à partir de A, B, et C D = f. D(A, B, C) Trouver f. D q

Copycat n Mitchell & Hofstadter – 1993 abc abd kji ? Douglas Hofstadter (1945

Copycat n Mitchell & Hofstadter – 1993 abc abd kji ? Douglas Hofstadter (1945 – …)

Copycat n Successeur et prédécesseur q n Séquence q n n abcd… Séquence de

Copycat n Successeur et prédécesseur q n Séquence q n n abcd… Séquence de séquences q n a → b, b → a, 1 → 2, … aaabbbccc… Premier, dernier, Oppose(premier, dernier), Oppose(successeur, prédécesseur), …

Copycat abc abd ijk ? kji ? c ? abcde ? m ? xyz

Copycat abc abd ijk ? kji ? c ? abcde ? m ? xyz ? fpc ? iijjkk ? aabbcc ? ijjkkk ? abbccc ?

Metacat (1998) n n n Suite de Copycat http: //science. slc. edu/~jmarshall/metacat/ Démonstration

Metacat (1998) n n n Suite de Copycat http: //science. slc. edu/~jmarshall/metacat/ Démonstration

Différentes solutions abc abd Commentaire ijk ijl Transformer la dernière lettre en son successeur

Différentes solutions abc abd Commentaire ijk ijl Transformer la dernière lettre en son successeur ijk Transformer c en d ijd Transformer la dernière lettre en d ij abd ijkl ijf Enlever la dernière lettre et si c’est un c la remplacer par un d Transformer le tout en abd c=3, d=4, longueur(ijk)=3, longueur(ijkl)=4 Transformer la dernière lettre en d si c’est un c sinon en f

Meilleure solution ? n n Quelle solution est la plus pertinente ? Sur quels

Meilleure solution ? n n Quelle solution est la plus pertinente ? Sur quels critères se baser ? Critères universels ? Pourquoi, intuitivement, certaines sont clairement meilleures que d’autres, alors qu’il s’agit d’un domaine peu intuitif (rarement utilisé en confrontation avec le monde réel) ?

Induction : comment choisir ? n Le grand problème de la science q q

Induction : comment choisir ? n Le grand problème de la science q q n Bertrand Russel : « Le scandale de l’induction » Aucune induction n’est plus valide qu’une autre ? Suite : 2 4 6 8 …? q 10 ? n n n q 34 ? n q f(x) = 2 x f(x) = 10 si x >= 5 … f(x) = x 4 – 10 x 3 + 35 x 2 – 48 x + 24 Tout nombre est possible ! n Mais pourtant certaines solutions ont l’air meilleures !

Induction : comment choisir ?

Induction : comment choisir ?

Le Rasoir d’Occam n Principe connu avant Occam q n Un des grands principes

Le Rasoir d’Occam n Principe connu avant Occam q n Un des grands principes de la sciences : q q q n Mais lui est généralement attribué Guillaume d’Occam (1288 - c. 1348) Il ne faut pas multiplier les hypothèses inutilement Entre deux hypothèses autrement équivalentes, il est préférable de choisir la plus simple Une hypothèse qui ne sert à rien est une hypothèse en trop Pour info: Autre grand principe q Popper, Laplace: Les théories proposées doivent être réfutables, donc fournir des prédictions

Rasoir d’Occam n Ce que ca veut dire : q n Pour deux hypothèses

Rasoir d’Occam n Ce que ca veut dire : q n Pour deux hypothèses exprimées dans un même langage simple et précis et identiquement cohérentes avec les faits observés, la plus simple est la meilleure Langage q q Simple : peu de mots de base Précis : formel n q Où il est possible de déduire des choses, faire des prédictions Modèles formels de calcul n n Lambda-Calcul Machines de Turing Langages de programmation …

Exemples rasoirs n n Pourquoi ne pas considérer que nous vivons dans un rêve

Exemples rasoirs n n Pourquoi ne pas considérer que nous vivons dans un rêve ? Ou bien … q Rasoir d’Occam : on ne peut pas être sûrs, mais le plus simple c’est de considérer que non. q Suis-je manipulé par quelqu’un d’autre ? Théories du complot q Les extra-terrestres ont-ils envahi la terre sans qu’on le sache ? q Était-ce un banal accident ou un assassinat orchestré par 4 gouvernements pour faire une OPA sur des entreprises étrangères ? q Non ! Sauf si ces théories expliquent des faits autrement incohérents. q Les théories compliquées qui sont « intéressantes » mais qui n’apportent rien de mieux sont à éliminer.

Compression d’information n n Compresser c’est décrire les données de manière plus simple, concise

Compression d’information n n Compresser c’est décrire les données de manière plus simple, concise « compressez-moi » q q n compressez-moi x 2 [1=c[2=om]pr[3=es][sym(3)]z-[sym(2)]i] [1] Zip (LZ 77, LZ 78, LZW, …), MP 3, MPEG, …

Compression d’information n Compresser c’est trouver toutes les régularités q q q n Eviter

Compression d’information n Compresser c’est trouver toutes les régularités q q q n Eviter toute répétition Plus il y a de régularités, plus on peut compresser Trouver des schémas généraux Induction = cher les régularités q Pour généraliser n q « Même contexte même actions » Induction = apprentissage = compression ?

Complexité de Kolmogorov Andreï Kolmogorov (1903 – 1987) Complexité d’une séquence = Taille en

Complexité de Kolmogorov Andreï Kolmogorov (1903 – 1987) Complexité d’une séquence = Taille en bits du plus petit programme générant cette séquence x PM l(p) : la séquence donnée : tous les programmes écrits sur la machine M : longueur de p

Complexité de Kolmogorov n Aléatoire, le vrai q q n Très complexe, pas de

Complexité de Kolmogorov n Aléatoire, le vrai q q n Très complexe, pas de structure Plus court programme = la séquence elle-même Pi q Très structuré, très simple ! q Séquence infinie programme fini

Induction de Solomonoff n Chercher le plus petit programme engendrant une séquence donnée q

Induction de Solomonoff n Chercher le plus petit programme engendrant une séquence donnée q n Quasiment tout problème peut se poser par la prédiction d’une séquence binaire Mais incalculable… q n Ray Solomonoff (1926 - …) Même si elle existe, on ne peut pas la trouver dans le cas général (Théorème de Gödel, problème de l’arrêt, …) On peut s’en approcher

Complexité de Kolmogorov : Quelle machine ? n Dépendant de la machine utilisée q

Complexité de Kolmogorov : Quelle machine ? n Dépendant de la machine utilisée q n Plus la machine est petite (nombre d’états, nombre de symboles), moins elle est biaisée q n n Validité si des instructions sont spécifiques à certains problèmes ? Plus on réutilise les mêmes instructions, mieux on peut comparer les solutions Comment choisir le bon langage ? Machines de Turing Universelles

Machines de Turing n Alan Turing q q Un des pères fondateurs de l’informatique

Machines de Turing n Alan Turing q q Un des pères fondateurs de l’informatique Formalisation de machine de calcul universelle n n Alan Turing (1912 – 1954) Formalisation des ordinateurs Thèse de Turing-Church Tout système de calcul mécanique peut se simuler par une Machine de Turing Tous les langages de programmation (dignes de ce nom) sont Turing-complets, i. e. équivalents q

Machine de Turing 1 0 1 0 0 1 … Bande infinie Tête de

Machine de Turing 1 0 1 0 0 1 … Bande infinie Tête de lecture + automate La machine possède un état courant. En fonction du bit lu, l’état courant de l’automate peut être modifié et le nombre sous la tête de lecture peut être modifié La tête se déplace ensuite à gauche ou à droite en fonction de l’état courant. L’automate est le programme de la Machine.

Machine de Turing Universelle n Machine de Turing Universelle (MTU): q L’automate est toujours

Machine de Turing Universelle n Machine de Turing Universelle (MTU): q L’automate est toujours le même. n n q Jeu d’instructions de base fixe ~assembleur Le vrai programme se trouve sur la bande, avec les données n ~fichier du programme + fichier des données

Complexité et Machines de Turing n n On cherche le plus petit programme générant

Complexité et Machines de Turing n n On cherche le plus petit programme générant une séquence donnée de 0/1 Sa complexité = nombre de bits qu’il prend sur la bande q Lorsqu’on exécute le programme, il doit n n Générer la séquence Puis s’arrêter.

Autres langages ? n Pas de MTU unique ! q q Mais sont toutes

Autres langages ? n Pas de MTU unique ! q q Mais sont toutes équivalentes à une constante près. Théorème d’invariance : n n KM(x) < KN(x) + C Deux machines données M et N, constante C fixée Il suffit de programmer N dans M cout fixe Simplification q q Sans grande perte de généralité, on peut utiliser des langages de programmation évolués à la place des MT. Mais éviter de multiplier les instructions spécialisées !

Coût du langage n n Le coût en bits de chaque opérateur du langage

Coût du langage n n Le coût en bits de chaque opérateur du langage devrait être calculé par rapport à la MTU Mais on peut souvent donner des valeurs intuitivement sans grand risque.

Cornuéjols Ales-Bianchetti 98 Antoine Cornuéjols (-1150 BC – …) n Minimum Description Length Principle

Cornuéjols Ales-Bianchetti 98 Antoine Cornuéjols (-1150 BC – …) n Minimum Description Length Principle + Copycat q n n MDLp = complexité de Kolmogorov pour l’apprentissage Décrire l’espace des solutions comme un programme En analogie : q Minimiser la description totale ABCD q = Choisir la description la plus courte

Copycat + MDLp abc abd Longueur en bits iijjkk iijjll 35 iijjkk iijjkl 67

Copycat + MDLp abc abd Longueur en bits iijjkk iijjll 35 iijjkk iijjkl 67 iijjkk Iijjkd 68 iijjkk iikjkk 72 iijjkk iijjd 62

Intellexit n n cf. diaporama CAp 09 Recherche de descriptions locales q q n

Intellexit n n cf. diaporama CAp 09 Recherche de descriptions locales q q n n Relations entre objets, à la Copycat Beaucoup plus « carré » Recherche de la compression maximale Dans un langage « très flexible »

Intellexit n montrer l’animation de Cap ? n aaaabbbbcccc for i=1 to 3 for

Intellexit n montrer l’animation de Cap ? n aaaabbbbcccc for i=1 to 3 for j=1 to 4 print(‘a’ + i) bbccddeeff ? n

Conclusion n Analogie q n Comment trouver D ? q q n A B

Conclusion n Analogie q n Comment trouver D ? q q n A B ; C ? D = f(A, B, C) Beaucoup de solutions f possibles, quelle est la meilleure ? Rasoir d’Occam q Choisir le f le plus simple n n n décrire les f dans un langage simple calculer le coût de chaque f Minimiser Cout(A+B+C+D) q q A, B, C, et D en fonction de A, B, C et D. Min Cout(f. A(B, C) + f. B(A, C) + f. C(A, B) + f. D(A, B, C))

Le TP n Simplifications : q q B = f(A) D = f(C) On

Le TP n Simplifications : q q B = f(A) D = f(C) On ne cherche pas à compresser A Minimiser seulement cout(f) Déjà très expressif ! n n n A: Pierre chasse un lapin B: Paul fuit un lièvre C: Marie adore les sushis D: ? Connaissance a priori: q q q n oppose(chasse, fuit) oppose(adore, déteste) similaire(lapin, lièvre) similaire(sushi, maki) parent(Paul, Pierre) parent(Marie, Georgette) Exemples plus complexes possibles !

Le TP n Langage impératif simple à pile q q Un opérateur prend ou

Le TP n Langage impératif simple à pile q q Un opérateur prend ou pose un ou plusieurs mots sur la pile, et peut les transformer Générer la phrase B avec des instructions de base : n sujet. A, verbe. A, complément. A q q n sujet. B, verbe. B, complement. B q q n Copie d’un mot de la phrase A vers la phrase B Peu couteux Ecriture directe (non recopie) d’un mot de B Couteux (écrire chaque caractère) Autres opérateurs : similaire, oppose, parent, … q q Transforment des mots de la pile Peu couteux, mais plus couteux que simple copie

Le TP n Prolog q q 20 lignes de code… Programme similaire en C

Le TP n Prolog q q 20 lignes de code… Programme similaire en C : n n moins rapide moins facile moins fonctionnel …