Giáo trình Toán-Tin - Bài 5: Đại số Bool

pdf 70 trang huongle 4380
Bạn đang xem 20 trang mẫu của tài liệu "Giáo trình Toán-Tin - Bài 5: Đại số Bool", để 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:

  • pdfgiao_trinh_toan_tin_bai_5_dai_so_bool.pdf

Nội dung text: Giáo trình Toán-Tin - Bài 5: Đại số Bool

  1. Nội dung 1. Đại Số Bool 2. Hàm Bool 3. Biểu đồ Karnaugh 4. Mạch logic
  2. 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
  3. Mở đầu A B C MN 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 1 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1 1
  4. 5 Một đại số Bool (A,,) là một tập hợp A  với hai phép tốn , , với hai ánh xạ:  : A A A (x,y) xy và  : A A A (x,y) xy thỏa 5 tính chất sau:
  5. 6 Tính giao hốn:  x, y A xy = yx; xy = yx; Tính kết hợp:  x, y, z A (xy) z = x(y z); (xy) z = x (y z). Tính phân phối :  x, y, z A x(y z) = (xy) (xz); x (y z) = (xy)  (xz).
  6. 7 Cĩ các phần tử trung hịa 1 và 0: x A x  1 = 1  x = x; x  0 = 0  x = x. Mọi phần tử đều cĩ phần tử bù: x A,  x A, x  =  x = 0; x  =  x = 1.
  7. 8 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
  8. 9 Xét tập hợp B = {0, 1}. Trên B ta định nghĩa hai phép tốn , như sau:  0 1  0 1 0 0 0 0 0 1 1 0 1 1 1 1 Khi đĩ, B trở thành một đại số Bool
  9. 10 Hàm Bool n biến là ánh xạ f : Bn B , trong đĩ B = {0, 1}. 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 n 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.
  10. 11 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
  11. 12 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ỏ.
  12. 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 1 1 1 1 1 1 0 1 1 0 1 1 1 0 0 0 0 1 1 1 0 1 0 0 0 0 1 0 0 0 0 0
  13. 14 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
  14. 15 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) Ta thường viết fg thay cho f  g
  15. 16 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
  16. 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 xi hay x i được gọi là từ đơn. Đơ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.
  17. x, x, y, y, z, z,t,t là các từ đơn xyzt; xyt là các đơn thức xyzt là một đơn thức tối tiểu f xy z  yz
  18. 19 Đơ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)
  19. 20 Đơ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
  20. 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:
  21. Quy ướ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).
  22. 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:
  23. 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, và 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.
  24. Đị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(fg) = 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
  25. 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.
  26. Ví dụ : Xét các hàm Bool theo 4 biến x, y, z, t.
  27. Ví dụ : Xét các hàm Bool theo 4 biến x, y, z, t. Là biểu đồ Karnaugh của đơn thức nào?
  28. Ví dụ Xét các hàm Bool theo 4 biến x, y, z, t. Là biểu đồ Karnaugh của đơn thức nào?
  29. Ví dụ : 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?
  30. Ví dụ: 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?
  31. 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). Hay tế bào lớn là một tế bào mà khơng bị phủ bởi bất kỳ một tế bào nào khác
  32. Ví dụ : Xét hàm Bool f theo 4 biến x, y, z, t cĩ biểu đồ karnaugh như sau
  33. Kar(f) cĩ 6 tế bào lớn như sau:
  34. Thuật tốn : Biểu đồ Karnaugh 1. Vẽ biểu đồ karnaugh của f. 2. Xác định tất cả các tế bào lớn của kar(f). 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.
  35. Biểu đồ Karnaugh 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).
  36. Biểu đồ Karnaugh 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.
  37. Cho bảng chân trị của hàm Bool. Tìm cơng thức đa thức tối tiểu x x x x z z y y y
  38. Các tế bào lớn xy xz yz
  39. f xy  yz  xz
  40. Cho hàm Bool f xyz  x.y  xy z Hãy tìm cơng thức đa thức tối tiểu
  41. Tế bào lớn : xz xy y.z
  42. Tế bào lớn : xz xy y.z Chỉ cần 2 tế bào và là phủ được hàm Bool f xyz  x.y  xy z
  43. 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
  44. f(,,,) x y z t xyzt  xy  xz yz  xyz  xyt
  45. f(,,,) x y z t xyzt xy  xz  yz xy z  x y t
  46. f(,,,) x y z t xyzt  xy xz  yz  xy z  xyt
  47. f(,,,) x y z t xyzt  xy  xz yz  xyz  xyt
  48. f(,,,) x y z t xyzt  xy  xz  yz xyz  xyt
  49. f(,,,) x y z t xyzt  xy  xz  yz  xyz  xyt
  50. f(,,,) x y z t xyzt  xy  xz  yz  xyz  xyt Bước 1:Vẽ kar(f):
  51. 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
  52. Bước 3: Xác định các tế bào lớn nhất thiết phải chọn: f(,,,) x y z t xyzt  xy  xz  yz  xyz  xyt - Ơ 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 1 2 3 4 5 x 7 8 4 5 6 9 10 7 8 2 3 5 6 9 10 yz
  53. 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 4 5 6 x 7 8 7 8 9 10 9 10 1 2 3 Ta được duy nhất một phủ tối tiểu 4 5 6 gồm các tế bào lớn của kar(f): yz 7 8 x ν yz. 9 10
  54. 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
  55. f yzt  yzt  yzt  xyzt  xzt 1 2 3 4 5 6 7 8 9 B1: Vẽ Kar(f)
  56. 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 1 2 3 4 5 3 4 5 3 4 5 6 7 8 9 6 7 8 9 6 7 8 9
  57. 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 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 6 7 8 9 6 7 8 9 6 7 8 9
  58. 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
  59. 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 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 6 7 8 9 6 7 8 9 6 7 8 9 zt xt xzt
  60. f yzt  yzt  yzt  xyzt  xzt Cịn lại ơ 5 chưa bị phủ 1 2 Ơ 5 nằm trong 2 tế bào lớn: 2 cách chọn 3 4 5 1 2 1 2 6 7 8 9 3 4 5 3 4 5 zt xt xzt 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
  61. f yzt  yzt  yzt  xyzt  xzt Cịn lại ơ 5 chưa bị phủ 1 2 Ơ 5 nằm trong 2 tế bào lớn: 2 cách chọn 3 4 5 1 2 3 4 5 6 7 8 9 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
  62. 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 1 2 6 7 8 9 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
  63. 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
  64. 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)
  65. Biểu đồ Karnaugh:
  66. Các tế bào lớn: Các tế bào lớn bắt buộc phải chọn là xz, yz, zt, x z t , x yt Còn lại ô (1,4) có thể nằm trong 2 tế bào lớn xz, zt, x z t yz, x yt
  67. 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