Công cụ giải bìa Karnaugh
Công cụ giải bìa Karnaugh trực tuyến miễn phí: nhập một biểu thức Boole từ hai đến sáu biến và nhận bìa K với mọi nhóm được khoanh tròn cùng tổng các tích hoặc tích các tổng tối giản đọc được từ đó.
Nhập một biểu thức logic để phân tích (hỗ trợ logic mệnh đề, đại số Boolean)
Hướng dẫn
Nhấp vào một toán tử để chạy ví dụ của nó trong máy tính. Mỗi toán tử đều liệt kê mọi cách bạn có thể gõ.
Nhập một biểu thức và công cụ giải bìa Karnaugh này sẽ trải các giá trị chân trị của nó lên một lưới mã Gray, khoanh mọi nhóm có thể gộp lại và đọc dạng tối giản từ chúng. Công cụ nhận ký hiệu (¬ ∧ ∨ → ↔) hoặc ASCII thuần (!, &, |, ->, <->), làm việc với hai đến sáu biến và tìm cực tiểu chính xác chứ không chỉ là một lời giải tốt. Không có gì được tải lên: bìa được dựng ngay trong trình duyệt của bạn.
Cách giải một bìa Karnaugh
- Nhập biểu thức của bạn vào ô phía trên - ví dụ (A & B) | (!A & C). Bàn phím toán tử sẽ chèn ký hiệu nếu bạn không muốn gõ tay.
- Công cụ đọc các biến từ biểu thức và trải các giá trị chân trị lên lưới. Các trục được mã hoá Gray (00, 01, 11, 10) nên hai ô kề nhau chỉ khác đúng một biến - và chính điều đó khiến một nhóm ô thu lại thành một hạng tử duy nhất.
- Mỗi vòng màu là một nhóm. Rê chuột hoặc chạm vào một nhóm trong chú giải để làm nổi nó trên bìa, và để ý những nhóm được đánh dấu cốt yếu: không dạng tối giản nào có thể bỏ chúng đi. Một nhóm có thể vòng qua các cạnh của bìa, và một ô có thể thuộc nhiều nhóm.
- Đọc dạng tối giản bên dưới. Chuyển giữa tổng các tích và tích các tổng, sao chép kết quả, nạp lại vào máy tính, hoặc xuất bìa ra LaTeX hay TikZ.
Công cụ cho bạn những gì
- Mọi nhóm đều được khoanh và tô màu, những nhóm cốt yếu được đánh dấu, kèm hạng tử mà mỗi nhóm để lại.
- Một dạng tối giản thật sự tối giản: phần phủ được tìm chính xác chứ không chọn tham lam, nên ngay cả bìa tuần hoàn cũng cho ra dạng ngắn nhất.
- Tổng các tích hoặc tích các tổng - nhóm các số 1 hay nhóm các số 0 - từ cùng một tấm bìa.
- Bìa dưới dạng LaTeX, hoặc là bảng đơn giản hoặc vẽ lại bằng TikZ kèm các vòng và chú giải.
- Cả bảng chân trị, các tính chất và các dạng tương đương nữa, nếu bạn mở cùng biểu thức đó trong máy tính đầy đủ.
Một ví dụ có lời giải
Bìa cho (((A∧B)∧C)∨((A∧B)∧¬C))∨((¬A∧B)∧C). Ba ô mang giá trị đúng và được phủ bởi hai nhóm hai ô chồng lên nhau ở một ô - toàn bộ phương pháp thu nhỏ: biến thay đổi bên trong một nhóm sẽ rơi khỏi hạng tử của nhóm đó, và một ô có thể được phủ hai lần.
Bìa Karnaugh
Mỗi nhóm màu phủ một hình chữ nhật gồm các ô đúng. Những biến thay đổi bên trong một nhóm sẽ bị loại bỏ, nên mỗi nhóm để lại một phép hội. Cách đọc bìa này →
| ABC | 00 | 01 | 11 | 10 |
|---|---|---|---|---|
| 0 | ⊥ | ⊥ | ⊤ | ⊥ |
| 1 | ⊥ | ⊥ | ⊤ | ⊤ |
Các nhóm
Bìa Karnaugh có thể có bao nhiêu biến?
Công cụ này vẽ bìa cho 2 đến 6 biến. Dưới 2 biến thì không có gì để nhóm; năm và sáu biến được vẽ thành hai hoặc bốn mặt phẳng xếp chồng, và trên 6 biến thì ngay cả cách đó cũng không còn dễ đọc hơn bảng chân trị bên cạnh nữa. Với nhiều biến hơn, các dạng tương đương của máy tính vẫn cho bạn một DNF đã tối giản.
| Số biến | Số ô | Lưới |
|---|---|---|
| 2 | 4 | 2 × 2 |
| 3 | 8 | 2 × 4 |
| 4 | 16 | 4 × 4 |
| 5 | 32 | 2 × (4 × 4) |
| 6 | 64 | 4 × (4 × 4) |
Tổng các tích và tích các tổng
Nhóm các ô đúng cho ra tổng các tích: mỗi nhóm một phép hội, nối với nhau bằng HOẶC. Nhóm các ô sai cho ra tích các tổng, với các nguyên tố bị phủ định khi lấy ra: mỗi nhóm một phép tuyển, nối với nhau bằng VÀ. Cả hai mô tả cùng một hàm, và dạng nào ngắn hơn tuỳ thuộc vào việc các số 1 hay các số 0 tạo thành hình chữ nhật gọn hơn - nên công cụ đưa ra cả hai và bạn chọn dạng ngắn hơn.
Câu hỏi thường gặp
Giải đáp những thắc mắc phổ biến về cách dùng Máy tính Logic
Bìa Karnaugh có thể có bao nhiêu biến?
Công cụ này vẽ bìa cho hai đến sáu biến: hai biến cho lưới 2 × 2, ba biến cho 2 × 4, bốn biến cho 4 × 4. Năm và sáu biến được vẽ đúng như sách giáo khoa vẽ, thành hai hoặc bốn mặt phẳng 4 × 4 xếp chồng, các ô ở cùng vị trí trên những mặt phẳng kề nhau được tính là kề nhau - một nhóm không nhắc tới các biến xếp chồng sẽ là cùng một hình chữ nhật trên mọi tờ. Trên sáu biến, những quan hệ kề nhau mà bạn phải ghi nhớ không còn nhìn thấy được - mà đó là công dụng duy nhất của một tấm bìa: khi đó hãy dùng DNF tối giản trong các dạng tương đương của máy tính.
Tổng các tích và tích các tổng khác nhau thế nào?
Đó là hai cách đọc cùng một tấm bìa. Nhóm các ô đúng cho ra tổng các tích: mỗi nhóm một phép hội, nối với nhau bằng HOẶC. Nhóm các ô sai cho ra tích các tổng, với các nguyên tố bị phủ định khi lấy ra: mỗi nhóm một phép tuyển, nối với nhau bằng VÀ. Cả hai mô tả cùng một hàm; dạng nào ngắn hơn tuỳ thuộc vào việc các số 1 hay các số 0 tạo thành hình chữ nhật gọn hơn.
Đáp án của công cụ có thật sự là dạng tối giản không?
Có. Các nguyên hàm ý cốt yếu được lấy trước, phần phủ còn lại được tìm vét cạn bằng nhánh cận thay vì chọn tham lam. Điều đó quan trọng với một tấm bìa tuần hoàn - nơi không nhóm nào là cốt yếu - vì lựa chọn tham lam có thể dừng ở một phủ dài hơn phủ ngắn nhất một hạng tử, và nó sẽ không bao giờ báo cho bạn. Các hàng và cột bị trội được gạch đi cùng với các hạng tử cốt yếu, lặp lại cho đến khi bảng không rút gọn được nữa, nên phần lớn bìa không bao giờ đi tới bước tìm kiếm - đó là điều giữ cho câu trả lời chính xác vẫn tức thì ngay cả với sáu biến.
Vì sao các cột được ghi 00, 01, 11, 10 chứ không phải 00, 01, 10, 11?
Vì chính thứ tự đó mới làm cho tấm bìa hoạt động. Nhãn chạy theo mã Gray, trong đó hai giá trị liên tiếp chỉ khác đúng một bit, nên hai ô kề nhau chỉ khác đúng một biến - và một hình chữ nhật gồm các giá trị bằng nhau trở thành một hạng tử đã bỏ đi biến ấy. Nếu xếp theo thứ tự nhị phân thường, 01 và 10 sẽ nằm cạnh nhau dù khác nhau hai bit, và gộp chúng lại chẳng có nghĩa gì. Các cạnh cuộn vòng cũng vì lẽ đó: cột đầu và cột cuối cũng chỉ khác một bit, nên một nhóm có thể chạy khỏi một bên rồi tiếp tục ở bên kia.
Tôi có thể đánh dấu ô là tuỳ định không?
Không trực tiếp: công cụ lập bìa cho một biểu thức, và một biểu thức thì đúng hoặc sai ở mọi dòng - không có giá trị thứ ba để gõ. Khi một hàm thực sự bỏ qua một đầu vào, hãy viết điều đó vào công thức và tấm bìa sẽ cho thấy: một hạng tử như (D | !D) đặt D lên bìa như một biến mà hàm không phụ thuộc vào - tấm bìa dựng sẵn cho chữ số BCD hợp lệ được xây đúng theo cách đó.