web-dev-qa-db-fra.com

Y a-t-il de bons simplificateurs d'expression booléenne?

J'étais en train de refactoriser un ancien code et j'ai rencontré plusieurs conditions IF trop complexes et trop longues et je suis certaine qu'elles peuvent être simplifiées. Je suppose que ces conditions ont tellement augmenté à cause de 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 pouvais utiliser. Je ne m'intéresse pas à un langage spécifique, juste un simplificateur qui prendrait par exemple:

((A OR B) ET (! B ET C) OR 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.

101
mojarras

Vous pouvez essayer Wolfram Alpha comme dans cet exemple en fonction de votre saisie:

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

89

Essayez Logic Friday 1 Il inclut des outils de l’Univerity of California (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 grille 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.

16
Axel Kemper

J'ai trouvé que The Boolean Expression Reducer est beaucoup plus facile à utiliser que Logic Friday. De plus, il ne nécessite pas d'installation et est multi-plateforme (Java).

Aussi dans Logic Friday l'expression A | B ne retourne que 3 entrées dans la table de vérité; Je m'attendais à 4.

5
Pawel Dubiel