Simplification d'expressions booléennes

Utilisation de Xcas

Modérateur : xcasadmin

scls19fr
Messages : 24
Inscription : ven. janv. 27, 2006 3:49 pm
Localisation : POITIERS (86)
Contact :

Simplification d'expressions booléennes

Message par scls19fr » ven. juil. 27, 2007 3:20 pm

Bonjour,

xcas ne semble pas permettre la simplification d'expressions booléennes.
Exemple :
a && true (ou a AND true)
même en utilsant simplify ou normal...
Idem pour
* a and a
* a or a
* a or true
...
J'ai ensuite pensé que c'était parce que xcas ne "savait" pas que a est booléen (mais la grammaire devrait lui dire puis qu'un and ou un or sont entourés de 2 booléens)
alors j'ai pensé à faire un assume(a,boolean)
mais ça n'existe pas...


Une autre chose surprenante :
true && falsetrue && false affiche false
mais true && true affiche 1

Cordialement
---
Sébastien CELLES
http://www.celles.net

parisse
Messages : 5882
Inscription : mar. déc. 20, 2005 4:02 pm
Contact :

Message par parisse » sam. juil. 28, 2007 7:15 am

en effet, j'ai récemment modifié and et j'avais introduit un bug (les arguments n'etaient pas évalués), corrigé depuis. Par contre, il faut voir que pour l'instant en tout cas, tout objet non nul est considéré comme vrai, donc par exemple a && a renvoie 1. Donc && et || sont principalement utiles dans les tests pour if, ca ne peut pas servir a simplifier des expressions avec des booleans "symboliques".

scls19fr
Messages : 24
Inscription : ven. janv. 27, 2006 3:49 pm
Localisation : POITIERS (86)
Contact :

Message par scls19fr » sam. juil. 28, 2007 9:30 am

Bonjour,

le comportement par défaut des calculatrices TI (et celui à priori attendu) est plutôt celui que je suggère c'est à dire la simplification booléenne (sans à priori sur la valeur de chaque élément de l'expression à évaluer).
Et concernant un éventuel assume(a,boolean) ?

Cordialement
---
Sébastien CELLES
http://www.celles.net

scls19fr
Messages : 24
Inscription : ven. janv. 27, 2006 3:49 pm
Localisation : POITIERS (86)
Contact :

Message par scls19fr » sam. juil. 28, 2007 9:45 am

En fait je demande ça car ça pourrait servir à automatiser le tracé de table de vérité ( http://en.wikipedia.org/wiki/Truth_table ou http://fr.wikipedia.org/wiki/Table_de_v%C3%A9rit%C3%A9 ) et de tableau de Karnaugh ( http://en.wikipedia.org/wiki/Karnaugh_map ou http://fr.wikipedia.org/wiki/Table_de_Karnaugh )

Voici d'ailleurs à ce propos deux petits simulateurs
http://members.cox.net/cyclone1980/KMap ... d.htm#KMap
http://k-map.sourceforge.net
Ils permettent de simplifier des expressions booléennes

Cordialement
---
Sébastien CELLES
http://www.celles.net

parisse
Messages : 5882
Inscription : mar. déc. 20, 2005 4:02 pm
Contact :

Message par parisse » sam. juil. 28, 2007 5:22 pm

je note ca dans les TODO, mais ce n'est pas une haute priorité etant donné le nombre de choses à faire:-(

Répondre