Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 13 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
13
Dung lượng
279 KB
Nội dung
Chơng 6. ĐạisốBool Chơng 6 ĐạisốBool I. Hàm Bool Nhiều mô hình tính toán trên thực tế chỉ làm việc trên 2 giá trị cụ thể là 0 và 1. Ví dụ các hệ toán mệnh đề, tập hợp các tập con của A với 3 phép toán lấy phần bù, hợp và giao, trong đó A đóng vai trò 1 và tơng ứng với 0, các mạch máy tính Vì vậy cần nghiên cứu đạisốBool là đạisố làm việc trên tập các giá trị {0,1} và với 3 phép toán theo thứ tự u tiên là phần bù (-), nhân (.), cộng (+) đợc định nghĩa giống các phép toán NOT, AND, OR trong đạisố mệnh đề với T = 1, F = 0. Cụ thể các phép toán phần bù (hoặc phủ định), nhân và cộng trong đạisốBool đợc định nghĩa nh sau : ơ0 = 1 0.0 = 0 0 + 0 = 0 ơ1 = 0 0.1 = 0 0 + 1 = 1 1.0 = 0 1 + 1 = 1 1.1 = 1 1 + 0 = 1 Ví dụ : áp dụng bảng giá trị các phép toán Bool ở trên ta có thể tính đợc giá trị của biểu thức : 0.1 + ơ(1 + 0)(ơ1 + 1) = 0.1 + ơ(1.1) = 0 + 0 = 0. 1. Biểu thức và hàm Bool 1. Biểu thức Bool Biến Bool : Cho tập B = {0,1}, và X = {x} là tập các biến nhận giá trị trên B. Khi đó x đợc gọi là biến bool. Biểu thức Bool : Đợc định nghĩa đệ qui : 0, 1, x 1 , ., x n là các biểu thức Bool (x i là các biến Bool). Nếu B 1 , B 2 là các biểu thức Bool thì ơB 1 , (B 1 B 2 ), (B 1 +B 2 ) cũng là các biểu thức Bool. Từ định nghĩa trên ta thấy giá trị của biểu thức cũng sẽ là 0 hoặc 1. Bằng cách thay giá trị 0, 1 cho các biến trong biểu thức ta sẽ tính đợc giá trị của biểu thức. Ví dụ : (x+y)ơz + xy là biểu thức Bool nhận giá trị 0 nếu với bộ giá trị của các biến x, y, z là (0, 0, 0) và nhận giá trị 1 với bộ giá trị biến (0, 1, 0). Cũng giống nh trong đại số, để ngắn gọn ta có thể bỏ dấu nhân trong tích x.y và viết xy thay cho x.y. Vì đạisốBool là mô hình tổng quát của đạisố mệnh đề nên các thảo luận trong chơng này liên quan đến biểu thức Bool cũng hoàn toàn đúng đối với các công thức mệnh đề, trong đó các giá trị 0, 1 và các biến x i của đạisốBool tơng ứng với các giá trị T, F và các mệnh đề sơ cấp X i trong đạisố mệnh đề. Tơng tự trong đạisố mệnh đề hai biểu thức Bool nếu có giá trị bằng nhau trên mọi bộ giá trị của biến sẽ đợc gọi là 2 biểu thức tơng đơng. 1 Chơng 6. ĐạisốBool 2. Hàm Bool Hàm Bool bậc n : Hàm f n : B n B đợc gọi là hàm Bool bậc n. Tức hàm có n biến x 1 , x 2 , , x n nhận giá trị 0, 1 và cho lại giá trị của hàm cũng là 0 hoặc 1. Trong trờng hợp không xảy ra nhầm lẫn, để đơn giản kí hiệu ta thờng viết f thay cho f n , và gọi ngắn gọn là hàm Bool thay cho hàm Bool bậc n. Nh vậy với n đầu vào có giá trị 0, 1 hàm f sẽ cho 1 đầu ra với giá trị 0, 1. Giá trị của hàm Bool th- ờng đợc cho trong các bảng, giống nh các bảng chân trị của các công thức mệnh đề. Với hàm n biến sẽ có tất cả hàm. Ví dụ ta có tất cả 4 hàm 1 biến và 16 hàm 2 biến đợc cho dới dạng bảng nh sau : 4 hàm bool 1 biến x f1 f2 f3 f4 0 0 0 1 1 1 0 1 0 1 trong đó f1 = 0, f2 = x, f3 = ơx, f4 = 1, nói cách khác các biểu thức Bool 0, x, ơx, 1 biểu diễn các hàm Bool f1, f2, f3, f4. Từ các hàm Bool có sẵn ta có thể tạo thành các hàm khác thông qua các phép toán Bool. Ví dụ từ các hàm một biến f 1 , f 2 , f 3 , f 4 ở trên ta có thể tạo thành các hàm mới : ơf 1 , f 2 .f 3 , f 1 + f 4 , mà giá trị của nó có thể tính đợc và đợc liệt kê trong bảng sau : x f1 f2 f3 f4 ơf1 f2.f3 f1 + f4 0 0 0 1 1 1 0 1 1 0 1 0 1 1 0 1 Hai hàm có cùng bảng giá trị sẽ đợc gọi là bằng nhau. Ví dụ trên cho ta thấy ơf 1 = f 1 + f 4 . 3. Biểu diễn hàm bởi biểu thức Một biểu thức đợc gọi là biểu diễn của một hàm nếu giá trị của chúng bằng nhau trên mọi bộ giá trị của biến. Biểu thức biểu diễn hàm f đợc kí hiệu E(f), E f hoặc E. Nh vậy việc xét tính chất của hàm có thể đợc làm việc thông qua biểu thức. Chú ý rằng có thể có nhiều biểu thức cùng biểu diễn một hàm. Khi đó các biểu thức cùng biểu diễn một hàm đợc gọi là các biểu thức tơng đơng. Ví dụ : xy, xy + 0 và xy.1 là các biểu thức tơng đơng. Với E và E' tơng đơng ta viết E E'. Vì cùng biểu diễn một hàm nên các biểu thức tơng đ- ơng là bằng nhau trên mọi bộ giá trị của các biến. Về mặt hình thức, để đơn giản nếu E và E' cùng biểu diễn hàm Bool f ta viết f = E = E' Bảng sau đây liệt kê 16 hàm Bool 2 biến cùng các biểu thức biểu diễn chúng. Xy 00 01 10 11 E(f) f1 0 0 0 0 0 2 Chơng 6. ĐạisốBool f2 0 0 0 1 xy f3 0 0 1 0 f4 0 0 1 1 x f5 0 1 0 0 f6 0 1 0 1 y f7 0 1 1 0 x y f8 0 1 1 1 x+y f9 1 0 0 0 x y f10 1 0 0 1 x y f11 1 0 1 0 f12 1 0 1 1 f13 1 1 0 0 f14 1 1 0 1 x y f15 1 1 1 0 x | y f16 1 1 1 1 1 trong đó để ngắn gọn ta đã dùng một số kí hiệu phép toán mới nh , , , |, . Các kí hiệu này độc giả có thể liên tởng lại các phép toán tơng tự trong đạisố mệnh đề và đợc định nghĩa thông qua các phép toán phủ định, cộng, nhân nh sau : Phép toán kéo theo : x y = ơx y Phép toán tơng đơng : x y = (x y) (y x) Phép toán cộng loại trừ (XOR) : x y = ơxy + xơy Phép toán | (NAND) : x | y = ơ(x y) Phép toán (NOR) : x y = ơ( x y) Có thể chứng minh dễ dàng các biểu thức trên là biểu diễn của các hàm f tơng ứng. Chúng tôi dành lại phần chứng minh cho độc giả nh một bài tập. 2. Các hằng đẳng thức Tên gọi Hằng đẳng thức Luật phần bù ơơx = x Luật lũy đẳng xx = x; x + x = x Luật đồng nhất x + 0 = x1 = x Luật nuốt x0 = 0; x + 1 = 1 Luật giao hoán xy = yx; x + y = y + x Luật kết hợp x(yz) = (xy)z; x+(y+z) = (x+y)+z 3 Chơng 6. ĐạisốBool Luật phân phối x(y+z) = xy+xz; x+yz = (x+y)(x+z) Luật De Morgan ơ(xy) = ơx+ơy; ơ(x+y) = ơxơy Dùng bảng các hằng đẳng thức để chứng minh tính tơng đơng của các biểu thức. Ví dụ : Chứng minh x(x + y) = x a. (x + 0)(x + y) : đồng nhất x + 0.y : phân phối ((x+0)(x+y) = x + 0y rút gọn) x + y.0 : giao hoán x + 0 : nuốt x : đồng nhất 3. Tính đối ngẫu a. Định nghĩa Đối ngẫu của biểu thức : Cho biểu thức E. Đổi chỗ (0, 1), (+, .) ta đợc biểu thức E* đợc gọi là biểu thức đối ngẫu của biểu thức E. Khi đó hàm đợc biểu diễn bởi E* đợc gọi là hàm đối ngẫu của f, và đợc kí hiệu là f*. Ví dụ : Cho hàm f(x,y,z) = x(y + 0)ơx.1 + (ơy + z) có đối ngẫu x + (y1) + (ơx+0)(ơyz) 2. Nguyên lý đối ngẫu Đối ngẫu 2 hàm (biểu thức) bằng nhau cho ra 2 hàm (biểu thức) bằng nhau. Tức nếu f = g thì f* = g*. Chứng minh điều trên bằng cách chứng minh thông qua định nghĩa biểu thức và biểu thức đối ngẫu nh chứng minh đối với các công thức mệnh đề. Ví dụ : x(x + y) = x Luật hấp thụ x + xy = x cũng đúng và là hấp thụ II. Biểu diễn các hàm Bool 1. Dạng chuẩn tắc của hàm Bool a. Đặt vấn đề Cho một hàm bool bất kỳ, liệu có biểu thức bool nào biểu diễn nó. Nếu biểu diễn đợc thì dùng bao nhiêu phép toán để biểu diễn nó. Ví dụ : Một uỷ ban 3 ngời biểu quyết về một vấn đề nào đó. Giả sử nếu có ít nhất 2 ngời chấp thuận thì vấn đề đợc xem là thông qua và ngợc lại. Hãy xây dựng một biểu thức Bool để phản ánh kết quả của cuộc biểu quyết trên. Giải : Gọi các thành viên uỷ ban là x, y, z và các giá trị 0, 1 biểu thị cho kết quả bỏ phiếu của từng thành viên trong đó 1 là chấp thuận và 0 là ngợc lại. Khi đó kết quả cuộc bỏ phiếu đợc phản ánh 4 Chơng 6. ĐạisốBool thông qua hàm Bool f cho trong bảng sau : Theo bảng trên ta thấy kết quả là thuận (1) nếu và chỉ nếu các thành viên bỏ phiếu theo 1 trong các cách thể hiện trên các dòng 1, 2, 3, 5 tức cách bỏ phiếu phải rơi vào một trong các bộ giá trị tơng ứng của (x, y, z) là (1, 1, 1) (1, 1, 0) (1, 0, 1) (0, 1, 1). Từ đó hàm đợc tạo thành từ tổng các biểu thức con sao cho mỗi biểu thức con biểu thị một khả năng bỏ phiếu ở trên tức biểu thức con có giá trị 1 khi và chỉ khi bộ (x, y, z) nhận giá trị theo bộ số mà nó tơng ứng. Từ đó dễ thấy các biểu thức con đợc tạo : Tơng ứng với (1, 1, 1) : xyz Tơng ứng với (1, 1, 0) : xyơz Tơng ứng với (1, 0, 1) : xơyz Tơng ứng với (1, 1, 0) : ơxyz Và do đó hàm f = xyz + xyơz + xơyz + ơxyz. Ví dụ trên có thể đợc tổng quát hoá cho ta một ph- ơng pháp tìm biểu thức đề biểu diễn một hàm Bool bất kỳ. 2. Các định nghĩa x i hoặc ơx i đợc gọi là biến hạng (term, literal) và kí hiệu là x i ' tích x 1 ' . x n ' gọi là các tiểu hạng (minterm, conjunction clause) hay hội sơ cấp tổng : x 1 ' + x 2 ' + . + x n ' gọi là các đại hạng (maxterm, disjunction clause) hay tuyển sơ cấp Từ các định nghĩa trên có thể thấy : tiểu hạng = 1 khi và chỉ khi mọi x i ' = 1 x i = 1 nếu x i ' = x i và x i = 0 nếu x i ' = ơx i đại hạng = 0 khi và chỉ khi mọi x i ' = 0 x i = 0 nếu x i ' = x i và x i = 1 nếu x i ' = ơ x i Ví dụ : Tiểu hạng x 1 x 2 ơx 3 ơx 4 x 5 = 1 khi và chỉ khi (x 1 , x 2 , ơx 3 , ơx 4 , x 5 ) = (1,1,0,0,1) Đại hạng x 1 +ơx 2 +ơx 3 +x 4 +ơx 5 = 0 khi và chỉ khi (x 1 ,x 2 ,ơx 3 ,ơx 4 ,x 5 ) = (0,1,1,0,1) 3. Định lý : Mọi hàm Bool bất kỳ cấp n f(x 1 , x 2 , ., x n ) đều có thể biểu diễn đợc dới dạng : Tổng của các tiểu hạng hay còn gọi là dạng chuẩn tắc tuyển, tức f = + (x 1 1 . . . x n 1 ) 5 Chơng 6. ĐạisốBool Tích của các đại hạng hay còn gọi là dạng chuẩn tắc hội, tức f = x (x 1 1 + . . . + x n 1 ) Việc chứng minh định lý trên một cách không hình thức, có thể dễ dàng xây dựng đợc dựa theo việc lập tổng các tiểu hạng với mỗi tiêủ hạng dựa trên các dòng giá trị có f = 1, hoặc lập tích của các đại hạng dựa trên các dòng có giá trị 0 nh trong ví dụ mở đầu đã chỉ ra. Tuy nhiên, trong phần sau chúng ta sẽ phát biểu lại định lý và chứng minh một cách chặt chẽ hơn. Ví dụ : Cho f là hàm XOR () với bảng giá trị (xem định nghĩa ở trên) : x y f tiểu hạng đại hạng 1 1 0 ơx + ơy 1 0 1 xơy 0 1 1 ơxy 0 0 0 x + y sẽ tơng ứng với dạng chuẩn tắc tuyển : xơy + ơxy hoặc chuẩn tắc hội : (ơx + ơy)(x + y) Chú ý : Việc biểu diễn hàm f dới dạng chuẩn tắc nh trên còn đợc gọi là khai triển f thành tổng các tích hoặc tích các tổng. Các dạng chuẩn tắc ở trên còn đợc gọi là dạng chuẩn tắc hoàn toàn vì các tiểu hạng và đại hạng chứa đúng n hạng biến, phân biệt với các dạng chuẩn tắc khác không chứa đủ n hạng biến (ví dụ : xyz + z hoặc (x+y)z), tuy nhiên để đơn giản ta gọi chung chúng là dạng chuẩn tắc. Để phục vụ việc chứng minh định lý trên một cách chặt chẽ về mặt toán học ta sử dụng các kí hiệu sau : từ kí hiệu này có thể thấy (Giả sử i = 1, theo định nghĩa i i x = x i , do đó i i x = 1 khi và chỉ khi x i = 1 tức x i = i . Tơng tự, giả sử i = 0 do định nghĩa nên = ơxi, do đó i i x = 1 khi và chỉ khi x i = 0 tức x i = i ) T f = {(x 1 , x 2 , , x n ) : f(x 1 , x 2 , , x n ) = 1} Khi đó định lý trên có thể phát biểu lại nh sau : Mọi hàm Bool cấp n f(x 1 , x 2 , , x n ) đều biểu diễn đợc dới dạng : Chuẩn tắc tuyển : f(x 1 , x 2 , , x n ) = Chuẩn tắc hội : f(x 1 , x 2 , , x n ) = +++ fn n T)x., ,x,x( n x .xx 21 21 21 6 Chơng 6. ĐạisốBool Chứng minh : ở đây ta chỉ chứng minh cho trờng hợp dạng chuẩn tắc tuyển. Khi đó có thể chứng minh dạng chuẩn tắc hội một cách tơng tự hoặc suy từ dạng chuẩn tắc tuyển và nguyên lý đối ngẫu. Để đơn giản ta gọi tổng các tiểu hạng ở vế phải là g(x 1 , x 2 , , x n ). Cần chứng minh f = g với mọi (x 1 , x 2 , , x n ) B n . Lấy bộ giá trị bất kỳ của (x 1 , x 2 , , x n ) = ( 1 , 2 , , n ) B n . Giả sử f( 1 , 2 , , n ) = 1 ( 1 , 2 , , n ) T f n n x .xx 21 21 là một tiểu hạng của g(x 1 , x 2 , , x n ). Thay giá trị cụ thể của (x 1 , x 2 , , x n ) bởi ( 1 , 2 , , n ) ta đợc tiểu hạng này bằng 1 (vì x i = i , i). Do đó g( 1 , 2 , , n ) = 1 = f( 1 , 2 , , n ). Nếu f( 1 , 2 , , n ) = 0 ta sẽ chứng minh mọi tiểu hạng của g cũng bằng 0, do đó g = 0. Thật vậy lấy bất kỳ tiểu hạng n n x .xx 21 21 của g(x 1 , x 2 , , x n ), tức f( 1 , 2 , , n ) = 1. Tiểu hạng này bằng 1 (với (x 1 , x 2 , , x n ) = ( 1 , 2 , , n )) nếu i = x i = i , i. Do đó f( 1 , 2 , , n ) = f( 1 , 2 , , n ) = 1, mâu thuẫn với giả thiết. Vậy mọi f(x 1 , x 2 , , x n ) = g(x 1 , x 2 , , x n ) (x 1 , x 2 , , x n ) B n . Tóm lại, từ các thảo luận trên ta thấy mọi hàm Bool đều biểu diễn đợc bởi một biểu thức và mọi biểu thức đều biểu diễn một hàm Bool nào đó. 2. Tính đầy đủ a. Định nghĩa : Một hệ đầy đủ là một tập hợp phép toán có khả năng biểu diễn đợc mọi hàm. Theo định lý khai triển hàm Bool thành dạng chuẩn tắc ta thấy hệ các phép toán {ơ, +, .} là một hệ đầy đủ. Vấn đề đặt ra liệu có thể biểu diễn mọi hàm Bool qua hệ với phép toán ít hơn nữa ? Định lý sau đây cho thấy mọi hàm Bool đều có thể biểu diễn đợc bằng biểu thức chỉ cần dùng 1 phép toán. 2. Định lý : Các hệ sau : {+, ơ}, {., ơ}, {|}, {} là đầy đủ. Chứng minh : ơx = x | x xy = (x | y) | (x | y) x + y = (x | x) | (y | y) ơx = x x x+y = (x y) (x y) xy = (x x) (y y) Để chứng minh hệ không đầy đủ cần : i. tìm một tính chất nào đó sao cho nếu A và B có tính chất thì A B cũng có tính chất với là các phép toán của hệ. đựoc gọi là tính chất bảo toàn của hệ. ii. chỉ ra một hàm nào đó không có tính chất , tức không thể biểu diễn đợc qua các phép toán của hệ. Ví dụ : {} không phải là hệ đầy đủ. Vì tính chất x x = x, tức nếu tiếp tục làm toán với phép ta luôn luôn đợc x, do đó không biểu diễn đợc hàm ơx. ở đây tính chất là "hàm = x" III. rút gọn các hàm bool Trong các tiết trên chúng ta đã chứng minh đợc mọi hàm đều có thể biểu diễn đợc bằng các biểu 7 Chơng 6. ĐạisốBool thức Bool. Tuy nhiên phơng pháp khai triển hàm về dạng chuẩn tắc hoàn toàn sẽ tạo ra biểu thức chứa nhiều phép toán và các toán hạng (biến) nhiều khi nhiều hơn mức cần thiết. Ví dụ : bài toán biểu quyết 2/3 ở trên đã xây dựng đợc dạng chuẩn tắc tuyển là xyz + ơxyz + xơyz + xyơz dùng 3 biến và 14 phép toán. Tuy nhiên, ta có thể liệt kê một số biểu thức khác rút gọn hơn và cũng biểu diễn hàm nói trên nh : Biểu thức Số phép toán xyz + ơxyz + xơyz + xyơz 14 xy + xơyz + ơxyz 9 xy + z(xơy + ơxy) 8 xy + xz + yz 5 (chuẩn tắc tối thiểu) xy + z(x + y) 4 (tối thiểu) Dạng biểu thức cuối cùng với số phép toán ít nhất đợc gọi là dạng chuẩn tắc tối thiểu của hàm. Chú ý rằng một hàm có thể có nhiều dạng chuẩn tắc tối thiểu. Thực tế dạng chuẩn tắc tối thiểu vẫn cha phải là dạng tối thiểu của hàm (tức ít phép toán nhất và không cần chuẩn tắc). Từ đó một bài toán thực tế đặt ra là thiết kế các mạch thực hiện hàm Bool sao cho sử dụng các mạch cơ bản là ít nhất và số lần sử dụng nó là ít nhất. Tức cần biểu diễn các hàm dới dạng các biểu thức tối thiểu. Đây là bài toán khó và cho đến nay vẫn cha đợc giải một cách có hiệu quả. Chỉ riêng các thuật toán tìm dạng chuẩn tắc tối thiểu vẫn còn mang độ phức tạp rất lớn và việc mở rộng kết quả của bài toán này cho hệ nhiều hàm hoặc xét trên hệ đầy đủ bất kỳ là vẫn còn nhiều hạn chế. Trong tiết này ta đa ra thuật toán tìm dạng chuẩn tắc tối thiểu của hàm bất kỳ theo phơng pháp Quine-McCluskey. Hàm ban đầu đợc biểu diễn dới dạng chuẩn tắc tuyển (hoàn toàn) và đợc tìm theo định lý trong II.2 ở trên. 1. Biểu diễn mỗi tiểu hạng cấp n bằng xâu bit độ dài n, trong đó bit thứ i =1 nếu x i xuất hiện trong tiểu hạng và ngợc lại. Để thuận tiện nên sắp xếp các tiểu hạng có cùng sốsố 1 liên tiếp với nhau, sau đó nhóm các tiểu hạng có sốsố 1 cách nhau 1. 2. Tạo tất cả các tích cấp n-1 bằng cách nhóm các tích cấp n chỉ khác nhau một vị trí và loại bỏ biến hạng khác nhau này. Xâu biểu diễn tích cấp n-1 đợc tạo bằng cách thay bit bị loại bởi dấu - từ xâu tích cấp n. 3. Tiếp tục tạo các tích có cấp nhỏ dần cho đến khi không tạo đợc nữa. Chú ý chỉ nhóm các tích có dấu - cùng vị trí. 4. Tìm tất cả các tích đã xuất hiện nhng không đợc dùng để lập tích với cấp nhỏ hơn. Lấy tổng nhỏ nhất các tích này sao cho tổng biểu diễn đợc hàm đã cho bằng cách theo dõi các tiểu hạng nào đã đợc phủ bởi tích nào. Mỗi tiểu hạng phải đợc phủ bởi ít nhất một tích. Ví dụ : Rút gọn hàm đợc biểu diễn bởi : wxy z + w x yz + w xyz + w x y z + w x y z + w x yz + w x y z b. Bớc 1 Bớc 2 1 wxy z 1110 (1,4) wy z 1-10 (3,5,6,7) w z 0--1 8 Chơng 6. ĐạisốBool 2 w x yz 1011 (2,4) w x y 101- 3 w xyz 0111 (2,6) x yz -011 4 w x y z 1010 (3,5) w xz 01-1 5 w x y z 0101 (3,6) w yz 0-11 6 w x yz 0011 (5,7) w y z 0-01 7 w x y z 0001 (6,7) x z 00-1 Các tích đợc đánh dấu là đã đợc sử dụng. Các tích còn lại là cha sử dụng (không bị rút gọn). Bớc cuối cùng ta sẽ phải tổ hợp nhỏ nhất các tích này sao cho chúng phủ đợc các tiểu hạng của hàm ban đầu bằng cách lập bảng sau : wxy z a w x yz b w xyz c w x y z d w x y z e w x yz f w x y z g 1 w z x x x x 2 wy z x x 3 w x y x x 4 x yz x x Đầu tiên phải chọn 1 vì 1 là duy nhất để phủ c, e, và g. Sau khi loại c, e, f, g (đợc phủ bởi 1) ta phải chọn 2 vì 2 duy nhất để phủ a và d. Tiếp tục loại a, c, d, e, f, g (đợc phủ bởi 1 và 2) ta còn duy nhất b có thể phủ đợc bởi 3 hoặc 4. Chọn tiếp 3 hoặc 4 ta đợc dạng chuẩn tắc tối thiểu : f = w z + wy z + w x y hoặc f = w z + wy z + x yz. 9 Chơng 6. ĐạisốBool Bài tập I. hàm bool 1. Chứng minh hàm f(x, y, z) = xy + yz + zx có giá trị 1 nếu và chỉ nếu có ít nhất 2 biến nhận giá trị 1. 2. Chứng minh rằng x y + y z + z x = x y + y z + z x Chứng minh : x y (z + z ) + y z (x + x ) + z x (y + y ) = x y + y z + z x. 3. Rút gọn các biểu thức : x 0, x 1, x x, x ơx 4. Chứng minh : x y = (x+y)ơ(xy) = (x y ) + ( x y) 5. Chứng minh rằng ơF*(x 1 , ., x n ) = F(ơx 1 , ., ơx n ) Chứng minh : Dùng qui nạp. 6. Có bao nhiêu hàm Bool f(x, y, z) khác nhau sao cho f( x , y , z ) = f(x, y, z) Chứng minh : 8 bộ giá trị của x, y, z tạo thành 4 cặp giá trị (x, y, z) và ( x , y , z ). Hàm f tại mỗi cặp này có giá trị giống nhau. Vì có 4 cặp, mỗi cặp có thể nhận 2 giá trị 0,1 nên có thể tạo đ ợc 16 hàm nh vậy. 7. Có bao nhiêu hàm Bool f(x, y, z) khác nhau sao cho f( x , y, z) = f(x, y , z) = f(x, y, z ). Chứng minh : Tơng tự bài trên, có thể phân hoạch 8 bộ số của (x, y, z) thành 2 nhóm gồm (1, 1, 1), (0, 0, 1), (0, 1, 0), (1, 0, 0) và nhóm còn lại (trên mỗi nhóm này f lấy cùng một giá trị). Vì có hai nhóm nên có thể tạo đợc 4 hàm f nh vậy. 10