Biến đổi đại số

Một phần của tài liệu (LUẬN văn THẠC sĩ) một số thuật toán đánh giá độ tin cậy của hệ thống (Trang 46 - 51)

CHƯƠNG 2 : MỘT SỐ THUẬT TOÁN ĐÁNH GIÁ ĐỘ TIN CẬY

2.3 Bài toán tối thiểu các toán tử logic

2.3.1 Biến đổi đại số

Việc tối thiểu hóa các toán tử logic thường dựa trên các hằng đẳng thức Boole hay còn được gọi là các luật trong Boole.

Một đại số Boole[1] là một cấu trúc đại số gồm một tập hợp S chứa ít nhất 2 phần tử, được kí hiệu là 0 và 1, cùng hai phép toán hai ngôi “+” (tuyển - ˅) và “.” (hội - ˄ ) và phép toán 1 ngôi “ˉ” (phủ định) thỏa mãn các luật sau:

(1). Luật giao hoán a) a.b = b.a

b) a + b = b + a (2). Luật kết hợp

a) (a.b).c = a.(b.c)

b) (a+b) + c = a + (b+c) (3). Luật phân phối

a) a.(b+c) = (a.b)+(a.c) b) a+(b.c) = (a+b).(a+c) (4). Luật đồng nhất a) a.1 = a b) a+0 = a (5). Luật trội a) a+1 = 1 b) a.0 = 0 (6). Luật tồn tại phần tử bù a) a.¬a = 0 ( tính chất 0) b) a+¬a = 1 (tính chất 1) (7). Luật lũy đẳng a) a.a = 0 b) a+a = a (8). Luật De Morgan

a) ¬(a.b) =¬a+¬b b) ¬(a+b) =¬a.¬b (9). Luật bù kép ¬¬(a) = a (10). Luật hút a) a.(a+b) = a b) a+(a.b) = a Chứng minh:

Việc chứng minh các luật trên dựa vào bảng chân trị (Truth table). Ví dụ chứng minh định luật hút bằng bảng chân trị sau:

Nhìn vào cột 1 và cột 4 ta sẽ thấy các giá trị hoàn toàn phù hợp với nhau do vậy a.(a+b) =a, tương tụ với b.

Ngoài ra ta có thể chứng minh bằng cách dùng hằng đẳng thức của đại số Boole.

a(a+b) = (a+0)(a+b) theo luật đồng nhất = a+0.b theo luật phân phối = a+b.0 theo luật giao hoán = a + 0 theo luật trội

2.3.2 Phương pháp tối thiểu hóa theo thuật toán

Một số khái niệm:

- Đỉnh 1 là đỉnh mà tại đó hàm số bằng 1. - Đỉnh 0 là đỉnh mà tại đó hàm số bằng 0.

- Đỉnh không xác định là đỉnh tại đó hàm không xác định.

Tích cực tiểu là một tích mà tại đó hàm bằng 1 hoặc không xác định với thành phần các biến không bỏ bớt được nữa.

Tích quan trọng là một tích cực tiểu phủ ít nhất 1 đỉnh. Quá trình tối thiểu hóa gồm các bước như sau:

- Biểu diễn hàm dưới dạng chuẩn tắc tuyển (CTT) đầy đủ với tập các đỉnh 1 hoặc đỉnh không xác định hoặc CTH đầy đủ với tập đỉnh 0 và đỉnh không xác định.

- Tìm các tích cực tiểu - Tìm các phủ tối thiểu

- Đưa ra cách biểu diễn mới của hàm

a. Phương pháp dùng bảng Karnaugh

Bảng Karnaugh[1] là một bảng có 2n ô, mỗi ô tương ứng với một tổ hợp trong bảng trạng thái và chứa các giá trị đầu ra tương ứng. Một đặc trưng của biểu đồ này là luôn sắp xếp sao cho có sự thay đổi một biến khi chuyển từ ô này sang ô kế cận.

Các bước tối thiểu hóa dùng bảng Karnaugh: 1, Biểu diễn hàm đã cho trên bảng Karnaugh.

2, Xác định tích cực tiểu của hàm (tích cực tiểu tìm được bằng cách đan 2k ô có giá trị 1 hoặc X với k tối đa, các ô gần kề nhau hoặc đối xứng)

3, Tìm phủ tối thiểu là chọn một số ít nhất các nhóm tích cực tiểu sao cho phủ hết được các đỉnh 1 của hàm.

Ví dụ:

Dùng các bản đồ Karnaugh ba biến để rút gọn các triển khai tổng các tích sau:

b. x𝑦̅𝑧 + x𝑦̅𝑧̅ + 𝑥̅yz + 𝑥̅𝑦̅z + 𝑥̅𝑦̅𝑧̅

c. xyz + xy𝑧̅ + x𝑦̅𝑧 + x𝑦̅𝑧̅ + 𝑥̅yz + 𝑥̅𝑦̅z + 𝑥̅𝑦̅𝑧̅

Giải:

Bản đồ Karnaugh cho nhưng khai triển tổng cách tích này được cho trong hình sau:

Việc nhóm thành các khối cho thấy rằng các khai triển cực tiểu thành các tổng Boole của các tích Boole là:

a) x𝑧̅ + 𝑦̅𝑧̅ + 𝑥̅yz b) 𝑦̅ + 𝑥̅𝑧

c) x + 𝑦̅ + z

b. Tối thiểu hóa bằng phương pháp Quine – Mc.Cluskey

Ta đã thấy rằng các bảng Karnaugh có thể được dung để tạo biểu thức cực tiểu của các hàm Boole như tổng của các tích Boole. Tuy nhiên các bảng Karnaugh sẽ rất khó dùng khi biến số lớn hơn bẩy. Hơn nữa, việc dùng các bản đồ Karnaugh lại dựa trên việc rà soát trực quan để nhận dạng các số hạng cần được nhóm lại. Vì những nguyên nhân đó cần có một thủ tục rút gọn những khai triển tổng các tích có thể cơ khí hóa được. Phương pháp Quine-

Mc.Cluskey[1] là một thủ tục như vậy. Nó có thể được dùng cho các hàm Boole có số biến bất kỳ.

Về cơ bản phương pháp Quine – Mc.Cluskey có 2 phần:

- Phần đầu là tìm các số hạng là ứng viên để đưa vào khai triển cực tiểu như một tổng cách tích Boole mà ta gọi là các nguyên nhân nguyên tố.

- Phần hai là xác định xem trong số các ứng viên đó có số hạng nào thực sự dùng được.

Các bước tiến hành:

Bước 1: Tìm tích cực tiểu

- Xác định đỉnh 1 và X

- Sắp xếp các tổ hợp biến theo số lượng chữ cố 1 có trong chúng. - So sánh mỗi tổ hợp thuộc nhóm i với tổ hợp nhóm (i+1). Nếu 2 tổ hợp đó chỉ khác nhau 1 cột thì kết hợp 2 tổ hợp đó thành 1 tổ hợp mới, trong đó sử dụng dấu – thay cho cột khác nhau.

- Loại bỏ tổ hợp giống nhau và lặp lại bước trên cho đến khi hết các tổ hợp có khả năng kết hợp.

- Tập hợp các tổ hợp trong bảng cuối và các tổ hợp không bị đánh dấu chính là các tạp tích cực tiểu.

Bước 2: Tìm phủ tối thiểu

- Lập bẳng có cột là các giá trị có đỉnh là 1, hàng là các tích cực tiểu.

- Đánh dấu X vào ô mà tích cực tiểu ở bảng phủ định ở cột. Cột có 1 dấu X chính là tích quan trọng.

- Loại bỏ các cột đã được phủ trong tích quan trọng. - Loại các tích quan trọng ra khỏi hàng.

- Lập bảng mới và tiếp tục quá trình cho tới khi tất cả các đỉnh đều được phủ.

Tối thiểu hóa hàm sau: Hàm f =∑(0,2,5,8,9,10,11)

Vậy kết quả cuối cùng là: -0-0 và 10— Hay f = 𝐵.̅ 𝐷̅ + 𝐴𝐵̅̅̅̅

Một phần của tài liệu (LUẬN văn THẠC sĩ) một số thuật toán đánh giá độ tin cậy của hệ thống (Trang 46 - 51)

Tải bản đầy đủ (PDF)

(73 trang)