Micro Systèmes n°30 avril 1983
Micro Systèmes n°30 avril 1983
  • Prix facial : 20 F

  • Parution : n°30 de avril 1983

  • Périodicité : mensuel

  • Editeur : Société Parisienne d'Edition

  • Format : (203 x 271) mm

  • Nombre de pages : 222

  • Taille du fichier PDF : 173 Mo

  • Dans ce numéro : entretien avec Clive Sinclair... la multiplication des micros.

  • Prix de vente (PDF) : gratuit

Dans ce numéro...
< Pages précédentes
Pages : 98 - 99  |  Aller à la page   OK
Pages suivantes >
98 99
Chaque mise en correspondance donne lieu au parcours d'une arborescence. Dossier pour tenter de mettre en correspondance la deuxième condition et les autres faits de la base. Il trouve alors (Possède Toto Confiture). X et Toto vont bien ensemble et la variable Z prend la valeur « Confiture ». L'opération d'unification continue. La condition suivante (Serta Manger Confiture) existant sous cette forme dans la base, la règle est donc bien unifiée. La partie action est alors déclenchée. Le fait (Réalise X Y) qui devient maintenant, après lecture des valeurs de X et Y (Réalise Toto Manger) est ajouté à la base des faits, tandis que la procédure qui suit (reconnue grâce à son caractère particulier $) est exécutée, supprimant ainsi le triplet (Désire Toto Manger) de la base. Toto est satisfait. Il a réalisé son désir, et nous l'unification de la règle. Lorsque plusieurs règles sont en présence, celles-ci seront successivement appliquées sur la base jusqu'à ce qu'elles soient toutes unifiées. Le système s'arrête alors avec, dans sa base, des anciens faits qui n'ont pas été éliminés ainsi que tous les nouveaux faits « inférés » par le système. Cette technique d'unification utilise un mécanisme similaire à celui que nous avons rencontré pour le jeu « Missionnaires et cannibales ». Chaque mise en correspondance donne lieu au parcours d'une arborescence, telle que celle présentée figure 9. Unifier les faits aux règles La gestion de la valeur des variables est réalisée grâce à une liste de paires « variables-valeur » qui contient l'ensemble des affectations de valeurs effectuées au cours d'une unification. Dans notre système, cette liste s'appelle. SUBSOFAR. Quand, au cours d'une unification, une variable n'ayant été associée à aucune valeur est rencontrée, une nouvelle paire composée du nom de la variable et ETAT INITIAL Désire X Y = désire Toto manger X = Toto Y = manger * Possède Toto Z = possède Toto vélo Z vine Serra manger vélo = pas trouve RETOUR EN ARRIERE REGLE VERIFIEE Nouveau fait réalise Toto manger Fait supprimé désire Toto manger Fig. 9. — Le procédé d'unification d'une règle à la base de faits. Lorsque la valeur d'une variable ne correspond pas, le programme revient en arrière et continue ses recherches dans une autre direction. de la valeur qui lui est affectée momentanément est ajoutée à la liste. En revanche, si une variable est déjà présente dans la liste, deux cas peuvent se rencontrer. Si la valeur affectée à cette variable correspond à celle issue de l'unification, l'analyse se poursuit sans modification. Autrement, si elles ne correspondent pas, le programme effectue un retour à la condition précédente pour tenter de l'unifier à nouveau avec l'un des autres faits de la base. Il s'agit encore ici d'un algorithme de « Backtracking » dans lequel l'ordinateur essaie une voie et revient en arrière lorsqu'elle s'avère sans issue. La figure 10 donne l'ensemble des procédures utilisées pour, la réalisation de ce micro-système expert. La procédure générale est baptisée « unifie ». Elle tente de mettre successivement en correspondance la liste des règles de production, qui s'appelle% RULE%, avec la base des faits,% BASE%. Le symbole « ? » placé devant un mot indique qu'il s'agit d'une variable. La base des faits ne contient aucune variable. La figure 11 montre des exemples d'unification entre plusieurs bases de faits et bases de règles de productions. En jargon de systèmes experts, un tel système est dit d'ordre 1 parce qu'il n'autorise dans ses conditions ou ses actions que des faits ou variables simples. Il est ainsi impossible d'imbriquer les prédicats pour obtenir quelque chose comme  : (Désire X (Manger X Y)) « X Désire Manger Y » De plus, il est dit « à déclenchement immédiat », car il active la partie action dès qu'une règle est unifiée. D'autres systèjies essayent d'examiner s'il'existe pas de nouvelles règlesui puissent être appliquées et écident ensuite de l'activation de la partie action de telle ou telle règle. Un système de ce type, ainsi présenté, pourrait être facilement utilisé pour l'apprentissage de ! a logique du premier ordre. ■ 98 — MICRO-SYSTEMES Avril 1983
TO DELETE  : F  : LST TEST  : LST = [] IFT [OP []] IFF [OP IE EQUALP FIRST  : LST  : F [DELETE  : F BF  : LST] [FPUT FIRST  : LST DELETE  : F BF  : LST]] END TO WIIILE  : CONDIT  : INSTRUC TEST RUN  : CONDIT IFFALSE [STOP] RUN  : INSTRUC  : CONDIT  : INSTRUC END TO ASSOC  : OBJ  : ALIST IF  : ALIST = [] (OP []] IF  : OBJ = FIRST FIRST  : ALIST [OP FIRST BE FIRST  : ALIST] [OP ASSOC  : OBJ BF  : ALIST] END TO INSERE  : VAL  : LST IF MEMBERP  : VAL  : LST [OP  : LET] [OF LPUT  : VAL  : LST] END TO ADDRUL1 (LOCAL "ANTE "CONSEO) TYPE [ANTECEDENT  : ] MAKE "ANTE RL TYPE [CONSEQUENT  : ] MAKE "CONSEQ RL PRINT [] MAKE "%RULES% LPUT (LIST  : NUMREG  : ANTE  : CONSEQ)  : % RULE-S-1- END TO ADDRULE LOCAL "NUMREG TYPE [NUMERO REGLE  : ] MAKE "NUMREG RL IF  : NUMREG = [] [PRULES] [MAKE "NUMREG FIRST  : NUMREG ADDRUL1 ADDRULE] END TO PLACEFACT  : PRED (PR [NEWFACT =]  : PRED) IF FIRST FIRST  : PRED = "$ [RUN LIST FIRST  : PRED BF  : PRED STOP] IF NOT MEMBERP  : PRED  : FACTS [MAKE "FACTS FPUT  : PRED  : FACTS] END TO ADDBASE LOCAL "R TYPE [VOTRE REGLE ?) MAKE "R RL TEST  : R = [1 IFTRUE [PRBASE  : % BASE% STOP] IFFALSE [MAKE "%BASE% LPUT  : R  : % BASE% ADDBASE] END TO PRUL1  : RULE PRINT FIRST  : RULE (PR FIRST BF  : RULE " = > FIRST BF BF  : RULE) PR [] END TO PRULES LOCAL "RULES MAKE "RULES  : % RULES% MULE [NOT ( : RULES = [])] [PRUL1 FIRST  : RULES MAKE "RULES -BF  : RULES] END TO PRBASE  : BASE TEST  : BASE = [] IFTRUE [STOP] IFFALSE [PRINT FIRST  : BASE PRBASE BF  : BASE] END TO UNIFIE LOCAL "B MAKE "B APPLIC  : % RULES%  : % BASE% PR [1 PR [NOUVELLE BASE] PR [] PRBASE  : 8 END TO GENER1  : PREDS  : SUBS TEST  : PREDS = [] IFFALSE [GENERO FIRST  : PREDS  : SUBS [] GENER1 BF  : PREDS  : SUBS] END TO VARUNIF  : VAR  : VAL LOCAL "S MAKE "S ASSOC  : VAR  : SUBSOFAR TEST  : S = [] IFTRUE [MAKE "SUBSOFAR FPUT (FPUT  : VAR LIST  : VAL)  : SUBSOFAR OP "TRUE] IFFALSE [OP (:VAL = ASSOC  : VAR  : SUBSOFAR)] END TO UNIFO  : PRED  : FACT IF  : PRED = [] [OP "TRUE STOP] IF FIRST  : PRED = FIRST  : FACT [OP UNIFO BF  : PRED BF  : FACT] IF ISVAR FIRST  : PRED [IF VARUNIF FIRST  : PRED FIRST  : FACT [OP UNIFO BE  : PRED BF  : FACT] [OP "FALSE STOP]] [OP "FALSE STOP] END TO ISVAR  : X OP FIRST  : X = " ? END TO DEDUITO  : ANTE  : BASE  : SUBSOFAR LOCAL "PREVSUB IF  : BASE = [] [STOP] TEST  : ANTE = [] IFTRUE [PLACEVAL  : CONSEQ  : SUBSOFAR] IFFALSE [(MAKE "PREVSUB  : SUBSOFAR) IF UNIFO FIRST  : ANTE FIRST  : BASE [DEDUITO BF  : ANTE  : FACTS  : SUBSOFAR DEDUITO  : ANTE BF  : BASE  : PREVSUB] [DEDUITO  : ANTE BE  : BASE  : SUBSOFAR]] END TO DEDUIT  : REGLE (LOCAL "ANTECED "CONSEQ "RESULT "NUMREG) MAKE "ANTECED FIRST BF  : REGLE MAKE "CONSEQ FIRST BF BF  : REGLE MAKE "NUMREG FIRST  : REGLE MAKE "RESULT [] (PR [ESSAI REGLE]  : NUMREG) DEDUITO  : ANTECED  : FACTS [1 GENERER  : RESULT END TO PLACEVAL  : CONS  : SUB MAKE "RESULT FPUT (LIST  : CONS  : SUB)  : RESULT (PR [UNIFICATION  : ]  : NUMREG) END TO APPLIC  : RULES  : FACTS TEST  : RULES = [] IFTRUE [OP  : FACTS STOP] IFFALSE [DEDUIT FIRST  : RULES OP APPLIC BF  : RULES  : FACTS] END TO GENERER  : RES TEST  : RES = [] IFTRUE [STOP] IFFALSE [GENER1 FIRST FIRST  : RES FIRST BE FIRST  : RES GENERER BF  : RES] END TO GENERO  : PRED  : SUBSOF  : R TEST  : PRED = [] IFTRUE [IF NOT (:R = (1) [PLACEFACT  : R]] IFFALSE [IF ISVAR FIRST  : PRED [MAKE "R LPUT (ASSOC FIRST  : PRED  : SUBSOF)  : R] [MAKE "R LPUT FIRST  : PRED  : R] GENERO BE  : PRED  : SUBSOF  : R] END TO $SUPPRIME  : X FANE "FACTS DELETE  : X  : FACTS END Fig. 10. — Le listing de MICRO-EXPERT, un petit système expert d'ordre 1 à « chaînage en avant ». Avril 1983 MICRO-SYSTEMES — 99



Autres parutions de ce magazine  voir tous les numéros


Liens vers cette page
Couverture seule :


Couverture avec texte parution au-dessus :


Couverture avec texte parution en dessous :


Micro Systèmes numéro 30 avril 1983 Page 1Micro Systèmes numéro 30 avril 1983 Page 2-3Micro Systèmes numéro 30 avril 1983 Page 4-5Micro Systèmes numéro 30 avril 1983 Page 6-7Micro Systèmes numéro 30 avril 1983 Page 8-9Micro Systèmes numéro 30 avril 1983 Page 10-11Micro Systèmes numéro 30 avril 1983 Page 12-13Micro Systèmes numéro 30 avril 1983 Page 14-15Micro Systèmes numéro 30 avril 1983 Page 16-17Micro Systèmes numéro 30 avril 1983 Page 18-19Micro Systèmes numéro 30 avril 1983 Page 20-21Micro Systèmes numéro 30 avril 1983 Page 22-23Micro Systèmes numéro 30 avril 1983 Page 24-25Micro Systèmes numéro 30 avril 1983 Page 26-27Micro Systèmes numéro 30 avril 1983 Page 28-29Micro Systèmes numéro 30 avril 1983 Page 30-31Micro Systèmes numéro 30 avril 1983 Page 32-33Micro Systèmes numéro 30 avril 1983 Page 34-35Micro Systèmes numéro 30 avril 1983 Page 36-37Micro Systèmes numéro 30 avril 1983 Page 38-39Micro Systèmes numéro 30 avril 1983 Page 40-41Micro Systèmes numéro 30 avril 1983 Page 42-43Micro Systèmes numéro 30 avril 1983 Page 44-45Micro Systèmes numéro 30 avril 1983 Page 46-47Micro Systèmes numéro 30 avril 1983 Page 48-49Micro Systèmes numéro 30 avril 1983 Page 50-51Micro Systèmes numéro 30 avril 1983 Page 52-53Micro Systèmes numéro 30 avril 1983 Page 54-55Micro Systèmes numéro 30 avril 1983 Page 56-57Micro Systèmes numéro 30 avril 1983 Page 58-59Micro Systèmes numéro 30 avril 1983 Page 60-61Micro Systèmes numéro 30 avril 1983 Page 62-63Micro Systèmes numéro 30 avril 1983 Page 64-65Micro Systèmes numéro 30 avril 1983 Page 66-67Micro Systèmes numéro 30 avril 1983 Page 68-69Micro Systèmes numéro 30 avril 1983 Page 70-71Micro Systèmes numéro 30 avril 1983 Page 72-73Micro Systèmes numéro 30 avril 1983 Page 74-75Micro Systèmes numéro 30 avril 1983 Page 76-77Micro Systèmes numéro 30 avril 1983 Page 78-79Micro Systèmes numéro 30 avril 1983 Page 80-81Micro Systèmes numéro 30 avril 1983 Page 82-83Micro Systèmes numéro 30 avril 1983 Page 84-85Micro Systèmes numéro 30 avril 1983 Page 86-87Micro Systèmes numéro 30 avril 1983 Page 88-89Micro Systèmes numéro 30 avril 1983 Page 90-91Micro Systèmes numéro 30 avril 1983 Page 92-93Micro Systèmes numéro 30 avril 1983 Page 94-95Micro Systèmes numéro 30 avril 1983 Page 96-97Micro Systèmes numéro 30 avril 1983 Page 98-99Micro Systèmes numéro 30 avril 1983 Page 100-101Micro Systèmes numéro 30 avril 1983 Page 102-103Micro Systèmes numéro 30 avril 1983 Page 104-105Micro Systèmes numéro 30 avril 1983 Page 106-107Micro Systèmes numéro 30 avril 1983 Page 108-109Micro Systèmes numéro 30 avril 1983 Page 110-111Micro Systèmes numéro 30 avril 1983 Page 112-113Micro Systèmes numéro 30 avril 1983 Page 114-115Micro Systèmes numéro 30 avril 1983 Page 116-117Micro Systèmes numéro 30 avril 1983 Page 118-119Micro Systèmes numéro 30 avril 1983 Page 120-121Micro Systèmes numéro 30 avril 1983 Page 122-123Micro Systèmes numéro 30 avril 1983 Page 124-125Micro Systèmes numéro 30 avril 1983 Page 126-127Micro Systèmes numéro 30 avril 1983 Page 128-129Micro Systèmes numéro 30 avril 1983 Page 130-131Micro Systèmes numéro 30 avril 1983 Page 132-133Micro Systèmes numéro 30 avril 1983 Page 134-135Micro Systèmes numéro 30 avril 1983 Page 136-137Micro Systèmes numéro 30 avril 1983 Page 138-139Micro Systèmes numéro 30 avril 1983 Page 140-141Micro Systèmes numéro 30 avril 1983 Page 142-143Micro Systèmes numéro 30 avril 1983 Page 144-145Micro Systèmes numéro 30 avril 1983 Page 146-147Micro Systèmes numéro 30 avril 1983 Page 148-149Micro Systèmes numéro 30 avril 1983 Page 150-151Micro Systèmes numéro 30 avril 1983 Page 152-153Micro Systèmes numéro 30 avril 1983 Page 154-155Micro Systèmes numéro 30 avril 1983 Page 156-157Micro Systèmes numéro 30 avril 1983 Page 158-159Micro Systèmes numéro 30 avril 1983 Page 160-161Micro Systèmes numéro 30 avril 1983 Page 162-163Micro Systèmes numéro 30 avril 1983 Page 164-165Micro Systèmes numéro 30 avril 1983 Page 166-167Micro Systèmes numéro 30 avril 1983 Page 168-169Micro Systèmes numéro 30 avril 1983 Page 170-171Micro Systèmes numéro 30 avril 1983 Page 172-173Micro Systèmes numéro 30 avril 1983 Page 174-175Micro Systèmes numéro 30 avril 1983 Page 176-177Micro Systèmes numéro 30 avril 1983 Page 178-179Micro Systèmes numéro 30 avril 1983 Page 180-181Micro Systèmes numéro 30 avril 1983 Page 182-183Micro Systèmes numéro 30 avril 1983 Page 184-185Micro Systèmes numéro 30 avril 1983 Page 186-187Micro Systèmes numéro 30 avril 1983 Page 188-189Micro Systèmes numéro 30 avril 1983 Page 190-191Micro Systèmes numéro 30 avril 1983 Page 192-193Micro Systèmes numéro 30 avril 1983 Page 194-195Micro Systèmes numéro 30 avril 1983 Page 196-197Micro Systèmes numéro 30 avril 1983 Page 198-199Micro Systèmes numéro 30 avril 1983 Page 200-201Micro Systèmes numéro 30 avril 1983 Page 202-203Micro Systèmes numéro 30 avril 1983 Page 204-205Micro Systèmes numéro 30 avril 1983 Page 206-207Micro Systèmes numéro 30 avril 1983 Page 208-209Micro Systèmes numéro 30 avril 1983 Page 210-211Micro Systèmes numéro 30 avril 1983 Page 212-213Micro Systèmes numéro 30 avril 1983 Page 214-215Micro Systèmes numéro 30 avril 1983 Page 216-217Micro Systèmes numéro 30 avril 1983 Page 218-219Micro Systèmes numéro 30 avril 1983 Page 220-221Micro Systèmes numéro 30 avril 1983 Page 222