Existe-t-il de bons simplificateurs d'expressions booléennes? [fermé]


110

J'étais en train de refactoriser l'ancien code et j'ai rencontré plusieurs conditions IF qui étaient beaucoup trop complexes et longues et je suis certain qu'elles peuvent être simplifiées. Je suppose que ces conditions se sont tellement développées à cause des modifications ultérieures.

Quoi qu'il en soit, je me demandais si l'un d'entre vous connaissait un bon simplificateur en ligne que je peux utiliser. Je ne suis intéressé par aucun langage spécifique, juste un simplificateur qui prendrait par exemple:

((A OU B) ET (! B ET C) OU C)

Et donnez-moi une version simplifiée de l'expression, le cas échéant.

J'ai regardé les autres questions similaires, mais aucune ne m'indique un bon simplificateur.

Merci.


1
WolframAlpha arrive aussi C . Pas de portes supplémentaires ...
Axel Kemper

1
Il y a un bel outil en ligne - tma.main.jp/logic/index_en.html
Roman Hocke

Un autre outil est boolean-algebra.com, il montrera les étapes pour le résoudre. Par exemple, le vôtre peut être résolu avec juste la loi d'absorption A + AB = A. Ce n'est pas trop avancé, donc si vous avez besoin d'autre chose qu'une forme minimale, vous feriez mieux d'utiliser un autre site.
John Smith

Réponses:


93

Vous pouvez essayer Wolfram Alpha comme dans cet exemple en fonction de votre entrée:

http://www.wolframalpha.com/input/?i=((A%20OR%20B)%20AND%20(NOT%20B%20AND%20C)%20OR%20C)&t=crmtb01&f=rc


3
Le site Web ne semble pas très bon pour simplifier les formules booléennes lorsqu'elles deviennent un peu plus complexes. Essayez celui-ci: (((NOT C) AND (NOT A)) OU ((NOT B) AND (NOT C) AND (NOT D) AND (NOT A)) OU ((NOT B) AND (NOT C) AND D ET A) OU (B ET C ET (PAS D) ET (PAS A)) OU (B ET C ET D ET A))
Albert Hendriks

1
En effet. Étrange. Il barfs même à la version simplifiée NOT C AND NOT A OR NOT B AND NOT C AND NOT D AND NOT A OR NOT B AND NOT C AND D AND A OR B AND C AND NOT D AND NOT A OR B AND C AND D AND A.
500 - Erreur de serveur interne

2
Notez que si vous voulez la table de vérité, qui n'est pas toujours sortie pour certaines expressions, lancez la requête avec les mots "table de vérité" suivis de l'expression
Belgi

16

Try Logic Friday 1It inclut des outils de l'Université de Californie (Espresso et misII) et les rend utilisables avec une interface graphique. Vous pouvez entrer des équations booléennes et des tables de vérité comme vous le souhaitez. Il comporte également une entrée et une sortie de diagramme de porte graphique.

La minimisation peut être effectuée à deux niveaux ou à plusieurs niveaux. La forme à deux niveaux donne une somme minimisée de produits. La forme à plusieurs niveaux crée un circuit composé de portes logiques. Les types de portes peuvent être restreints par l'utilisateur.

Votre expression se simplifie en C.


2
Pour un outil en ligne rapide, cela est vraiment utile: tma.main.jp/logic/index_en.html
Lenar Hoyt

6

J'ai trouvé que le réducteur d'expression booléenne est beaucoup plus facile à utiliser que Logic Friday. De plus, il ne nécessite pas d'installation et est multi-plateforme (Java).

De plus, dans Logic Friday, l'expression A | Brenvoie simplement 3 entrées dans la table de vérité; J'attendais 4.


3
Activez l'option "Truthtable / Show all Rows" dans Logic Friday 1. Sinon, vous n'obtiendrez que toutes les lignes avec la valeur de sortie 1.
Axel Kemper

1
En interne, bexpred utilise des algorithmes simples pour fusionner les minterms. Cela peut être utile pour les petites expressions mais n'est certainement pas à la pointe de la technologie.
Axel Kemper

2
Pour "A * B * (! A * B +! A *! B)", ce pot renvoie SOP False mais POS True. Script pas exactement fiable ...
Evil

lien est rompu, qui a un lien fonctionnel?
HJLebbink
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.