Fichier mvlgh.hlp




        MVLPL,  UN INTERPRETEUR POUR LE CALCUL DE CERTITUDES ET
                PROBABILITES SYMBOLIQUES EN LOGIQUE MULTIVALUEE
                (en ProLog)




1. Introduction
----------------

    Le  programme MVLPL permet  de  tester des calculs de certitude et
    d'opérateurs.   Il  faut a priori choisir le nombre M nommé taille
    du  problème  et  l'utiliser comme paramètre du système.  C'est un
    argument  de  tous  les prédicats, parfois en position 1, d'autres
    fois en position 2 ou 3, parfois ailleurs..


    Une  fois  la taille fixée, plusieurs opérateurs sont disponibles,
    notamment   la   negation   n,  l'implication  de  Lukasiewicz  l,
    l'addition  s,  la  multiplication i, l'anti-division c.  Tous ces
    opérateurs sont discrets (c'est à dire finis) et sont définis soit
    par  des  formules soit par des tables.  A partir d'une formule on
    peut  construire  une table.  Par exemple le prédicat ope donne la
    liste  des operateurs, le predicat lestables(N) affiche toutes les
    tables  en taille N, afftable(O,T) affiche la table de l'operateur
    O en taille T.


    Certains   opérateurs  peuvent  être  définis  à  l'aide  d'autres
    opérateurs.  Ainsi on dispose de sfromt, tfromimp, tfroms, cfromi,
    ifromc.   Les opérateurs classiques (plus, moins, div, mini, maxi)
    sont  disponibles,  comme prem et deuze respectivement définis par
    prem(x,y)  =  x  et  deuze(x,y)=y  ce  qui  s'écrit prem(x,y,Z) et
    deuze(x,y,Z).

**    Toutes les commandes entrées peuvent être mises dans un fichier et
**    lues par la commande script [nom de fichier].


**    Les commandes prop et propu essaient de trouver les propriétés des
**    opérateurs binaires et unaires.


2.  Un exemple de session
--------------------------

 +-------------------------------------------------------+
 +                                                       +
 +   MVLPL Evaluateur de calculs en logique multivaluée  +
 +  ****** en ProLog.                                    +
 +                                                       +
 +   taper aide. pour plus de renseignements,            +
 +         halt. pour quitter                            +
 +         (ne pas oublier le point !!!)                 +
 +                                                       +
 +-------------------------------------------------------+

 1 ?- ope.

 Liste des opérateurs reconnus et implémentés (avec leur arité) :

    l'anti-division      C                             2
    la multiplication    I                             2
    l'implication        I de Lukasiewicz              2
    la constante         K=5                           1
    la négation          N                             1
    la somme symbolique  S                             2
    la t-cornome         T                             2

 Autres opérateurs induits :

 **    cmax cmed cmin
 **    cfromi ifromc sfromt tfroml tfroms

 Nom des opérateurs :     c i l k n s t
 Yes


 2 ?- afftable(c,5).

 Table de l'anti-division      C                    en taille 5

         1   2   3   4   5
------------------------------
   1  :  [1,5]   [0,0]   [0,0]   [0,0]   [0,0]
   2  :  [1,1]   [2,5]   [0,0]   [0,0]   [0,0]
   3  :  [1,1]   [2,4]   [5,5]   [0,0]   [0,0]
   4  :  [1,1]   [2,3]   [4,4]   [5,5]   [0,0]
   5  :  [1,1]   [2,2]   [3,3]   [4,4]   [5,5]
 Yes

 3 ?- halt.
{ End of SWI-Prolog execution}

3.  Paramètres de lancement
----------------------------

    Au  lieu  de  mvlpl on  peut  taper  mvlpl-h  pour  une  aide  sur
    l'utilisation  de fichiers scripts.  Si les commandes précédentes,
    à savoir

         taille 3
         baze   1
         disp   n
         cert_1 = 2
         say " on trouve " imp(cert_1, i(3,4) )

    sont  mises  dans  le fichier essai.mvl, il est possible de lancer
    directement  l'exécution de ces commandes par mvlpl essai.mvl ; bien
    sur,   la   redirection  s'applique  pour  avoir  un  fichier  des
    résultats.

    Le  mot echo (respectivement nocmt) permet d'afficher chaque ligne
    du  script (resp. chaque ligne qui n'est pas un commentaire) avant
    de l'exécuter.  Comme cela, on a l'instruction et son résultat !

    Signalons  qu'en  fin  de fichier-script, le mot session permet de
    repasser  en  mode  interactif  et  donc  de continuer les calculs
    effectués par le script.


4.  Liste alphabétique des commandes (prédicats)
------------------------------------------------

    Chaque nom de prédicat (sauf aide et intro) suivi d'un point déclenche une
    aide succinte. Ainsi c. donne une aide sur le prédicat c...


        aide                 c                      cfromi               cmax
        cmed                 cmin                   comp                 deuz
        dfo                  dfou                   disn                 disp
        div                  dos                    exit                 i
        ifromc               l                      litf                 litou
        maxi                 mini                   moins                n
        plus                 prem                   prop                 propu
        quit                 quit                   s                    script
        session              sfromt                 t                    texdisn
        tfromimp             tfroms                 unix

5.  Compléments
----------------

    Dans  la  mesure  oú  le  programme est écrit en PROLOG, chaque
    instruction  clavier  est complétement interprétée, on peut passer
    des  commandes au système d'exploitation, que ce soit Dos ou Unix.
    Il  suffit  de  taper  la  commande  entre apostrophes via le prédicat shell.
    Ainsi

           dos("dir"). et unix("ls").

    demandent à Dos ou à Unix d'afficher la liste des fichiers.


    La sortie pour Latex des tables se fait par texdisn et texdisp.

  ============================================================================================

     Fin du fichier d'aide (mvlpl.hlp)

  ============================================================================================