Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 46 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
46
Dung lượng
1,2 MB
Nội dung
TOÁN RỜI RẠC - HK1 - NĂM 2016 -2017 Chương HÀM BOOLE lvluyen@hcmus.edu.vn http://www.math.hcmus.edu.vn/∼luyen/trr2016 FB: fb.com/trr2016 Đại học Khoa Học Tự Nhiên Tp Hồ Chí Minh − − −− Tháng 10 năm 2016 − − −− lvluyen@hcmus.edu.vn Chương HÀM BOOLE Tháng 10 - 2016 1/46 Mở đầu Xét sơ đồ mạch điện hình vẽ Tùy theo cách trạng thái cầu dao A, B, C mà ta có dòng điện qua M N hay không? Như ta có bảng giá trị sau lvluyen@hcmus.edu.vn Chương HÀM BOOLE Tháng 10 - 2016 2/46 Bảng giá trị Câu hỏi Khi mạch điện gồm nhiều cầu dao, ta kiểm soát Giải pháp đưa công thức, với cầu dao ta xem biến lvluyen@hcmus.edu.vn Chương HÀM BOOLE Tháng 10 - 2016 3/46 Nội dung Chương ĐẠI SỐ BOOLE Đại số Boole Mạng logic Biểu đồ Karnaugh lvluyen@hcmus.edu.vn Chương HÀM BOOLE Tháng 10 - 2016 4/46 7.1.1 Đại số Boole Ví dụ Xét tập hợp B = {0; 1} Với x, y ∈ B, ta định nghĩa: x ∧ y = xy, x ∨ y = x + y − xy, x = − x Các phép toán vừa định nghĩa có bảng chân trị là: x 0 1 y x∧y x∨y x 0 1 1 0 1 1 Khi đó, tập hợp B với phép toán đại số Boole; ∧ gọi tích Boole; ∨ tổng Boole; x phần bù x lvluyen@hcmus.edu.vn Chương HÀM BOOLE Tháng 10 - 2016 5/46 Nhận xét Do x ∧ y = xy nên ta dùng ký hiệu xy thay cho x ∧ y Nhận xét Cho x y phần tử thuộc B Khi xy = yx; x ∨ y = y ∨ x xx = x; x ∨ x = x xx = 0; x ∨ x = x(y ∨ z) = xy ∨ xz; lvluyen@hcmus.edu.vn Chương HÀM BOOLE Tháng 10 - 2016 6/46 7.1.2 Hàm Boole Định nghĩa Một hàm Boole n biến ánh xạ f : Bn → B, B = {0, 1} Như hàm Boole n biến hàm số có dạng : f = f (x1 , x2 , , xn ), biến x1 , x2 , , xn nhận hai giá trị 0, f nhận giá trị B = {0, 1} Bn = {(x1 , x2 , , xn ) | xi ∈ B} Ký hiệu Fn để tập hàm Boole n biến Ví dụ f (x, y, z, t) = (x ∨ z)t ∨ (x y ∨ y t)z ∨ (y z ∨ x y z)t hàm Boole biến lvluyen@hcmus.edu.vn Chương HÀM BOOLE Tháng 10 - 2016 7/46 Bảng chân trị Định nghĩa Xét hàm Boole n biến f = f (x1 , x2 , , xn ) Vì biến xi nhận môt hai giá trị 0, nên có 2n trường hợp biến (x1 , x2 , , xn ) Do đó, để mô tả f, ta lập bảng gồm 2n hàng ghi tất giá trị f tùy theo 2n trường hợp biến Ta gọi bảng chân trị f Ví dụ Xét kết f việc thông qua định dựa vào phiếu bầu x, y, z Mỗi phiếu lấy hai giá trị: (tán thành) (bác bỏ) Kết qủa f (thông qua định) đa số phiếu tán thành, (không thông qua định) đa số phiếu bác bỏ Hãy lập bảng chân trị f lvluyen@hcmus.edu.vn Chương HÀM BOOLE Tháng 10 - 2016 8/46 Giải Bảng chân trị hàm Boole f là: lvluyen@hcmus.edu.vn Chương HÀM BOOLE Tháng 10 - 2016 9/46 7.1.3 Dạng nối rời tắc Từ đơn, từ tối tiểu Định nghĩa Xét tập hợp hàm Boole Fn theo n biến x1 , x2 , , xn Khi đó: i) Mỗi hàm Boole xi hay xi gọi từ đơn ii) Từ tối tiểu tích khác không n từ đơn Ví dụ Xét tập hợp hàm Boole theo biến x, y, z Ta có Các từ đơn x, y, z, x, y, z Các từ tối tiểu x y z, x y z, x y z, x y z, x y z, x y z, x y z, x y z Nhận xét Tập hợp hàm Boole n biến chứa 2n từ đơn 2n từ tối tiểu lvluyen@hcmus.edu.vn Chương HÀM BOOLE Tháng 10 - 2016 10/46 Ví dụ Giả sử hàm boole f có biểu đồ Karnaugh Tìm tất tế bào lớn kar(f ) Giải Các tế bào lớn kar(f ) là: lvluyen@hcmus.edu.vn Chương HÀM BOOLE Tháng 10 - 2016 32/46 Ví dụ Giả sử hàm boole f có biểu đồ Karnaugh Tìm tất tế bào lớn f ? Giải Bằng cách đánh số tế bào lớn ta có lvluyen@hcmus.edu.vn Như kar(f ) có tế bào lớn Tế bào 1: x z Tế bào 2: y t Tế bào 3: x y t Tế bào 4: y z t Chương HÀM BOOLE Tháng 10 - 2016 33/46 Ví dụ Tìm tế bào lớn biểu đồ Karnaugh f với f (x, y, z, t) = y¯ z t ∨ y¯ z¯ t¯ ∨ y z¯ t¯ ∨ x y z t ∨ x ¯ z t¯ Giải Biểu đồ kar(f ) Bằng cách đánh số tế bào lớn, ta có kar(f ) có tế bào lớn Tế bào 1: x t Tế bào 2: x y z Tế bào 3: x z t Tế bào 4: y z t Tế bào 5: z t Ví dụ.(tự làm) Tìm tế bào lớn biểu đồ Karnaugh f với f (x, y, z, t) = x¯ y z ∨ y¯ z¯ t ∨ x z¯ t¯ ∨ x ¯yz ∨x ¯ y z t¯ lvluyen@hcmus.edu.vn Chương HÀM BOOLE Tháng 10 - 2016 34/46 7.3.3 Đa thức tối tiểu Định nghĩa Cho hai công thức đa thức hàm boole: f = m1 ∨ m2 ∨ ∨ mk (F ) f = M1 ∨ M2 ∨ ∨ Ml (G) Ta nói công thức F đơn giản công thức G tồn đơn ánh h : {1, 2, , k} → {1, 2, , l} cho với i ∈ {1, 2, , k} số từ đơn mi không nhiều số từ đơn Mh(i) Ví dụ Giả sử f có hai công thức đa thức f = y¯t¯ ∨ x¯ y t ∨ xt¯ ∨ xzt ∨ x ¯y¯z ¯ ¯ f = z¯t ∨ x ¯t ∨ xzt ∨ y¯zt Hỏi công thức đơn giản hơn? lvluyen@hcmus.edu.vn (F ) (G) Đáp án G Chương HÀM BOOLE Tháng 10 - 2016 35/46 Ví dụ Giả sử f có hai công thức đa thức f = y¯t¯ ∨ x¯ y t ∨ xt¯ ∨ xz f = z¯t¯ ∨ x ¯t¯ ∨ xzt ∨ y¯zt (F ) (G) Hỏi công thức đơn giản hơn? Đáp án F Định nghĩa Công thức F hàm boole f gọi đa thức tối tiểu công thức f đơn giản Thuật toán Karnaugh Bước Vẽ biều đồ kar(f ) Bước Xác định tất tế bào lớn kar(f ) công thức đơn thức tương ứng với tế bào lớn Bước Tìm kar(f ) ô nằm tế bào lớn chọn tế bào để phủ kar(f ) lvluyen@hcmus.edu.vn Chương HÀM BOOLE Tháng 10 - 2016 36/46 Bước Xác định phủ tối tiểu gồm tế bào lớn Nếu tế bào lớn chọn Bước phủ kar(f ) kar(f ) có phủ tối tiểu gồm tế bào lớn kar(f ) Ngược lại, ta xét ô chưa bị phủ Sẽ có hai tế bào lớn chứa ô Ta chọn tế bào lớn để phủ Cứ tiếp tục trình đến kar(f ) phủ kín Khi đó, ứng với phép phủ ta có công thức đa thức Công thức đơn giản công thức công thức đa thức tối tiểu f Ví dụ Tìm đa thức tối tiểu hàm boole sau: f (x, y, z, t) = xyzt ∨ x(¯ y ∨ z¯) ∨ yz ∨ xy(¯ z ∨ t¯) Giải Ta có f = xyzt ∨ x¯ y ∨ x¯ z ∨ yz ∨ xy¯ z ∨ xy t¯ lvluyen@hcmus.edu.vn Chương HÀM BOOLE Tháng 10 - 2016 37/46 Bước Vẽ biểu đồ kar(f ) Bước Xác định tế bào lớn kar(f ) Bằng cách đánh số tế bào lớn, ta có kar(f ) có tế bào lớn là: Tế bào 1: x Tế bào 2: yz Bước Ô (1, 1) nằm tế bào lớn Ta phải chọn tế bào Ô (1, 3) nằm tế bào lớn Ta phải chọn tế bào Bước Ta phủ tối tiểu gồm tế bào lớn kar(f ) x ∨ yz Vậy công thức đa thức tối tiểu f f = x ∨ yz lvluyen@hcmus.edu.vn Chương HÀM BOOLE Tháng 10 - 2016 38/46 Ví dụ Tìm đa thức tối tiểu hàm boole sau: f (x, y, z, t) = y¯zt ∨ y¯z¯t¯ ∨ y¯ z t¯ ∨ xyzt ∨ x ¯z t¯ Giải Bước Biểu đồ kar(f ) Bước Xác định các tế bào lớn kar(f ), ta có tế bào lớn Tế bào 1: x t Tế bào 2: x y z Tế bào 3: x z t Tế bào 4: y z t Tế bào 5: z t Bước Ô (1, 3) nằm tế bào lớn Ta phải chọn tế bào Ô (2, 2) nằm tế bào lớn Ta phải chọn tế bào 3 Ô (4, 1) nằm tế bào lớn Ta phải chọn tế bào lvluyen@hcmus.edu.vn Chương HÀM BOOLE Tháng 10 - 2016 39/46 Bước Như ô (2, 4) chưa phủ, để phủ ô (2, 4) ta có cách chọn Cách Chọn tế bào Khi tế bào 1, 2, 3, phủ hết ô Do đó, ta có f =x ¯t¯ ∨ x ¯y¯z ∨ xzt ∨ z¯t¯ (1) Cách Chọn tế bào Khi tế bào 1, 3, 4, phủ hết ô Do đó, ta có f =x ¯t¯ ∨ xzt ∨ y¯zt ∨ z¯t¯ (2) Do công thức (1) (2) đơn giản nên f có hai công thức đa thức tối tiểu f =x ¯t¯ ∨ x ¯y¯z ∨ xzt ∨ z¯t¯ (1) f =x ¯t¯ ∨ xzt ∨ y¯zt ∨ z¯t¯ lvluyen@hcmus.edu.vn Chương HÀM BOOLE (2) Tháng 10 - 2016 40/46 Ví dụ Tìm đa thức tối tiểu hàm boole f biết biểu đồ kar(f ) Giải lvluyen@hcmus.edu.vn Bước Xác định các tế bào lớn kar(f ), ta có tế bào lớn Tế bào 1: x z Tế bào 2: y z Tế bào 3: x y t Tế bào 4: z t Tế bào 5: x z t Chương HÀM BOOLE Tháng 10 - 2016 41/46 Bước Ô (1, 2) nằm tế bào lớn Ta phải chọn tế bào Ô (2, 3) nằm tế bào lớn Ta phải chọn tế bào Ô (4, 3) nằm tế bào lớn Ta phải chọn tế bào Bước Như ô (1, 4) chưa phủ, để phủ ô (1, 4) ta có cách chọn Cách Chọn tế bào Khi tế bào 1, 2, 4, phủ hết ô Do đó, ta có f = xz ∨ yz ∨ zt ∨ xzt (1) Cách Chọn tế bào Khi tế bào 1, 3, 4, phủ hết ô Do đó, ta có f = xz ∨ xyt ∨ zt ∨ xzt (2) Ta có công thức (1) đơn giản công thức (2) Do công thức đa thức tối tiểu f f = xz ∨ yz ∨ zt ∨ xzt lvluyen@hcmus.edu.vn Chương HÀM BOOLE Tháng 10 - 2016 42/46 Ví dụ Tìm đa thức tối tiểu hàm boole f biết biểu đồ kar(f ) Giải lvluyen@hcmus.edu.vn Bước Xác định các tế bào lớn kar(f ), ta có tế bào lớn Tế bào 1: x y Tế bào 2: y z t Tế bào 3: x z t Tế bào 4: x y t Tế bào 5: y z t Tế bào 6: x z Chương HÀM BOOLE Tháng 10 - 2016 43/46 Bước Ô (1, 2) nằm tế bào lớn Ta phải chọn tế bào Ô (4, 1) nằm tế bào lớn Ta phải chọn tế bào Bước Như vậy, ta có tập phủ là: 1) {1, 2, 3, 4, 6} 2) {1, 2, 3, 5, 6} lvluyen@hcmus.edu.vn 3) {1, 2, 4, 6} 4) {1, 3, 4, 6} Chương HÀM BOOLE 5) {1, 3, 5, 6} Tháng 10 - 2016 44/46 Nhưng ta xem xét tập phủ {1, 2, 4, 6}, {1, 3, 4, 6} {1, 3, 5, 6} Đối với tập phủ {1, 2, 4, 6}, ta có f = x y ∨ y z t ∨ x y t ∨ x z (1) Đối với tập phủ {1, 3, 4, 6}, ta có f = x y ∨ x z t ∨ x y t ∨ x z (2) Đối với tập phủ {1, 3, 5, 6}, ta có f = x y ∨ x z t ∨ y z t ∨ x z (3) Ba công thức đơn giản nên ta chọn Ví dụ.(tự làm) Cho hàm Boole f (x, y, z, t) = (x ∨ z)t ∨ (x y ∨ y t)z ∨ (y z ∨ x y z)t a) Vẽ biểu đồ Karnaugh tìm công thức đa thức tối tiểu f b) Vẽ mạng cổng tổng hợp hàm Boole f Ví dụ.(tự làm) Cho hàm Boole f (x, y, z, t) = x y t ∨ xy z t ∨ y z t ∨ x y z t ∨ y z t Hãy vẽ biểu đồ Karnaugh tìm công thức đa thức tối tiểu f lvluyen@hcmus.edu.vn Chương HÀM BOOLE Tháng 10 - 2016 45/46 Ví dụ.(tự làm) Cho hàm Boole f (x, y, z, t) = x y t ∨ x y z t ∨ x yz t ∨ y z t ∨ x z t ∨ y z t Vẽ biểu đồ Karnaugh tìm công thức đa thức tối tiểu cho f Ví dụ.(tự làm) Cho hàm Boole f (x, y, z, t) = x y t ∨ x y ∨ y z t ∨ x y z ∨ x y z t ∨ x z t Vẽ biểu đồ Karnaugh tìm công thức đa thức tối tiểu f Ví dụ.(tự làm) Cho f hàm boole theo biến x, y, z, t xác định bởi: f −1 (0) = {0010, 0011, 1001, 1101, 1000} Vẽ biểu đồ Karnaugh kar(f ) f xác định tất tế bào lớn Hãy xác định tất công thức đa thức tối tiểu f lvluyen@hcmus.edu.vn Chương HÀM BOOLE Tháng 10 - 2016 46/46 ... 10 - 2016 3/46 Nội dung Chương ĐẠI SỐ BOOLE Đại số Boole Mạng logic Biểu đồ Karnaugh lvluyen@hcmus.edu.vn Chương HÀM BOOLE Tháng 10 - 2016 4/46 7.1.1 Đại số Boole Ví dụ Xét tập hợp B = {0; 1} Với... x∨y x 0 1 1 0 1 1 Khi đó, tập hợp B với phép toán đại số Boole; ∧ gọi tích Boole; ∨ tổng Boole; x phần bù x lvluyen@hcmus.edu.vn Chương HÀM BOOLE Tháng 10 - 2016 5/46 Nhận xét Do x ∧ y = xy nên... xy ∨ xz; lvluyen@hcmus.edu.vn Chương HÀM BOOLE Tháng 10 - 2016 6/46 7.1.2 Hàm Boole Định nghĩa Một hàm Boole n biến ánh xạ f : Bn → B, B = {0, 1} Như hàm Boole n biến hàm số có dạng : f = f (x1