Sử dụng Karnaugh maps:
này được A hoặc B hoặc d:
\ab
cd\ 00 01 11 10
---+-----------+
00 | | X| X| X|
01 | X| X| X| X|
11 | X| X| X| X|
10 | | X| X| X|
+-----------+
Đây là một HOẶC c:
\ab
cd\ 00 01 11 10
---+-----------+
00 | | | X| X|
01 | | | X| X|
11 | X| X| X| X|
10 | X| X| X| X|
+-----------+
giao nhau họ, chúng tôi nhận được:
\ab
cd\ 00 01 11 10
---+-----------+
00 | | | X| X|
01 | | | X| X|
11 | X| X| X| X|
10 | | X| X| X|
+-----------+
Rõ ràng, đây là một HOẶC (cái gì đó), trong đó (cái gì đó) là:
00 01
11 | X| X|
10 | | X|
Vì (cái gì đó) không phải là một hình chữ nhật, nó đòi hỏi hai biểu thức, có thể là AND'ed hoặc OR'ed với nhau, tùy thuộc vào cách chúng ta muốn tiếp cận nó. Chúng ta sẽ sử dụng OR trong ví dụ này, vì nó đưa ra một biểu thức đơn giản hơn.
Trong trường hợp này, chúng tôi có thể nhóm hai chữ X bên cạnh nhau bằng hai ký tự khác để điền vào toàn bộ dòng cd, vì vậy cd có thể là một trong các biểu thức. Chúng tôi cũng có thể nhóm cả hai lên nhau với hai bên phải để tạo thành một hình vuông. Hình vuông này đại diện cho biểu thức bc, vì cả a và d đều khác nhau trong hình vuông.
Vì vậy, sự biểu hiện cuối cùng là a OR ((C và D) OR (B và D)), hoặc a + cd + bd. Đẹp hơn nhiều, phải không?
Nguồn
2009-03-20 18:17:57
tốt đẹp! +1 – Learning
vì vậy các chương trình của họ có sẵn để thực hiện việc này không? – Dave
Thanh toán, ví dụ: http://babbage.cs.qc.edu/courses/Minimize/ –