Hàm Boolean (Boolean function) là một ánh xạ toán học nhận đầu vào là các biến nhị phân và trả về đầu ra là một giá trị nhị phân duy nhất:
Trong đó là số lượng biến đầu vào. Hàm Boolean là viên gạch nền móng của lý thuyết mạch số, kiến trúc máy tính điện tử, mật mã học, lý thuyết độ phức tạp tính toán và thuật toán tối ưu hóa tổ hợp.
Không gian biểu diễn và số lượng hàm Boolean
Với biến đầu vào, bảng chân trị (truth table) của hàm chứa hàng tương ứng với tất cả các tổ hợp giá trị nhị phân có thể có. Do mỗi hàng có thể nhận 1 trong 2 giá trị đầu ra (0 hoặc 1), tổng số hàm Boolean khả dĩ bậc là:
Ví dụ:
- Với : Có hàm (Hằng 0, Hằng 1, Hàm đồng nhất , Phủ định ).
- Với : Có hàm (gồm AND, OR, XOR, NAND, NOR, XNOR,...).
- Với : Có hàm.
- Với : Có hàm.
Các phép toán cơ bản và tính đầy đủ chức năng
Đại số Boolean vận hành dựa trên ba phép toán cơ bản:
- Phép hội (AND / Conjunction): (cho kết quả 1 khi và chỉ khi cả hai biến bằng 1).
- Phép tuyển (OR / Disjunction): (cho kết quả 0 khi và chỉ khi cả hai biến bằng 0).
- Phép phủ định (NOT / Negation): hoặc (đảo ngược giá trị logic).
Một tập hợp các phép toán được gọi là đầy đủ chức năng (functionally complete) nếu mọi hàm Boolean bất kỳ đều có thể biểu diễn qua các phép toán đó. Các tập đầy đủ kinh điển bao gồm , , , và đặc biệt là các cổng đơn lẻ như NAND (phủ định hội) hoặc NOR (phủ định tuyển) – nguyên lý chế tạo vi mạch tích hợp VLSI hiện đại.
Các dạng chuẩn tắc biểu diễn hàm
Mọi hàm Boolean đều có thể chuẩn hóa thành các cấu trúc đại số chính quy (Crama và Hammer, 2011):
| Dạng biểu diễn | Cấu trúc đại số | Đặc điểm ứng dụng |
|---|---|---|
| Dạng chuẩn tắc tuyển (DNF) | Tổng của các tích (Sum-of-Products): | Ghép nối các minterm tương ứng với các hàng có giá trị đầu ra bằng 1 trong bảng chân trị. |
| Dạng chuẩn tắc hội (CNF) | Tích của các tổng (Product-of-Sums): | Định dạng đầu vào tiêu chuẩn cho các thuật toán giải bài toán thỏa mãn mệnh đề SAT (SAT Solvers). |
| Đa thức Zhegalkin (ANF) | Đa thức trên trường hữu hạn dùng phép XOR () và AND | Phân tích bậc phi tuyến và tính đại số trong mật mã học khối (S-boxes). |
Phân tích Fourier trên Hàm Boolean
Trong toán học rời rạc nâng cao (O'Donnell, 2014), khi không gian đầu vào được gán nhãn trên trường số thực , mọi hàm Boolean đều có thể khai triển Fourier duy nhất dạng trực giao:
Trong đó là các ký tự Fourier và là hệ số Fourier. Biểu diễn Fourier cho phép định lượng độ nhạy cảm của biến (influence of variables), kiểm tra tính tuyến tính và chứng minh độ phức tạp tính toán của các mạch logic.
Ứng dụng thực tiễn trong kỹ thuật số và bảo mật
Ứng dụng của hàm Boolean bao trùm mọi lĩnh vực tính toán hiện đại:
- Thiết kế mạch chuyển mạch: Từ công trình khởi xướng của Claude Shannon (1938), hàm Boolean được ánh xạ trực tiếp thành sơ đồ nối rơ-le và các cổng logic bán dẫn (CMOS transistors).
- Rút gọn logic (Logic Minimization): Sử dụng bảng Karnaugh (K-map) và thuật toán Quine-McCluskey để tối ưu số cổng logic và giảm diện tích chip silicon.
- Mật mã học: Các hàm Boolean có độ phi tuyến cao (bent functions) được thiết kế trong các hộp thế S-Box của thuật toán mã hóa đối xứng AES và DES để chống lại các cuộc tấn công vi sai và tuyến tính.