Bài giảng Toán rời rạc - Chương IV: Đại số Bool - Lê Văn Luyện
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Toán rời rạc - Chương IV: Đại số Bool - Lê Văn Luyện", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Tài liệu đính kèm:
bai_giang_toan_roi_rac_chuong_iv_dai_so_bool_le_van_luyen.pdf
Nội dung text: Bài giảng Toán rời rạc - Chương IV: Đại số Bool - Lê Văn Luyện
- ChươngLOGO 4 Lê Văn Luyện email: lvluyen@yahoo.com TỐN RỜI RẠC
- Chương 4 Chương IV. Đại số Bool Đại Số Bool Hàm Bool Biểu đồ karnaugh Mạch logic
- Mở đầu Xét mạch điện như hình vẽ Tùy theo cách trạng thái cầu dao A, B, C mà ta sẽ cĩ dịng điện đi qua MN. Như vậy ta sẽ cĩ bảng giá trị sau
- Mở đầu A B C MN 0 0 0 0 0 0 1 0 0 1 0 0 Câu hỏi: Khi mạch điện gồm nhiều 0 1 1 1 cầu dao, làm sao ta cĩ thể kiểm 1 0 0 1 sốt được. 1 0 1 1 Giải pháp là đưa ra cơng thức, với 1 1 0 1 mỗi biến được xem như là một cầu 1 1 1 1 dao
- 5 I. Đại Số Bool Một đại số Bool (A,,) là một tập hợp A với hai phép tốn , , tức là hai ánh xạ: : A A A (x,y) xy và : A A A (x,y) xy thỏa 5 tính chất sau:
- 6 I. Đại Số Bool - Tính giao hốn: x, y A xy = yx; xy = yx; - Tính kết hợp: x, y, z A (xy) z = x(y z); (xy) z = x (y z). - Tính phân phối : x, y, z A x(y z) = (xy) (xz); x (y z) = (xy) (xz).
- 7 I. Đại Số Bool - Cĩ các phần tử trung hịa 1 và 0: x A x1 = 1x = x; x0 = 0x = x. - Mọi phần tử đều cĩ phần tử bù: x A, x A, x = x = 0; x = x = 1.
- 8 I. Đại Số Bool Ví dụ. Xét F là tập hợp tất cả các dạng mệnh đề theo n biến p1, p2, ,pn với hai phép tốn hội , phép tốn tuyển , trong đĩ ta đồng nhất các dạng mệnh đề tương đương. Khi đĩ F là một đại số Bool với phần tử 1 là hằng đúng 1, phần tử 0 là hằng sai 0, phần tử bù của dạng mệnh đề E là dạng mệnh đề bù E
- 9 I. Đại Số Bool Xét tập hợp B = {0, 1}. Trên B ta định nghĩa hai phép tốn , như sau: Khi đĩ, B trở thành một đại số Bool
- 10 II. Hàm Bool Hàm Bool n biến là ánh xạ f : Bn B , trong đĩ B = {0, 1}. Như vậy hàm Bool n biến là một hàm số cĩ dạng : f = f(x1,x2, ,xn), trong đĩ mỗi biến trong x1, x2, , xn chỉ nhận hai giá trị 0, 1 và f nhận giá trị trong B = {0, 1}. Ký hiệu Fn để chỉ tập các hàm Bool biến. Ví dụ. Dạng mệnh đề E = E(p1,p2, ,pn) theo n biến p1, p2, , pn là một hàm Bool n biến.
- 11 Bảng chân trị Xét hàm Bool n biến f(x1,x2, ,xn) n Vì mỗi biến xi chỉ nhận hai giá trị 0, 1 nên chỉ cĩ 2 trường hợp của bộ biến (x1,x2, ,xn). Do đĩ, để mơ tả f, ta cĩ thể lập bảng gồm 2n hàng ghi tất cả các giá trị của f tùy theo 2n trường hợp của biến. Ta gọi đây là bảng chân trị của f
- 12 Ví dụ Xét kết qủa f trong việc thơng qua một quyết định dựa vào 3 phiếu bầu x, y, z Mỗi phiếu chỉ lấy một trong hai giá trị: 1 (tán thành) hoặc 0 (bác bỏ). Kết qủa f là 1 (thơng qua quyết định) nếu được đa số phiếu tán thành, là 0 (khơng thơng qua quyết định) nếu đa số phiếu bác bỏ.
- Hàm Bool Khi đĩ f là hàm Bool theo 3 biến x, y, z cĩ bảng chân trị như sau: x y z f 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 1 1 0 0 0 1 0 1 1 1 1 0 1 1 1 1 1 13
- 14 Các phép tốn trên hàm Bool Các phép tốn trên Fn được định nghĩa như sau: Phép cộng Bool : Với f, g Fn ta định nghĩa tổng Bool của f và g: f g = f + g – fg Suy ra 0 1 0 0 1 1 1 1
- 15 Các phép tốn trên hàm Bool n x = (x1,x2, ,xn) B , (f g)(x) = f(x) + g(x) – f(x)g(x) Dễ thấy f g Fn và (f g)(x) = max{f(x), g(x)}
- 16 Các phép tốn trên hàm Bool Phép nhân Bool : Với f, g Fn ta định nghĩa tích Bool của f và g f g = fg n x=(x1,x2, ,xn) B , (f g)(x) = f(x)g(x) Dễ thấy: f g Fn và (f g)(x) = min{f(x), g(x)} Ta thường viết fg thay cho f g
- 17 Các phép tốn trên hàm Bool Phép lấy hàm bù: Với f Fn ta định nghĩa hàm bù của f như sau: ff 1
- Dạng nối rời chính tắc của Hàm Bool Xét tập hợp các hàm Bool của n biến Fn theo n biến x1, x2, ,xn Mỗi hàm bool x hay được gọi là từ đơn. i xi Đơn thức là tích khác khơng của một số hữu hạn từ đơn. Từ tối tiểu là tích khác khơng của đúng n từ đơn. Cơng thức đa thức là cơng thức biểu diễn hàm Bool thành tổng của các đơn thức. Dạng nối rời chính tắc là cơng thức biểu diễn hàm Bool thành tổng của các từ tối tiểu. 18
- là từ tối tiểu
- III. Biểu đồ karnaugh Cơng thức đa thức tối tiểu Đơn giản hơn Cho hai cơng thức đa thức của một hàm Bool : f = m1 m2 . mk (F) f =M1 M2 Ml (G) Ta nĩi rằng cơng thức F đơn giản hơn cơng thức G nếu tồn tại đơn ánh h: {1,2, ,k} → { 1,2, , l} sao cho với mọi i {1,2, ,k} thì số từ đơn của mi khơng nhiều hơn số từ đơn của Mh(i)
- 21 Cơng thức đa thức tối tiểu Đơn giản như nhau Nếu F đơn giản hơn G và G đơn giản hơn F thì ta nĩi F và G đơn giản như nhau Cơng thức đa thức tối tiểu: Cơng thức F của hàm Bool f được gọi là tối tiểu nếu với bất kỳ cơng thức G của f mà đơn giản hơn F thì F và G đơn giản như nhau
- Phương pháp biểu đồ Karnaugh. Xét f là một hàm Bool theo n biến x1,x2, ,xn với n = 3 hoặc 4. Trường hợp n = 3: f là hàm Bool theo 3 biến x, y, z. Khi đĩ bảng chân trị của f gồm 8 hàng. Thay cho bảng chân trị của f ta vẽ một bảng chữ nhật gồm 8 ơ, tương ứng với 8 hàng của bảng chân trị, được đánh dấu như sau:
- Với qui ước: Khi một ơ nằm trong dãy được đánh dấu bởi x thì tại đĩ x =1, bởi x thì tại đĩ x =0, tương tự cho y, z. Các ơ tại đĩ f bằng 1 sẽ được đánh dấu (tơ đậm hoặc gạch chéo). Tập các ơ được đánh dấu được gọi là biểu đồ Karnaugh của f, ký hiệu là kar(f).
- Trường hợp n = 4: f là hàm Bool theo 4 biến x, y, z, t. Khi đĩ bảng chân trị của f gồm 16 hàng. Thay cho bảng chân trị của f ta vẽ một bảng chữ nhật gồm 16 ơ, tương ứng với 16 hàng của bảng chân trị, được đánh dấu như sau:
- Với qui ước: Khi một ơ nằm trong dãy được đánh dấu bởi x thì tại đĩ x =1, bởi x thì tại đĩ x =0, tương tự cho y, z, t. Các ơ tại đĩ f bằng 1 sẽ được đánh dấu (tơ đậm hoặc gạch chéo). Tập các ơ được đánh dấu được gọi là biểu đồ karnaugh của f, ký hiệu là kar(f). Trong cả hai trường hợp, hai ơ được gọi là kề nhau (theo nghĩa rộng), nếu chúng là hai ơ liền nhau hoặc chúng là ơ đầu, ơ cuối của cùng một hàng (cột) nào đĩ. Nhận xét rằng, do cách đánh dấu như trên, hai ơ kề nhau chỉ lệch nhau ở một biến duy nhất.
- Định lý Cho f, g là các hàm Bool theo n biến x1,x2, ,xn. Khi đĩ: a) kar(fg) = kar(f)kar(g). b) kar(fg) = kar(f)kar(g). c) kar(f) gồm đúng một ơ khi và chỉ khi f là một từ tối tiểu
- Tế bào Tế bào là hình chữ nhật (theo nghĩa rộng) gồm 2n-k ơ Nếu T là một tế bào thì T là biểu đồ karnaugh của một đơn thức duy nhất m, cách xác định m như sau: lần lượt chiếu T lên các cạnh, nếu tồn bộ hình chiếu nằm trọn trong một từ đơn nào thì từ đơn đĩ mới xuất hiện trong m.
- Ví dụ 1. Xét các hàm Bool theo 4 biến x, y, z, t.
- Ví dụ 2. Xét các hàm Bool theo 4 biến x, y, z, t.
- Ví dụ 3. Xét các hàm Bool theo 4 biến x, y, z, t.
- Ví dụ 4. Xét các hàm Bool theo 4 biến x, y, z, t.
- Ví dụ 5. Xét các hàm Bool theo 4 biến x, y, z, t. Tế bào sau: Là biểu đồ Karnaugh của đơn thức nào?
- Tế bào lớn. Cho hàm Bool f. Ta nĩi T là một tế bào lớn của kar(f) nếu T thoả hai tính chất sau: a) T là một tế bào và T kar(f). b) Khơng tồn tại tế bào T’ nào thỏa T’ T và T T’ kar(f).
- Ví dụ. Xét hàm Bool f theo 4 biến x, y, z, t cĩ biểu đồ karnaugh như sau:
- Kar(f) cĩ 6 tế bào lớn như sau:
- Thuật tốn tìm đa thức tối tiểu. Bước 1: Vẽ biểu đồ karnaugh của f. Bước 2: Xác định tất cả các tế bào lớn của kar(f). Bước 3: Xác định các tế bào lớn m nhất thiết phải chọn. Ta nhất thiết phải chọn tế bào lớn T khi tồn tại một ơ của kar(f) mà ơ này chỉ nằm trong tế bào lớn T và khơng nằm trong bất kỳ tế bào lớn nào khác.
- Bước 4: Xác định các phủ tối tiểu gồm các tế bào lớn Nếu các tế bào lớn chọn được ở bước 3 đã phủ được kar(f) thì ta cĩ duy nhất một phủ tối tiểu gồm các tế bào lớn của kar(f). Nếu các tế bào lớn chọn được ở bước 3 chưa phủ được kar(f) thì: Xét một ơ chưa bị phủ, sẽ cĩ ít nhất hai tế bào lớn chứa ơ này, ta chọn một trong các tế bào lớn này. Cứ tiếp tục như thế ta sẽ tìm được tất cả các phủ gồm các tế bào lớn của kar(f). Loại bỏ các phủ khơng tối tiểu, ta tìm được tất cả các phủ tối tiểu gồm các tế bào lớn của kar(f).
- Bước 5: Xác định các cơng thức đa thức tối tiểu của f. Từ các phủ tối tiểu gồm các tế bào lớn của kar(f) tìm được ở bước 4 ta xác định được các cơng thức đa thức tương ứng của f Loại bỏ các cơng thức đa thức mà cĩ một cơng thức đa thức nào đĩ thực sự đơn giản hơn chúng. Các cơng thức đa thức cịn lại chính là các cơng thức đa thức tối tiểu của f.
- Ví dụ 1 Tìm tất cả các cơng thức đa thức tối tiểu của hàm Bool: f(,,,)() x y z t xyzt xy xz yz xy z t xyzt xy xz yz xyz xyt
- f(,,,) x y z t xyzt xy xz yz xyz xyt
- f(,,,) x y z t xyzt xy xz yz xy z x y t
- f(,,,) x y z t xyzt xy xz yz xy z xyt
- f(,,,) x y z t xyzt xy xz yz xyz xyt
- f(,,,) x y z t xyzt xy xz yz xyz xyt
- f(,,,) x y z t xyzt xy xz yz xyz xyt
- f(,,,) x y z t xyzt xy xz yz xyz xyt Bước 1:Vẽ kar(f):
- f(,,,) x y z t xyzt xy xz yz xyz xyt Bước 2: Kar(f) cĩ các tế bào lớn như sau: x yz
- f(,,,) x y z t xyzt xy xz yz xyz xyt Bước 3: Xác định các tế bào lớn nhất thiết phải chọn: - Ơ 1 nằm trong một tế bào lớn duy nhất x. Ta chọn x. - Ơ 3 nằm trong một tế bào lớn duy nhất yz. Ta chọn yz. 1 2 x 4 5 1 2 3 7 8 4 5 6 9 10 7 8 2 3 5 6 9 10 yz
- Bước 4: Xác định các phủ tối tiểu gồm các tế bào lớn 1 2 3 1 2 3 4 5 6 7 8 4 5 6 x 9 10 7 8 9 10 1 2 3 4 5 6 Ta được duy nhất một phủ tối tiểu 7 8 gồm các tế bào lớn của kar(f): 9 10 yz x ν yz.
- f(,,,) x y z t xyzt xy xz yz xyz xyt Bước 5: Xác định các cơng thức đa thức tối tiểu của f. Ứng với phủ tối tiểu gồm các tế bào lớn tìm được ở bước 4 ta tìm được duy nhất một cơng thức đa thức tối tiểu của f: x yz
- f yzt yzt yzt xyzt xzt 1 2 3 4 5 6 7 8 9 B1: Vẽ Kar(f)
- f yzt yzt yzt xyzt xzt 1 2 1 2 1 2 3 4 5 3 4 5 3 4 5 6 7 8 9 6 7 8 9 6 7 8 9 1 2 1 2 3 4 5 1 2 3 4 5 3 4 5 6 7 8 9 6 7 8 9 6 7 8 9 B2: Xác định tế bào lớn
- f yzt yzt yzt xyzt xzt 1 2 1 2 1 2 3 4 5 3 4 5 3 4 5 6 7 8 9 6 7 8 9 6 7 8 9 1 2 1 2 3 4 5 1 2 3 4 5 3 4 5 6 7 8 9 6 7 8 9 6 7 8 9 B3: Xác định các tế bào lớn nhất thiết phải chọn
- f yzt yzt yzt xyzt xzt Bước 3: Xác định các tế bào lớn nhất thiết phải chọn . Ơ 6 nằm trong một tế bào lớn duy nhất zt . Ta chọn . Ơ 1 nằm trong một tế bào lớn duy nhất xt . Ta chọn . Ơ 4 nằm trong một tế bào lớn duy nhất xzt . Ta chọn xzt
- f yzt yzt yzt xyzt xzt 1 2 1 2 1 2 3 4 5 3 4 5 3 4 5 6 7 8 9 6 7 8 9 6 7 8 9 1 2 1 2 1 2 3 4 5 3 4 5 3 4 5 zt xt xzt 6 7 8 9 6 7 8 9 6 7 8 9 B4: Xác định các phủ tối tiểu gồm các tế bào lớn
- f yzt yzt yzt xyzt xzt 1 2 Cịn lại ơ 5 chưa bị phủ Ơ 5 nằm trong 2 tế bào lớn: 2 cách chọn 3 4 5 6 7 8 9 1 2 1 2 zt xt xzt 3 4 5 3 4 5 6 7 8 9 6 7 8 9 B4: Xác định các phủ tối tiểu gồm các tế bào lớn
- f yzt yzt yzt xyzt xzt 1 2 Cịn lại ơ 5 chưa bị phủ 3 4 5 Ơ 5 nằm trong 2 tế bào lớn: 2 cách chọn 1 2 6 7 8 9 3 4 5 6 7 8 9 zt xt xzt xyz B4: Xác định các phủ tối tiểu gồm các tế bào lớn
- f yzt yzt yzt xyzt xzt 1 2 Cịn lại ơ 5 chưa bị phủ Ơ 5 nằm trong 2 tế bào lớn: 2 cách chọn 3 4 5 6 7 8 9 1 2 3 4 5 zt xt xzt yzt 6 7 8 9 B4: Xác định các phủ tối tiểu gồm các tế bào lớn
- f yzt yzt yzt xyzt xzt Bước 5: Xác định các cơng thức đa thức tối tiểu của f zt xt xzt xyz zt xt xzt yzt
- Hãy xác định các cơng thức đa thức tối tiểu của hàm Bool: f xz(y t) x z t z(yt x y)
- Biểu đồ Karnaugh:
- Các tế bào lớn: xz, yz, zt, x z t , x yt Các tế bào lớn bắt buộc phải chọn là xz, zt, x z t Còn lại ô (1,4) có thể nằm trong 2 tế bào lớn yz, x y t
- Do đó có 2 công thức đa thức tương ứng với phủ tối tiểu: f xz zt x z t x y t f xz zt x z t yz Trong đó chỉ có công thức thứ hai là tối tiểu
- IV. Mạng logic (Mạng các cổng) Ta nĩi mạng logic trên tổng hợp hay biểu diễn hàm Bool f
- Các cổng NOT: Bảng chân trị Kí hiệu cổng X not X 0 1 1 0 Input Output Nếu đưa mức HIGH vào ngõ vào của cổng, ngõ ra sẽ là mức LOW và ngược lại. F() x x
- Các cổng AND: Cổng AND cĩ ít nhất 2 ngõ vào Ngõ ra là 1 khi tất cả các ngõ vào là 1, ngược lại là 0 x xy x and y x y,x y,x& y,xy y Bảng chân trị X Y X and Y 0 0 0 0 1 0 1 0 0 1 1 1
- Các cổng OR: Cổng OR cĩ ít nhất là 2 ngõ vào Ngõ ra là 1, nếu cĩ một ngõ vào là 1, ngược lại là 0 x or y x y,x y,x|y x x v y y X Y X or Y Bảng chân trị: 0 0 0 0 1 1 1 0 1 1 1 1
- Các cổng NAND: Là cổng bù của AND Cĩ ngõ ra là ngược lại với cổng AND X nand Y = not (X and Y) = xy X Y Z 0 0 1 0 1 1 1 0 1 1 1 0
- Các cổng NOR: Là cổng bù của OR Cĩ ngõ ra ngược với cổng OR X nor Y = not (X or Y) = xy X Y Z 0 0 1 0 1 0 1 0 0 1 1 0
- Ví dụ f xz yz xt yt xyz
- Cho sơ đồ Viết biểu thức f f(,,)() x y z x y z x y z
- . Thiết kế một mạch điều khiển bởi 2 cầu dao Mỗi cầu dao xem như là biến x, y : 1 là bật 0 là tắt Cho F(x, y) =1 khi đèn sáng và 0 khi đèn tắt Giả sử F(x, y) =1 khi cả hai cái đều bật hoặc cùng tắt Ta cĩ bảng chân trị sau x y F(x, y) 1 1 1 1 0 0 0 1 0 0 0 1
- x x y y xy x y x x y x y y
- . Thiết kế một mạch điều khiển bởi 3 cầu dao Mỗi cầu dao xem như là biến x, y : 1 là bật 0 là tắt Cho F(x, y) =1 khi đèn sáng và 0 khi đèn tắt Giả sử F(x,y,z) =1 khi 1 hoặc 3 x y z F(x, y) cái đều bật 1 1 1 1 1 1 0 0 Ta cĩ bảng chân trị sau 1 0 1 0 1 0 0 1 0 1 1 0 0 1 0 1 0 0 1 1 0 0 0 0
- x x y z y z x y x y z Mạch y z z x x y x y z x y z z x y z z x y z x y z x x y y z x yz



