Máy tính tối giản biểu thức Boolean

Rút gọn mọi biểu thức Boolean thành tổng các tích và tích các tổng tối giản của nó, đi kèm mọi tế bào liên hợp nguyên tố và kiểm tra bảng chân trị theo từng hàng.

Biểu thức

Viết các biến dưới dạng các chữ cái đơn. Phép AND có thể là AB, A·B, A*B hoặc A AND B; phép OR là A + B hoặc A OR B; phép NOT là A', !A hoặc NOT A; các phép XOR, NAND và NOR cũng hoạt động.
Chèn một toán tử

Tối đa 6 biến khác nhau và 2,000 ký tự. Cho phép hằng số 0 và 1.

Thử một biểu thức

Dạng tối giản

Dạng tối giản của bạn sẽ xuất hiện ở đây

Nhập một biểu thức Boolean để xem tổng các tích tối giản, tích các tổng tối giản của nó và cách chúng được tìm ra.

Nhập một biểu thức Boolean để tối giản nó.

Các biểu thức được tối giản ngay trong trình duyệt này và không bao giờ rời khỏi thiết bị của bạn.

Hỏi đáp

Những cách viết biểu thức nào được hệ thống hiểu?

Tất cả các quy ước phổ biến đều được hỗ trợ và có thể trộn lẫn tự do: kiểu kỹ thuật (AB + A'C, với phép AND ngầm định và dấu phẩy trên cho phép NOT), kiểu lập trình (A && !B || C, A ^ B), các ký hiệu logic (¬ ∧ ∨ ⊕ ⊼ ⊽) và các từ thuần túy (A AND B OR NOT C, NAND, NOR). Các chuỗi nhiều chữ cái như ABC được hiểu là A AND B AND C, và các từ AND, OR, NOT, XOR, NAND, NOR luôn được đọc là các toán tử.

Dạng tối giản được tìm ra như thế nào?

Công cụ này xây dựng bảng chân trị đầy đủ, hợp nhất các hàng có giá trị bằng 1 lân cận thành các tế bào liên hợp nguyên tố (phương pháp Quine–McCluskey), giữ lại các tế bào cốt yếu và phủ các hàng còn lại bằng một phủ tối thiểu chính xác. Kết quả được đảm bảo tối giản tuyệt đối cho dạng tổng các tích (SOP) — đây không phải là một thuật toán phỏng đoán — và quy trình tương tự áp dụng trên các hàng có giá trị bằng 0 sẽ tạo ra tích các tổng (POS).

Sự khác biệt giữa kết quả SOP và POS là gì?

Cả hai đều mô tả cùng một hàm số. Dạng tổng các tích (SOP) thực hiện phép OR các số hạng AND với nhau, chẳng hạn như AB' + BC, và ánh xạ trực tiếp tới các mạch AND–OR; dạng tích các tổng (POS) thực hiện phép AND các thừa số OR với nhau, chẳng hạn như (A + B)(B' + C), và ánh xạ tới các mạch OR–AND. Tùy thuộc vào hàm số, một trong hai dạng có thể cần ít cổng logic hơn dạng kia, vì vậy công cụ luôn hiển thị cả hai.

Tại sao chỉ hỗ trợ tối đa 6 biến?

Sáu biến đã tạo ra một bảng chân trị gồm 64 hàng, đây là giới hạn để con người vẫn có thể đọc và kiểm tra thủ công. Vượt quá mức đó, việc tối thiểu hóa về mặt lý thuyết vẫn hoạt động, nhưng các bước suy luận và bảng chân trị mà trang này xây dựng xung quanh sẽ không còn hữu ích để làm bằng chứng trực quan nữa. Phần mềm thiết kế logic có xuất tệp sẽ phù hợp hơn cho các hàm có nhiều biến hơn.

Tối giản hóa biểu thức logic bằng thuật toán Quine–McCluskey

Trong thiết kế hệ thống số và logic học, việc thu gọn các biểu thức Boolean về dạng tối giản là bước quan trọng để tối ưu hóa tài nguyên phần cứng và nâng cao hiệu suất xử lý. Công cụ "Boolean Algebra Simplifier" thực hiện việc rút gọn mọi biểu thức Boolean đầu vào thành các dạng toán học tối giản nhất. Quá trình này được thực hiện trực tiếp trong trình duyệt của người dùng và không có dữ liệu nào được tải lên máy chủ, đảm bảo tính riêng tư cho thiết bị của bạn.

Khi bạn nhập một biểu thức, hệ thống sẽ tính toán đồng thời hai dạng chuẩn tắc tối giản: tổng các tích tối giản (SOP) và tích các tổng tối giản (POS). Song song đó, công cụ cung cấp bảng chân trị chi tiết cùng các bước biến đổi trung gian dựa trên phương pháp Quine–McCluskey để người dùng dễ dàng kiểm chứng kết quả.


Các định dạng đầu vào được hỗ trợ

Công cụ cho phép nhập các biến dưới dạng các chữ cái đơn với giới hạn tối đa là 6 biến khác nhau và độ dài chuỗi ký tự dưới 2,000 ký tự. Bạn có thể sử dụng linh hoạt các hệ thống ký hiệu khác nhau từ kỹ thuật, lập trình cho đến logic học toán học:

  • Phép AND: Có thể viết ở dạng ngầm định (ví dụ: AB), sử dụng dấu chấm A·B, dấu sao A*B, từ khóa A AND B, ký hiệu lập trình A && B, hoặc các ký hiệu logic chuyên dụng. Các chuỗi ký tự liên tục như ABC sẽ được tự động hiểu là A AND B AND C.
  • Phép OR: Sử dụng dấu cộng A + B, từ khóa A OR B, ký hiệu A || B, hoặc ký hiệu logic.
  • Phép NOT: Sử dụng dấu phẩy trên A', dấu chấm than !A, từ khóa NOT A, hoặc ký hiệu phủ định ¬A.
  • Phép XOR: Sử dụng ký hiệu mũ A ^ B, từ khóa A XOR B, hoặc ký hiệu A ⊕ B.
  • Phép NAND: Sử dụng từ khóa A NAND B hoặc ký hiệu .
  • Phép NOR: Sử dụng từ khóa A NOR B hoặc ký hiệu .
  • Hằng số: Cho phép sử dụng các hằng số logic 01.

Giao diện cung cấp các lối tắt tiện lợi để người dùng thử nghiệm nhanh với các biểu thức mẫu:

  • Hợp nhất các số hạng (ví dụ về định luật đồng thuận - consensus).
  • Phủ định của tích (ví dụ về định luật De Morgan).
  • Phép XOR ba ngôi (ví dụ về hàm XOR nhiều biến).

Nút Xóa cho phép xóa nhanh toàn bộ nội dung trong khung nhập liệu để bắt đầu một phiên làm việc mới.


Cấu trúc kết quả đầu ra và chẩn đoán

Sau khi xử lý biểu thức, công cụ hiển thị các thông tin chi tiết tại các mục chuyên biệt:

  • Đọc là: Hiển thị cách diễn giải chuẩn hóa của biểu thức đầu vào sau khi được hệ thống phân tích.
  • Tổng các tích tối giản (SOP): Dạng tối giản hóa tối ưu dưới cấu trúc tổng của các tích.
  • Tích các tổng tối giản (POS): Dạng tối giản hóa tối ưu dưới cấu trúc tích của các tổng.
  • Sơ lược: Bảng chẩn đoán nhanh các thông số kỹ thuật của biểu thức bao gồm:
    • Các biến: Danh sách các biến độc lập được phát hiện.
    • Các hàng bằng 1: Danh sách hoặc số lượng các minterm.
    • Các tế bào liên hợp nguyên tố: Tổng số lượng tế bào liên hợp nguyên tố tìm được.
    • Các tế bào liên hợp nguyên tố cốt yếu: Số lượng tế bào liên hợp nguyên tố bắt buộc phải có trong phủ tối thiểu.
    • Số lượng biến đơn, trước → sau: Số lượng các biến đơn xuất hiện trong biểu thức trước và sau khi tối giản.
    • Phương pháp: Hiển thị phương pháp tính toán mặc định là "Quine–McCluskey, phủ tối thiểu chính xác".

Người dùng có thể sử dụng nút Sao chép kết quả để lưu nhanh các dạng tối giản vào bộ nhớ tạm của thiết bị.


Chi tiết các bước tối giản hóa

Tại mục Cách biểu thức được tối giản, công cụ hiển thị tiến trình suy luận toán học một cách tuần tự:

  1. Phân tích số lượng biến: Hệ thống xác định số lượng biến và số hàng tương ứng trong bảng chân trị. Ví dụ: "Biểu thức sử dụng ‹count› biến (‹variables›), vì vậy bảng chân trị có ‹rows› hàng." hoặc "Biểu thức sử dụng một biến, ‹variables›, vì vậy bảng chân trị có ‹rows› hàng.".
  2. Xác định minterm và maxterm: Liệt kê các hàng mà tại đó biểu thức nhận giá trị 1 hoặc 0. Cú pháp hiển thị: "Nó bằng 1 trên các hàng Σm(‹minterms›) và bằng 0 trên các hàng ΠM(‹maxterms›).".
  3. Tìm tế bào liên hợp: Tiến hành gộp các ô kề nhau trong bảng chân trị. Hệ thống sẽ thông báo: "Hợp nhất các hàng bằng 1 lân cận nhiều nhất có thể sẽ để lại ‹count› tế bào liên hợp nguyên tố: ‹list›.".
  4. Xác định tế bào cốt yếu: Lọc ra các tế bào liên hợp nguyên tố cốt yếu. Nếu có, hệ thống xuất dòng: "Các tế bào liên hợp nguyên tố cốt yếu — lớp phủ duy nhất còn lại cho ít nhất một hàng: ‹list›.". Trong trường hợp không có tế bào nào là cốt yếu, thông báo sẽ là: "Không có tế bào liên hợp nguyên tố nào là cốt yếu: mỗi hàng bằng 1 có thể được phủ bằng nhiều hơn một cách.".
  5. Phủ các hàng còn lại: Nếu các tế bào cốt yếu chưa phủ hết các minterm, hệ thống sẽ giải quyết bằng cách: "Các hàng chưa được phủ sẽ được phủ bằng số lượng số hạng phụ thêm ít nhất: ‹list›.". Nếu đã phủ hết, thông báo sẽ là: "Các tế bào liên hợp nguyên tố cốt yếu đã phủ mọi hàng bằng 1, vì vậy phép tổng đã hoàn thành.".
  6. Xác định dạng POS: Quy trình tương tự được áp dụng trên các hàng bằng 0 để tìm ra tích các tổng tối giản: "Thực hiện cùng một quy trình hợp nhất trên các hàng bằng 0 sẽ cho ra tích các tổng tối giản ‹pos›.".
  7. Xác minh: Cuối cùng, hệ thống đối chiếu cả hai dạng tối giản với biểu thức gốc trên toàn bộ các hàng của bảng chân trị: "Cả hai dạng tối giản đều khớp với biểu thức gốc trên tất cả ‹rows› hàng của bảng chân trị.".

Bảng chân trị trực quan

Để đảm bảo tính minh bạch và giúp người dùng dễ dàng đối chiếu, công cụ xây dựng một Bảng chân trị hoàn chỉnh. Bảng này bao gồm các cột dành cho các biến đầu vào, cột Biểu thức (giá trị logic của biểu thức gốc) và cột SOP tối giản (giá trị logic của biểu thức sau khi rút gọn). Việc hiển thị song song này giúp người dùng xác minh trực quan rằng biểu thức tối giản hoạt động hoàn toàn đồng nhất với biểu thức ban đầu trên từng hàng dữ liệu.


Các quy tắc xử lý lỗi và trạng thái đặc biệt

Trong quá trình nhập liệu và tính toán, hệ thống sẽ kiểm tra các ràng buộc cú pháp và ngữ nghĩa để đưa ra các thông báo trạng thái hoặc lỗi cụ thể:

  • Trạng thái trống: Khi chưa có dữ liệu, hệ thống hiển thị thông báo "Nhập một biểu thức Boolean để tối giản nó.".
  • Trạng thái hoàn thành: Khi tối giản thành công, hệ thống hiển thị "Đã tối giản và được kiểm tra trên tất cả ‹rows› hàng.".
  • Biểu thức hằng số: Nếu biểu thức luôn trả về một giá trị cố định, hệ thống sẽ hiển thị "Biểu thức này là hằng số: nó luôn bằng ‹value›.".
    • Đối với hằng số 1 (tautology): "Biểu thức này luôn bằng 1: mọi sự kết hợp giá trị đều làm cho nó đúng.".
    • Đối với hằng số 0 (contradiction): "Biểu thức này luôn bằng 0: không có sự kết hợp giá trị nào làm cho nó đúng.".
  • Biểu thức đã tối giản sẵn: Nếu đầu vào không thể rút gọn thêm, hệ thống thông báo: "Biểu thức của bạn đã là một tổng các tích tối giản rồi.".
  • Lỗi bỏ trống: "Vui lòng nhập một biểu thức Boolean.".
  • Lỗi vượt quá độ dài: "Giữ biểu thức dưới 2,000 ký tự.".
  • Lỗi ký tự không hợp lệ: "‹char›" (vị trí ‹position›) không phải là một toán tử, biến hoặc hằng số Boolean.".
  • Lỗi cú pháp/thiếu toán hạng: "Một toán tử bị thiếu toán hạng gần vị trí ‹position› — hãy kiểm tra xem có toán tử + · hoặc ⊕ bị thừa hay không.".
  • Lỗi ngoặc đơn: "Các dấu ngoặc đơn không cân đối — hãy thêm hoặc bớt một dấu ngoặc.".
  • Lỗi vượt quá số biến: "Biểu thức này sử dụng ‹count› biến khác nhau; trình tối giản hỗ trợ tối đa 6 biến.".

Câu hỏi thường gặp

Tại sao chỉ hỗ trợ tối đa 6 biến?

Sáu biến đã tạo ra một bảng chân trị gồm 64 hàng, đây là giới hạn để con người vẫn có thể đọc và kiểm tra thủ công. Vượt quá mức đó, việc tối thiểu hóa về mặt lý thuyết vẫn hoạt động, nhưng các bước suy luận và bảng chân trị mà trang này xây dựng xung quanh sẽ không còn hữu ích để làm bằng chứng trực quan nữa. Phần mềm thiết kế logic có xuất tệp sẽ phù hợp hơn cho các hàm có nhiều biến hơn.

Dạng tối giản được tìm ra như thế nào?

Công cụ này xây dựng bảng chân trị đầy đủ, hợp nhất các hàng có giá trị bằng 1 lân cận thành các tế bào liên hợp nguyên tố (phương pháp Quine–McCluskey), giữ lại các tế bào cốt yếu và phủ các hàng còn lại bằng một phủ tối thiểu chính xác. Kết quả được đảm bảo tối giản tuyệt đối cho dạng tổng các tích (SOP) — đây không phải là một thuật toán phỏng đoán — và quy trình tương tự áp dụng trên các hàng có giá trị bằng 0 sẽ tạo ra tích các tổng (POS).

Những cách viết biểu thức nào được hệ thống hiểu?

Tất cả các quy ước phổ biến đều được hỗ trợ và có thể trộn lẫn tự do: kiểu kỹ thuật (AB + A'C, với phép AND ngầm định và dấu phẩy trên cho phép NOT), kiểu lập trình (A &&!B || C, A ^ B), các ký hiệu logic (¬ ∧ ∨ ⊕ ⊼ ⊽) và các từ thuần túy (A AND B OR NOT C, NAND, NOR). Các chuỗi nhiều chữ cái như ABC được hiểu là A AND B AND C, và các từ AND, OR, NOT, XOR, NAND, NOR luôn được đọc là các toán tử.

Sự khác biệt giữa kết quả SOP và POS là gì?

Cả hai đều mô tả cùng một hàm số. Dạng tổng các tích (SOP) thực hiện phép OR các số hạng AND với nhau, chẳng hạn như AB' + BC, và ánh xạ trực tiếp tới các mạch AND–OR; dạng tích các tổng (POS) thực hiện phép AND các thừa số OR với nhau, chẳng hạn như (A + B)(B' + C), và ánh xạ tới các mạch OR–AND. Tùy thuộc vào hàm số, một trong hai dạng có thể cần ít cổng logic hơn dạng kia, vì vậy công cụ luôn hiển thị cả hai.