Bài giảng Toán rời rạc - Phần VI: Đại Số Bool và hàm Bool - Nguyễn Viết Đông

pdf 17 trang ngocly 2060
Bạn đang xem tài liệu "Bài giảng Toán rời rạc - Phần VI: Đại Số Bool và hàm Bool - Nguyễn Viết Đông", để 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:

  • pdfbai_giang_toan_roi_rac_phan_vi_dai_so_bool_va_ham_bool_nguye.pdf

Nội dung text: Bài giảng Toán rời rạc - Phần VI: Đại Số Bool và hàm Bool - Nguyễn Viết Đông

  1. Phần VI Đại Số Bool và hàm Bool Biên soạn:Nguyễn Viết Đông George Boole (1815-1864) 1 2 Tài liệu tham khảo Đại Số Bool Moät ñaïi soá Bool (A,,) laø moät taäp hôïp A  vôùi hai pheùp toaùn , , töùc laø hai aùnh xaï:  [1] GS.TS. Nguyễn Hữu Anh, Toán rời rạc, : A A A Nhà xuất bản giáo dục. (x,y) xy  [2] TS.Trần Ngọc Hội, Toán rời rạc vaø : A A A (x,y) xy thoûa 5 tính chaát sau: 3 4 1
  2. Đại Số Bool Đại Số Bool  Tính giao hoaùn: x,y A  Coù caùc phaàn töû trung hoøa 1 vaø 0: x A xy = yx; x1 = 1x = x; xy = yx;  Tính keát hôïp: x,y,z A x0 = 0x = x. (xy) z = x(y z); (xy) z = x (y z).  Moïi phaàn töû ñeàu coù phaàn töû buø: x A, x A,  Tính phaân boá: x,y,z A x  =  x = 0; x(y z) = (xy) (xz); x (y z) = (xy)  (xz). x  =  x = 1. 5 6 Đại Số Bool Đại Số Bool Ví dụ: Xeùt taäp hôïp B = {0, 1}. Treân B ta ñònh nghóa hai Xeùt F laø taäp hôïp taát caû caùc daïng meänh ñeà theo n pheùp toaùn , nhö sau: bieán p1, p2, ,pn vôùi hai pheùp toaùn noái lieàn , pheùp toaùn noái rôøi , trong ñoù ta ñoàng nhaát caùc daïng meänh ñeà töông ñöông. Khi ñoù F laø moät ñaïi soá Bool vôùi phaàn töû 1 laø haèng ñuùng 1, phaàn töû 0 laø haèng sai 0, phaàn töû buø cuûa daïng meänh ñeà E laø daïng meänh ñeà buø E Khi đó, B trở thành một đại số Bool 7 8 2
  3. Đại Số Bool Định nghĩa hàm Bool Cho ñaïi soá Bool (A,,). Khi ñoù vôùi moïi x,y A, ta coù: Haøm Bool n bieán laø aùnh xaï 1) xx = x; xx = x. f : Bn B , trong ñoù B = {0, 1}. 2) x0 = 0x =0; x1 =1x = 1. 3) Phaàn töû buø cuûa x laø duy nhaát Như vậy haøm Bool n bieán laø moät haøm soá coù daïng : vaø x = x; 1 0; 0 1. f = f(x1,x2, ,xn), trong ñoù moãi bieán trong x1, x2, , xn vaø f 4) Coâng thöùc De Morgan: chỉ nhaän giaù trò trong B = {0, 1}. x y x  y; Kyù hieäu F ñeå chæ taäp caùc haøm Bool n bieán. x y x  y. n 5) Tính haáp thuï:x(xy) = x; x (xy) = x. Ví duï: Daïng meänh ñeà E = E(p1,p2, ,pn) theo n bieán p1, p2, , pn laø moät haøm Bool n bieán. 9 10 Bảng chân trị Ví dụ Xeùt keát quả f trong vieäc thoâng qua moät quyeát Xeùt haøm Bool n bieán f(x1,x2, ,xn) ñònh döïa vaøo 3 phieáu baàu x, y, z 1. Moãi phieáu chæ laáy moät trong hai giaù trò: 1 (taùn Vì moãi bieán xi chæ nhaän hai giaù trò 0, 1 neân chæ coù n 2 tröôøng hôïp cuûa boä bieán (x1,x2, ,xn). thaønh) hoaëc 0 (baùc boû). 2. Keát qủa f laø 1 (thoâng qua quyeát ñònh) neáu Do ñoù, ñeå moâ taû f, ta coù theå laäp baûng goàm 2n haøng ghi taát caû caùc giaù trò cuûa f tuøy theo 2n tröôøng hôïp cuûa ñöôïc ña soá phieáu taùn thaønh, laø 0 (khoâng thoâng bieán. Ta goïi ñaây laø baûng chaân trò cuûa f qua quyeát ñònh) neáu ña soá phieáu baùc boû. 11 12 3
  4. Hàm Bool Các phép toán trên hàm Bool Khi ñoù f laø haøm Bool theo 3 bieán x, y, z coù baûng Các phép toán trên Fn được định nghĩa như sau: chaân trò nhö sau: 1. Pheùp coäng Bool : Vôùi f, g Fn ta ñònh nghóa toång Bool cuûa f vaø g: f  g = f + g – fg n x = (x1,x2, ,xn) B , (f  g)(x) = f(x) + g(x) – f(x)g(x) 13 14 Các phép toán trên hàm Bool Các phép toán trên hàm Bool 2. Pheùp nhaân Bool : 3) Pheùp laáy haøm buø: Vôùi f F ta ñònh nghóa haøm buø cuûa f nhö sau: Vôùi f, g Fn ta ñònh nghóa tích Bool cuûa f vaø g n ff 1 f  g = fg n 4) Thứ tự trên Fn x=(x1,x2, ,xn) B , Với f, g Fn thì (f  g)(x) = f(x)g(x) n f g  x = (x1, x2, , xn) B , f(x) g(x) Ta thöôøng vieát fg thay cho f  g 15 16 4
  5. Dạng nối rời chính tắc của Hàm Bool Dạng nối liền 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 F theo n biến x ,x , ,x n 1 2 n  Từ tối đại là phần bù của các từ tối tiểu. Mỗi từ tối  Mỗi hàm bool x hay được gọi là từ đơn. i xi đại là tổng Boole của n từ đơn.  Đơn thức là tích khác không của một số hữu hạn từ đơn.  Công thức biểu diễn hàm Boole f thành tích của các  Từ tối tiểu là tích khác không của đúng n từ đơn. từ tối đại gọi là dạng nối liền chính tắc của hàm  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. Boole f  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 18 Công thức đa thức tối tiểu Công thức đa thức tối tiểu  Đơn giản hơn  Đơn giản như nhau Cho hai công thức đa thức của một hàm Bool : Nếu F đơn giản hơn G và G đơn giản hơn F f = m1 m2  .  mk (F) thì ta nói F và G đơn giản như nhau 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 Công thức đa thức tối tiểu: tồn tại đơn ánh : {1,2, ,k} → { 1,2, , l} sao cho với mọi Công thức F của hàm Bool f được gọi là tối i {1,2, ,k} thì số từ đơn của mi không nhiều hơn số từ tiểu nếu với bất kỳ công thức G của f mà đơn đơn của M (i) giản hơn F thì F và G đơn giản như nhau 19 20 5
  6. Phương pháp biểu đồ Karnaugh. Vôùi qui öôùc: Xét f là hàm Bool theo n biến x1,x2, ,xn với n = 3 hoặc 4. Trường hợp n = 3: 1.Khi moät oâ naèm trong daõy ñöôïc ñaùnh daáu f là hàm Bool theo 3 biến x, y, z. Khi đó bảng chân trị của f bôûi x thì taïi ñoù x =1, bôûix thì taïi ñoù x =0, gồm 8 hàng. Thay cho bảng chân trị của f ta vẽ một bảng chữ töông töï cho y, z. 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: 2.Caùc oâ taïi ñoù f baèng 1 seõ ñöôïc ñaùnh daáu (toâ ñaäm hoaëc gaïch cheùo). Taäp caùc oâ ñöôïc ñaùnh daáu ñöôïc goïi laø bieåu ñoà Karnaugh cuûa f, kyù hieäu laø kar(f). Tröôøng hôïp n = 4: Vôùi qui öôùc: f laø haøm Bool theo 4 bieán x, y, z, t. Khi ñoù baûng chaân trò cuûa f goàm 16 haøng. Thay cho 1. Khi moät oâ naèm trong daõy ñöôïc ñaùnh daáu bôûi x thì baûng chaân trò cuûa f ta veõ moät baûng chöõ nhaät taïi ñoù x =1, bôûi x thì taïi ñoù x =0, töông töï cho y, z, t. goàm 16 oâ, töông öùng vôùi 16 haøng cuûa baûng chaân trò, ñöôïc ñaùnh daáu nhö sau: 2. Caùc oâ taïi ñoù f baèng 1 seõ ñöôïc ñaùnh daáu (toâ ñaäm hoaëc gaïch cheùo). Taäp caùc oâ ñöôïc ñaùnh daáu ñöôïc goïi laø bieåu ñoà karnaugh cuûa f, kyù hieäu laø kar(f). 6
  7. Ñònh lyù Teá baøo Cho f, g là các hàm Bool theo n biến Hai oâ ñöôïc goïi laø keà nhau (theo nghóa roäng), neáu x1,x2, ,xn. Khi đoù: chuùng laø hai oâ lieàn nhau hoaëc chuùng laø oâ ñaàu, oâ cuoái cuûa cuøng moät haøng (coät) naøo ñoù. Nhaän xeùt a) kar(fg) = kar(f)kar(g). raèng, do caùch ñaùnh daáu nhö treân, hai oâ keà nhau chæ leäch nhau ôû moät bieán duy nhaát. b) kar(fg) = kar(f)kar(g). Tế bào là hình chữ nhật (theo nghĩa rộng) gồm c) kar(f) goàm ñuùng moät oâ khi vaø 2k ô (k = 0,1, ,n – 1) chæ khi f laø moät từ toái tieåu Neáu T laø moät teá baøo thì T laø bieåu ñoà karnaugh cuûa moät d) kar(f)  kar(g) f g ñôn thöùc duy nhaát m, caùch xaùc ñònh m nhö sau: laàn löôït chieáu T leân caùc caïnh, neáu toaøn boä hình chieáu naèm troïn trong moät töø ñôn naøo thì töø ñôn ñoù môùi xuaát hieän trong m. Ví du 1ï: Ví duï 2: Xeùt caùc haøm Bool theo 4 bieán x, y, z, t. Xeùt caùc haøm Bool theo 4 bieán x, y, z, t. 7
  8. Ví duï 3: Ví duï 4: Xeùt caùc haøm Bool theo 4 bieán x, y, z, t. Xeùt caùc haøm Bool theo 4 bieán x, y, z, t. Ví duï 5: Teá baøo lôùn. Xeùt caùc haøm Bool theo 4 bieán x, y, z, t. Tế bào sau: Cho haøm Bool f. Ta noùi T laø moät teá baøo lôùn cuûa kar(f) neáu T thoaû hai tính chaát sau: a) T laø moät teá baøo vaø T  kar(f). b) Khoâng toàn taïi teá baøo T’ naøo Là biểu đồ Karnaugh của đơn thức nào? thoûa T’ T vaø T  T’  kar(f). 8
  9. Ví duï: Xeùt haøm Bool f theo 4 bieán x, y, z, t Kar(f) coù 6 teá baøo lôùn coù bieåu ñoà karnaugh nhö sau: nhö sau: 9
  10. Thuaät toaùn. Thuaät toaùn. Böôùc 1: Veõ bieåu ñoà karnaugh cuûa f. Böôùc 4: Xaùc ñònh caùc phuû toái tieåu goàm caùc teá baøo lôùn. Böôùc 2: Xaùc ñònh taát caû caùc teá baøo lôùn cuûa kar(f). Neáu caùc teá baøo lôùn choïn ñöôïc ôû böôùc 3 ñaõ phuû ñöôïc kar(f) thì ta coù duy nhaát moät phuû toái tieåu Böôùc 3: Xaùc ñònh caùc teá baøo lôùn mà nhaát thieát goàm caùc teá baøo lôùn cuûa kar(f). phaûi choïn. Neáu caùc teá baøo lôùn choïn ñöôïc ôû böôùc 3 chöa Ta nhaát thieát phaûi choïn teá baøo lôùn T khi toàn phuû ñöôïc kar(f) thì xeùt moät oâ chöa bò phuû, seõ coù ít taïi moät oâ cuûa kar(f) maø oâ naøy chæ naèm trong nhaát hai teá baøo lôùn chöùa oâ naøy, ta choïn moät teá baøo lôùn T vaø khoâng naèm trong baát kyø teá trong caùc teá baøo lôùn naøy. Cöù tieáp tuïc nhö theá ta baøo lôùn naøo khaùc. seõ tìm ñöôïc taát caû caùc phuû goàm caùc teá baøo lôùn cuûa kar(f). Loaïi boû caùc phuû khoâng toái tieåu, ta tìm ñöôïc taát caû caùc phuû toái tieåu goàm caùc teá baøo lôùn cuûa kar(f). Thuaät toaùn. Moät soá ví duï Böôùc 5: Xaùc ñònh caùc coâng thöùc ña thöùc toái tieåu cuûa f. Ví duï 1: Töø caùc phuû toái tieåu goàm caùc teá baøo lôùn cuûa kar(f) tìm ñöôïc ôû böôùc 4 ta xaùc Tìm taát caû caùc coâng thöùc ña thöùc toái ñònh ñöôïc caùc coâng thöùc ña thöùc töông tieåu cuûa haøm Bool: öùng cuûa f. So saùnh caùc coâng thöùc treân . Loaïi boû caùc coâng thöùc ña thöùc maø coù moät coâng thöùc ña thöùc naøo ñoù thöïc söï ñôn giaûn hôn chuùng. Caùc coâng thöùc ña f(x, y,z,t) xyzt  xy  xz  yz  xy(z  t) thöùc coøn laïi chính laø caùc coâng thöùc ña thöùc toái tieåu cuûa f. 10
  11. Giaûi Ta coù f xyzt  xy  xz  yz  xyz  xyt Böôùc 1: Veõ kar(f) Böôùc 3: Xaùc ñònh caùc teá baøo lôùn nhaát thieát phaûi choïn. - OÂ 1 naèm trong moät teá baøo lôùn duy nhaát x. Ta choïn x. - OÂ 3 naèm trong moät teá baøo lôùn duy nhaát yz. Ta choïn yz. Böôùc 5: Xaùc ñònh caùc coâng thöùc ña Böôùc 4: Xaùc ñònh caùc phuû toái tieåu goàm caùc teá baøo lôùn. thöùc toái tieåu cuûa f. Caùc oâ ñöôïc caùc teá baøo lôùn ñaõ choïn ôû böôùc 3 phuû nhö sau: ÖÙng vôùi phuû toái tieåu goàm caùc teá baøo lôùn tìm ñöôïc ôû böôùc 4 ta tìm ñöôïc duy nhaát moät coâng thöùc ña thöùc toái tieåu cuûa f: Ta ñöôïc duy nhaát moät phuû toái tieåu goàm caùc teá baøo lôùn cuûa kar(f): x; yz. f  x yz 11
  12. Ví duï 2: Tìm taát caû caùc coâng thöùc ña thöùc toái tieåu Böôùc 2: Kar(f) coù caùc teá baøo lôùn nhö sau: cuûa haøm Bool: f(x, y,z,t) y(zt  zt)  y(zt  xzt)  xzt Giaûi Ta coù f yzt  yzt  yzt  xyzt  xzt Böôùc 1: Veõ kar(f): Böôùc 3: Xaùc ñònh caùc teá baøo lôùn nhaát thieát phaûi choïn 1. OÂ 1 naèm trong moät teá baøo lôùn duy nhaát xt Ta choïn xt 2. OÂ 4 naèm trong moät teá baøo lôùn duy nhaát xzt Ta choïn xzt 3. OÂ 6 naèm trong moät teá baøo lôùn duy nhaát zt Ta choïn Böôùc 4: Xaùc ñònh caùc phuû toái tieåu goàm caùc teá baøo lôùn Caùc oâ ñöôïc caùc teá baøo lôùn ñaõ choïn ôû böôùc 3 phuû nhö sau: 12
  13. Böôùc 5: Xaùc ñònh caùc coâng thöùc ña thöùc toái tieåu cuûa f. ÖÙng vôùi hai phuû toái tieåu goàm caùc teá baøo lôùn tìm ñöôïc ôû böôùc 4 ta tìm ñöôïc hai coâng thöùc ña thöùc cuûa f: Ta thaáy hai coâng thöùc treân ñôn giaûn nhö nhau. Do ñoù, chuùng ñeàu laø hai coâng thöùc ña thöùc toái tieåu cuûa f. Vídụ 3(BAØI 7Đề2007) • Bieåu ñoà Karnaugh: (0,25ñ) • Haõy xaùc ñònh caùc coâng thöùc ña thöùc toái tieåu cuûa haøm Bool: f xz(y  t)  x z t  z(yt  x y) 13
  14. • Caùc teá baøo lôùn: (0,5đ) xz, yz, zt, x z t , x yt • Do ñoù coù 2 coâng thöùc ña thöùc töông öùng vôùi phuû toái tieåu: (0, 5ñ) f xz zt  x z t x y t • Caùc teá baøo lôùn baét buoäc phaûi choïn laø xz, zt, x z t f xz  zt  x z t  yz • Coøn laïi oâ (1,4) coù theå naèm trong 2 teá baøo lôùn • Trong ñoù chæ coù coâng thöùc thöù hai laø toái tieåu (0,25ñ) yz, x y t Maïng logic (Maïng caùc coång) Coång NOT Ñònh nghóa Coång AND Moät maïng logic hay moät maïng caùc coång laø moät heä thoáng coù daïng: Coång OR Coång NAND trong ñoù: - Input: x1, x2, , xn laø caùc bieán Bool. - Output f(x1, x2, , xn) laø haøm Bool. Ta noùi maïng logic treân toång hôïp hay bieåu dieãn haøm Bool f. Coång NOR Moät maïng logic baát kyø luoân luoân ñöôïc caáu taïo töø moät soá maïng sô caáp maø ta goïi laø caùc coång. 14
  15. Basic Gates x We combine gates by allowing output of one gate to x become input of other gates x x y inverter y xy xy x1 x1+x2+ +xn x x x + y x x2 y y xy xn OR gate OR OR gate with n inputs x x y x y x1 x x y xy xy 2 x x x y 1 2 n x xn AND gate with n inputs AND gate xy Example. Construct the circuit that provides the output Example of Circuits (x y z)x y z Example. Design a circuit to simulate the voting of a committee of three persons based on the majority Solution. The voting of three persons are represented by x x + y + z three Boolean variables x, y, z : 1 for YES and 0 for NO y z (x y z)x y z x x y x x y x y + x z + y z y x x z y z x y z z y z z y z 15
  16. Example of Circuits The corresponding circuit Example. Design a circuit for a light controlled by two switches Solution. The switches are represented by two Boolean x x y variables x, y : 1 for CLOSED and 0 for OPEN y Let F(x, y) =1 when the light is ON and 0 when it is OFF xy x y Assume that F(1, 1) =1 when both switches are closed x x x y F(x, y) 1 1 1 Then the Boolean function F(x, y) y x y is determined by the truth table 1 0 0 y 0 1 0 0 0 1 x x y z Example. Design a circuit for a light controlled by y The three switches z corresponding x Solution. The switches are represented by three Boolean circuit variables x, y, z : 1 for CLOSED and 0 for OPEN y x y z y Let F(x,y,z) =1 when the light x y z F(x, y) z z is ON and 0 when it is OFF 1 1 1 1 x x Assume that F(1, 1, 1) =1 1 1 0 0 y x y z x y z 1 0 1 0 when three switches are closed z x y z x y z x y z 1 0 0 1 z Then the Boolean function 0 1 1 0 x x F(x, y, z) is determined by 0 1 0 1 y y the truth table 0 0 1 1 x yz 0 0 0 0 z 16
  17. f x y z x x y The y  This formula contains only three literals. It allows us to corresponding design a circuit to represent f with only one OR gate with circuit three inputs y yz x f x y z z y x z y f yz xy z xyz xyz wx z w x z wx z Đề thi 2009. Xét hàm Bool f ( xy  xyz )(  t )  zxt (  yt )  yzt a) Hãy tìm các từ tối tiểu m sao cho m f b) Suy ra cách biểu diễn f như là tích của các từ tối đại , trong đó mỗi từ tối đại là tổng Bool của 4 từ đơn 17