bai giang toan roi rac

159 162 0
bai giang toan roi rac

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

MỤC LỤC Lời nói đầu Mục lục Chương I: Các kiến thức sở 1.1 Mệnh đề 1.2 Các phép toán logic phép toán bit 1.3 Sự tương đương mệnh đề 1.4 Lượng từ vị từ 10 1.5 Các phương pháp chứng minh 13 Bài tập Chương I 18 Chương II: Bài toán thuật toán 2.1 Khái niện toán 20 2.2 Khái niệm thuật toán 22 2.3 Thuật tốn tìm kiếm 24 2.4 Độ phức tạp thuật toán 25 2.5 Số nguyên thuật toán 31 2.6 Thuật toán đệ quy 35 Bài tập Chương II 40 Chương III: Bài toán đếm 3.1 Cơ sở phép đếm 42 3.2 Nguyên lí Dirichlet 46 3.3 Chỉnh hợp tổ hợp suy rộng 50 3.4 Sinh hoán vị tổ hợp 53 3.5 Hệ thức truy hồi 56 3.6 Quan hệ chia để trị 59 Bài tập Chương III 62 Chương IV: Đồ thị 4.1 Các loại đồ thị 64 4.2 Các mơ hình đồ thị 66 4.3 Các khái niệm 67 4.4 Những đơn đồ thị đặc biệt 69 4.5 Biểu diễn đồ thị máy tính 71 4.6 Thuật tốn tìm kiếm đồ thị 73 4.7 Đường Euler đồ thị Euler 76 4.8 Đường Hamilton đồ thị Hamilton 82 4.9 Bài toán đường ngắn 88 4.10.Đồ thị phẳng tốn tơ màu đồ thị 94 Bài tập Chương IV 101 Chương V: Cây 5.1 Định nghĩa tính chất 104 5.2 Cây khung tốn tìm khung nhỏ 106 5.3 Cây có gốc 112 5.4 Duyệt nhị phân 114 5.5 Cây tìm kiếm nhị phân 119 5.6 Cây cân AVL 122 5.7 Cây đỏ đen 125 5.8 Cây 2-3-4 127 5.9 Cây biểu dễn tập hợp 131 Bài tập Chương V 134 Chương VI: Đại số boole 6.1 Khái niệm đại số boole 137 6.2.Mạch logic 142 6.3 Cực tiểu hóa mạch logic 149 Bài tập Chương VI 158 Tài liệu tham khảo 160 Các kiến thức sở Nguyễn Thế Vinh- ĐHKH CHƯƠNG I CÁC KIẾN THỨC CƠ SỞ 1.1 MỆNH ĐỀ 1.1.1 Định nghĩa mệnh đề Một mệnh đề câu phản ánh điều sai, vừa vừa sai Ví dụ: Tất câu sau mệnh đề (1) + = (2) x = 10 (3) Tam giác có cạnh (4) Thái Nguyên thủ đô Kháng chiến (5) Washington D.C thủ đô Canada Câu xác định "2 + = 5", "Tam giác có cạnh nhau" "Thái Nguyên thủ đô Kháng chiến" mệnh đề Các câu xác định "3 x = 10" "Washington D.C thủ đô Canada" mệnh đề sai Như vậy, mệnh đề mệnh đề mệnh đề sai Hay nói cách khác, mệnh đề lựa chọn giá trị là sai Một mệnh đề khơng thể vừa vừa sai Ví dụ: Xét câu sau (1) Hôm thứ ? (2) Hãy đọc kỹ đọan văn (3) x + = (4) x + y = z Câu "Hôm thứ ? " " Hãy đọc kỹ đoạn văn này" mệnh đề chúng khơng phải câu khảng định Còn câu "x+1=2" "x+y=z" khơng phải mệnh đề chúng chẳng chẳng sai biến câu chưa gán cho giá trị cụ thể Giá trị đúng, sai mệnh đề gọi giá trị chân lí mệnh đề Giá trị chân lí mệnh đề ký hiệu T (true), giá trị chân lí Các kiến thức sở Nguyễn Thế Vinh- ĐHKH mệnh đề sai ký hiệu F (false) Bảng giá trị chân lí gọi tắt bảng chân trị (truth table) mệnh đề bao gồm trường hợp đúng, sai xảy mệnh đề Mục đích họat động khoa học phân biệt mệnh đề để xác định chân trị Sự xác định chân trị dựa vào thực nghiệm lý luận Vì thế, cần nói đến "Đại số mệnh đề" Bây xét phương pháp tạo mệnh đề từ mệnh đề có Các phương pháp nghiên cứu nhà toán học người Anh Geogre Boole Rất nhiều mệnh đề toán học xây dựng cách tổ hợp nhiều mệnh đề, mệnh đề gọi mệnh đề phức hợp 1.1.2 Mệnh đề phủ định Giả sử P mệnh đề Câu "không phải P" mệnh đề khác gọi phủ định mệnh đề P, nhận giá trị sai P giá trị P sai Kí hiệu : ¬P (hay P ) Ví dụ: P="2>0" ¬P = " ≤ " Bảng chân trị P ¬P T F F T 1.1.3 Hội hai mệnh đề Giả sử P Q hai mệnh đề Mệnh đề "P Q", kí hiệu P∧Q, P Q đúng, sai trường hợp lại Mệnh đề P∧Q gọi hội P Q Ví dụ: Cho mệnh đề P Q sau P = " > " mệnh đề Q = " = " mệnh đề sai P ∧ Q = " 2> = " mệnh đề sai Bảng chân trị Các kiến thức sở Nguyễn Thế Vinh- ĐHKH P Q P∧Q T T T T F F F T F F F F 1.1.4 Tuyển hai mệnh đề Giả sử P Q hai mệnh đề Mệnh đề "P Q" kí hiệu P∨Q, sai P Q sai, trường hợp lại Mệnh đề P∨Q gọi tuyển P Q Ví dụ : Cho mệnh đề P Q sau P = " > " mệnh đề Q = " = " mệnh đề sai P ∨ Q = " > 2=0" mệnh đề Bảng chân trị P Q P∨Q T T T T F T F T T F F F 1.1.5 Tuyển loại hai mệnh đề Giả sử P Q hai mệnh đề Mệnh đề tuyển loại P Q kí hiệu P ⊕ Q, hai mệnh đề P Q đúng, sai trường hợp lại Bảng chân trị P Q P⊕Q T T F T F T F T T F F F Các kiến thức sở Nguyễn Thế Vinh- ĐHKH 1.1.6 Mệnh đề kéo theo Giả sử P Q hai mệnh đề Mệnh đề kéo theo, kí hiệu P → Q, sai P Q sai, trường hợp lại Trong phép kéo theo P gọi giả thiết Q gọi kết luận Trong suy luận toán học phép kéo theo P → Q dùng để diễn đạt “Nếu P Q” Ví dụ: Cho hai mệnh đề P Q sau P = " tam giác T " Q = " tam giác T có góc 600 " P → Q = " tam giác T tam giác T có góc 600 " P Q P→Q T T T T F F F T T F F T 1.1.7 Mệnh đề tương đương Giả sử P Q hai mệnh đề Mệnh đề tương đương, kí hiệu P⇔Q, P Q có giá trị chân lí, sai trường hợp lại Mệnh đề P ⇔ Q gọi mệnh đề hai điều kiện Trong suy luận toán học phép tương đương P ⇔ Q dùng để diễn đạt “P Q” hay “P cần đủ Q” P Q P⇔Q T T T T F F F T F F F T Các kiến thức sở Nguyễn Thế Vinh- ĐHKH 1.2 CÁC PHÉP TỐN LOGIC VÀ CÁC PHÉP TỐN TRÊN BÍT Các máy tính dùng bit để biểu diễn thơng tin Một bit có giá trị Bit dùng để biểu diễn chân trị, giá trị chân lí mệnh đề có hai giá trị sai Thường người ta dùng bit để biểu diễn chân trị (True) bit để biểu diễn chân trị sai (False) Một biến gọi biến Boole giá trị hoặc sai dùng bit để biểu diễn biến Boole Các phép toán bit máy tính tương ứng với liên từ logic Bằng cách thay sai bảng chân trị toán tử phủ định, tuyển, hội, tuyển loại ta nhận bảng phép tốn bit tương ứng Chúng ta dùng kí hiêu NOT, OR, AND XOR thay cho toán tử Thông tin thường biển diễn cách dùng xâu bit, dãy số Khi phép tốn xâu bit dùng để thao tác thơng tin Định nghĩa: Một xâu bit (hoặc xâu nhị phân) dẫy không nhiều bit Độ dài xâu số bit xâu Ví dụ: 101011 xâu bit có độ dài Có thể mở rộng phép tốn bit tới xâu bit Ta định nghĩa OR bit, AND bit XOR bit xâu bit có độ dài xâu có bít chúng OR, AND, XOR bit tương ứng xâu tương ứng (đảo bit thực NOT bit) Ví dụ: Tìm OR bit, AND bit XOR bit xâu sau 01 1011 0110 11 0001 1101 11 1011 1111 OR bit 01 0001 0100 AND bit 10 1010 1011 XOR bit Các kiến thức sở Nguyễn Thế Vinh- ĐHKH 1.3 SỰ TƯƠNG ĐƯƠNG CỦA CÁC MỆNH ĐỀ Định nghĩa: Các mệnh đề P Q gọi tương đương logic P↔Q Kí hiệu P≡Q để P Q tương đương logic Một để xác định hai mệnh đề có tương đương logic không lập bảng chân trị Dựa vào bảng cột cho giá trị chúng phù hợp với nhau, từ kết luận mệnh đề tương đương logic Sau ví dụ minh họa Ví dụ: Chứng minh P→ Q ¬Q→ ¬P tương đương logic P Q P→ Q ¬P ¬Q ¬Q→ ¬P T T T F F T T F F F T F F T T T F T F F T T T T Dựa vào bảng ta thấy cột cột có giá trị tương ứng phù hợp với Vậy P→ Q ¬Q→ ¬P tương đương logic.(đpcm) Ta nhận thấy mệnh đề phức hợp việc lập bảng gặp nhiều khó khăn có n mệnh đề phải cần 2n hàng Do trường hợp người ta sử dụng luật để chứng minh tương đương logic Các tương đương logic Tương đương p∧T≡p Tên gọi Luật đồng p˅F≡p p∧F≡F Luật nuốt(luật trội) p˅T≡T p∧p≡p Luật lũy đẳng p˅p≡p ¬(¬p)≡p Luật phủ định kép Các kiến thức sở Nguyễn Thế Vinh- ĐHKH p∧q≡ q∧p Luật giao hoán p˅q≡q˅p (p˅q)˅r≡p˅(q˅r) Luật kết hợp (p∧q) ∧r≡p∧(q∧r) p˅(q ∧ r)≡ (p˅q) ∧(p˅r) Luật phân phối p∧(q ˅ r)≡ (p∧q) ˅(p∧r) ¬(p∧q)≡ ¬p˅¬p Luật De Morgan ¬(p˅q)≡ ¬p∧¬q p˅(p ∧ q) ≡p Luật thu hút p∧(p ˅ q) ≡p p˅¬p ≡T Luật phủ định(luật xóa) p∧¬p≡F Ví dụ: Chứng minh ¬(p˅(¬p∧q)) ¬p∧¬q tương đương logic Giải: Áp dụng luật ta có tương đương logic sau ¬(p˅(¬p∧q)) ≡ ¬p∧¬(¬p∧q) theo luật De Morgan ≡ ¬p∧ (¬(¬p)˅¬ q) theo luật De Morgan ≡ ¬p∧ (p˅¬ q) theo luật phủ định kép ≡ (¬p∧ p)˅(¬p∧¬q) theo luật phân phối ≡ F˅(¬p∧¬q) (¬p∧ p) ≡ F ≡ (¬p∧¬q) ˅F theo luật giao hốn ≡ (¬p∧¬q) theo luật dồng Vậy ¬p(p˅(¬p∧q)) ¬p∧¬q tương đương logic.(đpcm) 1.4 LƯỢNG TỪ VÀ VỊ TỪ 1.4.1 Hàm mệnh đề: Trong thực tế ta thường gặp câu liên quan đến biến “ x+y= 5”; “x lớn 5”; “x-y10) then x:=x-1; Khi gặp câu chương trình giá trị biến x thời điểm đặt vào P(x)=” x lớn 10”, P(x) với giá trị x máy tính thực lệnh gán x:=x-1 tức giá trị x thời điểm giảm Còn P(x) sai lệnh gán khơng thực giá trị x khơng thay đổi 1.4.2 Lượng từ Khi tất biến hàm mệnh đề gán cho giá trị xác định mệnh đề tạo thành có giá trị chân lí Tuy nhiên có cách quan trọng khác để biến hàm mệnh đề thành mệnh đề người ta gọi lượng từ hóa (hay gọi lượng từ), bao gồm hai loại lượng từ hóa phổ quát (với mọi) lượng từ hóa tồn Mối liên hệ vị từ lượng từ gọi phép tính vị từ Định nghĩa: Lượng từ hóa phổ quát (với mọi) P(x) mệnh đề “P(x) đúng, với giá trị x không gian thực” Lượng từ hóa “với mọi” P(x) kí hiệu ∀x P(x), ∀ gọi lượng từ hóa phổ qt (với mọi) Ví dụ: Giả sử P(x) câu “x+2>x” Ta thấy P(x) số thực x, nên lượng từ hóa ∀x P(x) Ví dụ: Cho P(x) câu “x>5” Xác định giá trị chân lí lượng từ hóa ∀x P(x), với không gian tập hợp số thực Ta thấy P(x) khơng với x=3 ∀x P(x) sai Định nghĩa: Lượng từ hóa tồn P(x) mệnh đề “Tồn phần tử x không gian thực cho P(x) ” 11 Đại số Boole Nguyễn Thế Vinh-ĐHKH 0 x = hay y = 1, Mạch lôgic thực 1 x = y = Xét hàm Vebb F ( x, y ) = x ↓ y =  hàm ↓ gọi cổng NOR, vẽ hình x↓ y x O y Tương tự hệ { ↓ } đầy đủ nên hàm Boole thực mạch lơgic gồm có cổng NOR Một phép tốn lơgic quan trọng khác phép tuyển loại: 0 x = y, F ( x, y ) = x ⊕ y =  1 x ≠ y Mạch lôgic cổng lôgic, gọi cổng XOR, vẽ hình x⊕ y x y 6.2.2.2 Mạch cộng: Nhiều tốn đòi hỏi phải xây dựng mạch lơgic có nhiều đường ra, cho đầu F1, F2, …, Fk hàm Boole đầu vào x1, x2, …, xn x1 x2 xn-1 F1(x1, x2, …, xn) M F2(x1, x2, …, xn) M Fk(x1, x2, …, xn) xn Chẳng hạn, ta xét phép cộng hai số tự nhiên từ khai triển nhị phân chúng Trước hết, ta xây dựng mạch duợc dùng để tìm x+y với x, y hai số 1-bit Đầu vào mạch x y Đầu số 2bit cs , s bit tổng c bit nhớ x y 0+0 = 00 0 0+1 = 01 1+0 = 01 1 1+1 = 10 146 c 0 s 1 Đại số Boole Nguyễn Thế Vinh-ĐHKH Từ bảng trên, ta thấy s = x ⊕ y , c = xy Ta vẽ mạch thực hai hàm s = x ⊕ y c = xy hình Mạch gọi mạch cộng hai số 1-bit hay mạch cộng bán phần, ký hiệu DA s = x⊕ y x DA c y • x y s c = xy • Xét phép cộng hai số 2-bit a a1 b2b1 , a a1 b2 b1 Thực phép cộng theo cột, cột thứ (từ phải sang trái) ta tính a1 + b1 bit tổng s1 bit nhớ c1; cột thứ hai, ta tính a + b2 + c1 , tức phải cộng ba số 1-bit Cho x, y, z ba số 1-bit Tổng x+y+z số 2-bit cs , s bit tổng x+y+z c bit nhớ x+y+z Các hàm Boole s c theo biến x, y, z xác định bảng sau: x 0 0 1 1 y 0 1 0 1 z 1 1 c 0 1 1 s 1 0 Từ bảng này, dễ dàng thấy rằng: s = x⊕ y⊕z Hàm c viết dạng tổng chuẩn tắc hoàn toàn là: c = x yz + x yz + xy z + xyz 147 Đại số Boole Nguyễn Thế Vinh-ĐHKH Cơng thức c rút gọn: c = z ( x y + x y ) + xy ( z + z ) = z ( x ⊕ y ) + xy Ta vẽ mạch thực hai hàm Boole s = x ⊕ y ⊕ z c = z ( x ⊕ y ) + xy hình đây, mạch ghép nối hai mạch cộng bán phần (DA) cổng OR Đây mạch cộng ba số 1-bit hay mạch cộng tồn phần, ký hiệu AD z • s • • x y c • z s x DA DA x y y c AD z Trở lại phép cộng hai số 2-bit a a1 b2b1 Tổng a a1 + b2b1 số 3-bit c2 s s1 , s1 bit tổng a1+b1: s1 = a1 ⊕ b1 , s2 bit tổng a2+b2+c1, với c1 bit nhớ a1+b1: s = a2 ⊕ b2 ⊕ c1 c2 bit nhớ a2+b2+c1 148 s c Đại số Boole Nguyễn Thế Vinh-ĐHKH Ta có mạch thực ba hàm Boole s1, s2, c2 hình b2 a2 b1 a1 AD DA c1 c2 s2 s1 Dễ dàng suy mạch cộng hai số n-bit, với n số nguyên dương Hình sau cho mạch cộng hai số 4-bit b4 a4 b3 a3 b2 a2 b1 a1 AD AD AD DA c2 c3 c4 s4 s3 c1 s2 s1 6.3 CỰC TIỂU HỐ CÁC MẠCH LƠGIC Hiệu mạch tổ hợp phụ thuộc vào số cổng bố trí cổng Q trình thiết kế mạch tổ hợp bắt đầu bảng rõ giá trị đầu tổ hợp giá trị đầu vào Ta ln ln sử dụng khai triển tổng tích mạch để tìm tập cổng lơgic thực mạch Tuy nhiên,khai triển tổng tích chứa số hạng nhiều mức cần thiết Các số hạng khai triển tổng tích khác biến, cho số hạng xuất biến số hạng xuất phần bù nó, tổ hợp lại Chẳng hạn, xét 149 Đại số Boole Nguyễn Thế Vinh-ĐHKH mạch có đầu x = y = z = x = z = y = Khai triển tổng tích mạch xyz + x yz Hai tích khai triển khác biến, biến y Ta tổ hợp lại sau: xyz + x yz = ( y + y ) xz = 1xz = xz Do xz biểu thức với phép tốn biểu diễn mạch cho Mạch thứ hai dùng cổng, mạch thứ phải dùng ba cổng đảo (cổng NOT) 6.3.1 Bản đồ Karnaugh Để làm giảm số số hạng biểu thức Boole biểu diễn mạch, ta cần phải tìm số hạng để tổ hợp lại Có phương pháp đồ thị, gọi đồ Karnaugh, dùng để tìm số hạng tổ hợp hàm Boole có số biến tương đối nhỏ Phương pháp mà ta mô tả Maurice Karnaugh đưa vào năm 1953 Phương pháp dựa cơng trình trước E.W Veitch Các đồ Karnaugh cho ta phương pháp trực quan để rút gọn khai triển tổng tích, chúng khơng thích hợp với việc khí hố q trình Trước hết, ta minh hoạ cách dùng đồ Karnaugh để rút gọn biểu thức hàm Boole hai biến Có bốn hội sơ cấp khác khai triển tổng tích hàm Boole có hai biến x y Một đồ Karnaugh hàm Boole hai biến gồm bốn ô vuông, hình vng biểu diễn hội sơ cấp có mặt khai triển ghi số y y x xy xy x xy xy Các hình gọi kề hội sơ cấp mà chúng biểu diễn khác biến 150 Đại số Boole Nguyễn Thế Vinh-ĐHKH Ví dụ: Tìm đồ Karnaugh cho biểu thức: a) xy + x y b) x y + x y c) x y + x y + x y rút gọn chúng Ta ghi số vào ô vuông hội sơ cấp biểu diễn có mặt khai triển tổng tích Ba đồ Karnaugh cho hình sau y x x 1 y y 1 x x Việc nhóm hội sơ cấp hình cách sử dụng đồ Karnaugh cho khai triển Khai triển cực tiểu tổng tích tương ứng là: b) x y + x y , a) y, c) x + y Bản đồ Karnaugh ba biến hình chữ nhật chia thành tám Các biểu diễn tám hội sơ cấp có Hai gọi kề hội sơ cấp mà chúng biểu diễn khác biến Một cách để lập đồ Karnaugh ba biến cho bảng sau: x x yz yz yz yz xyz xy z xyz x yz x yz xy z xyz x yz Để rút gọn khai triển tổng tích ba biến, ta dùng đồ Karnaugh để nhận dạng hội sơ cấp tổ hợp lại Các khối gồm hai ô kề biểu diễn cặp hội sơ cấp tổ hợp lại thành tích hai biến; khối x x biểu diễn hội sơ cấp tổ hợp lại thành biến nhất; khối gồm tất tám biểu diễn tích khơng có biến nào, cụ thể biểu thức (1) Ví dụ: Dùng đồ Karnaugh ba biến để rút gọn khai triển tổng tích sau: 151 Đại số Boole Nguyễn Thế Vinh-ĐHKH a) xy z + x y z + x yz + x y z , b) x yz + x y z + x yz + x yz + x y z , c) xyz + xy z + x yz + x y z + x yz + x yz + x y z Bản đồ Karnaugh cho khai triển tổng tích cho hình sau: yz x x yz yz yz 1 x x x x yz yz yz yz yz yz 1 1 1 yz yz 1 1 Việc nhóm thành khối cho thấy khai triển cực tiểu thành tổng Boole tích Boole là: a) x z + y z + x yz , b) y + xz , c) x + y + z Bản đồ Karnaugh bốn biến hình vng chia làm 16 ô Các ô biểu diễn 16 hội sơ cấp có Một cách lập đồ Karnaugh bốn biến cho hình yz yz yz yz wx wxyz wxy z wx y z wx yz w x w x yz wxy z wx y z wx yz w x yz wxy z wx y z w x yz wxyz wxy z wx y z wx yz wx wx Hai ô gọi kề hội sơ cấp mà chúng biểu diễn khác biến Do đó, ô kề với bốn ô khác Sự rút gọn khai triển tổng tích bốn biến thực cách nhận dạng khối gồm 2, 4, 16 biểu diễn hội sơ cấp tổ hợp lại Mỗi ô biểu 152 Đại số Boole Nguyễn Thế Vinh-ĐHKH diễn hội sơ cấp dùng để lập tích có biến đưa vào khai triển Cũng trường hợp đồ Karnaugh hai ba biến, mục tiêu cần phải nhận dạng khối lớn có chứa số cách dùng số khối, mà trước hết khối lớn 6.3.2 Phương pháp Quine-McCluskey 6.3.2.1 Mở đầu: Ta thấy đồ Karnaugh dùng để tạo biểu thức cực tiểu hàm Boole tổng tích Boole Tuy nhiên, đồ Karnaugh khó dùng số biến lớn bốn Hơn nữa, việc dùng đồ Karnaugh lại dựa việc rà soát trực quan để nhận dạng số hạng cần nhóm lại Vì ngun nhân đó, cần phải có thủ tục rút gọn khai triển tổng tích khí hố Phương pháp Quine-McCluskey thủ tục Nó dùng cho hàm Boole có số biến Phương pháp W.V Quine E.J McCluskey phát triển vào năm 1950 Về bản, phương pháp Quine-McCluskey có hai phần Phần đầu tìm số hạng ứng viên để đưa vào khai triển cực tiểu tổng tích Boole mà ta gọi nguyên nhân nguyên tố Phần thứ hai xác định xem số ứng viên đó, số hạng thực dùng 6.3.2.2 Định nghĩa: Cho hai hàm Boole F G bậc n Ta nói G nguyên nhân F TG ⊂ TF, nghĩa G ⇒ F Dễ thấy hội sơ cấp dạng tổng chuẩn tắc F nguyên nhân F Hội sơ cấp A F gọi nguyên nhân nguyên tố F A xố biến hội nhận đuợc khơng nguyên nhân F Nếu F1, …, Fk nguyên nhân F TFi ⊂ TF , ≤ i ≤ k Khi k Tk ∑ Fi i =1 = k UTFi ⊂ TF Do ∑ Fi nguyên nhân F i =1 i =1 Cho S hệ nguyên nhân F Ta nói hệ S đầy đủ F F = ∑ G , nghĩa TF = UTG G∈S G∈S 153 Đại số Boole Nguyễn Thế Vinh-ĐHKH 6.3.2.3 Mệnh đề: Hệ nguyên nhân nguyên tố hàm F hệ đầy đủ Chứng minh: Gọi S hệ nguyên nhân nguyên tố F Ta có TG ⊂ TF , ∀g ∈ S , Nên T ∑ G = G∈S UTG ⊂ TF G ∈S Giả sử dạng tổng chuẩn tắc hoàn toàn F F = ∑ G' nên G '∈S ' TF = UTG ' G '∈S ' Xét G '∈ S ' , G¬ khơng phải ngun nhân ngun tố F cách xố bớt số biến G¬ ta thu nguyên nhân nguyên tố G F UTG ' ⊂ UTG Khi TG ' ⊂ TG G '∈S ' Vì TF = G∈S hay TF ⊂ UTG G∈S UTG G∈S ∑G hay F = G∈S Dạng tổng chuẩn tắc F= ∑ G gọi dạng tổng chuẩn tắc thu gọn F G∈S 6.3.2.4 Phương pháp Quine-McCluskey tìm dạng tổng chuẩn tắc thu gọn Giả sử F hàm Boole n biến x1, x2, …, xn Mỗi hội sơ cấp n biến biểu diễn dãy n ký hiệu bảng {0, 1, −} theo quy ước: ký tự thứ i hay xi có mặt hội sơ cấp bình thường hay với dấu phủ định, xi khơng có mặt ký tự − Chẳng hạn, hội sơ cấp biến x1, …, x6 x1 x3 x4 x6 biểu diễn 0−11−0 Hai hội sơ cấp gọi kề biểu diễn nói chúng khác 154 Đại số Boole Nguyễn Thế Vinh-ĐHKH vị trí 0, Rõ ràng hội sơ cấp dán với phép dán Ax + A x = A chúng kề Thuật toán tiến hành sau: Lập bảng gồm nhiều cột để ghi kết dán Sau thực bước sau: Bước 1: Viết vào cột thứ biểu diễn nguyên nhân hạng n hàm Boole F Các biểu diễn chia thành nhóm, biểu diễn nhóm có số ký hiệu nhóm xếp theo thứ tự số ký hiệu tăng dần Bước 2: Lần lượt thực tất phép dán biểu diễn nhóm i với biểu diễn nhóm i+1 (i=1, 2, …) Biểu diễn tham gia phép dán ghi nhận dấu * bên cạnh Kết dán ghi vào cột Bước 3: Lặp lại Bước cho cột không thu thêm cột Khi tất biểu diễn khơng có dấu * cho ta tất nguyên nhân nguyên tố F Ví dụ 9: Tìm dạng tổng chuẩn tắc thu gọn hàm Boole: F1 = w x yz + wx yz + w x yz + w x yz + w x yz + wxyz + wxyz , F2 = w x y z + w x yz + w x yz + wx y z + wx yz + wxy z + wxyz 0001* 0101* 0011* 1001* 1011* 0111* 1111* 0−01* 00−1* −001* −011* 10−1* 01−1* 0−11* 1−11* −111* 0−−1 −0−1 −−11 0010* 0011* 1100* 1011* 1101* 1110* 1111* 001− −011 110−* 11−0* 1−11 11−1* 111−* 11−− Từ bảng ta có dạng tổng chuẩn tắc thu gọn F1 F2 là: F1 = wz + xz + yz F2 = w x y + x yz + wyz + wx 155 Đại số Boole Nguyễn Thế Vinh-ĐHKH 6.32.5 Phương pháp Quine-McCluskey tìm dạng tổng chuẩn tắc tối thiểu Sau tìm dạng tổng chuẩn tắc thu gọn hàm Boole F, nghĩa tìm tất nguyên nhân nguyên tố nó, ta tiếp tục phương pháp Quine-McCluskey tìm dạng tổng chuẩn tắc tối thiểu (cực tiểu) F sau Lập bảng chữ nhật, cột ứng với cấu tạo đơn vị F (mỗi cấu tạo đơn vị hội sơ cấp hạng n dạng tổng chuẩn tắc hoàn toàn F) dòng ứng với nguyên nhân nguyên tố F Tại ô (i, j), ta đánh dấu cộng (+) nguyên nhân nguyên tố dòng i phần cấu tạo đơn vị cột j Ta nói nguyên nhân nguyên tố i phủ cấu tạo đơn vị j Một hệ S nguyên nhân nguyên tố F gọi phủ hàm F cấu tạo đơn vị F phủ thành viên hệ Dễ thấy hệ S phủ hàm F đầy đủ, nghĩa tổng thành viên S F Một nguyên nhân nguyên tố gọi cốt yếu thiếu hệ ngun nhân ngun tố phủ hàm F Các nguyên nhân nguyên tố cốt yếu tìm sau: cột có dấu +, xem dấu + thuộc dòng dòng ứng với nguyên nhân nguyên tố cốt yếu Việc lựa chọn nguyên nhân nguyên tố bảng đánh dấu, để dạng tổng chuẩn tắc tối thiểu, tiến hành theo bước sau Bước 1: Phát tất nguyên nhân nguyên tố cốt yếu Bước 2: Xoá tất cột phủ nguyên nhân nguyên tố cốt yếu Bước 3: Trong bảng lại, xố nốt dòng khơng dấu + sau có hai cột giống xoá bớt cột Bước 4: Sau bước trên, tìm hệ S nguyên nhân nguyên tố với số biến phủ cột lại Tổng nguyên nhân nguyên tố cốt yếu nguyên nhân nguyên tố hệ S dạng tổng chuẩn tắc tối thiểu hàm F 156 Đại số Boole Nguyễn Thế Vinh-ĐHKH Các bước 1, 2, có tác dụng rút gọn bảng trước lựa chọn Độ phức tạp chủ yếu nằm Bước Tình tốt nguyên nhân nguyên tố cốt yếu Trường hợp lựa chọn hàm F có dạng tổng chuẩn tắc tối thiểu dạng tổng chuẩn tắc thu gọn Tình xấu khơng có nguyên nhân nguyên tố cốt yếu Trường hợp ta phải lựa chọn tồn bảng Ví dụ 10: Tìm dạng tổng chuẩn tắc tối thiểu hàm Boole cho Ví dụ w x yz wx yz w x yz wz + + + xz yz + + w x yz w x yz + + + + wxyz wxyz + + Các nguyên nhân nguyên tố cốt yếu nên dạng tổng chuẩn tắc tối thiểu F1 là: F1 = wz + xz + yz wxy z w x yz w x yz wx wxy x yz wyz + wx y z wx yz wxy z wxyz + + + + + + + + + Các nguyên nhân nguyên tố cốt yếu nằm dòng Sau rút gọn, bảng dòng 3, cột Việc chọn S đơn giản: chọn hai ngun nhân ngun tố lại Vì ta hai dạng tổng chuẩn tắc tối thiểu là: F2 = wx + w x y + x yz , F2 = wx + w x y + wyz 157 Đại số Boole Nguyễn Thế Vinh-ĐHKH BÀI TẬP CHƯƠNG VI Bài tập tính tốn 6.1.1 Cho S tập hợp ước nguyên dương 70, với phộp toỏn , + v c nh ngha trờn S sau: a • b = UCLN(a, b), a + b = BCNN(a, b), a¬ = 70/a Chứng tỏ S với phép tốn •, + ¬ lập thành đại số Boole 6.1.2 Chứng minh trực tiếp định lý 6b, 7b, 8b (không dùng đối ngẫu để suy từ 6a, 7a, 8a) 6.1.3 Chứng minh rằng: a) (a+b).(a+b¬) = a; b) (a.b)+(a¬.c) = (a+c).(a¬+b) 6.1.4 Cho hàm Boole F1, F2, F3 xác định bảng sau: x y z F1 F2 F3 0 1 0 1 1 0 1 1 1 0 1 1 0 1 0 1 1 1 1 Vẽ mạch thực hàm Boole 6.1.5 Hãy dùng cổng NAND để xây dựng mạch với đầu sau: a) x b) xy c) x+y d) x ⊕ y 6.1.6 Hãy dùng cổng NOR để xây dựng mạch với đầu cho Bài tập 6.1.7 Hãy dùng cổng NAND để dựng mạch cộng bán phần 6.1.8 Hãy dùng cổng NOR để dựng mạch cộng bán phần 158 Đại số Boole Nguyễn Thế Vinh-ĐHKH 6.1.9 Dùng đồ Karnaugh, tìm dạng tổng chuẩn tắc tối thiểu (khai triển cực tiểu) hàm Boole ba biến sau: a) F = x yz + x yz b) F = xyz + xy z + x yz + x y z c) F = xy z + x yz + x y z + x yz + x yz d) F = xyz + x yz + x y z + x yz + x y z + x y z 6.1.10 Dùng đồ Karnaugh, tìm dạng tổng chuẩn tắc tối thiểu hàm Boole bốn biến sau: a) F = wxyz + wx yz + wx y z + w x y z + w x yz b) F = wxy z + wx yz + w x yz + wx yz + w x y z + w x yz c) F = wxyz + wxy z + wx yz + w x yz + w x y z + wx yz + w x y z + w x yz d) F = wxyz + wxy z + wx yz + w x yz + w x y z + wxyz + w x yz + w x y z + w x yz Bài tâp máy tính 6.2.1 Xác định đầu hàm số F(x,y) qua cổng AND; OR; NOR 6.2.2 Cho giá trị hàm Boole n biến, với n số nguyên dương Tìm triển khai tổng tích hàm 6.2.3 Cho bảng giá trị hàm Boole Hãy biểu diễn hàm cách dùng phép toán + – 6.2.4 Đưa dạng tổng chuẩn tắc thu gọn hàm Boole 6.2.5 Lập đồ Karnaugh n biến (

Ngày đăng: 26/06/2018, 14:52

Tài liệu cùng người dùng

Tài liệu liên quan