Bất kỳ đơn giản hóa biểu thức boolean tốt nào ngoài đó? [đóng cửa]


110

Tôi đang cấu trúc lại mã cũ và gặp phải một số điều kiện IF quá phức tạp và dài và tôi chắc chắn rằng chúng có thể được đơn giản hóa. Tôi đoán là những điều kiện đó đã phát triển quá nhiều do những sửa đổi sau này.

Dù sao, tôi đã tự hỏi nếu có ai trong số các bạn biết về một trình đơn giản hóa trực tuyến tốt mà tôi có thể sử dụng. Tôi không quan tâm đến bất kỳ ngôn ngữ cụ thể nào, chỉ là một trình đơn giản hóa, ví dụ:

((A HOẶC B) VÀ (! B VÀ C) HOẶC C)

Và cung cấp cho tôi một phiên bản đơn giản của biểu thức, nếu có.

Tôi đã xem các câu hỏi tương tự khác nhưng không có câu nào chỉ cho tôi một cách đơn giản hóa tốt.

Cảm ơn.


1
WolframAlpha cũng đến tại C . Không cửa thêm ...
Axel Kemper

1
Có một công cụ trực tuyến rất hay - tma.main.jp/logic/index_en.html
Roman Hocke

Một công cụ khác là boolean-algebra.com nó sẽ hiển thị các bước để giải quyết nó. Ví dụ, bạn có thể giải được chỉ bằng luật hấp thụ A + AB = A. Nó không quá nâng cao nên nếu bạn cần thứ gì đó khác với dạng tối thiểu thì tốt hơn bạn nên sử dụng trang web khác.
John Smith

Câu trả lời:


93

Bạn có thể thử Wolfram Alpha như trong ví dụ này dựa trên đầu vào của bạn:

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


3
Trang web có vẻ không tốt cho việc đơn giản hóa công thức boolean khi chúng phức tạp hơn một chút. Hãy thử cái này: (((KHÔNG PHẢI C) VÀ (KHÔNG PHẢI A)) HOẶC ((KHÔNG PHẢI B) VÀ (KHÔNG PHẢI C) VÀ (KHÔNG PHẢI D) VÀ (KHÔNG PHẢI A)) HOẶC ((KHÔNG PHẢI B) VÀ (KHÔNG PHẢI C) VÀ D VÀ A) HOẶC (B VÀ C VÀ (KHÔNG PHẢI D) VÀ (KHÔNG PHẢI A)) HOẶC (B VÀ C VÀ D VÀ A))
Albert Hendriks

1
Thật. Thật kỳ lạ. Nó thậm chí còn hạn chế ở phiên bản đơn giản hóa 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 - Lỗi máy chủ nội bộ vào

2
Lưu ý rằng nếu bạn muốn bảng chân trị, không phải lúc nào cũng được viết ra cho một số biểu thức, thì hãy bắt đầu truy vấn bằng các từ "bảng chân trị", theo sau là biểu thức
Bỉ

16

Hãy thử Logic Friday 1Nó bao gồm các công cụ từ Univerity of California (Espresso và misII) và làm cho chúng có thể sử dụng được với GUI. Bạn có thể nhập phương trình boolean và bảng sự thật như mong muốn. Nó cũng có đầu vào và đầu ra sơ đồ cổng đồ họa.

Việc giảm thiểu có thể được thực hiện hai cấp hoặc nhiều cấp. Dạng hai cấp cho tổng sản phẩm tối thiểu. Dạng đa cấp tạo ra một mạch bao gồm các cổng logic. Người sử dụng có thể hạn chế các loại cổng.

Biểu thức của bạn đơn giản hóa thành C.


2
Đối với một công cụ trực tuyến nhanh chóng này là thực sự hữu ích: tma.main.jp/logic/index_en.html
LENAR Hoyt

6

Tôi thấy rằng The Boolean Expression Reducer dễ sử dụng hơn nhiều so với Logic Friday. Thêm vào đó, nó không yêu cầu cài đặt và đa nền tảng (Java).

Cũng trong Logic Friday, biểu thức A | Bchỉ trả về 3 mục nhập trong bảng sự thật; Tôi mong đợi 4.


3
Tùy chọn Kích hoạt "Truthtable / Hiện tất cả dòng" trong Logic thứ Sáu 1. Nếu không, bạn chỉ nhận được tất cả các hàng với giá trị sản lượng 1.
Axel Kemper

1
Bên trong, bexpred đang sử dụng các thuật toán đơn giản để hợp nhất các minterms. Nó có thể hữu ích cho những biểu thức nhỏ nhưng chắc chắn không phải là hiện đại.
Axel Kemper

2
Đối với đầu vào "A * B * (! A * B +! A *! B)", jar này trả về SOP Sai nhưng POS Đúng. Tập lệnh không chính xác đáng tin cậy ...
Evil

liên kết bị hỏng, ai có liên kết làm việc?
HJLebbink
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.