tong quan ve tri tue nhan tao

350
Chương 9: Hc máy Võ Hunh Trâm – Trn Ngân Bình 1 PHN I GII THIU TNG QUAN VTRÍ TUNHÂN TO Mc dù trong các thế k18, 19 và đầu thế k20, shình thc hóa trong khoa hc và toán hc đã to điu kin tiên quyết vmt trí tucho vic nghiên cu trí tunhân to, nhưng phi cho đến thế k20 cùng vi sra đời ca máy tính sthì Trí tunhân to (AI : Artificial Intelligence) mi trthành mt ngành khoa hc có sc sng. Cho đến cui nhng năm 1940, bng nhng chương trình thông minh, các máy tính sđã cho thy được tim năng to ln ca chúng trong vic cung cp bnhvà sc mnh cho nhng xlý cn thiết. Ngày nay, chúng ta có thcài đặt các hsuy lun hình thc vào trong máy tính và kim tra mt cách thc nghim khnăng biu ltrí thông minh ca chúng. Mt thành phn không ththiếu được ca Trí tunhân to là vic dùng các máy tính snhư mt phương tin chn la để to ra và thnghim các lý thuyết vtrí tu. Không chthế, kiến trúc ca chúng còn cung cp mt mô hình đặc trưng cho nhng lý thuyết đó: trí tulà mt hình thc xlý thông tin. Nhng kthut và hình thc được kho sát trong lĩnh vc Trí tunhân to luôn thhin mi quan hkhng khít gia máy tính svà nhng ct lõi lý thuyết ca nó. Cũng như vi bt ckhoa hc nào khác, Trí tunhân to (AI : Artificial Intelligence) tliên quan đến mt tp hp nht định nhng vn đề và trin khai mt nhóm các kthut đặc thù để tiếp cn nhng vn đề đó. Mt lch shình thành và phát trin ngn gn vTrí tunhân to, vnhng con người và nhng nhn định đã định hình, mt scác định nghĩa và cách nhìn khái quát vcác lĩnh vc ng dng ca Trí tunhân to được trình bày d ưới đây sgiúp cho chúng ta mt cái nhìn tng quan vngành khoa hc còn tương đối mi mnày.

Upload: hiep-trinh

Post on 01-Jul-2015

591 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: tong quan ve tri tue nhan tao

Chương 9: Học máy

Võ Huỳnh Trâm – Trần Ngân Bình

1

PHẦN I

GIỚI THIỆU TỔNG QUAN VỀ TRÍ TUỆ NHÂN TẠO

Mặc dù trong các thế kỷ 18, 19 và đầu thế kỷ 20, sự hình thức hóa trong khoa học và toán học đã tạo điều kiện tiên quyết về mặt trí tuệ cho việc nghiên cứu trí tuệ nhân tạo, nhưng phải cho đến thế kỷ 20 cùng với sự ra đời của máy tính số thì Trí tuệ nhân tạo (AI : Artificial Intelligence) mới trở thành một ngành khoa học có sức sống. Cho đến cuối những năm 1940, bằng những chương trình thông minh, các máy tính số đã cho thấy được tiềm năng to lớn của chúng trong việc cung cấp bộ nhớ và sức mạnh cho những xử lý cần thiết. Ngày nay, chúng ta có thể cài đặt các hệ suy luận hình thức vào trong máy tính và kiểm tra một cách thực nghiệm khả năng biểu lộ trí thông minh của chúng. Một thành phần không thể thiếu được của Trí tuệ nhân tạo là việc dùng các máy tính số như một phương tiện chọn lựa để tạo ra và thử nghiệm các lý thuyết về trí tuệ. Không chỉ thế, kiến trúc của chúng còn cung cấp một mô hình đặc trưng cho những lý thuyết đó: trí tuệ là một hình thức xử lý thông tin. Những kỹ thuật và hình thức được khảo sát trong lĩnh vực Trí tuệ nhân tạo luôn thể hiện mối quan hệ khắng khít giữa máy tính số và những cốt lõi lý thuyết của nó. Cũng như với bất cứ khoa học nào khác, Trí tuệ nhân tạo (AI : Artificial Intelligence) tự nó liên quan đến một tập hợp nhất định những vấn đề và triển khai một nhóm các kỹ thuật đặc thù để tiếp cận những vấn đề đó. Một lịch sử hình thành và phát triển ngắn gọn về Trí tuệ nhân tạo, về những con người và những nhận định đã định hình, một số các định nghĩa và cách nhìn khái quát về các lĩnh vực ứng dụng của Trí tuệ nhân tạo được trình bày dưới đây sẽ giúp cho chúng ta một cái nhìn tổng quan về ngành khoa học còn tương đối mới mẻ này.

Page 2: tong quan ve tri tue nhan tao

Giáo Trình Trí Tuệ Nhân Tạo

Chương I: GIỚI THIỆU VỀ TRÍ TUỆ NHÂN TẠO

Nội dung chính: Trong chương này, chúng ta sẽ giới thiệu một cách khái quát về lịch sử hình thành và phát triển của khoa học Trí tuệ nhân tạo, các định nghĩa mang tính tương đối về Trí tuệ nhân tạo – một lĩnh vực khoa học mới mẻ với sức phát triển nhanh chóng trong những thập niên gần đây. Các lĩnh vực ứng dụng quan trọng của Trí tuệ nhân tạo và hiệu quả thiết thực của chúng trong các mặt cuộc sống con người được đề cập đến một cách chi tiết sau đó. Cuối chương, một số đặc điểm mang tính tổng kết về Trí tuệ nhân tạo cũng sẽ được trình bày.

Mục tiêu cần đạt : Sau chương này, sinh viên có thể :

Biết khái quát về lịch sử hình thành và phát triển của TTNT Biết các định nghĩa về TTNT Hiểu và dẫn chứng được một số lĩnh vực ứng dụng của TTNT Hiểu các đặc điểm cơ bản của GQVĐ trong TTNT

Kiến thức tiên quyết : Các hiểu biết về lịch sử phát triển của khoa học máy tính.

Tài liệu tham khảo :

[1] George F. Luger, William A. Stubblefield – Albuquerque – Artificial Intelligence – Wesley Publishing Company, Inc – 1997 (Chapter 1)

[2] Bùi Xuân Toại – Trương Gia Việt (Biên dịch) – Trí tuệ nhân tạo – Các cấu trúc và chiến lược giải quyết vấn đề - NXB Thống kê, 2000 (Phần I)

[3] PTS. Nguyễn Thanh Thủy – Trí tuệ nhân tạo – Các phương pháp giải quyết vấn đề và kỹ thuật xử lý tri thức – NXB Giáo dục, 1995 (Chương 1)

[4] Wikipedia – Bách khoa toàn thư mở - Lịch sử ngành Trí tuệ nhân tạo http://en.wikipedia.org/wiki/Artificial_intelligence[5] Artificial Intelligence: A Modern Approach (Second Edition) by Stuart Russell and Peter Norvig : Introduction on AI http://aima.cs.berkeley.edu/

2 Võ Huỳnh Trâm – Trần Ngân Bình

Page 3: tong quan ve tri tue nhan tao

Chương 9: Học máy

Võ Huỳnh Trâm – Trần Ngân Bình

3

I LỊCH SỬ HÌNH THÀNH VÀ PHÁT TRIỂN CỦA TRÍ TUỆ NHÂN TẠO

Những năm gần đây, khá nhiều sách, báo, công trình nghiên cứu khoa học đề cập đến các kỹ thuật tính toán, người ta hay nhắc đến nhiều thuật ngữ như: máy tính thông minh, máy tính thế hệ V, hệ chuyên gia, mạng ngữ nghĩa, ... Các ngôn ngữ lập trình như LISP, PROLOG mở đường cho việc áp dụng hàng loạt các hệ thống chương trình có khả năng “thông minh”.

Trước đây, mỗi khi nói đến Trí tuệ nhân tạo (TTNT) người ta thường quan tâm đến việc tạo lập các máy tính có khả năng “suy nghĩ”, thậm chí trong một số phạm vi hẹp nào đó, có thể cạnh tranh hoặc vượt quá khả năng của bộ não con người. Những hy vọng này trong một thời gian dài đã ảnh hưởng rất nhiều đến các nghiên cứu trong phòng thí nghiệm. Mặc dù những mô hình tương tự các máy tính thông minh đã được đưa ra hàng nhiều năm trước, nhưng chỉ từ khi Alan Turing công bố những kết quả nghiên cứu quan trọng đầu tiên, người ta mới bắt đầu thực sự nghiên cứu đến các vấn đề TTNT một cách nghiêm túc. Phát hiện của Turing cho rằng chương trình có thể được lưu trữ trong bộ nhớ để sau đó được thực hiện trên cơ sở các phép toán cơ bản thao tác với các bit 0, 1. Điều này đã tạo nên nền tảng của những máy tính hiện đại. Việc lưu trữ chương trình trong máy cho phép thay đổi chức năng của nó một cách nhanh chóng và dễ dàng thông qua việc nạp một chương trình mới vào bộ nhớ. Theo một nghĩa nào đó, khả năng này làm cho máy tính có khả năng học và suy nghĩ. Đó cũng chính là một trong những biểu hiện quan trọng đầu tiên của những máy tính được trang bị TTNT.

Năm 1956, chương trình dẫn xuất kết luận trong hệ hình thức đã được công bố. Tiếp theo đó, năm 1959 chương trình chứng minh các định lý hình học phẳng và chương trình giải quyết bài toán vạn năng (GPS - General Problem Solving) đã được đưa ra. Tuy vậy chỉ cho đến khoảng năm 1960 khi McCathy ở MIT (Massachussets Institute of Technology) đưa ra ngôn ngữ lập trình đầu tiên dùng cho trí tuệ nhân tạo LISP (list processing), các nghiên cứu về TTNT mới bắt đầu phát triển mạnh mẽ. Thuật ngữ TTNT do Marvin Minsky một chuyên gia nổi tiếng cũng ở MIT đưa ra năm 1961 trong bài báo “ Steps Forwards To Artificial Intelligence”. Những năm 60 có thể xem là một mốc quan trọng trong quá trình xây dựng các máy có khả năng suy nghĩ. Các chương trình chơi cờ và các chương trình chứng minh định lý toán học đầu tiên cũng được công bố trong khoảng thời gian này.

Những bế tắc, hạn chế thành công của các công trình nghiên cứu TTNT trong những năm 60 chính là do giới hạn khả năng của các thiết bị, bộ nhớ và đặc biệt là yếu tố thời gian thực hiện. Chính những yếu tố này không cho phép tổng quát hóa những thành công bước đầu đạt được trong các hệ chương trình TTNT đã xây dựng. Tuy rằng vào giữa những năm 70, bộ nhớ máy tính và thời gian tính toán đã được nâng cao đáng kể về chất, song những cách tiếp cận khác nhau đến TTNT vẫn chưa đem tới những thành công thật sự do sự bùng nổ tổ hợp trong quá trình tìm kiếm lời giải cho các bài toán đặt ra.

Cuối những năm 70, một số nghiên cứu cơ bản trong các lĩnh vực như xử lý ngôn ngữ tự nhiên, biểu diễn tri thức, lý thuyết giải quyết vấn đề đã đem lại diện mạo mới cho TTNT. Thị trường tin học đã bắt đầu đón nhận những sản phẩm TTNT ứng dụng đầu tiên mang tính thương mại. Đó là các hệ chuyên gia được áp dụng trong các lĩnh vực khác nhau. Hệ chuyên gia là các phần mềm máy tính, chứa các thông tin và tri thức về một lĩnh vực cụ thể nào đó,

Page 4: tong quan ve tri tue nhan tao

Giáo Trình Trí Tuệ Nhân Tạo có khả năng giải quyết những yêu cầu của người dùng ở một mức độ nào đó với trình độ như một chuyên gia có kinh nghiệm lâu năm. Một trong những hệ chuyên gia đầu tiên được sử dụng thành công trong thực tế là hệ MYCIN, được thiết kế và cài đặt tại trường Đại học Tổng Hợp Stanford.

Một sự kiện quan trọng trong sự phát triển của khoa học TTNT là sự ra đời của ngôn ngữ PROLOG, do Alain Calmerauer đưa ra năm 1972. Năm 1981, dự án của Nhật Bản xây dựng các máy tính thế hệ thứ V lấy ngôn ngữ PROLOG như là ngôn ngữ cơ sở đã làm thay đổi khá nhiều tình hình phát triển TTNT ở Mỹ cũng như châu Âu.

Giai đoạn 1981 trở đi người ta cảm nhận khá rõ nét rằng các chuyên gia về TTNT đang dần chuyển các kết quả nghiên cứu từ phòng thí nghiệm sang cài đặt các ứng dụng cụ thể. Có thể nói đây cũng là giai đoạn cạnh tranh ráo riết của các công ty, các viện nghiên cứu hàng đầu nhằm đưa ra thị trường các sản phẩm phần mềm ứng dụng kỹ thuật TTNT.

Cuối những năm 80, đầu những năm 90 thị trường các sản phẩm dân dụng đã có khá nhiều sản phẩm ở trình độ cao như máy giặt, máy ảnh, . . . sử dụng TTNT. Các hệ thống nhận dạng và xử lý hình ảnh, tiếng nói đang ngày càng thúc đẩy sự phát triển kỹ thuật mạng Neuron. Sự xích lại của hai cách tiếp cận: Tiếp cận mờ trong lập luận xấp xỉ và kỹ thuật mạng Neuron đã và đang gây được sự quan tâm đặc biệt của các chuyên gia tin học. Bên cạnh sự xuất hiện của các hệ chuyên gia, các ứng dụng công nghiệp và quản lý xã hội, quản lý kinh tế cũng đòi hỏi sự ra đời của các hệ thống xử lý tri thức – dữ liệu tích hợp.

Thế giới đang chuyển mình trong những nghiên cứu về TTNT. Tuy vậy câu hỏi liệu kỹ thuật TTNT có tạo nên những bước nhảy vọt trong công nghệ tin học, đặc biệt là trong công nghệ máy tính như người ta đã mong đợi hay không vẫn chưa có lời giải đáp thỏa đáng.

II ĐỊNH NGHĨA TRÍ TUỆ NHÂN TẠO

II.1 Trí tuệ nhân tạo

Trí tuệ nhân tạo (AI: Artificial Intelligence) có thể được định nghĩa như một ngành của khoa học máy tính liên quan đến việc tự động hóa các hành vi thông minh. AI là một bộ phận của khoa học máy tính và do đó nó phải được đặt trên những nguyên lý lý thuyết vững chắc, có khả năng ứng dụng được của lĩnh vực này. Những nguyên lý này bao gồm các cấu trúc dữ liệu dùng cho biểu diễn tri thức, các thuật toán cần thiết để áp dụng những tri thức đó, cùng các ngôn ngữ và kỹ thuật lập trình dùng cho việc cài đặt chúng.

Tuy nhiên định nghĩa trên phải chấp nhận một thực tế - trí tuệ tự nó là một khái niệm không được định nghĩa một cách rõ ràng. Mặc dù hầu hết chúng ta đều có thể nhận ra các hành vi thông minh khi nhìn thấy chúng nhưng rất khó có thể đưa ra một định nghĩa về trí tuệ.

Vì thế mà vấn đề định nghĩa Trí tuệ nhân tạo tự nó trở thành một sự định nghĩa trí tuệ: đó có phải là một năng lực duy nhất hay chỉ là tên dùng gọi một tập hợp những khả năng khác nhau và không liên quan gì đến nhau ? Thế nào là khả năng sáng tạo ? Thế nào là trực giác ? Có thể kết luận ngay về tính trí tuệ từ việc quan sát một hành vi hay không hay cần phải có biểu hiện của một cơ chế nào đó nằm bên trong ? Tất cả những câu hỏi này vẫn chưa được trả lời và chúng đã nêu ra những vấn đề cần có phương pháp luận để giải quyết.

4 Võ Huỳnh Trâm – Trần Ngân Bình

Page 5: tong quan ve tri tue nhan tao

Chương 9: Học máy

Võ Huỳnh Trâm – Trần Ngân Bình

Cho đến nay, Trí tuệ nhân tạo vẫn còn là một ngành khoa học trẻ, những mối quan tâm và những phương pháp của nó chưa được rõ ràng so với tất cả các ngành khoa học đã trưởng thành trước đó. Song, một trong những mục tiêu trọng tâm của nó là quan tâm đến việc mở rộng khả năng của khoa học máy tính hơn là tìm cách định nghĩa những giới hạn của nó.

Câu hỏi :

Nêu một định nghĩa theo sự khái quát của riêng bạn về Trí tuệ nhân tạo ?

II.2 Trắc nghiệm Turing

Năm 1950, một nhà toán học người Anh là Alan Turing đã viết những trang sách đầu tiên trả lời một cách cụ thể câu hỏi: trí tuệ máy có liên hệ như thế nào với máy tính kỹ thuật số hiện đại. Tác phẩm “Máy tính và trí tuệ” (Turing 1950) của ông vẫn còn mang tính thời đại đối với việc đánh giá những tranh luận về khả năng tạo ra một máy tính thông minh, cũng như đối với những câu trả lời của tác phẩm này cho các tranh luận trên.

Turing, người nổi tiếng chủ yếu qua những đóng góp của ông cho lý thuyết về khả năng tính toán đã xem xét câu hỏi: liệu có thể làm cho một máy tính thực sự có khả năng suy nghĩ hay không ? Để giải quyết những mơ hồ trong câu hỏi này, ông đã đề xuất thay thế câu trả lời bằng kết quả của một trắc nghiệm mang tính thực nghiệm – trắc nghiệm Turing (Turing test) hay “trò chơi bắt chước”.

Trắc nghiệm Turing đo lường khả năng của một máy tính được coi là thông minh và so sánh với khả năng đó của con người – một đối tượng được xem là có hành vi thông minh nhất và là chuẩn mực duy nhất về trí tuệ. Trong trắc nghiệm này, một máy tính và một người tham gia trắc nghiệm được đặt vào trong các căn phòng cách biệt với một người thứ hai, người này được gọi là “người thẩm vấn” (hình 1.1). Người thẩm vấn không thể nhìn thấy hay nói chuyện với bất kỳ ai trong trong hai đối tượng trên, cũng không biết được chính xác đối tượng nào là người hay máy tính, và cũng chỉ có thể giao tiếp với hai đối tượng đó thông qua một thiết bị soạn thảo văn bản, chẳng hạn như một thiết bị đầu cuối. Người thẩm vấn có nhiệm vụ phân biệt người với máy tính bằng cách chỉ dựa trên những câu trả lời của họ đối với những câu hỏi được truyền qua thiết bị liên lạc này. Trong trường hợp nếu người thẩm vấn không thể phân biệt được máy tính với người thì khi đó, theo Turing, máy tính này có thể được xem là thông minh.

5

Page 6: tong quan ve tri tue nhan tao

Giáo Trình Trí Tuệ Nhân Tạo

Hình 1.1 – Trắc nghiệm Turing

Người thẩm vấn

Bằng cách cách ly người thẩm vấn với máy tính cũng như người tham gia vào trắc nghiệm, thí nghiệm này bảo đảm rằng người thẩm vấn sẽ không có thành kiến với sự xuất hiện của máy tính hay bất kỳ một đặc tính máy móc nào trong lời nói của nó. Tuy nhiên, với mục đích cố gắng phát hiện ra đâu là máy tính, người thẩm vấn có thể được tự do hỏi bất kỳ câu hỏi nào, cho dù là những câu hỏi bóng gió hay quanh co. Chẳng hạn, người thẩm vấn có thể yêu cầu cả hai đối tượng thực hiện một phép tính liên quan ít nhiều đến số học với giả định rằng máy tính sẽ thực hiện nhanh và chính xác hơn người. Để đối phó với chiến thuật này, một máy tính thông minh cần phải biết khi nào thì nó nên đưa ra một câu trả lời sai cho những bài toán nhằm tỏ ra nó giống con người. Một cách tương tự, để có thể phát hiện ra đặc tính con người dựa vào bản chất cảm xúc, người thẩm vấn cũng có thể hỏi cả hai đối tượng các kiến thức về thơ văn hay nghệ thuật. Và để đối phó với chiến thuật này đòi hỏi máy tính cũng phải có những kiến thức liên quan đến cảm xúc xuất phát từ con người.

Những đặc trưng quan trọng của trắc nghiệm này là :

Nó đưa ra một khái niệm khách quan về trí tuệ, tức là hành vi của một thực thể thông minh nào đó đáp ứng lại một tập hợp các câu hỏi đặc thù. Việc này cho chúng ta một chuẩn mực để xác định trí thông minh, đồng thời tránh được những tranh luận không cần thiết về bản chất “đúng” của nó.

Nó tránh cho chúng ta khỏi bị lạc đường bởi những câu hỏi rắc rối và hiện thời chưa thể trả lời được, chẳng hạn như máy tính có sử dụng những suy luận thích hợp bên trong nó hay không, hay máy tính thực sự có ý thức được những hành động của nó hay không.

Nó loại trừ bất cứ định kiến thiên vị nào vì bắt buộc người thẩm vấn chỉ tập trung vào nội dung các câu trả lời.

Nhờ những ưu điểm này, trắc nghiệm Turing đã cung cấp một cơ sở cho nhiều sơ đồ đánh giá mà những sơ đồ này được dùng thực sự cho các chương trình TTNT hiện đại. Người ta có thể đánh giá khả năng chuyên môn của một chương trình về một lĩnh vực nào đó bằng cách so sánh kết quả làm việc của nó với một chuyên gia khi cùng giải quyết một tập các bài toán cho trước. Kỹ thuật đánh giá này chỉ là biến thể của trác nghiệm Turing: một nhóm chuyên gia sau đó sẽ được yêu cầu so sánh kết quả thực hiện của máy và người trên một tập

6 Võ Huỳnh Trâm – Trần Ngân Bình

Page 7: tong quan ve tri tue nhan tao

Chương 9: Học máy

Võ Huỳnh Trâm – Trần Ngân Bình

hợp đặc thù các bài toán mà không được thấy các đối tượng. Chúng ta sẽ thấy rằng phương pháp luận này đã trở thành một công cụ không thể thiếu trong cả hai giai đoạn phát triển và kiểm chứng của các hệ chuyên gia hiện đại.

Câu hỏi :

Hãy so sánh những điểm khác nhau cơ bản trong khả năng giải quyết vấn đề giữa máy tính hiện đại với con người ?

III KHÁI QUÁT CÁC LĨNH VỰC ỨNG DỤNG CỦA TTNT

Hai mối quan tâm nền tảng nhất của các nhà nghiên cứu TTNT là biểu diễn tri thức (knowledge representation) và tìm kiếm (search). Sự quan tâm thứ nhất chú ý đến vấn đề nắm bắt theo một ngôn ngữ hình thức, tức là một dạng thức thích hợp để máy tính vận hành, phạm vi tri thức đầy đủ mà hành vi thông minh đòi hỏi. Trong khi, tìm kiếm là kỹ thuật giải quyết vấn đề theo cách khảo sát có hệ thống một không gian trạng thái bài toán (problem state), tức là các giai đoạn tuần tự và có chọn lựa trong quá trình giải quyết vấn đề.

Giống như hầu hết các ngành khoa học khác, Trí Tuệ Nhân Tạo cũng được phân thành những ngành con. Trong khi chia sẻ một tiếp cận giải quyết vấn đề cơ bản, các ngành con này có các mối quan tâm đến các ứng dụng khác nhau. Phần sau sẽ phác thảo tổng thể một vài lĩnh vực ứng dụng chính và những đóng góp của chúng cho Trí tuệ nhân tạo.

III.1 Trò chơi

Ngay từ thời kỳ đầu của việc nghiên cứu vấn đề tìm kiếm trong không gian trạng thái, người ta đã tiến hành nhiều thử nghiệm bằng cách sử dụng các trò chơi thông dụng có bàn cờ như cờ đam (checker), cờ vua và trò đố 15 ô (15 puzzule). Ngoài sức quyến rũ do tính chất trí óc vốn có trong các trò chơi có bàn cờ, có nhiều tính nhất định làm cho chúng trở thành một đối tượng lý tưởng của thời kỳ này. Hầu hết các trò chơi đều sử dụng một tập hợp các luật chơi được xác định rõ ràng. Điều này làm cho việc phát sinh không gian tìm kiếm trở nên dễ dàng và giải phóng nhiều nghiên cứu khỏi những sự mơ hồ và phức tạp vốn có trong các bài toán ít cấu trúc hơn. Hình dạng của những bàn cờ sử dụng trong các trò chơi này dễ dàng được biểu diễn vào máy tính, trong khi không đòi hỏi một hình thức khó hiểu cần thiết nào để nắm bắt những tinh tế và ngữ nghĩa trong những lĩnh vực bài toán phức tạp hơn. Do có thể chơi các trò chơi một cách dễ dàng nên việc thử nghiệm một chương trình chơi trò chơi không phải trả một gánh nặng nào về tài chính hay đạo đức.

Các trò chơi có thể phát sinh ra một số lượng không gian tìm kiếm cực kỳ lớn. Những không gian này đủ lớn và phức tạp để đòi hỏi những kỹ thuật mạnh nhằm quyết định xem những chọn lựa nào cần được khảo sát trong không gian bài toán. Những kỹ thuật này được gọi là các heuristic và chúng tạo thành một lĩnh vực lớn trong nghiên cứu TTNT. Một heuristic là một chiến lược giải quyết vấn đề tốt nhưng tiềm ẩn khả năng thất bại, chẳng hạn như việc kiểm tra để biết chắc rằng một thiết bị không nhạy đã được cắm vào trước khi giả định rằng nó bị hỏng, hay cố gắng bảo vệ quân cờ hoàng hậu của bạn khỏi bị bắt trong trò chơi cờ vua.

7

Page 8: tong quan ve tri tue nhan tao

Giáo Trình Trí Tuệ Nhân Tạo Nhiều thứ mà chúng ta gọi là thông minh thuộc về các heuristic được người ta sử dụng để giải quyết các vấn đề.

Hầu hết chúng ta đều có một số kinh nghiệm với những trò chơi đơn giản này, nên chúng ta cũng có khả năng nghĩ ra và kiểm nghiệm tính hiệu quả của những heuristic của chính mình. Chúng ta không cần đi tìm và hỏi ý kiến chuyên gia trong một số lĩnh vực chuyên môn sâu như là y học hay toán học (cờ vua là một ngoại lệ dễ thấy đối với quy tắc này). Vì những lý do đó, các trò chơi cung cấp một không gian mênh mông cho việc nghiên cứu các tìm kiếm heuristic. Các chương trình chơi trò chơi, trái ngược với tính đơn giản của chúng, đưa ra những thử thách riêng của chúng, bao gồm các đấu thủ mà các nước đi của anh ta có thể không dự đoán trước được một cách chắc chắn. Sự có mặt này của đấu thủ càng làm phức tạp hơn mô hình chương trình do sự thêm vào một yếu tố không dự đoán trước được và sự cần thiết phải tính đến những yếu tố tâm lý cũng như là chiến thuật trong chiến lược của trò chơi.

III.2 Suy luận và chứng minh định lý tự động

Chúng ta có thể cho rằng chứng minh định lý tự động là một nhánh nghiên cứu có từ lâu đời nhất của Trí tuệ nhân tạo khi tìm lại nguồn gốc của nó qua các tác phẩm “Nhà lý luận logic (logic theorist)” (Newell và Simon 1963a) và “Công cụ giải quyết vấn đề tổng quát (General problem solver)” (Newell và Simon 1965b) của Newell và Simon, cho đến trong những nổ lực của Rusell và Whitehead xem toàn bộ toán học như là sự dẫn xuất hình thức thuần tuý của các định lý từ các tiên đề cơ sở. Trong bất cứ trường hợp nào, nó chắc chắn vẫn là một trong những ngành phong phú nhất của lĩnh vực này. Nghiên cứu chứng minh định lý đã đạt được nhiều thành tích trong thời kỳ đầu của việc hình thức hoá các giải thuật tìm kiếm và phát triển các ngôn ngữ biểu diễn hình thức như phép tính vị từ.

Hầu hết sự quyến rũ của chứng minh định lý tự động đều là không đáng tin cậy và không đúng với nguyên tắc chung của logic. Vì là một hệ hình thức, logic tự bổ sung cho mình sự tự động hoá. Người ta có thể khảo sát một số lượng lớn những bài toán khác nhau, bằng cách biểu diễn mô tả của bài toán và những thông tin cơ sở liên quan như là tiên đề logic, và xem những trường hợp bài toán là những định lý cần phải chứng minh. Sự hiểu biết thấu đáo này là cơ sở cho việc nghiên cứu chứng minh định lý tự động và các hệ suy luận toán học.

Một lý do khác cho việc tiếp tục quan tâm đến các máy chứng minh định lý tự động là sự nhận thức rằng một hệ thống kiểu như vậy không nhất thiết phải có khả năng giải quyết những bài toán cực kỳ phức tạp một cách độc lập mà không có sự trợ giúp nào của con người. Nhiều máy chứng minh định lý hiện đại hoạt động như những trợ lý viên thông minh khi chúng cho phép con người thực hiện những công tác đòi hỏi trình độ cao hơn là phân tích một bài toán lớn thành nhiều bài toán con và đặt ra những heuristic để tìm kiếm trong không gian những chứng minh có thể chọn. Máy chứng minh định lý sau đó thực hiện công tác đơn giản hơn nhưng cũng quan trọng là chứng minh các bổ đề, kiểm chứng những giải quyết nhỏ hơn, và hoàn thành những khía cạnh hình thức của một chứng minh đã được phác thảo bởi sự hợp tác của nó với con người (Boyer và More 1979).

8 Võ Huỳnh Trâm – Trần Ngân Bình

Page 9: tong quan ve tri tue nhan tao

Chương 9: Học máy

Võ Huỳnh Trâm – Trần Ngân Bình

9

III.3 Các hệ chuyên gia

Kể từ lúc khoa học giải quyết vấn đề được nghiên cứu, người ta đã sớm ý thức một cách sâu sắc và cơ bản về tầm quan trọng của tri thức chuyên ngành. Lấy ví dụ một bác sĩ chẳng hạn, cô ta không thể chẩn đoán bệnh tốt chỉ nhờ vào một số kỹ năng giải quyết vấn đề tổng quát bẩm sinh; mà cô ta đã chẩn đoán tốt là vì cô ta có nhiều kiến thức y học. Tương tự như thế, một nhà địa chất giỏi phát hiện các mỏ khoáng vì anh ta biết áp dụng một cách hiệu quả nhiều tri thức lý thuyết và thực nghiệm về địa lý vào bài toán đang nằm trong tay anh ta. Tri thức chuyên gia về lĩnh vực là sự kết hợp giữa kiến thức lý thuyết về vấn đề đó và một tập hợp các quy tắc giải quyết vấn đề theo kiểu heuristic mà kinh nghiệm khi sử dụng những quy tắc này đã tỏ ra hiệu quả trong lĩnh vực đó. Các hệ chuyên gia được người ta xây dựng bằng cách thu thập các kiến thức từ chuyên gia người và mã hoá nó thành dạng thức mà máy tính có thể áp dụng cho những bài toán tương tự.

Sự tin cậy vào tri thức của chuyên gia chuyên ngành trong các chiến lược giải quyết vấn đề của hệ là một đặc trưng chính của các hệ chuyên gia. Người ta đã viết ra một số chương trình mà ở đó người thiết kế cũng là nguồn tri thức chuyên ngành, nhưng sẽ điển hình hơn nhiều nếu chúng ta xem xét những chương trình được phát sinh từ sự cộng tác giữa một chuyên gia chuyên ngành chẳng hạn như một bác sĩ, một nhà hoá học, một nhà địa chất học hay một kỹ sư, với một chuyên gia riêng về trí tuệ nhân tạo. Chuyên gia chuyên ngành cung cấp kiến thức cần thiết về chuyên ngành thông qua những cuộc thảo luận tổng quát về các phương pháp giải quyết vấn đề của anh ta, và bằng cách biểu diễn những kỹ năng đó trên một tập hợp các bài toán mẫu được chọn lựa cẩn thận. Chuyên gia TTNT, hay còn gọi là kỹ sư tri thức (knowledge engineer), như người ta vẫn thường gọi là các nhà thiết kế hệ chuyên gia, có trách nhiệm thể hiện tri thức này vào một chương trình mà chương trình đó phải vừa hiệu quả vừa có vẻ thông minh trong các hành vi của nó. Một chương trình như thế vừa hoàn thành xong, cần phải tinh chế kiến thức chuyên môn của nó thông qua một quá trình cung cấp cho nó những bài toán mẫu để giải, để cho chuyên gia chuyên ngành phê bình hành vi của nó và thực hiện bất cứ thay đổi hay cải biến nào cần thiết đối với tri thức của chương trình. Quá trình này lặp đi lặp lại cho đến khi chương trình đạt được mức độ hoàn thiện mong muốn.

Một trong các hệ chuyên gia sớm nhất khai thác tri thức chuyên ngành để giải quyết vấn đề là DENDRAL được phát triển tại Stanford vào cuối những năm 1960 (Lindsay et al.1980). DENDRAL được thiết kế để phỏng đoán cấu trúc của các phân tử hữu cơ từ công thức hoá học của chúng và các thông tin về khối quang phổ có liên quan đến các liên kết hoá học có mặt trong các phân tử. Vì các phân tử hữu cơ thường rất lớn, nên số lượng cấu trúc có khả năng tồn tại đối với những phân tử này thường là khổng lồ. DENDRAL chú ý vào bài toán của không gian tìm kiếm rộng lớn này bằng cách áp dụng tri thức heuristic của các chuyên gia hoá học vào bài toán làm sáng tỏ cấu trúc. Các phương pháp của DENDRAL đã tỏ ra có một sức mạnh đáng kể. Khi thường xuyên tìm thấy cấu trúc đúng trong hàng triệu khả năng khác nhau chỉ sau có vài phép thử. Phương pháp này tỏ ra thành công đến mức người ta đã sử dụng những phiên bản của hệ chuyên gia nói trên trong các phòng thí nghiệm hoá học khắp nơi trên thế giới.

Trong khi DENDRAL là một trong số những chương trình đầu tiên sử dụng tri thức chuyên ngành một cách hiệu quả để đạt được khả năng giải quyết vấn đề cấp chuyên gia, thì MYCIN là hệ chuyên gia đã thiết lập nên phương pháp luận cho các hệ chuyên gia hiện đại (contemporary expert systems) (Buchanan and Shortliff 1984). MYCIN sử dụng tri thức y

Page 10: tong quan ve tri tue nhan tao

Giáo Trình Trí Tuệ Nhân Tạo khoa chuyên gia để chẩn đoán và kê đơn điều trị cho bệnh viêm màng não tuỷ sống và những trường hợp nhiễm trùng vi khuẩn trong máu.

MYCIN, được các nhà nghiên cứu phát triển ở Stanford vào giữa những năm 1970, là một trong những chương trình đầu tiên chú ý đến những bài toán suy luận bằng thông tin không chắc chắn hoặc không đầy đủ. MYCIN cung cấp những giải quyết rõ ràng và logic về quá trình suy luận của nó, sử dụng một cấu trúc kiểm tra thích hợp với lĩnh vực chuyên môn của vấn đề, và nhận biết đặc tính để đánh giá một cách tin cậy hoạt động của nó. Nhiều kỹ thuật xây dựng hệ chuyên gia đang dùng hiện nay đã được người ta phát triển lần đầu trong dự án MYCIN.

Những hệ chuyên gia cổ điển khác bao gồm chương trình PROSPECTOR dùng để tìm ra những nơi có chứa quặng mỏ và xác định loại quặng mỏ, dựa trên thông tin địa lý về một địa điểm nào đó (duda et al. 1979a, 1979b), chương trình INTERNIST dùng để chẩn đoán trong lĩnh vực nội khoa, Dipmeter Advisor dùng để phiên dịch các kết quả của các máy khoan giếng dầu (Smith and Baker 1983) và XCON dùng để định hình các máy tính hệ VAX.XCON được sử dụng từ năm 1981, tất cả các máy VAX và Digital Equipment Corporation bán thời bấy giờ đều được định hình bằng XCON. Vô số những hệ chuyên gia khác ngày nay đang giải quyết những bài toán trong nhiều lĩnh vực khác nhau như y học, giáo dục, kinh doanh, thiết kế và khoa học (Waterman 1986). Một điều thú vị mà chúng ta có thể nhận thấy là hầu hết các hệ chuyên gia được viết cho những lĩnh vực khá chuyên biệt và ở cấp độ chuyên gia. Nói chung những lĩnh vực này đều được nghiên cứu kỹ và chúng có những chiến lược giải quyết vấn đề đã xác định một cách rõ ràng.

Mặc dù còn tồn tại những hạn chế này các hệ chuyên gia vẫn đang chứng minh giá trị của chúng trong nhiều ứng dụng quan trọng.

Câu hỏi :

Nêu thêm một số ưu điểm của hệ chuyên gia trên các phương diện tri thức, xã hội hoặc tài chính ?

III.4 Hiểu và mô hình hoá ngữ nghĩa ngôn ngữ tự nhiên

Một trong những mục tiêu có từ lâu đời của Trí tuệ nhân tạo là tạo ra các chương trình có khả năng hiểu ngôn ngữ của con người. Khả năng hiểu ngôn ngữ tự nhiên không chỉ là một trong những biểu hiện căn bản nhất của trí thông minh con người mà sự tự động hoá nó một cách thành công sẽ gây ra một tác động ngoài sức tưởng tượng đối với năng lục và hiệu quả chính của những chiếc máy tính. Người ta đã bỏ ra nhiều công sức để viết các chương trình có khả năng hiểu ngôn ngữ tự nhiên. Tuy những chương trình này đã có được một số thành công trong những ngữ cảnh hạn chế, nhưng các hệ thống có khả năng sử dụng ngôn ngữ tự nhiên một cách linh hoạt và tổng quát theo cách như con người vẫn còn ở ngoài tầm tay những phương pháp luận hiện nay.

Hiểu ngôn ngữ tự nhiên liên quan đến nhiều thứ hơn nhiều so với chỉ phân tích các câu thành các phần riêng rẽ những nhóm câu của chúng và tìm những từ đó trong từ điển. Khả năng

10 Võ Huỳnh Trâm – Trần Ngân Bình

Page 11: tong quan ve tri tue nhan tao

Chương 9: Học máy

Võ Huỳnh Trâm – Trần Ngân Bình

11

hiểu thực sự tuỳ thuộc vào kiến thức nền tảng rộng lớn về lĩnh vực của bài văn và những thành ngữ dùng trong lĩnh vực đó, cũng như là khả năng ứng dụng những kiến thức tổng quát tuỳ thuộc theo ngữ cảnh để giải quyết những trường hợp bỏ sót hay tối nghĩa, là một đặc điểm bình thường trong lối nói con người.

Ví dụ như chúng ta thử xem xét những khó khăn khi tiến hành một cuộc hội thoại về bóng chày với một người biết tiếng Anh nhưng không biết gì về luật chơi, các đấu thủ, hoặc lịch sử của môn chơi. Liệu người này có thể hiểu được hay không nghĩa của câu: “With none down in the top of the nith anh the go-ahead run at second, the managercalled this relief from the bull pen ?” Tuy từng từ riêng lẻ trong câu này là có thể hiểu được, nhưng câu này vẫn được coi là sai ngữ pháp ngay cả đối với người thông minh nhất trong số những người không am hiểu bóng chày.

Công việc tập hợp và tổ chức kiến thức nền tảng này được tiến hành theo cách mà sao cho cách ấy có thể áp dụng được cho sự lĩnh hội ngôn ngữ, đã hình thành nên vấn đề chủ yếu của việc tự động hoá quá trình hiểu ngôn ngữ tự nhiên. Để đáp ứng yêu cầu này, các nhà nghiên cứu đã phát triển nhiều kỹ thuật dùng để cấu trúc hoá ý nghĩa ngữ nghĩa, các kỹ thuật này được dùng xuyên suốt khoa học Trí tuệ nhân tạo.

Do việc hiểu ngôn ngữ tự nhiên đòi hỏi những khối lượng kiến thức khổng lồ, hầu hết các công trình được người ta thực hiện trong những lĩnh vực vấn đề đã được hiểu rõ và chuyên môn hoá. Một trong những chương trình khai thác sớm nhất phương pháp luận “thế giới qui mô” này là SHRDLU của Winograd, một hệ ngôn ngữ tự nhiên có khả năng “trò chuyện” về hình dáng đơn giản của các khối có nhiều hình dạng và màu sắc khác nhau (winograd 1973). SHRDLU có thể trả lời được những câu hỏi kiểu như “khối màu gì đang nằm trên hình lập phương màu xanh da trời ?” và dự kiến những hành động kiểu như “di chuyển hình chóp màu đỏ lên viên gạch màu xanh lá cây”. Những bài toán loại này, liên quan đến việc mô tả và thao tác những sắp xếp đơn giản của các khối đã xuất hiện và thường xuyên gây ngạc nhiên trong giới nghiên cứu TTNT và được người ta biết đến dưới cái tên là những bài toán “thế giới của khối”.

Mặc cho SHRDLU thành công với việc trò chuyện về sự sắp xếp của các khối, nhưng phương pháp của nó đã không đủ khái quát được để vượt ra khỏi thế giới các khối. Những kỹ thuật biểu diễn được sử dụng trong chương trình này quá đơn giản nên không đủ để tổ chức nắm bắt ngữ nghĩa của nhiều lĩnh vực phong phú và phức tạp hơn một cách có kết quả. Nhiều sự đầu tư nghiên cứu về hiểu ngôn ngữ tự nhiên trong thời gian gần đây được người ta dành hết cho việc tìm ra những hình thức biểu diễn, mà về cơ bản đủ dùng trong một phạm vi rộng lớn các ứng dụng mà những ứng dụng này tự bản thân chúng còn chưa thích nghi tốt với cấu trúc đặc thù của lĩnh vực đó. Người ta khảo sát một số lượng những kỹ thuật khác nhau (hầu hết đều là những mở rộng hay cải tiến của kỹ thuật mạng ngữ nghĩa) cho mục đích này và dùng chúng vào việc phát triển những chương trình có khả năng hiểu ngôn ngữ tự nhiên trong những lĩnh vực tri thức cấp bách nhưng lý thú. Sau cùng, trong nghiên cứu gần đây (grosz 1997, marcus 1980), các mô hình và cách tiếp cận stochastic, mô tả cách các tập hợp từ “cùng xuất hiện” trong các môi trường ngôn ngữ, đã được dùng để khắc hoạ nội dung ngữ nghĩa của câu. Tuy nhiên, hiểu ngôn ngữ tự nhiên một cách tổng quát là vấn đề vẫn còn vượt quá giới hạn hiện nay của chúng ta.

Câu hỏi :

Page 12: tong quan ve tri tue nhan tao

Giáo Trình Trí Tuệ Nhân Tạo

Trình bày một số ứng dụng cụ thể mà bạn biết cho việc xử lý ngôn ngữ tự nhiên đang áp dụng vào các lĩnh vực cuộc sống hiện nay ?

III.5 Mô hình hoá hoạt động của con người

Mặc dù khá nhiều vấn đề đã nói ở trên dùng trí tuệ con người làm điểm tựa tham khảo để xem xét trí tuệ nhân tạo, thực tế đã không diễn biến theo cách mà những chương trình cần phải lấy sự tổ chức của trí óc con người làm kiểu mẫu cho chúng. Thực ra nhiều chương trình TTNT được thiết kế để giải một số bài toán cần thiết mà không cần chú ý đến tính tương tự của chúng so với kiến trúc trí óc con người. Ngay cả các hệ chuyên gia, trong khi nhận được nhiều tri thức từ các chuyên gia con người, cũng không thực sự cố gắng bắt chước những quá trình trí tuệ bên trong của con người. Nếu như sự hoạt động chỉ là những đặc tính mà theo đó một hệ thống sẽ được đánh giá, thì có thể là không có mấy lý do để mô phỏng các phương pháp giải quyết vấn đề của con người. Trong thực tế, những chương trình sử dụng các phương pháp không theo kiểu con người để giải quyết các bài toán thường thành công hơn những chương trình theo kiểu con người. Tuy nhiên, mô hình của những hệ thống rõ ràng bắt chước một số khía cạnh của cách giải quyết vấn đề theo kiểu con người vẫn là một mảnh đất màu mỡ trong nghiên cứu cho cả hai ngành khoa học trí tuệ nhân tạo và tâm lý học.

Mô hình hóa hoạt động con người, ngoài việc cung cấp cho TTNT nhiều phương pháp luận cơ bản, đã chứng tỏ được rằng nó là một dụng cụ mạnh để công thức hóa và thử nghiệm những lý thuyết về sự nhận thức của con người. Những phương pháp luận giải quyết vấn đề được các nhà khoa học máy tính phát triển đã đem đến cho các nhà tâm lý học một sự ẩn dụ mới để khảo sát trí tuệ con người. Hơn cả việc mở rộng được các lý thuyết về sự nhận thức trong thứ ngôn ngữ không rõ ràng sử dụng vào đầu thời kỳ nghiên cứu hay là từ bỏ được bài toán mô tả toàn bộ những hoạt động bên trong của trí óc con người (như đề nghị của các nhà hành vi học), nhiều nhà tâm lý học đã đưa ngôn ngữ và lý thuyết khoa học máy tính vào để công thức hóa các mô hình trí tuệ con người. Những kỹ thuật này không chỉ cung cấp một vốn từ vựng cho việc mô tả trí tuệ con người mà sự thể hiện trên máy tính những lý thuyết này đã tạo cho các nhà tâm lý học một cơ hội để thử nghiệm, phê bình và cải tiến một cách thực nghiệm những ý tưởng của họ (luger 1994).

III.6 Lập kế hoạch và robotics

Lập kế hoạch (planning) là một khía cạnh quan trọng trong những cố gắng nhằm chế tạo ra các robot có thể thực hiện được nhiệm vụ của chúng với một trình độ nhất định và khả năng linh hoạt và phản ứng với thế giới bên ngoài. Nói một cách khác ngắn gọn, việc lập kế hoạch giả định rằng robot có khả năng thực hiện những hành động sơ cấp (atomic action) nhất định. Nó cố gắng tìm ra một chuỗi các hành động cho phép hoàn thành một công tác ở cấp độ cao hơn, chẳng hạn như đi qua một căn phòng chứa đầy những chướng ngại vật.

Có nhiều những lý do khiến cho việc lập kế hoạch trở thành một bài toán khó khăn, ngoài lý do không đáng kể nhất là kích thước quá lớn của không gian những chuỗi bước đi có thể tồn tại. Ngay cả một máy tính cực kỳ đơn giản cũng có khả năng tạo ra một số lượng khổng lồ những chuỗi bước đi có thể. Ví dụ, chúng ta hãy tưởng tượng rằng, một robot có khả năng di

12 Võ Huỳnh Trâm – Trần Ngân Bình

Page 13: tong quan ve tri tue nhan tao

Chương 9: Học máy

Võ Huỳnh Trâm – Trần Ngân Bình

13

chuyển về phía trước, phía sau, bên phải, bên trái và cần xem xét có bao nhiêu cách khác nhau mà robot đó có thể dùng để di chuyển quanh căn phòng đó và robot phải lựa chọn một đường đi quanh chúng theo một phương pháp nào đó có hiệu quả. Viết một chương trình có khả năng tìm ra đường đi tốt nhất một cách thông minh với điều kiện như vậy, mà không bị chôn vùi bởi khối lượng khổng lồ các khả năng dự kiến, đòi hỏi phải có những kỹ thuật phức tạp để biểu diễn tri thức về không gian và kiểm soát việc tìm kiếm trong môi trường cho phép.

Một phương pháp mà con người vẫn áp dụng để lập kế hoạch là phân rã vấn đề từng bước (hierarchical problem decoposition). Nếu bạn đang lập kế hoạch cho chuyến du lịch đến Luân Đôn, thì nói chung những vấn đề như sắp xếp chuyến bay, đến sân bay, liên hệ với hãng hàng không, vận chuyển đường bộ tại Luân Đôn sẽ được bạn xem xét một cách riêng lẻ, cho dù tất cả chúng đều là bộ phận của một kế hoạch toàn thể lớn hơn. Từng vấn đề này có thể được tiếp tục phân rã thành những vấn đề con (subproblem) nhỏ hơn như tìm một bản đồ thành phố, xem xét hệ thống giao thông, và tìm một nơi ăn ở phù hợp điều kiện về tài chính. Cách làm này không những làm giảm bớt một cách hiệu quả không gian tìm kiếm mà nó còn cho phép chúng ta tiết kiệm được những kế hoạch con có thể dùng trong tương lai.

Trong khi con người lập kế hoạch một cách chẳng mấy khó khăn, thì việc tạo ra một chương trình máy tính có thể làm được công việc như vậy là một thách thức ghê gớm. Một công tác có vẻ đơn giản là phá vỡ một vấn đề lớn thành nhiều vấn đề con liên quan thực sự cần đến những heuristic phức tạp và kiến thức bao quát về lĩnh vực đang lập kế hoạch. Quyết định xem cần giữ lại những kế hoạch con nào và tổng quát hóa chúng như thế nào cho sự sử dụng trong tương lai là một vấn đề phức tạp tương đương.

Một robot thực hiện một dãy các hành động một cách mù quáng mà không biết phản ứng lại với những thay đổi trong môi trường của nó hoặc không có khả năng phát hiện và sửa chữa trong chính kế hoạch của nó khó có thể được người ta coi là thông minh. Thông thường, một robot sẽ phải làm thành công thức một kế hoạch dựa trên thông tin không đầy đủ và sửa chữa hành vi của nó khi thi hành kế hoạch. Robot có thể không có những giác quan thích hợp để định vị tất cả những chướng ngại vật trên con đường đi đã vạch ra. Một robot như vậy phải bắt đầu di chuyển qua căn phòng dựa vào những gì mà nó “nhận thức” được và điều chỉnh đường đi của nó khi phát hiện ra những chướng ngại vật khác. Thiết lập cho các kế hoạch cho phép có thể phản ứng lại với những điều kiện của môi trường là một nhiệm vụ chủ yếu khác trong lập kế hoạch.

Nói chung, thiết kế robot là một trong những lĩnh vực nghiên cứu của TTNT đã mang lại nhiều hiểu biết sâu sắc hỗ trợ cho phương pháp giải quyết vấn đề theo kiểu hướng thành viên (agent - oriented). Bị thất bại bởi những phức tạp trong việc bảo đảm độ lớn của không gian biểu diễn cũng như bởi mô hình của các thuật toán tìm kiếm dùng cho việc lập kế hoạch theo kiểu truyền thống, các ngành nghiên cứu, gồm cả agre và chapman (1987) và brooks (1991a), đã phát biểu lại vấn đề lớn hơn này dựa trên các thuật ngữ về sự tương tác lẫn nhau giữa nhiều thành viên (agent) theo kiểu bán tự quản. Mỗi thành viên chịu trách nhiệm về phần đóng góp của chính nó trong nhiệm vụ của bài toán và thông qua sự phối hợp giữa chúng lời giải tổng quát sẽ hiện ra.

Page 14: tong quan ve tri tue nhan tao

Giáo Trình Trí Tuệ Nhân Tạo III.7 Các ngôn ngữ và môi trường dùng cho TTNT

Nghiên cứu Trí tuệ nhân tạo đã tạo ra một số những sản phẩm phụ, đó là những tiến bộ trong các ngôn ngữ lập trình và các môi trường phát triển phần mềm. Vì nhiều lý do, bao gồm cả qui mô tổng thể của hầu hết các chương trình TTNT, khuynh hướng phát sinh ra các không gian khổng lồ của các thuật toán tìm kiếm, và những khó khăn trong việc tiên đoán các hành vi của các chương trình điều khiển bằng heuristics, các nhà lập trình TTNT đã bị thúc ép phải xây dựng nên một tập hợp các phương pháp lập trình.

Các môi trường lập trình bao gồm cả các kỹ thuật cấu tạo tri thức (knowledge – structuring) như lập trình hướng đối tượng (object-oriented programming) và các cơ cấu tổ chức hệ chuyên gia. Các ngôn ngữ cấp cao như Lisp và Prolog, là các ngôn ngữ tích cực hỗ trợ kiểu phát triển theo module, khiến cho việc quản lý tính đồ sộ và phức tạp của chương trình dễ dàng hơn. Các gói chương trình lần tìm cho phép người lập trình tạo dựng lại quá trình thực thi của một thuật toán phức tạp và cho phép tháo gỡ những phức tạp khi tìm kiếm bằng điều khiển của heuristics. Không có công cụ kỹ thuật đó, khó mà tin được rằng người ta có thể xây dựng nên những hệ thống TTNT gây chú ý như vậy.

Kỹ thuật này hiện nay là những công cụ chuẩn dùng cho công nghệ phần mềm, và tương đối có quan hệ với hạt nhân lý thuyết của TTNT. Những kỹ thuật khác như là lập trình hướng đối tượng, được quan tâm đáng kể cả trên lý thuyết và thực tiễn. Các ngôn ngữ phát triển cho việc lập trình trí tuệ nhân tạo gắn bó mật thiết với cấu trúc lý thuyết của lĩnh vực đó.

III.8 Máy học

Tuy thành công trong vai trò những máy giải quyết vấn đề, học vẫn còn là một sự nan giải đối với các chương trình TTNT. Khuyết điểm này dường như rất nghiêm trọng, đặc biệt là khi khả năng học là một trong những thành phần quan trọng nhất làm nên hành vi thông minh. Một hệ chuyên gia có thể thực hiện những tính toán lớn và rất tốn kém nhằm giải quyết một bài toán. Tuy thế không giống như con người, nếu đưa cho nó cùng bài toán ấy hoặc một bài toán tương tự lần thứ hai, nó sẽ không nhớ lời giải lần trước. Nó thực hiện lại chuỗi tính toán đó lần nữa. Điều này đúng cho cả lần thứ hai, thứ ba, thứ tư, và bất cứ khi nào nó giải quyết bài toán đó – hầu như không thể gọi đó là hành vi của một máy giải quyết vấn đề thông minh.

Hầu hết các hệ chuyên gia đều bị cản trở bởi tính cứng nhắc trong các chiến lược giải quyết vấn đề của chúng và sự khó khăn khi phải thay đổi khối lượng lớn mã chương trình. Giải pháp dễ thấy đối với những khó khăn này là hoặc để cho các chương trình học tập trên chính kinh nghiệm, sự tương tự, và những ví dụ của chúng, hoặc là “nói” cho chúng biết phải làm gì.

Tuy rằng học là một lĩnh vực khó khăn trong nghiên cứu, một vài chương trình được viết đã đề xuất rằng đây không phải là một mục tiêu không thể đạt được. Có thể một chương trình như thế gây chú ý nhất là AM - Automated Mathematician - được thiết kế để khám phá các quy luật toán học (lenat 1977, 1982). Ban đầu người ta đưa cho AM các khái niệm và tiên đề của lý thuyết tập hợp, sau đó nó đã tìm ra những khái niệm toán học quan trọng như là lực lượng (cardinality) và số học số nguyên, và nhiều kết quả khác của lý thuyết số. AM đã phỏng đoán các lý thuyết mới bằng cách cập nhật cơ sở tri thức hiện hành của nó, và sử dụng

14 Võ Huỳnh Trâm – Trần Ngân Bình

Page 15: tong quan ve tri tue nhan tao

Chương 9: Học máy

Võ Huỳnh Trâm – Trần Ngân Bình

15

các heuristic để theo đuổi “khả năng đáng quan tâm” nhất trong hàng loạt các lựa chọn có thể.

Một nghiên cứu khác có ảnh hưởng tới dư luận của winston về sự quy nạp các khái niệm cấu trúc, chẳng hạn như “hình cung” từ một tập hợp các ví dụ trong trò chơi thế giới của khối (winston 1975a). Thuật toán ID3 đã tỏ ra thành công trong việc học các mẫu tổng quát từ các ví dụ (quinlan 1986a). Menta-dendral học các luật để phiên dịch dữ liệu quang phổ khối trong hóa học hữu cơ từ các mẫu dữ liệu về các hợp chất của cấu trúc đã biết. Teiresias, một đại diện khá thông minh của các hệ chuyên gia có thể chuyển đổi lời chỉ đạo cấp cao thành các luật mới cho cơ sở dữ liệu của nó (davis 1982). Hacke nghĩ ra các kế hoạch để thực hiện các thao tác trong trò thế giới các khối thông qua một quá trình lặp lại nhiều lần việc đặt ra một kế hoạch, thử nghiệm nó, và hiệu chỉnh bất cứ lỗ hỏng nào phát hiện ra trong kế hoạch dự tuyển (sussman 1975). Những nghiên cứu trong việc học trên cơ sở giải thích đã cho thấy tính hiệu quả của tri thức ưu tiên trong quá trình học (mitchell et al. 1986, dejong and mooney 1986).

Sự thành công của các chương trình học máy thuyết phục rằng có thể tồn tại một tập hợp các nguyên tắc học tổng quát cho phép xây dựng nên các chương trình có khả năng học tập trong nhiều lĩnh vực thực tế.

III.9 Xử lý phân tán song song và tính toán kiểu nảy sinh

Hầu hết các kỹ thuật nói đến trong tài liệu này đều sử dụng tri thức được biểu diễn rõ ràng và các thuật toán tìm kiếm được thiết kế một cách cẩn thận để cài đặt trí tuệ. Một cách tiếp cận rất khác là tìm cách xây dựng các chương trình thông minh bằng cách sử dụng các mô hình tương tự như cấu trúc nơ-ron (neuron) của bộ não con người.

Một sơ đồ neuron đơn giản gồm có một thân tế bào có rất nhiều những chỗ nhô ra theo nhánh, gọi là các tổ chức cây (dendrite), và một nhánh đơn gọi là trục (axon). Các tổ chức cây nhận tín hiệu từ các neuron khác. Khi những xung lực kết hợp này vượt quá một ngưỡng nhất định nào đó, thì neuron phát động và một xung lực, hay còn gọi là “cụm” (spike), chạy xuống trục. Các nhánh ở cuối trục hình thành nên các khớp thần kinh (synapse) với những tổ chức cây của các neuron; các khớp thần kinh có thể thuộc loại kích thích (excitatory) hay ngăn chặn (inhibitory). Một khớp thần kinh kích thích sẽ cộng thêm vào tổng số tín hiệu đi đến neuron; còn khớp thần kinh ngăn chặn thì trừ bớt đi tổng số này.

Mô tả một neuron như vậy là quá sức đơn giản, nhưng nó thâu tóm tất cả những đặc trưng liên quan đến các mô hình tính toán neuron. Đặc biệt mỗi đơn vị tính toán tính toán một số chức năng đầu vào của nó rồi chuyển kết quả đến các đơn vị liên hệ trong mạng. Thay vì sử dụng các ký hiệu và phép toán rõ ràng, tri thức của các hệ này nảy sinh ra khỏi toàn bộ mạng các kết nối neuron và các giá trị ngưỡng.

Vì nhiều lý do, cấu trúc neuron hiện đang hết sức hấp dẫn để dùng làm cơ chế cài đặt trí tuệ. Các chương trình TTNT truyền thống có khuynh hướng dễ gãy vỡ và nhạy cảm quá đáng khi phải đương đầu với sự nhiễu loạn: thay vì giảm giá trị một cách từ từ, những chương trình như vậy thường thành công hoàn toàn hoặc thất bại hoàn toàn. Trí tuệ con người linh hoạt hơn nhiều; chúng ta có thể tiếp nhận được tốt đầu vào nhiễu loạn, chẳng hạn như nhận ra một khuôn mặt trong một căn phòng tối từ góc nhìn hẹp hay theo dõi duy nhất một cuộc đối thoại trong bữa tiệc ồn ào. Ngay cả khi không thể giải quyết được một số vấn đề, chúng ta

Page 16: tong quan ve tri tue nhan tao

Giáo Trình Trí Tuệ Nhân Tạo nói chung vẫn có thể đưa ra một sự phỏng đoán có lý và coi đó như lời giải của bài toán. Do các cấu trúc neuron thâu tóm tri thức vào trong một số lượng lớn các đơn vị được nghiền thật nhỏ, nên chúng tỏ ra có triển vọng hơn trong việc đối sánh một cách toàn phần các dữ liệu nhiễu loạn và không đầy đủ.

Cấu trúc neuron cũng vững chắc hơn vì tri thức phân bố khá đồng đều xung quanh mạng. Kinh nghiệm của những người đã bị mất một phần não bộ do bệnh tật hay tai nạn đã cho thấy rằng họ không bị mất các vùng nhớ riêng biệt, mà đúng hơn là các quá trình trí não của họ phải chịu đựng nhiều sự giảm sút tổng thể.

IV MỘT SỐ TỔNG KẾT VỀ TTNT

1. Sử dụng máy tính vào suy luận trên các ký hiệu, nhận dạng, học, và một số hình thức suy luận khác.

2. Tập trung vào một số vấn đề không thích hợp với các lời giải mang tính thuật toán. Điều này dựa trên cơ sở tin tưởng vào phép tìm kiếm heuristic như một kỹ thuật giải quyết vấn đề TTNT.

3. Sự quan tâm đến các kỹ thuật giải quyết vấn đề bằng những thông tin không chính xác, thiếu hụt hoặc được định nghĩa một cách nghèo nàn, và sự sử dụng các hình thức biểu diễn cho phép người lập trình bù đắp được những thiếu sót này.

4. Suy luận những đặc trưng định tính quan trọng của tình huống.

5. Một cố gắng để giải quyết những vướng mắc về ý nghĩa, ngữ nghĩa cũng như là hình thức cú pháp.

6. Những câu trả lời không chính xác cũng như tối ưu, nhưng trong một chừng mực nào đó được coi là “đủ”. Đây là kết quả của sự tin cậy cốt yếu vào các phương pháp giải quyết vấn đề theo kiểu heuristic trong những tình huống mà kết quả tối ưu hoặc chính xác là quá tốn kém hoặc không thể thực hiện được.

Sử dụng những khối lượng lớn tri thức chuyên ngành trong giải quyết vấn đề. Đây là cơ sở cho các hệ chuyên gia.

7.

8. Sử dụng các tri thức cấp meta (meta-level knowledge) để tăng thêm sự tinh vi cho việc kiểm soát các chiến lược giải quyết vấn đề. Tuy rằng đây là một vấn đề rất khó khăn, được chú ý trong một số khá ít các hệ thống gần đây, nó đã nổi bật lên như một lĩnh vực nghiên cứu chủ yếu.

16 Võ Huỳnh Trâm – Trần Ngân Bình

Page 17: tong quan ve tri tue nhan tao

Chương 9: Học máy

Võ Huỳnh Trâm – Trần Ngân Bình

17

TỔNG KẾT CHƯƠNG I: Phần nội dung chương I đã nêu lên vài nét về lịch sử hình thành và phát triển của khoa học TTNT, một vài định nghĩa mang tính khái quát về một lĩnh vực khoa học đầy thử thách và tiềm năng là TTNT. Những lĩnh vực ứng dụng TTNT từ rất lâu đời và vẫn đang phát triển cho đến hiện nay. Các khái niệm như lý luận, quy luật, biểu diễn, … hiện nay vẫn đang được nghiên cứu một cách cẩn thận bởi vì những nhà khoa học máy tính đòi hỏi phải hiểu chúng theo kiểu thuật toán. Trong khi đó, hoàn cảnh chính trị, kinh tế và đạo đức trên toàn cầu hiện nay buộc chúng ta phải đương đầu với trách nhiệm về hậu quả của những sáng chế hay phát minh khoa học. Sự tác động qua lại giữa những ứng dụng và những khát vọng mang tính nhân đạo hơn đối với TTNT tiếp tục đặt ra những vấn đề phong phú và đầy thách thức. Những chương tiếp theo sẽ đi sâu hơn vào những kỹ thuật được dùng trong TTNT mà chương đầu tiên này đã đề cập đến.

V BÀI TẬP CHƯƠNG I

I.1. Tự sáng tạo để trình bày và chứng minh một định nghĩa về Trí tuệ nhân tạo theo như bạn hiểu.

I.2. Thảo luận về tiêu chuẩn mà Turing nêu ra trong “Trắc nghiệm Turing” nhằm quy định cho một phần mềm máy tính được coi là “thông minh”? Nêu quan điểm của riêng bạn về tiêu chuẩn đối với một phần mềm máy tính “thông minh”?

I.3. Cho biết một vài lĩnh vực bài toán mà bạn thấy có thể chứng minh được rằng cần phải thiết kế một giải pháp hệ chuyên gia ? Nêu các hiệu quả có thể đạt được và những khó khăn có thể gặp phải ?

I.4. Theo ý kiến riêng của bạn, hãy trình bày một số hiệu quả có khả năng tác động tiêu cực đối với xã hội của các kỹ thuật Trí tuệ nhân tạo?

Page 18: tong quan ve tri tue nhan tao

Giáo Trình Trí Tuệ Nhân Tạo

PHẦN I .....................................................................................................................................1 GIỚI THIỆU TỔNG QUAN VỀ ..............................................................................................1 TRÍ TUỆ NHÂN TẠO..............................................................................................................1 Chương I ...................................................................................................................................2 GIỚI THIỆU VỀ TRÍ TUỆ NHÂN TẠO ................................................................................2

I. LỊCH SỬ HÌNH THÀNH VÀ PHÁT TRIỂN CỦA TRÍ TUỆ NHÂN TẠO..............3 II. ĐỊNH NGHĨA TRÍ TUỆ NHÂN TẠO........................................................................4

II.1. Trí tuệ nhân tạo ...................................................................................................4 II.2. Trắc nghiệm Turing.............................................................................................5

III. KHÁI QUÁT CÁC LĨNH VỰC ỨNG DỤNG CỦA TTNT...................................7 III.1. Trò chơi ...............................................................................................................7 III.2. Suy luận và chứng minh định lý tự động ............................................................8 III.3. Các hệ chuyên gia ...............................................................................................9 III.4. Hiểu và mô hình hoá ngữ nghĩa ngôn ngữ tự nhiên ..........................................10 III.5. Mô hình hoá hoạt động của con người..............................................................12 III.6. Lập kế hoạch và robotics...................................................................................12 III.7. Các ngôn ngữ và môi trường dùng cho TTNT..................................................14 III.8. Máy học.............................................................................................................14 III.9. Xử lý phân tán song song và tính toán kiểu nảy sinh........................................15

IV. MỘT SỐ TỔNG KẾT VỀ TTNT..........................................................................16 BÀI TẬP CHƯƠNG I..............................................................................................17

18 Võ Huỳnh Trâm – Trần Ngân Bình

Page 19: tong quan ve tri tue nhan tao

____________________________________________________Chương 1 Những khái niệm cơ bản I - 1

_____________________________________________________________________________________________________

Nguyễn Trung Lập Truyền dữ liệu

CHƯƠNG 1

NHỮNG KHÁI NIỆM CƠ BẢN

VÀI DÒNG LỊCH SỬ NHỮNG KHÁI NIỆM CHUNG

HỆ THỐNG TRUYỀN TƯƠNG TỰ HỆ THỐNG TRUYỀN SỐ

HỆ THỐNG MỞ VÀ MÔ HÌNH OSI

___________________________________________________________________________

1.1 VÀI DÒNG LỊCH SỬ

Thông tin dữ liệu là phương pháp truyền thông dùng mã nhị phân thay cho tín hiệu. Có thể coi lịch sử thông tin dữ liệu bắt đầu vào năm 1837 với sự phát minh điện tín của Samuel F. B. Morse. Đó là hệ thống truyền các xung điện biểu diễn cho các dấu chấm, vạch (tương đương với các số nhị phân 1, 0) trên các đường dây đồng nhờ các máy cơ điện. Các tổ hợp khác nhau của các mã này thay cho các chữ, số, dấu.... được gọi là mã Morse. Bản điện tín đầu tiên được phát hiện ở Anh do Charles Wheatstone và William Cooke thực hiện nhưng hệ thống của họ phải dùng 6 đường dây. Năm 1840, Morse đăng ký sáng kiến về điện tín ở Mỹ và đến năm 1844 thì đường dây điện tín đầu tiên được thiết lập giữa Baltimore và Washington D.C.. Năm 1849, bản tin đầu tiên được in nhưng với vận tốc rất chậm, cho đến năm 1860 vận tốc in đạt được là 15 bps. Công ty Điện tín Miền Tây (Western Union Telegraph Company) được thiết lập năm 1850 ở Rochester, New York cho phép thực hiện việc trao đổi thông tin giữa các cá nhân. Năm 1874, Emile Baudot thiết kế được máy phát dùng phương pháp đa hợp, có thể truyền cùng lúc 6 bản tin trên cùng một đường dây. Năm 1876, Alexander Graham Bell đã đưa điện tín lên một bước phát triển mới: sự ra đời của điện thoại. Thay vì chuyển bản tin thành các chuỗi mã Morse, Bell đã cho thấy rằng người ta có thể truyền thẳng tín hiệu điện đặc trưng cho tiếng nói trên các đường dây. Những hệ thống điện thoại đầu tiên cần các cặp đường dây khác nhau cho hai người muốn trao đổi thông tin với nhau, một người phải nối điện thoại của mình vào đúng đường dây nối với điện thoại của người mà mình muốn liên lạc. Dần dần sự kết nối được thực hiện bởi các tổng đài cơ khí rồi tổng đài điện tử, số . . . . Người ta không còn biết hệ thống hoạt động thế nào, chỉ cần quay (bây giờ thì bấm) số và được kết nối. Năm 1899, Marconi thành công trong việc phát tin bằng vô tuyến. Có thể nói điện tín là phương tiện duy nhất được dùng để phát tin đi xa cho đến năm 1920, lúc đài phát thanh thương mại đầu tiên ra đời. Năm 1945, đánh dấu một sự kiện quan trọng đó là việc phát minh ra chiếc máy tính điện tử đầu tiên: chiếc ENIAC (Electronic Numerical Integrator And Calculator). Được thiết kế để tính đạn đạo phục vụ cho Thế chiến thứ II, ENIAC là thiết bị đầu tiên có thể xử lý thông tin dưới dạng điện. Mặc dù ENIAC không giữ một vai trò trực tiếp trong việc thông tin dữ liệu nhưng nó cho thấy rằng các tính toán và quyết định chính xác có thể thực hiện được nhờ tín hiệu điện, một khả năng quan trọng trong hệ thống thông tin hiện nay.

Comment [c1]: Page: 1

Page 20: tong quan ve tri tue nhan tao

____________________________________________________Chương 1 Những khái niệm cơ bản I - 2

_____________________________________________________________________________________________________

Nguyễn Trung Lập Truyền dữ liệu

Sau đó Đại học Harvard liên kết với công ty IBM (International Business Machines Corporation) đã cho ra đời những chiếc máy tính đa dụng, điều khiển tự động đầu tiên.

Đến năm 1951 thì số lượng các chủng loại máy tính gia tăng rất nhiều (người ta đánh giá sự gia tăng này có tốc độ tỉ lệ với hàm mũ) và nhu cầu trao đổi thông tin trong mọi người cũng gia tăng với mức độ tương tự.

Nhưng cho đến năm 1968 công ty AT & T xem như độc quyền: chỉ các thiết bị do chính công ty sản xuất mới được nối vào hệ thống thông tin quốc gia. Vào thời điểm này, Hiệp hội thông tin liên bang (FCC : Federal Communication Commission) của Mỹ, thông qua Tòa án tối cao đã ký quyết định Carterfone, cho phép các thiết bị của các nhà chế tạo khác được nối vào hệ thống, quyết định này đã tác động thật sự đến sự ra đời của một kỹ nghệ mới: kỹ nghệ thông tin dữ liệu. Theo thời gian sự phát triển của kỹ nghệ này đã đưa đến những hệ thống thông tin dữ liệu số được thực hiện ở những khoảng cách đáng kể. Và bây giờ, với sự phát triển vũ bảo của máy tính , công nghệ chế tạo IC đa chức năng, khả năng to lớn của cáp quang và hệ thống vệ tinh địa tĩnh, thông tin dữ liệu số đã trở thành phổ biến và có một sức mạnh đến kỳ lạ, nó có thể thỏa mãn nhiều yêu cầu về thông tin liên lạc của mọi người trên toàn cầu trong một khoảng thời gian rất ngắn. Chương này đề cập đến một số khái niệm chung và tìm hiểu một cách sơ lược các hệ thống truyền tương tự, hệ thống truyền số cùng một số tính chất cơ bản của chúng.

1.2 NHỮNG KHÁI NIỆM CHUNG

1.2.1 Tin tức, Dữ liệu và Tín hiệu (Information, Data & Signal)

Dữ liệu: bao gồm các sự kiện, khái niệm hay các chỉ thị được diễn tả dưới một hình thức thích hợp cho việc thông tin, thông dịch hay xử lý bởi con người hay máy móc.

Tin tức: Ý nghĩa mà con người qui cho dữ liệu theo các qui ước cụ thể.

Tin tức có thể biểu thị bởi tiếng nói, hình ảnh, các văn bản, tập hợp các con số, các ký hiệu, thông qua nó con người hiểu nhau . . ..

Trong hệ thống truyền thông, thường người ta không phân biệt dữ liệu và tin tức. Tín hiệu: là tin tức, dữ liệu đã được chuyển đổi, xử lý (bởi các bộ phận mã hóa và

/hoặc chuyển đổi) cho phù hợp với môi trường truyền thông.

Có hai loại tín hiệu: tín hiệu tương tự và tín hiệu số.

- Tín hiệu tương tự: có dạng sóng như (H.1.1a), đó là các đại lượng điện có bất cứ giá

trị nào trong một khoảng thời gian xác định. Tín hiệu tương tự quen thuộc có dạng hình sin. Một tín hiệu tương tự có thể được số hóa để trở thành tín hiệu số.

- Tín hiệu số: có dạng sóng như (H.1.1b), đó là tín hiệu mà biên độ chỉ có một trong hai giá trị duy nhất, tương ứng với hai trạng thái logic đặc trưng bởi hai số 0 và 1 trong hệ nhị phân. Hệ thống truyền tín hiệu này là hệ thống truyền nhị phân. Trong các hệ thống truyền số, ta còn gặp tín hiệu có dạng như (H.1.1c). Đây chưa phải là tín hiệu số nhưng nó cũng chỉ có các giá trị nhất định mà người ta có thể số hóa bằng các số nhị phân nhiều bit hơn. Trong trường hợp của (H 1.1c) tín hiệu có thể có một trong bốn giá trị 0, 1, 2, 3; để có thể mã hóa tín hiệu này cần các số nhị phân hai bit, hệ thống truyền tín hiệu này là hệ thống truyền nhị phân hai bit.

Page 21: tong quan ve tri tue nhan tao

____________________________________________________Chương 1 Những khái niệm cơ bản I - 3

(a) (b) (c)

(H 1.1) Tín hiệu trên đường truyền, gọi là sóng mang, có thể là loại tương tự hay số và được dùng để truyền dữ liệu tương tự hay dữ liệu số. Thí dụ: Tiếng nói là loại dữ liệu tương tự và được truyền trên hệ thống điện thoại bởi tín hiệu tương tự (H 1.2a); những dữ liệu có nguồn gốc là số, thí dụ như mã ASCII của các ký tự được biểu diễn dưới dạng những xung điện nhị phân được truyền bởi tín hiệu tương tự nhờ MODEM (Modulator/Demodulator) (H 1.2b). Tín hiệu tương tự sẽ qua mạch CODEC (Coder/Decoder) để được số hóa (H 1.2c) và dữ liệu số có thể được truyền thẳng qua hệ thống số (H 1.2d).

Nguồn Tín hiệu truyền ĐIỆN THOẠI Tiếng nói ⎯→ ⎯→ Tín hiệu tương tự

(a)

MODEM Tín hiệu số ⎯→ ⎯→ Tín hiệu tương tự (b)

CODEC Tín hiệu tương tự ⎯→ ⎯→ Tín hiệu số

(c)

H. T. SỐ Dữ liệu số ⎯→ ⎯→ Tín hiệu số (d)

(H 1.2)

- Nhiễu: là các tín hiệu ngoài ý muốn, xuất hiện trong hệ thống hoặc trên đường truyền. Dưới ảnh hưởng của nhiễu, tín hiệu tương tự bị biến dạng và tín hiệu số có thể bị lỗi. - Cường độ tín hiệu: Cường độ của tín hiệu thường được biểu diễn bởi công suất hoặc điện áp trên tổng trở tải của nó. Ta phải nói tín hiệu có công suất 0,133mW hoặc có biên độ 100mV trên tổng trở 75Ω . - Tỉ số cường độ hai tín hiệu: dùng mô tả độ lợi hoặc độ suy giảm của hệ thống, thường được biểu diễn bằng đơn vị Decibel (dB) xác định theo thang logarithm:

_____________________________________________________________________________________________________

Nguyễn Trung Lập Truyền dữ liệu

Tỉ số tín hiệu = 10log 2P1P

dB

Sự tiện lợi của đơn vị dB là người ta có thể xác định độ lợi (hay độ suy giảm) của một hệ thống gồm nhiều tầng nối chuỗi (cascade) bằng cách cộng các độ lợi của các tầng với nhau.

Page 22: tong quan ve tri tue nhan tao

____________________________________________________Chương 1 Những khái niệm cơ bản I - 4

Người ta thường biểu thị công suất tuyệt đối của một tín hiệu bằng cách so sánh với một tín hiệu chuẩn có công suất 1W :

Công suất tín hiệu = 10log

___________________________________________________ _____

Nguyễn Trung Lập Truyền dữ liệu _____________________________________________

1WP dB

Ngoài ra, người ta còn dùng đơn vị dBm để xác định cường độ tín hiệu so với tín hiệu chuẩn có công suất 1mW

Công suất tín hiệu = 10log 1mW

P dBm Một tín hiệu có công suất 1W tương đương với 0 dB và 30dBm. Thí dụ : Tín hiệu có biên độ 100mV ở 75Ω tương đương với 0,133 mW, tính theo dBm là: 10log(0,133/1mW) = - 8,76 dBm. Dấu trừ cho biết mức tín hiệu là 8,76 dBm dưới 1mW. Lưu ý, trong chuyển đổi đơn vị phải để ý đến tổng trở tải của tín hiệu.

Biểu thức P = ( V2/R ) có thể được dùng để tính điện áp hiệu dụng hoặc tỉ số điện áp. Trong các hệ thống điện thoại tổng trở tải thường dùng là 600Ω. Thí dụ: Tín hiệu 100mV trên tải 75Ω tương đương với 282mV, nếu tải là 600Ω.

Thật vậy, ở 600Ω, điện áp của tín hiệu xác định bởi : V2 = P.R = 0,133.10-3.600 = 0,079 V = 0,079 = 0,282 V = 282 mV Nếu các tín hiệu có chung tổng trở tải thì :

Tỉ số tín hiệu = 20log 1

2

VV dB

- Tỉ số tín hiệu nhiễu SNR (Signal to Noise Ratio) Để đánh giá chất lượng của tín hiệu và cũng là chất lượng của hệ thống truyền tín hiệu đó người ta dùng tỉ số tín hiệu trên nhiễu SNR. Đây là tỉ số công suất tín hiệu có ích trên công suất tín hiệu nhiễu, thường tính bằng dB (hoặc dBm). Nếu tín hiệu 2 dBm có mức nhiễu là -20 dBm, thì tỉ số SNR là 22 dBm. Nói cách khác mức tín hiệu lớn hơn mức nhiễu 22 dBm. Thí dụ: Với tín hiệu số như (H.1.1b), SNR tối thiểu phải là bao nhiêu để có thể phân biệt được tín hiệu một cách rõ ràng (ảnh hưởng của nhiễu còn chấp nhận được)?

Đối với tín hiệu như (H.1.1b), giả sử biên độ ứng với mức 1 là 1 V và 0 V cho mức 0, một lỗi sẽ phát sinh nếu mức 0 được phát đi mà nhiễu có giá trị dương lớn hơn 0,5 V và nếu mức 1 phát đi mà nhiễu có biên độ âm và trị tuyệt đối lớn hơn 0,5 V. Như vậy giá trị tối đa cho phép của nhiễu là 0,5 V so với trị tối đa của tín hiệu là 1 V và tỉ số SNR tối thiểu là:

SNRMIN = 6dB0,5120log

NS20log ==

Một hệ thống hay mạch tốt khi có khả năng nâng cao tỉ số tín hiệu nhiễu SNR theo yêu

cầu.

1.2.2 Băng thông

Page 23: tong quan ve tri tue nhan tao

____________________________________________________Chương 1 Những khái niệm cơ bản I - 5

_____________________________________________________________________________________________________

Nguyễn Trung Lập Truyền dữ liệu

- Băng thông của tín hiệu là dải tần số trong đó chứa hầu hết công suất của tín hiệu. Khái niệm này cho ta xác định phổ tần hữu ích của tín hiệu nếu tín hiệu đó chứa một phổ tần quá rộng. - Băng thông của kênh truyền là dải tần số của tín hiệu mà độ suy giảm khoảng vài dB (thường là 3 dB) so với giá trị cực đại khi tín hiệu đó truyền qua hệ thống. Độ suy giảm 3 dB tương ứng với điểm nửa công suất. Một kênh truyền tốt phải có băng thông lớn hơn băng thông của tín hiệu, điều này khiến cho tín hiệu được tái tạo không bị méo dạng và suy giảm đáng kể trong quá trình truyền.

1.2.3 Hình trạng hệ thống và các phương thức liên lạc Về hình trạng, hệ thống thông tin có thể có dạng: - Điểm - điểm (Point to point): Thí dụ liên lạc giữa máy tính và máy in - Nhiều điểm (Multipoint): Hệ thống nhiều điểm có thể có một trong các dạng: sao (star), vòng (ring) và multidrop * Mạng hình sao (H 1.3a): Thuận lợi trong liên lạc vì đài thứ cấp truy xuất trực tiếp đài sơ cấp nhưng giá thành cao vì phải sử dụng đường dây riêng

* Mạng vòng (H 1.3b): Thông tin phải đi theo vòng từ đài sơ cấp đến đài thứ cấp. Nếu có một đài hỏng, hệ thống ngưng làm việc. * Mạng multidrop (H 1.3c): Các đài thứ cấp nối chung một đường dây vào trạm sơ cấp Về phương thức thức liên lạc, giữa các máy phát và thu trong một hệ thống thông tin có thể thực hiện theo 1 trong 4 phương thức: - Đơn công (Simplex transmission, SX): thông tin chỉ truyền theo một chiều. Nếu lỗi xảy ra máy thu không có cách nào yêu cầu máy phát phát lại. Trong hệ thống này thường máy thu có trang bị thêm bộ ROP (Read Only Printer) để hiển thị thông tin nhận được. - Bán song công (Half duplex transmission, HDX): tín hiệu truyền theo hai hướng nhưng không đồng thời. Hệ thống thông tin dùng Walkie - Talkie là một thí dụ của phương thức liên lạc bán song công. Các máy truyền bán song công có một nút ấn để phát (push to send), khi ở chế độ phát thì phần thu bị vô hiệu hóa và ngược lại.

- Song công (full duplex transmission, FDX): tín hiệu truyền theo hai chiều đồng thời. Hệ thống này thường có 4 đường dây, 2 dây cho mỗi chiều truyền. Phương thức này được dùng trong hệ thống điểm - điểm (point to point)

- Song công toàn phần (Full/Full-duplex, F/FDX): Đài sơ cấp có khả năng phát tín hiệu tới một đài thứ cấp đồng thời nhận thông tin từ một đài thứ cấp khác. Phương thức này giới hạn trong hệ thống nhiều điểm (multipoint)

Page 24: tong quan ve tri tue nhan tao

____________________________________________________Chương 1 Những khái niệm cơ bản I - 6

(H 1.3)

1.2.4 Các phương pháp truyền Để truyền tín hiệu người ta có thể dùng một trong hai phương pháp: phương pháp truyền dải nền và phương pháp điều chế. - Phương pháp truyền dải nền : Tín hiệu được truyền có cùng dải tần với tín hiệu nguồn. Thí dụ trong điện thoại, tín hiệu âm thanh hữu ích có tần số trong khoảng 300-3000 Hz được truyền đi mà không có sự biến đổi nào về phổ tần của nó. - Phương pháp điều chế : Đây là phương pháp cho phép dời phổ tần của tín hiệu nguồn đến một khoảng tần số khác phù hợp với kênh truyền và tránh được nhiễu do giao thoa (nghĩa là các phổ tần cách nhau một khoảng đủ để không chồng lên nhau).

1.2.5 Các phương pháp dồn kênh Để có thể truyền nhiều tín hiệu có cùng dải nền (nhiều kênh) trên một đường truyền mà không gây ảnh hưởng lẫn nhau, người ta phải dồn kênh. Có hai phương pháp dồn kênh: phương pháp đa hợp phân tần số và phương pháp đa hợp phân thời gian . (H 1.4) mô tả hai phương pháp dồn kênh.

(H.1.4)

- Dồn kênh theo phương pháp đa hợp phân thời gian (TDM: Time Division Multiplexing) (H 1.5) minh họa phương pháp TDM .

_______________________________________

Nguyễn Trung Lập ệu ______________________________________________________________

Truyền dữ li

Page 25: tong quan ve tri tue nhan tao

____________________________________________________Chương 1 Những khái niệm cơ bản I - 7

(H 1.5)

Khóa chuyển mạch được sử dụng để nối tuần tự mỗi tín hiệu cần truyền đến đường truyền trong một khoảng thời gian nhất định. Dĩ nhiên các khóa chuyển mạch ở máy phát (dồn kênh) và máy thu (phân kênh) phải hoạt động đồng bộ để các máy thu thu đúng tín hiệu của nó. - Dồn kênh theo phương pháp đa hợp phân tần số (FDM: Frequency Division Multiplexing).

(H 1.6) minh họa phương pháp FDM cho 3 kênh truyền (3 tín hiệu tương tự). Tần số sóng mang của mỗi bộ điều chế của mỗi kênh được chọn lựa sao cho mỗi tín hiệu đã được điều chế chiếm một dải tần riêng trong cả phổ tần của đường truyền và phải được cách ly theo qui định. Để thực hiện được việc này người ta dùng các mạch cộng hưởng LC có tần số cộng hưởng khác nhau cho mỗi kênh truyền. Các hệ thống truyền thanh và truyền hình sử dụng phương pháp dồn kênh này.

(H 1.6)

1.3 HỆ THỐNG TRUYỀN TƯƠNG TỰ

(H 1.7) mô tả một hệ thống truyền tương tự dùng phương pháp điều chế (nếu truyền dải nền thì không cần bộ điều chế và giải điều chế). Trong hệ thống này tín hiệu trên đường truyền là tín hiệu tương tự. Bộ phận chuyển đổi ở máy phát biến tin tức thành tín hiệu tương tự, sau khi được xử lý (như lọc, khuếch đại, phối hợp trở kháng.....) sẽ qua bộ phận điều chế để dời phổ tần; cuối

_____________________________________________________________________________________________________

Nguyễn Trung Lập Truyền dữ liệu

Page 26: tong quan ve tri tue nhan tao

____________________________________________________Chương 1 Những khái niệm cơ bản I - 8

cùng bộ phận giao tiếp chuẩn bị tín hiệu phát tương thích với môi trường truyền hay kênh truyền. Các công việc được thực hiện theo chiều ngược lại ở máy thu.

(H 1.7)

1.4 HỆ THỐNG TRUYỀN SỐ

1.4.1 Sơ đồ khối (H 1.8) mô tả một hệ thống truyền số. Tín hiệu trên đường truyền của hệ thống là tín hiệu số, tức các điện áp tương ứng cho các mức 0 và 1 của các mã nhị phân biểu thị cho tin tức. Bộ phận chính của hệ thống là bộ phận biến đổi A→D (Analog to Digital Converter, ADC) ở máy phát (biến tín hiệu tương tự thành tín hiệu số) và biến đổi D→A (Digital to Analog Converter, DAC) ở máy thu (biến tín hiệu số thành tín hiệu tương tự). Việc truyền tín hiệu số được thực hiện bằng cách phát tuần tự các mã nhị phân này.

(H 1.8)

1.4.2 Vận tốc truyền tín hiệu (Baud rate) Một trong những đặc trưng quan trọng để đánh giá chất lượng một hệ thống truyền số là vận tốc truyền tín hiệu, được tính bằng baud. Baud là vận tốc thay đổi trạng thái sóng mang (số lần thay đổi sóng mang trong một giây) còn gọi là vận tốc điều chế (baud rate). Trong thực tế người ta hay dùng đơn vị bit/s (bps) là vận tốc truyền bit (bit rate), tức số bit mà hệ thống truyền trong một giây. Trong hệ thống truyền nhị phân (tín hiệu cần truyền có dạng (H 1.1b)), sóng mang chỉ được điều chế bởi một trong hai trạng thái của tín hiệu, vận tốc bit và vận tốc tín hiệu bằng nhau (số bit/s = số baud). Trong hệ thống truyền nhị phân hai bit (Thí dụ, dùng số nhị phân hai bit mã hóa tín hiệu có dạng (H 1.1c)), số lượng bit sẽ gấp đôi số tín hiệu (vận tốc thay đổi bit nhanh gấp đôi vận tốc thay đổi sóng mang), như vậy số bit/s gấp đôi số baud.

_____________________________________________________________________________________________________

Nguyễn Trung Lập Truyền dữ liệu

Page 27: tong quan ve tri tue nhan tao

____________________________________________________Chương 1 Những khái niệm cơ bản I - 9

Thí dụ : Tính vận tốc truyền tín hiệu (H 1.1c), nếu thời gian tương ứng với một giá trị của tín hiệu là T = 0,0001s. Vận tốc truyền tín hiệu = số baud = 1/T = 1/0,0001 = 10.000 baud. Vận tốc truyền bit br = 2.baud = 20.000 bit/s

1.4.3 Truyền nối tiếp và song song Tùy theo cách thức đưa tín hiệu ra đường truyền mà ta có hai cách truyền: song song và nối tiếp. (H.1.8) mô tả hai cách truyền.

- Truyền nối tiếp: tín hiệu lần lượt được phát đi từng bit trên cùng một đường dây. Tốc độ truyền chậm nhưng ít tốn kém hơn so với cách truyền song song.

- Truyền song song: mã ký tự được gửi đi dưới dạng song song, nghĩa là các bit được

phát đi đồng thời trên các đường truyền. Tốc độ truyền song song khá nhanh nhưng phải tốn nhiều đường dây. Do đó, cách truyền này được dùng trong thực tế khi phần phát và thu ở gần nhau.

b b b b b b b b ⎯⎯⎯⎯→ 7 6 5 4 3 2 1 0

(a)

b ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯→ 7

b

_____________________________________________________________________________________________________

Nguyễn Trung Lập Truyền dữ liệu

6 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯→ b ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯→ 5

b ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯→ 4

b ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯→ 3

b ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯→ 2

b ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯→ 1

b ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯→ 0

Tx register Rx register (b)

(H 1.9)

1.4.4 Truyền đồng bộ và bất đồng bộ Trong các hệ thống truyền số các tín hiệu có thể truyền theo chế độ đồng bộ và bất đồng bộ. Hai chế độ truyền này khác nhau chủ yếu ở việc thực hiện sự đồng bộ và do đó đưa tới cách định dạng tín hiệu truyền khác nhau. - Truyền đồng bộ: Trong chế độ đồng bộ dữ liệu truyền được hình thành theo các dạng cố định. Thí dụ các ký tự được mã hóa bằng mã ASCII và bản tin được truyền thành từng khối (block), sự đồng bộ được thực hiện ở những khoảng thời gian giữa các khối của bản tin. Do truyền một lần cả bản tin nên vận tốc truyền khá lớn, từ 2400 bps, 4800 bps, 9600 bps cho đến hằng Mbps. Một bất lợi của cách truyền đồng bộ là máy phát phải gửi tín hiệu xung đồng hồ để đồng bộ máy thu. Nếu việc này không thực hiện được thì ở máy thu phải thiết kế một vòng khóa pha (PLL) để phục hồi xung đồng bộ từ dòng dữ liệu.

Page 28: tong quan ve tri tue nhan tao

____________________________________________________Chương 1 Những khái niệm cơ bản I - 10

- Truyền bất đồng bộ: Trong chế độ bất đồng bộ dạng của dữ liệu truyền không cố định. (H 1.10) cho ta 3 dạng của tín hiệu thường gặp trong cách truyền bất đồng bộ. (H 1.10a) là 3 bản tin a,b,c được truyền tuần tự. Các bản tin dài ngắn khác nhau và cách nhau không đều. (H 1.10b) là trường hợp thời gian T của các bản tin giống nhau nhưng khoảng cách các bản tin thì bất kỳ, không phải là bội số của T. Trong hai trường hợp này băng thông cần thiết tùy thuộc vào dữ liệu. (H 1.10c) là một dạng khác của tín hiệu thường gặp trong các bản tin phát bằng phương pháp quét (thí dụ trong các máy FAX). Trong trường hợp này băng thông của hệ thống tùy thuộc vào độ phân giải tín hiệu chứ không tùy thuộc vào dữ liệu. Trong tất cả các trường hợp để tạo sự đồng bộ máy phát phải gửi kèm các xung đồng bộ ở đầu và cuối mỗi ký tự (trong (H 1.10a) đó là các xung S hoặc T ).

(H 1.10)

1.5 HÊ THỐNG MỞ VÀ MÔ HÌNH OSI

Sự phát triển của lãnh vực thông tin liên lạc với kỹ thuật truyền số liệu đã trở nên phổ biến trên toàn cầu. Việc thông tin ngày càng nhiều, yêu cầu về độ chính xác và độ tin cậy ngày càng cao. Để bảo đảm điều này các hệ thống thông tin phải tuân thủ một số qui định về tất cả các khía cạnh như tốc độ truyền, phương pháp mã hóa, qui tắc gán địa chỉ, các biện pháp thực hiện khi có lỗi v. v . . . Tập hợp tất cả các qui định mà các hệ thống thông tin phải tuân theo gọi là các giao thức (protocols). Nhờ có giao thức, các hệ thống không tương thích nhau có thể liên lạc với nhau. Đối với một hệ thống chỉ có hai phần tử thì giao thức rất đơn giản. Vấn đề trở nên phức tạp và khó khăn khi chủng loại các hệ thống và các phần tử của hệ thống tăng lên. Một tập hợp các giao thức cho phép hai hệ thống bất kỳ nào cũng có thể liên lạc với nhau bất chấp cấu trúc bên trong của nó, gọi là một HỆ THỐNG MỞ Tổ chức định chuẩn quốc tế (International Standards Organization, ISO) đã quan tâm tới vấn đề kết nối các thiết bị khác nhau từ năm 1977 và đến năm 1984 thì mô hình tham chiếu cho việc kết nối các hệ thống mở ra đời, gọi tắt là mô hình OSI (Reference Model for Open Systems Interconnection). Mô hình OSI là mô hình phân tầng được xây dựng dựa trên các nguyên tắc chủ yếu sau đây:

- Số tầng càng hạn chế càng tốt - Ranh giới giữa các tầng bảo đảm việc tương tác và mô tả các dịch vụ là tối thiểu

và có thể chuẩn hóa giao diện tương ứng.

_____________________________________________________________________________________________________

Nguyễn Trung Lập Truyền dữ liệu

Page 29: tong quan ve tri tue nhan tao

____________________________________________________Chương 1 Những khái niệm cơ bản I - 11

_____________________________________________________________________________________________________

Nguyễn Trung Lập Truyền dữ liệu

- Các chức năng khác nhau và các công nghệ sử dụng khác nhau phải được tách biệt trong các tầng khác nhau

- Khi thay đổi chức năng hoặc giao thức trong một tầng không ảnh hưởng đến các tầng khác.

- Mỗi tầng chỉ có ranh giới và giao diện với tầng ngay trên và dưới nó. - Có thể chia một tầng thành các tầng con khi cần thiết. Và các tầng con cũng có thể

được hủy bỏ trong trường hợp không cần nữa. Kết quả ta được mô hình OSI gồm 7 tầng Tầng cao nhất liên quan đến việc lý giải khái niệm và ngôn ngữ còn các tầng thấp hơn nói về các qui tắc truyền thông tin giữa các bộ phận (máy phát và máy thu). Trong mỗi tầng ngoài những qui định phải thực hiện ngay trong chính bản thân tầng đó còn có những qui định dịch vụ đưa lên tầng trên kế tiếp. Máy phát và thu cần phải thống nhất các qui tắc áp dụng trong tầng tương ứng, có nghĩa là chúng phải làm việc theo cùng một thể thức. Thông tin điều khiển của mỗi tầng được ghép vào bản tin ở máy phát và được tách ra ở máy thu ở tầng tương ứng, dĩ nhiên các thông tin này chỉ được máy thu hiểu khi chúng cùng sử dụng một giao thức. (H 1.11) cho ta thấy sự phân cấp này. Hệ thống A Hệ thống B

Tầng 7 Application

← ⎯ ⎯ ⎯ → Kết nối logic

Tầng 7 Ứng dụng

↓ ↑ Tầng 6

Presentation ← ⎯ ⎯ ⎯ → Tầng 6

Trình bày ↓ ↑

Tầng 5 Session

← ⎯ ⎯ ⎯ → Tầng 5 Giao dịch

↓ ↑ Tầng 4

Transport ← ⎯ ⎯ ⎯ → Tầng 4

Vận chuyễn ↓ ↑

Tầng 3 Network

← ⎯ ⎯ ⎯ → Tầng 3 Mạng

↓ ↑ Tầng 2

Data link ← ⎯ ⎯ ⎯ → Tầng 2

Liên kết DL ↓ ↑

Tầng 1 Physical

← ⎯ ⎯ ⎯ →

Tầng 1 Vật lý

↓←⎯⎯ ⎯⎯⎯⎯⎯⎯⎯⎯⎯ ⎯⎯→↑ Kết nối vật lý (H 1.11)

Tầng 1 : Tầng vật lý (physical layer) Qui định về các tính chất vật lý của hệ thống. Tầng vật lý liên quan đến nhiệm vụ

truyền dòng bit không cấu trúc qua đường truyền vật lý, truy nhập đường truyền vật lý nhờ các phương tiện cơ, điện, hàm (chức năng), thủ tục.

Tầng 2 : Tầng liên kết dữ liệu (data link layer) Cung cấp phương tiện để truyền thông tin qua liên kết vật lý bảo đảm độ tin cậy. Tầng

này qui định các chức năng của kênh số liệu trên một đường truyền giữa hai điểm của hệ

Page 30: tong quan ve tri tue nhan tao

____________________________________________________Chương 1 Những khái niệm cơ bản I - 12

thống thí dụ những qui định về sự đồng bộ hóa, đặc tính của khung dữ liệu, đánh số khung, kiểm tra lỗi, kiểm tra luồng dữ liệu trong quá trình liên lạc.

Tầng 3: Tầng mạng (network layer) Qui định các chức năng mạng như chọn đường, gán địa chỉ, chuyển tiếp thông tin, thực hiện việc kiểm soát luồng dữ liệu, tách/hợp dữ liệu khi cần thiết. Giao thức trong tầng này điều khiển việc truyền thông qua các mạng trong hệ thống với công nghệ chuyển mạch thích hợp.

Tầng 4 : Tầng vận chuyển (transport layer) Qui định các chức năng truyền dữ liệu giữa hai đầu mút (end to end) như tốc độ truyền, xếp thứ tự các thông tin, tổ chức sự tái tạo bản tin (kiểm tra lỗi, phục hồi các từ bị mất trong quá trình liên lạc...). Giao thức trong tầng này cũng có thể thực hiện việc ghép kênh (multiplexer), tách/hợp dữ liệu khi cần thiết.

Tầng 5 : Tầng giao dịch (session layer) Cung cấp phương tiện quản lý truyền thông giữa các ứng dụng. Giao thức của tầng này qui định các thủ tục thiết lập cuộc đối thoại giữa hai bên, có trách nhiệm thiết lập, duy trì, đồng bộ hóa và kết thúc cuộc đối thoại.

Tầng 6 : Tầng trình bày (presentation layer) Tầng này xác định các qui tắc ngôn ngữ và có trách nhiệm đảm bảo số liệu thu được có một cú pháp có thể dịch được trong quá trình ứng dụng. Nói cách khác tầng này mô tả các phương pháp trình bày dữ liệu như mã hóa, giải mã, nén dữ liệu....Thí dụ mã ASCII 8 bit dùng cho màn hình là một qui định thuộc tầng 6 này.

Tầng 7: Tầng ứng dụng (application layer) Tầng này qui định các ứng dụng thực tế, đưa ra các thủ tục cho việc xử lý số liệu của bản thân người sử dụng như cách thức xử lý từ, soạn văn bản....Tầng này cũng qui định những thủ tục cho người sử dụng có thể truy nhập được vào môi trường.

Tầng ứng dụng là tầng duy nhất không phải phục vụ tầng trên.

_______________________________________________________________ _________________

Nguyễn Trung Lập Truyền dữ liệu _____________________

Page 31: tong quan ve tri tue nhan tao

Chương 9: Học máy

Võ Huỳnh Trâm – Trần Ngân Bình

1

PHẦN II

TRÍ TUỆ NHÂN TẠO NHƯ LÀ BIỂU DIỄN VÀ TÌM KIẾM

“Mọi khoa học đều miêu tả bản chất cơ bản nhất của những hệ thống mà chúng ta nghiên cứu. Tính chất của những miêu tả ấy về bản chất không thay đổi theo thời gian, chúng ta có thể phát triển được một tập hợp các thuật ngữ mô tả chúng ngày một chi tiết hơn. Các nghiên cứu về logic và máy tính đã chỉ cho chúng ta thấy trí tuệ có ở trong các hệ thống ký hiệu vật lý. Đây là quy luật về cấu trúc định tính căn bản nhất của khoa học máy tính. Các hệ thống ký hiệu là những tập hợp của các mẫu (pattern) và các quá trình (process), trong đó cái sau có khả năng sản xuất, triệt tiêu và thay đổi cái trước. Đặc tính quan trọng nhất của các mẫu là chúng có thể chỉ định các đối tượng, các quá trình và các mẫu khác, và khi chúng chỉ định các quá trình thì có thể hiểu được chúng”.

- Newell và Simon (trong bài thuyết trình nhận giải thưởng “ACM Turing Award Lecture” năm 1976) lập luận rằng: hành vi trí tuệ, dù là ở người hay máy tính đều đạt được thông qua những yếu tố sau đây :

1. Những mẫu ký hiệu dùng biểu diễn những khía cạnh quan trọng của lĩnh vực bài toán.

2. Những phép toán trên các mẫu này để phát sinh những lời giải có khả năng cho bài toán.

3. Tìm kiếm một lời giải trong số những khả năng này.

Những nhận định này xuất phát từ cơ sở giả thuyết về hệ thống ký hiệu vật lý (physical symbol system hypothesis). Trong giả thuyết này, các mẫu (pattern) - tạo thành do sự sắp xếp các ký hiệu, được phân biệt rõ với phương tiện (medium) – dùng để thực hiện chúng. Nếu như trí tuệ chỉ bắt nguồn từ cấu trúc của một hệ ký hiệu thì bất cứ phương tiện nào thực hiện được thành công trên các mẫu và các quá trình đều sẽ có trí tuệ. Khả năng xây dựng một máy tính có thể vượt qua được trắc nghiệm Turing phụ thuộc vào sự phân biệt này.

Giả thuyết hệ thống ký hiệu vật lý cũng phác thảo những tiêu điểm chính của việc phát triển nghiên cứu và ứng dụng TTNT: việc định nghĩa các cấu trúc và phép toán ký hiệu là hết sức cần thiết cho việc giải quyết vấn đề một cách thông minh cũng như việc phát triển các chiến lược tìm kiếm một cách hiệu quả và chính xác cho những lời giải tiềm năng phát sinh bởi các cấu trúc và phép toán này. Đây là những vấn đề liên quan lẫn nhau của biểu diễn tri thức và tìm kiếm (knowledge representation and search) – chúng chính là những tâm điểm của nghiên cứu hiện đại trong TTNT.

Page 32: tong quan ve tri tue nhan tao

Giáo Trình Trí Tuệ Nhân Tạo I Biểu diễn tri thức

Chức năng của bất kỳ một sơ đồ biểu diễn nào là nắm bắt được những đặc trưng chủ yếu nhất của lĩnh vực vấn đề và làm cho những thông tin đó trở nên thao tác được đối với thủ tục giải quyết vấn đề. Rõ ràng một ngôn ngữ biểu diễn phải cho phép người lập trình thể hiện được tri thức cần thiết để tìm ra lời giải.

Sự biểu diễn phải đáp ứng hai tiêu chuẩn đánh giá quan trọng như sau :

1. Tính biểu đạt : Cung cấp một cơ cấu tự nhiên để thể hiện tri thức/thông tin/dữ liệu một cách đầy đủ.

2. Tính hiệu quả : Hỗ trợ thực thi một cách hiệu quả cho việc tìm kiếm đáp án của một vấn đề.

Nhiều biểu diễn có tính biểu đạt cao lại kém hiệu quả cho việc sử dụng đối với những loại bài toán nào đó. Đôi khi phải hy sinh tính biểu đạt để nâng cao tính hiệu quả. Chẳng hạn, những nhà lập trình với các ngôn ngữ cấp thấp (BASIC, FORTRAN, C,...) thường thất bại trong việc xây dựng các hệ chuyên gia vì một lý do đơn giản là những ngôn ngữ này có cấu trúc khá đơn giản, tuy có tính biểu đạt cao nhưng không cung cấp được tính module cần thiết hay không hiệu quả cho việc lập trình dựa trên tri thức.

Vấn đề đặt ra là làm thế nào để có được sự thỏa hiệp tốt nhất giữa tính hiệu quả và tính biểu đạt là một trong những nhiệm vụ chính yếu đối với những người thiết kế các hệ thông minh.

II Giải quyết vấn đề như là tìm kiếm

Khía cạnh thứ hai trong giả thuyết hệ thống ký hiệu của Newell và Simon là: vấn đề được giải quyết bằng cách tìm kiếm giữa những lựa chọn khác nhau. Nói chung, con người thường cân nhắc một số chiến lược khác nhau trong quá trình họ giải quyết một vấn đề nào đó. Chẳng hạn, một đấu thủ cờ thường cân nhắc giữa một số nước đi khác nhau bằng cách lựa chọn sự tương ứng theo tiêu chuẩn tốt nhất cho toàn ván đấu. Khía cạnh này của hành vi thông minh là cơ sở cho một kỹ thuật giải quyết vấn đề có tên là tìm kiếm trong không gian trạng thái (state space search).

Trong chiến lược tìm kiếm này, người ta biểu diễn quá trình giải quyết vấn đề như một quá trình tìm kiếm đường đi trên một đồ thị không gian trạng thái (state space graph) mà trong đó: mỗi trạng thái bài toán được xem như một nút (node) của đồ thị hay còn gọi là một trạng thái (state) và các đường chuyển trạng thái khi áp dụng các phép toán hợp lệ vào một trạng thái nào đó sẽ chuyển bài toán từ trạng thái này sang trạng thái khác được gọi là các liên kết (link) của đồ thị. Đây không chỉ là một trong những kỹ thuật hiệu quả mà tính quy tắc và chính xác của nó làm cho việc cài đặt trên máy tính mang tính trực tiếp.

Chẳng hạn, xét một ví dụ đơn giản là trò chơi tic-tac-toe. Cho trước một tình huống bàn cờ nào đó, chỉ có một số hữu hạn các nước đi mà người chơi có thể đi. Bắt đầu ván đấu bằng bàn cờ trống, đấu thủ thứ nhất có thể đặt ký hiệu nước đi X vào bất cứ ô nào trong 9 ô trống của bàn cờ. Mỗi trong số những nước đi này tạo ra một bàn cờ khác cho phép đấu thủ thứ hai đến lượt mình đi sẽ có thể chọn 8 cách đặt ký hiệu nước đi O của mình vào... Và sẽ cứ luân phiên như thế. Chúng ta có thể xem mỗi hình thái bàn cờ này như là một nút trong đồ thị, các liên kết của đồ thị biểu diễn các nước đi hợp lệ từ một thế cờ này sang thế cờ khác. Cấu trúc kết quả tạo thành một đồ thị không gian trạng thái cho bài toán. Và lúc đó, một chiến lược

2 Võ Huỳnh Trâm – Trần Ngân Bình

Page 33: tong quan ve tri tue nhan tao

Chương 9: Học máy

Võ Huỳnh Trâm – Trần Ngân Bình

chơi hiệu quả sẽ là việc tìm kiếm xuyên suốt đồ thị để tìm ra đường đi dẫn đến kết thúc thắng lợi.

00 xx

0 0

x x xx x x

x x x

x

x x x x x xx x x x x

x x x x x xx x x x x x

0 0

0 0 00

0 0

0 0x

x 0 0

x x

x x0 0 0 0 0 0 0 0

x x x

x

Hình 2.1- Một khoảng không gian trạng thái triển khai cho trò chơi tic-tac-toe

Hay, trong một vấn đề phức tạp hơn, chúng ta xem xét bài toán chẩn đoán trục trặc máy móc trong một chiếc ô tô. Thay vì mỗi nút trên đồ thị không gian trạng thái biểu diễn một “trạng thái bàn cờ”, ta cho nó biểu diễn một phần tri thức về các vấn đề máy móc trong ô tô. Quá trình xem xét các triệu chứng của trục trặc và kết luận nguyên nhân của nó có thể được xem như tìm kiếm giữa các trạng thái tri thức có cấp độ tăng dần. Nút bắt đầu của đồ thị là rỗng biểu thị rằng chúng ta không biết gì về nguyên nhân của vấn đề. Mỗi trạng thái trong đồ thị có các cung đi đến các trạng thái khác biểu diễn tri thức sâu hơn trong quá trình chẩn đoán.

3

Page 34: tong quan ve tri tue nhan tao

Giáo Trình Trí Tuệ Nhân Tạo Một chương trình giải quyết vấn đề sẽ chẩn đoán hư hỏng của xe ô tô bằng cách tìm kiếm một đường đi trong đồ thị này mà đường đi đó phù hợp với những triệu chứng của chiếc xe đang bị hỏng hóc. Mặc dù bài toán này rất khác so với việc tìm ra một đường đi tối ưu trong trò chơi tic-tac-toe, nó cũng tuân theo cách giải quyết vấn đề tương đương bằng phương pháp tìm kiếm trong không gian trạng thái.

không có

có không

không có

. . .

Trục trặc ở đâu ?

Trục trặc do động cơ Hỏi: xe có nổ máy không ?

Trục trặc do bộ truyền dẫn Hỏi : ...

Trục trặc do phanh Hỏi : ...

Động cơ nổ máy được Hỏi : ....

Động cơ không nổ máy được Hỏi : Động cơ có khởi động điện được không?

Động cơ khởi động điện được.

Hỏi: . . .

Động cơ khởi động điện không được.

Hỏi: Đèn có sáng không?

Bình điện tốt Hư bình điện

Hình 2.2 - Biểu diễn không gian trạng thái bài toán chẩn đoán trục trặc ô tô

Trong phần II này, các khía cạnh lý thuyết của biểu diễn tri thức và tìm kiếm sẽ được áp dụng cho việc xây dựng những chương trình hiệu quả. Việc xem xét cách biểu diễn tri thức bắt đầu bằng phép tính vị từ trong Chương 2. Chương 3 giới thiệu các chiến lược tìm kiếm trong ngữ cảnh là những trò chơi đơn giản. Bắt đầu bằng trò chơi, chúng ta có thể nghiên cứu được những vấn đề liên quan đến tìm kiếm trong không gian trạng thái mà không cần

4 Võ Huỳnh Trâm – Trần Ngân Bình

Page 35: tong quan ve tri tue nhan tao

Chương 9: Học máy

Võ Huỳnh Trâm – Trần Ngân Bình

5

phải xem xét đến những cách biểu diễn bài toán trong thế giới thực. Trong Chương 4, chúng ta sẽ thảo luận đến việc cài đặt các thuật toán tìm kiếm với sự quan tâm đặc biệt đến việc sử dụng các heuristic vào hướng dẫn tìm kiếm. Chương 5 đề cập đến các hệ sinh – một mô hình tổng quát và hiệu quả cho việc giải quyết vấn đề dựa trên tìm kiếm, cũng như mô hình kiến trúc bảng đen.

Page 36: tong quan ve tri tue nhan tao

Giáo Trình Trí Tuệ Nhân Tạo

Chương II

LOGIC HÌNH THỨC

Nội dung chính : Trong chương này, chúng ta giới thiệu phép tính vị từ như một ngôn ngữ biểu diễn dùng cho Trí tuệ nhân tạo. Những ưu điểm của việc dùng phép tính vị từ bao gồm một ngữ nghĩa hình thức (formal semantics) được định nghĩa chính xác cùng với các luật suy diễn vững chắc và đầy đủ. Chương này bắt đầu bằng việc nhắc lại phép tính mệnh đề, định nghĩa cú pháp và ngữ nghĩa của phép tính vị từ. Tiếp theo, chúng ta thảo luận về các luật suy diễn của phép tính vị từ và việc sử dụng chúng trong giải quyết vấn đề. Phần cuối chương sẽ minh họa cách sử dụng phép tính vị từ để cài đặt một cơ sở tri thức trong lĩnh vực tư vấn đầu tư tài chính.

Mục tiêu cần đạt : Sau chương này, sinh viên có thể :

Hiểu Logic mệnh đề và Logic vị từ Vận dụng các phép biến đổi tương đương Biết biểu diễn tri thức của vấn đề bằng logic vị từ bậc nhất. Vận dụng các phép suy diễn để chứng minh một vấn đề đơn giản. Vận dụng phép hợp nhất và giải thuật đối sánh mẫu

Kiến thức tiên quyết : Khái niệm về Trí tuệ nhân tạo, Logic mệnh đề, Logic vị từ, …

Tài liệu tham khảo :

[1] George F. Luger, William A. Stubblefield – Albuquerque – Artificial Intelligence – Wesley Publishing Company, Inc – 1997 (Chapter 2)

[2] Bùi Xuân Toại – Trương Gia Việt (Biên dịch) – Trí tuệ nhân tạo – Các cấu trúc và chiến lược giải quyết vấn đề - NXB Thống kê, 2000 (Phần II)

[3] Wikipedia – Bách khoa toàn thư mở - Phép tính vị từ bậc nhất http://en.wikipedia.org/wiki/Predicate_calculus

6 Võ Huỳnh Trâm – Trần Ngân Bình

Page 37: tong quan ve tri tue nhan tao

Chương 9: Học máy

Võ Huỳnh Trâm – Trần Ngân Bình

7

I PHÉP TÍNH MỆNH ĐỀ

I.1 Định nghĩa – Ký hiệu phép tính mệnh đề

I.1.1 Mệnh đề :

Mệnh đề là một phát biểu có thể khẳng định tính đúng hoặc sai.

Các ký hiệu (symbol) của phép tính mệnh đề là các ký hiệu mệnh đề : P, Q, R, S, … (thông thường nó là các chữ cái in hoa nằm gần cuối bảng chữ cái tiếng Anh), các ký hiệu chân lý – chân trị (truth symbol) : true, false hay các phép toán kết nối như : ∧, ∨, ¬, ⇒, =

Các ký hiệu mệnh đề (propositional symbol) biểu thị các mệnh đề (proposition) hay các phát biểu về thế giới thực mà giá trị của chúng có thể là đúng hoặc sai.

Thí dụ 2.1: Các mệnh đề

“Chiếc xe hơi kia màu đỏ” “Nước thì ướt”

I.1.2 Câu :

Câu trong phép tính mệnh đề được cấu tạo từ những ký hiệu sơ cấp (atomic symbol) theo các luật sau đây :

- Tất cả các ký hiệu mệnh đề và ký hiệu chân lý đều là câu (sentences) : true, P, Q và R là các câu.

- Phủ định của một câu là một câu : ¬ P và ¬ false là các câu - Hội hay và của hai câu là một câu : P ∧ ¬ P là một câu - Tuyển hay hoặc của hai câu là một câu : P ∨ ¬ P là một câu - Kéo theo của một câu để có một câu khác là một câu : P ⇒ Q là một câu. - Tương đương của hai câu là một câu : P ∨ Q = R là một câu

Các câu hợp lệ được gọi là các công thức dạng chuẩn (well-formed formula) hay WFF.

Trong các câu phép tính mệnh đề, các ký hiệu ( ) và [ ] dùng để nhóm các ký hiệu vào các biểu thức con và nhờ đó kiểm soát được thứ tự của chúng trong việc đánh giá biểu thức và diễn đạt. Ví dụ (P ∨ Q) = R hoàn toàn khác với P ∨ (Q = R).

I.1.3 Biểu thức :

Một biểu thức là một câu hay công thức dạng chuẩn, của phép tính mệnh đề khi và chỉ khi nó có thể được tạo từ những ký hiệu hợp lệ thông qua một dãy những luật này.

Thí dụ 2.2: (( P ∧ Q) ⇒ R = ¬ P ∨ ¬ Q ∨ R là một câu dạng chuẩn trong phép tính mệnh đề vì : P, Q, R là các mệnh đề và do đó là các câu. P ∧ Q, hội của hai câu là một câu. (P ∧ Q) ⇒ R, kéo theo của một câu là một câu. ¬ P và ¬ Q, phủ định của các câu là câu.

Page 38: tong quan ve tri tue nhan tao

Giáo Trình Trí Tuệ Nhân Tạo ¬ P ∨ ¬ Q, tuyển của hai câu là câu. ¬ P ∨ ¬ Q ∨ R, tuyển của hai câu là câu. (( P ∧ Q) ⇒ R = ¬ P ∨ ¬ Q ∨ R, tương đương của hai câu là câu.

Đây là câu xuất phát, nó đã được xây dựng thông qua một loạt các luật hợp lệ và do đó nó có dạng chuẩn.

I.2 Ngữ nghĩa của phép tính mệnh đề

Sự gán giá trị chân lý cho các câu mệnh đề được gọi là một sự diễn giải (interpretation), một sự khẳng định chân trị của chúng trong một thế giới khả hữu (possible world) nào đó. Một cách hình thức, một diễn giải là một ánh xạ từ các ký hiệu mệnh đề vào tập hợp T, F.

Phép gán giá trị chân lý cho các mệnh đề phức tạp thường được mô tả thông qua bảng chân trị như sau :

P Q ¬ P P ∧ Q P ∨ Q P ⇒ Q P = Q T T F T T T T T F F F T F F F T T F T T F F F T F F T T

Thí dụ 2.3: Chân trị của mệnh đề (¬ P ∨ ¬ Q) = (P ⇒ Q) được cho như trong bảng sau :

P Q ¬ P ¬ P ∨ ¬ Q P ⇒ Q (¬ P ∨ ¬ Q) = (P ⇒ Q) T T F T T T T F F F F T F T T T T T F F T T T T

Hai biểu thức trong phép tính mệnh đề là tương đương nhau nếu chúng có cùng giá trị trong mọi phép gán chân trị. Một số công thức biến đổi tương đương của các mệnh đề đươc cho như trong bảng sau:

¬(¬P) = P (P∨Q) = (¬P ⇒ Q) Luật tương phản: (P ⇒ Q) = (¬Q ⇒ ¬P) Luật De Morgan: ¬(P ∨ Q) = (¬P ∧ ¬Q), và ¬(P ∧ Q) = (¬P ∨ ¬Q) Luật giao hoán: (P ∧ Q) = (Q ∧ P), và (P∨Q) = (Q∨P) Luật kết hợp: ((P ∧ Q) ∧ R) = (P ∧ (Q ∧ R)), ((P ∨ Q) ∨ R) = (P ∨ (Q ∨ R)) Luật phân phối: P ∨ (Q ∧ R) = (P ∨ Q) ∧ (P ∨ R), P ∧ (Q ∨ R) = (P ∧ Q) ∨ (P ∧ R)

Bảng 2.1 – Bảng công thức biến đổi tương đương

8 Võ Huỳnh Trâm – Trần Ngân Bình

Page 39: tong quan ve tri tue nhan tao

Chương 9: Học máy

Võ Huỳnh Trâm – Trần Ngân Bình

Những đồng nhất thức trong bảng 2.1 trên được dùng để biến đổi các biểu thức mệnh đề sang một dạng khác về mặt cú pháp nhưng tương đương về mặt logic. Có thể dùng các đồng nhất thức này thay cho các bảng chân trị để chứng minh hai biểu thức mệnh đề là tương đương nhau.

Câu hỏi :

Sử dụng bảng chân trị, hãy chứng minh sự tương đương của các đồng nhất thức trong bảng 2.1.

I.3 Phép tính vị từ

Trong phép tính mệnh đề, mỗi ký hiệu câu sơ cấp P, Q, … biểu thị một mệnh đề và chúng ta không thể tác động vào từng phần riêng lẻ của câu. Phép tính vị từ (predicate calculus) cung cấp cho chúng ta khả năng này. Chẳng hạn, đặt mệnh đề “hôm qua trời mưa” là P, từ đó chúng ta có thể tạo ra một vị từ chỉ thời tiết mô tả quan hệ giữa một ngày và thời tiết trong ngày ấy: thời_tiết (hôm_qua, mưa). Thông qua các luật suy diễn, chúng ta sẽ có thể thao tác trên các biểu thức phép tính mệnh đề, truy xuất và suy ra những câu mới.

I.3.1 Ký hiệu vị từ : là tập hợp gồm các chữ cái, chữ số, ký hiệu “_”, và được bắt đầu bằng chữ cái.

Thí dụ 2.4 : X3, tom_and_jerry

Ký hiệu vị từ có thể là:

- Ký hiệu chân lý: true, false - Hằng: dùng để chỉ một đối tượng / thuộc tính trong thế giới.

Hằng được ký hiệu bắt đầu bằng chữ thường: helen, yellow, rain, … - Biến: dùng để chỉ một lớp tổng quát các đối tượng/thuộc tính.

Biến được ký hiệu bắt đầu bằng chữ hoa: X, People, Students, … - Hàm: dùng để chỉ một hàm trên các đối tượng.

Hàm được ký hiệu bắt đầu bằng chữ thường: father, plus, … Mỗi ký hiệu hàm có một ngôi n, chỉ số lượng các đối số của hàm.

- Vị từ: dùng để định nghĩa một mối quan hệ giữa không hoặc nhiều đối tượng.

Vị từ được ký hiệu bắt đầu bằng chữ thường: likes, equals, part_of, …

a. Biểu thức hàm: là một ký hiệu hàm theo sau bởi n đối số.

Ví dụ: father(david) price(bananas) like(tom, football)

b. Mục (term): là một hằng, một biến hay một biểu thức hàm

c. Câu sơ cấp: là một hằng vị từ với n ngôi theo sau bởi n thành phần nằm trong cặp dấu ( ), cách nhau bởi dấu ‘,’, và kết thúc với dấu ‘.’

- Trị chân lý true, false là các câu sơ cấp.

- Câu sơ cấp còn được gọi là: biểu thức nguyên tử, nguyên tử hay mệnh đề

9

Page 40: tong quan ve tri tue nhan tao

Giáo Trình Trí Tuệ Nhân Tạo Thí dụ 2.5 : friends(helen, marry). likes(hellen, mary).

likes(helen, sister(mary)). likes(X, ice-cream).

Ký hiệu vị từ trong các câu này là friends, likes.

Câu: được tạo ra bằng cách kết hợp các câu sơ cấp sử dụng:

- Các phép kết nối logic: ¬, ∧, ∨, ⇒, =

- Các lượng tử biến:

o Lượng tử phổ biến ∀: dùng để chỉ một câu là đúng với mọi giá trị của biến lượng giá

Ví dụ: ∀ X likes(X, ice-cream).

o Lượng tử tồn tại ∃: dùng để chỉ một câu là đúng với một số giá trị nào đó của biến lượng giá.

Ví dụ: ∃Y friends(Y,tom).

Thí dụ 2.6: likes(helen, chocolat) ∧ ¬ likes(bart, chocolat).

∃ X foo(X,two,plus(two,three)) ∧ equal(plus(three,two),five)

(foo(two, two,plus(two,three))) ⇒ (equal(plus(three,two),five)= true

I.4 Ngữ nghĩa - Phép tính vị từ

Tương tự như phép tính mệnh đề, ngữ nghĩa của phép tính vị từ cung cấp một cơ sở để xác định chân trị của các biểu thức dạng chuẩn. Chân trị của các biểu thức phụ thuộc vào ánh xạ từ các hằng, các biến, các vị từ và các hàm vào các đối tượng và quan hệ trong lĩnh vực được đề cập.

Sự thông dịch (cách diễn giải) của một tập hợp các câu phép tính vị từ: là một sự gán các thực thể trong miền của vấn đề đang đề cập cho mỗi ký hiệu hằng, biến, vị từ và hàm.

Giá trị chân lý của một câu sơ cấp được xác định qua sự thông dịch. Đối với các câu không nguyên tố, sử dụng bảng chân lý cho cho các phép nối kết, và:

- Giá trị của câu ∀ X <câu> là true nếu <câu> là T cho tất cả các phép gán có thể được cho X.

- Giá trị của câu ∃ X <câu> là true nếu tồn tại một phép gán cho X làm cho <câu> có giá trị T.

Thí dụ 2.7: Cho trước một tập hợp các quan hệ gia đình như sau :

mother (eve,abel) mother(eve,cain) father(adam,abel) father(adam,cain) ∀X ∀Y father(X,Y) ∨ mother(X,Y) ⇒ parent(X,Y) ∀X ∀Y ∃Z parent(Z,X) ∧ parent(Z,Y) ⇒ sibling(X,Y)

Ta có thể suy luận:

10 Võ Huỳnh Trâm – Trần Ngân Bình

Page 41: tong quan ve tri tue nhan tao

Chương 9: Học máy

Võ Huỳnh Trâm – Trần Ngân Bình

11

parent(eve,abel) parent(eve,cain) parent(adam,abel) parent(adam,cain) sibling(abel,cain) sibling(cain,abel) sibling(abel,abel) sibling(cain,cain) ! Không có nghĩa

I.5 Phép tính vị từ bậc nhất (First – order predicate calculus)

Phép tính vị từ bậc nhất cho phép các biến lượng giá tham chiếu đến các đối tượng trong miền của vấn đề đang đề cập nhưng KHÔNG được tham chiếu đến các vị từ và hàm.

Thí dụ 2.8 : Ví dụ không hợp lệ: ∀(Likes) Likes(helen, ice-cream)

Ví dụ hợp lệ: Nếu ngày mai trời không mưa, Tom sẽ đi biển.

¬weather(rain, tomorrow) ⇒ go(tom, sea) Tất cả các cầu thủ bóng rổ đều cao.

∀ X ( basketball_player(X) ⇒ tall(X) ) Có người thích coca-cola.

∃ X person(X) ∧ likes(X, coca-cola) Không ai thích thuế.

¬ ∃ X likes(X, taxes)

Hầu hết bất kỳ câu đúng ngữ pháp nào cũng có thể biểu diễn trong phép tính vị từ bậc nhất bằng cách sử dụng các ký hiệu, các phép kết nối và ký hiệu biến.

I.6 Các luật suy diễn

Ngữ nghĩa của phép tính vị từ cung cấp một cơ sở cho lý thuyết hình thức về suy diễn logic. Khả năng suy ra những biểu thức đúng mới từ một tập hợp các khẳng định đúng là một đặc trưng quan trọng của phép tính vị từ. Logic vị từ dùng các luật suy diễn sau :

d. Luật Modus Ponens (MP): P P ⇒ Q

Q

Thí dụ 2.9: Nếu ta có quan sát sau đây “nếu trời mưa thì sân ướt” (P ⇒ Q) và “trời đang mưa” (P) thì ta dễ dàng suy ra được “sân ướt” (Q).

e. Luật Modus Tollens (MT): P ⇒ Q

¬ Q . ¬ P

f. Luật triển khai phổ biến (Universal Instantiation):

∀X P(X) a thuộc miền xác định của X P(a)

Page 42: tong quan ve tri tue nhan tao

Giáo Trình Trí Tuệ Nhân Tạo

Thí dụ 2.10: Cho trước: (1) ∀X (man(X) ⇒ mortal(X))

(2) man(socrates)

=> (3) man(socrates) ⇒ mortal(socrates) từ (1),(2) bằng luật UI.

(4) mortal(socrates) từ (3) và (2) bằng luật MP.

II ĐỐI SÁNH MẪU VÀ PHÉP HỢP NHẤT

II.1 Phép hợp nhất

Phép hợp nhất (unification) là một thuật toán dùng để xác định những phép thế cần thiết để làm cho hai biểu thức vị từ đối sánh (match) nhau.

Hợp nhất và các luật suy diễn khác như Modus ponens cho phép chúng ta tạo ra các suy diễn dựa trên một tập hợp các khẳng định logic. Phép hợp nhất phức tạp do có thể thay thế một biến với bất kỳ mục nào gồm cả những biến và những biểu thức hàm khác với độ phức tạp tùy ý. Những biểu thức này tự thân chúng lại có thể chứa các biến.

Thí dụ 2.11: Đối sánh foo(X,a,goo(Y)) với:

foo(X,b,foo(Y)) không đối sánh foo(X,Y) không đối sánh moo(X,a,goo(Y)) không đối sánh foo(fred,a, goo(Z)) fred/X, Z/Y foo(W,a,goo(jack)) W/X,jack/Y foo(Z,a,goo(moo(Z))) Z/X,moo(Z)/Y

Nói chung một quá trình giải quyết vấn đề sẽ đòi hỏi nhiều suy diễn và do đó cần nhiều phép hợp nhất nói tiếp nhau. Các chương trình giải quyết vấn đề logic phải duy trì tính nhất quán của các phép thế biến. Điều này được phát biểu trong giải thuật đối sánh mẫu.

II.2 Giải thuật đối sánh mẫu

1. Hằng / hằng đối sánh : chỉ khi chúng giống hệt nhau

2. Hằng a / biến X đối sánh:

a. Biến chưa kết buộc: biến trở thành kết buộc với hằng a/X

b. Biến đã kết buộc : xem (1)

3. Biến / biến đối sánh:

a. Hai biến chưa kết buộc: luôn luôn đối sánh

b. Một biến kết buộc và một biến chưa kết buộc: xem (2)

12 Võ Huỳnh Trâm – Trần Ngân Bình

Page 43: tong quan ve tri tue nhan tao

Chương 9: Học máy

Võ Huỳnh Trâm – Trần Ngân Bình

c. Hai biến kết buộc: xem (1)

4. Biểu thức / biểu thức đối sánh: chỉ khi các tên hàm hoặc vị từ, số ngôi giống nhau thì áp dụng đối sánh từng đối số một.

Lưu ý : Phạm vi của một biến là một câu. Một khi biến đã bị kết buộc, các phép hợp nhất theo sau và các suy luận kế tiếp phải giữ sự kết buộc này.

Câu hỏi :

Hợp nhất các cặp biểu thức dưới đây, chỉ ra các giá trị đối sánh (nếu có) hoặc giải thích tại sao chúng không thể hợp nhất :

a) P(X, Y) và p(a, Z) b) P(X, X) và p(a, b) c) ancestor(X, Y) và ancestor(bill, father(bill)) d) ancestor(X, father(X)) và ancestor(david, george) e) q(X) và ¬ q(a)

II.3 Ứng dụng : Chương trình tư vấn tài chính

Họat động của chương trình là trợ giúp người dùng trong việc quyết định có nên đầu tư vào một tài khoản tiết kiệm hay thị trường chứng khoán hay không, một số nhà đầu tư cũng có thể muốn phân bổ số tiền của họ thành hai khoản. Việc đầu tư sẽ được gợi ý cho những nhà đầu tư dựa trên thu nhập của họ và số tiền hiện tại mà họ đã có trong tài khoản tiết kiệm. Hệ làm việc theo các quy tắc sau :

1. Các cá nhân không đủ tiền tiết kiệm cần ưu tiên tăng tiền tiết kiệm, bất kể thu nhập là bao nhiêu.

2. Các cá nhân có đủ tiền tiết kiệm và đủ thu nhập nên xem xét việc đầu tư mạo hiểm hơn nhưng có khả năng đem lại lợi nhuận hơn vào thị trường chứng khoán.

3. Các cá nhân với thu nhập thấp nhưng đủ tiền tiết kiệm có thể chia phần thu nhập thêm vào tiết kiệm và chứng khoán, nhằm làm tăng số tiền tiết kiệm trong khi vẫn muốn tăng thu nhập thông qua chứng khoán.

Sự tương xứng giữa tiền tiết kiệm và thu nhập được xác định bởi số thành viên gia đình mà một cá nhân cần chu cấp. Quy tắc là :

- Tiết kiệm đủ là 5000$/ người phụ thuộc

- Thu nhập đủ 15000$ + (4000$ / người phụ thuộc)

Ta xây dựng hệ thống logic với các câu vị từ như sau:

1. savings_account(inadequate) ⇒investment(saving)

2. savings_account(adequate) ∧ income(adequate) ⇒ investment(stocks)

3. savings_account(adequate) ∧ income(inadequate) ⇒ investment(combination)

13

Page 44: tong quan ve tri tue nhan tao

Giáo Trình Trí Tuệ Nhân Tạo

4. ∀X amount_saved(X) ∧ ∃Y(dependents(Y) ∧ greater(X,minsavings(Y))) ⇒ savings_account(adequate)

5. ∀X amount_saved(X) ∧ ∃Y(dependents(Y) ∧ ¬greater(X,minsavings(Y))) ⇒ savings_account(inadequate)

6. ∀X earning(X, steady) ∧ ∃Y(dependents(Y) ∧ greater(X,minincome(Y))) ⇒ income(adequate)

7. ∀X earning(X, steady) ∧ ∃Y(dependents(Y) ∧ ¬greater(X,minincome(Y))) ⇒ income(inadequate)

8. ∀X earning(X, unsteady) ⇒ income(inadequate)

With: minsavings(X) = 5000 * X minincome(X)=15000+(4000*X)

Để thực hiện một phiên tư vấn, thông tin mô tả về một nhà đầu tư nào đó được bổ sung vào tập hợp các câu vị từ. Chẳng hạn một cá nhân với 3 thành viên phụ thuộc, có số tiền trong tài khoản tiết kiệm là 22.000$ và có thu nhập ổn định là 25.000$ sẽ được mô tả như sau :

9. amount_saved(22000)

10. earnings(25000,steady)

11. dependents(3)

Sử dụng phép hợp nhất và modus ponens, một chiến lược đầu tư đúng đắn người này có thể được rút ra như là một hệ quả logic từ những mô tả này :

Hợp giải (10), (11) với (7) bằng đối sánh 25000/X, 3/Y, ta có :

12. income(inadequate)

Hợp giải (9), (11) với (4) bằng đối sánh 22000/X, 3/Y, ta có :

13. savings_account(adequate)

Hợp giải (12), (13) với (3) ⇒ investment (combination)

Như vậy hình thức đầu tư được tư vấn từ hệ là kết hợp cả việc gởi tiền vào tài khoản tiết kiệm và đầu tư vào chứng khoán.

TỔNG KẾT CHƯƠNG II: Trong chương này, chúng ta đã được giới thiệu phép tính vị từ như một ngôn ngữ biểu diễn dùng cho việc giải quyết vấn đề trong AI. Chúng ta đã định nghĩa các khái niệm về biến, hàng, hàm, biểu thức, … và ngữ nghĩa của ngôn ngữ này. Dựa trên ngữ nghĩa của phép tính vị từ, các luật suy diễn cũng cho phép suy diễn các câu từ một tập hợp các biểu thức cho trước. Phần cuối chương định nghĩa một thuật toán hợp nhất và đối sánh mẫu dùng xác định các phép thay thế biến làm cho hai biểu thức đối sánh nhau, một ví dụ minh họa ứng dụng cụ thể cho giải thuật này là bài toán hệ tư vấn tài chính. Trong chương tiếp theo, lý thuyết và những kỹ thuật tìm kiếm trên không gian trạng thái bài toán sẽ được giới thiệu.

14 Võ Huỳnh Trâm – Trần Ngân Bình

Page 45: tong quan ve tri tue nhan tao

Chương 9: Học máy

Võ Huỳnh Trâm – Trần Ngân Bình

15

III BÀI TẬP CHƯƠNG 2

II.1. Jane có bốn thành viên gia đình phụ thuộc, thu nhập bằng lương hàng tháng là 30.000$ và tài khoản tiết kiệm của cô ta là 20.000$. Hãy đưa ra các vị từ thích hợp mô tả tình trạng tài chính của Jane cho chương trình tư vấn tài chính và tiến hành các phép hợp nhất, suy diễn cần thiết để xác định phương thức đầu tư thích hợp cho cô ta.

II.2. Chuyển các câu sau đây thành câu trong logic vị từ:

a) Tất cả các con mèo đều là động vật.

b) Không có con chó nào là loài bò sát.

c) Tất cả các nhà khoa học máy tính đều thích một hệ điều hành nào đó.

d) Mọi đứa trẻ đều thích Coca-cola.

e) Không có đứa trẻ nào thích ăn rau.

f) Một số người thích kẹo, một số khác thì không.

g) Không có sinh viên nào học mà thi rớt môn này.

II.3. Cho một vấn đề được phát biểu như sau:

a) John thích mọi loại thức ăn.

b) Táo là thức ăn.

c) Gà là thức ăn.

d) Tất cả mọi thứ ăn được mà vẫn còn sống thì đó là thức ăn.

e) Bill ăn đậu phộng và Bill vẫn còn sống.

f) Sue ăn mọi thứ mà Bill ăn.

1. Hãy biểu diễn vấn đề trên theo logic vị từ bậc nhất.

2. Dùng giải thuật đối sánh mẫu để chứng minh “John thích đậu phộng”

II.4. Câu chuyện dưới đây được lấy từ quyển sách Algorithms + Data structures = Programs (Thuật toán + Cấu trúc dữ liệu = Chương trình) của N. Wirth (1976):

“Tôi cưới một góa phụ (W), bà ta có một cô con gái đã lớn (D). Cha tôi (F), người thường xuyên đến thăm chúng tôi đã phải lòng cô con riêng của vợ tôi và cưới cô ta. Vì thế cha tôi trở thành con rể tôi và con ghẻ tôi trở thành mẹ tôi. Vài tháng sau đó, vợ tôi sinh một đứa con trai (S1), nó trở thành em rể của bố tôi, cũng như trở thành chú tôi. Vợ của bố tôi, tức là con ghẻ của tôi, cũng sinh một đứa con trai (S2).”

Sử dụng phép tính vị từ, hãy tạo ra một tập hợp các biểu thức biểu diễn hoàn cảnh trong câu chuyện trên. Hãy đưa ra các biểu thức định nghĩa các quan hệ gia đình cơ bản như định nghĩa bố vợ chẳng hạn, và sử dụng modus ponens trên hệ này để chứng minh kết luận “Tôi cũng chính là ông tôi”.

Page 46: tong quan ve tri tue nhan tao

Giáo Trình Trí Tuệ Nhân Tạo

16 Võ Huỳnh Trâm – Trần Ngân Bình

Page 47: tong quan ve tri tue nhan tao

Chương 9: Học máy

Võ Huỳnh Trâm – Trần Ngân Bình

17

PHẦN II ....................................................................................................................................1 TRÍ TUỆ NHÂN TẠO NHƯ LÀ .............................................................................................1 BIỂU DIỄN VÀ TÌM KIẾM ....................................................................................................1 Chương II ..................................................................................................................................6 LOGIC HÌNH THỨC ...............................................................................................................6

I. PHÉP TÍNH MỆNH ĐỀ ..............................................................................................7 I.1. Định nghĩa – Ký hiệu phép tính mệnh đề............................................................7 I.2. Ngữ nghĩa của phép tính mệnh đề.......................................................................8 I.3. Phép tính vị từ .....................................................................................................9 I.4. Ngữ nghĩa - Phép tính vị từ ...............................................................................10 I.5. Phép tính vị từ bậc nhất (First – order predicate calculus) ...............................11 I.6. Các luật suy diễn ...............................................................................................11

II. ĐỐI SÁNH MẪU VÀ PHÉP HỢP NHẤT................................................................12 II.1. Phép hợp nhất ....................................................................................................12 II.2. Giải thuật đối sánh mẫu.....................................................................................12 II.3. Ứng dụng : Chương trình tư vấn tài chính ........................................................13

BÀI TẬP CHƯƠNG II ............................................................................................15

Page 48: tong quan ve tri tue nhan tao

____________________________________________________________________________________ Chương 2 Mã hóa và điều chế II - 1

CHƯƠNG 2

MÃ HÓA VÀ ĐIỀU CHẾ

PHỔ TẦN CỦA TÍN HIỆU Phổ tần gián đoạn

Phổ tần liên tục MÃ HÓA

Các dạng mã phổ biến Kỹ thuật ngẫu nhiên hóa

ĐIỀU CHẾ Biên độ

Góc Xung

Trong truyền thông, tin tức và dữ liệu là tất cả những gì cần trao đổi, chúng có thể là tiếng nói, hình ảnh, tập hợp các con số, các ký hiệu, các đại lượng đo lường . . . được đưa vào máy phát để phát đi hay nhận được ở máy thu. Tín hiệu chính là tin tức đã được xử lý để có thể truyền đi trên hệ thống thông tin. Việc xử lý bao gồm chuyển đổi, mã hóa và điều chế. Chuyển đổi là biến các tin tức dưới dạng không điện thành ra tín hiệu điện. Mã hóa là gán cho tín hiệu một giá trị nhị phân và đặc trưng bởi các mức điện áp cụ thể để có thể truyền trên kênh truyền và phục hồi ở máy thu. Điều chế là dùng tín hiệu cần truyền để làm thay đổi một thông số nào đó của một tín hiệu khác, tín hiệu này thực hiện nhiệm vụ mang tín hiệu cần truyền đến nơi thu nên được gọi là sóng mang (carrier wave). Mục đích của sự điều chế là dời phổ tần của tín hiệu cần truyền đến một vùng phổ tần khác thích hợp với tính chất của đường truyền và nhất là có thể truyền đồng thời nhiều kênh cùng một lúc (đa hợp phân tần số). Chương này đề cập đến sự điều chế và mã hóa. Nhưng trước tiên, chúng ta cần nhắc lại một số tính chất của tín hiệu qua việc phân tích tín hiệu không sin thành tổng của các tín hiệu hình sin và lưu ý đến mối quan hệ tần số-thời gian của tín hiệu.

2 . 1 phổ tần của tín hiệu Trong một hệ thống thông tin tồn tại 3 dạng tín hiệu với phổ tần khác nhau: - Loại thứ nhất là các tín hiệu có tính tuần hoàn có dạng hình sin hoặc không. Một tín hiệu không sin là tổng hợp của nhiều tín hiệu hình sin có tần số khác nhau. Kết quả này có được bằng cách dùng chuỗi Fourier để phân tích tín hiệu. - Loại thứ hai là các tín hiệu không có tính tuần hoàn mà có tính nhất thời (thí dụ như các xung lực), loại tín hiệu này được khảo sát nhờ biến đổi Fourier. - Loại thứ ba là tín hiệu có tính ngẫu nhiên, không được diễn tả bởi một hàm toán học nào. Thí dụ như các loại nhiễu, được khảo sát nhờ phương tiện xác suất thống kê. Các loại tín hiệu, nói chung, có thể được xét đến dưới một trong hai lãnh vực : - Lãnh vực thời gian: Trong lãnh vực này tín hiệu được diễn tả bởi một hàm theo thời gian, hàm này cho phép xác định biên độ của tín hiệu tại mỗi thời điểm. - Lãnh vực tần số : Trong lãnh vực này người ta quan tâm tới sự phân bố năng lượng của tín hiệu theo các thành phần tần số của chúng và được diễn tả bởi phổ tần.

Trong giới hạn của môn học, chúng ta chỉ đề cập đến hai loại tín hiệu đầu.

__________________________________________________________________________ Nguyễn Trung Lập Truyền dữ liệu

Page 49: tong quan ve tri tue nhan tao

____________________________________________________________________________________ Chương 2 Mã hóa và điều chế II - 2

2.1.1 Phổ tần gián đoạn Tín hiệu có tính tuần hoàn đơn giản nhất là tín hiệu hình sin v(t) = Vm sin ( ωt + φ ) = Vmsin ( 2πft + φ ) Tín hiệu này có phổ tần là một vạch duy nhất có biên độ Vm tại tần số f (H 2.1)

(H 2.1) Các dạng tín hiệu tuần hoàn khác có thể phân tích thành tổng các tín hiệu hình sin, như vậy phổ tần của chúng phức tạp hơn, gồm nhiều vạch ở các tần số khác nhau. Tín hiệu thường gặp có dạng hình chữ nhựt mà bởi phép phân tích thành chuỗi Fourier ta thấy phổ tần bao gồm nhiều vạch ở các tần số cơ bản f và các họa tần 3f, 5f, 7f .... (H 2.2).

(a) (b) (H 2.2) Tín hiệu (H 2.2.a) phân tích thành chuỗi Fourier:

v = .....)cos7ω71cos5ω

51cos3ω

31(cosω4V tttt −+−

π.

Với ω = 2π / T = 2π f T & f lần lượt là chu kỳ và tần số của tín hiệu chữ nhựt. Lưu ý , nếu dời tín hiệu (H 2.2.a) lên một khoảng V theo trục tung thì phổ tần có thêm thành phần một chiều (H 2.3)

(a) (H 2.3) (b)

v = V + .....)t771t5

51t3

31t(4

ω−ω+ω−ωπ

coscoscoscosV

Xét trường hợp chuỗi xung chữ nhựt với độ rộng τ << T , ta có tín hiệu và phổ ở (H 2.4).

__________________________________________________________________________ Nguyễn Trung Lập Truyền dữ liệu

Page 50: tong quan ve tri tue nhan tao

____________________________________________________________________________________ Chương 2 Mã hóa và điều chế II - 3

v= .....)cos3ω3x

sin3xcos2ω2x

sin2xcosωx

sinx(T

2VTV tttττ

+++

với x = πτ / T

(a) (H 2.4) (b) Phổ tần trong trường hợp τ = 0,1T

Nhận thấy biên độ của họa tần thứ n xác định bởi Vn = nx

sinnxT

2Vτ

(H 2.4.b) là phổ tần của tín hiệu (H 2.4.a) cho trường hợp τ = 0,1 T. Trong trường hợp này tần số đầu tiên của tín hiệu có biên độ đạt trị 0 là 10f. Nếu xem băng thông BW của tín hiệu là khoảng tần số mà biên độ tín hiệu đạt giá trị 0 đầu tiên (vì năng lượng tín hiệu tập trung trong khoảng tần số này) ta có: BW xác định bởi: sin(nx) = 0 nx = π ⇒ nπτ / T = π ⇒ n / T = 1/τ hay BW = nf = n/T = 1/τ

2.1.2 Phổ tần liên tục Đối với chuỗi xung ở trên khi T càng lớn khoảng cách phổ vạch càng thu hẹp lại và khi T → ∞, chuỗi xung trở thành một xung duy nhất và phổ vạch trở thành một đường cong liên tục có dạng bao hình của biên độ phổ trước đây (H 2.5). Đường cong xác định bởi:

V(f) = Vτ πfτπfτsin

(a) (b) (H 2.5)

2.2. Mã hóa

Việc tạo mã để có tín hiệu trên các hệ thống số có thể thực hiện một cách đơn giản là gán một giá trị điện thế cho một trạng thái logic và một trị khác cho mức logic còn lại. Tuy nhiên để sử dụng mã một cách có hiệu quả, việc tạo mã phải dựa vào một số tính chất sau:

__________________________________________________________________________ Nguyễn Trung Lập Truyền dữ liệu

Page 51: tong quan ve tri tue nhan tao

____________________________________________________________________________________ Chương 2 Mã hóa và điều chế II - 4

- Phổ tần của tín hiệu: Nếu tín hiệu có chứa tần số cao thì băng thông của tín hiệu và của hệ thống phải rộng Nếu tín hiệu có thành phần DC có thể gây khó khăn trong ghép nối, thí dụ không thể

ghép tín hiệu có thành phần DC qua biến thế và kết quả là không cách ly điện được. Trong thực tế, sự truyền thông xấu nhất ở các cạnh của băng thông. Vì các lý do trên, một tín hiệu tốt phải có phổ tần tập trung ở giữa một băng thông

không quá rộng và không nên chứa thành phần DC. - Sự đồng bộ Thường máy thu phải có khả năng nhận ra điểm bắt đầu và kết thúc của một bit để

thực hiện sự đồng bộ với máy phát. Nên nhớ là trong chế độ truyền đồng bộ, máy phát và thu không tạo ra xung đồng hồ riêng rẻ mà máy thu phải phục hồi xung này từ chuỗi dữ liệu phát để sử dụng. Như vậy tín hiệu truyền phải tạo điều kiện cho máy thu phục hồi xung đồng hồ ẩn trong chuỗi dữ liệu, cụ thể là phải thường xuyên có sự biến đổi giữa các mức của tín hiệu.

- Khả năng dò sai Độ tin cậy trong một hệ thống thông tin số là rất cần thiết do đó máy thu phải có khả

năng dò sai để sửa chữa mà việc này có thực hiện dễ dàng hay không cũng tùy vào dạng mã. - Tính miễn nhiễu và giao thoa Các dạng mã khác nhau cho khả năng miễn nhiễu khác nhau. Thí dụ mã Bipolar-AMI

là loại mã có khả năng phát hiện được nhiễu. - Mức độ phức tạp và giá thành của hệ thống Các đặc tính này của hệ thống cũng tùy thuộc vào dạng mã rất nhiều

2.2.1 Các dạng mã phổ biến Dưới đây giới thiệu một số dạng mã thông dụng và được sử dụng cho các mục đích

khác nhau tùy vào các yêu cầu cụ thể về các tính chất nói trên (H 2.6) - Nonreturn - to - zero - Level (NRZ - L)

0 = mức cao 1 = mức thấp

Đây là dạng mã đơn giản nhất, hai trị điên thế cùng dấu (đơn cực) biểu diễn hai trạng thái logic. Loại mã này thường được dùng trong việc ghi dữ liệu lên băng từ, đĩa từ . . . .

- Nonreturn - to - zero inverted (NRZI)

0 = chuyển mức điện thế ở đầu bit 1 = không chuyển mức điện thế ở đầu bit

__________________________________________________________________________ Nguyễn Trung Lập Truyền dữ liệu

Page 52: tong quan ve tri tue nhan tao

____________________________________________________________________________________ Chương 2 Mã hóa và điều chế II - 5

(H 2.6)

NRZI là một thí dụ của mã vi phân: sự mã hóa tùy vào sự thay đổi trạng thái của các bit liên tiếp chứ không tùy thuộc vào bản thân bit đó. Loại mã này có lợi điểm là khi giải mã máy thu chỉ cần dò sự thay đổi trạng thái của tín hiệu thì có thể phục hồi dữ liệu thay vì phải so sánh tín hiệu với một trị ngưỡng để xác định trạng thái logic của tín hiệu đó. Kết quả là các loại mã vi phân cho độ tin cậy cao hơn.

- Bipolar - AMI 0 = không tín hiệu (hiệu thế = 0) 1 = hiệu thế âm hoặc dương, luân phiên thay đổi với chuỗi bit 1 liên tiếp

- Pseudoternary 0 = hiệu thế âm hoặc dương, luân phiên thay đổi với chuỗi bit 0 liên tiếp 1 = không tín hiệu (hiệu thế = 0)

Hai loại mã có cùng tính chất là sử dụng nhiều mức điện thế để tạo mã (Multilevel Binary), cụ thể là 3 mức: âm, dương và không. Lợi điểm của loại mã này là:

- Dễ tạo đồng bộ ở máy thu do có sự thay đổi trạng thái của tín hiệu điện mặc dù các trạng thái logic không đổi (tuy nhiên điều này chỉ thực hiện đối với một loại bit, còn loại bit thứ hai sẽ được khắc phục bởi kỹ thuật ngẫu nhiên hóa)

- Có điều kiện tốt để dò sai do sự thay đổi mức điện thế của các bit liên tiếp giống nhau nên khi có nhiễu xâm nhập sẽ tạo ra một sự vi phạm mà máy thu có thể phát hiện dễ dàng.

Một khuyết điểm của loại mã này là hiệu suất truyền tin kém do phải sử dụng 3 mức điện thế .

- Manchester

0 = Chuyển từ cao xuống thấp ở giữa bit 1 = Chuyển từ thấp lên cao ở giữa bit

- Differential Manchester Luôn có chuyển mức ở giữa bit 0 = chuyển mức ở đầu bit 1 = không chuyển mức ở đầu bit

Hai mã Manchester và Differential Manchester có cùng tính chất : mỗi bit được đặc trưng bởi hai pha điện thế (Biphase) nên luôn có sự thay đổi mức điện thế ở từng bit do đó tạo

__________________________________________________________________________ Nguyễn Trung Lập Truyền dữ liệu

Page 53: tong quan ve tri tue nhan tao

____________________________________________________________________________________ Chương 2 Mã hóa và điều chế II - 6

điều kiện cho máy thu phục hồi xung đồng hồ để tạo đồng bộ. Do có khả năng tự thực hiện đồng bộ nên loại mã này có tên Self Clocking Codes. Do mỗi bit được mã bởi 2 pha điện thế nên vận tốc điều chế (Modulation rate) của loại mã này tăng gấp đôi so với các loại mã khác, cụ thể , giả sử thời gian của 1 bit là T thì vận tốc điều chế tối đa (ứng với chuỗi xung 1 hoặc 0 liên tiếp) là 2/T

2.2.2 Kỹ thuật ngẫu nhiên hóa (Scrambling techniques) Để khắc phục khuyết điểm của loại mã AMI là cho một mức điện thế không đổi khi có một chuỗi nhiều bit 0 liên tiếp, người ta dùng kỹ thuật ngẫu nhiên hóa. Nguyên tắc của kỹ thuật này là tạo ra một sự thay đổi điện thế giã bằng cách thay thế một chuỗi bit 0 bởi một chuỗi tín hiệu có mức điện thế thay đổi, dĩ nhiên sự thay thế này sẽ đưa đến các vi phạm luật biến đổi của bit 1, nhưng chính nhờ các bit vi phạm này mà máy thu nhận ra để có biện pháp giải mã thích hợp. Dưới đây giới thiệu hai dạng mã đã được ngẫu nhiên hóa và được dùng rất nhiều trong các hệ thông tin với khoảng cách rất xa và vận tốc bit khá lớn:

- B8ZS : là mã AMI có thêm tính chất: chuỗi 8 bit 0 liên tục được thay bởi một chuỗi 8 bit có cả bit 0 và 1 với 2 mã vi phạm luật đảo bit 1

- Nếu trước chuỗi 8 bit 0 là xung dương, các bit 0 này được thay thế bởi 000 + - 0 - + - Nếu trước chuỗi 8 bit 0 là xung âm, các bit 0 này được thay thế bởi 000 - + 0 + - Nhận xét bảng mã thay thế ta thấy có sự vi phạm luật đảo bit ở 2 vị trí thư 4 và thứ 7 của chuỗi 8 bit.

- HDB3 : là mã AMI có thêm tính chất: chuỗi 4 bit 0 liên tục được thay bởi một chuỗi 4 bit có cả bit 0 và 1 với 1 mã vi phạm luật đảo bit 1 Sự thay thế chuỗi 4 bít của mã HDB3 còn theo qui tắc sau:

Cực tính của xung trước đó Số bít 1 từ lần thay thế cuối cùng Lẻ chẵn

- +

000- +00+ 000+ -00-

Sự vi phạm luật đảo bit xảy ra ở bit thứ 4 trong chuỗi 4 bit.

Ngoài ra hệ thống Telco còn có hai loại mã là B6ZS và B3ZS dựa theo qui luật sau: - B6ZS: Thay chuỗi 6 bit 0 bởi 0 - + 0 + - hay 0 + - 0 - + sao cho sự vi phạm xảy ra ở

bit thứ 2 và thứ 5 - B3ZS: Thay chuỗi 3 bit 0 bởi một trong các chuỗi: 00 +, 00 -, - 0 - hay + 0 +, tùy

theo cực tính và số bit 1 trước đó (tưong tự như HDB3). Lưu ý là kỹ thuật ngẫu nhiên hóa không làm gia tăng lượng tín hiệu vì chuỗi thay thế

có cùng số bit với chuỗi được thay thế. (H 2.7) là một thí dụ của mã B8ZS và HBD3.

__________________________________________________________________________ Nguyễn Trung Lập Truyền dữ liệu

Page 54: tong quan ve tri tue nhan tao

____________________________________________________________________________________ Chương 2 Mã hóa và điều chế II - 7

B = Valid bipolar signal; V = Bipolar violation

(H 2.7)

2.3 Điều chế

Biến điệu hay điều chế là quá trình chuyển đổi phổ tần của tín hiệu cần truyền đến một vùng phổ tần khác bằng cách dùng một sóng mang để chuyên chở tín hiệu cần truyền đi; mục đích của việc làm này là chọn một phổ tần thích hợp cho việc truyền thông tin, với các tần số sóng mang khác nhau người ta có thể truyền nhiều tín hiệu có cùng phổ tần trên các kênh truyền khác nhau của cùng một đường truyền. Một cách tổng quát, phương pháp điều chế là dùng tín hiệu cần truyền làm thay đổi một thông số nào đó của sóng mang (biên độ, tần số, pha....). Tùy theo thông số được lựa chọn mà ta có các phương pháp điều chế khác nhau: điều chế biên độ (AM), điều chế tần số (FM), điều chế pha ΦM, điều chế xung PM . . . ..

2.3.1 Điều chế biên độ ( Amplitude Modulation, AM ) Xét tín hiệu cao tần e(t) = Ac cos(ωct + θ) (1) Tín hiệu AM có được bằng cách dùng tín hiệu g(t) làm biến đổi biên độ của e(t).

Biểu thức của tín hiệu AM là: eAM(t) = [(Ac +g(t)]cosωct (2) Để đơn giản, ta bỏ qua θ là lượng không đổi trong AM. Những tính chất cơ bản của AM dễ dàng được xác định nếu ta biết tín hiệu g(t). Xét g(t) là tín hiệu hạ tần: g(t) = Em cosωmt (3) Như vậy: eAM(t) = (Ac +Em cosωmt)cosωct = Ac[ 1 + (Em/Ac) cosωmt]cosωct = Ac[ 1 + ma cosωmt] cosωct (4) Trong đó ma = Em/Ac gọi là chỉ số biến điệu (H 2.8) vẽ dạng sóng và phổ tần của tín hiệu AM.

__________________________________________________________________________ Nguyễn Trung Lập Truyền dữ liệu

Page 55: tong quan ve tri tue nhan tao

____________________________________________________________________________________ Chương 2 Mã hóa và điều chế II - 8

(a) (H 2.8) (b) Để thấy được phổ tần ta triển khai hệ thức (4) eAM(t) = Ac cosωct + (maAc/2)cos(ωc + ωm)t + (maAc/2)cos(ωc - ωm)t (5) Từ (H 2.8b) ta thấy băng thông của tín hiệu đã điều chế bằng hai lần tần số của tín hiệu hạ tần và được chia ra làm hai băng cạnh. Điều chế biên độ là một quá trình tuyến tính nên mỗi tần số của tín hiệu hạ tần tạo ra một băng thông và trong trường hợp tín hiệu hạ tần gồm nhiều tần số khác nhau thì băng thông của tín hiệu biến điệu là: BW = 2fm(max) fm (max) là tần số hạ tần cao nhất. Dữ liệu số có thể được truyền bằng phương pháp điều chế AM, trong trường hợp này gọi là kỹ thuật dời biên (ASK, Amplitude- Shift Keying). Bit 1 được truyền đi bởi sóng mang có biên độ E1 và bit 0 bởi sóng mang biên độ E2. (H 2.9) minh họa tín hiệu ASK

(H 2.9)

2.3.2 Điều chế góc (Angle modulation) Ta cũng bắt đầu với sóng mang chưa điều chế: e(t) = Ac cos(ωct + θ) = Ac cosΦ(t) (6) Nếu ωc thay đổi tương ứng với nguồn thông tin, ta có tín hiệu điều chế tần số (FM) và nếu Φ(t) thay đổi ta có tín hiệu điều chế pha (ΦM).

Hai kỹ thuật điều chế này cơ bản giống nhau và được gọi chung là điều chế góc.

2.3.2.1 Điều chế tần số (FM) Tần số ω(t) là giá trị biến đổi theo thời gian của Φ(t), nghĩa là:

ω(t) = dt

td )(Φ (7)

Vậy tần số của tín hiệu chưa điều chế là:

ω(t) = cc

dttd ωθω

=+ )(

(8)

__________________________________________________________________________ Nguyễn Trung Lập Truyền dữ liệu

Page 56: tong quan ve tri tue nhan tao

____________________________________________________________________________________ Chương 2 Mã hóa và điều chế II - 9

Giả sử tín hiệu điều chế là g(t), theo định nghĩa của phép điếu chế tần số, tần số tức thời của sóng mang là: ω(t) = ωc [1 + g(t) ] (9) Thay (9) vào (7): Φ(t) = ∫∫ +=+ g(t).dtt g(t)].dt[1 cc ωω (10) Thay vào pt (6):

eFM(t) = g(t).dttcosA ccc ∫+ωω (11) Biểu thức (11) cho thấy tín hiệu g(t) được lấy tích phân trước khi được điều chế.

Xét trường hợp g(t) là tín hiệu hạ tần có dạng hình sin:

g(t) = cωω∆ cosωm(t) (12)

∆ω là độ di tần và ωm là tần số của tín hiệu hạ tần

Φ(t) = t.dtcost mc

cc ωωωωω ∫

∆+

= ωct + mf sinωmt với mf = ∆ω / ωm là chỉ số điều chế. Đó là tỉ số của độ di tần và tần số của tín hiệu điều chế (hạ tần). eFM (t) = Ac cos ωct + mf sinωmt (13) Để thấy phổ tần của sóng FM ta triển khai biểu thức (13):

eFM (t) = AcJ0(mf) cosωct + AcJ2n(mf) [ cos(ωct + 2ncosωmt) + cos(ωct - 2ncosωmt)] AcJ2n+1(mf) cos[ωc t + (2n+1)cosωmt] - cos[ωct - (2n+1)cosωmt] (14)

J là hàm Bessel theo mf và n có mọi trị nguyên từ 0 đến ∞. Từ (14) ta thấy sóng FM gồm thành phần cơ bản có tần số của sóng mang và biên độ cho bởi số hạng thứ I , J0(mf) , và các băng cạnh cho bởi các số hạng còn lại.

Vì n lấy mọi giá trị từ 0 đến ∞ nên phổ tần của sóng FM rộng vô hạn, tuy nhiên do năng lượng tín hiệu giảm rất nhanh với tần số cao nên người ta xem băng thông trong FM xấp xĩ bằng: BW = 2(mf .ωm + ωm ) = 2( ∆ω + ωm ) rad/s (H 2.10) cho dạng sóng và phổ tần của sóng FM

(H 2.10) Cũng như trong trường hợp AM, tín hiệu dữ liệu số cũng được truyền bằng phương pháp FM. Kỹ thuật này được gọi là kỹ thuật dời tần (FSK: Frequency- Shift Keying). FSK được dùng rộng rãi trong truyền số liệu. Trong FSK bit 1 được truyền đi bởi tần số fm và bit 0 bởi tần số fs ví dụ, trong hệ thống truyền sử dụng tiêu chuẩn của hảng Bell bit 1 được truyền bởi tần số 1070 Hz (fm) và bit 0 bởi tần số 1270 Hz (fs). (H 2.11) minh họa tín hiệu điều chế FSK

__________________________________________________________________________ Nguyễn Trung Lập Truyền dữ liệu

Page 57: tong quan ve tri tue nhan tao

____________________________________________________________________________________ Chương 2 Mã hóa và điều chế II - 10

(H 2.11)

2.3.2.2 Điều chế pha ( ΦM )

Từ phương trình (6) nếu góc pha Φ(t) thay đổi theo tín hiệu thông tin ta có điều chế pha. Vậy: ePM (t) = Ac cos[ ωct + mp g(t)] (15) Trong đó mp là độ dời pha cực đại

Tần số tức thời cho bởi: ωi(t) = dΦ(t)/dt

= ωc + mp dg t

dt( )

Nếu g(t) có dạng cosωmt thì: ωi(t) = ωc - mpωmsinωmt (16) ePM (t) = Ac cos[ ωct - mpωmsinωmt ] (17) So sánh (17) và (13), xem mp là chỉ số điều chế pha, tương đương với mf trong FM, ta có thể xác định được băng thông của tín hiệu ΦM BW = 2(ωm + mpωm) rad/s (18) mpωm = ∆ωep là độ di tần tương đương của ΦM So sánh (11) và (15) ta thấy kỹ thuật của FM và ΦM có cùng cơ sở. Điểm khác biệt là trong FM ta lấy tích phân của tín hiệu hạ tần trước khi điều chế còn trong ΦM thì không. Điều chế pha là kỹ thuật rất tốt để truyền số liệu. Trong kỹ thuật dời pha, PSK (Phase-Shift Keying), các bit 1 và 0 được biểu diễn bởi các tín hiệu có cùng tần số nhưng có pha trái ngược nhau.

(H 2.12) mô tả một tín hiệu PSK.

(H 2.12)

2.3.3 Điều chế xung ( Pulse modulation) Đây là phương pháp dùng tín hiệu hạ tần điều chế sóng mang là tín hiệu xung (có tần số cao hơn), còn gọi là phương pháp lấy mẫu tín hiệu hạ tần. Mặc dù các tín hiệu tương tự được lấy mẫu bởi các giá trị rời rạc, nhưng các mẫu này có thể có bất cứ giá trị nào trong khoảng biến đổi của tín hiệu hạ tần nên hệ thống truyền tín hiệu này là hệ thống truyền tương tự chứ không phải hệ thống truyền số.

__________________________________________________________________________ Nguyễn Trung Lập Truyền dữ liệu

Page 58: tong quan ve tri tue nhan tao

____________________________________________________________________________________ Chương 2 Mã hóa và điều chế II - 11

Tùy theo thông số nào của xung thay đổi theo tín hiệu hạ tần, ta có : Điều chế biên độ xung (pulse amplitude modulation, PAM), điều chế vị trí xung (pulse position modulation, PPM), điều chế độ rộng xung (pulse width modulation, PWM)

2.3.3.1 Điều chế biên độ xung ( PAM)

Khi một chuỗi xung hẹp với tần số lặp lại cao p(t) được điều chế biên độ bởi tín hiệu sin tần số thấp m(t), ta có sự điều chế biên độ xung. Tín hiệu sau khi điều chế là tích của hai tín hiệu m(t).p(t) có dạng sóng là các xung với biên độ thay đổi theo dạng sóng hạ tần m(t) (H 2.13).

(H 2.13)

a-/ Mẫu PAM tự nhiên (Natural PAM sampling) Khi biên độ xung đã điều chế có đỉnh theo dạng của tín hiệu m(t), ta có mẫu PAM tự nhiên (H 2.13). Kết quả của phần 2.1.1 cho thấy tín hiệu p(t) có thể phân tích thành các thành phần:

Vo + Σ Vn.cos(nωst) với Vo = Vτ/Ts là thành phần DC và ωs = 2π/Ts là tần số của p(t). Như vậy, m(t).p(t) bao gồm:

m(t).Vo = m(t).Vτ/Ts và m(t).ΣVn.cos(nωst) Tóm lại, tích m(t).p(t) có chứa dạng sóng của tín hiệu điều chế (tín hiệu cần truyền) trong thành phần tần số thấp m(t).Vo và có thể phục hồi bằng cách cho sóng mang đã điều chế qua một mạch lọc hạ thông. Thành phần họa tần có dạng Vnm(t)cos(nωst) tương tự như tín hiệu điều chế 2 băng cạnh triệt sóng mang (Double Sideband Suppressed Carrier, DSBSC). Phổ tần của tín hiệu PAM với hạ tần là m(t) = sinωmt có dạng như (H 2.14)

(H 2.14) Trong (H 2.14) M(f) là phổ tần của tín hiệu dải nền và fm là tần số cao nhất của tín hiệu này. Từ (H 2.14) ta cũng thấy tại sao tần số xung lấy mẫu fs phải ít nhất hai lần lớn hơn fm . Nếu M(f) được phục hồi từ mạch lọc hạ thông, độ phân cách từ M(f) tới dải tần kế cận phải lớn hơn 0, nghĩa là W > 0 W = fs - fm - fm > 0 hay fs > 2 fm

__________________________________________________________________________ Nguyễn Trung Lập Truyền dữ liệu

Page 59: tong quan ve tri tue nhan tao

____________________________________________________________________________________ Chương 2 Mã hóa và điều chế II - 12

b-/ Mẫu PAM đỉnh phẳng (Flat-top PAM) Đây là mẫu PAM được dùng rộng rãi do dễ tạo ra sóng điều chế. Dạng sóng cho ở (H 2.15) các xung sau khi điều chế có đỉnh phẳng chứ không theo dạng của hạ tần.

(H 2.15) Mặc dù khi phục hồi tín hiệu từ mạch lọc hạ thông sẽ có biến dạng do đoạn đỉnh phẳng nhưng vì bề rộng xung thường rất nhỏ so với chu kỳ Ts nên biến dạng không đáng kể. Nếu sự biến dạng là đáng kể thì cũng có thể loại bỏ bằng cách cho tín hiệu đi qua một mạch bù trừ. Tín hiệu PAM ít được dùng để phát trực tiếp do lượng thông tin cần truyền chứa trong biên độ của xung nên dễ bị ảnh hưởng của nhiễu. PAM thường được dùng như là một bước trung gian trong một phương pháp điều chế khác, gọi là điều mã xung (pulse code modulation, PCM) và được dùng trong đa hợp thời gian để truyền (TDM).

2.3.3.2 Điều chế thời gian xung (Pulse -time Modulation, PTM)

Điều chế thời gian xung bao gồm bốn phương pháp (H 2.16). Ba phương pháp đầu tập trung trong một nhóm gọi là điều chế độ rộng xung (Pulse-width modulation, PWM) (H 2.16d, e, f), phương pháp thứ tư là điều chế vị trí xung (Pulse-position modulation, PPM) (H 2.16g). Ba phương pháp điều chế độ rộng xung khác nhau ở điểm cạnh lên, cạnh xuống hay điểm giữa xung được giữ cố định trong khi độ rộng xung thay đổi theo tín hiệu điều chế. Phương pháp thứ tư, PPM là thay đổi vị trí xung theo tín hiệu điều chế trong khi bề rộng xung không đổi. (H 2.16) minh họa cho các cách điều chế này.

Lưu ý là kỹ thuật PTM tưong tự với điều chế FM và ΦM, tín hiệu có biên độ không đổi nên ít bị ảnh hưởng bởi nhiễu. Phổ tần của tín hiệu đã điều chế bằng phương pháp PWM, PPM giống như phổ tần của tín hiệu điều chế FM (H 2.16h), nghĩa là có nhiều họa tần nên khi sử dụng PWM và PPM người ta phải gia tăng tần số xung lấy mẫu hoặc giảm độ di tần (để giới hạn băng thông của tín hiệu và tăng số kênh truyền).

__________________________________________________________________________ Nguyễn Trung Lập Truyền dữ liệu

Page 60: tong quan ve tri tue nhan tao

____________________________________________________________________________________ Chương 2 Mã hóa và điều chế II - 13

(H 2.16)

__________________________________________________________________________ Nguyễn Trung Lập Truyền dữ liệu

Page 61: tong quan ve tri tue nhan tao

Chương 3: Tìm kiếm Trong Không Gian Trạng Thái

Chương III

CÁC CẤU TRÚC VÀ CHIẾN LƯỢC DÙNG CHO VIỆC TÌM KIẾM TRONG

KHÔNG GIAN TRẠNG THÁI

Nội dung chính : Trong chương này, chúng ta giới thiệu về lý thuyết của việc tìm kiếm trong không gian trạng thái. Để thiết kế và thực hiện thành công các thuật toán tìm kiếm, người lập trình phải có khả năng phân tích và dự đoán hành vi của chúng. Lý thuyết tìm kiếm trong không gian trạng thái (state space search) là công cụ cơ bản để giải quyết vấn đề này. Nội dung chương III sẽ trình bày định nghĩa về không gian trạng thái, giới thiệu một số các ví dụ minh họa việc mô tả vấn đề dùng lý thuyết đồ thị, nêu ra hai hướng tìm kiếm trong không gian trạng thái (hướng dữ liệu và hướng mục tiêu) và tập trung phân tích các chiến lược chủ yếu dùng cho việc tìm kiếm trên không gian trạng thái đồ thị như: tìm kiếm rộng, tìm kiếm sâu, tìm kiếm sâu đào sâu nhiều lần, … Phần cuối chương cũng đề cập đến việc dùng không gian trạng thái để biểu diễn quá trình suy luận bằng phép tính vị từ trên đồ thị AND/OR.

Mục tiêu cần đạt : Sau chương này, sinh viên có thể :

Vận dụng lý thuyết đồ thị để xây dựng mô hình toán cho một bài toán cụ thể. Vận dụng các chiến lược tìm kiếm Vận dụng đồ thị AND/OR để biểu diễn quá trình suy luận trên không gian trạng thái

của một hệ logic.

Kiến thức tiên quyết: Lý thuyết đồ thị, Các thuật toán tìm kiếm trên đồ thị, Logic hình thức, …

Tài liệu tham khảo :

[1] George F. Luger, William A. Stubblefield – Albuquerque – Artificial Intelligence – Wesley Publishing Company, Inc – 1997 (Chapter3)

[2] Bùi Xuân Toại – Trương Gia Việt (Biên dịch) – Trí tuệ nhân tạo – Các cấu trúc và chiến lược giải quyết vấn đề - NXB Thống kê, 2000 (Phần II)

[3] Wikipedia – Bách khoa toàn thư mở - Lý thuyết đồ thị http://en.wikipedia.org/wiki/Graph_theory

[4] Lecture note for February 15, 1996-ICS 161: Design and Analysis of Algorithm – BFS và DFS http://www.ics.uci.edu/~eppstein/161/960215.html

Võ Huỳnh Trâm – Trần Ngân Bình 43

Page 62: tong quan ve tri tue nhan tao

Giáo Trình Trí Tuệ Nhân Tạo

I MỞ ĐẦU

Bằng cách biểu diễn bài toán dưới dạng đồ thị không gian trạng thái (state space graph), chúng ta có thể dùng lý thuyết đồ thị (graph theory) để phân tích cấu trúc và độ phức tạp của bài toán này lẫn các thủ tục dùng để giải quyết nó.

Một đồ thị sẽ bao gồm một số nút (node) và một số cung (arc), hay còn gọi là liên kết (link), nối giữa các cặp nút. Trong mô hình không gian trạng thái của bài toán, các nút của đồ thị được dùng để biểu diễn các trạng thái rời rạc trong quá trình đó, như các kết quả của những suy diễn logic hay các cấu hình của một bảng trò chơi chẳng hạn. Còn các cung thì biểu diễn sự chuyển tiếp giữa các trạng thái đó. Những chuyển tiếp này tương ứng với các bước suy diễn logic hoặc các di chuyển hợp luật của một trò chơi.

Lý thuyết đồ thị là một công cụ tốt nhất của chúng ta trong việc suy luận về cấu trúc của các đối tượng và các mối quan hệ. Thật vậy, đây cũng chính là một trong những nguyên nhân dẫn đến sự sáng tạo ra nó vào thời kỳ đầu thế kỷ XVIII.

Nhà toán học người Áo Leonhard Euler đã phát minh ra lý thuyết đồ thị để giải quyết “bài toán các cây cầu của Konigsberg”. Thành phố Konigsberg nằm trên cả hai bờ và hai hòn đảo của một con sông. Người ta nối các đảo và hai bờ sông với nhau bằng bảy chiếc cầu như hình 3.1

Bờ sông 1

Bờ sông 2

Đảo 1 Đảo 21

2 3

5 6

4

7

Hình 3.1 - Biểu diễn không gian trạng thái hệ thống cầu thành phố Konigsberg

Bài toán Konigsberg đặt câu hỏi là liệu có thể đi khắp thành phố mà chỉ ngang qua mỗi cây cầu một lần hay không? Mặc dù những người dân ở đây không ai tìm được lối đi nào như vậy, nhưng họ vẫn nghi ngờ là có thể, đồng thời cũng không ai chứng minh được là không có khả năng. Nhờ phát minh dạng lý thuyết đồ thị, Euler đã tạo ra cách biểu diễn phương án lựa chọn cho bản đồ thành phố như trên hình 3.2

44 Võ Huỳnh Trâm – Trần Ngân Bình

Page 63: tong quan ve tri tue nhan tao

Chương 3: Tìm kiếm Trong Không Gian Trạng Thái

đ1 đ2

bs1

bs2

c2c3

c1

c6c5 c7

c4

Hình 3.2 - Đồ thị của hệ thống cầu Konigsberg

Các bờ sông (bs1 và bs2) và các hòn đảo (đ1 và đ2) đều được mô tả bằng các nút của đồ thị; còn các cây cầu được biểu diễn bằng các cung có đánh dấu nối giữa các nút (c1, c2, ..., c7). Đồ thị này biểu diễn cấu trúc bản chất của hệ thống cầu, bỏ qua các đặc trưng phụ khác như khoảng cách và hướng chẳng hạn.

Câu hỏi :

Chu trình Hamilton là con đường sử dụng tất cả các nút của đồ thị đúng một lần ? Bạn nghĩ có tồn tại một con đường như vậy trong đồ thị hệ thống cầu Konigsberg ?

ĐỊNH NGHĨA TÌM KIẾM TRONG KHÔNG GIAN TRẠNG THÁI

Một không gian trạng thái (state space) được biểu diễn bằng một nhóm gồm bốn yếu tố [N, A, S, GD], trong đó:

N (node) là tập hợp các nút hay các trạng thái của đồ thị. Tập này tương ứng với các trạng thái trong quá trình giải bài toán.

A (arc) là tập các cung (hay các liên kết) giữa các nút. Tập này tương ứng với các bước trong quá trình giải bài toán.

S (Start) là một tập con không rỗng của N, chứa (các) trạng thái ban đầu của bài toán.

GD (Goal Description) là một tập con không rỗng của N, chứa (các) trạng thái đích của bài toán. Các trạng thái trong GD được mô tả theo một trong hai đặc tính:

1. Đặc tính có thể đo lường được các trạng thái gặp trong quá trình tìm kiếm. 2. Đặc tính của đường đi được hình thành trong quá trình tìm kiếm.

Đường đi của lời giải (solution path) là đường đi qua đồ thị này từ một nút trong S đến một nút trong GD.

Võ Huỳnh Trâm – Trần Ngân Bình 45

Page 64: tong quan ve tri tue nhan tao

Giáo Trình Trí Tuệ Nhân Tạo

Một đích có thể mô tả như một trạng thái, như bảng thắng cuộc trong trò chơi Tic - tac - toe hay một cấu hình đích trong trò đố 8 ô. Nhưng mặt khác, đích cũng có thể được mô tả như một đặc tính nào đó của chính đường đi lời giải.

Trong bài toán di chuyển của người bán hàng (hình 3.6 và 3.7), quá trình tìm kiếm sẽ kết thúc khi tìm được đường đi ngắn nhất qua tất cả các nút của đồ thị. Trong bài toán phân tích ngữ pháp, đường đi của quá trình phân tích thành công đối với một câu sẽ cho biết rõ điểm kết thúc.

Các cung của không gian trạng thái tương ứng với các bước trong quá trình giải bài toán, và các đường đi qua không gian này sẽ biểu diễn các lời giải trong các giai đoạn hoàn thành khác nhau. Các đường đi sẽ được khảo sát, bắt đầu từ trạng thái xuất phát và tiếp tục đi xuyên qua đồ thị, cho đến khi gặp được một mô tả đích thỏa mãn hoặc đến khi không đi được nữa. Việc tạo ra các trạng thái mới trên đường đi sẽ được thực hiện bằng cách áp dụng các thao tác, như “các di chuyển hợp lệ” trong trò chơi hay quy tắc suy diễn trong bài toán logic và trong hệ chuyên gia chẳng hạn, vào các trạng thái hiện hữu trên đường đi.

Nhiệm vụ của thuật toán tìm kiếm là tìm ra đường đi lời giải trong một không gian bài toán như vậy. Thuật toán tìm kiếm phải lưu vết các đường đi dẫn từ nút xuất phát đến nút đích, vì các đường đi này chứa hàng loạt thao tác dẫn đến lời giải của bài toán. Một đặc trưng phổ biến của đồ thị, đồng thời là vấn đề phát sinh khi thiết kế thuật toán tìm kiếm trên đồ thị, là đôi khi tiếp cận một trạng thái nào đó bằng nhiều đường đi khác nhau.

Thí dụ 3.1: Trò chơi tic–tac-toe

Cách biểu diễn không gian trạng thái của Tic-tac-toe như trong hình 2.1. Trạng thái xuất phát là một bảng rỗng, và đích kết thúc (hay mô tả đích) là một trạng thái dạng bảng có 3 ô x trong một hàng, một cột, hay một đường chéo (giả sử đích là một thắng cuộc đối với X). Đường đi từ trạng thái xuất phát đến trạng thái đích sẽ cho ta hàng loạt nước đi cho một ván thắng.

Các trạng thái trong không gian này là các cách sắp xếp tập hợp ô rỗng, X, O trong chín ô trống của trạng thái bắt đầu, như vậy ta sẽ có 39 cách sắp xếp, nhưng hầu hết chúng không bao giờ xảy ra trong một ván chơi thực tế. Các cung sẽ được tạo ra bởi các nước đi đúng luật trong cuộc chơi, sau khi luân phiên đặt X và O vào một vị trí chưa dùng đến. Không gian trạng thái này là một đồ thị chứ không phải một cây, vì có thể đạt đến một số trạng thái nằm ở mức thứ ba và các mức sâu hơn bằng các đường đi khác nhau. Tuy vậy không có vòng lặp nào trong không gian trạng thái này vì các cung có hướng của đồ thị không cho phép đi lại một nước đã đi, nghĩa là không được phép “đi ngược trở lại” một cấu trúc một khi đã đi đến trạng thái nào đó. Do đó, không cần phải kiểm tra về vòng lặp trong việc tạo ra đường đi. Một cấu trúc đồ thị có đặc tính như vậy gọi là đồ thị có hướng không lặp lại (directed acyclic graph), hay DAG và phổ biến trong các quá trình tìm kiếm không gian trạng thái.

Việc biểu diễn không gian trạng thái cho chúng ta một phương tiện để xác định mức độ phức tạp của bài toán. Trong Tic-Tac-Toe có chín cách đi đầu tiên với tám khả năng có thể xảy ra đối với mỗi cách đi đó; tiếp theo là bảy khả năng có thể xảy ra nữa cho từng cách đi ở lượt thứ hai, … Như vậy có tất cả 9 x 8 x 7 x … hay 9! đường đi khác nhau có thể được tạo ra. Mặc dù máy tính hoàn toàn có đủ khả năng thăm dò hết số lượng đường đi này (362880), nhưng nhiều bài toán quan trọng có mức độ phức tạp theo qui luật số mũ hay giai thừa với qui mô lớn hơn nhiều. Cờ vua có 10120 cách đi có thể xảy ra cho một ván chơi, cờ đam có

46 Võ Huỳnh Trâm – Trần Ngân Bình

Page 65: tong quan ve tri tue nhan tao

Chương 3: Tìm kiếm Trong Không Gian Trạng Thái

1040 cách đi, một số trong đó có thể không bao giờ xảy ra ở một ván chơi thực tế. Các không gian này rất khó hoặc không thể nào khảo sát cho đến hết được. Chiến lược tìm kiếm đối với một không gian lớn như vậy thường phải dựa vào các heuristic để làm giảm bớt mức độ phức tạp cho quá trình tìm kiếm.

Thí dụ 3.2: Trò đố 8 ô

Nguyên bản của trò chơi là trò đố 15 ô như hình 3.3, có 15 viên gạch đánh số khác nhau được đặt vừa vào 16 ô vuông theo bảng. Có một ô vuông để trống nên các viên gạch đó có thể di chuyển loanh quanh để tạo ra các sắp xếp khác nhau. Mục tiêu là tìm ra một chuỗi bước di chuyển các viên gạch vào ô trống để sắp xếp bảng thành một cấu hình đích nào đó. Không gian trạng thái bài toán đủ lớn để xem xét (16! nếu các trạng thái đối xứng được xem xét riêng biệt).

1 2 3 4

12 13 14 5

11 15 6

10 9 8 7

15-puzzle 8-puzzle

Hình 3.3 - Trò đố 15 ô và 8 ô

1 2 3

8 4

7 6 5

Trò đố 8 ô là một phiên bản với kích thước 3 x 3 của trò đố 15 ô, vì nó tạo ra không gian trạng thái nhỏ hơn so với trò đố 15 ô nên thường được dùng cho nhiều ví dụ. Các cách di chuyển đúng luật là:

1. Di chuyển ô trống lên phía trên (Up) 2. Di chuyển ô trống về bên phải (Right) 3. Di chuyển ô trống xuống phía dưới (Down) 4. Di chuyển ô trống về bên trái (Left)

Để áp dụng một di chuyển, phải bảo đảm rằng không di chuyển ô trống ra ngoài bảng. Do đó, tất cả bốn cách di chuyển này không phải lúc nào cũng có thể áp dụng. Nếu đã xác định một trạng thái xuất phát và một trạng thái đích thì có thể đưa ra một sơ đồ không gian trạng thái của quá trình giải toán. Giống như trò chơi Tic-tac-toe không gian trạng thái của trò đố 8 ô cũng là một đồ thị (với hầu hết các trạng thái đều có nhiều nút cha), nhưng khác Tic-tac-toe là có vòng lặp. Mô tả đích (GD) của không gian trạng thái này là một trạng thái cụ thể, tức một cấu hình bảng cụ thể nào đó. Khi tìm được trạng thái này trên đường đi, quá trình tìm kiếm kết thúc. Đường đi từ trạng thái xuất phát đến trạng thái đích là dãy các bước di chuyển theo yêu cầu.

Võ Huỳnh Trâm – Trần Ngân Bình 47

Page 66: tong quan ve tri tue nhan tao

Giáo Trình Trí Tuệ Nhân Tạo

Hình 3.4 – Không gian trạng thái trong trò đố 8 ô.

Thí dụ 3.3: Đường đi của người bán hàng

Giả sử có một người bán hàng phải giao hàng cho năm thành phố và sau đó phải quay về nhà. Đích của bài toán là tìm con đường ngắn nhất cho người giao hàng đó đi đến từng thành phố, rồi quay về thành phố xuất phát. Hình 3.5 cho một trường hợp của bài toán này.

Hình 3.5 – Một ví dụ của bài toán TSP

Các nút trong đồ thị biểu diễn các thành phố, và mỗi cung đều được ghi kèm một trọng số cho biết phí tổn đi lại trên cung đó. Chi phí này có thể là số km phải di chuyển bằng ô tô hay giá vé máy bay giữa hai thành phố. Để thuận tiện, chúng ta giả thiết người bán hàng sống ở

48 Võ Huỳnh Trâm – Trần Ngân Bình

Page 67: tong quan ve tri tue nhan tao

Chương 3: Tìm kiếm Trong Không Gian Trạng Thái

thành phố A và sẽ quay về đây, mặc dù giả thiết này chỉ giảm từ bài toán n thành phố xuống bài toán (n-1) thành phố.

Hình 3.6 – Không gian trạng thái cho quá trình tìm kiếm đường đi (TSP)

Đường đi [A,D,C,B,E,A], với chi phí tương ứng 450 km là ví dụ về một con đường có thể đi. Mô tả đích yêu cầu một con đường có chi phí thấp nhất. Chú ý rằng mô tả đích này là một đặc tính của toàn bộ con đường, không phải là một trạng thái đơn lẻ. Đây là mô tả đích dạng thứ hai trong định nghĩa về tìm kiếm trong không gian trạng thái đã nói ở trên.

II CÁC CHIẾN LƯỢC DÙNG CHO TÌM KIẾM TRONG KHÔNG GIAN TRẠNG THÁI (TK-KGTT)

II.1 Tìm kiếm hướng dữ liệu và tìm kiếm hướng mục tiêu

Một không gian trạng thái có thể được tìm kiếm theo hai hướng: từ các dữ liệu cho trước của một bài toán hướng đến mục tiêu hay từ mục tiêu hướng ngược về các dữ liệu.

Trong tìm kiếm hướng từ dữ liệu (data-driven search) hay còn gọi là suy diễn tiến (forward chaining), tiến trình giải bài toán bắt đầu với các sự kiện cho trước của bài toán và một tập các luật hợp thức dùng thay đổi trạng thái. Quá trình tìm kiếm được thực hiện bằng cách áp dụng các luật vào các sự kiện để tạo ra các sự kiện mới, sau đó các sự kiện mới này lại được áp dụng các luật để sinh ra các sự kiện mới hơn cho đến khi chúng có thể đưa ra một giải pháp thỏa mãn điều kiện mục tiêu.

Võ Huỳnh Trâm – Trần Ngân Bình 49

Page 68: tong quan ve tri tue nhan tao

Giáo Trình Trí Tuệ Nhân Tạo

Cũng có thể dùng một phương pháp khác: bắt đầu từ mục tiêu mà chúng ta muốn giải quyết, khảo sát xem có thể dùng những luật hợp thức nào để đạt đến mục tiêu này, đồng thời xác định xem các điều kiện nào phải được thỏa mãn để có thể áp dụng được chúng. Các điều kiện này sẽ trở nên những mục tiêu mới, hay còn gọi là các mục tiêu phụ (subgoals) trong tiến trình tìm kiếm. Quá trình tìm kiếm cứ tiếp tục như thế, hoạt động theo chiều ngược, qua hết các đích phụ kế tiếp nhau cho đến khi gặp các sự kiện thực của bài toán. Phương pháp này sẽ tìm ra một chuỗi các bước đi, hay các luật, dẫn từ các dữ liệu đến một đích, mặc dù nó thực hiện theo thứ tự ngược lại. Phương pháp này gọi là tìm kiến hướng từ mục tiêu (goal-driven-reasoning) hay suy diễn lùi (backward chaining) và nó gợi cho chúng ta về một thủ thuật đơn giản khi cố giải bài toán mê cung bằng cách đi ngược từ cuối lên đầu.

Tóm lại, suy luận hướng dữ liệu nắm lấy các sự kiện của bài toán rồi áp dụng các luật và các bước đi hợp thức để tạo ra những sự kiện mới dẫn đến một đích; suy luận hướng mục tiêu thì tập trung vào đích, tìm các luật có thể dẫn đến đích, rồi lần ngược ra các luật và các đích phụ kế tiếp để đi đến các sự kiện cho trước của bài toán.

Trong bước phân tích cuối cùng, các hệ giải bài toán hướng mục tiêu cũng như hướng dữ liệu đều tìm kiếm trong cùng một đồ thị không gian trạng thái; tuy nhiên thứ tự và số lượng trạng thái thực sự cần tìm có thể khác nhau.

Những hệ giải toán đã được biên soạn bằng cách dùng một trong hai phương pháp hướng dữ liệu và hướng mục tiêu quyết định theo cách nào tuỳ thuộc cấu trúc của bài toán phải giải. Nên tìm kiếm hướng mục tiêu nếu:

1. Mục tiêu hay giả thiết được cho trong phát biểu bài toán hoặc có thể dễ dàng công thức hoá. Trong một hệ chứng minh định lý toán học chẳng hạn, mục tiêu chính là định lý phải chứng minh. Nhiều hệ thống chẩn đoán bệnh cân nhắc các chẩn đoán có tiềm năng theo cách hệ thống hoá, xác nhận hay loại bỏ chúng bằng phép suy luận hướng đích.

2. Có một số lượng lớn các luật phù hợp với các sự kiện của bài toán, và do đó tạo ra một số lượng ngày càng nhiều các kết luận, tức là các đích. Việc chọn sớm một đích có thể loại bỏ hầu hết các nhánh rẽ này, làm cho việc tìm kiếm hướng mục tiêu có hiệu quả hơn nhờ thu gọn không gian. Trong một hệ chứng minh định lý toán chẳng hạn, số lượng luật chứa trong một định lý cho trước ít hơn rất nhiều so với số lượng luật có thể áp dụng cho toàn bộ tập các tiêu đề.

3. Các dữ liệu của bài toán không được cho trước, nhưng hệ giải toán yêu cầu phải có. Trong trường hợp này, tìm kiếm hướng đích có thể giúp thu thập các dữ liệu dẫn đường. Trong chương trình chẩn đoán y khoa chẳng hạn, có thể áp dụng hàng loạt các phép thử chẩn đoán. Các bác sĩ chỉ dùng những phép thử nào cần thiết để xác nhận hay loại bỏ một giả thiết cụ thể.

Như vậy tìm kiếm hướng mục tiêu sẽ dùng những hiểu biết về mục tiêu cần có để hướng dẫn quá trình tìm kiếm thông qua các luật thích hợp, đồng thời loại bỏ nhiều nhánh của không gian đó.

Tìm kiếm hướng dữ liệu thích hợp với bài toán thuộc loại:

1. Tất cả hay hầu hết các dữ liệu đầu được cho trước trong phát biểu ban đầu của bài toán. Các bài toán diễn dịch thường phù hợp với khuôn mẫu này bằng cách đưa ra

50 Võ Huỳnh Trâm – Trần Ngân Bình

Page 69: tong quan ve tri tue nhan tao

Chương 3: Tìm kiếm Trong Không Gian Trạng Thái

một tập hợp các dữ liệu và yêu cầu hệ thống cung cấp một cách diễn dịch bậc cao. Các hệ thống dùng để phân tích dữ liệu cụ thể (như các trình PROSPECTOR hay DIPMETER dùng để diễn dịch các dữ liệu địa chất hoặc để tìm xem những khoáng chất nào có nhiều khả năng tìm thấy tại một địa điểm) thích hợp với cách tiếp cận hướng dữ liệu.

2. Có một số lượng lớn đích có tiềm năng, nhưng chỉ có vài cách sử dụng các sự kiện và các thông tin cho trước trong trường hợp bài toán cụ thể. Chương trình DENDRAL, một hệ chuyên gia dùng để tìm kiếm cấu trúc phân tử của các hợp chất hữu cơ dựa vào công thức của chúng, vào dữ liệu phân tích khối phổ, và vào các kiến thức hóa học, là một ví dụ về trường hợp này. Đối với một hợp chất hữu cơ bất kỳ, có thể có rất nhiều cấu trúc phân tử. Tuy nhiên, dữ liệu phân tích khối phổ của hợp chất sẽ cho phép DENDRAL loại bỏ hầu hết, chỉ giữ lại một ít trong cấu trúc đó.

3. Rất khó hình thành nên một đích hay một giả thuyết. Trong việc tham vấn hệ chuyên gia DENDRAL chẳng hạn, có rất ít hiểu biết ban đầu về cấu trúc có thể có của một hợp chất.

Câu hỏi :

Xác định phương pháp tìm kiếm hướng dữ liệu hay tìm kiếm hướng mục tiêu là thích hợp hơn trong việc giải quyết các vấn đề dưới đây. Giải thích sự lựa chọn của bạn :

a) Chẩn đoán các trục trặc về thiết bị trong một xe ô tô.

b) Bạn gặp một người cho biết là anh em họ xa với bạn, có cùng một ông tổ tên là John. Bạn cần kiểm tra lại thông tin này. c) Một người khác cũng cho biết là anh em họ xa của bạn. Anh ta không biết ông tổ tên gì nhưng biết rằng không quá tám đời. Bạn hãy tìm ông tổ này hoặc xác định không có ông tổ đó. d) Một chứng minh định lý trong hình học phẳng. e) Một chương trình dùng để kiểm tra và diễn giải kết quả đọc của máy dò đường biển bằng sóng phản âm, chẳng hạn dùng thông báo cho một tàu ngầm lớn biết sắp có một tàu ngầm nhỏ, một con cá voi hay một đàn cá ở cự ly nào đó. f) Một hệ chuyên gia giúp cho con người phân loại cây trồng theo đặc tính, chủng loại, …

II.2 Các chiến lược tìm kiếm trên đồ thị

Khi giải bài toán bằng tìm kiếm hướng mục tiêu hay hướng dữ liệu, dù dùng phương pháp nào thì hệ giải toán cũng phải tìm một đường đi từ trạng thái xuất phát dẫn đến đích trong đồ thị không gian trạng thái. Trình tự của các cung trong đường đi này tương ứng với các bước theo thứ tự của lời giải. Nếu hệ giải toán đã được cung cấp một “nhà tiên tri” hay một cơ chế không thể sai lầm để chọn đường đi lời giải, thì việc tìm kiếm sẽ không còn cần thiết nữa. Hệ giải toán này sẽ vận hành một cách chính xác qua không gian đó để đến một đích đúng yêu cầu, tạo nên một đường đi khi nó đi qua. Vì không bao giờ có các “nhà tiên tri” như vậy, nên hệ giải toán phải xem xét nhiều đường đi qua không gian cho đến khi tìm được đích. Lần ngược (backtrack) là một kỹ thuật dùng để thử một cách có hệ thống tất cả những đường đi trong một không gian trạng thái.

Võ Huỳnh Trâm – Trần Ngân Bình 51

Page 70: tong quan ve tri tue nhan tao

Giáo Trình Trí Tuệ Nhân Tạo

Trong phần kế tiếp sẽ giới thiệu các thuật toán tìm kiếm giống như thuật toán lần ngược, các thuật toán này sẽ dùng các danh sách để theo dõi các trạng thái trong không gian tìm kiếm. Những thuật toán này bao gồm tìm kiếm sâu (depth-first-search), tìm kiếm rộng (breadth-first-search), khác với thuật toán lần ngược ở chỗ chúng sẽ cung cấp một cơ chế linh hoạt hơn cho việc thực hiện các chiến lược tìm kiếm đồ thị khác nhau.

II.2.1 Tìm kiếm sâu và tìm kiếm rộng

Cùng với việc định hướng tìm kiếm (hướng dữ liệu hay hướng mục tiêu), một thuật toán tìm kiếm còn phải xác định thứ tự mà theo đó các trạng thái sẽ được khảo sát trong cây hoặc đồ thị. Phần này sẽ đề cập đến hai khả năng đối với thứ tự xem xét các nút trong đồ thị: Tìm kiếm sâu (DFS) và tìm kiếm rộng (BFS).

S

B C D

A

E F G

H I J

K L

M N

O P

Q R

T U

Hình 3.8 – Đồ thị ví dụ cho tìm kiếm rộng và tìm kiếm sâu

Chúng ta cùng khảo sát đồ thị trong hình 3.8. Các trạng thái được ký hiệu (A,B,C,…) sao cho chúng sẽ được tham khảo theo các ký hiệu đó trong quá trình thảo luận này. Trong tìm kiếm sâu, khi một trạng thái được xem xét, tất cả các con của nó được xét đến rồi đến các thế hệ sau của các con đó đều được xem xét ưu tiên trước bất kỳ một trạng thái anh em nào của nó. Tìm kiếm sâu sẽ tiến sâu hơn vào trong không gian tìm kiếm bất kỳ khi nào còn có thể. Chỉ khi nào không tìm được các con cháu xa hơn của trạng thái đó thì mới xem xét đến các trạng thái anh em của nó. Tìm kiếm sâu sẽ tiến hành kiểm tra các trạng thái trong đồ thị hình 3.8 theo thứ tự A, B, E, K, S, L, T, F, M, C, G, N, H, O, P, U, D, I, Q, J, R. Thuật toán lần ngược cũng đã thực hiện theo kiểu tìm kiếm sâu.

Ngược lại, tìm kiếm rộng sẽ khảo sát không gian này theo từng mức. Chỉ đến khi trong một mức cho trước không còn một trạng thái nào để khảo sát thì thuật toán mới chuyển sang mức tiếp theo. Tìm kiếm rộng trong đồ thị hình 3.8 sẽ xem xét các trạng thái theo thứ tự A, B, C, D, E, F, G, H, I, J, K, L, M, O, P, Q, R, S, T, U.

Chúng ta thực hiện tìm kiếm rộng bằng cách dùng các danh sách open (mở) và closed (đóng) để theo dõi tiến độ trong không gian trạng thái đó. Danh sách open sẽ liệt kê các trạng thái vừa được sinh ra, nhưng con của chúng chưa được khảo sát. Thứ tự mà các trạng thái bị loại ra khỏi open sẽ xác định thứ tự tìm kiếm. Danh sách closed thì ghi các trạng thái đã được xem xét rồi.

52 Võ Huỳnh Trâm – Trần Ngân Bình

Page 71: tong quan ve tri tue nhan tao

Chương 3: Tìm kiếm Trong Không Gian Trạng Thái

đồ thị 3.8

Thuật toán tìm kiếm rộng (BFS) : Procedur

% khởi đầu

ạng thái chưa khảo sát Beg

thái ngoài cùng bên trái khỏi open, gọi nó là X;

e begin

n của X trong open hoặc closed; % kiểm tra vòng lặp ầu bên phải của open % hàng chờ

EndTrả lời n t

End;

Các trạ ơi hoặc các toán t và bổ sung chúng vào danh sách open. Chú ý rằng danh sách open được duy trì dưới dạng một hàng đợi

1. Open = [A]; closed = []2. Open = [B,C,D]; closed = [A]3. Open = [C,D,E,F];closed = [B,A]4. Open = [D,E,F,G,H];

closed = [C,B,A]5. Open = [E,F,G,H,I,J];

closed = [D,C,B,A]6. Open = [F,G,H,I,J,K,L];

closed = [E,D,C,B,A]7. Open = [G,H,I,J,K,L,M];

(vì L đã có trong open);closed = [F,E,D,C,B,A]

Hình 3.9 – Các bước thực hiện tìm kiếm rộng trên …8.

e breadth-first-search;

Begin Open:= [start]; Closed:= [ ];

While open ≠ [ ] do % còn các trin Loại bỏ trạng If X là một đích then trả lời kết quả (thành công) % tìm thấy đích elsPhát sinh các con của X; Đưa X vào closed; Loại các coĐưa các con còn lại vào đend; ; kết quả (thất bại); % không cò rạng thái nào

ng thái con sinh ra nhờ các luật suy diễn, các nước đi hợp lệ của trò chển trạng thái. Mỗi lần lặp lại sẽ tạo ra tất cả các con của trạng thái Xử chuy

(queue), tức cấu trúc dữ liệu “vào trước ra trước” (first – in – first – out : FIFO). Các trạng thái được bổ sung vào bên phải danh sách và được lấy ra từ bên trái. Cách sắp xếp theo hàng này sẽ sắp xếp việc tìm kiếm đến các trạng thái nằm trong danh sách open lâu nhất, làm cho quá trình trở thành tìm kiếm rộng. Các trạng thái con đã được khảo sát rồi (đã xuất hiện trong danh sách open hoặc danh sách closed) đều bị loại bỏ. Nếu thuật toán kết thúc vì điều kiện của vòng lặp “while” không còn được thoả mãn nữa (open = [ ]) tức là nó đã tìm kiếm xong toàn bộ đồ thị mà không tìm thấy đích mong muốn: Cuộc tìm kiếm thất bại.

Võ Huỳnh Trâm – Trần Ngân Bình 53

Page 72: tong quan ve tri tue nhan tao

Giáo Trình Trí Tuệ Nhân Tạo

Vì tìm kiếm rộng xem xét mọi nút ở từng mức của đồ thị trước khi đi sâu vào không gian đó nên tất cả các trạng thái đều được tiếp cận đến đầu tiên theo con đường ngắn nhất kể từ trạng thái xuất phát. Do đó tìm kiếm rộng sẽ đảm bảo tìm được đường đi ngắn nhất từ trạng thái

t thuật toán này, cần lưu ý một điều là các trạng thái con cháu đều được bổ sung vào hay bị loại bỏ ra từ đầu bên trái của danh sách open: Danh sách open được duy trì dưới

Hình 3.10 – thị 3.8

Tìm kiếm sâu được tiến hành bằng cách cải biến thuật toán đã dùng cho tìm kiếm rộng:

Thuật toán tìm

% khởi đầu

ạng thái chưa khảo sát Beg

thái ngoài cùng bên trái khỏi open, gọi nó là X;

e begin

n của X trong open hoặc closed; % kiểm tra vòng lặp

3. Open = [E,F,C,D];closed = [B,A]4. Open = [K,L,F,C,D];

closed = [E,B,A]5. Open = [S,L,F,C,D];

closed = [K,E,B,A]6. Open = [L,F,C,D];

closed = [S,K,E,B,A]7. Open = [T,F,C,D];

closed = [L,S,K,E,B,A]8. Open = [F,C,D];

closed = [T,L,S,K,E,B,A]

xuất phát đến trạng thái đích. Hơn nữa, vì tất cả các trạng thái đều được tìm thấy trước theo con đường ngắn nhất cho nên bất kỳ trạng thái gặp lần thứ hai nào cũng được tìm thấy theo con đường có chiều dài bằng hoặc lớn hơn. Vì không có cơ hội để các trạng thái trùng lặp được tìm thấy theo một đường đi tốt hơn, nên thuật toán này sẽ loại bỏ được mọi trạng thái trùng lặp.

Tiếp theo, chúng ta sẽ xây dựng thuật toán tìm kiếm sâu trên không gian trạng thái. Trong khi xem xé

dạng một ngăn xếp (stack), tức cấu trúc “vào sau ra trước” (last – in – first – out : LIFO). Việc tổ chức danh sách open theo dạng ngăn xếp sẽ hướng quá trình tìm kiếm nhằm vào các trạng thái được sinh ra mới nhất, làm cho tìm kiếm đó phát triển theo chiều sâu.

1. Open = [A]; closed = []2. Open = [B,C,D]; closed = [A]

9

Các bước thực hiện tìm kiếm sâu trên đồ

kiếm sâu (BFS) :

Procedure depth – first –search;

Begin Open:= [start]; Closed:= [ ];

While open ≠ [ ] do % còn các trin Loại bỏ trạng If X là một đích then trả lời kết quả (thành công) % tìm thấy đích elsPhát sinh các con của X; Đưa X vào closed; Loại các co

54 Võ Huỳnh Trâm – Trần Ngân Bình

Page 73: tong quan ve tri tue nhan tao

Chương 3: Tìm kiếm Trong Không Gian Trạng Thái

Đưa các con còn lại vào đầu bên trái của open % ngăn xếp

EndTrả lời n t

End;

Khác v ắn nhất đến một t ng đi khác dẫn đ thái bất kỳ. Nếu độ dài đường đi là quan trọng đối với một trình giải toán, thì

bài toán cụ thể phải giải. Những đặc trưng quan trọng bao gồm: việc tìm đường đi ngắn nhất dẫn đến đích,

i ngắn nhất đến một nút đích. Trong những bài toán nếu biết rõ có một lời giải đơn giản thì lời giải này sẽ được tìm thấy. Tuy

tại mỗi thời điểm bất kỳ. Nếu mỗi trạng thái trung bình có B con thì số lượng trạng thái ở một mức sẽ bằng B lần số trạng thái ở mức

ẽ không mất thời gian cho việc tìm kiếm một số lớn các trạng thái “cạn” trong đồ thị. Mặc khác, tìm kiếm sâu cũng có thể sa lầy vào độ sâu “vô

Độ phức tạp của không gian tìm kiếm sâu là một hàm tuyến tính của độ dài đường đi. Tại mỗi mức, open chỉ chứa con của một tráng thái duy nhất. Nếu đồ thị có số lượng con trung bình là B đối với

end; ; kết quả (thất bại); % không cò rạng thái nào

ới tìm kiếm rộng, tìm kiếm sâu không đảm bảo sẽ tìm được đường đi ngái gặp lần đầu. Vào sâu trong tìm kiếm này, có thể tìm thấy một đườrạng th

ến trạngkhi thuật toán gặp một trạng thái trùng lặp, nó cần giữ lại phiên bản đã gặp theo đường đi ngắn nhất. Có thể thực hiện điều này bằng cách lưu giữ mỗi trạng thái dưới dạng một bộ ba: (trạng thái đó, trạng thái cha, chiều dài đường đi). Khi phát sinh trạng thái con, chỉ cần tăng trị số độ dài đường đi lên một đơn vị và cất giữ lại cùng với trạng thái con đó. Nếu một trạng thái con bắt gặp theo nhiều đường đi, thông tin này có thể được sử dụng để giữ lại phiên bản tốt nhất. Cần chú ý, việc giữ lại phiên bản tốt nhất của một trạng thái trong một tìm kiếm sâu đơn giản sẽ không đảm bảo được việc tìm thấy đích theo đường đi ngắn nhất.

Cũng giống như việc lựa chọn giữa tìm kiếm hướng dữ liệu hay hướng mục tiêu khi đánh giá một đồ thị, việc sử dụng tìm kiếm rộng hay tìm kiếm sâu cũng tùy thuộc vào

việc phân nhánh của không gian trạng thái, các tài nguyên về thời gian và không gian có sẵn, chiều dài trung bình của các đường dẫn đến nút đích và cả việc liệu chúng ta muốn có tất cả các lời giải hay chỉ cần lời giải đầu tiên tìm thấy. Để đưa ra câu trả lời cho các vấn đề này, mỗi cách đều có những ưu điểm và khuyết điểm riêng.

Tìm kiếm rộng: Vì lúc nào cũng xem xét tất cả các nút ở mức n rồi mới chuyển sang mức n+1 nên tìm kiếm rộng bao giờ cũng tìm được đường đ

nhiên, nếu bài toán có hệ số phân nhánh không gian lớn, nghĩa là các trạng thái có số lượng con cháu trung bình tương đối cao thì sự bùng nổ tổ hợp này có thể gây cản trở cho việc tìm kiếm một lời giải. Lý do là vì tất cả các nút chưa được mở rộng với mỗi mức tìm kiếm đều phải được giữ lại trong danh sách open. Do đó, đối với không gian trạng thái có hệ số phân nhánh cao, điều này có thể trở nên rất phức tạp.

Độ phức tạp của không gian tìm kiếm rộng được đo theo số lượng trạng thái trong danh sách open, đó là một hàm mũ của chiều dài đường đi

trước đó. Như vậy sẽ có Bn trạng thái ở mức n. Tìm kiếm rộng sẽ phải đưa tất cả trạng thái này vào danh sách open khi nó bắt đầu xem xét mức n. Điều này có thể không được phép nếu các đường đi lời giải quá dài.

Tìm kiếm sâu: Tìm kiếm sâu sẽ nhanh chóng đi sâu vào không gian tìm kiếm. Nếu biết rõ đường đi lời giải sẽ dài, tìm kiếm sâu s

ích” khi bỏ qua những đường đi ngắn hơn dẫn đến đích, hay thậm chí có thể bị sa lầy trong một đường đi dài vô tận mà không dẫn đến đích nào cả.

Tìm kiếm sâu hiệu quả hơn nhiều đối với những không gian trạng thái có hệ số phân nhánh lớn vì nó không phải giữ tất cả các nút ứng với một mức trong danh sách open.

Võ Huỳnh Trâm – Trần Ngân Bình 55

Page 74: tong quan ve tri tue nhan tao

Giáo Trình Trí Tuệ Nhân Tạo

mỗi trạng thái thì tìm kiếm sâu có độ phức tạp của không gian là B x n trạng thái để đạt đến mức sâu n trong không gian đó.

Câu trả lời tốt nhất cho việc chọn dùng tìm kiếm sâu hay tím kiếm rộng là khảo sát không gian bài toán một cách cẩn thận. Trong cờ vua chẳng hạn, tìm kiếm rộng là không thể được. Trong các trò chơi đơn giản hơn thì tìm kiếm rộng không những là giải pháp có thể mà còn là giải pháp duy nhất để tránh thất bại.

Câu hỏi :

II.2.2 Tìm kiếm sâu bằng cách đào sâu nhiều lần

Một thoả hiệp thú vị cho hai thuật toán này là sử dụng một giới hạn độ sâu cho quá trình tìmkiếm sâu. Giới hạn sâu sẽ buộc phải chịu thất bại trên một con đường tìm kiếm khi đường đ

Giả sử cần viết chương trình tìm ra cách thức xoay một khối rubic 3x3x3 (được ghép bởi 27 nút) về đúng 6 mặt màu. Biết rằng bộ nhớ trong của máy tính bị

ế, bạn sẽ chọn giải thuật duyệt đồ thị nào trong hai giải thuật tìm kiếm sâu ếm rộng để giải quyết vấn đề? Giải thích ngắn gọn sự lựa chọn của bạn

?

hạn chvà tìm ki

đ á trình quét không gian trạng thái giống như tìm kiếm rộng tại độ sâu đó. Khi biết chắc có một lời giải nằm trong một phạm vi

ó dẫn tới ộ sâu quá một mức nào đó. Điều này gây ra một qu

nào đó hoặc khi bị giới hạn về thời gian, như trong không gian quá rộng của cờ vua chẳng hạn, thì biện pháp hạn chế số lượng trạng thái phải được xem xét đến. Lúc đó tìm kiếm sâu với độ sâu giới hạn có thể là thích hợp nhất. Hình sau đây trình bày một tiến trình tìm kiếm sâu của bài toán trò đố 8 ô, trong đó giới hạn sâu bằng năm sẽ tạo ra quá trình quét toàn bộ không gian ở độ sâu này.

56 Võ Huỳnh Trâm – Trần Ngân Bình

Page 75: tong quan ve tri tue nhan tao

Chương 3: Tìm kiếm Trong Không Gian Trạng Thái

Hình 3.11 – Không gian trạng thái với độ sâu giới hạn bằng 5 cho trò đố 8 ô

Giải pháp này đã đưa đến một thuật toán tìm kiếm khắc phục được nhiều nhược điểm của cả tìm kiếm sâu lẫn tìm kiếm rộng. Phương pháp tìm kiếm sâu đào sâu nhiều lần (depth – first – interactive – deepening Korf 1987) thực hiện tìm kiếm sâu với độ sâu giới hạn bằng một. Nếu không tìm được đích, nó tiếp tục thực hiện tìm kiếm sâu với độ sâu giới hạn bằng hai, … Thuật toán cứ tiếp tục như thế bằng cách mỗi lần lặp thì tăng độ sâu giới hạn thêm một đơn vị. Trong mỗi lần lặp thuật toán áp dụng giải thuật tìm kiếm sâu hoàn chỉnh đến độ sâu giới hạn đó. Giữa hai lần lặp, không có một thông tin nào về không gian trạng thái được giữ lại.

Vì thuật toán tìm kiếm hết không gian từng mức nên vẫn bảo đảm sẽ tìm được con đường ngắn nhất dẫn đến đích. Vì chỉ thực hiện tìm kiếm sâu trong mỗi lần lặp nên độ phức tạp của không gian tại mức n bất kỳ là B x n, trong đó B là số lượng trạng thái con trung bình của một nút.

Điều thú vị là mặc dù phương pháp tìm kiếm sâu đào sâu nhiều lần có vẻ kém hiệu quả về thời gian so với tìm kiếm sâu lẫn tìm kiếm rộng, nhưng thực tế độ phức tạp về thời gian của nó cùng bậc như của hai phương pháp trên: O (Bn).

III DÙNG KHÔNG GIAN TRẠNG THÁI ĐỂ BIỂU D H

ả các cung giữa các trạng thái này. Theo cách này, các bài toán trong phép tính vị từ,

IỄN QUÁ TRÌNH SUY LUẬN BẰNG PHÉP TÍNVỊ TỪ

III.1 Mô tả không gian trạng thái của một hệ logic:

Đồ thị không gian trạng thái của logic vị từ bao gồm các nút, mỗi nút biểu diễn cho một trạng thái của quá trình giải bài toán và các luật suy diễn có thể được dùng để hình thành và mô tnhư việc xác định một biểu thức nào đó có phải là hệ quả logic của một tập các khẳng định cho trước hay không, có thể giải quyết bằng phương pháp tìm kiếm.

Thí dụ 3.4: Giả sử p, q, r, … là các mệnh đề, ta có thể giả thuyết có các khẳng định sau :

q ⇒ p

t ⇒ r s ⇒ u s t

Từ tập các khẳng định này và các modus ponen của các luật suy diễn, một số các mệnh đề nhất định (p, r và u) có thể được suy diễn ra; còn các mệnh đề khác (như v và q) không thể suy diễn được và thực tế chúng không đi theo một cách logic từ các khẳng định này. Quan hệ

r ⇒ p v ⇒ q s ⇒ r

Võ Huỳnh Trâm – Trần Ngân Bình 57

Page 76: tong quan ve tri tue nhan tao

Giáo Trình Trí Tuệ Nhân Tạo

giữa các khẳng định ban đầu và các suy diễn được biểu diễn trong đồ thị có hướng n3.12.

ách biểu diễn này, việc xác định một mệnh đề cho trước có phải là một hệ quả logic củập các mệnh

hư hình

Với c a một t đề hay không sẽ trở thành bài toán tìm đường đi từ một nút xuất phát đến nút đích. Nó cũng được quy về bài toán tìm kiếm trên đồ thị. Chiến lược tìm kiếm được dùng ở đây sẽ là tìm kiếm hướng dữ liệu, vì nó đi từ những gì đã biết (các mệnh đề đúng) đến

ợc áp dụng vào cùng không gian đ ằng cách xuất phát từ mệnh đề cần chứng minh (đích) và đi ngược theo các cung để

Hình 3.12 – Đồ thị không gian trạng thái cho thí dụ 3.4

I.2 Đồ thị Và / Hoặc (And / Or Graph)

Và / Hoặc có sự phân biệt các nút Và (And) với các nút Hoặc (Or):

Thí dụ 3.5

đích. Theo cách khác, chiến lược hướng mục tiêu cũng có thể đưó b

tìm sự hỗ trợ đối với đích đó trong các mệnh đề đúng. Ngoài ra, chúng ta còn có thể tìm kiếm trên không gian suy diễn này theo chiều sâu hay chiều rộng.

p

q r

II

Đồ thị Và / Hoặc là một công cụ quan trọng để mô tả các không gian tìm kiếm trong nhiều bài toán của Trí tuệ nhân tạo, bao gồm cả các bài toán giải quyết bằng cách chứng minh theo định lý logic và các hệ chuyên gia.

Đồ thị

Nếu các tiền đề của một mệnh đề được nối với nhau bằng toán tử ∧, chúng được gọi là các nút Và, đồng thời các cung nối với nút này được liên kết với nhau bằng một dấu liên kết cong.

Nếu các tiền đề của một mệnh đề được nối với nhau bằng toán tử ∨, chúng được xem là các nút Hoặc. Các cung nối từ các nút Hoặc đến nút bố mẹ của chúng sẽ không được liên kết như vậy.

: Giả sử các mệnh đề sau đây là đúng:

a b c a ∧ b ⇒ d a ∧ c ⇒ e b ∧ d ⇒ f f ⇒ g a ∧ e ⇒ h.

u

v s t

58 Võ Huỳnh Trâm – Trần Ngân Bình

Page 77: tong quan ve tri tue nhan tao

Chương 3: Tìm kiếm Trong Không Gian Trạng Thái

Tập các khẳng địn

Các câu hỏi có thể được đặt ra là:

1. h là đúng?

2. h có còn đúng nếu b sai?

trên, chiến lược tìm kiếm hướng mục tiêu để xác định h là đúng trước hết phải h cả a lẫn e đúng. Nút a đúng là tất nhiên, nhưng muốn e đúng thì cả c lẫn a đều hai nút này đã được cho trước là đúng. Khi chương trình giải bài toán đã xác định

ác cung này là các mệnh đề đúng, thì các giá trị đúng sẽ được tổng hợp lại ở các nút chứng giá trị đúng của h.

ất phát từ các sự ện đã biết (c, a và b) và bắt đầu bằng việc bổ sung các mệnh đề mới vào tập mệnh đề đã

iết này phù hợp theo các qui định của đồ thị Và / Hoặc, e hoặc d sẽ là mệnh đề đầu tiên được bổ sung vào tập sự kiện đó. Những bổ sung này sẽ tạo khả năng suy diễn ra các sự kiện mới. Quá trình này cứ tiếp tục cho đến khi đích được chứng minh.

TỔNG KẾT CHƯƠNG III: Chương III đã giới thiệu các cơ sở lý thuyết trong tìm kiếm không gian trạng thái, sử dụng lý thuyết đồ thị để phân tích cấu trúc và mức độ phức tạp của các chiến lược giải quyết vấn đề bài toán. Các cách thức có thể sử dụng để mô hình hóa việc giải quyết vấn đề dưới dạng một tìm kiếm trên đồ thị trạng thái của bài toán đó cũng đã được nêu ra. Đồng thời cũng so sánh giữa hai cách suy luận hướng dữ liậu và hướng mục tiêu, giữa tìm kiếm sâu và tìm kiếm rộng. Phần cuối chương, đồ thị And/Or cho phép chúng ta áp dụng tìm kiếm không gian trạng thái vào việc thực hiện các suy diễn logic. Tuy nhiên, hầu hết các chiến lược này đều mang tính hình thức, chương tiếp theo sẽ đi sâu hơn vào những “mẹo giải” trong các chi cho những không gian bài toán đặc trưng nhằm t an này.

h này sẽ sinh ra đồ thị Và / Hoặc như trong hình vẽ sau:

Hình 3.13 – Đồ thị AND/OR cho bài toán

Trong ví dụchứng minphải đúng, tất cả cVà để kiểm

Ngược lại, chiến lược tìm kiếm hướng dữ liệu để xác định h đúng phải xukib

ến lược tìm kiếm không hình thức áp dụnghu hẹp quá trình tìm kiếm trên các không gi

Võ Huỳnh Trâm – Trần Ngân Bình 59

Page 78: tong quan ve tri tue nhan tao

Giáo Trình Trí Tuệ Nhân Tạo

IV BÀI TẬP CHƯƠNG III

III.1. Xét đồ thị trạng thái sau đây, với mỗi chiến lược tìm kiếm bên dưới hãy liệt kê với danh sách thứ tự các nút được duyệt qua.

III.2. Giả sử P là nút mục tiêu của đồ thị bên dưới, nếu dùng giải thuật tìm kiếm sâu đào

1

2 3

a) Tìm kiếm rộng (BFS). b) Tìm kiếm sâu (DFS).

6 4

9

8 7

13 14 10 12 11

15 16 17

5

c) Tìm kiếm sâu với độ sâu giới hạn là 3. d) Tìm kiếm sâu đào sâu nhiều lần.

sâu nhiều lần để duyệt đồ thị không gian trạng thái này, hãy cho biết danh sách thứ tự các nút mà giải thuật đã duyệt qua.

S

A

B

G

D

H

C

I J E F

P QOL MK N N

T U

60 Võ Huỳnh Trâm – Trần Ngân Bình

Page 79: tong quan ve tri tue nhan tao

Võ Huỳnh Trâm – Trần Ngân Bình

61

ChươngCÁC C DÙNG CHO VIỆC TÌM KIẾM trong KHÔNG GIAN TR 43

I. MỞ ĐẦ 44 II. CÁC CHI ẠNG THÁI (TK-KGTT) 49

II.1. Tìm ................................49 II.2. ................................51

III. N QUÁ TRÌNH SUY LUẬN BẰ 57

III.1. Mô t ..................................................57 III.2. Đồ 58

BÀI TẬ 59

III...............................................................................................................................43 ẤU TRÚC VÀ CHIẾN LƯỢC

ẠNG THÁI..............................................................................................U ...................................................................................................................ẾN LƯỢC DÙNG CHO TÌM KIẾM TRONG KHÔNG GIAN TR

.............................................................................................................. kiếm hướng dữ liệu và tìm kiếm hướng mục tiêu......

Các chiến lược tìm kiếm trên đồ thị ..................................DÙNG KHÔNG GIAN TRẠNG THÁI ĐỂ BIỂU DIỄ

NG PHÉP TÍNH VỊ TỪ....................................................................................ả không gian trạng thái của một hệ logic:

thị Và / Hoặc (And / Or Graph)...................................................................P CHƯƠNG III ..........................................................................................

Page 80: tong quan ve tri tue nhan tao

___________________________________________ Chương 3 Các loại mã trong truyền dữ liệu III - 1

CHƯƠNG 3

CÁC LOẠI MÃ TRONG TRUYỀN DỮ LIỆU

MÃ NHỊ PHÂN Mã Baudot Mã ASCII

Mã EBCDIC CÁC MÃ PHÁT HIỆN LỖI

Kiểm tra chẵn lẻ Kiểm tra khối

Kiểm tra dư thừa theo chu kỳ Mã Hamming

MÃ NÉN DỮ LIỆU Mã Huffman

Mã Run-length Mã vi phân

MẬT MÃ Mã Caesar

Mã đa mẫu tự Mã chuyển vị

Mã DES ______________________________________________________________________________________________

Tin tức bao gồm các văn bản, số liệu, hình ảnh . . . . cần được mã hóa bằng tập hợp các

số nhị phân trước khi được chuyển đổi thành các tín hiệu số để truyền đi Một yếu tố quan trọng trong hệ thống thông tin là độ chính xác, thiếu yếu tố này hệ

thống xem như không có giá trị sử dụng, nên kèm theo bản tin thường phải thêm vào các từ mã có khả năng phát hiện lỗi và thậm chí sửa được lỗi.

Ngoài ra, nếu số lượng bit dùng để mã hóa cùng một đối tượng càng ít thì với cùng vận tốc truyền, lượng thông tin truyền của hệ thống càng lớn mà lại hạn chế được khả năng xảy ra lỗi. Do đó việc giảm số lượng bit dùng mã hóa cũng là một vấn đề cần được quan tâm. Chương này bàn đến một số phương pháp mã hóa dữ liệu phổ biến để tạo các loại mã có khả năng phát hiện lỗi, phát hiện và sửa lỗi, các loại mã nén.

3.1 MÃ NHỊ PHÂN CỦA CÁC CHỮ SỐ

Để biểu diễn các chữ và số người ta dùng các mã nhị phân. Một số nhị phân n bit biểu thị được 2n ký tự (chữ, số, các dấu hiệu ....) Các bộ mã phổ biến trong truyền dữ liệu là : mã Baudot, mã ASCII và mã EBCDIC

3.1.1 Mã Baudot Là bộ mã nhị phân dùng 5 bit để biểu diển chữ số và một số dấu hiệu. Bảng 3.1 Bộ mã Baudot

Mã Chữ Dấu/Số Mã Chữ Dấu/Số

_____________________________________________________________________________________________________

Nguyễn Trung Lập Truyền dữ liệu

Page 81: tong quan ve tri tue nhan tao

___________________________________________ Chương 3 Các loại mã trong truyền dữ liệu III - 2

1100010011011101001010000101100101100101011001101011110010010011100110

00011 01101

A B C D E F G H I J K L M N O P

- ? : $ 3 ! & # 8 ' ( ) . , 9 0

11101 01010 10100 00001 11100 01111 11001 10111 10101 10001 11111 11011 00100 00010 01000 00000

Q R S T U V W X Y Z

LTRS FIGS SPC CR LF

NULL

1 4

BELL 5 7 ; 2 / 6 "

LTRS FIGS SPC CR LF

NULL Với n = 5 chỉ có 25 = 32 mã khác nhau, không đủ để biểu diển các ký tự chữ và số nên một số mã phải biểu thị cả hai và chúng được phân biệt bằng cách kèm theo ký tự FIGS hoặc LTRS ở trước. Thí dụ: mã của đoạn văn NO. 27 có dạng như sau : LTRS N O FIGS . SPC 2 7 11111 00110 00011 11011 00111 00100 11001 11100 Khi dùng mã Baudot để truyền bất đồng bộ, số bit stop luôn luôn là 1,5

3.1.2 Mã ASCII Là bộ mã thông dụng nhất trong truyền dữ liệu. Mã ASCII dùng số nhị phân 7 bit nên

có 27 = 128 mã, tương đối đủ để diễn tả các chữ, số và một số dấu hiệu thông dụng. Từ điều khiển dùng trong các giao thức truyền thông thường lấy trong bảng mã ASCII.

Khi truyền bất đồng bộ dùng mã ASCII số bit stop là 1 hoặc 2. Bảng 3.2 trình bày mã ASCII cùng các từ điều khiển.

* Từ điều khiển trong văn bản: BS (Back space): chỉ cơ chế in hay con trỏ được dời lui một vị trí. Nó có thể được

dùng để in 2 ký tự ở một vị trí (thường dùng để gạch dưới) hay để in đậm một ký tự (in 1 ký tự 2 lần ở cùng vị trí). Trên màn hình (CRT) chữ sau sẽ thay cho chữ trước. HT (Horizontal Tab): chỉ cơ chế in hay con trỏ được dời tới vị trí tab kế cận hay vị trí dừng. LF (Line Feed): chỉ cơ chế in hay con trỏ được dời xuống đầu dòng kế. VT (Vertical Tab): chỉ cơ chế in hay con trỏ được dời đến dòng kế của chuỗi dòng đã đánh dấu. FF (Form Feed): chỉ cơ chế in hay con trỏ được dời đến điểm bắt đầu của trang (màn ảnh) sau

CR (Cariage Return): chỉ cơ chế in hay con trỏ được dời đến điểm bắt đầu trên cùng một dòng

Bảng 3.2 Mã ASCII

Bit 765→ 000 001 010 011 100 101 110 111 Bit 4321↓ 0 1 2 3 4 5 6 7

_____________________________________________________________________________________________________

Nguyễn Trung Lập Truyền dữ liệu

Page 82: tong quan ve tri tue nhan tao

___________________________________________ Chương 3 Các loại mã trong truyền dữ liệu III - 3

0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111

0 1 2 3 4 5 6 7 8 9 A B C D E F

NULL SOH STX ETX EOT ENQ ACK BEL BS HT LF VT FF CR SO SI

DLEDC1

DC2 DC3 DC4 NAK SYN ETB CAN EM SUB ESC FS GS RS US

SP ! " # $ % & ` ( ) * + , - . /

0 1 2 3 4 5 6 7 8 9 : ; < = > ?

@ A B C D E F G H I J K L M N O

P Q R S T U V W X Y Z [ \ ]

^(↑) _(←)

' a b c d e f g h i j k l m n o

p q r s t u v w x y z | ~

DEL

Thí dụ: ký tự D là 1000100 = 44H Ý nghĩa các từ trong bảng mã ASCII

* Từ điều khiển trong truyền thông

SOH (Start of Heading): bắt đầu của phần đầu bản tin. Nó có thể chứa địa chỉ, chiều dài bản tin hay dữ liệu dùng cho kiểm tra lỗi. STX (Start of Text): bắt đầu văn bản đồng thời kết thúc phần đầu. Thường đi đôi với ETX. ETX (End of Text): kết thúc văn bản EOT (End of Transmission): chấm dứt truyền ENQ (Enquiry): yêu cầu một đài xa tự xác định (identify itself). ACK (Acknowledge) : từ phát bởi máy thu để báo cho máy phát đã nhận bản tin đúng. NAK (Negative Acknowledgment): từ phát bởi máy thu để báo nhận bản tin sai.

SYN (Synchronous/Idle): dùng bởi một hệ thống truyền đồng bộ để thực hiện đồng bộ. Khi không có dữ liệu để phát, máy phát của hệ thống đồng bộ phát liên tục các từ SYN ETB (End of Transmission Block): chỉ sự chấm dứt một khối của bản tin. * Information separator

FS (File Separator), GS (Group Separator), RS (Record Separator), US (United Separator): Dùng cho sự phân cách. Chữ đầu chỉ thành được phân cách (F: File, G: Group, R: Record (bảng ghi), U: Unit (đơn vị))

* Miscellaneous (Linh tinh) NUL (Null): ký tự rổng, dùng lấp đầy khoảng trống khi không có dữ liệu BEL (Bell): dùng khi cần báo sự lưu ý.

SO (Shift Out): chỉ các tổ hợp mã theo sau được thông dịch bởi ký tự ngoài tập hợp ký tự chuẩn cho tới khi gặp từ Shift In. SI (Shift In): chỉ tập hợp mã theo sau được thông dịch bởi ký tự chuẩn. DEL (Delete): dùng bỏ từ SP (Space): khoảng cách từ

DLE (Data Link Escape): dùng để chỉ sự thay đổi nghĩa của các từ theo sau. Nó có thể cung cấp một sự điều khiển phụ, hay cho phép gửi ký tự dữ liệu có một tổ hợp bit bất kỳ. DC1, DC2, DC3, DC4 (Device Control): từ dùng cho sự điều khiển thiết bị. CAN (Cancel): chỉ dữ liệu đặt trước nó không có giá trị, do dò được lỗi. EM (End of Medium): chỉ sự kết thúc về mặt vật lý của một card, băng hay môi trường khác. SUB (Substitute): thay thế một từ bị lỗi hoặc không có giá trị ESC (Escape) : từ tăng cường để cung cấp một mã mở rộng. _____________________________________________________________________________________________________

Nguyễn Trung Lập Truyền dữ liệu

Page 83: tong quan ve tri tue nhan tao

___________________________________________ Chương 3 Các loại mã trong truyền dữ liệu III - 4

3.1.3 Mã EBCDIC (Extended BCD Information Code) Là bộ mã 8 bit được dùng rộng rãi trong hệ thống thông tin dùng máy tính IBM.

Bảng 3.3 trình bày mã EBCDIC và các ký tự điều khiển. Vì mã ký tự chiếm 8 bit nên muốn dùng parity phải dùng bit thứ 9 (các thanh ghi trong các USART thường có 8 bit) do đó mã EBCDIC thường được dùng trong những chức năng đặc biệt như trong các ứng dụng đồ họa.

Bảng 3.3 Mã EBCDIC

High Lơw

0 1 2 3 4 5 6 7 8 9 A B C D E F

0 NULL DLE DS SP & 0 1 SOH DC1 SOS a J A J 1 2 STX DC2 FS SYN b k s B K S 2 3 ETX DC3 c l t C L T 3 4 PF RES BYP PN d m u D M U 4 5 HT NL LF RS e n v E N V 5 6 LC BS ETB UC f o w F O W 6 7 DEL IL ESP EOT g p x G P X 7 8 CAN h q y H Q Y 8 9 RLF EM i r z I R Z 9 A SMM CC SM ! ‘ : B VT $ # C FF IFS DC4 * % @ D CR IGS ENQ NAK ( ) , E SO IRS ACK + = F SI IUS BEL SUB ? “

Các mã điều khiển không có trong ASCII là : PF Punch Off CC Cursor Control LC Lower Case IFS Interchange File Separator UC Upper Case IGS Interchange Group Separator RLF Reverse Line Feed IUS Interchange Unit Separator SMM Start of Manual Message IRS Interchange Record Separator RES Restore DS Digit Selector NL New Line SOS Start of Significance ID Idle BYP Bypass SM Set Mode RS Reader Top PN Punch On

3.2 CÁC MÃ PHÁT HIỆN LỖI Nhằm phát hiện lỗi người ta thêm vào dòng dữ liệu các bit kiểm tra. Phương pháp này

gọi chung là kiểm tra lỗi dư thừa (Redundancy error check methode), từ dư thừa được dùng vì các bit thêm vào không phải là phần thông tin cần gửi đi.

3.2.1 Kiểm tra chẵn lẻ - Dùng kiểm tra chẵn lẻ để dò ra một bit sai:

_____________________________________________________________________________________________________

Nguyễn Trung Lập Truyền dữ liệu

Page 84: tong quan ve tri tue nhan tao

___________________________________________ Chương 3 Các loại mã trong truyền dữ liệu III - 5

Đây là phương pháp kiểm tra đơn giản nhất, bằng cách thêm vào sau chuỗi dữ liệu (thường là một ký tự) một bit sao cho tổng số bit 1 kể cả bit thêm vào là số chẵn (hoặc lẻ), ở máy thu kiểm tra lại tổng số này để biết có lỗi hay không. Phương pháp đơn giản nên chất lượng không cao, nếu số lỗi là chẵn thì máy thu không nhận ra.

- Dùng kiểm tra chẵn lẻ để dò sai hai bit: Vì mỗi lần thực hiện kiểm tra chẵn lẻ cho phép dò ra một bit lỗi nên ta có thể nghĩ

rằng nếu thực hiện nhiều phép kiểm tra đồng thời cho phép dò được nhiều lỗi. Thí dụ, để dò ra 2 lỗi của một chuỗi dữ liệu có thể thực hiện hai phép kiểm tra, một với các bit chẵn và một với các bit lẻ. Cho chuỗi dữ liệu: 01101000

Lần lượt thực hiện kiểm tra chẵn với các bit ở vị trí 1, 3, 5, 7 và các bit ở vị trí 2, 4, 6, 8. Gọi P1 và P2 là các bit kiểm tra: P1=0+1+1+0 = 0

và P2=1+0+0+0 = 1. Chuỗi dữ liệu phát: 01101000 01.

Máy thu dò ra lỗi khi 2 bit liên tiếp bị sai. Tuy nhiên, nếu hai bit sai đều là 2 bit chẵn (hoặc 2 bit lẻ) thì máy thu cũng không dò ra. - Dùng kiểm tra chẵn lẻ để dò ra một chuỗi bit sai:

Đôi khi nhiễu làm sai cả một chuỗi dữ liệu (ta gọi là burst errors), để dò ra được chuỗi bit sai này, người ta bắt chước cách lưu và truyền dữ liệu của máy tính (lưu từng bit của một byte trong các chip riêng để truyền trên các đường khác nhau và nơi nhận sẽ tái hợp) để thực hiện việc kiểm tra. Chuỗi dữ liệu sẽ được chia ra thành các khung (frames), thực hiện kiểm tra cho từng khung, thay vì phát mỗi lần một khung, người ta phát các tổ hợp bit cùng vị trí của các khung, nhiễu có thể làm hỏng một trong các tổ hợp này và chuỗi bit sai này có thể được nhận ra ở máy thu.

Thí dụ dưới đây minh họa cho việc kiểm tra phát hiện chuỗi dữ liệu sai:

Gửi Nhận Số

khung (hàng)

1 2 3 4 5 6 7 8 9 10

Số cột

0 1 1 0 1 1 0 0 0 1 0 1 1 1 0 1 1 0 0 1 0 1 0 1 0 1 0 1 1 1 0 1 1 0 0 0 0 1 1 1 1 0 0 1 1 1 1 0 0 0 1 2 3 4 5

Bit parity của từng

hàng 1 0 1 1 0 0 0 1 1 0 6

Nhiễu tác đông vào cột 4, làm cho

tất cả các bit = 0

Số khung (hàng)

1 2 3 4 5 6 7 8 9 10

Số cột

0 1 1 0 1 1 0 0 0 1 0 1 1 0 0 1 1 0 0 1 0 1 0 0 0 1 0 1 0 1 0 1 1 0 0 0 0 1 0 1 1 0 0 0 1 1 1 0 0 0 1 2 3 4 5

Bit parity của từng

hàng 1 0

1* 1

0* 0* 0

1* 1* 0 6

Máy thu dò ra các khung có lỗi (các bit parity có dấu *) nhưng không xác định được cột nào bị sai do đó phải yêu cầu máy phát phát lại tất cả các cột

- Kiểm tra khối: Một cải tiến của kiểm tra chẵn lẻ là kiểm tra khối (Block Check Character, BCC). Bản tin

được viết thành khối và việc kiểm tra chẵn lẻ được thực hiện theo cả 2 chiều dọc (Vertical Redundancy Check, VRC) và ngang (Longitudinal Redundancy Check, LRC) Gọi các bit của mỗi ký tự là bij (i=1,....., n là thứ tự các bit trong ký tự ; j=1,...., m là thứ tự của ký tự)

_____________________________________________________________________________________________________

Nguyễn Trung Lập Truyền dữ liệu

Page 85: tong quan ve tri tue nhan tao

___________________________________________ Chương 3 Các loại mã trong truyền dữ liệu III - 6

Rj là bit parity của ký tự thứ j, giả sử chọn parity chẵn, ta có : Rj = b1j + b2j + ...........+ bnj Ci là bít parity của tất cả bít thứ i Ci = bi1 + bi2 + ...........+ bim + Tập hợp các bit Ri (j = 1,.......,m) dùng kiểm tra chiều dọc và tập hợp các bit Ci (i = 1,......,n) dùng kiểm tra chiều ngang. (H 3.1) cho ta dạng của khối dữ liệu có thực hiện kiểm tra chẵn theo chiều ngang và dọc. bit 1 2 . . . . . . . bit n Parity

Character 1 B11 B21 . . . . . . . Bn1 R1 10110111 ↓VRC

Character 2 B12 B22 . . . . . . . Bn2 R2 11010111

00111010 11110000 10001011

Character m B1m B2m . . . . . . . bnm Rm 01011111 Parity check char. C1 C2 . . . . . . . Cn Cn+1 01111110 ←LRC

(H 3.1) Phương pháp kiểm tra khối cho phép phát hiện và sửa một lỗi vì xác định được vị trí của lỗi đó, chính là giao điểm của hàng và cột có bit sai. Máy thu có khả năng phát hiện hai lỗi sai trên cùng một hàng hoặc cột nhưng không xác định được vị trí bit lỗi. Ví dụ hai bit 1 và 3 của ký tự thứ nhất cùng sai thì bit kiểm tra VRC không phát hiện được nhưng bit LRC thì thấy ngay. Nếu bây giờ có thêm các bit 1 và 3 của ký tự thứ 5 cùng sai thì máy thu sẽ không phát hiện được, như vậy cũng còn trường hợp không phát hiện được lỗi nếu số lỗi là một số chẵn theo những vị trí xác định nào đó, tuy nhiên trường hợp này rất hiếm xảy ra. Tóm lại, dùng kiểm tra chẵn lẻ cho phép phát hiện lỗi trong một số trường hợp, tuy nhiên hiệu suất phát sẽ bị giảm và chỉ được dùng trong các hệ thống có vận tốc truyền thấp (bất đồng bộ). Trong các hệ thống truyền đồng bộ người ta hay sử dụng mã CRC , mã này cho phép dò lỗi rất hiệu quả và hiệu suất truyền cũng cao.

3.2.2 Kiểm tra dư thừa theo chu kỳ Để cải thiện hơn nửa việc kiểm tra lỗi người ta dùng phương pháp kiểm tra dư thừa theo chu kỳ (Cyclic Redundancy Check, CRC) Nguyên tắc tạo mã CRC : Xét khung dữ liệu gồm k bit và nếu ta dùng n bit cho khung kiểm tra FCS (Frame check sequence) thì khung thông tin kể cả dữ liệu kiểm tra gồm (k+n) bit sao cho (k+n) bit này chia đúng cho một số P có (n+1) bit chọn trước (dùng phép chia Modulo-2). Ở máy thu khi nhận được khung dữ liệu, lại mang chia cho số P này và nếu phép chia đúng thì khung dữ liệu không chứa lỗi

* Nhắc lại một số tính chất của phép toán Mod-2 : - Phép cộng Mod-2 là phép cộng nhị phân không nhớ, dưới đây là thí dụ về phép cộng

và phép nhân 1111 11001 + 1010 x 11

_____________________________________________________________________________________________________

Nguyễn Trung Lập Truyền dữ liệu

Page 86: tong quan ve tri tue nhan tao

___________________________________________ Chương 3 Các loại mã trong truyền dữ liệu III - 7

0101 11001 11001 101011 - Phép cộng Mod-2 được thực hiện bởi cổng EX-OR - Phép trừ Mod-2 giống như phép cộng - Nhân Mod-2 một số với 2n tương ứng với dời số đó n bit về bên trái và thêm n bit 0 vào bên phải số đó, thí dụ 11001* 23 = 11001000 - Phép chia Mod-2 được thực hiện giống như phép chia thường nhưng nhớ là phép trừ trong khi chia được thực hiện như phép cộng.

3.2.2.1. Xác định mã CRC dùng thuật toán Mod-2 Gọi T = (k+n) bit là khung thông tin được phát , với n < k M = k bit dữ liệu, k bit đầu tiên của T F = n bit của khung FCS, n bit cuối của T P = (n+1) bit, số chia trong phép toán Số T được tạo ra bằng cách dời số M sang trái n bit rồi cộng với số F : T = 2nM + F Chia số 2nM cho P ta được :

2n PRQ

PM

+=

Q là số thương và R là số dư Vì phép chia thực hiện với số nhị phân nên số dư luôn luôn ít hơn số chia 1 bit. Ta dùng số dư này làm số F, nghĩa là :

T = 2nM + R. Ở máy thu khi nhận được khối dữ liệu, mang chia cho P, kết quả số dư sẽ = 0 :

P

RRQPR

PRQ

PT +

+=++=

Vì R + R = 0 nên T/P = Q Như vậy dùng số dư R của phép chia 2nM cho P làm ký tự kiểm tra trong khung FCS thì chắc chắn T sẽ chia đúng cho P nếu bản tin không có lỗi. Thí dụ: Cho M = 1010001101 (10 bit)

P = 110101 (6 bit)

Số phải tìm R (5 bit) cho khung FCS được xác định như sau : - Nhân M với 25 cho : 101000110100000 - Thực hiện phép chia cho P 1101010110 110101 101000110100000 110101↓ 0111011 110101↓↓ 00111010 110101↓↓ 00111110 110101↓↓ 00101100 110101↓ 0110010 110101↓

_____________________________________________________________________________________________________

Nguyễn Trung Lập Truyền dữ liệu

Page 87: tong quan ve tri tue nhan tao

___________________________________________ Chương 3 Các loại mã trong truyền dữ liệu III - 8

0001110 ← R Ta có R = 01110, cộng với 25M, sẽ cho số T phát đi là : T = 101000110100000 + 01110 = 101000110101110 Nếu bản tin không có lỗi T phải chia đúng cho P. Thực hiện phép chia T/P ta thấy số dư = 0 Tóm lại, để có một khung FCS n bit , người ta phải dùng một số P có n+1 bit để tạo số R có n bit dùng cho khung FCS. P được gọi là đa thức sinh (generator polynomial), dạng của nó do các giao thức qui định, tổng quát P phải có bit đầu và bit cuối là bit 1.

3.2.2.2. Dùng phép biểu diễn đa thức Để thấy quá trình hình thành mã CRC, ta có thể dùng phép biểu diễn một số nhị phân dưới dạng một đa thức của biến x với hệ số là các số nhị phân và bậc của x là giá trị chỉ vị trí của số nhị phân đó. Ví dụ số nhị phân 110101 có thể biểu diển bởi 1.x5 + 1.x4 + 0.x3 + 1. x2 + 0.x1 + 1.x0 = x5 + x4 + x2 + 1 Chú ý mã số n bit cho bậc cao nhất của đa thức là n-1 Quá trình hình thành mã CRC thực hiện như sau : - Gọi M là đa thức biểu diễn thông tin cần truyền

P là đa thức sinh, bậc n (chứa n+1 bit) Thực hiện phép chia

xn P(x)R(x)

Q(x)P(x)M(x)

+=

Khung thông tin truyền đặc trưng bởi T(x) = xn M(x) + R(x) Lưu ý là nhân M(x) với xn tương đương với việc dời M(x) sang trái n bit - Ở máy thu thực hiện phép chia T(x) cho P(x) số dư phải bằng không

P(x)R(x)

P(x)R(x)

Q(x)P(x)T(x)

++=

Q(x)P(x)R(x)

1)(1Q(x) =++=

Lấy lại thí dụ trên, bản tin 1010001101 tương ứng với đa thức M(x) = x9 + x7 + x3 + x2 +1 Số chia P = 110101 (6 bít) tương ứng với đa thức P(x) = x5 + x4 + x2 +1 x5M(x) = x14 + x12 + x8 + x7 + x5

Thực hiện phép chia : x9 + x8 + x6 + x4 + x2 +x x5 + x4 + x2 +1 x14 + x12 + x8 + x7 + x5 x14 + x13 + x11 + x9 x13 + x12 + x11 + x9 + x8 + x7 + x5

x13 + x12 + x10 + x8

x11 + x10 + x9 + x7 + x5

x11 + x10 + x8 + x6

x9 + x8 + x7 + x6 + x5

x9 + x8 + x6 +x4

x7 + x5 + x4

x7 + x6 + x4 + x2

x6 + x5 + x2

x6 + x5 + x3 + x x3 + x2 + x = R(x)

_____________________________________________________________________________________________________

Nguyễn Trung Lập Truyền dữ liệu

Page 88: tong quan ve tri tue nhan tao

___________________________________________ Chương 3 Các loại mã trong truyền dữ liệu III - 9

R(x) = x3 + x2 + x tương ứng với 01110

3.2.2.3. Khả năng dò sai của mã CRC Một lỗi xảy ra ở một vị trí nào đó trong khung dữ liệu làm đảo bit ở vị trí đó của khung, điều này tương đương với phép tính EX-OR bit đó và bit 1 (vì 0+1=1 và 1+1=0). Nếu gọi E là một khung có số lượng bit bằng với khung dữ liệu, trong đó chỉ các vị trí của bit lỗi = 1 và các bit khác = 0 thì khung thông tin Tr nhận được có thể viết. Tr = T + E. Thí dụ:

T = 11010111010 Dạng đa thức: T(x) = x10 + x9 + x7 + x5 + x4 + x3 + x Giả sử bản tin sai ở các bit x7 , x5 và x4

Khung E có dạng: E = 00010110000 E(x) = x7 + x5 + x4 Khung dữ liệu nhận được: Tr = 11000001010 Tr(x) =x10 + x9 + x3 + x Lưu ý phép cộng Modulo 2, tương ứng với phép toán EX-OR, nên x7+x7=(1+1)x7 = 0 Ta có

PE

PT

PET

+=+

Máy thu không nhận ra lỗi khi nào Tr(x) chia đúng cho P(x), hay chỉ khi E(x) chia đúng cho P(x). Vậy với điều kiện nào thì E(x) chia hết cho P(x) ?

Ta sẽ xét một số trường hợp cụ thể: @- Giả sử bản tin chỉ sai một bit, đa thức E(x) có dạng xi, i là một số nguyên, E(x) chia đúng cho P(x) chỉ khi P(x) cũng có dạng xn. Người ta đã chọn P(x) có ít nhất là 2 số hạng nên E(x) không thể chia đúng cho P(x). Vậy

Mã CRC luôn luôn cho phép máy thu dò ra một bit sai.

@- Giả sử bản tin sai một chuỗi, nhưng có tổng số bit sai là số lẻ: đa thức E(x) chứa số lẻ bit 1 nên E(1) =1. Mặt khác, giả sử (x+1) là thừa số của P(x), ta có thể viết P(x) = (x+1)*H(x), H(x) là một đa thức. Ta cũng giả sử lỗi này không được dò ra, nghĩa là E(x) chia đúng cho P(x), hay E(x) = P(x)*K(x). Thay P(x) = (x+1)*H(x) vào E(x) được E(x) = (x+1)*H(x)*K(x), biểu thức này cho E(1) = 0. Điều này trái với giả thiết ở trên, hay nói cách khác, máy thu sẽ dò ra lỗi nếu ta chọn P(x) sao cho chia đúng cho (x+1). Vậy Máy thu sẽ luôn luôn dò ra lỗi gồm nhiều bit và có tổng số bit lỗi là số lẻ nếu ta chọn P(x) chia đúng cho (x+1).

@-Giả sử nhiễu làm sai một đoạn dữ liệu có chiều dài m ≤ bậc n của P(x) Giả sử chuỗi bit sai có vị trí từ thứ i đến thứ i+m-1, E(x) có dạng:

E(x) = xi+m-1 + . . . . +xi = xi*(xm-1+ . . . +1)

P(x)

1)....(xxP(x)E(x) 1mi ++∗

=−

P(x) không là thừa số của xi nên E(x) chỉ chia đúng cho P(x) khi xm-1+ . . . +1 chia đúng cho P(x). Vì m ≤ n hay m-1<n nên phép chia trên không thể là phép chia đúng. Vậy

Máy thu luôn luôn dò ra lỗi nếu chuỗi dữ liệu sai có chiều dài ≤ bậc của P(x)

@-Đoạn dữ liệu sai có chiều dài m >n

_____________________________________________________________________________________________________

Nguyễn Trung Lập Truyền dữ liệu

Page 89: tong quan ve tri tue nhan tao

___________________________________________ Chương 3 Các loại mã trong truyền dữ liệu III - 10

Từ kết quả trên

P(x)

1)....(xxP(x)E(x) 1mi ++∗

=−

Nhưng bây giờ m-1 ≥ n nên xm-1+ . . . +1 có thể chia đúng cho P(x). Vậy vấn đề là có bao nhiêu cơ hội để điều này xảy ra.

- Trường hợp m-1 = n hay (m=n+1). Vì bậc của P(x) là n nên để có phép chia đúng

P(x) phải có dạng xn+ . . . . . +1 với các số hạng giữa xn và 1 phải hoàn toàn giống với các số hạng của xm-1+ . . . . . +1 thì máy thu không dò được lỗi. Có n-1 số hạng giữa xn và 1 nên có 2n-1 tổ hợp và nếu các tổ hợp này có xác suất xảy ra như nhau thì xác suất máy thu không nhận được lỗi sẽ là 1/2n-1.

- Trường hợp m>n+1, ta chấp nhận kết quả xác suất này là 1/2n. Lấy thí dụ mã CRC-32 (n=32), xác suất không dò ra một lỗi có chiều dài >33 bit là

1/2.1032 (tương đương với khả năng dò ra lỗi là 99,99999998%). Tóm lại với n càng lớn việc máy thu không dò ra lỗi càng rất khó xảy ra.

3.2.2.4. Mạch tạo mã CRC. Thuật toán mod 2 được thực hiện bởi cổng EX-OR. Dời bit được thực hiện bởi thanh ghi dịch. Quan sát phép tính chia mod.2 của số 2nM cho P(x) để có R(x) ta thấy đây là sự kết hợp của sự dời bit của số 2nM với phép cộng Mod.2 của số P(x). Trong thí dụ trên, để tạo mã CRC với P(x) = 110101, người ta dùng mạch (H 3.2): Cho chuỗi dữ liệu là số 2nM (gồm 15 bit, 101000110100000) vào mạch, sau 15 lần dời bit, kết quả trên các thanh ghi dịch chính là R(x). Mạch tạo mã trong trường hợp này gồm 5 thanh ghi dịch, ký hiệu A(x5), B(x4), C(x3), D(x2), E(x) . Mạch tạo mã CRC được thực hiện như sau:

- Thanh ghi dịch chứa n bit, bằng với chiều dài của khung FCS. - Có nhiều nhất n cổng EX-OR. - Sự có mặt hay không của cổng EX-OR tương ứng với sự có mặt của số hạng lũy thừa bậc n trong đa thức P(x) (Riêng bậc cao nhất (n) của đa thức không kể )

(H 3.2 )

A B C D E Dữ liệu vào

_____________________________________________________________________________________________________

Nguyễn Trung Lập Truyền dữ liệu

Page 90: tong quan ve tri tue nhan tao

___________________________________________ Chương 3 Các loại mã trong truyền dữ liệu III - 11

Bắt đầu Bước 1 Bước 2 Bước 3 Bước 4 Bước 5 Bước 6 Bước 7 Bước 8 Bước 9 Bước 10 Bước 11 Bước 12 Bước 13 Bước 14 Bước 15

0 0 0 0 0

1* 1 0 1 0 1 0 1 1 0 0

0 0 0 0 1

0* 1 1 1 1 1 1 0 1 0 1

0 0 0 1 0 1

1 1 1 1 1 0 1 0 1 1

0 0 1 0 1

0* 0 1 0 1 1 1 1 0 1 1

0 1 0 1 0 0

1 0 1 1 1 1 0 1 1 0

1⎫ 0 1 0 0 0*⎬ Bản tin để gửi 1 1 0 1⎭ 0⎫ 0 0⎬ 5 bit 0 thêm vào 0 0⎭

14444444244444443 số dư - Trong thí dụ trên P =110101 = x5 + x4 + x2 + 1, nên mạch chứa ba cổng EX-OR ở các vị trí tương ứng với 1, x2 và x4 (x5 ứng với thanh ghi dịch cuối cùng FFA). Đường hồi tiếp từ x5 về x4 , x2 và 1 (x0) để thực hiện phép cộng Mod-2 với số P(x) như nói trên. - Trong 5 bước đầu tiên, các bit có trọng số lớn của M(x). 2n xuất hiện ở ngã ra các FFD một cách bình thường. - Từ bước thứ 6 các kết quả phải kể đến tác dụng của cổng EX-OR, thí dụ ở bước thứ 6 ở ngõ ra E chính là cộng Mod-2 của tín hiệu vào (bit 0) và tín hiệu ngã ra A trước đó (bit 1), tức thực hiện EX-OR hai bit 0 và 1 ta được bit 1. Ngã ra D (bit 0) EX-OR với ngã ra A (bit 1) để được bit 1 ở ngã ra C. Ngã ra B(bit 0) EX-OR với ngã ra A (bit 1) để được bit 1 ở ngã ra A. Trên hình vẽ các bit EX-OR với bit ở ngã ra A được đánh dấu. Tương tự như thế, sau 15 lần dịch (bước 15), dữ liệu ở ngã ra các FF chính là mã CRC (số dư R = 01110). Ngã ra A là MSB. Có 4 đa thức P(x) được dùng để tạo mã CRC thông dụng: CRC_12 = x12 +x11 + x3 + x2 + x + 1 CRC_16 = x16+x15 + x2 + 1 CRC_CCITT = x16+x12 + x5 + 1 CRC_32 = x32+ x26+ x23+ x22 + x16+ x12 + x11+ x10+ x8+ x7 + x5 + x4 + x2+ x +1 CRC_12 dùng truyền với ký tự 6 bit và khung FCS dài 12 bit. CRC_16 & CRC_CCITT dùng truyền ký tự 8 bit và khung FCS dài 16 bit. (ở Mỹ và Âu châu). CRC_32 Dùng trong mạng cục bộ (LAN) và một số ứng dụng của DOD (Department Of Defense).

3.2.3 Mã Hamming Mã Hamming là một bước phát triển của kiểm tra chẵn lẻ và có khả năng sửa sai do xác định được vị trí lỗi. Số lượng bit của mã Hamming tùy thuộc số lượng bit của chuỗi dữ liệu. Ta có thể lý luận như sau để xác định số lượng bit của mã Hamming. Gọi m là số bit của chuỗi dữ liệu và n là số bit của mã Hamming, tổng số bit phát đi là m+n

- Với n = 1 ta xác định được 1 trong 2 kết quả : chuỗi dữ liệu sai hoặc đúng nhưng không biết vị trí lỗi.

- Với n = 2, 1 trong 4 trường hợp xảy ra: 2 phép kiểm tra đều cho kết quả đúng, 2 phép kiểm tra đều cho kết quả sai, phép kiểm tra thứ nhất sai, phép kiểm tra thứ hai đúng và ngược lại. 4 trường hợp này cho phép kết luận được 1 bit sai ở 1 trong 3 vị trí.

_____________________________________________________________________________________________________

Nguyễn Trung Lập Truyền dữ liệu

Page 91: tong quan ve tri tue nhan tao

___________________________________________ Chương 3 Các loại mã trong truyền dữ liệu III - 12

- Với n=3, có 8 khả năng xảy ra và ta có thể kết luận được 1 bit sai ở 1 trong 7 vị trí. - Với số n bất kỳ, có 2n khả năng xảy ra và ta có thể kết luận được 1 bit sai ở 1 trong

2n -1 vị trí. Vậy để có thể phát hiện 1 lỗi tại 1 vị trí cụ thể thì số n nhỏ nhất được chọn phải thỏa:

2n - 1 ≥ Ù m + n hay 2n ≥ Ù m + n + 1 Các bit của mã Hamming chèn vào vị trí 2n và dùng cho kiểm tra chẵn lẻ. Các bit khác là bit thông tin (dữ liệu). Dưới đây là một ví dụ để thấy cách xác định mã Hamming: Giả sử chuỗi dữ liệu cần truyền gồm 4 bit như sau : 1 0 1 0 Với m = 4 , ta chọn n = 3, bất đẳng thức trên được thỏa Gọi các bit của mã Hamming là H1 H2 và H4 (1, 2, 4 là các vị trí mà ta sẽ đặt 3 bit của mã Hamming vào dòng dữ liệu). Gọi các bit dòng dữ liệu là X3, X5, X6, X7. Tổ hợp các bit dữ liệu và bit mã, ta đươc 1 2 3 4 5 6 7 H1 H2 X3 H4 X5 X6 X7 Giả sử ta chọn Parity chẵn, các bit mã sẽ được xác định như sau:

H1⊕ X3⊕ X5⊕X7 = 0 H1 = X3⊕ X5⊕X7 =1 ⊕ ( 0 ⊕ 0 ) = 1 ⊕ 0 = 1 Tương tự: H2 = X3⊕ X6⊕X7 =1 ⊕ (1 ⊕ 0 ) = 1 ⊕ 1 = 0 H4 = X5⊕ X6⊕X7 =0 ⊕ (1 ⊕ 0 ) = 0 ⊕ 1 = 1 Bản tin bao gồm bit mã trở thành: 1 0 1 1 0 1 0

Ở máy thu để kiểm tra người ta thực hiện các phép toán: C1 = H1⊕ X3⊕ X5⊕X7

C2 = H2⊕ X3⊕ X6⊕X7

C4 = H4⊕ X5⊕ X6⊕X7

Nếu C1= C2 = C4 = 0, không có lỗi xảy ra Nếu C1 = 1, C2 = C4 = 0, một trong các bit ở vị trí 1, 3, 5, 7 bị lỗi. Nhưng C2 = C4 = 0 có nghĩa là các bit ở vị trí 2, 3, 6, 7 và 4, 5, 6, 7 đã đúng. Vậy bit sai phải ở vị trí 1 Lý luận tương tự ta có các trường hợp khác. Thí dụ nếu C1= C2 = C4 = 1 thì bit lỗi là bit ở vị trí 7 Thí dụ bản tin nhận được là 1 0 1 1 1 1 0 Mạch dò sai sẽ tính C1 , C2 , C4 như sau:

C1 = H1⊕ X3⊕ X5⊕X7 = 1 ⊕ 1 ⊕ 1 ⊕ 0 = 1 C2 = H2⊕ X3⊕ X6⊕X7 = 0 ⊕ 1 ⊕ 1 ⊕ 0 = 0 C4 = H4⊕ X5⊕ X6⊕ X7 = 1 ⊕ 1 ⊕ 1 ⊕ 0 = 1

Vì chỉ bit X5 thuộc cả C1 và C4 nên bit sai là bit thứ 5 Quan sát tổ hợp C4 C2 C1 ta thấy C4 C2 C1 = 101 = (5)10 . Như vậy giá trị có được của tổ hợp này cho ta biết vị trí bit sai cần sửa chữa. Nếu tổ hợp này bằng 0 chứng tỏ bản tin nhận đúng. Mã Hamming có thể được phát triển để dò ra hai bit sai và sửa được một bit lỗi.

3.3 MÃ NÉN DỮ LIỆU Một vấn đề cũng luôn được quan tâm trong truyền dữ liệu là làm thế nào để giảm thiểu số bit cần thiết để truyền một bản tin. - Như ta đã biết, phương pháp điều chế vi phân, ngoài tác dụng tốt về mặt đồng bộ còn có tác dụng giảm số bit đi rất nhiều nếu thông tin có tính lặp lại.

_____________________________________________________________________________________________________

Nguyễn Trung Lập Truyền dữ liệu

Page 92: tong quan ve tri tue nhan tao

___________________________________________ Chương 3 Các loại mã trong truyền dữ liệu III - 13

- Một phương pháp khác là mã hóa Run Length. Phương pháp này cho phép người ta phát đi các mã thay cho các chuỗi ký tự có tính lặp lại kèm theo mã điều khiển báo cho bên thu số lần lặp lại, nhờ mã này mà bên thu có thể tạo lại toàn bộ chuỗi thông tin đã truyền. - Mã đồ họa trong hệ thống Videotex dùng một bảng mã hình học để phát đi các đồ họa của máy tính hoặc hình ảnh video. Mỗi hình được phát đi là tập hợp các hình cơ bản với vị trí, màu sắc và kích thước xác định. Các hình cơ bản là các vòng tròn, hình chữ nhật....Điều này làm giảm rất nhiều số bit cần thiết so với việc phải phát đi từng tọa độ và màu của từng điểm trên màn hình

3.3.1 Mã Huffman Mã Huffman lợi dụng xác suất xảy ra của các ký tự khác nhau mà gán các từ mã ngắn cho các ký tự có xác suất xảy ra lớn và ngược lại. Thí dụ, thay vì dùng 7 bit để mã tất cả các ký tự như mã ASCII, người ta chỉ gán 2 bit cho chữ E và 10 bit cho chữ Z, bởi lẻ, trong tiếng Anh xác suất xuất hiện chữ E rất lớn so với xác suất xuất hiện chữ Z. Mã này còn có tên Mã phụ thuộc tần số (frequency dependent code) Với phương pháp này số bit trung bình dùng cho mỗi ký tự sẽ giảm. Nhưng do các mã dài ngắn khác nhau, để máy thu phân biệt được, người ta phải chọn các từ mã ngắn sao cho không trùng với các bit đầu của các từ mã dài hơn. Gọi là tính tiền tô (prefix property). Giải thuật Huffman: Dưới đây là các bước tạo mã Huffman - Tương ứng với mỗi dữ kiện liên kết một cây nhị phân chứa duy nhất một nút. Ở mỗi cây ghi tần số xuất hiện mà ta gọi là trọng lượng của cây. - Tìm hai cây nhẹ nhất. Nếu có nhiều hơn hai, ta chọn ngẫu nhiên hai cây trong số các cây có trọng lượng nhẹ nhất, ghép chúng lại thành một cây đơn với nút gốc mới. Tổng trọng lượng hai cây này là trọng lượng của cây mới. - Lặp lại các bước cho tới lúc chỉ còn một cây duy nhất.

Các cây ban đầu trở thành các lá của cây nhị phân cuối cùng này. Ta biết rằng đối với cây nhị phân thì chỉ có một đường duy nhất từ gốc cho tới lá. Với mỗi lá, đường từ gốc đến nó chính là mã Huffman tương ứng. Mã này xác định bằng cách ghi trị 0 cho nhánh bên trái và 1 cho nhánh bên phải (hoặc ngược lại). Thí dụ 1: Thiết lập mã Huffman cho các ký tự A, B, C, D, E với tần số xuất hiện lần lượt là 0,25; 0,15; 0,10; 0,20; 0,30. (H 3.3a) là cây với 5 nút đơn ban đầu và trọng lượng tương ứng. (H 3.3b) ghép 2 cây B và C thành một cây mới với trọng lượng là tổng trọng lượng cây B và C (0,25) Bước tiếp theo ta có thể ghép cây mới hình thành với cây D hay cây A với D. (H 3.3c) ghép cây mới với D để được một cây trọng lượng là 0,45. (H 3.3d) ghép cây E và A Cuối cùng, ghép hai cây mới tạo để được một cây duy nhất, Ghi trị 0 và 1 vào các nhánh (H 3.3e).

_____________________________________________________________________________________________________

Nguyễn Trung Lập Truyền dữ liệu

Page 93: tong quan ve tri tue nhan tao

___________________________________________ Chương 3 Các loại mã trong truyền dữ liệu III - 14

(H 3.3)

Ta được bảng mã sau:

Ký tự Mã A B C D E

01 100 101 11 00

Chiều dài trung bình của từ mã có thể tính như sau: 0,25*2 + 0,15*3 + 0,10*3 + 0,20*2 + 0,30*2 = 2,25 bít/ký tự Do có sự chọn ngẫu nhiên khi các dữ kiện có cùng trọng lượng nên kết quả có thể cho các bảng mã khác nhau. Tuy nhiên, kết quả cuối cùng của các bộ mã khác nhau phải cho cùng chiều dài trung bình của từ mã.

Thí dụ 2: Mã hoá giá trị nhiệt độ trong khoảng từ 20° C đến 30° C với xác suất cho trong (H 3.4). Thay vì thực hiện các cây nhị phân như trên, ta có thể dựa vào xác suất của các giá trị nhiệt độ mà lập một đồ họa để thực hiện việc mã hóa sao cho các giá trị có xác suất lớn sẽ dùng từ mã ngắn nhất có thể có. Các sự kiện (là các giá trị nhiệt độ) được liệt kê theo xác suất giảm dần (H 3.4a) Ta bắt đầu bằng cách gán hai bít 0 và 1 cho 2 sự kiện có khả năng xảy ra ít nhất, sau đó hai sự kiện này được tổ hợp thành một sự kiện có xác suất bằng tổng hai xác suất của hai sự kiện đó, các sự kiện được sắp xếp theo thứ tự giảm dần và thủ tục lặp lại từ dưới lên và từ trái sang phải cho đến khi hai sự kiện cuối cùng được kết hợp. Từ mã của các sự kiện được viết bằng cách dò theo các đường của sơ đồ theo chiều ngược lại, từ phải qua trái. Cuối cùng ta có bảng mã (H 3.4b)

Từ mã trung bình: 0,21*2 + 0,17*3 + 0,15*3 + 0,12*3 + 0,1*3 + 0,06*4 + 0,05*4 + 0,04*5 + 0,03*6 + 0,02*6 =3,18 bít/sự kiện Số bit dùng mã hóa đã giảm khoảng 20%. Một ưu thế của phương pháp Huffman là có thể lập trình để thực hiện việc mã hóa. Trở lại Thí dụ 1, bây giờ giả sử chuỗi ký tự được phát đi là A B E C A D B C, tương ứng với chuỗi bit 01100001010111100101, máy thu khi nhận được chuỗi dữ liệu sẽ thực hiện việc giải mã như thế nào ? Nhờ vào tính tiền tố của các mã, máy thu sẽ lần lượt đọc các bit cho tới khi gặp một chuỗi con các bit tương ứng với một mã sẽ dừng lại, giải mã ký tự này, sau đó tiếp tục đọc chuỗi dữ liệu kế tiếp để tìm ra ký tự thứ hai. . .

_____________________________________________________________________________________________________

Nguyễn Trung Lập Truyền dữ liệu

Page 94: tong quan ve tri tue nhan tao

___________________________________________ Chương 3 Các loại mã trong truyền dữ liệu III - 15

(a) (b) (H 3.4)

3.3.2 Mã Run length Mã Huffman tuy có làm giảm số bit truyền đi nhưng nó đòi hỏi dữ liệu phải được tập hợp thành từng nhóm hay ký tự để xác định tần số lặp lại của các nhóm hay ký tự này. Việc này đôi khi rất khó thực hiện đối với một số loại dữ liệu thí dụ như dữ liệu từ một bản fax, tín hiệu mã hình ảnh . . . Lấy thí dụ trường hợp bản fax, dữ liệu được phát đi không phải là các ký tự mà là các bit tương ứng với điểm sáng tối trên tờ giấy, như vậy phải có một kỹ thuật phù hợp để nén chuỗi dữ liệu này, đó chính là mã Run length.

Mã Run length được tạo ra bằng cách quan sát chuỗi bit 0 (hoặc 1) liên tiếp và thay thế chiều dài chuỗi bit này bởi một số nhị phân. Ở máy thu khi nhận được các số

nhị phân sẽ thay các số này bởi các bit 0 (hoặc 1) đồng thời chèn các bit khác loại vào. Thí dụ ta phải tạo mã Run length cho chuỗi dữ liệu sau bằng cách dùng số 4 bit thay cho số bit 0 liên tiếp: Dòng dữ liệu 0 . . . 0 1 0 . . . 0 1 1 0 . . . 0 1 0 . . . 0 1 1 0 . . . 0 91 bit Số bit 0 liên tiếp 14 9 20 30 11 Run length (nhị phân) 1110 1001 0000 1111 0101 1111 1111 0000 0000 1011 40 bit Run length (thập phân) 14 9 0 15 5 15 15 0 0 11

Nhận xét cách tạo mã : - 1 bit 1 giữa các chuỗi bit 0 sẽ không được mã, máy thu tự động chèn bit 1 này vào khi phục hồi dữ liệu. - Nếu có 2 bit 1 liên tiếp, ta xem như có 1 chuỗi gồm không bit 0 giữa 2 bit 1 này và phải được thay thế bởi số 0000. - Nếu số số 0 nhiều hơn 15 ta phải dùng 2 số nhị phân thay cho chuỗi này (20=15+5; 30=15+15). Ở máy thu khi gặp chuỗi bốn bit 1 nó phải hiểu là phải lấy tổng số này với các số phía sau, nếu số sau cùng cũng gồm 4 bit 1, máy thu phải được báo bằng chuỗi 4 bit 0 theo sau (trường hợp sau số 30)

- Nếu chuỗi dữ liệu bắt đầu bằng bit 1 thì máy phát sẽ gửi đi 4 bit 0 đầu tiên. - Ở cuối bản tin máy phát sẽ gửi tín hiệu báo chấm dứt bản tin và nhờ đó máy thu biết

cách xử lý cho trường hợp bản tin kết thúc bởi chuỗi bit 0 hay bit 1. Kỹ thuật nén này chỉ có hiệu quả khi chuỗi dữ liệu chứa rất nhiều một loại bit.

_____________________________________________________________________________________________________

Nguyễn Trung Lập Truyền dữ liệu

Page 95: tong quan ve tri tue nhan tao

___________________________________________ Chương 3 Các loại mã trong truyền dữ liệu III - 16

Ngoài ra, kỹ thuật nén Run length cũng được dùng mã hóa các chuỗi ký tự giống nhau bằng cách thay mỗi chuỗi ký tự liên tiếp bằng con số chỉ độ dài đứng trước ký tự đó.

Thí dụ, với chuỗi HHHHHFFFFFFFFYYYYYYYYYYYYYGGGGGGGGGG

Sẽ có mã là: 5H8F13Y10G

3.3.3 Mã vi phân (Differential encoding) Còn gọi là mã tương đối (Relative encoding) Trong nhiều trường hợp, các dữ liệu liên tiếp nhau thay đổi rất ít . Thí dụ trường hợp

mã tín hiệu hình ảnh trong kỹ thuật video, do phải xử lý 30 bán ảnh (khung) trong một giây để tạo ảnh động, nên chi tiết của các ảnh không khác nhau bao nhiêu, thay vì phải nén tín hiệu từng khung người ta nghĩ tới việc xác định sự khác nhau của các khung liên tiếp, mã thông tin này và gửi đi.

Nguyên tắc của mã vi phân như sau: khung thứ nhất được phát đi đồng thời lưu ở bộ đệm của máy phát và thu. Máy phát sẽ so sánh khung thứ hai với khung thứ nhất này, mã sự khác biệt và phát đi dưới dạng một khung. Máy thu khi nhận khung thứ hai, nhờ các mã chỉ sự khác biệt mà so sánh với khung thứ nhất (đã lưu trước đó) để tái tạo khung thứ hai, đồng thời nó lưu khung thứ hai này trong bộ đệm và quá trình tiếp tục với các khung mới.

(H 3.5) là một thí dụ minh họa.

5 7 6 2 8 6 6 3 5 6 6 5 7 5 5 6 3 2 4 7 8 4 6 8 5 6 4 8 8 5 5 1 2 9 8 6 5 5 6 6 5 5 2 9 9 6 8 9 5 1 Khung thứ nhất

5 7 6 2 8 6 6 3 5 6 6 5 7 6 5 6 3 2 3 7 8 4 6 8 5 6 4 8 8 5 5 1 3 9 8 6 5 5 7 6 5 5 2 9 9 6 8 9 5 1

Khung thứ nhì

5 7 6 2 8 6 6 3 5 6 6 5 8 5 5 6 3 3 3 7 8 4 6 8 5 6 4 8 8 5 5 1 3 9 7 6 5 5 8 6 5 5 2 9 9 6 8 9 5 1

Khung thứ ba 0 0 0 0 0 0 0 0 0 0

0 0 0 1 0 0 0 0 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0

Khung phát đi là sai biệt giữa khung thứ nhì và khung thứ

nhất

0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0

Khung phát đi là sai biệt giữa khung thứ ba và

khung thứ nhì (H 3.5) Dữ liệu gồm các số nguyên được biểu diễn trong một khung 2 chiều, chúng không

mang một ý nghĩa cụ thể nào, mục đích của thí dụ là để hiểu cách tạo mã. Khung thứ nhất chứa một tập hợp các số nguyên và khung thứ hai chứa một tập hợp các số nguyên khác khung thứ nhất một ít.

Trong hình, các khung nằm dưới khung thứ hai và thứ ba là khung chứa các mã vi phân, số 0 chỉ không có sự khác biệt dữ liệu của 2 khung, số 1 chỉ dữ liệu khung sau lớn hơn khung trước 1 đơn vị và số -1 chỉ ngược lại. Dĩ nhiên có thể sử dụng các số khác hơn là 1 và -1.

Thí dụ cho ta thấy sự xuất hiện một chuỗi dài các bit 0 và có thể được nén nhờ phương pháp Run length.

3.4 Mật mã Trong nhiều trường hợp, bản tin cần được giữ bí mật đối với đệ tam nhân thì việc mã hóa được thực hiện dưới dạng mật: bản tin được mã bởi một khóa mà chỉ hai người liên hệ trong trao đổi thông tin biết để sử dụng khi mã hóa và giải mã.

_____________________________________________________________________________________________________

Nguyễn Trung Lập Truyền dữ liệu

Page 96: tong quan ve tri tue nhan tao

___________________________________________ Chương 3 Các loại mã trong truyền dữ liệu III - 17

Gọi bản tin ban đầu là P (Plaintext), bản tin đã cài mật mã là C (Ciphertext) thì C = Ek(P), E và k là giải thuật và khóa tạo mã ( Algorithm & Encryption key). Nơi nhận, nhận bản tin C và phục hồi lại P với giải thuật và khóa là D và k’ : P =Dk’(C) = Dk’ Ek(P). Trong đa số trường hợp (nhưng không phải luôn luôn) k=k’. Giải thuật và khóa càng phức tạp thì độ an toàn của bản tin càng cao. Chúng ta sẽ xét một số cách tạo mật mã từ đơn giản đến phức tạp.

3.4.1. Mã Caesar (Caesar cipher) Còn gọi là mã mẫu tự đơn (mono-alphabetic cipher) Đây là loại mật mã có sớm nhất và đơn giản nhất. Người ta sẽ thay các ký tự của bản tin bằng các ký tự khác theo một qui luật nào đó, thí dụ bằng cách cộng một số nguyên vào mã ASCII của các ký tự ta sẽ có một bản tin mật. Thí dụ cộng 1 vào mã ASCII ta sẽ có ký tự B thay cho A, C thay cho B . . . . Và nơi nhận sẽ giải mã bằng cách trừ 1 cho các mã nhận được trước khi tra bảng mã ASCII.

Vì giải thuật tạo mã quá đơn giản nên bản tin có thể được giải mã một cách dễ dàng mà không cần biết trước khóa. Thí dụ, trong tiếng Anh, các ký tự E, T, O và N là các ký tự thường xuất hiện nhiều lần trong các văn bản nên khi gặp bản mã người ta có thể thay các ký tự lặp lại nhiều lần bằng các ký tự này. Sau vài thử nghiệm có thể thấy được qui luật và suy ra bản tin.

Để minh họa, giả sử một người nhận được bản tin sau: ;RSDR\SFF\,PMRU\YP\,U\NSML\SVVPIMY\$234567890

Trước nhất người ta liệt kê các ký tự thường xảy ra : \ (7 lần), S (4 lần), R, P và M (3 lần), như vậy người ta có thể thay thử các ký tự S, R, P, M bởi E, T, O, A và N (in đậm):

;EADE\AFF\,ONEU\YO\,U\NANL\AVVOINY\$234567890 Tiếp tục, người ta có thể nghĩ là trong một văn bản luôn có các khoảng trống, như vậy

thử thay các dấu \ bằng các khoảng trống, bản tin thành ;EADE AFF ,ONEU YO ,U NANL AVVOINY $234567890 Nhận xét tiếp các từ chứa ít ký tự như AFF và YO, trong tiếng Anh, từ 3 ký tự mà hai

ký tự sau giống nhau khiến ta nghĩ đến từ ADD và từ 2 ký tự kết thúc bằng O khiến ta nghĩ tới từ TO. Thay vào ta lại được bản tin:

;EADE ADD ,ONEU TO ,U NANL AVVOINY $234567890 Cho tới đây, dường như ta đã đi được một đoạn đường khá dài để sắp tới đích, thêm

vài lần thử người ta có thể tìm ra bản tin. PLEASE ADD MONEY TO MY BANK ACCOUNT #123456789 Một phương pháp khác để tạo mã mẫu tự đơn có tên là Polybius square. Mẫu tự I và J

được kết hợp lại và được xử lý như một từ đơn, để tổng số mẫu tự là 25. 25 mẫu tự lại được chia thành dãy 5x5. Mỗi mẫu tự sẽ được mã bởi một cặp số tương ứng với hàng và cột trong bảng mã

1 2 3 4 5

1 2 3 4 5

A F L Q V

B G M R W

C H N S X

D IJ O T Y

E K P U Z

Thí dụ bản văn N O W I S T H E T I M E 33 43 25 42 34 44 32 51 44 42 23 51

_____________________________________________________________________________________________________

Nguyễn Trung Lập Truyền dữ liệu

Page 97: tong quan ve tri tue nhan tao

___________________________________________ Chương 3 Các loại mã trong truyền dữ liệu III - 18

3.4.2. Mã đa mẫu tự (Poly-alphabetic cipher) Để tránh việc lặp lại các ký tự trong bản mật mã, người ta dùng loại mã đa mẫu tự,

tương tự mã Caesar, mỗi ký tự cũng được thay bởi một ký tự khác, nhưng các ký tự giống nhau không phải được thay bằng một ký tự duy nhất, mà sẽ được thay bằng các ký tự khác nhau tùy theo vị trí của nó.

Một thí dụ của mã đa mẫu tự là mã Vigenère Dùng một mãng 2 chiều của các ký tự, trong đó mỗi hàng chứa các mẫu tự theo

Alphabet nhưng thứ tự trong từng hàng khác nhau: Thí dụ Cột 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 Hàng 0 A B CD E FGH I J K L M N O P Q R S T U V W X Y Z Hàng 1 B C DE FGH I J K L M N O P Q R S T U V W X Y Z A Hàng 2 C DE F GH I J K L M N O P Q R S T U V W X Y Z A B Hàng 3 D E FG H I J K L M N O P Q R S T U V W X Y Z A B C . . . . . . . . . . . . . . Hàng 24 Y Z AB C D E FGH I J K L M N O P Q R S T U V W X Hàng 25 Z AB C D E FGH I J K L M N O P Q R S T U V W X Y Cột 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 1920 21 22 23 24 25 Để thay thế một ký tự, gọi i là vị trí tương đối của nó trong bản tin (bắt đầu là vị trí 0)

và j là vị trí tương đối của nó trong thứ tự Alphabet. Gọi V là mãng, ký tự sẽ được thay bằng một ký tự trong V[ i mod 26,j ].

Thí dụ dùng mãng ở trên để thay các chữ THE trong bản tin ở các vị trí 25, 54 và 104. Ta lập bảng thay thế như sau:

Ký tự cần thay Vị trí i i mod 26 Vị trí j Ký tự phải thay

T H E T H E T H E

25 26 27 54 55 56 104 105 106

25 0 1 2 3 4 0 1 2

19 7 4 19 7 4 19 7 4

S (h25, kt19) H (h0, kt7)

F V K I T I G

Như vậy các ký tự THE ở các vị trí khác nhau trong bản tin đã lần lượt được thay bởi SHF, VKI và TIG.

Mặc dù đã giải quyết được sự lặp lại, nhưng xét kỹ chúng ta vẫn thấy rằng có một qui luật mà người ta vẫn có thể nhận ra đó là khoảng cách của các ký tự của cùng một mã là như nhau do tính tuần hoàn của mãng mẫu tự mà chúng ta sử dụng và do bài toán mod 26 (khoảng cách trong mã ASCII của S & H, V & K và T & I đều là 11).

Để khắc phục điều này người ta có thể tăng số hàng của mãng ký tự lên, nhưng như vậy đưa đến kết quả là khóa có thể quá dài (thậm chí dài hơn bản tin), khó khăn cho việc phát và lưu trữ một cách an toàn.

3.4.3. Mã chuyển vị (Transposition cipher) Người ta sẽ sắp xếp lại thứ tự các ký tự của bản văn bằng cách lưu chúng trong một mãng 2 chiều m cột, m ký tự đầu tiên sẽ cho vào hàng thứ nhất, m ký tự kế tiếp cho vào hàng

_____________________________________________________________________________________________________

Nguyễn Trung Lập Truyền dữ liệu

Page 98: tong quan ve tri tue nhan tao

___________________________________________ Chương 3 Các loại mã trong truyền dữ liệu III - 19

thứ hai, và cứ thế tiếp tục cho hết bản tin, sau đó hoán đổi vị trí các cột theo thứ tự mới, giả sử p1, p2 . . . pm. Sự hoán đổi có thể thực hiện một cách ngẫu nhiên hoặc theo một qui luật định trước. Bản tin sẽ được truyền đi theo thứ tự từ p1, p2 . . . đến pm Thí dụ bản tin cần phát: MISS PIGGY KERMIT ANIMAL AND FOZZIE BEAR Giả sử dùng mãng 5 cột 1 2 3 4 5, Bản tin được đưa vào mãng như sau: Số cột

1 2 3 4 5

M P I I A O

I I K T M N Z B

S G E

A D Z E

S G R A L I A

Y M N

F E R

Sắp xếp lại các cột theo thứ tự 2, 4, 3, 1, 5, ta được bản tin:

IIKTMNZBSGRAL IASGE ADZEMP IIAO (2 khoảng trống) YMN FER Rõ ràng là bản tin đã mã hóa không còn một dáng dấp nào của bản tin ban đầu. Nhưng phương pháp vẫn còn khuyết điểm là sự lặp lại của các ký tự. Nếu kẻ gian xác định được mật mã đã dùng là loại chuyển vị thì khả năng giải được mã không khó lắm (nhất là có phương tiện tin học trong tay).

3.4.4. Mã DES (Data Encryption Standard) Mã DES được phát triển bởi IBM vào những năm đầu thập niên 70, đã được chính

phủ cho phép xem như chuẩn trong việc tạo mật mã dùng trong thương mại và những tin tức không coi là bí mật và người ta đã chế tạo các chip VLSI để thực hiện viêc tạo mã nhanh hơn.

DES chia bản tin ra thành từng khối 64 bit và dùng khóa 56 bit để thực hiện quá trình tạo mã rất phức tạp bao gồm các kỹ thuật như chuyển vị, thay thế, toán tử EX-OR và vài xử lý khác để tạo nên một bản mã 64 bit.

Tiến trình thực hiên gồm: - Bước 1: Chuyển vị 64 bit dữ liệu và 56 bit khóa - Bước 2 gồm 16 lần thực hiện sự mã hóa tương tự nhau nhưng với các khóa khác

nhau, dữ liệu ra của lần thực hiện trước sẽ là dữ liệu vào của lần thực hiện sau. - Bước 3: Trộn 32 bit đầu và 32 bit cuối - Bước 4: Thực hiện lần chuyển vị cuối cùng. (H 3. 6) mô tả các bước tạo mã của DES

_____________________________________________________________________________________________________

Nguyễn Trung Lập Truyền dữ liệu

Page 99: tong quan ve tri tue nhan tao

___________________________________________ Chương 3 Các loại mã trong truyền dữ liệu III - 20

(H 3.6) (H 3.7) minh họa một trong 16 lần thực hiện mã hóa

Trong (H 3.7) , các ký hiệu C64 chỉ 64 bit đã được mã hóa, L32 chỉ 32 bit đầu của C64, R32 là 32 bit cuối, K56 là khóa 56 bit. Ngoài ra các ký hiệu như X48 chỉ chuỗi dữ liệu 48 bit có được từ một tác vụ trung gian trước đó. Lưu ý là để đơn giản, chúng ta chỉ dùng cùng 1 ký hiệu cho các chuỗi dữ liệu ra của cùng 1 tác vụ, nhưng các chuỗi này là khác nhau (Thí dụ, cùng dùng ký hiệu X6 cho các chuỗi dữ liệu ra từ mạch chia nhóm, nhưng các chuỗi ra từ các mạch khác nhau thì khác nhau).

Như (H 3.7) mô tả, đầu tiên, người ta chia 64 bit ra làm đôi, 32 bit đầu ký hiệu L32 và 32 bit còn lại là R32. Tiếp theo chuỗi R32 được mở rộng thành 48 bit (R48) bằng cách chuyển vị và nhân đôi một số bit (Ta ký hiệu R48 để nhấn mạnh rằng chuỗi này được dẫn xuất từ R32). Đồng thời khóa 56 bit cũng được phân làm đôi và thực hiện việc quay vòng cho mỗi nhóm (số lần quay tùy theo giải thuật ở từng bước mã hóa khác nhau), sau đó thực hiện chuyển vị, chuỗi bit ra ký hiệu là K56. Bước tiếp theo là thực hiện hàm EX-OR cho R48 và K56, kết quả là chuỗi X48, chuỗi này lại được phân thành 8 nhóm 6 bit (X6) rồi thực hiện việc thay thế để giảm xuống thành các nhóm 4 bít (X4) sau đó tổ hợp 8 nhóm này để thành chuỗi X32. X32 lại được EX-OR với L32, kết quả là X32. Cuối cùng chuỗi X32 tổ hợp với chuỗi bit R32 để cho mã 64 bit (C64).

_____________________________________________________________________________________________________

Nguyễn Trung Lập Truyền dữ liệu

Page 100: tong quan ve tri tue nhan tao

___________________________________________ Chương 3 Các loại mã trong truyền dữ liệu III - 21

(H 3.7)

Tóm lại, giải thuật để có được một bản tin mật rất là phức tạp, nhưng như thế vẫn chưa

chắc đã bảo mật tuyệt đối được bản tin. Ngoài ra, việc qui ước với nhau cách tạo các khóa hoặc cách thông tin cho nhau về các khóa cũng phải được thực hiện sao cho bí mật phải được bảo đảm. Vấn đề bảo mật còn rất nhiều điều phải nghiên cứu.

_____________________________________________________________________________________________________

Nguyễn Trung Lập Truyền dữ liệu

Page 101: tong quan ve tri tue nhan tao

Chương 4: Tìm kiếm Heuristic

Chương IV

TÌM KIẾM HEURISTIC

Nội dung chính: Tiếp theo các chiến lược tìm kiếm hình thức trong không gian trạng thái, chương này giới thiệu các chiến lược tìm kiếm mang tính không hình thức – tìm kiếm heuristic. Không gian tìm kiếm của các bài toán luôn có xu hướng tăng lên theo hàm mũ, nên tìm kiếm heuristic là một công cụ chủ yếu để xử lý sự bùng nổ tổ hợp này. Nội dung chương IV giới thiệu hai thuật toán heuristic cơ bản là: tìm kiếm tốt nhất đầu tiên (best first search) và tìm kiếm leo núi (hill climbing), sau đó chú trọng vào việc phân tính hành vi của các thuật toán heuristic trên không gian, xem xét các đặc tính có thể chấp nhận được, tính đơn nhất và khả năng cung cấp thông tin của một heuristic.

Mục tiêu cần đạt : Sau chương này, sinh viên có thể :

Hiểu khái niệm và nguyên tắc áp dụng heuristic vào việc tìm kiếm trong không gian trạng thái.

Vận dụng heuristic vào một số bài toán phổ biến. Vận dụng các chiến lược tìm kiếm heuristic vào các bài toán trò chơi. Phân tích các heuristic khác nhau có thể áp dụng cho bài toán.

Kiến thức tiên quyết : Lý thuyết đồ thị, Các thuật toán tìm kiếm trên đồ thị, Lý thuyết trò chơi, …

Tài liệu tham khảo :

[1] George F. Luger, William A. Stubblefield – Albuquerque – Artificial Intelligence – Wesley Publishing Company, Inc – 1997 (Chapter 4)

[2] Bùi Xuân Toại – Trương Gia Việt (Biên dịch) – Trí tuệ nhân tạo – Các cấu trúc và chiến lược giải quyết vấn đề - NXB Thống kê, 2000 (Phần II)

[3] Heuristic search http://www.macs.hw.ac.uk/~alison/ai3notes/subsection2_6_2_3.html

[4] Minimax and alpha-beta template http://www.cs.caltech.edu/~petrovic/games/archex/othellodir/node2.html

[5] Nicky Danino - September 3rd 2001- Heuristic evaluation : A step by step Guide http://www.sitepoint.com/article/heuristic-evaluation-guide

Võ Huỳnh Trâm – Trần Ngân Bình 63

Page 102: tong quan ve tri tue nhan tao

Giáo Trình Trí Tuệ Nhân Tạo

I MỞ ĐẦU

George Polya định nghĩa heuristic là “sự nghiên cứu về các phương pháp và các qui tắc trong việc khám phá và phát minh” (Polya 1945). Nghĩa này có thể xuất phát từ gốc Hy Lạp của động từ eurisco nghĩa là “tôi phát hiện”. Khi Archimedes nhảy ra khỏi bồn tắm và chộp lấy chiếc mũ miện bằng vàng, ông ta đã la lên “Eureka!” có nghĩa “Tôi đã tìm thấy nó!”. Trong tìm kiếm không gian trạng thái, heuristic là các luật dùng để chọn những nhánh nào có nhiều khả năng nhất dẫn đến một giải pháp chấp nhận được.

Các chương trình giải quyết những vấn đề trí tuệ nhân tạo sử dụng heuristic cơ bản theo hai dạng:

1. Vấn đề có thể không có giải pháp chính xác vì những điều không rõ ràng trong diễn đạt vấn đề hoặc trong các dữ liệu có sẵn. Chẩn đoán y khoa là một ví dụ. Tập hợp các triệu chứng cho trước có thể do nhiều nguyên nhân gây ra, bác sĩ có thể dùng heuristic để chọn kết quả chẩn đoán nào thích hợp nhất và đưa ra kế hoạch điều trị.

2. Vấn đề có thể có giải pháp chính xác, nhưng chi phí tính toán để tìm ra nó không cho phép. Trong nhiều vấn đề (như cờ vua chẳng hạn), không gian trạng thái phát triển rất nhanh và rất rộng vì số lượng các trạng thái có thể xảy ra tăng theo hàm mũ hoặc giai thừa cùng với độ sâu tìm kiếm. Trong những trường hợp này, các kỹ thuật tìm kiếm thô sơ như tìm kiếm sâu hay tìm kiếm rộng sẽ không tìm được giải pháp trong một giới hạn thời gian. Heuristic sẽ giảm bớt độ phức tạp bằng cách hướng việc tìm kiếm theo con đường có nhiều hứa hẹn nhất. Nhờ đã loại bỏ bớt các trạng thái không hứa hẹn và con cháu của chúng ra khỏi việc xem xét nên thuật toán heuristic có thể khắc phục việc bùng nổ trạng thái và tìm ra một giải pháp có thể chấp nhận được.

Giống như tất cả các luật khám phá và phát minh khác, heuristic có thể sai lầm. Heuristic chỉ là một phỏng đoán chứa các thông tin về bước tiếp theo sẽ được chọn dùng trong việc giải quyết một vấn đề. Nó thường dựa vào kinh nghiệm hoặc trực giác. Vì các heuristic sử dụng những thông tin hạn chế nên chúng ít khi có khả năng đoán trước chính xác cách hành xử của không gian trạng thái ở những giai đoạn xa hơn. Heuristic có thể dẫn đến một thuật toán tìm kiếm chỉ đạt được giải pháp gần tối ưu hoặc hoàn toàn không tìm được bất kỳ giải pháp nào. Đây là một hạn chế thuộc về bản chất tìm kiếm heuristic.

Các heuristic và việc thiết kế thuật toán để thực hiện tìm kiếm heuristic từ lâu đã là sự quan tâm chủ yếu của các công trình nghiên cứu trí tuệ nhân tạo. Chơi game và chứng minh định lý là hai ứng dụng lâu đời nhất, cả hai đều cần đến các heuristic để thu giảm bớt không gian giải pháp có thể. Không thể nào kiểm tra hết mọi suy luận có thể sinh ra trong lĩnh vực toán hoặc mọi nước đi có thể có trên bàn cờ vua, tìm kiếm heuristic thường là câu trả lời thực tế duy nhất. Gần đây việc tìm kiếm trong các hệ chuyên gia cũng xác nhận mức độ quan trọng của các heuristic như là một phần không thể thiếu trong quá trình giải quyết vấn đề.

Thuật toán heuristic gồm hai phần: Hàm đánh giá heuristic và thuật toán để sử dụng nó trong tìm kiếm không gian trạng thái.

Xét trò chơi Tic-tac-toe, để tìm kiếm đến hết không gian, số lượng trạng thái sẽ là rất lớn nhưng không phải là không thể vượt qua. Mỗi nước đi trong chín nước đầu tiên đều có tám khả năng đặt quân cờ kế tiếp và đến lượt mình mỗi nước đi này lại có bảy khả năng đặt quân

64 Võ Huỳnh Trâm – Trần Ngân Bình

Page 103: tong quan ve tri tue nhan tao

Chương 4: Tìm kiếm Heuristic

cờ cho nước đi tiếp tục ... Một phân tích đơn giản cho biết số lượng các trạng thái cần được xem xét cho quá trình này là 9 x 8 x 7 x ... x 1 = 9!.

Áp dụng một nhận xét trực quan nhỏ dựa theo tính chất đối xứng của cấu hình bàn cờ có thể làm giảm nhỏ không gian tìm kiếm xuống một ít. Nhiều cấu hình của bài toán tương đương nhau trong các thao tác. Chẳng hạn, thực tế chỉ có ba nước đi cho quân cờ đầu tiên: ô cạnh, ô góc hoặc ô giữa. Các rút gọn đối xứng ở mức thứ hai của các trạng thái sẽ giảm tiếp số lượng đường đi có thể xảy ra trong không gian đó xuống đến tổng số 12 x 7! . Nó đã nhỏ hơn không gian ban đầu nhưng vẫn phát triển theo hàm giai thừa.

Hình 4.1 – Không gian trạng thái bài toán Tic-tac-toe thu giảm bởi tính đối xứng

Tuy nhiên, một heuristic đơn giản có thể loại bỏ việc tìm kiếm hầu như toàn bộ: heuristic “nước đi chắc thắng nhất”, nghĩa là chọn vị trí đặt quân cờ mà có nhiều đường chắc thắng nhất giao nhau. Trong trường hợp các trạng thái đều có số lượng bằng nhau, chọn trạng thái đầu tiên.

Sau đó thuật toán này sẽ chọn lựa và chuyển đến trạng thái có giá trị heuristic cao nhất (xem hình). Như trong hình vẽ, quân X sẽ chọn đặt vào vị trí trung tâm bàn cờ. Chú ý không chỉ các trạng thái tương đương khác bị loại bỏ mà tất cả con cháu của chúng cũng bị loại. Hai phần ba không gian trạng thái này đã bị loại ngay từ nước đi đầu tiên.

Võ Huỳnh Trâm – Trần Ngân Bình 65

Page 104: tong quan ve tri tue nhan tao

Giáo Trình Trí Tuệ Nhân Tạo

3 nước đi thắng qua ô góc

4 nước đi thắng qua ô giữa

2 nước đi thắng qua ô cạnh

Hình 4.2 - Heuristic “nước đi chắc thắng nhất”

Sau nước đi đầu tiên, đối thủ có thể chọn một trong hai nước đi tương đương nhau. Dù chọn nước đi nào, heuristic đó cũng được áp dụng cho các bước tiếp theo. Khi quá trình tìm kiếm tiếp tục, từng bước đi sẽ đánh giá các con của một nút duy nhất mà không yêu cầu tìm kiếm hết không gian. Mặc dù khó tính chính xác số lượng trạng thái phải được kiểm tra theo cách này nhưng vẫn có thể tính phỏng đoán một giới hạn trên. Trong thực tế số lượng sẽ ít hơn 9! rất nhiều.

Hình 4.3 – Không gian trạng thái đã được thu giảm bởi heuristic

66 Võ Huỳnh Trâm – Trần Ngân Bình

Page 105: tong quan ve tri tue nhan tao

Chương 4: Tìm kiếm Heuristic

II THUẬT TOÁN TÌM KIẾM HEURISTIC

II.1 Tìm kiếm leo núi (Hill climbing – Pearl 1984)

Cách đơn giản nhất để thực hiện tìm kiếm heuristic là tìm kiếm “leo núi”. Chiến lược leo núi phát triển trạng thái con tốt nhất sẽ được chọn cho bước tiếp theo, không lưu giữ lại bất kỳ thông tin nào về các nút anh em lẫn cha mẹ của nó. Quá trình tìm kiếm sẽ dừng lại khi tiếp cận trạng thái tốt hơn so với mọi trạng thái con của nó. Hình dung một người leo núi hăm hở nhưng mù quáng luôn luôn chọn leo lên đỉnh theo con đường dốc nhất có thể có cho đến khi không còn leo tiếp được nữa. Vì không ghi lại thông tin của quá trình đã xảy ra nên thuật toán này không thể phục hồi lại từ những thất bại trong chiến lược của nó.

Hạn chế chủ yếu của chiến lược leo núi là có xu hướng rơi vào “một cực đại cục bộ”. Khi đến được một trạng thái tốt hơn so với mọi trạng thái con của nó, thuật toán dừng lại. Nếu trạng thái này không phải là đích mà chỉ là một điểm cực đại cục bộ, thuật toán sẽ thất bại trong việc tìm lời giải. Như vậy hiệu quả hoạt động chỉ có thể được cải thiện trong một phạm vi giới hạn nào đó, nhưng trong toàn bộ không gian có thể không bao giờ đạt được sự tối ưu tổng thể.

II.2 Tìm kiếm tốt nhất đầu tiên (Best – first – search)

Xét đồ thị không gian tìm kiếm như hình dưới đây (con số cạnh mỗi nút cho biết giá trị ước lượng độ tốt của nút đó trong không gian, giá trị thấp nhất là tốt nhất). Giả sử nút đích cần tìm kiếm là P.

Hình 4.4 – Đồ thị cho giải

thuật tìm kiếm tốt nhất đầu tiên

Võ Huỳnh Trâm – Trần Ngân Bình 67

Page 106: tong quan ve tri tue nhan tao

Giáo Trình Trí Tuệ Nhân Tạo

Câu hỏi :

Trình bày danh sách các nút được duyệt dùng thuật toán leo núi cho đồ thị trong hình 4.4 ?

Giống như các thuật toán tìm kiếm sâu và rộng, tìm kiếm tốt nhất cũng dùng các danh sách để lưu giữ trạng thái: danh sách open chứa các nút được triển khai trong quá trình tìm kiếm và danh sách closed chứa các nút đã xét. Một bước mới được bổ sung vào thuật toán là sắp xếp các trạng thái trong danh sách open phù hợp với giá trị heuristic ước lượng “độ tốt” của chúng so với đích. Như vậy mỗi bước lặp của vòng lặp sẽ xem xét trạng thái “có hứa hẹn nhất” trong danh sách open và loại bỏ trạng thái này ra khỏi open. Nếu gặp trạng thái đích, thuật toán này sẽ cung cấp con đường lời giải đã dẫn đến đích đó. Nếu ngược lại, phần tử đầu tiên của open không phải là đích, thuật toán sẽ áp dụng các luật phù hợp để phát sinh con cháu. Trường hợp một trạng thái con nào đó đã có sẵn trong open hoặc closed, thuật toán cũng sẽ kiểm tra để chắc chắn rằng sẽ chọn được nút cung cấp con đường lời giải ngắn hơn. Các trạng thái lặp hai lần sẽ không được giữ lại. Nhờ cập nhật kịp thời nguồn gốc của các nút trong open và closed nên thuật toán này có nhiều khả năng tìm được đường đi ngắn nhất dẫn đến đích. Khi open được duy trì dưới dạng một danh sách có sắp xếp, nó thường được tổ chức như là một hàng ưu tiên (Priority queue). Dưới đây trình bày các bước áp dụng thuật toán tìm kiếm cho đồ thị trong hình trên.

1. open = [A5]; closed = [] 2. Đánh giá A5;

open = [B4,C4,D6]; closed = [A5]

3. Đánh giá B4; open = [C4,E5,F5,D6]; closed = [B4,A5]

4. Đánh giá C4; open = [H3,G4,E5,F5,D6];

closed = [C4,B4,A5] 5. Đánh giá H3;

open = [O2,P3,G4,E5,F5,D6]; closed = [H3,C4,B4,A5]

6. Đánh giá O2; open = [P3,G4,E5,F5,D6]; closed = [O2,H3,C4,B4,A5]

7. Đánh giá P3; Tìm được lời giải!

68 Võ Huỳnh Trâm – Trần Ngân Bình

Page 107: tong quan ve tri tue nhan tao

Chương 4: Tìm kiếm Heuristic

II.3 Cài đặt hàm đánh giá heuristic (heuristic evaluation function)

Bây giờ ta đánh giá hiệu quả của vài heuristic khác nhau được dùng để giải trò đố 8 ô. Hình dưới đây trình bày trạng thái xuất phát và trạng thái đích của trò chơi cùng với ba trạng thái đầu tiên trong quá trình tìm kiếm.

Heuristic đơn giản nhất sẽ đếm số ô sai khác so với trạng thái đích trong từng trạng thái. Trạng thái có số ô sai khác ít nhất sẽ gần đích hơn và là trạng thái tốt nhất để kiếm tra kế tiếp.

57

461

382

57

461

382

57461

382

57461

382

56741

382

56741

382

57461

382

57461

382

start

567

48

321

567

48

321

goal

g(n) = 0

g(n) = 1

6

(A)

4

(B)

6

(C)f(n) =

Hình 4.5 – Trạng thái bắt đầu và kết thúc trong trò đố 8 ô

Tuy nhiên heuristic này không sử dụng hết các thông tin trong một cấu hình bàn cờ vì nó không đưa vào khoảng cách mà các ô sai khác. Một heuristic “tốt hơn” là sẽ cộng tất cả các khoảng cách đó lại thành tổng số ô mà một ô phải di chuyển về vị trí đúng của nó trong trạng thái đích (khoảng cách Manhattan).

Cả hai heuristic này đều có hạn chế là không thể biết rõ những khó khăn khi đổi chỗ hai ô. Đó là trường hợp hai ô nằm cạnh nhau và vị trí đúng của chúng là phải đổi chỗ cho nhau, ta phải mất nhiều (chứ không phải hai) nước đi mới đặt chúng lại được đúng vị trí. Một heuristic muốn tính toán điều này phải nhân ít nhất là gấp đôi khoảng cách đối với mỗi trường hợp có hai ô đổi chỗ trực tiếp.

Heuristic “khoảng cách Manhattan” cho chúng ta một dự đoán có vẻ chính xác hơn so với heuristic số ô sai khác so với trạng thái đích. Mục đích của chúng ta là dùng những thông tin hạn chế có sẵn trong một mô tả trạng thái để đưa ra những chọn lựa thông minh. Việc thiết kế các heuristic tốt là một vấn đề mang tính kinh nghiệm, óc phán đoán và trực giác, nhưng giá trị cuối cùng của một heuristic phải được đo bằng hiệu quả thực sự của nó trong từng tình huống bài toán.

Vì heuristic có thể sai lầm nên có khả năng thuật toán tìm kiếm sẽ dẫn đến một con đường không đưa đến đích. Vấn đề này đã xuất hiện trong tìm kiếm sâu, ở đó một giới hạn độ sâu đã được sử dụng để phát hiện những con đường thất bại. Ý tưởng này cũng có thể áp dụng

Võ Huỳnh Trâm – Trần Ngân Bình 69

Page 108: tong quan ve tri tue nhan tao

Giáo Trình Trí Tuệ Nhân Tạo

cho tìm kiếm heuristic. Nếu hai trạng thái có giá trị heuristic bằng nhau thì nên kiểm tra trạng thái nào gần trạng thái gốc của đồ thị hơn. Trạng thái gần gốc hơn sẽ có nhiều khả năng là con đường ngắn nhất dẫn đến đích. Khoảng cách từ trạng thái xuất phát có thể đo được bằng cách duy trì một số đếm chiều sâu cho từng trạng thái đếm. Số đếm này bằng 0 đối với trạng thái xuất phát và tăng lên một đơn vị sau mỗi mức tìm kiếm. Nó ghi lại độ dời thực tế phải thực hiện để đi từ trạng thái xuất phát đến từng trạng thái. Số đếm này có thể cộng thêm vào giá trị heuristic của từng trạng thái để hướng việc tìm kiếm theo khuynh hướng chọn những trạng thái gần trạng thái xuất phát hơn trong đồ thị.

Do đó hàm đánh giá f sẽ bao gồm tổng của hai phần:

f(n) = g(n) + h(n)

trong đó g(n) đo chiều dài thực từ trạng thái n bất kỳ về trạng thái xuất phát và h(n) là ước lượng heuristic cho khoảng cách từ trạng thái n đến trạng thái đích.

Chẳng hạn, trong bài toán trò đố 8 ô trên, chúng ta có thể gọi h(n) là số ô cần phải dời chỗ. Khi hàm đánh giá này được áp dụng cho từng trạng thái con (A), (B), (C) trong hình 4.5, các giá trị cho hàm f lần lượt là 6, 4 và 6.

Một heuristic dùng hàm đánh giá f(n) như trên kết hợp với thuật toán tìm kiếm tốt nhất đầu tiên best-first-search, được gọi là thuật toán A (algorithm A)

Câu hỏi :

Mật mã Caesar là một cách mã hóa đơn giản dựa vào phép hoán vị vòng tròn các chữ trong bảng chữ cái, với chữ cái thứ i được thay thế bởi chữ cái thứ (i + 1). Ví dụ, trong mật mã Caesar dịch 4 bậc, từ “Ceasar” sẽ được mã hóa thành “Geiwev”. Nêu một heuristic mà bạn nghĩ có thể dùng để giải các mật mã Ceasar ?

II.4 Tính khả chấp, tính đơn nhất và khả năng cung cấp thông tin của heuristic

Có thể chúng ta phải đánh giá cách hành xử của các heuristic trên một số phương diện. Ví dụ, có thể chúng ta không chỉ cần một giải pháp mà còn cần thuật toán để tìm con đường ngắn nhất dẫn đến đích. Một số tính chất dưới đây là cần xem xét đối với việc đánh giá hiệu quả của một heuristic :

70 Võ Huỳnh Trâm – Trần Ngân Bình

Page 109: tong quan ve tri tue nhan tao

Chương 4: Tìm kiếm Heuristic

II.4.1 Tính khả chấp :

Một heuristic dùng để tìm ra con đường dẫn đến đích ngắn nhất bất cứ khi nào nó có tồn tại được gọi là heuristic khả chấp (admissible). Nói cách khác, tính khả chấp của heuristic là nó sẽ bảo đảm tìm thấy đường đi ngắn nhất đến trạng thái đích.

Một thuật toán tìm kiếm có thể chấp nhận được nếu nó được đảm bảo sẽ tìm thấy một đường đi tối thiểu dẫn đến lời giải, bất kỳ lúc nào con đường đó có mặt. Trong việc xác định tính khả chấp của một heuristic, chúng ta định nghĩa hàm đánh giá f* :

f*(n) = g*(n) + h*(n)

Với g*(n) là giá của đường đi ngắn nhất từ nút bắt đầu đến nút n, còn h*(n) là giá thực sự của đường đi ngắn nhất từ nút n đến nút mục tiêu. Như vậy f*(n) là chi phí thực của con đường tối ưu từ nút xuất phát đến nút đích đi qua nút n.

Nếu thuật toán A dùng hàm đánh giá f, trong đó h(n) ≤ h*(n) thì nó được gọi là thuật toán A*(algorithm A)

II.4.2 Tính đơn nhất :

Khi có một trạng thái được phát hiện nhờ sử dụng tìm kiếm heuristic, liệu có bảo đảm rằng về sau sẽ không tìm được một trạng thái như vậy với khoảng cách ngắn hơn tính từ trạng thái xuất phát. Đây chính là thuộc tính của sự đơn nhất (monotocinity). Nói cách khác, tính đơn nhất của một heuristic là nó sẽ bảo đảm đường đi ngắn nhất đến mỗi trạng thái.

Một heuristic h sẽ là đơn nhất nếu :

- Đối với tất cả các trạng thái n và n+1, ta có :

h(n) - h(n+1) ≤ cost(n, n+1), trong đó cost(n, n+1) là chi phí thực tính của đường đi từ trạng thái n đến trạng thái n+1.

- Giá trị heuristic của trạng thái đích là 0, tức h(goal) = 0.

I.1.1. Khả năng cung cấp thông tin :

Chúng ta có thể đặt câu hỏi liệu có một heuristic nào “tốt hơn” những cái khác hay không? Heuristic này tốt hơn heuristic kia theo ý nghĩa nào ? Đây là khả năng cung cấp thông tin (informedness) của một heuristic.

Đối với hai heuristic h1 và h2, nếu h1(n) ≤ h2(n) ứng với tất cả các trạng thái n trong không gian tìm kiếm thì heuristic h2 được gọi là có khả năng cung cấp thông tin nhiều hơn so với h1.

Võ Huỳnh Trâm – Trần Ngân Bình 71

Page 110: tong quan ve tri tue nhan tao

Giáo Trình Trí Tuệ Nhân Tạo

III SỬ DỤNG HEURISTIC TRONG CÁC TRÒ CHƠI

III.1 Thủ tục minimax

Xét các trò chơi hai đối thủ đối kháng, chẳng hạn trò chơi nim. Để chơi nim, một số token (vật biểu hiện như đồng xu, lá bài, mảnh gỗ, ...) được đặt trên bàn giữa hai đối thủ. Ở mỗi nước đi, người chơi phải chia đống token thành hai đống nhỏ có số lượng khác nhau. Ứng với một số token vừa phải, không gian trạng thái này có thể triển khai đến cùng. Hình sau biểu diễn không gian trạng thái của trò chơi có 7 token.

Hình 4.6 – Không gian trạng thái của trò chơi nim

Khi chơi các trò chơi có thể triển khai hết không gian trạng thái, khó khăn chủ yếu là phải tính toán phản ứng của đối thủ. Một cách xử lý đơn giản nhất là giả sử đối thủ của bạn cũng sử dụng kiến thức về không gian trạng thái giống như bạn và áp dụng kiến thức đó kiên định để thắng cuộc. Mặc dù giả thiết này có những hạn chế của nó nhưng nó cũng cho chúng ta một cơ sở hợp lý để dự đoán hành vi của đối thủ. Minimax sẽ tìm kiếm không gian của trò chơi này theo giả thiết đó.

Hai đối thủ trong một trò chơi được gọi là MIN và MAX. MAX đại diện cho đối thủ quyết giành thắng lợi hay cố gắng tối đa hóa ưu thế của mình. Ngược lại MIN là đối thủ cố gắng tối thiểu hóa điểm số của MAX. Ta giả thiết MIN cũng dùng cùng những thông tin như MAX.

Khi áp dụng thủ tục Minimax, chúng ta đánh dấu luân phiên từng mức trong không gian tìm kiếm phù hợp với đối thủ có nước đi ở mức đó. Trong ví dụ trên, MIN được quyền đi trước, từng nút lá được gán giá trị 1 hay 0 tùy theo kết quả đó là thắng cuộc đối với MAX hay MIN. Minimax sẽ truyền các giá trị này lên cao dần trên đồ thị qua các nút cha mẹ kế tiếp nhau theo luật sau:

72 Võ Huỳnh Trâm – Trần Ngân Bình

Page 111: tong quan ve tri tue nhan tao

Chương 4: Tìm kiếm Heuristic

- Nếu trạng thái cha mẹ là nút MAX, gán cho nó giá trị tối đa của các con cháu của nó.

- Nếu trạng thái cha mẹ là nút MIN, gán cho nó giá trị tối thiểu của các con cháu của nó.

Giá trị được gán cho từng trạng thái bằng cách đó sẽ chỉ rõ giá trị của trạng thái tốt nhất mà đối thủ này có thể hy vọng đạt được. Các giá trị này sẽ được dùng để lựa chọn các nước đi có thể có. Kết quả của việc áp dụng Minimax vào đồ thị không gian trạng thái đối với trò chơi Nim được thể hiện như hình trên. Vì tất cả các nước đi đầu tiên có thể xảy ra cho MIN sẽ dẫn đến các nút có giá trị 1 nên đối thủ MAX luôn có thể bắt trò chơi giành thắng lợi cho mình bất kể nước đi đẩu tiên của MIN là như thế nào (đường đi thắng lợi của MAX được cho theo mũi tên đậm).

III.2 Áp dụng minimax đến độ sâu lớp cố định

Khi áp dụng Minimax cho các trò chơi phức tạp, hiếm khi có khả năng mở rộng đồ thị không gian trạng thái đến các nút lá. Thay vào đó không gian trạng thái này chỉ có thể được triển khai đến một số mức xác định phụ thuộc tiềm năng về thời gian và bộ nhớ chẳng hạn. Chiến lược này được gọi là tính trước n nước đi (n –move lookahead). Vì giá trị các nút trong đồ thị con này không phải là trạng thái kết thúc của trò chơi nên chúng không phản ánh giá trị thắng cuộc hay thua cuộc. Chúng chỉ có thể được gán một giá trị phù hợp với một hàm đánh giá heuristic nào đó. Giá trị được truyền ngược về nút gốc không cung cấp thông tin thắng cuộc hay thua cuộc mà chỉ là giá trị heuristic của trạng thái tốt nhất có thể tiếp cận sau n nước đi kể từ nút xuất phát. Việc tính trước này sẽ làm tăng hiệu quả của heuristic vì nó được áp dụng vào một phạm vi lớn hơn trong không gian trạng thái. Minimax sẽ hợp nhất tất cả các giá trị của các nút con cháu của một trạng thái thành một giá trị duy nhất cho trạng thái đó.

Trong các đồ thị trò chơi được tìm kiếm bằng mức hay lớp, MAX và MIN luân phiên nhau chọn các nước đi. Mỗi nước đi của một đối thủ sẽ xác định một lớp mới trên đồ thị. Các chương trình trò chơi nói chung đều dự tính trước một độ sâu lớp cố định (thường được xác định bằng các giới hạn về không gian hoặc thời gian của máy tính). Các trạng thái trên mức đó được đánh giá theo các heuristic và các giá trị này sẽ được truyền ngược lên bằng thủ tục Minimax, sau đó thuật toán tìm kiếm sẽ dùng các giá trị vừa nhận được để chọn lựa một nước trong số các nước đi kế tiếp. Bằng cách tối đa hóa cho các cha mẹ MAX và tối thiểu hóa cho các cha mẹ MIN, những giá trị này đi lùi theo đồ thị đến con của trạng thái hiện hành. Sau đó trạng thái hiện hành dùng chúng để tiến hành lựa chọn trong các con của nó. Hình sau trình bày quá trình Minimax trên một không gian trạng thái giả thuyết tính trước bốn lớp.

Võ Huỳnh Trâm – Trần Ngân Bình 73

Page 112: tong quan ve tri tue nhan tao

Giáo Trình Trí Tuệ Nhân Tạo

Hình 4.7 – Minimax đối với một không gian trạng thái giả định

Hình 4.8 giới thiệu một ứng dụng của Minimax độ sâu lớp cố định vào trò chơi Tic-tac-toe.

Hình 4.8 – Minimax hai lớp được áp dụng vào nước đi mở đầu trò chơi Tic-tac-toe

Ở đây sử dụng một heuristic hơi phức tạp hơn, nó cố đo mức độ tranh chấp trong trò chơi. Heuristic chọn một trạng thái cần đo, tính tất cả các đường thắng mở ra cho MAX, rồi trừ đi tổng số các đường thắng mở ra cho MIN. Giải thuật tìm kiếm sẽ cố gắng tối đa hóa sự chênh lệch (hiệu số) đó. Nếu có một trạng thái bắt buộc thắng cuộc cho MAX, nó sẽ được đánh giá là +∞, còn với trạng thái bắt buộc thắng cuộc cho MIN thì được đánh giá là -∞. Hình 4.8 trình bày heuristic này được áp dụng cho hai mức bắt đầu không gian trạng thái.

74 Võ Huỳnh Trâm – Trần Ngân Bình

Page 113: tong quan ve tri tue nhan tao

Chương 4: Tìm kiếm Heuristic

Câu hỏi :

Khi một máy tính sử dụng giải thuật minimax để chơi cờ, máy tính chơi tốt hơn khi thời gian cho phép để tính toán cho nước cờ kế tiếp là lâu hơn. Hãy giải thích một cách ngắn gọn điều này.

III.3 Thủ tục cắt tỉa alpha – beta (α-β prunning)

Minimax yêu cầu phải có sự phân tích qua hai bước đối với không gian tìm kiếm: Bước đầu truyền xuống đến độ sâu của lớp áp dụng heuristic và bước sau để truyền ngược các giá trị trên cây. Minimax lần theo tất cả các nhánh trong không gian bao gồm cả những nhánh mà một thuật toán thông minh hơn có thể bỏ qua hay tỉa bớt. Các nhà nghiên cứu trong lĩnh vực chơi game đã xây dựng một kỹ thuật tìm kiếm gọi là cắt tỉa alpha –beta nhằm nâng cao hiệu quả tìm kiếm trong các bài toán trò chơi hai đối thủ.

Ý tưởng của tìm kiếm alpha – beta rất đơn giản: Thay vì nếu như tìm kiếm toàn bộ không gian đến một độ sâu lớp cố định, tìm kiếm alpha – beta thực hiện theo kiểu tìm kiếm sâu. Có hai giá trị, gọi là alpha và beta được tạo ra trong quá trình tìm kiếm. Giá trị alpha liên quan với các nút MAX và có khuynh hướng không bao giờ giảm. Ngược lại giá trị beta liên quan đến các nút MIN và có khuynh hướng không bao giờ tăng. Giả sử có giá trị alpha của một nút MAX là 6, MAX không cần phải xem xét giá trị truyền ngược nào nhỏ hơn hoặc bằng 6 có liên quan với một nút MIN nào đó bên dưới. Alpha là giá trị thấp nhất mà MAX có thể nhận được sau khi cho rằng MIN cũng sẽ nhận giá trị tốt nhất của nó. Tương tự nếu MIN có giá trị beta là 6 nó cũng không cần xem xét các nút nằm dưới nó có giá trị lớn hơn hoặc bằng 6.

Để bắt đầu thuật toán tìm kiếm alpha – beta, ta đi xuống hết độ sâu lớp theo kiểu tìm kiếm sâu, đồng thời áp dụng đánh giá heuristic cho một trạng thái và tất cả các trạng thái anh em của nó. Giả thuyết tất cả đều là nút MIN. Giá trị tối đa của các nút MIN này sẽ được truyền ngược lên cho nút cha mẹ (là một nút MAX). Sau đó giá trị này được gán cho ông bà của các nút MIN như là một giá trị beta kết thúc tốt nhất. Tiếp theo thuật toán này sẽ đi xuống các nút cháu khác và kết thúc việc tìm kiếm đối với nút cha mẹ của chúng nếu gặp bất kỳ một giá trị nào lớn hơn hoặc bằng giá trị beta này. Quá trình này gọi là cắt tỉa beta (β cut). Cách làm tương tự cũng được thực hiện cho việc cắt tỉa alpha (α cut) đối với các nút cháu của một nút MAX.

Hai luật cắt tỉa dựa trên các giá trị alpha và beta là:

1. Quá trình tìm kiếm có thể kết thúc bên dưới một nút MIN nào có giá trị beta nhỏ hơn hoặc bằng giá trị alpha của một nút cha MAX bất kỳ của nó.

2. Quá trình tìm kiếm có thể kết thúc bên dưới một nút MAX nào có giá trị alpha lớn hơn hoặc bằng giá trị beta của một nút cha MIN bất kỳ của nó.

Việc cắt tỉa alpha – beta như vậy thể hiện quan hệ giữa các nút ở lớp n và các nút ở lớp n+2 và do quan hệ đó toàn bộ các cây con bắt nguồn ở lớp n+1 đều có thể loại khỏi việc xem xét. Chú ý rằng giá trị truyền ngược thu được hoàn toàn giống như kết quả Minimax, đồng thời tiết kiệm được các bước tìm kiếm một cách đáng kể.

Võ Huỳnh Trâm – Trần Ngân Bình 75

Page 114: tong quan ve tri tue nhan tao

Giáo Trình Trí Tuệ Nhân Tạo

A có β = 3 (Trị nút A sẽ không lớn hơn 3) B bị cắt tỉa β, vì 5 > 3 C có α = 3 (Trị nút C sẽ không nhỏ hơn 3) D bị cắt tỉa α, vì 0 < 3 E bị cắt tỉa α, vì 2 < 3 Trị nút C là 3

Hình 4.9 – Thực hiện giải thuật cắt tỉa alpha – beta

TỔNG KẾT CHƯƠNG IV: Các heuristic tìm kiếm đã được giới thiệu thông qua các trò chơi đơn giản như trò đố 8 ô, Tic-tac-toe, … và cũng đã được phát triển đến các không gian bài toán phức tạp hơn. Chương này cũng đã trình bày việc áp dụng heuristic cho các trò chơi đối kháng có hai người chơi, dùng cách rút gọn tối thiểu trên độ sâu lớp và cắt tỉa alpha - beta để thực hiện việc tính trước các nước đi và dự đoán hành vi của đối thủ. Việc áp dụng các heuristic này đã làm cho không gian bài toán trở nên ngắn gọn hơn, thời gian tìm kiếm một lời giải có thể chấp nhận được là tối thiểu và quá trình tìm kiếm vì thế cũng trở nên đơn giản hơn khá nhiều. Phần chương V tiếp theo, chúng ta sẽ xem xét các kỹ thuật cao câp hơn cho việc cài đặt các thuật toán.

76 Võ Huỳnh Trâm – Trần Ngân Bình

Page 115: tong quan ve tri tue nhan tao

Chương 4: Tìm kiếm Heuristic

IV BÀI TẬP CHƯƠNG IV

IV.1. Xét bài toán trò đố 8 ô như sau:

Start Goal

1 2 3 8 4 7 6 5

1 2 3 6 7 8 5 4

Dùng các hàm lượng giá heuristic sau, hãy triển khai không gian trạng thái của bài toán theo giải thuật leo núi đến mức 5:

a) h1 = số lượng các vị trí sai khác so với trạng thái goal. b) h2 = tổng số độ dời ngắn nhất của các ô về vị trí đúng (khoảng cách Manhattan)

IV.2. Trong cây tìm kiếm dưới đây, mỗi nút có 2 giá trị đi kèm: giá trị bên trái của nút (in nghiêng) thể hiện giá trị heuristic của nút, và giá trị bên phải nút thể hiện thứ tự nút được duyệt qua. Với mỗi chiến lược tìm kiếm dưới đây, hãy viết danh sách thứ tự các nút được duyệt, so sánh và cho biết ta đã dùng giải thuật tìm kiếm nào trên cây :

a) Tìm kiếm rộng BFS b) Tìm kiếm sâu DFS c) Tìm kiếm tốt nhất đầu tiên d) Tìm kiếm leo núi

IV.3. Thực hiện giải thuật Minimax trên cây sau đây:

A 1

3 B 7 6 D 3 7 C 2

6 E 8 5 G 4 4 F 6

5 I 5 2 H 9

0

3 5

7

5 7 8

4

MAX A

B C

E D G HF

J K LI

M N

Sẽ có gì khác biệt nếu như ta dùng giải thuật cắt tỉa alpha – beta để định trị nút gốc cho cây?

Võ Huỳnh Trâm – Trần Ngân Bình 77

Page 116: tong quan ve tri tue nhan tao

Giáo Trình Trí Tuệ Nhân Tạo

IV.4. Hãy áp dụng giải thuật cắt tỉa alpha-beta cho các cây sau đây. Cho biết các nhánh được cắt là alpha-cut hay beta-cut và giá trị nút gốc sau khi định trị:

a) A

G

B

E D

I 7

C

HA

F

J 6 L 3 K 8 M 5 P 7 Q 5 N 4

MAX

A

H

B

F

D

IG7

6 2 9 3

MAX

E

C

8 J

6 5 3 21 4 7 45 9

b)

78 Võ Huỳnh Trâm – Trần Ngân Bình

Page 117: tong quan ve tri tue nhan tao

Võ Huỳnh Trâm – Trần Ngân Bình

79

Chương IV ..............................................................................................................................63 TÌM KIẾM HEURISTIC ........................................................................................................63

I. MỞ ĐẦU ...................................................................................................................64 II. THUẬT TOÁN TÌM KIẾM HEURISTIC ................................................................67

II.1. Tìm kiếm leo núi (Hill climbing – Pearl 1984).................................................67 II.2. Tìm kiếm tốt nhất đầu tiên (Best – first – search).............................................67 II.3. Cài đặt hàm đánh giá heuristic (heuristic evaluation function) ........................69 II.4. Tính khả chấp, tính đơn nhất và khả năng cung cấp thông tin của heuristic ....70

III. SỬ DỤNG HEURISTIC TRONG CÁC TRÒ CHƠI............................................72 III.1. Thủ tục minimax ...............................................................................................72 III.2. Áp dụng minimax đến độ sâu lớp cố định.........................................................73 III.3. Thủ tục cắt tỉa alpha – beta (α-β prunning) ......................................................75

BÀI TẬP CHƯƠNG IV...........................................................................................77

Page 118: tong quan ve tri tue nhan tao

___________________________________________Chương 4 Truyền nối tiếp bất đồng bộ IV - 1

CHƯƠNG 4

TRUYỀN NỐI TIẾP BẤT ĐỒNG BỘ

♣ HỆ THỐNG TRUYỀN Dữ LIỆU Vận hành

Dung lượng kênh truyền ♣ MẪU TÍN HIỆU TRONG TRUYỀN BẤT ĐỒNG BỘ

♣ VÀI IC THỰC HIỆN GIAO THỨC BẤT ĐỒNG BỘ

6402 của INTERSIL 6850 của MOTOROLA

8251 của INTEL __________________________________________________________________________________________

____ Như đã biết, trong các hệ thống truyền dữ liệu có hai cách đưa tín hiệu lên đường truyền: nối tiếp và song song. Cách truyền song song thường được truyền trên một khoảng cách ngắn, ví dụ giữa các thiết bị trong cùng một phòng như từ máy tính sang máy in. Cách truyền nối tiếp thường được thực hiện khi khoảng cách truyền khá xa. Ngoài ra, trong cách truyền nối tiếp, dựa vào cách thực hiện sự đồng bộ giữa nơi phát và thu ta có hai chế độ hoạt động: đồng bộ và bất đồng bộ. Trong chế độ bất đồng bộ, xung đồng hồ được tạo ra một cách riêng rẻ ở máy phát và máy thu dựa vào tần số danh định tương ứng với vận tốc truyền (bit rate hoặc baud rate). Trong chế độ đồng bộ, nơi phát có thể gửi xung đồng hồ tới nơi thu theo một kênh truyền song song với kênh truyền dữ liệu hoặc nơi thu tự tạo ra xung đồng hồ bằng cách tách tín hiệu thời gian từ dòng dữ liệu. Chương này bàn đến chế độ truyền nối tiếp bất đồng bộ. Chúng ta sẽ lần lượt giới thiệu tính chất chung của hệ thống truyền dữ liệu, các giao thức của hệ thống truyền bất đồng bộ. Chúng ta cũng sẽ khảo sát vài IC thực hiện chức năng biến đổi song song ↔ nối tiếp trong các thiết bị thu phát .

4.1 HỆ THỐNG TRUYỀN DỮ LIỆU

4.1.1 Vận hành Một mẫu hệ thống truyền dữ liệu gồm 3 bộ phận chính (H 4.1) - Một cặp thiết bị xử lý tín hiệu (Terminal, vd máy tính), một của máy phát (chuyển thông tin thành tín hiệu số) và một của máy thu (chuyển dữ liệu số thành thông tin). - Một cặp giao diện nối tiếp, được gọi là thiết bị đầu cuối (Data Terminal Equipment, DTE) mà nhiệm vụ chính là biến đổi chuỗi dữ liệu song song thành nối tiếp ở máy phát và nối tiếp thành song song ở máy thu, đồng thời thực hiện một số chức năng khác theo yêu cầu của người sử dụng. - Một cặp giao diện truyền dữ liệu, được gọi là thiết bị truyền dữ liệu (Data Communication Equipment, DCE), thực hiện sự giao tiếp giữa DTE và môi trường truyền.

_________________________________________________________________________________ Nguyễn Trung Lập Truyền dữ liệu

Page 119: tong quan ve tri tue nhan tao

___________________________________________Chương 4 Truyền nối tiếp bất đồng bộ IV - 2

⎯→

Máy tính hay Terminal

phát

Bản tin ⎯→

Giao diện nối tiếp DTE

⎯→

Giao diện truyền dữ liệu DCE

⎯⎯

Báo nhận

Kênh truyền

⎯⎯ Máy tính hay

Terminal thu

Bản tin ←⎯

Giao diện nối tiếp DTE

←⎯

Giao diện truyền dữ liệu DCE

←⎯

(H 4.1) Vận hành của hệ thống như sau : Máy tính gửi bản tin dưới dạng một chuỗi ký tự song song tới DTE. Ở đây bản tin được chuyển sang dạng nối tiếp để phát đi từng bit ở từng thời điểm . Đối với các hệ thống bất đồng bộ, thiết bị DTE sẽ thêm vào các bit Start và Stop ở mỗi ký tự nối tiếp này và nếu có yêu cầu, bit kiểm tra chẵn lẻ cũng được thêm vào ở đây . Đây là một dòng nối tiếp các tín hiệu nhị phân tương thích với các chuẩn về điện của EIA như RS-232C (D), RS-422A hoặc 423A. DCE là bộ phận chuyển tín hiệu ra kênh truyền. Dạng chính xác của DCE tùy thuộc vào kênh truyền, ví dụ, các DCE được dùng thúc đường dây hiện nay là RS-422A hoặc 423A có thể thích hợp để truyền tín hiệu dải nền với khoảng cách tối đa là 1200m còn nếu dùng đường dây điện thoại để truyền thì DCE tương thích phải là các Modem. Ở máy thu bộ phận giao tiếp biến đổi chuỗi ký tự nối tiếp thành song song được đọc bởi máy tính hay thiết bị truyền tin đầu cuối khác. Một bản tin báo nhận được phản hồi tới máy phát để báo nhận đồng thời báo lỗi, nếu có lỗi bản tin sẽ được phát lại sau khi sửa lỗi. Trong trường hợp này máy thu đã trở thành máy phát.

4.1.2 Dung lượng của kênh truyền Khả năng và phẩm chất của một kênh truyền xác định bởi dung lượng của nó. Nhắc lại, một tín hiệu tần số x , tín hiệu lấy mẫu phải có tần số tối thiểu là 2x, yêu cầu một băng thông tối thiểu là x để truyền , nếu dùng n bit để mã hóa tín hiệu này thì vận tốc truyền sẽ là 2nx, ta gọi C = 2nx là dung lượng của kênh truyền. Ví dụ, trong điện thoại tần số tín hiệu là 2,7kHz nếu dùng 1 bit (n = 1) để mã hóa tín hiệu thì dung lượng kênh truyền C = 5,4kbps, nếu dùng số 2 bit ( n = 2) thì C = 10,8kbps ..... Như vậy dung lượng của kênh truyền tỉ lệ với số bit dùng mã hóa tín hiệu và băng thông của nó. Nhưng khi băng thông của kênh truyền càng lớn thì tính miễn nhiễu của hệ thống càng kém nên để gia tăng dung lượng kênh truyền người ta thường tăng số bit dùng mã hóa tín hiệu và dùng phương pháp điều chế đa pha.

4.2 Mẫu tín hiệu trong chế độ truyền bất đồng bộ

Trong chế độ truyền bất đồng bộ thông tin được truyền đi dưới dạng từng ký tự và khoảng cách các ký tự là ngẫu nhiên. Tuy nhiên để tạo sự đồng bộ giữa máy phát và thu, giao thức tầng 2 (Data link protocol) có qui định cụ thể về mẫu tín hiệu trong hệ thống truyền bất đồng bộ như sau : - Mỗi ký tự gồm một số bit gọi là ký tự dữ liệu, số này có thể là 5 đối với mã Baudot, 7 nếu là mã ASCII (American Standard Code for Information Interchange) và 8 nếu là mã EBCDIC (Extended Binary-Coded Decimal Information Code, mã BCD mở rộng)

_________________________________________________________________________________ Nguyễn Trung Lập Truyền dữ liệu

Page 120: tong quan ve tri tue nhan tao

___________________________________________Chương 4 Truyền nối tiếp bất đồng bộ IV - 3

- Ngoài ra, để tạo sự đồng bộ, kèm theo các bit mã ký tự còn có các bit Start ở trước mỗi ký tự và các bit Stop ở sau mỗi ký tự. . Các bit Start là các bit 0 và các bit Stop là bit 1. Số bit Start luôn luôn là 1 bit còn số bit Stop có thể là 1, 1,5 hoặc 2 bit. - Nếu có thêm bit kiểm soát chẵn lẻ (parity bit) thì bit này nằm trước bit Stop. - Ở trạng thái nghỉ máy phát luôn phát đi bit 1 gọi là bit nghỉ (idle bit), như vậy máy thu dò ra bit Start khi có sự biến đổi từ 1 xuống 0, sau đó là một chuỗi bit có số lượng theo qui định của giao thức. Lưu ý là trong truyền dữ liệu, bit LSB của ký tự luôn được truyền đi trước và có hai cách viết (và đọc) một bản tin: theo chiều mũi tên hướng về bên phải và theo chiều hướng về bên trái

- Viết theo chiều mũi tên hướng về bên phải : bit LSB của ký tự đầu tiên sẽ nằm bên phải của bản tin. Thí dụ bản tin dùng mã ASCII gồm 3 ký tự ABC có mã lần lượt là 41H (1000001), 42H (1000010) và 43H (1000011), bit LSB của ký tự đầu tiên (A) được phát đi trước và phải nằm bên phải của bản tin nên chuỗi dữ liệu được phát đi có dạng:

⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯→ C B A

p1000011 p1000010 p1000001. Với cách viết này, mỗi mẫu mã hóa của mỗi ký tự được giữ nguyên chiều của nó

nhưng thứ tự các ký tự trong bản tin đã bị đảo.

- Viết theo chiều mũi tên hướng về bên trái : bit LSB của ký tự đầu tiên sẽ nằm bên trái của bản tin. Với thí dụ trên, bit LSB của ký tự đầu tiên (A) được phát đi trước và phải nằm bên trái của bản tin nên chuỗi dữ liệu được phát đi có dạng:

←⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ A B C

1000001p 0100001p 1100001p. Với cách viết này, thứ tự các ký tự trong bản tin được giữ nguyên nhưng các bit trong

mỗi ký tự đã bị đảo chiều. Bit kiểm tra chẵn lẻ (parity bit), nếu có, sẽ được thêm vào sau mỗi ký tự (bit p trong

các thí dụ trên) Ở máy phát thanh ghi dịch biến đổi tín hiệu song song thành nối tiếp, được điều khiển bởi tín hiệu Load/Shift, các bit Start và Stop được tự động thêm vào khi mạch hoạt động . Ở máy thu khi bộ phận dò phát hiện bit Start bởi sự thay đổi từ 1 xuống 0, sẽ tạo ra tín hiệu điều khiển thanh ghi dịch, sau khi dịch đủ số bit qui định của tín hiệu kể cả bit parity và bit Stop, ký tự dữ liệu được đọc ra dưới dạng song song từ thanh ghi dịch.

(H 4.2)

(H 4.2) mô tả dạng của tín hiệu trên đường truyền bất đồng bộ (tín hiệu là mẫu chữ C với parity chẵn và một bit Stop) và bộ phận biến đổi song song ↔ nối tiếp trong máy phát và thu. Bộ phận này chính là các thanh ghi dịch.

_________________________________________________________________________________ Nguyễn Trung Lập Truyền dữ liệu

Page 121: tong quan ve tri tue nhan tao

___________________________________________Chương 4 Truyền nối tiếp bất đồng bộ IV - 4

Sự đồng bộ ở các thanh ghi dịch phát và thu được tạo bởi xung đồng hồ ở máy phát và xung đồng hồ ở máy thu. Dĩ nhiên các xung đồng hồ này phải có cùng tần số, đó là tần số tương ứng với vận tốc truyền bit của hệ thống. Nếu xung đồng hồ ở nơi thu không phù hợp với xung đồng hồ ở nơi phát, lỗi do độ lệch thời gian có thể xảy ra. Có hai loại lỗi : Lỗi khi đọc bit và lỗi do sai khung. Lỗi do sai khung được tạo ra bởi sự tích lũy các độ lệch thời gian, bit cuối cùng bị sai đưa tới sai khung.

(H 4.3)

(H 4.3) là một ví dụ, giả sử thời gian cho một bit là 0,1 s (T = 0,1s =100ms) và sự sai lệch là 7% sớm hơn ở máy thu, như vậy máy thu đọc bit đầu tiên ở thời điểm 93 ms thay vì 100ms, bit thứ hai ở 186ms ..... cho đến thời điểm 744ms máy thu đang đọc bit thứ 7 nhưng nhầm là bit thứ 8, như vậy bit cuối cùng của tín hiệu đã bị đọc sai, nếu bit thứ 8 là bit 1 thì máy thu nhầm là bit Stop và kết quả là có sự sai khung.

Bit Stop là bit kiểm tra độ lệch thời gian tương đối chính xác, nếu máy phát hiện bit Stop không phải là bit 1 thì sẽ báo lỗi khung ta nói bit Stop là khoảng bảo vệ tối thiểu giữa các khung ký tự. Ngoài ra bit parity cũng giới hạn được sai sót này và các sai sót do nhiễu, tuy nhiên phương pháp phát hiện lỗi này không đạt độ tin cậy 100% vì nếu số bit sai là số chẵn thì máy thu không phát hiện được.

4.3 Vài IC thực hiện TRUYỀN nối tiếp bất đồng bộ

Trước đây việc thu phát bất đồng bộ được thiết kế dựa trên các IC loại SSI và MSI. Ví dụ, để tạo và kiểm tra chẵn lẻ, người ta có thể dùng các cổng EX-OR . Hiện nay sự phát triển của công nghệ chế tạo IC cho phép sử dụng các vi mạch LSI để thực hiện các chức năng thu phát thỏa mãn giao thức truyền bất đồng bộ. Chúng ta giới thiệu dưới đây vài IC thu phát bất đồng bộ (Universal Asynchronous Receiver,Transmitter, UART) hoặc IC điều hợp giao tiếp thông tin bất đồng bộ (Asynchronous Communication Interface Adapter, ACIA), đó là các IC : - UART 6402 của Intersil - ACIA 6850 của Motorola - USART 8251A của Intel

4.3.1. UART 6402 của Intersil

4.3.1.1 - Tính năng kỹ thuật tổng quát

6402 là UART loại IC CMOS/LSI dùng để giao tiếp với máy tính hoặc µP qua kênh dữ liệu nối tiếp bất đồng bộ.

_________________________________________________________________________________ Nguyễn Trung Lập Truyền dữ liệu

Page 122: tong quan ve tri tue nhan tao

___________________________________________Chương 4 Truyền nối tiếp bất đồng bộ IV - 5

- Máy phát đổi dữ liệu song song thành nối tiếp và tự động thêm vào các bit Start và Stop.

- Máy thu chuyển đổi các bit Start, ký tự dữ liệu, bit parity và bit Stop thành dữ liệu song song, kiểm tra lỗi.

Chiều dài của các ký tự dữ liệu có thể là 5, 6, 7 hoặc 8 bit. Parity có thể là chẵn hay lẻ, việc kiểm tra và tạo bit parity có thể bỏ qua, nếu không có yêu cầu. Có thể dùng 1, 1,5 hoặc 2 bit Stop.

4.3.1.2 - Mô hình (H 4.4)

(H 4.4) - Ý nghĩa các chân của IC : TRE : Transmit Reg. Empty : Ngã ra, báo thanh ghi phát trống. TBRL : Trans. Buf. Reg. Load : Ngã vào, nạp dữ liệu vào thanh ghi đệm phát & phát TBRE : Trans. Buf. Reg. Empty : Ngã ra, mức cao báo thanh ghi đệm phát trống, sẵn sàng nhận dữ liệu TBR7 - TBR0 : Trans. Buf. Reg. Data : Dữ liệu để nạp vào thanh ghi đệm phát DR : Data Received : Ngã ra, lên cao báo đã thu được một ký tự dữ liệu DRRST : Data Received Reset : Reset thanh ghi thu

ROE : Receive Buffer Output Enable : Cho phép thu tín hiệu từ thanh ghi đệm thu RBR7 - RBR0 : Receive Buf.Reg. Data : Dữ liệu thu từ thanh ghi đệm thu CRL : Control Reg. Load : Ngã vào, mức cao cho phép nạp từ điều khiển vào thanh ghi điều khiển CR4 - CR0 : Control Reg. Data : Tổ hợp 5 bit tạo thành một từ điều khiển PE,FE,OVE : Parity, Framing, Overflow flags : Cờ báo lỗi chẵn lẻ, lỗi khung, lỗi tràn SOE : Status O/P Enable : Cho phép ngã ra trạng thái

MRST : Master Reset : Đặt lại IC RC,TC : Receive Clock, Trans. Clock : Xung đồng hồ Thu, Phát

_________________________________________________________________________________ Nguyễn Trung Lập Truyền dữ liệu

Page 123: tong quan ve tri tue nhan tao

___________________________________________Chương 4 Truyền nối tiếp bất đồng bộ IV - 6

RxD, TxD : Receive Data, Trans. Data : Dữ liệu thu phát. Việc chọn các chuẩn trong giao thức theo qui định của bảng 4.1 dưới đây

Bảng 4.1 : 6402 control word

CR4

CR3

Chọn chiều dài ký tự Character Length Select CLS1CLS0

00 = 5 bit 01 = 6 bit 10 = 7 bit 11 = 8 bit

CR2 Có Kiểm Tra chẵn lẻ ? PI (Parity Inhibit)

1 = không kiểm tra chẵn lẻ và PE = 0 0 = có kiểm tra chẵn lẻ

CR1 Chọn Kiểm Tra chẵn EPE (Even Parity Enable)

1 = kiểm tra chẵn 0 = kiểm tra lẻ

CR0 Chọn số bit stop SBS Stop Bit Select

0 = 1 bit stop 1 = 1,5 (ký tự 5 bit) 1 = 2 (ký tự 6, 7, 8 bit)

4.3.1.3 - Vận hành

- Vận hành của IC được thực hiện qua các thao tác sau đây : - Khởi động : Để khởi động 6402, lần lượt thực hiện 3 bước : - Đặt từ điều khiển vào các chân CR4 - CR0 để chọn giao thức truyền. - Đưa chân CRL lên cao để nạp từ điều khiển vào thanh ghi điều khiển. - Đưa chân MRST lên cao để reset máy thu và máy phát. - Phát một ký tự : Để nạp một ký tự vào thanh ghi phát và phát đi, lần lượt thực hiện các bước : - Chân TBRE lên cao báo thanh ghi đệm phát trống. - Các bít của ký tự được nạp vào chân TBR7 - TBR0. - Đưa TBRL lên cao để nạp data vào thanh ghi đệm. - Tín hiệu phát đi khi TBRL xuống thấp. - Thu một ký tự : Để thu một ký tự, lần lượt thực hiện các bước sau : - Chân DR lên cao báo đã thu một ký tự mới - Đưa ROE xuống thấp để đọc ký tự từ ngã ra của bộ đệm vào CPU - Đọc các trạng thái lỗi ở các ngã PE, FE và OVE (Các chân này cho phép bởi SOE ở trạng thái thấp). Mức cao của các chân này cho biết đã phát hiện lỗi. PE cho biết lỗi chẵn lẻ, FE cho biết lỗi khung và OVE cho biết lỗi tràn (Overrun) là lỗi do tốc độ thu ký tự lớn hơn tốc độ đọc ký tự. - Reset thanh ghi thu bằng cách đưa chân DRRST xuống mức thấp Tốc độ phát và thu bit tùy thuộc vào xung đồng hồ trên hai chân TC và RC. 6402 có mạch chia 16 cố định để tần số xung clock vào phải bằng 16 lần tốc độ baud mong muốn. Tốc độ có thể lên tới 250 kbps.

4.3.1.4 Giao tiếp của 6402 với vi xử lý

Giao tiếp giữa 6402 và bộ vi xử lý có phần phức tạp (H 4.5), nhưng ít sử dụng phần mềm khi thực hiện các chức năng thu phát

_________________________________________________________________________________ Nguyễn Trung Lập Truyền dữ liệu

Page 124: tong quan ve tri tue nhan tao

___________________________________________Chương 4 Truyền nối tiếp bất đồng bộ IV - 7

(H 4.5)

- Việc thực hiện giao thức bất đồng bộ (tức tạo từ điều khiển) nhờ vào khóa chuyển mạch điện tử. - Việc báo lỗi thực hiện nhờ một led. - Mạch được Reset bởi cả phần cứng và phần mềm. - Mạch đơn ổn thực hiện chức năng Reset thanh ghi thu tự động sau khi thu đủ ký tự. - Việc đọc ký tự thu tác động bởi tín hiệu RD ở CPU và tín hiệu select UART từ mạch giải mã địa chỉ. - Tương tự cho việc nạp dữ liệu vào thanh ghi đệm phát để phát : tác động bởi tín hiệu WR của CPU và tín hiệu select UART. - Các ngắt riêng biệt của µP được tạo ra bởi tín hiệu DR và TBRE

4.3.2 . ACIA 6850 của Motorola

4.3.2.1 - Đặc tính tổng quát

Về tính chất vật lý, 6850 thuộc loại NMOS có 24 chân, được thiết kế để giao tiếp với bus của họ µP 6800 của Motorola. 6850 có thể lập trình phần mềm và chỉ có một thanh ghi điều khiển Ngoài ra, với 6850 ta có thể thiết lập các giao thức sau đây : - Có thể truyền 8 hoặc 9 bit - Có thể chọn parity chẵn hoặc lẻ - Kiểm tra lỗi parity, overrun, và framing - Có thể chọn các mode hoạt động với tần số xung đồng hồ chia cho hệ số 1, 16 hoặc 64 - Tốc độ truyền dữ liệu lên tới 500 kbps - Có các chức năng điều khiển ngoại vi/modem - Có 1 hoặc 2 bit Stop

- Có thanh ghi dữ liệu đôi.

_________________________________________________________________________________ Nguyễn Trung Lập Truyền dữ liệu

Page 125: tong quan ve tri tue nhan tao

___________________________________________Chương 4 Truyền nối tiếp bất đồng bộ IV - 8

4.3..2.2 - Mô hình và sơ đồ khối (H 4.6)

(H 4.6) * Ý nghĩa các chân :

- 2CS , CS1, CS0 : Chip slect : chọn chip

- RS : Reg. Select : Chọn thanh ghi (1: Dữ liệu; 0: Điều khiển) - R/ W : Read/Write

- IRQ : Interrupt request : Yêu cầu ngắt

- D7-D0 : Data Bus I/O : Bus dữ liệu vào/ra - E : Data I/O Enable and Clkng (Điều khiển xuất nhập dữ liệu vào/ra bus) - RxCLK, TxCLK : Ngã vào xung đồng hồ thu, phát - CTS : Clear To Send

_________________________________________________________________________________ Nguyễn Trung Lập Truyền dữ liệu

Page 126: tong quan ve tri tue nhan tao

___________________________________________Chương 4 Truyền nối tiếp bất đồng bộ IV - 9

- RTS : Request To Send - CD : Carrier Detect : Dò sóng mang - RxD, TxD : Dữ liệu thu, phát - VSS : Mass nguồn (GND) - VDD : Nguồn dương (+5 V)

Các chi tiết của giao thức được chọn bằng cách ghi 1 byte vào thanh ghi điều khiển dựa theo bảng 4.2. Trạng thái thu phát và trạng thái lỗi được đọc từ thanh ghi trạng thái, dựa vào bảng 4.3 Thanh ghi điều khiển hoặc thanh ghi trạng thái được chọn khi chân RS xuống thấp và thanh ghi dữ liệu thu hoặc phát được chọn khi RS lên cao. Thanh ghi dữ liệu phát và điều khiển chỉ có thể ghi (write). Thanh ghi dữ liệu thu và trạng thái chỉ có thể đọc (read) Bảng 4.2 6850 Control Register Word Bits

D7 Cho phép ngắt thu C7

1 = IRQ ở thấp khi thanh ghi đệm thu đầy 0 = Không cho phép ngắt thu

D6 Điều khiển ngắt phát - phát C6

00 = RTS low. Không cho phép ngắt phát 01 = RTS low. Cho phép ngắt phát

D5 C5 10 = RTS high. Không cho phép ngắt phát 11 = RTS low. Không cho phép ngắt phát & Phát bit 0 (break level)

D4 Chọn chiều dài ký tự, KTchẵn lẻ, Số bit stop C4

000 = 7 bit + Chẵn + 2 Stop 001 = 7 bit + Lẻ + 2 Stop 010 = 7 bit + Chẵn + 1 Stop

D3 C3 011 = 7 bit + Lẻ + 1 Stop 100 = 8 bit + 2 Stop 101 = 8 bit + 1 Stop

D2 C2 110 = 8 bit + Chẵn + 1 Stop 111 = 8 bit + Lẻ + 1 Stop

D1 Chon hệ số chia tần xung CKC1

00 = : 1 01 = : 16

D0 C0 10 = : 64 11 = Master Reset

Ghi chú : * Master reset, thanh ghi điều khiển có bít C1 C0 = 11, Reset tất cả các bít của thanh ghi trạng thái và đưa chân RTS và IRQ lên cao * Bít C7 = 1, CPU bị ngắt nếu:

- Thanh ghi dữ liệu thu đầy - Bị tràn - Có một biến đổi từ thấp lên cao ở chân CD (modem không dò ra sóng mang)

Bảng 4 .3 6850 Status Register Bits

D7 Trạng thái pin IRQ

IRQ 1 = IRQ low Reset bởi việc đọc thanh ghi đệm thu hay viết vào thanh ghi phát

D6 Lỗi chẵn lẻ PE

1 = Có lỗi chẵn lẻ Set/Reset khi chuyển dữ liệu thu

D5 Lỗi tràn (Overrun) OVRN

1 = Báo lỗi tràn và giữ bit RDRF = 1 Set/Reset khi chuyển dữ liệu thu

D4 Lỗi khung FE

1 = Có lỗi khung Set/Reset khi chuyển dữ liệu thu

D3 Xóa để phát CTS

Tùy trạng thái chân CTS Chân CTS ở mức cao sẽ vô hiệu hóa bit TDRE

D2 Dò sóng mang CD

1 = chân CD ở mức cao (no carrier) ( xem ghi chú)

D1 Thanh ghi phát trống TDRE

1= Phần phát chờ nhận ký tự. Reset bởi việc ghi vào thanh ghi phát

_________________________________________________________________________________ Nguyễn Trung Lập Truyền dữ liệu

Page 127: tong quan ve tri tue nhan tao

___________________________________________Chương 4 Truyền nối tiếp bất đồng bộ IV - 10

D0 Thanh ghi thu đầy RDRF

1 = Phần thu chờ đọc ký tự. Reset bởi việc đọc thanh ghi đệm thu

Ghi chú : bit CD lên 1 làm cho chân IRQ xuống thấp khi bit C7 set = 1. Bit CD vẫn giữ 1 sau khi pin CD xuống thấp và bị xóa sau khi đọc thanh ghi trạng thái, và thanh ghi dữ liệu thu, hoặc cho đến khi MRST xảy ra. Thông tin trong thanh ghi trạng thái được đọc bởi CPU và cho biết trạng thái hiện hành của 6850 Bit D0 : (RDRF) Bít này set 1 sau khi data nhận được đã truyền từ thanh ghi dịch thu tới thanh đệm thu và nó được xóa sau khi CPU đã đọc data Bit D1 : (TDRE) Bít này được set khi data đã chuyển từ thanh ghi đệm phát đến thanh ghi dịch phát, nó được xóa khi CPU viết từ mới vào thanh ghi đệm phát Bit D2 : (CD) Bít này được set nếu Modem không dò ra sóng mang Bit D3 : (CTS) Bít này được reset ( =0) nếu có tín hiệu tác động xóa để gửi Bit D4 : (FE) Bít này set nếu máy thu không dò ra bít stop ( sai khung) Bit D5 : (OVRN) Bít này set nếu 6850 chuyển data thu được từ thanh ghi dịch thu vào thanh ghi đệm thu trước khi CPU đọc nội dung trong thanh ghi này, nó chỉ rằng có một phần bản tin bị mất. Bít này được reset khi CPU đọc thanh ghi đệm thu Bit D6 : (PE) Bít này set khi máy thu dò ra lỗi parity

Bit D7 : (IRQ) Bít này set khi có tín hiệu tác động trên ngã ra IRQ tới CPU

4.3.2.3 Vận hành

Vận hành 6850 được mô tả qua các bước : Khởi động, phát một ký tự và thu một ký tự - Khởi động : Chú ý rằng 6850 không có reset phần cứng. Việc reset chip được điều khiển bằng cách ghi byte điều khiển vào thanh ghi điều khiển (lập các bit C0 = C1 = 1) - Reset chip: các bit trong thanh ghi trạng thái về 0 và hai chân RTS và IRQ lên cao

- Lập trình từ điều khiển để chọn giao thức hoạt động. - Phát một ký tự Khi đã khởi động chip ta chỉ cần 2 bước để phát một ký tự - Chân CTS phải ở mức thấp - Đợi cho đến khi bít TDRE = 1 (trong thanh ghi trạng thái) - Ghi ký tự cần phát vào thanh ghi dữ liệu phát Một ví dụ để thấy hoạt động phát của 6850. Từ điều khiển ghi vào thanh ghi có dạng 10101101. Do bit D6 và D5 là 0 và 1, một tín hiệu mức thấp tác động cho bởi chân RTS gửi tới modem, sau một thời gian trễ xác định, modem gửi tín hiệu tác động mức thấp tới chân CTS , báo dữ liệu sẵn sàng để gửi đi. CPU đọc thanh ghi trạng thái và nếu bit D1 (TDRE) lên 1 nó sẽ gửi từ kế tiếp đến thanh ghi đệm phát, từ này được chốt vào thanh ghi khi chân E chuyển từ mức cao xuống thấp, điều này khiến cho bit TDRE reset xuống 0. Mạch logic bên trong tạo bit kiểm tra lẻ theo yêu cầu và chuyển dữ liệu cùng với bit start, bit parity và bit stop vào thanh ghi dịch phát. Dữ liệu được chuyển ra ngoài trên đường TxD với bit rate bằng 1/16 tần số xung đồng hồ ở chân TxCLK . Khi dữ liệu đã chuyển vào thanh ghi dịch phát bit TDRE của thanh ghi trạng thái lên 1, một lần nữa vì bit D6 và D5 của thanh ghi điều khiển là 0 và 1 nên khi TDRE lên 1 một tín hiệu ngắt tự động gửi đến CPU ở ngã ra IRQ . CPU trả lời bằng cách gửi từ thứ 2 tới thanh ghi đệm phát mặc dù từ thứ nhất có thể chưa hoàn toàn chuyển ra ngoài. Sở dĩ được như vậy vì 6850 dùng thanh ghi đôi và việc này làm gia tăng vận tốc truyền.

_________________________________________________________________________________ Nguyễn Trung Lập Truyền dữ liệu

Page 128: tong quan ve tri tue nhan tao

___________________________________________Chương 4 Truyền nối tiếp bất đồng bộ IV - 11

- Thu một ký tự Có 3 bước cần thiết để thu một ký tự

- Chân CD phải ở mức thấp - Đợi cho đến khi bit RDRF = 1 - Đọc trạng thái lỗi từ thanh ghi trạng thái - Đọc ký tự thu từ thanh ghi dữ liệu thu Các ngắt phát và/hoặc thu có thể được cho phép bởi từ điều khiển (xem bảng 4.2)

Chân IRQ sẽ ở mức thấp bất cứ khi nào các bit trạng thái TDRE và/hoặc RDRF là 1. Trong khi chân IRQ ở thấp bit trạng thái IRQ là 1. Dưới đây là quá trình thu một ký tự

Tín hiệu nối tiếp tới chân RxD của ACIA. Thông thường chân này ở mức cao khi không có tín hiệu vào. Khi có tín hiệu tới bit đầu tiên là bit start (bit D0) làm chân RxD chuyển từ cao xuống thấp. Giả sử tần số xung đồng hồ thu bằng 16 lần vận tốc bit, thì sau 8 chu kỳ đồng hồ kể từ khi chân RxD chuyển từ cao xuống thấp, ngã vào này được kiểm tra một lần nữa và nếu nó vẫn còn ở mức thấp, bit start mới có giá trị, nếu không ACIA xem tín hiệu nhận được là nhiễu và tiếp tục giám sát sự thay đổi ở chân này để tìm ra bit start. Dùng 8 chu kỳ đồng hồ sau khi có sự thay đổi trạng thái của chân RxD khiến cho data được lấy mẫu đúng ngay điểm giữa và được chuyển vào thanh ghi dịch thu sau mỗi 16 xung đồng hồ. Viêc kiểm tra lỗi được thực hiện và khi có lỗi xảy ra các bit báo lỗi tương ứng trong thanh ghi trạng thái sẽ được set. Sau khi số bit dữ liệu mong muốn đã nhận được, bản tin được chuyển song song từ thanh ghi dịch thu tới thanh ghi đệm thu và bit 0 (RDRF) của thanh ghi trạng thái được set lên 1. Nếu bit 7 của thanh ghi điều khiển được set (đưa lên 1) trong suốt thời gian khởi động, một ngắt tới CPU được tự động tạo ra do chân IRQ xuống thấp. CPU thực hiện chương trình phục vụ ngắt và đọc thanh ghi trạng thái để biết nguyên nhân ngắt. Nếu CPU tìm thấy bit RDRF đã set nó sẽ đọc dữ liệu trong thanh ghi đệm thu. Hành động này xóa bit RDRF của thanh ghi trạng thái. Phần thu của 6850 cũng dùng thanh ghi đôi cho phép từ kế tiếp chuyển vào thanh ghi dịch trong khi từ trước đó chưa hoàn toàn được đọc vào CPU nhằm tăng vận tốc truyền như nói trên.

4 .3.2.4 Giao tiếp của 6850 với vi xử lý

ACIA 6850 có thể giao tiếp với họ vi xử lý 6800 hoặc 6502 (H 4.7)

_________________________________________________________________________________ Nguyễn Trung Lập Truyền dữ liệu

Page 129: tong quan ve tri tue nhan tao

___________________________________________Chương 4 Truyền nối tiếp bất đồng bộ IV - 12

(H 4 .7) Ghi chú:

Trong mạch (H 4.7) - Φ2 là tín hiệu xung đồng hồ chuẩn cho tất cả thiết bị ngoại vi của 6800. - VMA : Valid memory address, ngã ra chỉ báo cho các thiết bị ngoại vi của 6800 biết

có một địa chỉ có hiệu lực trên bus địa chỉ. - Mạch giao tiếp trên không truyền qua modem (các chân CTS và CD nối mass)

- Việc giải mã địa chỉ được thực hiện từ bên ngoài cho ngã vào 2CS

- Chân CS1 và CS0 phải nối lên mức cao - Các ngắt được báo cho CPU từ chân IRQ để báo cho CPU biết các thanh ghi thu

hoặc phát đã sẵn sàng. Các thao tác này cũng có thể chọn lựa bởi việc lập trình thích hợp cho các bit cho phép ngắt trong thanh ghi điều khiển.

4.3.3. USART 8251A của Intel :

4 .3.3.1 - Tính năng tổng quát :

8251A là một chuẩn công nghiệp USART, được chế tạo từ kỹ thuật NMOS, có 28 chân, được thiết kế để truyền dữ liệu tốc độ lên đến 64 kbps tương thích với họ µP của Intel như MCS-48, 80, 85 và iAPX-86, 88.....8251A được dùng như một thiết bị ngoại vi và được lập trình bởi CPU để truyền dữ liệu nối tiếp. USART nhận các ký tự dữ liệu từ µP ở dạng song song, sau đó đổi chúng thành dạng nối tiếp để phát đi. Đồng thời, 8251A có thể thu dòng dữ liệu nối tiếp và đổi chúng thành các ký tự dữ liệu song song gửi đến µP. USART sẽ báo cho µP biết khi nào có thể nhận một ký tự từ µP để phát, hoặc khi nào đã thu được một ký tự để cho µP đọc. µP có thể đọc trạng thái của USART bất cứ lúc nào. Những trạng thái này bao gồm các lỗi truyền dữ liệu và các tín hiệu điều khiển như là RxRDY (Receiver Ready) và TxRDY (Transmitter Ready)

4.3.3.2 - Mô hình và sơ đồ khối (H 4.8)

_________________________________________________________________________________ Nguyễn Trung Lập Truyền dữ liệu

Page 130: tong quan ve tri tue nhan tao

___________________________________________Chương 4 Truyền nối tiếp bất đồng bộ IV - 13

(H 4.8)

8251A có thanh ghi dữ liệu đôi và các thanh ghi điều khiển và trạng thái riêng biệt, điều này làm đơn giản việc lập trình và tăng hiệu quả sử dụng thời gian của CPU (tăng vận tốc thu, phát). - Ở chế độ truyền bất đồng bộ máy thu dò và ngưng hoạt động tự động mà không cần sự điều khiển của CPU - Kết thúc một cuộc liên lạc, TxD line luôn trở về trạng thái nghỉ (mark state), tức phát tín hiệu 1, trừ khi bit D3 (SBRK) trong thanh ghi điều khiển được set = 1 - Trạng thái logic của bit D0 (Tx Enable) cho phép máy truyền xong các ký tự đã nạp vào thanh ghi mặc dù có lệnh dừng. 8251A có khả năng thực hiện giao thức truyền đồng bộ và bất đồng bộ. Ở đây ta chỉ bàn đến khả năng truyền bất đồng bộ.

- Trong chế độ truyền bất đồng bộ, chiều dài ký tự có thể từ 5 đến 8 bit với tần số xung clock bằng 1, 16, 64 lần giá trị baud - Có khả năng phát ký tự Break và 1, 1,5 hoặc 2 bit Stop - Dò được các lỗi chẵn lẻ, sai khung và lỗi tràn

- Ngã vào và ra tương thích TTL. - Chức năng các khối và ý nghĩa các chân IC :

- Data Bus Buffer :

Là bộ đệm 8 bit, hai chiều, 3 trạng thái được dùng để giao tiếp 8251A với Bus dữ liệu của hệ thống. Dữ liệu được phát hay thu tùy thuộc lệnh Input hay Output của CPU. Từ điều khiển, từ lệnh và thông tin trạng thái cũng được truyền qua Data Bus. Khối chức năng này nhận tín hiệu từ Bus điều khiển của hệ thống và phát tín hiệu điều khiển hoạt động của cả IC, nó chứa thanh ghi từ điều khiển chế độ hoạt động (control word), thanh ghi từ điều khiển vận hành (command word) là các thanh ghi xác định những chức năng của IC Khối này gồm các chân : D0 - D7 : Data bus I/O : bus dữ liệu vào/ra

RST : Reset : Đặt lại : mức cao của ngã vào này đưa 8251A vào trạng thái nghỉ cho tới khi có một từ control mới được viết vào để xác đinh chế độ vận hành của nó. CLK : System Clock : Xung đồng hồ hệ thống : ngã vào dùng định thời bên trong IC, tần số xung Clock phải lớn hơn 30 lần tốc độ thu phát bit WR : Write : CPU ghi dữ liệu hay từ control vào 8251A, đây là ngã vào tác động mức thấp. RD : Read : CPU đọc dữ liệu hay thông tin về trạng thái từ 8251A CS : Chip select : chọn chip

C/ D : Control/Data : Điều khiển/Dữ liệu. Đây là ngã vào, liên kết với WR và RD để báo cho 8251A biết từ đang ở Data bus là ký tự dữ liệu, từ control hay thông tin về trạng thái. Bảng 4.4 dưới đây cho thấy kết quả của sự phối hợp các ngã vào nói trên : Bảng 4 .4

C/ D RD WR CS

_________________________________________________________________________________ Nguyễn Trung Lập Truyền dữ liệu

Page 131: tong quan ve tri tue nhan tao

___________________________________________Chương 4 Truyền nối tiếp bất đồng bộ IV - 14

0 0 1 0 0 1 0 0 1 0 1 0 1 1 0 0 x 1 1 0 x x x 1

8251A DATA → DATA BUS DATA BUS → 8251A DATA STATUS → DATA BUS DATA BUS → CONTROL DATA BUS → 3-STATE DATA BUS → 3-STATE

- Modem Control : 8251A có một tập hợp ngã vào/ra điều khiển được dùng để đơn giản sự giao tiếp với hầu hết các Modem, gồm các chân : DSR : Data Set Ready : Ngã vào điều khiển bởi bit D7 của thanh ghi trạng thái (D7 = 1 chân DSR xuống thấp). Trạng thái của nó có thể được test bởi CPU nhờ tác vụ đọc trạng thái. DTR : Data Terminal Ready : Ngã ra điều khiển bởi bit D1 của thanh ghi điều khiển vận hành (command; D1 = 1 chân DTR xuống thấp). Trạng thái của nó có thể được kiểm soát bởi từ command. Có thể dùng test chân DTR của modem . RTS : Request To Send : Ngã ra điều khiển bởi bit D5 trong thanh ghi điều khiển (D5 = 1 chân RTS xuống thấp). Có thể được dùng để test chân RTS của modem. CTS : Clear To Send : Ngã vào, mức thấp cho phép 8251A phát dữ liệu nối tiếp nếu bit Tx Enable trong thanh ghi từ command (D0 ở mức 1). Khi phần phát Tx đang phát nếu bit TxEnable = 0 hoặc chân CTS lên cao, Tx sẽ phát tất cả Data trong USART trước khi nghỉ.

- Transmitter buffer : Nhận Data song song từ Data bus buffer, đổi sang nối tiếp, thêm các bit đặc biệt và xuất tín hiệu hỗn hợp ra ngã TxD khi có cạnh xuống của xung Clock phát TxC .

- Transmitter Control : TxC quản lý tất cả hoạt động liên quan đến việc phát tín hiệu

TxRDY : Trans. Ready, ngã ra này báo cho CPU biết máy phát sẵn sàng nhận dữ liệu. Chân TxRDY có thể dùng như là một ngắt cho hệ thống, vì nó được che bởi Tx Enable, hoặc đối với tác vụ hỏi vòng (polling), CPU có thể kiểm soát TxRDY bằng tác vụ đọc trạng thái (bit D0 trong thanh ghi trạng thái). TxRDY tự động reset bởi cạnh xuống (leading edge) của WR khi ký tự dữ liệu được nạp từ CPU TxE : Trans. Reg. Empty : thanh ghi phát trống : Khi 8251A không có gì để phát, ngã ra TxE lên cao. TxE có thể được dùng để chỉ lúc chấm dứt phát sao cho CPU biết lúc phải đổi sang đường dây khác trong cách truyền bán song công (HDM) TxC : Transmitter Clock : Xung đồng hồ phát có tần số là một bội của vận tốc điều chế (Baud rate), tùy theo lập trình, bội này có thể là 1, 16, 64 (chỉ dùng cho chế độ bất đồng bộ). Thí dụ: Vận tốc điều chế là 110 baud thì:

- TxC = 110 Hz khi ở chế độ x1 (B1B0 = 01) - TxC = 1,72 KHz khi ở chế độ x1 (B1B0 = 10) - TxC = 7,04 KHz khi ở chế độ x1 (B1B0 = 11)

- Receiver Buffer : Nhận dữ liệu nối tiếp đổi thành song song, kiểm tra lỗi và gửi ký tự tới CPU. Dữ liệu nối tiếp vào ngã vào RxD bởi cạnh lên của tín hiệu RxC . - Receiver Control : Quản lý tất cả hoạt động thu của IC

_________________________________________________________________________________ Nguyễn Trung Lập Truyền dữ liệu

Page 132: tong quan ve tri tue nhan tao

___________________________________________Chương 4 Truyền nối tiếp bất đồng bộ IV - 15

RxRDY : Ngã ra này báo 8251A chứa một ký tự sẵn sàng đọc vào CPU. RxRDY có thể nối vào cấu trúc ngắt của CPU hay đối với tác vụ hỏi vòng, CPU có thể kiểm soát trạng thái của RxRDY bằng cách dùng tác vụ đọc trạng thái (bit D1). Bit RxE (Receive Enable, D2) trong thanh ghi điều khiển vận hành (command) có tác dụng điều khiển chân RxRDY, khi RxE = 0 thì RxRDY ở điều kiện không được phép. RxC : Receiver Clock : Xung đồng hồ thu có tần số là bội của vận tốc điều chế: x1, x16 và x64 SYN/BRK : Sync detect/Break detect : Dò đồng bộ/ Ngưng:

- Khi hoạt động ở chế độ truyền đồng bộ chân này có thể là ngã vào hoặc ngã ra tùy vào từ control đã lập trình

* Khi là ngã ra (ở chế độ đồng bộ bên trong) chân này lên cao khi phần thu dò ra từ đồng bộ.

* Khi là ngã vào (ở chế độ đồng bộ bên ngoài) tín hiệu mức cao tới khiến 8251A bắt dầu thu dữ liệu khi có cạnh lên của xung đồng hồ kế tiếp.

- Khi hoạt động ở chế độ truyền bất đồng bộ chân này là ngã ra và lên cao khi máy thu ngưng nhận tín hiệu trong khoảng thời gian tương đương 2 ký tự. Chân này đươc reset bởi tín hiệu MRST hay chân RxD lên cao. Break Detect cũng có thể được đọc như một bit trạng thái. Khác với 6402, ở 8251A tất cả dữ liệu đến và từ µP đều đi qua bus dữ liệu (data bus) nối với các chân D0-D7. Địa chỉ thanh ghi được định bởi chân C/ D (Control/Data). Khi chân này lên cao cho phép chọn nhóm thanh ghi điều khiển (mode, command, status). Khi chân này xuống thấp cho phép chọn các thanh ghi dữ liệu (là các bộ đệm thu và phát). Bộ đệm phát và thanh ghi điều khiển chỉ có thể ghi(write), trái lại bộ đệm thu và thanh ghi trạng thái chỉ có thể đọc (read). Thanh ghi chọn chế độ (mode) chỉ có thể được truy xuất sau khi chip được reset. Bảng 4 .5 Từ chọn chế độ và điều khiển vận hành (Mode Control and Command word bits) D7

Chọn số bit stop S1

00 = không 01 = 1 bit Stop

Vào chế độ tìm từ SYNC. EH

1 = Cho phép tìm từ SYN.

D6

S0

10 = 1,5 bit Stop 11 = 2 bit Stop

Reset nội IR

1 = Reset

D5 Chọn KT chẵn EP

1 = Chẵn 0 = lẻ

Yêu cầu phát RTS

1 = Chân RTS thấp 0 = Cao

D4 Cho phép KT chẵn lẻ PEN

1 = Có bit chẵn lẻ 0 = Không

Reset lỗi ER

1 = Reset cờ lỗi PE,OE,FE về 0

D3 Chọn chiều dài ký tự L1

00 = 5 Bits 01 = 6 Bits

Phát ký tự Break SBRK

1 = Chân TxD thấp 0 = Vận hành bình thường

D2 L0 10 = 7 Bits 11 = 8 Bit

Cho phép thu RxEN

1 = Enable 0 = Disable

D1 Chọn hệ số chia xung CKB1

00 = Sync. Mode 01 = : 1

DTE sẵn sàng DTR

1 = Chân DTR thấp 0 = Cao

D0 B0 10 = : 16 11 = : 64

Cho phép phát TxEN

1 = Cho phép 0 = Không

Từ chọn chế độ (mode control) Từ điều khiển vận hành (command)

Sử dụng 8251A đòi hỏi các đoạn chương trình ngắn để nạp từ chọn mode (mode control word) và từ điều khiển (command word) cho các thanh ghi điều khiển, cũng như để đọc định kỳ thanh ghi trạng thái (status). Chi tiết của 3 thanh ghi này được cho trong bảng 4.5 và 4.6 Bảng 4 .6 Thanh ghi trạng thái 8251A (Status Register)

_________________________________________________________________________________ Nguyễn Trung Lập Truyền dữ liệu

Page 133: tong quan ve tri tue nhan tao

___________________________________________Chương 4 Truyền nối tiếp bất đồng bộ IV - 16

D7 DCE sẵn sàng DSR

1 = Chân DSR thấp 0 = Cao

D6 Dò từ SYN SYNDET

1 = Dò ra từ SYN (Synchronous only)

D5 Lỗi khung FE

1 = Có lỗi khung, reset bằng cách ghi ER = 1 (Asynchronous only)

D4 Lỗi tràn OE

1 = Có lỗi tràn

D3 Lỗi chẵn lẻ PE

1 = Có lỗi chẵn lẻ

D2 Thanh ghi phát trống TxEmpty

1 = Trống 0 = Bận

D1 Phần thu sẵn sàng RxD

1 = Sẵn sàng thu ký tự mới

D0 Phần phát sẵn sàng TxD

1 = Sẵn sàng ghi ký tự mới để phát

Ghi chú: bit TxD có nghĩa hơi khác với chân TxRDY. Bít TxD không kèm theo điều kiện của chân CTS và TxEN trong lúc chân TxRDY kèm theo cả 2 điều kiện này

4.3.3.3 - Vận hành

Toàn bộ hoạt động của 8251A được lập trình bởi phần mềm hệ thống. Một tập từ điều khiển được phát ra từ CPU để khởi động 8251A, các từ điều khiển này sẽ qui định các giá trị vận tốc thu phát, chiều dài ký tự, số bit stop, chọn parity, đồng bộ hay bất đồng bộ (bit parity không được xem là bit dữ liệu khi lập trình chiều dài từ). Trong trường hợp chiều dài từ < 8 bit, những bit thấp (từ LSB) là dữ liệu, những bit không dùng (bit cao) thì không cần quan tâm (don't care) khi viết dữ liệu vào 8251A và là 0 khi đọc dữ liệu từ 8251A). Vận hành của USART 8251A được mô tả qua các bước : khởi động, phát một ký tự và thu một ký tự. - Khởi động 8251A - Reset chip - Ghi vào thanh ghi chọn chế độ một byte (từ CPU) để chọn giao thức mong muốn (bảng 4.5) Sau khi thiết lập chế độ hoạt động, việc phát và thu được điều khiển bằng cách ghi định kỳ từ điều khiển vào thanh ghi điều khiển bao gồm các bước sau : - Reset chip - Ghi từ chọn chế độ vào thanh ghi mode (mode register)

- Ghi từ điều khiển vào thanh ghi command (command register). Đối với 8251A, từ đi sau từ mode luôn luôn là từ command và từ command có thể ghi

vào thanh ghi bất cứ lúc nào trong khối dữ liệu trong lúc 8251A đang hoạt động. Để trở lại với từ chọn chế độ, bit master reset (D6) trong từ command có thể được set để khởi động reset nội và đưa 8251A trở về trạng thái khởi động, và từ điều khiển ghi vào lúc này phải là từ mode. - Phát một ký tự Để phát một ký tự, bit TxEN trong thanh ghi điều khiển phải ở logic 1 và chân CTS phải ở mức thấp : - Đợi cho đến khi chân TxRDY lên cao hoặc cho đến khi bit TxRDY trong thanh ghi trạng thái là 1. - Ghi ký tự cần phát vào thanh ghi đệm phát.

_________________________________________________________________________________ Nguyễn Trung Lập Truyền dữ liệu

Page 134: tong quan ve tri tue nhan tao

___________________________________________Chương 4 Truyền nối tiếp bất đồng bộ IV - 17

USART tự động thêm các bit start, stop, kiểm tra chẵn lẻ. Ký tự được phát đi nối tiếp trên đường TxD với bit LSB được phát trước, các bit được dời ra ngòai mỗi khi có cạnh xuống của xung đồng hồ TxC với vận tốc bằng 1, 1/16, 1/64 tần số xung đồng hồ. - Thu một ký tự Để thu một ký tự đồng thời kiểm tra lỗi của ký tự này, cần thực hiện các bước sau : - Đợi cho đến khi chân RxRDY lên cao hoặc cho đến khi bit RxRDY trong thanh ghi trạng thái là 1 - Đọc trạng thái lỗi từ thanh ghi trạng thái - Đọc ký tự từ thanh ghi đệm thu - Reset trạng thái lỗi bằng cách ghi bit ER = 1 (D4) trong thanh ghi command. Tốc độ phát và thu bit được quyết định bởi tần số của xung clock đưa vào chân RxC / TxC chia theo hệ số 1, 16 hoặc 64 đã chọn trong từ chọn mode. Hoạt động thu của 8251A giống như 6850 của Motorola, bắt đầu sau khi hiệu lực hóa bit start, dữ liệu được lấy mẫu khi có cạnh lên của xung đồng hồ RxC .

4..3.3.4 Giao tiếp với CPU của 8251A (H 4.9) mô tả kết nối giữa 8251A và CPU

Giao tiếp giữa 8251A và CPU sử dụng đặc tính xuất nhập của bộ tích lũy (accumulator I/O) của Intel 8085

(H 4.9)

- Thu một ký tự Việc thu một ký tự thực hiện khi chân RxRDY hoặc bit RxRDY trong thanh ghi trạng

thái lên mức cao để tạo ngắt đưa tới µP báo sẵn sàng để thu.

- Phát một ký tự Quyết định bởi bit TxRDY trong thanh ghi trạng thái, trong trường hợp này CPU phải

thực hiện việc hỏi vòng (chứ không tạo ngắt), khi nhận được mức cao của bit TxRDY (hoặc chân TxRDY lên cao), CPU ghi ký tự cần phát vào thanh ghi đệm phát.

_________________________________________________________________________________ Nguyễn Trung Lập Truyền dữ liệu

Page 135: tong quan ve tri tue nhan tao

Chương 5: Điều khiển và cài đặt tìm kiếm trong không gian trạng thái

Chương V

ĐIỀU KHIỂN VÀ CÀI ĐẶT TÌM KIẾM TRONG KHÔNG GIAN TRẠNG THÁI

Nội dung chính: Trong chương này, các kỹ thuật sâu hơn cho việc cài đặt các thuật toán tìm kiếm sẽ được trình bày một cách chi tiết. Trước hết là tìm kiếm đệ quy (recursive search) – một phương pháp thực hiện tìm kiếm sâu kèm theo lần ngược với cách thức tự nhiên và ngắn gọn. Tìm kiếm đệ quy được tăng cường nhờ sử dụng sự hợp nhất (unification) để tìm kiếm các không gian trạng thái do các biểu thức của phép tính vị từ sinh ra. Sự kết hợp này cho ta thuật toán tìm kiếm hướng mẫu (pattern – directed search). Phần tiếp theo trong nội dung chương V giới thiệu mô hình hệ sinh (production system) – một cấu trúc tổng quát để giải các bài toán hướng mẫu, nó được sử dụng khá nhiều không những để mô hình hóa việc giải quyết các vấn đề của con người, mà còn để xây dựng các hệ chuyên gia và những ứng dụng Trí tuệ nhân tạo khác. Cuối cùng, một cách giải bài toán trí tuệ nhân tạo khác cũng được đề cập đến – kiến trúc bảng đen (blackboard architecture).

Mục tiêu cần đạt : Sau chương này, sinh viên có thể :

Vận dụng thuật toán tìm kiếm đệ quy kết hợp lần ngược trên không gian trạng thái. Hiểu thuật toán hướng mẫu khi thực hiện việc tìm kiếm trong không gian trạng thái. Vận dụng hệ sinh cho một bài toán. Hiểu các ưu điểm của hệ sinh Hiểu các ứng dụng kiến trúc bảng đen trong GQVĐ.

Kiến thức tiên quyết : Lý thuyết đồ thị, Các thuật toán tìm kiếm trên đồ thị, Lý thuyết trò chơi, …

Tài liệu tham khảo :

[1] George F. Luger, William A. Stubblefield – Albuquerque – Artificial Intelligence – Wesley Publishing Company, Inc – 1997 (Chapter 4)

[2] Bùi Xuân Toại – Trương Gia Việt (Biên dịch) – Trí tuệ nhân tạo – Các cấu trúc và chiến lược giải quyết vấn đề - NXB Thống kê, 2000 (Phần II)

[3] Recursion: http://cs-people.bu.edu/dbuzan/cs112/lab5/lab5.html

[4] Blackboard Architecture: http://www.nb.net/~javadoug/bb.htm

Võ Huỳnh Trâm – Trần Ngân Bình 79

Page 136: tong quan ve tri tue nhan tao

Giáo Trình Trí Tuệ Nhân Tạo

I TÌM KIẾM DỰA TRÊN CƠ SỞ ĐỆ QUI

I.1 Tìm kiếm đệ quy

Một chuyển đổi trực tiếp của thuật toán tìm kiếm sâu thành dạng đệ quy sẽ minh họa cho sự tương đương của đệ quy và lặp lại đơn giản. Thuật toán này sử dụng các biến toàn cục closed và open để duy trì danh sách các trạng thái:

Function Depthsearch; % open và closed toàn cục

Begin If open rỗng then trả lời (thất bại); Trạng thái hiện hành := phần tử đầu tiên của open; If trạng thái hiện hành là trạng thái đích

then trả lời (thành công) Else

begin Open := open - phần tử đầu tiên của open; Closed := closed + trạng thái hiện hành; For mỗi trạng thái con của trạng thái hiện hành do If chưa có trong closed hay open % xây dựng ngăn xếp then bổ sung con đó vào đầu danh sách open end;

Tìm kiếm sâu; % đệ quy End;

Tìm kiếm sâu như vừa được trình bày sẽ không sử dụng hết sức mạnh của phép đệ quy. Nó vẫn còn khả năng đơn giản hóa thủ tục bằng cách sử dụng chính phép đệ quy (thay gì một danh sách open) để sắp xếp các trạng thái trong không gian trạng thái. Trong phiên bản này của thuật toán, một danh sách closed toàn cục sẽ được dùng để phát hiện các trạng thái lặp lại, còn danh sách open thì tiềm ẩn trong các mẩu tin hoạt động của môi trường đệ quy.

Function Depthsearch (trạng thái hiện hành); % closed toàn cục Begin

If trạng thái hiện hành là trạng thái đích then trả lời (thành công);

For mỗi trạng thái hiện hành có con chưa được kiểm tra do begin Con := con chưa được kiểm tra kế tiếp; If con không phải là thành viên của closed then if depthsearch (con) = thành công then trả lời (thành công); end;

Trả lời (thất bại);

End; % tìm kiếm đã đến cùng

Thay vì phát sinh tất cả các con của một trạng thái và đưa chúng vào danh sách open, thuật toán này phát sinh mỗi lần một con và tìm kiếm theo phép đệ quy các nút cháu của từng con đó trước khi phát sinh các anh em của nó. Thuật toán này sẽ gán một thứ tự cho các bước

80 Võ Huỳnh Trâm – Trần Ngân Bình

Page 137: tong quan ve tri tue nhan tao

Chương 5: Điều khiển và cài đặt tìm kiếm trong không gian trạng thái

phát sinh trạng thái. Trong tìm kiếm theo đệ quy đối với một trạng thái con, nếu có một con nào đó của trạng thái này là đích, thuật toán đệ quy sẽ trả lời thành công và bỏ qua tất cả các trạng thái anh em. Ngược lại, các trạng thái anh em kế tiếp được phát sinh. Cứ như vậy thuật toán sẽ tìm kiếm toàn bộ đồ thị lần lượt theo từng độ sâu một.

Thuật toán đệ quy cho phép bỏ qua danh sách open trong suốt quá trình thực hiện. Cơ chế mà một ngôn ngữ lập trình sử dụng để cài đặt đệ quy là dùng mẩu tin hoạt động (activation record) cho từng lần gọi đệ quy. Quá trình lần ngược sẽ tác động khi tất cả các con cháu của một trạng thái không phải là đích, làm cho bước đệ quy đó thất bại. Việc thực hiện đệ quy cho phép lập trình viên thu hẹp tầm nhìn của họ vào một trạng thái duy nhất cùng với các con của nó thay vì phải duy trì một danh sách open gồm nhiều trạng thái.

Tìm kiếm trong không gian trạng thái là một quá trình đệ quy. Để tìm đường đi từ trạng thái hiện hành đến đích, bạn chuyển đến một trạng thái con và thực hiện phép đệ quy. Nếu trạng thái con đó không dẫn đến đích, bạn thử lần lượt các trạng thái anh em của nó. Phép đệ quy sẽ chia một bài toán lớn và khó (tìm kiếm khắp không gian) thành các bài toán nhỏ và đơn giản hơn (phát sinh các con của một trạng thái) và áp dụng chiến lược đệ quy cho từng bài toán nhỏ đó. Quá trình cứ tiếp tục như vậy cho đến khi phát hiện được đích hoặc hết không gian.

I.2 Tìm kiếm hướng mẫu (Pattern – directed search)

Trong phần này chúng ta sẽ áp dụng tìm kiếm đệ quy vào không gian các suy diễn logic, kết quả sẽ là một thủ tục tìm kiếm tổng quát dùng cho phép tính vị từ.

Giả sử cần phải viết một thuật toán để xác định xem một biểu thức phép tính vị từ cho trước có phải là kết quả logic của môt tập các khẳng định nào đó hay không. Thuật toán này phải tìm một trình tự suy diễn tạo nên biểu thức đích. Thuật toán sẽ đề nghị một tìm kiếm hướng mục tiêu với câu hỏi ban đầu tạo nên đích và các modus ponens xác định các chuyển tiếp giữa các trạng thái. Cho trước một đích, thuật toán sẽ dùng phương pháp đồng nhất để chọn các phép kéo theo có kết luận phù hợp với đích đó. Sau khi đồng nhất đích với kết luận của phép kéo theo và đã áp dụng các thay thế vừa suy ra được, tiền đề của phép kéo theo sẽ trở thành một đích mới gọi là đích phụ (subgoal). Sau đó thuật toán sẽ thực hiện đệ quy đối với đích phụ này. Nếu đích phụ phù hợp với một sự kiện trong cơ sở tri thức, cuộc tìm kiếm kết thúc. Chuỗi suy diễn dẫn từ đích ban đầu đến các sự kiện cho trước sẽ chứng minh đích xuất phát là đúng.

Phiên bản hoàn chỉnh của thuật toán tìm kiếm hướng mẫu có thể trả lời một tập các đồng nhất thỏa mãn từng đích phụ là:

Võ Huỳnh Trâm – Trần Ngân Bình 81

Page 138: tong quan ve tri tue nhan tao

Giáo Trình Trí Tuệ Nhân Tạo

Function pattern_search(current_goal);

Begin If current_goal ∈ closed then return fail else Thêm current_goal vào closed; while còn dữ kiện hoặc luật đồng nhất do begin case current_goal đồng nhất với dữ kiện: return tập phép thế; current goal là ¬p: pattern_search(p); if pattern_search thất bại then return else return fail current_goal đồng nhất với kết luận của luật (q → p): begin áp dụng phép thế đồng nhất mục tiêu vào tiền đề (q); pattern_search (q); if pattern_search thành công then return hợp của tập phép thế của p và q; else return fail; end;

current_goal có dạng (p1∧ p2 …): begin for mỗi thành phần pi do begin pattern_search(pi); if pattern_search thất bại then return fail; else áp dụng các phép thế vào các pi còn lại; end; if pattern_search thành công cho tất cả các pi

then return hợp của các tập phép thế; else return fail;

end; current_goal có dạng (p1∨ p2…):

begin repeat cho mỗi pi pattern_search(pi); until không còn thành phần pi nào hoặc thành công; if pattern_search thành công then return phép thế; else return fail;

end; return fail;

End;

82 Võ Huỳnh Trâm – Trần Ngân Bình

Page 139: tong quan ve tri tue nhan tao

Chương 5: Điều khiển và cài đặt tìm kiếm trong không gian trạng thái

II HỆ THỐNG LUẬT SINH (HỆ SINH – PRODUCTION SYSTEM)

II.1 Định nghĩa hệ sinh

Hệ sinh là một mô hình tính toán quan trọng trong trí tuệ nhân tạo về cả hai mặt: thực hiện các thuật toán tìm kiếm và mô hình hóa việc giải các bài toán của con người.

Một hệ sinh được định nghĩa bởi:

1. Tập luật sinh (Production rules): Mỗi luật sinh có dạng condition → action (điều kiện → hành động). Phần điều kiện của luật là một mẫu cho biết khi nào thì có thể áp dụng luật. Phần hành động quy định các bước giải toán tương ứng điều kiện.

2. Bộ nhớ làm việc (Working memory): Chứa một mô tả về trạng thái hiện thời của bài toán trong quá trình suy luận. Mô tả này là một mẫu sẽ được đối sánh với phần điều kiện của một luật sinh để chọn ra bước giải thích hợp. Khi phần điều kiện của luật phù hợp với nội dung trong bộ nhớ làm việc, hành động phát sinh từ điều kiện đó sẽ được thực hiện làm thay đổi nội dung bộ nhớ làm việc.

3. Chu trình nhận dạng - hành động (Recognize – act cycle) : Là cấu trúc điều khiển của hệ sinh.

Cấu trúc điều khiển của một hệ sinh khá đơn giản: Bộ nhớ làm việc được khởi đầu với mô tả của bài toán. Trạng thái hiện hành của việc giải bài toán được duy trì dưới dạng một tập các mẫu trong bộ nhớ làm việc. Các mẫu này được đối sánh với phần điều kiện của các luật sinh, các luật có điều kiện phù hợp với mẫu trong bộ nhớ làm việc được gọi là tập luật tranh chấp (conflict set). Sau đó một trong các luật sinh này sẽ được chọn và được kích hoạt. Để kích hoạt một luật, phần hành động của nó được thục hiện và làm thay đổi nội dung bộ nhớ làm việc. Chu trình điều khiển sẽ lặp lại với nội dung đã được thay đổi trong bộ nhớ làm việc. Quá trình này kết thúc khi nội dung của bộ nhớ làm việc không còn phù hợp với điều kiện của luật nào nữa.

Một quá trình giải quyết tranh chấp (conflict resolution) sẽ chọn một luật từ tập luật tranh chấp để kích hoạt. Chiến lược giải quyết tranh chấp có thể rất đơn giản như chọn luật đầu tiên có điều kiện phù hợp hoặc có thể dựa vào các heuristic chọn luật phức tạp. Đây là một khâu quan trọng để các hệ sinh có thể đưa khả năng điều khiển heuristic vào một thuật toán tìm kiếm.

Một sơ đồ của hệ sinh được mô tả như hình sau:

Võ Huỳnh Trâm – Trần Ngân Bình 83

Page 140: tong quan ve tri tue nhan tao

Giáo Trình Trí Tuệ Nhân Tạo

Tập luật sinh (production rules)

Bộ nhớ làm việc (Working memory )

ĐỐI SÁNH

Tập luật tranh chấp (Conflict Set)

GIẢI QUYẾT TRANH CHẤP

THỰC THI luật kích họat

(rule fired)

Chu trình nhận dạng – hành động

Thay đổi

Hình 5.1 – Cấu trúc hệ sinh

Thí dụ 5.1: Một chương trình hệ sinh đơn giản dùng để sắp xếp một dãy các chữ cái a,b,c theo thứ tự từ điển. Trong ví dụ này, một luật sinh sẽ được áp dụng nếu điều kiện của nó phù hợp với một phần của dãy chữ cái trong bộ nhớ làm việc. Khi một luật được kích hoạt, phần dãy phù hợp với điều kiện luật này được thay thế bởi dãy ở phần hành động của luật đó.

Tập luật sinh

Bước Bộ nhớ làm việc Tập luật tranh chấp

Luật kích hoạt

Dừng

Hình 5.2 – Các bước thực hiện của một hệ sinh đơn giản

84 Võ Huỳnh Trâm – Trần Ngân Bình

Page 141: tong quan ve tri tue nhan tao

Chương 5: Điều khiển và cài đặt tìm kiếm trong không gian trạng thái

II.2 Một số ví dụ về hệ sinh

Thí dụ 5.2: Bài toán trò đố 8 ô

Không gian tìm kiếm do trò đố 8 ô sinh ra vừa đủ phức tạp để khảo sát và cũng vừa đủ nhỏ để có thể theo dõi, cho nên ta thường hay sử dụng nó để minh họa cho các chiến lược tìm kiếm khác nhau như tìm kiếm sâu, tìm kiếm rộng, cũng như các chiến lược tìm kiếm heuristic. Nó cũng thích hợp với việc giải bằng hệ sinh. Các nước đi hợp lệ được trình bày như các luật trong hình. Trong trường hợp trạng thái bắt đầu và trạng thái đích của trò chơi được xác định, chúng ta có khả năng áp dụng một hệ sinh cho không gian tìm kiếm của bài toán.

Trạng thái bắt đầu:

Trạng thái kết thúc:

Điều kiện Hành động

Trạng thái kết thúc trong bộ nhớ làm việc → Dừng Ô trống không ở cạnh trái → Chuyển ô trống sang trái

Tập luật sinh:

Ô trống không ở cạnh đỉnh → Chuyển ô trống lên Ô trống không ở cạnh phải → Chuyển ô trống sang phải Ô trống không ở cạnh đái → Chuyển ô trống xuống Bộ nhớ làm việc chứa trạnh thái bắt đầu và trạng thái kết thúc Cơ chế kiểm soát

1. Thử mỗi luật sinh theo thứ tự 2. Không cho phép vòng lập 3. Dừng khi tìm thấy trạng thái kết thúc

Hình 5.3 – Trò đố 8 ô dưới dạng một hệ sinh

Thí dụ 5.3: Bài toán đường đi quân mã (Knight’s tour problem)

Bài toán đường đi quân mã trên bàn cờ vua cũng có thể được giải bằng cách sử dụng hệ sinh. Mỗi nước đi sẽ được biểu diễn bằng một luật mà phần điều kiện của nó là vị trí của quân cờ tại một ô và phần hành động của nó là vị trí hợp lệ sau khi di chuyển quân cờ. Mười sáu luật sinh sẽ biểu diễn cho tất cả các nước đi hợp lệ của quân cờ. Khởi đầu, bộ nhớ làm việc chứa trạng thái bàn cờ hiện tại và trạng thái đích. Vòng lặp điều khiển sẽ áp dụng các luật cho đến khi trạng thái hiện tại giống trạng thái đích rồi dừng lại. Một chiến lược giải quyết tranh chấp sẽ kích hoạt luật đầu tiên và không tạo vòng lặp. Vì quá trình tìm kiếm có thể dẫn đến những kết thúc chết nên chu trình điều khiển cho phép lần ngược.

Võ Huỳnh Trâm – Trần Ngân Bình 85

Page 142: tong quan ve tri tue nhan tao

Giáo Trình Trí Tuệ Nhân Tạo

Hình 5.4 – Giải pháp hệ sinh cho bài toán đường đi quân mã

Bước

Bộ nhớ làm việc

Ô hiện thời Ô đi đến

Tập luật tranh chấp

Dừng

Luật kích hoạt

Các bước đi hợp lệ của quân mã

9 8 7 6 5 4 3 2 1

Đánh số các ô trong bàn cờ 3x3 Di chuyển đến ô 4Quân mã ở ô 916

Di chuyển đến ô 2Quân mã ở ô 915Di chuyển đến ô 1Quân mã ở ô 814

Di chuyển đến ô 9Quân mã ở ô 47 Di chuyển đến ô 3Quân mã ở ô 48 Di chuyển đến ô 1Quân mã ở ô 69 Di chuyển đến ô 7Quân mã ở ô 610Di chuyển đến ô 2Quân mã ở ô 711Di chuyển đến ô 6Quân mã ở ô 712Di chuyển đến ô 3Quân mã ở ô 813

Di chuyển đến ô 9Quân mã ở ô 23 Di chuyển đến ô 6Quân mã ở ô 12 Di chuyển đến ô 8Quân mã ở ô 11

Di chuyển đến ô 7Quân mã ở ô 24

LUẬ ĐIỀU KIỆN HÀNH ĐT

Di chu

ỘNG

yển đến ô 8Quân mã ở ô 36 Di chuQuân mã ở ô 35 yển đến ô 4

86 Võ Huỳnh Trâm – Trần Ngân Bình

Page 143: tong quan ve tri tue nhan tao

Chương 5: Điều khiển và cài đặt tìm kiếm trong không gian trạng thái

II.3 Điều khiển tìm kiếm trong các hệ sinh

Mô hình hệ sinh cho chúng ta có nhiều cơ hội để bổ sung điều khiển heuristic cho một thuật toán tìm kiếm. Những cơ hội đó có thể áp dụng khi chọn chiến lược tìm kiếm hướng dữ liệu hay tìm kiếm hướng mục tiêu, trong cấu trúc các luật hoặc khi chọn chiến lược giải quyết tranh chấp.

II.3.1 Điều khiển chọn chiến lược tìm kiếm hướng dữ liệu (suy diễn tiến) hay tìm kiếm hướng mục tiêu (suy diễn lùi)

Tìm kiếm hướng dữ liệu bắt đầu với một mô tả bài toán (như một tập các tiền đề logic, các triệu chứng của người bệnh, hay một khối dữ liệu cần suy diễn ...) rồi suy ra các kiến thức mới từ dữ liệu đó. Quá trình này được thực hiện bằng cách áp dụng các luật suy diễn, các nước đi hợp lệ trong một trò chơi hoặc các thao tác sinh ra trạng thái khác vào mô tả hiện hành của bài toán, đồng thời đưa thêm các kết quả vào mô tả bài toán. Quá trình này tiếp tục cho đến khi tiếp cận một mục tiêu.

Tập luật sinh Quá trình thực hiện

Bước Bộ nhớ làm việc Tập luật tranh chấp

Luật kích họat

Dừng

Không gian suy diễn

Hướng suy diễ

n

Hình 5.5 – Tìm kiếm hướng dữ liệu trong một hệ sinh

Mô tả của quá trình suy luận hướng mục tiêu này nhấn mạnh sự gần giống của nó với mô hình hệ sinh của việc tính toán. Trạng thái hiện tại của bài toán được đưa vào bộ nhớ làm việc. Chu trình nhận dạng – hành động sẽ đối sánh trạng thái hiện tại với tập luật sinh (theo thứ tự). Khi các dữ liệu này phù hợp với phần điều kiện của một trong các luật sinh đó, phần hành động của luật sinh sẽ bổ sung thêm (bằng cách thay đổi bộ nhớ làm việc) một thông tin mới vào trạng thái hiện tại của bài toán.

Võ Huỳnh Trâm – Trần Ngân Bình 87

Page 144: tong quan ve tri tue nhan tao

Giáo Trình Trí Tuệ Nhân Tạo

Vì tất cả các luật sinh đều có dạng CODITION→ ACTION. Khi CONDITION phù hợp với một số phần nào đó trong bộ nhớ làm việc, ACTION sẽ được thực hiện.

Hình trên trình bày quá trình tìm kiếm hướng dữ liệu đơn giản dựa vào một tập các luật sinh được biểu diễn dưới dạng phép kéo theo của phép tính mệnh đề. Chiến lược giải quyết tranh chấp đơn giản là chọn luật vừa mới được kích hoạt. Theo ràng buộc này, luật đầu tiên sẽ được chọn. Quá trình thực hiện sẽ dừng lại khi tiếp cận một mục tiêu. Hình này cũng giới thiệu trình tự các luật kích hoạt và trạng thái bộ nhớ làm việc trong quá trình thực hiện cùng với đồ thị của không gian tìm kiếm.

Ta cũng có thể áp dụng tìm kiếm hướng mục tiêu trong các hệ sinh. Để thực hiện điều này, mục tiêu được đưa vào bộ nhớ làm việc và được đối sánh với phần ACTION của các luật sinh (bằng phép hợp nhất chẳng hạn) và phần CODITION cuả luật sẽ được bổ sung vào bộ nhớ làm việc và trở thành các mục tiêu mới của quá trình tìm kiếm. Quá trình này cứ tiếp tục cho đến khi một sự kiện được tìm thấy, thường là trong mô tả ban đầu của bài toán. Quá trình tìm kiếm sẽ dừng lại khi các CODITION của tất cả các luật sinh được kích hoạt đều là đúng. Hình sau là một ví dụ về suy luận hướng mục tiêu. Cần chú ý rằng ta sẽ dừng lại khi các CODITION của tất cả các luật sinh được kích hoạt đều là đúng. Tìm kiếm hướng mục tiêu sẽ kích hoạt loạt luật sinh khác và tiến hành quá trình tìm kiếm trên không gian khác so với kiểu hướng dữ liệu.

Tập luật sinh Quá trình thực hiện

Bước Bộ nhớ làm việc Tập luật

tranh chấp Luật

kích họat

Không gian suy diễn

Hướng suy diễn

Dừng

Hình 5.6. – Tìm kiếm hướng mục tiêu trong một hệ sinh

88 Võ Huỳnh Trâm – Trần Ngân Bình

Page 145: tong quan ve tri tue nhan tao

Chương 5: Điều khiển và cài đặt tìm kiếm trong không gian trạng thái

Câu hỏi :

Một hệ sinh sử dụng động cơ suy diễn là một chu trình nhận dạng hành động (đối sánh → giải quyết tranh chấp → thi hành luật). Hãy cho biết điểm khác biệt cơ bản tại bước đối sánh (match) khi hệ thống tiến hành suy diễn tiến và suy diễn lùi ?

II.3.2 Điều khiển tìm kiếm thông qua cấu trúc luật

Cấu trúc của các luật trong một hệ sinh bao gồm sự phân biệt giữa phần điều kiện (CONDITION) với phần hành động (ACTION) và thứ tự mà các điều kiện được thử, sẽ quyết định cách tìm kiếm trong không gian.

Trong biểu diễn của phép tính vị từ, các biểu thức chỉ định nghĩa các quan hệ thực trong một lĩnh vực bài toán chứ không khẳng định về thứ tự diễn dịch các thành phần của chúng do đó có thể có một vài cách biểu diễn khác nhau cho cùng một luật nhưng chúng vẫn tương đương về mặt chân trị. Những cách viết này có thể không dẫn đến cùng một kết quả khi được diễn dịch dưới dạng các luật sinh vì việc cài đặt của hệ sinh phải theo một thứ tự trong việc đối sánh và kích hoạt các luật. Hệ sinh thử các luật theo một thứ tự xác định nên người lập trình có thể điều khiển quá trình tìm kiếm thông qua cấu trúc và thứ tự của các luật trong tập luật sinh. Mặc dù tương đương về mặt logic nhưng hai cách thực hiện không như nhau trong một quá trình tìm kiếm.

Các chuyên gia mã hóa các heuristic quan trọng theo những quy luật chuyên môn của họ. Thứ tự của các tiền đề sẽ mã hóa những thông tin quan trọng về trình tự để giải bài toán. Chẳng hạn khi một kỹ sư cơ khí nói rằng “Nếu động cơ không khởi động được và đèn không sáng thì kiểm tra acquy”, tức là anh ta đã đề nghị một trình tự đặc trưng cho các hành động. Thông tin này sẽ không thể hiểu bởi phát biểu logic tương đương “Động cơ khởi động được hoặc đèn sáng hoặc kiểm tra acquy”. Dạng này của các luật rất quan trong trong việc điều khiển tìm kiếm, nó làm cho hệ thống thực hiện một cách logic, làm cho quá trình theo dõi việc kích hoạt các luật dễ hiểu hơn, ...

II.3.3 Điều khiển chọn chiến lược giải quyết tranh chấp

Mặc dù các hệ sinh (giống như tất cả các cấu trúc dùng cho những hệ thống dựa vào kiến thức) cho phép các heuristic được mã hóa vào trong nội dung kiến thức của bản thân các luật, nhưng chúng cũng có nhiều cơ hội khác để điều khiển heuristic thông qua các giải pháp giải quyết tranh chấp. Ví dụ các chiến lược giải quyết tranh chấp được hỗ trợ bởi OPS5 (Brownston và cộng sự -1985) gồm có:

1. Chiến lược khúc xạ (refraction): Chiến lược này quy định rằng khi một luật đã được kích hoạt, nó không thể được kích hoạt lại trước khi các phần tử trong bộ nhớ làm việc phù hợp với phần điều kiện của nó thay đổi. Chiến lược này giúp ngăn ngừa vòng lặp.

2. Chiến lược vừa mới xảy ra (recency): Chiến lược này chọn những luật có phần điều kiện phù hợp với các mẫu vừa mới được bổ sung vào bộ nhớ làm việc. Chiến lược này giúp tập trung việc tìm kiếm vào một dòng suy luận duy nhất.

Võ Huỳnh Trâm – Trần Ngân Bình 89

Page 146: tong quan ve tri tue nhan tao

Giáo Trình Trí Tuệ Nhân Tạo

3. Chiến lược tính chi tiết (specificity): Chiến lược này quy định rằng một luật giải toán chi tiết hơn sẽ được ưa thích hơn luật tổng quát. Một luật có tính chi tiết hơn luật khác nếu nó có nhiều điều kiện hơn. Điều này có nghĩa nó sẽ đối sánh với số mẫu ít hơn trong bộ nhớ làm việc.

II.4 Những ưu điểm của hệ sinh dùng cho trí tuệ nhân tạo

Theo các minh họa trên, hệ sinh cho chúng ta một quy tắc chung để thực hiện tìm kiếm. Nhờ tính đơn giản, khả năng cải biến và sự linh hoạt trong việc áp dụng các kiến thức giải toán, hệ sinh đã tỏ ra là một công cụ quan trọng để xây dựng các hệ chuyên gia và các ứng dụng trí tuệ nhân tạo khác. Những ưu điểm chính của các hệ sinh đối với trí tuệ nhân tạo là:

1. Tách riêng tri thức và điều khiển: Trong hệ sinh sự điều khiển được cho bởi chu trình nhận dạng – hành động của vòng lặp hệ sinh, còn các kiến thức giải toán được mã hóa vào trong các luật. Ưu điểm của sự tách biệt này là dễ thay đổi loại cơ sở tri thức mà không thay đổi việc điều khiển chương trình và ngược lại.

2. Đưa một sắp xếp tự nhiên vào tìm kiếm trong không gian trạng thái: Các phần tử của một hệ sinh sẽ được sắp xếp một cách tự nhiên vào cấu trúc tìm kiếm không gian trạng thái. Các trạng thái kế tiếp của bộ nhớ làm việc sẽ tạo nên các nút của đồ thị. Các luật sinh là các bước chuyển đổi có thể xảy ra giữa các trạng thái cùng với các chiến lược giải quyết tranh chấp sẽ cài đặt việc chọn một nhánh trong không gian trạng thái đó.

3. Tính module của luật sinh: Một yếu tố quan trọng của hệ sinh là không có bất kỳ sự tương tác lẫn nhau nào về cú pháp giữa các luật sinh. Các luật chỉ có thể tác động đến việc kích họat các luật khác bằng cách thay đổi mẫu trong bộ nhớ làm việc, chúng không thể “gọi” trực tiếp các luật khác như là một thủ tục con (subroutine), cũng không thể thiết lập giá trị của các biến cho các luật sinh khác. Tính độc lập về cú pháp này đã hỗ trợ cho sự phát triển của các hệ chuyên gia bằng cách liên tục bổ sung, loại bỏ hoặc thay đổi các tri thức (luật) của hệ thống.

4. Điều khiển theo mẫu: Các bài toán được chương trình trí tuệ nhân tạo nhằm vào đều yêu cầu phải linh hoạt trong quá trình thực thi chương trình. Mục tiêu này được đáp ứng bởi thực tế là các luật trong hệ sinh có thể kích hoạt theo mọi trình tự. Trong một bài toán, các mô tả tạo nên trạng thái hiện hành sẽ xác định tập luật tranh chấp và do đó cũng sẽ xác định con đường tìm kiếm và lời giải riêng.

5. Có cơ hội cho điều khiển heuristic của quá trình tìm kiếm.

6. Theo dõi và giải thích: Tính module của các luật và bản chất lặp lại trong quá trình thực thi làm cho nó dễ dàng theo dõi hơn trong một hệ sinh. Ở mỗi giai đoạn của chu trình nhận dạng – hành động, luật được chọn có thể được hiện ra. Vì mỗi luật ứng với một đoạn của quá trình giải toán nên nội dung luật sẽ giải thích đầy đủ ý nghĩa về trạng thái và hành động hiện hành của hệ thống đó.

7. Tính độc lập ngôn ngữ: Mô hình điều khiển hệ sinh không phụ thuộc vào cách thể hiện đã được chọn cho các luật và cho bộ nhớ làm việc miễn là cách thể hiện đó hỗ trợ cho việc đối sánh mẫu.

90 Võ Huỳnh Trâm – Trần Ngân Bình

Page 147: tong quan ve tri tue nhan tao

Chương 5: Điều khiển và cài đặt tìm kiếm trong không gian trạng thái

8. Mô hình hóa việc giải các bài toán của con người: Đây là một trong những ứng dụng đầu tiên của hệ sinh, chúng vẫn còn được dùng làm mô hình cho họat động của con người trong nhiều nghiên cứu khoa học về nhận thức.

III KIẾN TRÚC BẢNG ĐEN (BLACKBOARD ARCHITECTURE)

Kiến trúc bảng đen là cơ chế điều khiển cuối cùng được giới thiệu trong chương này. Kiến trúc bảng đen mở rộng các hệ sinh bằng cách cho phép chúng ta sắp xếp bộ nhớ làm việc thành các module riêng, mỗi module tương ứng với một luật sinh khác nhau. Kiến trúc này cũng cho phép chúng ta tích hợp các tập luật sinh khác nhau vào một cấu trúc toàn cục duy nhất.

Một kiến trúc bảng đen bao gồm:

1. Bảng đen (Blackboard): Là một số cơ sở dữ liệu toàn cục tập trung dùng để trao đổi thông tin giữa các nguồn tri thức không đồng bộ độc lập, tập trung vào các mặt có liên quan của một bài toán cụ thể.

2. Các nguồn tri thức (Knowledge source) KSi: Lấy dữ liệu của mình từ bảng đen, xử lý các dữ liệu đó rồi trả kết quả về cho bảng đen để các nguồn tri thức khác sử dụng. Mỗi KSi đều độc lập theo ý nghĩa là một quá trình riêng biệt, hoạt động theo các đặc trưng riêng, và khi sử dụng một hệ thống đã xử lý hoặc có nhiều bộ xử lý, nó sẽ độc lập với các quá trình xử lý khác của bài toán. Hệ thống không đồng bộ ở chỗ từng KSi sẽ bắt đầu hoạt động của mình khi nào tìm thấy các dữ liệu đầu vào thích hợp được công bố trên bảng đen. Khi kết thúc công việc xử lý của mình, nó sẽ gửi kết quả đi và chờ dữ liệu đầu vào mới.

3. Bộ lập lịch trình (scheduler): Tổ chức việc cấp tài nguyên và truy cập bảng đen của các nguồn tri thức.

Hình sau trình bày một sơ đồ về kiểu thiết kế bảng đen:

Hình 5.7 – Kiến trúc bảng đen

Bảng đen toàn cục

KS1

KS2

KSi

KSn

Võ Huỳnh Trâm – Trần Ngân Bình 91

Page 148: tong quan ve tri tue nhan tao

Giáo Trình Trí Tuệ Nhân Tạo

Kiến trúc bảng đen dùng trong việc tổ chức một chương trình lớn, lần đầu tiên được giới thiệu trong công trình nghiên cứu HEARSAY-II (Erman và cộng sự, Reddy–1976). HEARSAY–II là một chương trình hiểu lời nói, đầu tiên nó được thiết kế dưới dạng nền cho một cơ sở dữ liệu thư viện về những bài báo khoa học. Những người sử dụng thư viện này phải nói với máy tính những câu như: “Có bài báo nào của Feigenbaum và Feldman hay không?” và máy tính sẽ trả lời câu hỏi đó bằng những thông tin lấy từ cơ sở dữ liệu của thư viện. Quá trình hiểu tiếng nói đòi hỏi chúng ta phải tích hợp một số quá trình khác nhau, có những yêu cầu về kiến thức và thuật toán rất khác nhau, và độ phức tạp có thể tăng theo hàm mũ. Những quá trình xử lý tín hiệu, nhận biết âm vị, âm tiết, từ, phân tích cú pháp và phân tích ngữ nghĩa sẽ chế ngự ràng buộc lẫn nhau khi diễn giải câu nói.

Kiến trúc bảng đen đã cho phép HEARSAY-II tọa độ hóa một số nguồn tri thức khác nhau dùng trong công việc phức tạp này. Kiến trúc bảng đen thường được tổ chức theo hai chiều. Với HEARSAY-II hai chiều đó là thời gian khi lời nói được tạo ra và mức độ phân tích lời nói. Mỗi mức độ phân tích được xử lý bởi một lớp các nguồn tri thức:

KS1 - Dạng sóng của tín hiệu âm thanh

KS2 - Các âm vị hay các đoạn âm của tín hiệu âm thanh

KS3 - Các âm tiết mà các âm vị đó có thể tạo ra

KS4 - Các từ khi được phân tích bởi một KS

KS5 - Các từ khi được phân tích bởi một KS khác

KS6 - Loại KS dùng để phát ra các chuỗi từ

KS7 - Loại KS dùng để đặt các chuỗi từ vào trong câu

Trong việc xử lý lời nói, dạng sóng của tín hiệu âm thanh được đưa vào ở mức độ thấp nhất. Các nguồn tri thức dùng cho việc xử lý ở mức này đều được hiệu lực hóa và gởi các kết quả diễn dịch của chúng cho bảng đen, để sau đó sẽ được chọn lấy ra bởi một quá trình thích hợp. Vì ngôn ngữ nói thường có nhiều chỗ tối nghĩa nên có thể có nhiều giả thiết tranh chấp nhau ở từng mức trong kiến trúc. Các nguồn kiến thức ở mức cao hơn sẽ làm rõ nghĩa cho các giả thiết tranh chấp này.

Sự phân tích của HEARSAY-II không thể xem đơn giản như một mức thấp tạo ra dữ liệu và sau đó các mức cao hơn là phân tích. Quá trình phức tạp hơn nhiều. Nếu KS ở một mức không thể xử lý dữ liệu được đưa đến, thì KS đó có thể yêu cầu KS đã gời dữ liệu cho nó quay lại với cách xử lý khác hay tạo ra giả thiết khác về dữ liệu đó. Ngoài ra, nhiều KS khác nhau có thể đồng thời hoạt động trên nhiều phần khác nhau của lời nói. Tất cả các quá trình này đều đồng bộ và hướng dữ liệu, chúng hoạt động khi có dữ liệu vào, tiếp tục hoạt động cho đến khi hoàn thành xong nhiệm vụ và sau đó gởi kết quả đi rồi chờ nhiệm vụ tiếp theo.

Bộ lập lịch trình là một trong các KS, sẽ quản lý việc truy cập giữa các KS nếu không có KS nào hoạt động, bộ lập lịch trình sẽ quyết định nhiệm vụ đó kết thúc và đóng lại.

Khi chương trình HEARSAY-II có một cơ sở dữ liệu khoảng 1000 từ, nó làm việc hoàn toàn tốt mặc dù hơi chậm. Khi cơ sở dữ liệu mở rộng hơn, dữ liệu dùng cho các nguồn tri thức này sẽ trở nên rất phức tạp đến mức khó quản lý. HEARSAY-III (Balzer và cộng sự - 1980,

92 Võ Huỳnh Trâm – Trần Ngân Bình

Page 149: tong quan ve tri tue nhan tao

Chương 5: Điều khiển và cài đặt tìm kiếm trong không gian trạng thái

Erman và cộng sự - 1981) là sự tổng quát hóa phương pháp mà HEARSAY-II đã dùng. Chiều thời gian của HEARSAY-II không còn cần thiết nữa, nhưng nhiều KS ứng với các mức phân tích thì vẫn giữ nguyên. Bảng đen dùng cho HEARSAY-III được hoạch định để tương tác với một cơ sở dữ liệu quan hệ đa năng. Thực vậy, HEARSAY-III là một khung chung dùng để thiết kế các hệ chuyên gia. Một thay đổi quan trọng trong HEARSAY-III là chia bộ lập lịch trình thành một công cụ điều khiển riêng cho bảng đen.

TỔNG KẾT CHƯƠNG V: Chương V đã trình bày một số các thuật toán cũng như các mô hình, kiến trúc phổ biến dùng điều khiển và cài đặt quá trình tìm kiếm trong không gian trạng thái như: tìm kiếm đệ quy, mô hình hệ sinh, kiến trúc bảng đen, … cùng với các bài toán minh họa cho từng giải thuật rất cụ thể. Trong chương VI tiếp theo, chúng ta sẽ thảo luận việc giải quyết vấn đề tri thức chuyên sâu mà điển hình là thiết kế các hệ chuyên gia.

IV BÀI TẬP CHƯƠNG V

V.1. Trước tình hình dịch cúm gà gần đây, Bộ y tế có đưa ra một số hướng dẫn về thực phẩm an toàn (safe) dưới dạng một tập hợp biểu thức vị từ như sau:

R1. vegetable(X) ∨ fruit(X) ⇒ safe(X) R2. beef(X) ∨ porc(X) ∨ lamb(X) ⇒ meat(X) R3. meat(X) ∧ low_fat(X) ⇒ low_risk(X) R4. contains_fat(X,Y) ∧ (Y<20%) ⇒ low_fat(X) R5. certified(X) ∨ low_risk(X) ⇒ safe(X)

a) Vẽ đồ thị AND/OR cho biết “thực phẩm an toàn”.

b) Nếu biết lượng chất béo có trong thịt bò (contains_fat) là nhỏ hơn 20%, biểu diễn các bước suy diễn theo hệ sinh – tìm kiếm hướng dữ liệu để chứng tỏ “thịt bò là thực phẩm an toàn”.

Võ Huỳnh Trâm – Trần Ngân Bình 93

Page 150: tong quan ve tri tue nhan tao

Giáo Trình Trí Tuệ Nhân Tạo

V.2. Vẽ đồ thị AND/OR cho các quá trình suy diễn tiến và suy diễn lùi dùng trong hệ tư vấn dưới đây: Hệ tư vấn cho việc chọn hình thức giải trí trong kỳ nghĩ của bạn. Các đề nghị khác nhau mà hệ có thể cung cấp là: ngắm cảnh, trượt tuyết, tắm nắng, bơi lội, lướt ván.

Tập luật suy diễn bao gồm:

R1. IF thích_nắng THEN nghỉ_vùng_biển R2. IF không_thích_nắng AND chơi_thể thao THEN nghỉ_vùng_núi R3. IF không_thích_nắng AND không_chơi_thể thao THEN ngắm_cảnh R4. IF nghỉ_vùng_núi AND ngân_sách_nhỏ THEN ngắm_cảnh R5. IF nghỉ_vùng_núi AND ngân_sách_không_nhỏ THEN trượt_tuyết R6. IF nghỉ_vùng_biển AND không_chơi_thể thao THEN tắm_nắng R7. IF nghỉ_vùng_biển AND chơi_thể thao AND ngân_sách nhỏ THEN bơi_lội R8. IF nghỉ_vùng_biển AND chơi_thể thao AND ngân_sách_không_nhỏ THEN lướt_ván

1) Suy diễn tiến dùng dữ liệu: Nam, rất thích chơi thể thao, không thích ánh nắng và có ngân sách không nhỏ.

2) Suy diễn lùi và trả lời các câu hỏi phát sinh từ hệ thống trên dữ liệu sau: Hoa, rất thích chơi thể thao, thích ánh nắng mặt trời và chỉ có ngân sách nhỏ.

94 Võ Huỳnh Trâm – Trần Ngân Bình

Page 151: tong quan ve tri tue nhan tao

Võ Huỳnh Trâm – Trần Ngân Bình

95

Chương V................................................................................................................................79 ĐIỀU KHIỂN VÀ CÀI ĐẶT TÌM KIẾM TRONG KHÔNG GIAN TRẠNG THÁI.......79

I. TÌM KIẾM DỰA TRÊN CƠ SỞ ĐỆ QUI.................................................................80 I.1. Tìm kiếm đệ quy ...............................................................................................80 I.2. Tìm kiếm hướng mẫu (Pattern – directed search) .............................................81

II. HỆ THỐNG LUẬT SINH (HỆ SINH – PRODUCTION SYSTEM) .......................83 II.1. Định nghĩa hệ sinh ............................................................................................83 II.2. Một số ví dụ về hệ sinh .....................................................................................85 II.3. Điều khiển tìm kiếm trong các hệ sinh..............................................................87 II.4. Những ưu điểm của hệ sinh dùng cho trí tuệ nhân tạo......................................90

III. KIẾN TRÚC BẢNG ĐEN (BLACKBOARD ARCHITECTURE) ......................91 BÀI TẬP CHƯƠNG V ............................................................................................93

Page 152: tong quan ve tri tue nhan tao

_________________________________________________Chương 5 Các chuẩn giao tiếp V - 1

CHƯƠNG 5

các chuẩn giao tiếp

GIAO TIẾP DÙNG DÒNG ĐIỆN VÒNG 20 mA CHUẨN GIAO TIẾP RS232D

Đăc tính cơ Đặc tính điện

Chức năng CHUẨN GIAO TIẾP RS449, 422A & 423A

_______________________________________________________________________________

Vấn đề kết nối các thiết bị truyền thông sẽ trở nên hỗn loạn một khi có rất nhiều thiết bị của nhiều hãng sản xuất khác nhau được phép kết nối vào hệ thống thông tin quốc gia. Thấy trước điều đó, Hiệp Hội Kỹ Nghệ Điện Tử (EIA) đã cho ra đời các chuẩn giao tiếp để chuẩn hóa việc kết nối các thiết bị nói trên. Khi máy tính (DTE) và các thiết bị truyền dữ liệu (DCE) khác được đặt trong cùng một tòa nhà, chúng có thể được nối với nhau một cách kinh tế bằng những dây truyền hoặc những mạch giao tiếp nối tiếp hoạt động ở băng tần cơ bản (dải nền). Trong trường hợp trở kháng ra và tín hiệu TTL của UART không thích hợp để phát trực tiếp lên đường dây, ta phải dùng mạch kích phát và thu, những mạch này cho phép sử dụng các mức điện áp hoặc dòng điện lớn hơn tiêu chuẩn của IC số. Chương này sẽ bàn đến một số chuẩn giao tiếp của EIA thỏa mãn các giao thức tầng 1, tức các tiêu chuẩn liên hệ đến tính năng vật lý của đường truyền, các đặc tính điện của tín hiệu và cách sử dụng các bộ kết nối và các chân ra. 5.1 Giao tiếp dùng dòng điện vòng 20 mA Dòng điện vòng đầu tiên được dùng để truyền tín hiệu nhị phân bất đồng bộ giữa máy tính và máy viễn ấn (teleprinter, TTY). Trong cách truyền này, mức 1 được biểu thị bởi dòng điện vòng 20 mA và mức 0 bởi dòng điện 0 mA. Như vậy thông tin được truyền đi chính là sự tắt mở của dòng điện. Hệ thống là một vòng kín gồm một nguồn dòng tạo ra dòng điện không đổi 20 mA, bộ phận đóng ngắt (current switch) được đặt ở máy phát và bộ phận dò ra dòng điện này (current detect) ở máy thu. Khi hệ thống không có tín hiệu để truyền, người ta giám sát sự liên tục của hệ thống dựa vào sự hiện hữu của dòng điện 20 mA này. Đây chính là lý do tại sao trong các hệ thống sau này người ta đưa bit 1 lên đường truyền khi hệ thống nghỉ. (H 5.1) là một hệ thống dùng dòng điện vòng với bộ phận đóng ngắt là các relay.

Ở phần phát, giả sử dữ liệu đến từ ngã TxD của UART là bit 1, transistor dẫn làm đóng relay phát, dòng điện 20 mA chạy qua phần thu và đóng relay thu, đưa ngã ra lên cao (sau khi qua cổng đảo), tín hiệu này được truyền đến UART trên đường RxD. Nếu tín hiệu phát là bit 0 trên đường TxD, do không có dòng điện chạy qua, các relay phát và thu đều hở , ta được bit 0 trên đường RxD.

_________________________________________________________________________________________________________________ Nguyễn Trung Lập Truyền dữ liệu

Page 153: tong quan ve tri tue nhan tao

_________________________________________________Chương 5 Các chuẩn giao tiếp V - 2

(H 5.1)

Điều kiện hoạt động hữu hiệu của hệ thống dùng dòng điện vòng là phải có một sự

cách ly tốt giữa dòng điện vòng và mạch thu. Ngoài ra để bảo đảm giá trị của nguồn dòng không bị ánh hưởng bởi đường dây trở kháng ra của máy phát phải rất lớn so với trở kháng đường dây. Ngày nay, ghép nối quang thường được sử dụng như là một phương tiện cách ly rất tốt. Sự tắt mở của dòng điện được biến thành sự tắt mở của chùm tia sáng được dò ra bởi transistor quang. (H 5.2) mô tả một hệ thống dùng dòng điện vòng ghép nối quang.

(H 5.2)

Ở phần phát, giả sử dữ liệu đến từ ngã TxD của UART là bit 1, các transistor dẫn, dòng điện 20 mA chạy qua phần thu làm led phát sáng, transistor ghép quang dẫn đưa ngã ra lên cao (sau khi qua cổng đảo), tín hiệu này được truyền đến UART trên đường RxD. Nếu tín hiệu phát là bit 0 trên đường TxD, do không có dòng điện chạy qua, led không phát sáng, transistor ghép quang ngưng ta được bit 0 trên đường RxD.

Hệ thống dùng dòng điện vòng chỉ sử dụng cho khoảng cách nhỏ hơn 500m. Để

truyền khoảng cách xa hơn 500m, người ta dùng modem mà chúng ta sẽ bàn đến trong một chương khác. 5.2 CHUẩN GIAO TIếP RS-232D (EIA 530) Chuẩn giao tiếp RS-232 của EIA được phát hành lần đầu tiên vào năm 1962, đến năm 1969 ra đời thế hệ thứ 3 là chuẩn RS-232C, hiện thời cũng còn được dùng rộng rãi và năm 1987 RS-232D xuất hiện. RS-232D có thể xem là cải tiến của RS-232C, có hai điểm khác biệt giữa hai chuẩn này là - RS-232D xác định nối cáp riêng biệt cho nó trong khi RS-232C thì có thể dùng nhiều loại đầu nối khác nhau (trong thực tế RS-232C đã sử dụng nối cáp mà hiện nay là chuẩn của RS-232D) - RS-232D có thêm 3 mạch để thực hiện tác vụ test mà RS-232C không có.

_________________________________________________________________________________________________________________ Nguyễn Trung Lập Truyền dữ liệu

Page 154: tong quan ve tri tue nhan tao

_________________________________________________Chương 5 Các chuẩn giao tiếp V - 3

RS-232D được sử dụng rộng rãi cho các chức năng kết nối, đặc biệt trong các kết nối giữa các thiết bị DTE và các modem âm tần (voice grade modem) để dùng trong hệ thống viễn thông công cộng. Dưới đây là các đặc tính quan trọng của RS-232D :

5.2.1 Đặc tính cơ Đặc tính cơ liên hệ đến kết nối vật lý giữa DTE và DCE. Đây là qui định về dây và đầu nối. Đối với RS-232D đầu nối là loại DB-25, được mô tả ở (H 5.3).

(H 5.3) 5.2.2 Đặc tính điện Đặc tính điện xác định tín hiệu giữa DTE và DCE. Tín hiệu số được dùng trong mọi trao đổi. Mức điện áp logic của RS-232D nằm trong khoảng ±15V.

* Các đường dữ liệu sử dụng logic âm: logic 1 tương ứng với điện áp trong khoảng (-5V , -15V); logic 0 chiếm khoảng (+5V, +15V). * Các đường điều khiển sử dụng logic dương: từ +5V đến +15V tương ứng với điều kiện ON (hay TRUE) và từ -5V đến -15V tương ứng với điều kiện OFF (hay FALSE)

Ở chuẩn giao tiếp này, mức nhiễu được giới hạn là 2V. Do đó ngưỡng nhỏ nhất của ngã vào là ± 3V. Điện áp lớn nhất trên đường dây khi không tải là ± 25V. Một số đặc điểm về điện khác : * Điện trở tải RL có giá trị trong khoảng từ 3 kΩ đến 7 kΩ * Điện dung tải CL không quá 2500 pF * Để ngăn chận sự dao động, tốc độ thay đổi điện áp (slew rate) không được vượt quá 30V/µs * Thời gian chuyển mức tín hiệu từ ON sang OFF hay ngược lại:

- Đối với các đường điều khiển, không được vượt quá 1ms. - Đối với các đường dữ liệu không được vượt quá 4% thời gian của một bit

hoặc 1ms. * Tốc độ truyền dữ liệu là 20 kbps và không quá 15m.

5.2.3 Chức năng Tóm tắt chức năng của RS-232D cho ở bảng 5.1 . Những mạch trao đổi nhóm thành các loại:

- Dữ liệu - Điều khiển - Định thời và - Đất. RS-232D có có thể truyền song công hoặc bán song công. Khi đề cập tới chức năng của RS-232 nói chung, chúng ta không phân biệt giữa chân, đường dây và tín hiệu vì một chân luôn luôn nối với một đường dây và chỉ sử dụng cho loại tín hiệu duy nhất. Có 14 đường điều khiển: 8 đường đầu tiên trong bảng liên hệ đến việc truyền dữ liệu của kênh sơ cấp, 6 trong các đường này được dùng để truyền bất đồng bộ (CA, CB, CC, CD, CE, CF). Để truyền đồng bộ ngoài 6 đường này ta thêm vào 2 đường điều khiển (CG,CH).

Bảng 5.1 Các tín hiệu của RS 232D pin/nhản Tên Chiều truyền Tên khác và viết tắt

_________________________________________________________________________________________________________________ Nguyễn Trung Lập Truyền dữ liệu

Page 155: tong quan ve tri tue nhan tao

_________________________________________________Chương 5 Các chuẩn giao tiếp V - 4

2/BA 3/BB 14/SBA 16/SBB 4/CA 5/CB 6/CC 20/CD 22/CE 8/CF 21/CG 23/CH 19/SCA 13/SCB 12/SCF 21/RL 18/LL 25/TM 15/DB 24/DA 17/DD 7/AB 1

Tín hiệu dữ liệu Transmitted Data Received Data Secondary trans. Data Secondary Rece. Data Tín hiệu điều khiển Request to send Clear to send DCE Ready DTE Ready Ring Indicator Received Line Signal Detector Signal quality Detector Data Signal rate select Secondary Request to send Secondary clear to send Secondary RLSD Remote loop back 1Local loop back 2Test mode 3Timing signals Transmission Sig.Ele. timing Transmit Sig. Ele. timing Receiver Sig. Element timing Ground/Shield Signal Ground Protect Ground

DTE → DCE DCE → DTE DTE → DCE DCE → DTE

DTE → DCE DCE → DTE DCE → DTE DTE → DCE DCE → DTE DCE → DTE DCE → DTE DTE → DCE DTE → DCE DCE → DTE DCE → DTE DTE → DCE DTE → DCE DCE → DTE

DCE → DTE DTE → DCE DCE → DTE

N/A N/A

Send data (TD,SD) (RD) New Synch (NS) Divided Clock Transmit (DCT) (RS,RTS) (CS, CTS) Data set Ready, Modem Ready (DSR) Data Terminal Ready (DTR) (RI) (RLSD, Carrier on detect, COD) (SQ) (SS) Local mode (LM)-Asynch. modem Serial clock transmit (SCT) Serial clock transmit External (SCTE) Serial clock Receive (SCR) Common Return Shield

Ghi chú:

(1) Trong RS 232C là mạch CG . (2), (3) không có trong RS 232C

Dưới đây là chức năng của các tín hiệu (chân, đường dây) @ Nhóm dữ liệu: - Transmitted Data (2): Dữ liệu nối tiếp phát bởi DTE tới DCE trên đường dây này.

Dữ liệu được lấy mẫu khi có sự chuyển trạng thái từ ON xuống OFF của dường dây Transmitter Signal Element Timing (15). Dữ liệu chỉ được phát khi các chân RTS, CTS và DSR ở trạng thái ON.

- Received Data (3) : Dữ liệu đã giải điều chế gửi từ DCE (modem) tới DTE. Nếu không có tín hiệu đến (RLSD OFF) , tín hiệu mark được tạo ra bên trong modem sẽ được gửi lên đường dây này.

- Secondary Transmitted Data(14): Giống pin 2 nhưng dành cho kênh thứ cấp. - Secondary Received Data (16): Giống pin 3 nhưng dành cho kênh thứ cấp. @ Nhóm tín hiệu điều khiển: - Request To Send (4): DTE yêu cầu phát * Khi vận hành theo chế độ ngắt sóng mang (switched carrier operation), điều kiện

ON của mạch này báo cho DCE phát biết là DTE muốn phát dữ liệu. * Khi vận hành theo chế độ sóng mang liên tục (contiuous carrier operation), do sóng

mang được phát liên tục nên điều kiện ON của mạch này có tác dụng tạo thời trễ (đã được chọn trước) giữa RTS và CTS.

- Clear To Send (5): DCE gần báo cho DTE là nó sẵn sàng truyền tín hiệu * Khi vận hành theo chế độ ngắt sóng mang, mạch này lên ON 48,5 ms sau khi

modem nhận tín hiệu RTS (đây là thời gian máy thu dùng để kiểm tra (training) chuỗi dữ liệu) và có nghĩa là DCE sẵn sàng truyền tín hiệu.

_________________________________________________________________________________________________________________ Nguyễn Trung Lập Truyền dữ liệu

Page 156: tong quan ve tri tue nhan tao

_________________________________________________Chương 5 Các chuẩn giao tiếp V - 5

* Khi vận hành theo chế độ sóng mang liên tục, modem sẽ đưa đường dây này lên ON sau một thời trễ xác định kể từ lúc nhận được tín hiệu RTS.

- DCE Ready (6): DCE gần báo cho DTE là nó sẵn sàng phát và thu tín hiệu, nó không ở chế độ TEST. Trạng thái ON của đường dây không có nghĩa là một kênh truyền tin đã được thiết lập với đài xa.

- DTE Ready (20): DTE sẵn sàng vận hành. - Ring Indicator (22): DCE báo cho DTE gần là nó đã nhận được tín hiệu chuông. - Received Line Signal Detector (8): Chân này lên ON 45 ms sau khi DCE nhận tín

hiệu sóng mang (hay 41 ms sau khi chân SQ (signal quality detect) lên ON), trong khoảng thời gian này modem thu kiểm tra (training) chuỗi dữ liệu tới và điều chỉnh mạch điều hợp cân bằng (adaptive equalizer) đồng thời đi vào chế độ đồng bộ với sóng mang thu. Mạch này phải lên ON trước khi dữ liệu có thể nhận được bởi mạch RD.

- Signal Quality Detector (21): Mạch này báo có nhận được sóng mang hay không. Mạch lên ON khi nhận được sóng mang liên tục trong 4 ms hay lâu hơn và OFF sau khi mất sóng mang 2ms. Với các modem thế hệ mới, mạch này còn có chức năng báo khi tín hiệu nhận được xấu dưới một ngưỡng nào đó để hệ thống có thể thay đổi vận tốc truyền cho phù hợp.

- Data Signal Rate Select (23): Được yêu cầu khi thay đổi vận tốc truyền. Hoặc DTE hoặc DCE có trách nhiệm chọn vận tốc.

- Secondary Request To Send (19): Giống pin 4 nhưng dành cho kênh thứ cấp. - Secondary Clear To Send (13): Giống pin 5 nhưng dành cho kênh thứ cấp. - Secondary RLSD (12): Giống pin 8 nhưng dành cho kênh thứ cấp. @ Nhóm tín hiệu định thời dùng trong chế độ đồng bộ: - Transmission Signal Element Timing (15): Mạch này cung cấp tín hiệu thời gian

(từ dao động nội trong modem) cho việc phát dữ liệu từ DTE tới modem. Dữ liệu gửi tới modem khi có sự chuyển trạng thái từ OFF sang ON của đường dây này và được lấy mẫu bởi modem khi trạng thái chuyển từ ON sang OFF. Tín hiệu trên đường dây này được tạo ra bởi dao động nội trong modem.

- Transmit Signal Element Timing (24): Modem nhận tín hiệu thời gian từ bên ngoài, cấp bởi DTE (Đồng bộ từ bên ngoài). Dữ liệu ra trên mạch TD vẫn được kiểm soát bởi tín hiệu từ modem trên pin 15.

- Receiver Signal Element Timing (17): Tín hiệu định thời cho DTE thu. Sự chuyển trạng thái từ ON sang OFF đánh dấu điểm giữa của tín hiệu trên mạch RD

@ Nhóm tín hiệu đất: - Signal Ground (7): Thiết lập mass chung, điểm tham khảo cho các điện thế đường

dây. - Protect Ground (1): Nối với sườn máy và mass bên ngoài (DCE hoặc DTE chứ

không cả hai). Cách ly với Signal Ground bởi điện trở 100Ω bên trong. - Pin 9 & 10 dự phòng cho Data set testing.

- Pin 11 không sử dụng cho chuẩn EIA nhưng có thể sử dụng với tên Equalizer Mode (EM): khi chân RLSD ON và chân (11) này OFF có nghĩa là tín hiệu nhận được xấu (xác suất lỗi lớn), modem sẽ retrain tín hiệu tới và nếu chân này ON thì tín hiệu nhận được tốt. Tín hiệu chân này dùng điều khiển mạch adaptive equalizer trong modem. - Pin 14 (New Synch): không sử dụng cho chuẩn EIA. Mạch này được dùng cho DCE ở trạm sơ cấp trong hệ thống nhiều điểm. Trong hệ thống này sự đồng bộ của máy thu (sơ cấp) với nhiều máy phát thứ cấp cần được thực hiện nhanh. Thường máy thu hay duy trì thông tin về thời gian của bản tin sau khi bản tin đã chấm dứt, điều này ảnh hưởng đến sự đồng bộ khi nhận bản tin kế tiếp. Trạng thái ON được câp vào chân này bởi DTE trong khoảng thời gian 1 ms nhưng không dài hơn khoảng cách hai bản tin để loại bỏ thông tin về thời gian trước khi nhận bản tin của trạm thứ cấp khác.

_________________________________________________________________________________________________________________

Nguyễn Trung Lập Truyền dữ liệu

Page 157: tong quan ve tri tue nhan tao

_________________________________________________Chương 5 Các chuẩn giao tiếp V - 6

@ Nhóm tín hiệu điều khiển liên hệ đến việc test vòng. Những mạch này cho phép DTE lệnh cho DCE thực hiện việc test vòng (H 5.4). Những mạch này chỉ có giá trị khi các modem hay các DCE khác có mạch test vòng , đây là một tính chất mà hầu hết các modem hiện nay đều có.

- Remote Loop Back (21): Thiết lập DCE xa cho vòng kiểm tra - Local Loop Back (18): Thiết lập DCE cho vòng kiểm tra từ DTE - Test Mode (25): Chỉ DCE gần đang ở điều kiện kiểm tra

* Thực hiện test vòng: - Để kiểm tra vòng nội bộ, ngã ra của modem máy phát nối với ngã vào của modem

máy thu, ngắt modem khỏi đường phát. Một dòng dữ liệu phát sinh bởi thiết bị của người sử dụng (vd máy tính) được gửi tới modem và vòng trở về thiết bị của người sử dụng (H 5.4a).

- Để kiểm tra từ xa, modem gần được nối với đường truyền bình thường, modem xa ngắt khỏi DTE, ngã ra của bộ phận phát của modem xa nối vào ngã vào của bộ phận thu của modem này và ngã ra của bộ phận thu ở modem xa nối vào ngã vào của bộ phận thu của modem gần để hình thành một vòng kiểm tra (H 5.4b).

DTE

→ ⎯

Transmitter Receiver

DTE ⎯ ←

→ ⎯

Transmitter Receiver

Receiver

Transmitter

⎯←

(a) (H 5.4) (b)

Bảng 5.2 cho biết cách thiết lập các mạch liên hệ đến vòng kiểm tra Bảng 5.2 Loopback Circuit Settings for RS-232D

Local loopback Remote Loopback Circuit Condition Circuit Local Interface Remote Interface DCE Ready Local Loopback Remote Loopback Test Mode

ON ON OFF ON

DCE Ready Local Loopback RemoteLoopback Test Mode

ON OFF ON ON

OFF OFF OFF ON

Dưới đây là vài thí dụ cho thấy việc thực hiện một tác vụ cụ thể

1.- Thủ tục bắt tay truyền bán song công giữa hai điểm : (H 5.5) cho thấy các đường dữ liệu và các đường điều khiển được nối với nhau như thế nào để thực hiện một tác vụ truyền bất đồng bộ bán song công giữa một Terminal (DTE) và một máy tính (DTE), có sử dụng modem (DCE). Kết nối giữa các DTE và DCE dĩ nhiên là các chuẩn RS-232.

Modem của máy tính vận hành theo chế độ ngắt sóng mang. Giả sử máy tính muốn phát tín hiệu cho Terminal.

Hai đường điều khiển DSR và DTR đều ở ON.

_________________________________________________________________________________________________________________ Nguyễn Trung Lập Truyền dữ liệu

Page 158: tong quan ve tri tue nhan tao

_________________________________________________Chương 5 Các chuẩn giao tiếp V - 7

(H 5.5)

Trước nhất máy tính mở ON chân RTS để yêu cầu phát, khi Modem gần dò ra tín hiệu này nó bắt đầu phát sóng mang tới Terminal. Ở phía Terminal, 4 ms sau khi nhận được sóng mang, chân SQ được đưa lên ON để hiệu lực hóa sự thu tín hiệu này và modem Terminal (xa) bắt đầu kiểm tra (training) trên sóng mang này, sau khi training xong (41 ms) chân RLSD (CD) lên ON. Trong lúc đó ở máy tính, 48 ms sau khi nhận tín hiệu RTS, modem máy tính mở ON chân CTS để báo cho máy tính rằng nó bắt đầu phát dữ liệu, lúc này máy tính bắt đầu phát dữ liệu ra đường truyền TD đến điều chế sóng mang ở modem và tín hiệu cuối cùng được phát đi trên đường dây điện thoại. Ở bộ phận thu, modem Terminal giải điều chế sóng mang tới, biến đổi trở lại thành tín hiệu số dạng nối tiếp và gửi tín hiệu này tới Terminal để giải mã. Khi máy tính hoàn tất việc phát dữ liệu nó đưa chân RTS xuống OFF. Khi modem của máy tính dò ra tín hiệu này nó đưa chân CTS xuống OFF và ngưng phát sóng mang. Ở bộ phận thu, 2 ms sau khi mất sóng mang, chân SQ xuống OFF và chân RLSD xuống OFF theo sau tức thời. Bộ phận tạo tín hiệu mark trong modem Terminal tạo ra chuỗi tín hiệu mark trên đường RD đưa Terminal vào trạng thái nghỉ. Lưu ý là sự giải điều chế ở máy thu không xảy ra tức thời nên các bit cuối cùng phát bởi máy tính có thể sẽ bị mất, để tránh điều này, người ta dùng 2 ms trễ từ khi mất sóng mang cho đến khi chân RLSD xuống OFF. - Mặc dù chuẩn RS-232 được dùng để kết nối giữa modem và thiết bị đầu cuối nhưng đôi khi nó cũng được sử dụng để nối hai đầu cuối với nhau, hoặc một máy tính và một máy in mà không sử dụng các modem. Trong những trường hợp như vậy, các đường TD và RD phải được nối chéo nhau và các đường điều khiển cần thiết phải ở TRUE hoặc phải được tráo đổi thích hợp bên trong cáp nối. Sự nôi cáp của RS-232 mà có sự tráo đổi đường dây gọi là modem rỗng (null modem). Sơ đồ kết nối mẫu cho ở (H 5.6)

(H 5.6)

2.- Mô tả hoạt động của một hệ thống thu phát qua giản đồ thời gian của các tín

hiệu trên các chân RS-232D. Hệ thống truyền có một số đặc điểm sau đây: @ Thời trễ RTS/CTS: - 40ms ngắt sóng mang - 20ms thời trễ chọn trước cho vận hành theo chế độ sóng mang liên tục. @ RLSD

_________________________________________________________________________________________________________________ Nguyễn Trung Lập Truyền dữ liệu

Page 159: tong quan ve tri tue nhan tao

_________________________________________________Chương 5 Các chuẩn giao tiếp V - 8

- Lên ON 10 ms sau khi nhận sóng mang tương tự. Để đơn giản, thời gian này bao gồm thời gian SQ

- Xuống OFF 0 ms sau khi mất sóng mang (bao gồm thời gian SQ). @ Trạm sơ cấp vận hành theo chế độ sóng mang liên tục @ Trạm thứ cấp vận hành theo chế độ ngắt sóng mang. @ Trạm sơ cấp sẽ gửi bản tin dài 150 ms cho trạm thứ cấp. @ Thời trễ truyền (từ modem sơ cấp đến modem thứ cấp và ngược lại) = 30 ms @ Thời gian trả lời trễ của thứ cấp = 100 ms (turnaround time: thời gian từ lúc nhận

được bản tin đến lúc trả lời). Thời gian này bao gồm: - Thời gian nhận bản tin, thực hiện kiểm tra và quyết định nội dung trả lời. - Thời trễ RTS/CTS. @ Trạm thứ cấp trả lời bản tin dài 20 ms. @ Trạm sơ cấp và thứ cấp mở máy ở thời điểm 0 ms. @ Trạm sơ cấp mở RTS ON ở t=20 ms.

Trên giản đồ thời gian do sóng mang phát và thu truyền trên đường dây điện thoại nên không thể hiện trên RS-232. t=0 Trạm sơ cấp mở máy và phát ngay sóng mang (vì vận hành theo chế độ sóng mang

liên tục) t=30 Vì thời trễ truyền là 30 ms nên trạm thứ cấp nhận sóng mang ở thời điểm này. t=40 10 ms sau, RLSD lên ON. Đây là khoảng thời gian dành cho modem thứ cấp dò ra

sóng mang và training nó. t=20 DTE sơ cấp mở RTS ON t=40 20 ms sau DTE nhận tín hiệu CTS ON từ modem gần. DTE sơ cấp bắt đầu phát tín

hiệu. Đường TD lên cao chỉ thời gian dữ liệu được phát, tín hiệu trên đường TD là các bit 1 và 0.

t=70 Do thời trễ truyền, trạm thứ cấp nhận tín hiệu 30 ms sau khi trạm sơ cấp phát. Ý nghĩa mức cao của đường RD giống như TD. Khi không có dữ liệu trên RD thì đường này nhận bit 1 phát từ modem. Để tránh nhầm lẫn, điều này không thể hiện trên giản đồ.

t=190 Trạm sơ cấp hoàn tất việc phát bản tin dài 150 ms, nó đưa RTS xuống OFF. t=220 30 ms sau trạm thứ cấp nhận được mẩu tin cuối cùng

_________________________________________________________________________________________________________________ Nguyễn Trung Lập Truyền dữ liệu

Page 160: tong quan ve tri tue nhan tao

_________________________________________________Chương 5 Các chuẩn giao tiếp V - 9

(H 5.7)

t=320 100 ms dành cho trạm thứ cấp turnaround. Tại thời điểm này trạm thứ cấp mở RTS ON để phát ngay sóng mang cho trạm sơ cấp.

t=350 Modem sơ cấp nhận được sóng mang thứ cấp sau thời trễ truyền . t=360 Sau 10 ms để dò và training sóng mang, trạm thứ cấp mở RLSD ON. 40 ms sau khi

modem thứ cấp nhận RTS ON từ DTE thứ cấp, nó mở CTS ON và DTE thứ cấp bắt đầu phát dữ liệu

t=390 30 ms sau trạm khi thứ cấp phát dữ liệu, trạm sơ cấp bắt đầu nhận dữ liệu. t=380 Trạm thứ cấp hoàn tất việc phát dữ liệu và đưa RTS xuống OFF. Modem đưa CTS

xuống OFF theo và ngưng phát sóng mang. Lưu ý là trạm sơ cấp vẫn phát sóng mang liên tục.

t=410 30 ms sau khi trạm thứ cấp ngưng phát, trạm sơ cấp nhận mẩu tin cuối cùng, modem sơ cấp đưa RLSD xuống OFF ngay tức khắc vì không có thời trễ cho tín hiệu này. Trong giao thức Bisynch bản tin luôn kết thúc bởi đuôi FFH, thời gian này đủ để modem giải điều chế mẩu tin cuối cùng và gửi nó lên đường RD trước khi RLSD OFF. Một điều cần lưu ý nữa là hệ thống nói trên là hệ nhiều điểm và vì trạm sơ cấp vận

hành với chế độ sóng mang liên tục nên tất cả các modem thứ cấp phải liên tục kiểm tra sóng mang này. Chỉ một trạm thứ cấp có thể phát cho trạm sơ cấp ở một thời điểm và tần số sóng mang của chúng có thể khác nhau vì vậy các trạm thứ cấp phải vận hành theo chế độ ngắt _________________________________________________________________________________________________________________ Nguyễn Trung Lập Truyền dữ liệu

Page 161: tong quan ve tri tue nhan tao

_________________________________________________Chương 5 Các chuẩn giao tiếp V - 10

sóng mang. Modem sơ cấp phải có khả năng đồng bộ nhanh với các sóng mang thứ cấp, điều này cần tín hiệu New Synch từ DTE cấp cho modem.

5.2.4 Các IC kích phát và thu của RS-232D

Nhờ tính phổ biến của họ kết nối RS-232, người ta đã chế tạo các IC kích phát và thu cho các chuẩn giao tiếp này, đó là các IC kích phát MC 1488 và IC thu MC1489. (H 5.8) cho thấy một port RS-232C được kết nối với ACIA 6850 sử dụng MC 1488 và MC 1489 Mỗi IC kích phát MC1488 nhận một tín hiệu mức TTL và chuyển thành tín hiệu ngã ra tương thích với mức điện áp của RS-232. IC thu MC1489 phát hiện các mức vào của RS-232 và chuyển chúng thành các ngã ra có mức TTL

(H 5.8) 5.3 CÁC CHUẨN GIAO TIẾP RS-449, RS-422A & RS-423A CỦA EIA Chuẩn giao tiếp họ RS-232 có nhiều hạn chế :

- Tốc độ tín hiệu tối đa là 20 kbps và khoảng cách truyền tối đa là 15m - Do sử dụng trong điều kiện không cân bằng, khả năng loại trừ nhiễu không cao. - Các điện áp của RS-232 quá cao đối với các ngã vào/ra của IC hiện nay - Trong nhiều ứng dụng cần thiết phải có thêm các đường dây nối giữa các modem với

DTE để kiểm tra từ xa Vào năm 1977, EIA đưa ra chuẩn giao tiếp mới để khắc phục nhược điểm của RS-232, đó là RS-449.

5.3.1 Chuẩn giao tiếp RS-449 Chuẩn giao tiếp RS-449 sử dụng nối cáp 37 chân, có nhiều chức năng hơn, có cải thiện về tốc độ truyền và khoảng cách. 37 đường cơ bản gồm tất cả chức năng đã có trong RS-232C và có thêm 10 đường mới được giới thiệu trong bảng 5.3 dưới đây

Bảng 5.3 Tín hiệu của EIA RS-449

EIA Circuit Designation

Pin number

Name

RS-232 equivalent

Circuit Type

_________________________________________________________________________________________________________________ Nguyễn Trung Lập Truyền dữ liệu

Page 162: tong quan ve tri tue nhan tao

_________________________________________________Chương 5 Các chuẩn giao tiếp V - 11

SD RD ST RT TT TR DM RS CS RR IC SG RC SC SHIELD IS LL RL TM SS SB NS SF or SR SI SQ

4,22 6,24 5,23 8,26 17,35 12,30 11,29 7,25 9,27 13,31 15 19 20 37 1 28 10 14 18 32 36 34 16 2 33

Send Data Receive Data Send timing Receive timing Terminal timing Terminal Ready Data Mode Request to Send Clear to Send Receiver Ready Incoming Call Signal GND Receive Common Send Common Shield Terminal in Service Local Loopback Remote Loopback Test Mode Select Standby Standby Indicator New Signal Select Freq. Or Rate Sign.Rate Indicator Sign. Quality

TDATA RDATA DTR DSR RTS CTS CD RI Sig. GND Chas GND

I I I I I I I I I I II II II II I II II II II II II II II II II

- Send Common : Đây là một mass tương tự nối từ DCE trở về DTE khi DTE giữ vai

trò máy phát - Receive Common : Đây là một mass tương tự nối từ DTE trở về DCE khi DTE giữ vai trò máy thu - Terminal In Service : Tín hiệu thiết lập ở DTE sẵn sàng và đang vận hành. Khác với tín hiệu DTR của RS-232 chỉ rằng DTE sẵn sàng (sẵn sàng nhưng không vận hành) - New Signal : Tín hiệu thiết lập bởi DTE khi nó muốn DCE nối liên lạc. Đường này có thể được dùng trong mạng nhiều terminal, trong đó máy tính sẽ hỏi từng terminal. Trước khi terminal trả lời DTE tạo ra tín hiệu mới (new sig.) để báo DCE nối liên lạc - Frequency Selector : cho phép DTE chọn một trong hai dải tần để vận hành - Local Loopback : Đây là mạch dùng kiểm tra vòng nội bộ - Remote Loopback : Đây là mạch dùng kiểm tra từ xa - Mode Test : Tín hiệu tới DTE để báo DTE rằng DCE đang ở trạng thái Test và ngưng liên lạc - Select Standby : Tín hiệu cấp bởi DTE để yêu cầu dùng một đường truyền

- Standby Indicator : báo cho DTE khi hệ thống ở trạng thái chờ.

RS 449 chia ra hai loại mạch: - Loại 1: gồm 10 đường (2 dữ liệu, 3 định thời và 5 mạch khác) - Loại 2: gồm tất cả các đường còn lại Khi vận hành :

- Dưới 20 kbps các mạch loại 1 có thể dùng với kích chuẩn RS 422A hoặc RS 423A - Trên 20 kbps chỉ dùng với kích chuẩn RS 422A Các mạch loại 2 (thường là các mạch chỉ báo trạng thái và dùng kiểm tra) luôn luôn dùng với kích chuẩn RS 423A. Chuẩn giao tiếp RS-449 không được phổ biến vì sử dụng nối cáp 37 chân, không phù hợp với chuẩn RS-232 trước đây sử dụng cáp nối DB-25, do đó vào năm 1987 EIA lại đưa ra 2 chuẩn giao tiếp khác sử dụng cáp nối DB-25, đó là RS-422A (cân bằng) và RS-423A (không cân bằng)

_________________________________________________________________________________________________________________ Nguyễn Trung Lập Truyền dữ liệu

Page 163: tong quan ve tri tue nhan tao

_________________________________________________Chương 5 Các chuẩn giao tiếp V - 12

Sự lựa chọn giữa cân bằng và không cân bằng tùy thuộc vào tốc độ bit. Khi tốc độ truyền vượt quá 20 kbps, hầu hết các mạch đều sử dụng giao tiếp cân bằng.

5.3.2 Chuẩn giao tiếp RS-422A và RS-423A

- RS-422A là một chuẩn giao tiếp cân bằng, ngã vào là các mạch vi sai, tín hiệu được tải trên hai đường dây có logic ngược với nhau, nếu một đường ở logic 1 thì đường kia ở logic 0 và ngược lại, điều này khiến cho giá trị đỉnh-đỉnh của tín hiệu tăng gấp đôi (H 5.9) và khả năng loại nhiễu của đường dây tăng cao.

Khi một trong hai ngã ra là +V thì ngã ra kia là -V, vậy hiệu hai ngã ra 2V hoặc -2V. RS-422A yêu cầu tín hiệu vi sai có biên độ tối thiểu là 2Volt Vận tốc tín hiệu tối đa là 10Mbps khi truyền trên khoảng cách 12m và 100kbps khi truyền trên khoảng cách 1200m

(H 5.9)

Ngoài ra để phục vụ cho các chuẩn RS422A và RS423A, người ta đã chế tạo các IC kích phát và thu chuẩn sau đây:

- MC 3486: giao tiếp thu chuẩn cho RS422A và RS423A - MC3484 & AM 2631: Kích phát chuẩn cho RS422A - MC3488: Kích phát chuẩn cho RS423A

(H 5.10)

- RS-423A là chuẩn giao tiếp không cân bằng, tín hiệu được xác định so với mass,

hiệu thế dương trong khoảng từ 2V đến 6V ứng với logic 0 và hiệu thế âm từ -6V đến -2V ứng với logic 1 Vận tốc tín hiệu tối đa là 100kbps khi truyền trên khoảng cách 90m và 1000bps khi truyền trên khoảng cách 1200m _________________________________________________________________________________________________________________ Nguyễn Trung Lập Truyền dữ liệu

Page 164: tong quan ve tri tue nhan tao

_________________________________________________Chương 5 Các chuẩn giao tiếp V - 13

Một cải tiến của RS-422A và RS-423A là người ta có thể nối nhiều (có thể lên đến 10) máy thu vào một máy phát. (H 5.10) cho ta cách nối giữa DTE và DCE khi sử dụng các chuẩn RS-422A và RS-423A.

_________________________________________________________________________________________________________________ Nguyễn Trung Lập Truyền dữ liệu

Page 165: tong quan ve tri tue nhan tao

Phần III: Giải quyết vấn đề dựa trên tri thức

PHẦN III

GIẢI QUYẾT VẤN ĐỀ DỰA TRÊN TRI THỨC (KNOWLEDGE – BASED

PROBLEM SOLVING) Trong phần II, chúng ta đã khảo sát nhiều bài toán được giải quyết theo tiếp cận xem bài toán TTNT là sự kết hợp của biểu diễn bài toán và giải thuật tìm kiếm một lời giải trong không gian các trạng thái của bài toán. Tiếp cận giải quyết vấn đề này còn được gọi là phương pháp giải quyết vấn đề yếu (weak problem solving methods), vì các phương pháp này chủ yếu là muốn cài đặt một chiến lược tổng quát để giải quyết cho mọi bài toán như chúng ta thấy từ chương 2 đến chương 5, cụ thể là các phương pháp duyệt đồ thị không gian tìm kiếm tổng quát cho mọi bài toán. Các phương pháp này chỉ có thể phân tích hình thức cú pháp của các trạng thái để giải quyết bài toán, chứ chúng không thể sử dụng tri thức lý thuyết hay thực nghiệm về một vấn đề nào đó mà con người đang có. Nhưng thật không may là trong thực tế, không có bất kỳ một chiến lược hay kinh nghiệm (heuristic) nào có thể áp dụng một cách thành công cho tất cả các bài toán. Mà thông thường khi giải quyết một vấn đề trong một lĩnh vực nào đó, thì chúng ta sử dụng rất nhiều tri thức về lĩnh vực đó. Chẳng hạn như các bác sĩ có thể chẩn đoán bệnh cho ta vì bên cạnh khả năng giải quyết vấn đề tổng quát, họ còn có một kiến thức rất rộng về y học. Các kiến trúc sư có thể thiết kế nhà vì họ biết nhiều về kiến trúc. Những phương pháp giải quyết vấn đề thực tế này được gọi là phương pháp giải quyết vấn đề mạnh (strong problem solving methods), vì chúng sử dụng các tri thức tường minh về lĩnh vực của vấn đề. Trong chương 6 chúng ta sẽ thảo luận về các hệ thống dựa trên luật (rule – based systems) và xem xét các vấn đề liên quan đến việc thu thập, định dạng và sửa lỗi cho một cơ sở tri thức. Bên cạnh suy luận dựa trên luật, chương này cũng trình bày hai tiếp cận suy luận dựa trên tri thức khác đó là suy luận dựa trên mô hình (model – based reasoning) và suy luận dựa trên tình huống (case – based reasoning). Chương 7 sẽ trình bày một số kỹ thuật giải quyết vấn đề suy luận trong các trường hợp có tính mờ và không chắc chắn như luật Bayes, yếu tố chắc chắn Stanford (Stanford Certainty Factor), và suy luận mờ (fuzzy reasoning).

Võ Huỳnh Trâm – Trần Ngân Bình 95

Page 166: tong quan ve tri tue nhan tao

Giáo Trình Trí Tuệ Nhân Tạo

CHƯƠNG VI: HỆ CHUYÊN GIA (EXPERT SYSTEMS - ES)

Nội dung chính : Trong chương này, chúng ta sẽ thảo luận một số phương pháp giải quyết vấn đề tri thức chuyên sâu dựa trên các mô hình hệ chuyên gia (Expert System). Trước hết, các bước trong một quy trình công nghệ tri thức sẽ được trình bày và phân tích cùng với những khó khăn trong quá trình tích lũy tri thức. Nội dung tiếp theo của chương giới thiệu kiến trúc của ba dạng hệ chuyên gia thường được xây dựng: hệ chuyên gia dựa trên luật, hệ chuyên gia dựa trên mô hình và hệ chuyên gia dựa trên tình huống với sự so sánh những ưu điểm và hạn chế trong từng dạng kiến trúc. Mục tiêu cần đạt : Sau chương này, sinh viên cần :

Hiểu hệ chuyên gia (HCG) và các lĩnh vực phù hợp với HCG. Biết quy trình công nghệ tri thức và các khó khăn của quá trình tích lũy tri thức Hiểu kiến trúc, nguyên tắc hoạt động, ưu khuyết điểm của HCG dựa trên luật Biết hệ chuyên gia R1/XCON Biết HCG dựa trên mô hình và HCG dựa trên tình huống.

Kiến thức cơ bản : Cách thức điều khiển cài trong quá trình tìm kiếm theo kiến trúc hệ sinh, phương pháp suy diễn tiến, suy diễn lùi, hệ luật, … Tài liệu tham khảo :

[1] George F. Luger, William A. Stubblefield – Albuquerque – Artificial Intelligence – Wesley Publishing Company, Inc – 1997 (Chapter 6) [2] Bùi Xuân Toại – Trương Gia Việt (Biên dịch) – Trí tuệ nhân tạo – Các cấu trúc và chiến lược giải quyết vấn đề - NXB Thống kê, 2000

[3] Wikipedia – Bách khoa toàn thư mở - Hệ chuyên gia http://en.wikipedia.org/wiki/Expert_system

[4] Hệ chuyên gia http://www.macs.hw.ac.uk/~alison/ai3notes/chapter2_5.html

[5] Hệ chuyên gia MYCIN http://www.cs.cf.ac.uk/Dave/AI1/mycin.html

96 Võ Huỳnh Trâm – Trần Ngân Bình

Page 167: tong quan ve tri tue nhan tao

Chương 6: Hệ chuyên gia

I GIỚI THIỆU:

Trong cuộc sống, sở dĩ các chuyên gia có thể giải quyết vấn đề ở một mức độ cao vì họ có rất nhiều tri thức về lĩnh vực họ hoạt động. Thực tế hiển nhiên và đơn giản này chính là cơ sở nền tảng cho việc thiết kế các máy giải quyết vấn đề dựa trên tri thức mà ta thường gọi là hệ chuyên gia. Một hệ chuyên gia sử dụng tri thức của một lĩnh vực cụ thể để cung cấp việc giải quyết vấn đề với “chất lượng chuyên gia” trong lĩnh vực đó. Thông thường, các nhà thiết kế HCG thu thập tri thức này, bao gồm lý thuyết đến cả các kinh nghiệm, kỹ xảo, phương pháp làm tắt, chiến lược heuristic đã tích lũy được của các chuyên gia con người qua quá trình làm việc của họ trong một lĩnh vực chuyên môn. Từ tri thức này, người ta cố gắng cài đặt chúng vào hệ thống để hệ thống có thể mô phỏng theo cách thức các chuyên gia làm việc. Tuy nhiên, không giống với con người, các chương trình hiện tại không tự học lấy kinh nghiệm: mà tri thức phải được lấy từ con người và mã hóa thành ngôn ngữ hình thức. Đây là nhiệm vụ chính mà các nhà thiết kế HCG phải đương đầu. Do bản chất heuristic và tri thức chuyên sâu của việc giải quyết vấn đề cấp độ chuyên gia, các hệ chuyên gia nói chung:

1. Cung cấp sự kiểm tra đối với các quá trình suy luận của chúng, bằng cách hiển thị các bước trung gian và bằng cách trả lời câu hỏi về quá trình giải.

2. Cho phép sửa đổi dễ dàng, cả khi thêm và xóa các kỹ năng giải quyết vấn đề vào cơ sở tri thức (knowledge based).

3. Suy luận một cách heuristic, sử dụng tri thức (thường là không hoàn hảo) để tìm lời giải hữu ích cho vấn đề.

Người ta đã xây dựng các hệ chuyên gia để giải quyết hàng loạt những vấn đề trong các lĩnh vực như y học, toán học, công nghệ, hóa học, địa chất, khoa học máy tính, kinh doanh, luật pháp, quốc phòng và giáo dục. Các chương trình này đã giải quyết một lớp rộng các loại vấn đề như:

1. Diễn giải (interpretation) – hình thành những kết luận hay mô tả cấp cao từ những tập hợp dữ liệu thô.

2. Dự đoán (prediction) – tiên đoán những hậu quả có thể xảy ra khi cho trước một tình huống.

3. Chẩn đoán (diagnosis) – xác định nguyên nhân của những sự cố trong các tình huống phức tạp dựa trên các triệu chứng có thể quan sát được.

4. Thiết kế (design) – tìm ra cấu hình cho các thành phần hệ thống, đáp ứng được các mục tiêu trong khi vẫn thỏa mãn một tập hợp các ràng buộc về thiết kế.

5. Lập kế hoạch (planning) – tìm ra một chuỗi các hành động để đạt được một tập hợp các mục tiêu, khi được cho trước các điều kiện khởi đầu và những ràng buộc trong thời gian chạy (run-time).

6. Theo dõi (monitoring) – so sánh hành vi quan sát được của hệ thống với hành vi mong đợi.

Võ Huỳnh Trâm – Trần Ngân Bình 97

Page 168: tong quan ve tri tue nhan tao

Giáo Trình Trí Tuệ Nhân Tạo

7. Bắt lỗi và sửa chữa (debuging and repair) – chỉ định và cài đặt những phương pháp chữa trị cho các trục trặc. ướng dẫn (instruction) – phát 8. H hiện và sửa chữa những thiếu sót trong quan

niệm của học viên về một chủ đề lĩnh vực nào đó. 9. Điều khiển (control) – chỉ đạo hành vi của một môi trường phức tạp.

Phần II của chương này chúng ta sẽ khảo sát công nghệ đã giúp cho việc giải quyết vấn đề tri thức chuyên sâu trở nên hiện thực. Phần III sẽ trình bày hệ sản xuất như một kiến trúc phần mềm cơ sở cho việc giải quyết vấn đề dựa trên các luật. Phần IV và V khảo sát các kỹ thuật dùng cho suy luận dựa trên mô hình, và suy luận dựa trên tình huống.

II TỔNG QUAN VỀ CÔNG NGHỆ HỆ CHUYÊN GIA

II.1 Thiết kế của một HCG dựa trên luật: (Rule–Based ES)

Hình 6_1 cho thấy các module quan trọng nhất tạo nên một hệ chuyên gia dựa trên luật. Người dùng tương tác với hệ chuyên gia thông qua một giao diện người dùng (user interface), giao diện này đơn giản hóa việc giao tiếp và che giấu phần lớn sự phức tạp của hệ thống (ví dụ như cấu trúc bên trong của cơ sở các luật). Các hệ chuyên gia sử dụng một số lượng phong phú các kiểu giao diện, bao gồm hỏi và trả lời, điều khiển bởi trình đơn, ngôn ngữ tự nhiên, hay đồ họa,… Việc quyết định sử dụng giao diện như thế nào là sự thỏa hiệp giữa nhu cầu của người dùng với những đòi hỏi của cơ sở tri thức và hệ suy diễn. Trái tim của hệ chuyên gia là cơ sở tri thức tổng quát (general knowledge base), chứa tri thức giải quyết vấn đề của một ứng dụng cụ thể. Trong một hệ chuyên gia dựa trên luật tri thức này được biểu diễn dưới dạng các luật if… then…. Cơ sở tri thức bao gồm tri thức tổng quát (general knowledge) cũng như thông tin của một tình huống cụ thể (case-specific).

Hình 6_1. Kiến trúc của một hệ chuyên gia tiêu biểu.

98 Võ Huỳnh Trâm – Trần Ngân Bình

Page 169: tong quan ve tri tue nhan tao

Chương 6: Hệ chuyên gia

Động cơ suy diễn (inference engine) áp dụng tri thức cho việc giải quyết các bài toán thực tế. Về căn bản nó là một trình thông dịch cho cơ sở tri thức. Trong hệ sinh (production system), động cơ suy diễn thực hiện chu trình điều khiển nhận dạng – hành động (recognize-act control cycle). Việc tách biệt cơ sở tri thức ra khỏi động cơ suy diễn là rất quan trọng vì nhiều lý do:

1. Sự tách biệt của tri thức dùng để giải quyết vấn đề và động cơ suy diễn sẽ tạo điều kiện cho việc biểu diễn tri thức theo một cách tự nhiên hơn. Ví dụ, các luật if…then… gần gũi với cách con người mô tả những kỹ thuật giải quyết vấn đề của họ hơn so với một chương trình đưa luôn tri thức này vào phần mã máy tính cấp thấp.

2. Bởi vì cơ sở tri thức được cách ly khỏi các cấu trúc điều khiển cấp thấp của chương trình, các nhà xây dựng HCG có thể tập trung một cách trực tiếp vào việc nắm bắt và tổ chức GQVĐ hơn là phải thực hiện trên các chi tiết của việc cài đặt vào máy tính.

3. Sự phân chia tri thức và điều khiển cho phép thay đổi một phần cơ sở tri thức mà không tạo ra các hiệu ứng lề trên các phần khác của chương trình.

4. Sự tách biệt này cũng cho phép một phần mềm điều khiển và giao tiếp có thể được sử dụng cho nhiều hệ thống khác nhau. Một trình cốt lõi của HCG (expert system shell) có tất cả các thành phần của hình 61, trừ phần cơ sở tri thức và dữ liệu của tình huống cụ thể. Các nhà lập trình có thể sử dụng “trình cốt lõi rỗng của HCG” và tạo ra một cơ sở tri thức mới thích hợp với ứng dụng của họ. Các đường chấm chấm trong hình 6_1 biểu thị các module của trình cốt lõi.

5. Như đã thảo luận trong chương 5 về hệ sinh, sự module hóa này cho phép chúng ta thử nghiệm nhiều chế độ điều khiển khác nhau trên cùng một cơ sở luật.

Một hệ con giải thích (explanation subsystem) ch phép chương trình giải thích quá trình suy luận của nó cho người dùng. Các giải thích này bao gồm các lập luận biện minh cho các kết luận của hệ thống (trả lời cho câu hỏi how), giải thích vì sao hệ thống cần dữ liệu đó (trả lời cho câu hỏi why),… Nhiều HCG còn bao gồm một trình soạn thảo cơ sở tri thức (knowledge-base editor). Trình soạn thảo này giúp các nhà lập trình xác định và hiệu chỉnh lỗi trong quá trình làm việc của chương trình, thường là bằng cách truy xuất những thông tin cung cấp bởi hệ con giải thích. Chúng cũng có thể hỗ trợ cho việc bổ sung tri thức mới, giúp duy trì cú pháp luật chính xác, và thực hiện các kiểm tra tính nhất quán trên cơ sở tri thức đã cập nhật. Việc sử dụng trình cốt lõi HCG có thể giúp ta giảm đáng kể thời gian thiết kế và cài đặt chương trình. Ví dụ, HCG MYCIN dùng để chẩn đoán bệnh viêm màng não xương sống và nhiễm trùng máu được phát triển trong khoảng 20 năm-người (person-year). EMYCIN (Empty MYCIN) là một trình cốt lõi của MYCIN được tạo ra bằng cách loại bỏ tri thức chuyên ngành khỏi chương trình MYCIN. Sử dụng EMYCIN, các kỹ sư tri thức đã cài đặt PUFF, một chương trình phân tích các vấn đề về phổi cho

Võ Huỳnh Trâm – Trần Ngân Bình 99

Page 170: tong quan ve tri tue nhan tao

Giáo Trình Trí Tuệ Nhân Tạo

các bệnh nhân, trong khoảng 5 năm-người. Đây là một sự tiết kiệm đáng kể và là một khía cạnh quan trọng chứng tỏ sức sống trên phương diện thương mại của công nghệ hệ chuyên gia. Đối với người lập trình, điều quan trọng là phải lựa chọn đúng trình cốt lõi HCG để phát triển một HCG mới. Các bài toán khác nhau đòi hỏi các quá trình lập luận khác nhau: tìm kiếm hướng đích so với tìm kiếm hướng dữ liệu chẳng hạn. Chiến lược điều khiển cung cấp bởi trình cốt lõi cần phải thích hợp với ứng dụng; phương pháp suy luận y học dùng cho ứng dụng PUFF rất giống với phương pháp mà HCG MYCIN sử dụng; điều đó làm cho việc sử dụng trình cốt lõi EMYCIN trở nên thích hợp. Nếu trình cốt lõi có quá trình suy luận không thích hợp, thì việc sử dụng nó có thể là một sai lầm và tệ hơn là bắt đầu từ xây dựng từ đầu.

II.2 Các vấn đề phù hợp để xây dựng HCG

Các HCG thường đòi hỏi sự đầu tư đáng kể về tiền bạc và sức lực con người. Những cố gắng để giải quyết một bài toán quá phức tạp, quá ít hiểu biết, hoặc có những yếu tố không phù hợp khác đối với công nghệ hiện tại có thể dẫn đến những thất bại hao tiền tốn của. Các nhà nghiên cứu đã xây dựng một tập hợp các chỉ dẫn có tính không hình thức cho việc xác định xem khi nào thì một bài toán thích hợp để giải quyết bằng HCG:

1. Sự cần thiết phải có một giải pháp phải biện minh cho chi phí và sức lực của việc xây dựng HCG, vì nếu không đó sẽ là một sự lãng phí. Công ty máy tính DEC đã bỏ ra tiền và công sức để xây dựng HCG XCON để tự động hóa công tác tạo cấu hình cho máy tính. Kết quả, XCON đã giúp công ty tiết kiệm được tài chính và duy trì lòng tin của khách hàng. Tương tự, người ta đã cây dựng nhiều HCG trong các lĩnh vực như khai thác khoáng sản, kinh doanh quốc phòng, và y học, là những nơi tồn tại tiềm năng to lớn cho việc tiết kiệm tiền bạc, thời gian và sinh mạng con người.

2. Hiểu biết chuyên môn của con người không sẵn có ở mọi nơi cần đến nó. Có rất nhiều HCG đã được xây dựng trong ngành y, vì sự chuyên môn và tính phức tạp trongkỹ thuật của y học hiện đại đã khiến cho các bác sĩ gặp nhiều khó khăn trong việc theo kịp những tiến bộ của các phương pháp chẩn đoán và điều trị. Số lượng các chuyên gia đáp ứng được các yêu cầu này rất hiếm và phải trả thù lao cao cho công việc của họ, do đó mà các hệ chuyên gia được nhìn nhận như là một cứu cánh. Nhờ có HCG, các bác sĩ ở địa phương có thể chẩn đoán và điều trị bệnh ở mức độ chuyên gia. Trong ngành địa chất, bằng cách bố trí HCG tại những nơi khai thác, nhiều vấn đề có thể được giải quyết mà không cần các chuyên gia con người phải có mặt. Tương tự, sự lãng phí những kiến thức chuyên môn có giá trị do việc chuyển đổi nhân viên hay những người sắp về hưu có thể biện minh cho việc xây dựng các hệ chuyên gia.

3. Vấn đề có thể được giải quyết bằng cách sử dụng các kỹ thuật suy luận ký hiệu. Những giải pháp vấn đề không nên đòi hỏi sự khéo léo tay chân hay khả năng cảm thụ. Tuy rằng chúng ta đã có những robot và các hệ nhìn, hiện tại chúng vẫn thiếu khả năng tinh tế và linh hoạt của con người. Các hệ chuyên

100 Võ Huỳnh Trâm – Trần Ngân Bình

Page 171: tong quan ve tri tue nhan tao

Chương 6: Hệ chuyên gia

gia chỉ thích hợp với các vấn đề mà con người có thể giải quyết thông qua sự suy luận trên các ký hiệu.

4. Phạm vi xác định vấn đề được cấu trúc tốt và không đòi hỏi sự suy luận theo lẽ thường tình (commonsense reasoning). Mặc dù các hệ chuyên gia đã được xây dựng trong nhiều lĩnh vực đòi hỏi tri thức kỹ thuật chuyên môn hóa, nhiều sự suy luận theo lẽ thường của con người vẫn nằm ngoài khả năng hiện tại của chúng. Các lĩnh vực mang tính kỹ thuật cao có ưu điểm là được hiểu biết và hình thức hóa kỹ lưỡng: các thuật ngữ được định nghĩa đấy đủ và các chủ đề đã có sẵn những mô hình khái niệm rõ ràng và cụ thể.

5. Vấn đề có thể không giải quyết được bằng cách sử dụng các phương pháp tính toán truyền thống. Không nên sử dụng công nghệ HCG để “phát minh lại chiếc bánh xe” (reinvent the wheel). Nếu một bài toán có thể giải quyết một cách thỏa đáng bằng những kỹ thuật truyền thống hơn như các phương pháp số, thống kê, … thì chúng không phải là một cử ứng viên cho việc thiết kế HCG.

6. Có sự hợp tác và hiểu ý nhau giữa các chuyên gia. Tri thức sử dụng bởi các chuyên gia hiếm khi tìm thấy trong các sách giáo khoa mà chỉ có được nhờ kinh nghiệm và sự đánh giá của con người khi làm việc trong lĩnh vực đó. Điều quan trọng là các chuyên gia đó sẵn sàng và có khả năng chia sẻ tri thức. Các chuyên gia có thể sẽ không hợp tác khi họ cảm thấy bị đe dọa bởi hệ thống, sợ rằng hệ thống có thể thay thế họ, hoặc nghĩa rằng đề án không thể thành công, chỉ lãng phí thời gian của họ, khi đó họ sẽ không bỏ ra thời gian và nỗ lực cần thiết. Một điều quan trọng khác là ban quản lý phải hỗ trợ dự án và chi phép các chuyên gia sử dụng thời gian làm việc chính thức của họ để cộng tác với các kỹ sư tri thức.

7. Vấn đề cần giải quyết phải có kích thước và quy mô đúng mức. Vấn đề không được vượt quá khả năng của công nghệ hiện tại. Ví dụ, một chương trình cố gắng nắm bắt mọi hiểu biết chuyên môn của một bác sĩ y khoa sẽ không khả thi trong khi đó một chương trình cố vấn cho các bác sĩ trong việc sử dụng một phần nào đó của thiết bị chẩn đoán sẽ thích hợp hơn. Mặc dù một vấn đề lớn có thể không phù hợp với giải pháp của hệ chuyên gia, ta có thể phân chia nó thành các vấn đề nhỏ hơn, độc lập nhau và phù hợp với HCG. Điều này tương ứng với chiến lược phân rã “top-down” sử dụng trong công nghệ phần mềm truyền thống. Một cách giải quyết khác là ta bắt đầu bằng một chương trình đơn giản có khả năng giải quyết một phần của vấn đề rồi từng bước tăng dần chức năng của nó để xử lý phạm vi lớn hơn của vấn đề. Chiến lược này gọi là “đường kẻ mỏng” (thin line), ám chỉ mục tiêu của nó là tạo ra một khuôn mẫu hy sinh bề rộng của khả năng ứng dụng nhằm ưu tiên việc tạo ra một lời giải đầy đủ cho tập hợp nhỏ các bài toán thử nghiệm. Kỹ thuật này tỏ ra hiệu quả để khám phá các vấn đề phức tạp và chưa được hiểu rõ. Người ta sử dụng thành công kỹ thuật này trong việc tạo ra XCON: ban đầu chương trình được thiết kế chỉ để định cấu hình cho các máy tính VAX 780; sau đó nó được mở rộng để xử lý luôn tất cả các hệ máy VAX và hệ máy PDP-11.

Võ Huỳnh Trâm – Trần Ngân Bình 101

Page 172: tong quan ve tri tue nhan tao

Giáo Trình Trí Tuệ Nhân Tạo

II.3 Qui trình công nghệ tri thức

Những người liên quan chủ yếu trong việc xây dựng một HCG là kỹ sư tri thức (knowledge engineer), chuyên gia (domain expert) và người dùng cuối (end-user). Kỹ sư tri thức là chuyên gia về ngôn ngữ và biểu diễn trong TTNT, với nhiệm vụ chính là chọn các công cụ phần mềm và phần cứng cho đề án, giúp đỡ chuyên gia phát biểu các tri thức cần thiết, và cài đặt các tri thức đó vào một cơ sở tri thức đúng đắn và hiệu quả. Thông thường, kỹ sư tri thức này ban đầu không hiểu biết gì về lĩnh vực ứng dụng. Chuyên gia cung cấp tri thức về lĩnh vực ứng dụng. Thông thường, đây là một người đã từng công tác trong lĩnh vực ứng dụng và hiểu biết những kỹ thuật giải quyết vấn đề của nó, chẳng hạn như các cách làm tắt, xử lý dữ liệu không chính xác, đánh giá những giải pháp cục bộ, và tất cả những kỹ năng khác chứng tỏ anh ta có đẳng cấp của một chuyên gia. Chuyên gia chịu trách nhiệm chính trong việc giải thích rõ những kỹ năng này với kỹ sư tri thức. Trong phần lớn các ứng dụng, người dùng cuối quyết định những ràng buộc thiết kế chính. Chừng nào người dùng đó còn chưa hài lòng, thì còn phải đầu tư sức lực cho việc phát triển chương trình. Những kỹ năng và nhu cầu của người dùng cần phải xem xét trong suốt quá trình thiết kế: chương trình có làm cho công việc của người dùng dễ dàng hơn, nhanh hơn, thuận tiện hơn không? Người dùng cần sự giải thích ở mức độ nào? Môi trường làm việc của người dùng có đặt ra những hạn chế nào đó cho việc sử dụng chương trình? Ví dụ như, một giao diện đòi hỏi việc gõ bàn phím sẽ không phù hợp với thao tác trong khoang lái của một máy bay chiến đấu phản lực. Giống như hầu hết các công việc lập trình trong TTNT, việc xây dựng HCG đòi hỏi một chu trình phát triển theo kiểu không truyền thống dựa trên một bản mẫu được tạo ra ban đầu và việc xem xét lại mã lệnh một cách tăng dần. Phương pháp lập trình này còn gọi là lập trình thăm dò (exploratory programming).

102 Võ Huỳnh Trâm – Trần Ngân Bình

Page 173: tong quan ve tri tue nhan tao

Chương 6: Hệ chuyên gia

Hình 6_2. Chu trình phát triển theo kiểm thăm dò.

Hình 6_2 trình bày một lưu đồ mô tả chu trình phát triển theo kiểu lập trình thăm dò. Nói chung quá trình xây dựng hệ thống bắt đầu với việc kỹ sư tri thức cố gắng làm quen với phạm vi xác định vấn đề (problem domain). Điều này giúp ích cho việc giao tiếp với chuyên gia. Nó được thực hiện bằng những bài phỏng vấn mở đầu với chuyên gia đó, bằng sự quan sát các chuyên gia trong quá trình họ làm việc, hoặc thông qua việc đọc những tài liệu giới thiệu về lĩnh vực chuyên ngành đó. Tiếp theo kỹ sư tri thức và chuyên gia bắt đầu quá trình khai thác những tri thức giải quyết vấn đề của chuyên gia này. Công việc này được thực hiện bằng cách đưa cho chuyên gia một loạt các bài toán ví dụ và yêu cầu anh ta giải thích những kỹ thuật được sử dụng để đạt được lời giải. Trong giai đoạn này, việc sử dụng các băng video hoặc audio là rất quan trọng. Thông thường, sẽ tốt hơn nếu kỹ sư tri thức là một người mới làm quen với lĩnh vực ứng dụng, vì những chuyên gia có thể quên đề cập đến những bước thao tác đã trở thành hiển nhiên hay thậm chí là tự động đối với họ sau nhiều năm công tác trong lĩnh vực đó. Vì vậy, các kỹ sư tri thức không biết gì về lĩnh vực này có thể sẽ phát hiện những bước nhảy cóc này, và do đó sẽ yêu cầu chuyên gia làm sáng tỏ vấn đề. Ngay sau khi kỹ sư đã có được cái nhìn tổng quát về lĩnh vực của vấn đề và đã cùng chuyên gia giải quyết một số bài toán, anh ta sẽ bắt tay vào thiết kế hệ thống: chọn phương pháp biểu diễn tri thức, như luật hay frame chẳng hạn, xác định chiến lược

Võ Huỳnh Trâm – Trần Ngân Bình 103

Page 174: tong quan ve tri tue nhan tao

Giáo Trình Trí Tuệ Nhân Tạo

tìm kiếm, tiến (forward), lùi (backward), theo chiều sâu (depth-first), tốt nhất (best-first),… và thiết kế giao diện người dùng. Sau khi triển khai thiết kế này đến mức có thể hài lòng, kỹ sư tri thức bắt đầu xây dựng một bản mẫu (prototype). Bản mẫu này cần phải có khả năng giải quyết những bài toán trong một phạm vi nhỏ

ương trình như không bao giờ

II.4 Mô hình khái niệm và vai trò của chúng trong việc thu thập tri thức

ó được thường thông qua thực nghiệm. Sau nhiều

2. ow) để đối

3. uan, vì hiểu

4. hông chỉ do các chuyên gia tiếp nhận

của lĩnh vực và cung cấp một nền thử nghiệm cho những xác nhận thiết kế sơ bộ. Ngay sau khi bản mẫu được cài đặt xong, kỹ sư tri thức và chuyên gia sẽ thử nghiệm và cải tiến tri thức của nó bằng cách cho nó giải quyết một số bài toán và hiệu chỉnh những khuyết điểm của nó. Sau mỗi lần như vậy, họ thường có một phiên bản chương trình sáng sủa hơn. Nếu những giả thiết trong quá trình thiết kế bản mẫu tỏ ra là đúng đắn, thì bản mẫu có thể được dùng để xây dựng hệ thống cuối cùng. Tuy nhiên, bản mẫu cũng có thể bị loại bỏ nếu nó trở nên cồng kềnh hoặc các nhà thiết kế quyết định thay đổi phương pháp tiếp cận cơ sở đối với vấn đề. Đặc trưng lớn thứ hai của lập trình HCG là cần xem ch“kết thúc”. Một cơ sở tri thức kiểu heuristic lớn sẽ luôn luôn có những hạn chế của nó, vì tri thức thì luôn đổi mới và vì vậy cần phải được cập nhật.

Trong HCG, tri thức đóng vai trò quyết định cho sự thành công cũng như hiệu quảgiải quyết vấn đề của HCG. Tri thức này có được từ quá trình thu thập tri thức của các chuyên gia, tri thức này thường mơ hồ, không chính xác, và chỉ được phát biểu dài dòng theo từng bộ phận. Người kỹ sư tri thức có nhiệm vụ dịch những hiểu biết không hình thức này sang một ngôn ngữ hình thức thích hợp cho máy tính (xem hình 6_3). Đây là một nhiệm vụ khó khăn, tuy nhiên, khó khăn trước tiên vẫn là việc tích lũy tri thức do nhiều nguyên nhân:

1. Các kỹ năng của con người cnăm thực hành, những kỹ năng này tích hợp chặt chẽ với nhau và hoạt động ở một cấp độ vô thức cao. Vì vậy, sẽ rất khó khăn cho các chuyên gia khi phải mô tả chính xác những gì họ làm trong quá trình giải quyết vấn đề. Tri thức của con người thường nằm ở dạng là “biết làm thế nào” (hphó với tình huống hơn là biết cần phải khắc họa trong óc một cách lý trí xem tình huống ấy là cái gì (what). Một ví dụ dễ thấy về đặc điểm này ở người biểu diễn xe đạp một bánh: trong thực tế, một người biểu diễn thành công không thể cùng lúc giải nhiều phương trình sai phân nhằm giữ thế cân bằng; mà thực ra anh ta chỉ phối hợp có tính trực giác những cảm giác về “trọng lực”, “xung lực” và “quán tính” để tạo thành một thủ tục điều khiển thích hợp. Tri thức của con người không căn cứ theo sự thật, không khách qbiết của con người thể hiện một mô hình của cá nhân hay cộng đồng về thế giới. Những mô hình đó bị ảnh hưởng bởi những tập quán, những quá trình xã hội, và những quá trình tiềm ẩn khác… Tri thức luôn luôn thay đổi. Điều đó kthêm những tri thức mới, mà còn do tri thức đang tồn tại có thể trở thành mục tiêu của những cải cách triệt để.

104 Võ Huỳnh Trâm – Trần Ngân Bình

Page 175: tong quan ve tri tue nhan tao

Chương 6: Hệ chuyên gia

Hệ quả là, công nghệ tri thức là một quá trình khó khăn và cần được xem xét khi kéo dài chu trình sống của bất kỳ HCG nào. Để đơn giản hóa nhiệm vụ này, người ta cài đặt một mô hình khái niệm (conceptual model) nằm giữa hiểu biết chuyên môn của con người với chương trình như trong hình 6_3. Mô hình khái niệm này thể hiện nhận thức của người kỹ sư tri thức về lĩnh vực đó, nó có thể bao gồm các từ điển dữ liệu, các biểu diễn đồ họa của không gian trạng thái và những lời bình đi kèm đều có thể là một phần của mô hình này. Mô hình khái niệm không có tính hình thức hoặc có thể thi hành trực tiếp trên máy tính. Nó chỉ là một cấu trúc thiết kế trung gian, một mô hình mẫu để có thể bắt đầu đưa ra các ràng buộc và mã hóa các kỹ năng của con người. Nếu như kỹ sư tri thức sử dụng mô hình phép tính mệnh đề, thì nó có thể bắt đầu như một tập hợp các mạng đaon giản biểu diễn những trạng thái suy luận của người chuyên gia thông qua các tình huống giải quyết vấn đề điển hình. Chỉ sau khi được cải tiến thêm, mạng này mới trở thành các luật if… then tường minh.

Hình 6_3. Vai trò của mô hình khái niệm trong giải quyết vấn đề.

III HỆ chuyên gia DỰA trên LUẬT (RULE–BASED ES)

Các HCG dựa trên luật biểu diễn tri thức dưới dạng các luật if… then. Cách tiếp cận này thích hợp với kiến trúc ở hình 6_1, và là một trong những kỹ thuật cổ điển và được sử dụng rộng rãi nhất dùng cho biểu diễn tri thức về một lĩnh vực trong HCG. Kiến trúc của HCG này tương tự với mô hình hệ sinh (production system) đã trình bày ở chương 5. Nếu chúng ta xem kiến trúc HCG ở hình 6_1 như một hệ sinh thì cơ sở tri thức là tập hợp các luật sinh (if… then). Dữ liệu cho trường hợp cụ thể được giữ trong bộ nhớ làm việc. Động cơ suy diễn thực hiện chu trình nhận dạng – hành động (recognize-act) của hệ sinh; cơ chế điều khiển này có thể là hường từ dữ liệu hay hướng từ mục tiêu. Việc chọn lựa tiếp cận hướng từ dữ liệu hay hướng từ mục tiêu cũng giống như những thảo luận đã trình bày trong chương 3. Tuy nhiên, đối với một HCG, thì tiếp

Võ Huỳnh Trâm – Trần Ngân Bình 105

Page 176: tong quan ve tri tue nhan tao

Giáo Trình Trí Tuệ Nhân Tạo

cận hướng từ mục tiêu sẽ tạo điều kiện cho quá trình giải thích hơn. Vì trong một hệ hướng từ mục tiêu, việc suy luận theo đuổi một mục tiêu cụ thể nào đó, mục tiêu đó bị chia thành nhiều mục tiêu con và cứ như thế; kết quả là việc tìm kiếm luôn luôn được hướng dẫn thông qua sự phân cấp mục tiêu và mục tiêu con này. Trong khi ở tìm kiếm hướng từ dữ liệu không tồn tại điều này, kết quả là quá trình tìm kiếm thường có vẻ dài dòng và không tập trung. Để có một ví dụ cụ thể hơn về giải quyết vấn đề theo hướng từ mục tiêu, ta xét một HCG nhỏ dùng để chẩn đoán những trục trặc trong xe hơi, gọi tắt là HCG “Chẩn đoán xe hơi”: Luật 1 IF động cơ nhận được xăng AND động cơ khởi động được THEN trục trặc là do bugi. Luật 2 IF động cơ không khởi động được AND đèn không sáng THEN trục trặc là do ắcquy hoặc dây cáp Luật 3 IF động cơ không khởi động được AND đèn sáng THEN trục trặc là do môtơ khởi động Luật 4 IF còn xăng trong bình chứa nhiên liệu AND còn xăng trong bộ chế hòa khí THEN động cơ nhận được xăng Trong chế độ điều khiển hướng từ mục tiêu, đầu tiên mục tiêu cao nhất là “trục trặc là do X” sẽ được đưa vào bộ nhớ làm việc như hình 6_4:

Hình 6_4. Hệ sinh tại thời điểm ban đầu của một lần chẩn đoán.

Có 3 luật đối sánh (match) với biểu thức này trong bộ nhớ làm việc: luật 1, 2 và 3. Nếu ta chọn luật ưu tiên theo số thứ tự của nó, thì luật 1 sẽ được đốt cháy, khi đó X sẽ được gắn kết (bound) với giá trị bugi và những tiền đề (vế trái) của luật 1 được đặt vào bộ nhớ làm việc như hình 6_5.

Hình 6_5. Hệ sinh sau khi luật 1 được đốt cháy.

Động cơ nhận được xăng

Động cơ khởi động được

Trục trặc là do bugi

Bộ nhớ làm việc

Luật 1

Luật 2

Luật 3

Luật 4

Tập luật sinh

Trục trặc là do X

Bộ nhớ làm việc

Luật 1

Luật 2

Luật 3

Luật 4

Tập luật sinh

106 Võ Huỳnh Trâm – Trần Ngân Bình

Page 177: tong quan ve tri tue nhan tao

Chương 6: Hệ chuyên gia

Để chứng minh mục tiêu con là động cơ nhận được xăng thì luật 4 được đốt cháy, và những tiền đề của luật này được đặt vào bộ nhớ làm việc như hình 6_6.

Còn xăng trong bình chứa nhiên liệu

Còn xăng trong bộ chế hòa khí

Động cơ nhận được xăng

Động cơ khởi động được

Trục trặc là do bugi

Bộ nhớ làm việc

Luật 1

Luật 2

Luật 3

Luật 4

Tập luật sinh

Hình 6_6. Hệ sinh sau khi đốt cháy luật 4. Tại thời điểm này, có ba mục trong bộ nhớ làm việc (các mục in nghiêng trong hình 6_6) là không đối sách với bất kỳ kết luận của luật nào. Trong tình huống này, HCG sẽ truy vấn trực tiếp người dùng về những mục tiêu mới này. Nếu người dùng xác nhận cả ba mục tiêu này đều đúng, thì HCG sẽ xác định một cách thành công rằng trục trặc xe là do bugi. Trong quá trình tìm ra lời giải này, hệ thống đã kiểm tra nhánh trái nhất của đồ thị Và/Hoặc trong hình 6_7.

Trục trặc là do X

Luật 1: Trục trặc là do bugi

Luật 2: Trục trặc là do acquy hoặc dây cáp

Luật 3: Trục trặc là do môtơ khởi động

Động cơ nhận được xăng

Động cơ khởi động được

Luật 4: Động cơ nhận được xăng

Còn xăng trong bình xăng Còn xăng trong bộ chế hòa khí

Động cơ không khởi động được

Đèn không sáng

Động cơ không khởi động được

Đèn sáng

Hình 6_7. Đồ thị Và/Hoặc được tìm kiếm trong ví dụ chẩn đoán xe ôtô.

Võ Huỳnh Trâm – Trần Ngân Bình 107

Page 178: tong quan ve tri tue nhan tao

Giáo Trình Trí Tuệ Nhân Tạo

III.1 Khả năng giải thích và tính trong suốt của suy luận hướng từ mục tiêu

Để thấy được khả năng giải thích và tính trong suốt của suy luận hướng từ mục tiêu, ta giả định phiên chẩn đoán đang ở giai đoạn của hình 6_6. Đoạn hội thoại sau đây được bắt đầu bằng việc máy tính yêu cầu người dùng cho biết về các mục tiêu con hiện có trong bộ nhớ làm việc (trả lời của người dùng được gạch dưới):

- còn xăng trong bình chứa nhiên liệu? yes - còn xăng trong bộ chế hòa khí? yes - động cơ khởi động được không? why

Đến đây, người dùng đánh vào câu hỏi why, nghĩa là muốn hỏi, tại sao anh cần biết động cơ có khởi động được hay không? Khi đó hệ thống trả lời

Đã xác định được rằng: 1. động cơ nhận được xăng, Vì vậy nếu 2. động cơ khởi động được , Thì có thể kết luận: trục trặc là do bugi Giả sử người dùng tiếp tục hỏi: động cơ nhận được xăng như thế nào?

Khi đó, hệ thống sẽ trả lời: Điều này có từ luật 4 IF còn xăng trong bình chứa nhiên liệu AND còn xăng trong bộ chế hòa khí THEN động cơ nhận được xăng Người dùng đã cho biết: còn xăng trong bình chứa nhiên liệu Người dùng đã cho biết: còn xăng trong bộ chế hòa khí

Một lần nữa, kiến trúc hệ sinh cho chúng ta một cở sở thiết yếu để có những giải thích này. Mỗi chu trình của vòng lặp điều khiển sẽ chọn và đốt cháy một luật khác. Chương trình có thể dứng lại sau mỗi chu trình và cho phép người dùng kiểm tra. Vì mỗi luật biểu diễn một bó tri thức đầy đủ, nên luật hiện tại cho ta một ngữ cảnh để giải thích. Ngoài ra, tính module của mỗi luật cũng tạo điều kiện cho việc thêm hay sửa đổi một luật được thực hiện một cách dễ dàng mà không hề ảnh hưởng đến các luật khác.

III.2 Hệ chuyên gia R1/XCON

HCG R1 hay XCON được đưa ra vào năm 1982 là một trong những HCG thương mại thành công đầu tiên. Như đã giới thiệu trong các phần trên, ban đầu chương trình được thiết kế chỉ để định cấu hình cho các máy tính VAX 780; sau đó nó được mở rộng để xử lý luôn cho các hệ máy VAX và hệ máy PDP-11. Đầu vào của hệ thống là đơn đặt hàng của khách hàng và sau đó áp dụng các luật để sinh ra một cấu hình hoàn

108 Võ Huỳnh Trâm – Trần Ngân Bình

Page 179: tong quan ve tri tue nhan tao

Chương 6: Hệ chuyên gia

chỉnh, thống nhất cùng với các sơ đồ biểu diễn mối quan hệ về không gian và logic của các bộ phận trong máy (McDermott 1981). Kiến trúc của HCG XCON được mô tả như hình 6_8.

Database Thông tin về các thành phần

Các mẫu vỏ máy

Cõ sở các luật Các luật ‘điều hành’ Các luật chuyển đổi theo tình huống

Bộ nhớ làm việc Các ký hiệu thành phần Các cấu hình chưa hoàn chỉnh Các ký hiệu tình huống

OPS5 Động cơ suy diễn

Hình 6_8. Kiến trúc của HCG XCON

XCON là một HCG dựa trên luật, nó chứa một cơ sở các luật bao gồm khoảng 10000 luật được viết với ngôn ngữ OPS5 (OPS – Official Production System). Các luật này dùng để điều khiển quá trình tạo cấu hình cho máy, nó có một đặc điểm đặc biệt là tiền đề của luật thường bắt đầu bằng một điều kiện kiểm tra tình huống hiện tại, chẳng hạn như:

IF the most current active context is distributing Massbus devices & there is a single port disk drive that has not been assigned to a Massbus & there are no unassigned dual port disk drives & the number of devices that each Massbus should support is known & there is a Massbus that has been assigned at least one disk drive and that should support additional disk drives & the type of cable needed to connect the disk drive to the previous device is known

THEN assign the disk drive to the Massbus Trong luật trên, điều kiện đầu tiên (được in nghiêng) là điều kiện kiểm tra xem tình huống mới nhất hiện tại (most current active context) có phải là đang phân phối các thiết bị Massbus hay không? Nếu đúng thì động cơ suy diễn mới kiểm tra các điều kiện kế tiếp, nếu sai thì bỏ qua luật này. Để có thể biết được tình huống hiện tại là gì, hệ thống sẽ truy cập vào bộ nhớ làm việc, nơi có lưu trữ các ký hiệu về tình huống hiện tại. Chính nhờ cấu trúc luật đặc biệt này mà mặc dù cơ sở luật có đến 10000 luật nhưng hệ thống thực hiện quá trình đối sánh để đưa ra các luật khả thi tại một thời điểm là rất nhanh. Với tính chất này, có thể nói công việc tạo cấu hình của R1/XCON được xem như là một hệ thống phân chia thành các công việc nhỏ hơn với sự phụ

Võ Huỳnh Trâm – Trần Ngân Bình 109

Page 180: tong quan ve tri tue nhan tao

Giáo Trình Trí Tuệ Nhân Tạo

thuộc thời gian (temporal dependency) rất mạnh, công việc này phải thực hiện trước công việc kia. Ngoài ký hiệu tình huống, bộ nhớ làm việc của hệ thống còn chứa các thông tin như ký hiệu của các thành phần đang có, ký hiệu các cấu hình đang thực hiện dở dang, chưa hoàn chỉnh. Vì các thành phần của máy thường được đặc trưng bởi nhiều thông số kỹ thuật, nên bộ nhớ làm việc chỉ chứa ký hiệu của nó, còn thông tin về các thông số này sẽ được lưu trong một cơ sở dữ liệu. Động cơ suy diễn của XCON được phát triển bằng OPS5, sử dụng tiếp cận tìm kiếm hướng từ dữ liệu, hay suy luận tiến. Kết quả của hệ thống có thể nói là tương đương hoặc có khi tốt hơn giải pháp của các chuyên gia con người. Về tốc độ, thì HCG cho ra giải pháp nhanh gấp mười lần chuyên gia, và đã tiết kiệm được cho công ty DEC hàng năm khoảng 25 triệu đôla.

III.3 Kết luận về HCG dựa trên luật

III.3.1 Ưu điểm của HCG dựa trên luật:

1. Khả năng sử dụng trực tiếp các tri thức thực nghiệm của các chuyên gia. 2. Tính module của luật làm cho việc xây dựng và bảo trì luật dễ dàng. 3. Có thể thực hiện tốt trong các lĩnh vực hạn hẹp. 4. Có tiện ích giải thích tốt. 5. Các luật ánh xạ một cách tự nhiên vào không gian tìm kiếm trạng thái. 6. Dễ dàng theo dõi một chuỗi các luật và sửa lỗi. 7. Sự tách biệt giữa tri thức và điều khiển giúp đơn giản hóa quá trình phát triển

HCG. III.3.2 Khuyết điểm của HCG dựa trên luật:

1. Các luật đạt được từ các chuyên gia mang tính heuristic rất cao. Chẳng hạn như trong lĩnh vực y học, luật “If sốt-cao Then bị-nhiễm-trùng” là sự kết hợp trực tiếp các triệu chứng quan sát được và các chẩn đoán, mà không thể hiện sự hiểu biết lý thuyết sâu hơn về lĩnh vực chuyên ngành (như cơ chế phản ứng của cơ thể để chống lại vi trùng chẳng hạn), hoặc luật “If sốt-cao Then cho-uống-Aspirin” cũng không thể hiện tri thức về giải quyết vấn đề tức là quá trình chữa bệnh như thế nào.

2. Các luật heuristic “dễ vỡ”, không thể xử lý các trường hợp ngoài dự kiến. Vì các luật được tạo ra từ kinh nghiệm của các chuyên gia trên những tình huống đã biết, nên khi gặp phải một tình huống mới không đúng với các kinh nghiệm đó, thì các luật này không giải quyết được.

3. Có khả năng giải thích chứ không chứng minh. HCG dựa trên luật chỉ có thể giải thích rằng kết luận này là do suy luận từ các luật như thế nào, chứ không chứng minh được kết luận đó là đúng.

4. Các tri thức thường rất phụ thuộc vào công việc. Quá trình thu thập tri thức rất phức tạp và khó khăn, tuy nhiên, tri thức có được không thể sử dụng lại cho một công việc khác.

5. Khó bảo trì các cơ sở luật lớn.

110 Võ Huỳnh Trâm – Trần Ngân Bình

Page 181: tong quan ve tri tue nhan tao

Chương 6: Hệ chuyên gia

IV SUY LUẬN DỰA TRÊN MÔ HÌNH: (MODEL–BASED REASONING)

Với các khuyết điểm của HCG dựa trên luật kể trên, tiếp cận dựa trên mô hình được đưa ra nhằm giải quyết các vấn đề này. Hệ thống suy luận dựa trên mô hình là một hệ thống mà sự phân tích căn cứ trực tiếp trên một mô tả chi tiết và chức năng của một hệ thống vật lý. Trong thiết kế và sử dụng, một hệ suy luận dựa trên mô hình tạo ra một sự mô phỏng bằng phần mềm đối với chức năng của cái mà chúng ta muốn tìm hiểu hay sửa chữa. Những ứng dụng đầu tiên của tiếp cận này là cho mục đích dạy học. Nhiệm vụ của hệ dạy học này là kiểm tra kiến thức của sinh viên về thiết bị hay mạch điện cũng như truyền đạt bất cứ kiến thức nào mà các sinh viên bỏ sót. Từ mục đích dạy học ban đầu này, các hệ suy luận dựa trên mô hình chuyển sang các hệ tìm hỏng hóc của thiết bị (trouble-shooting system). Để tìm lỗi của một hệ thống vật lý, mô hình sẽ cho người dùng biết là cần phải mong đợi gì từ hệ thống, và khi nào thì cái quan sát được khác với cái mong đợi, và sự khác biệt này dẫn đến lỗi như thế nào. Một hệ thống chẩn đoán dựa trên mô hình đòi hỏi:

1. Một mô tả cho mỗi bộ phận trong thiết bị. Từ những mô tả này mà hệ chẩn đoán có thể mô phỏng hành vi của từng bộ phận.

2. Một mô tả cấu trúc bên trong của thiết bị. Đây thường là một biểu diễn của các thành phần và sự nối kết qua lại của chúng. Những thông tin này giúp hệ thống mô phỏng sự tương tác giữa các thành phần của thiết bị.

3. Việc chẩn đoán một lỗi cụ thể đòi hỏi sự quan sát việc thực hiện thật sự của thiết bị, thông thường là việc đo các thông số vào/ra của nó.

Vì vậy, nhiệm vụ của hệ sẽ là xác định bộ phận nào có lỗi dựa trên các hành vi quan sát được. Điều này đòi hỏi phải có thêm các luật mô tả các chế độ có lỗi đã biết cho các bộ phận khác nhau và sự nối kết của chúng. Hệ suy luận khi đó cần tìm ra những lỗi có khả năng nhất có thể giải thích hành vi quan sát được của hệ thống.

IV.1 Ví dụ hệ chẩn đoán lỗi dựa trên mô hình

Xét một mạch gồm ba bộ nhân (multiplier) và hai bộ cộng liên kết với nhau như trong hình 6.14. Trong ví dụ này những giá trị đầu vào được cho tại các điểm từ A đến E và các giá trị đầu ra tại F và G. Những giá trị đầu ra mong muốn được đặt trong các dấu () và giá trị thực được đặt trong các dấu []. Nhiệm vụ đặt ra là xác định xem lỗi nằm ở đâu và nó sẽ giải thích sự không nhất quán này.

Võ Huỳnh Trâm – Trần Ngân Bình 111

Page 182: tong quan ve tri tue nhan tao

Giáo Trình Trí Tuệ Nhân Tạo

X

Y

Hình 6_9. Tận dụng hướng đi của luồng thông tin để chẩn đoán lỗi.

Ta thấy kết quả tại đầu ra F không như mong đợi, mà đầu ra này xuất ra từ bộ cộng ADD-1, bộ cộng này nhận giá trị đầu vào từ MULT-1 và MULT-2. Vậy phải có một trong ba thiết bị có lỗi, và do đó, ta có ba giả thuyết cần xem xét. Giả thuyết đầu tiên là ADD-1 và MULT-1 đúng, nghĩa là đầu vào X của ADD-1 đúng (6), khi đó đầu vào Y sẽ là 4, nghĩa là bộ nhân MULT-2 có lỗi. Nhưng, nếu là như vậy thì giá trị thực tại G phải là 10, chứ không phải 12 như ta thấy. Vì vậy, có thể nói MULT-2 không thể là bộ phận gây lỗi. Vậy, lỗi chỉ có thể nằm ở MULT-1 hoặc ADD-1. Chúng ta có thể làm thêm một số bước kiểm tra để xác định lỗi nằm ở đâu. Trong khi suy luận về tình huống của hình 6_9. Chúng ta có ba nhiệm vụ:

1. Phát sinh giả thuyết: cho trước một lỗi, chúng ta giả thuyết những bộ phận nào đó của thiết bị đã gây ra nó.

2. Kiểm nghiệm giả thuyết: cho trước một tập các bộ phận có khả năng có lỗi, chúng ta đã xác định xem bộ phận nào trong số đó có thể giải thích hành vi mà chúng ta quan sát được.

3. Loại trừ giả thuyết: khi có nhiều hơn một giả thuyết đúng sau pha kiểm nghiệm, như đã xảy ra trong hình 6_9, chúng ta phải xác định những thông tin bổ sung nào cần được suy ra để tiếp tục tìm kiếm lỗi.

Một điều cần lưu ý rằng trong ví dụ trên, ta chỉ giả định một thiết bị duy nhất có lỗi. Mặc dù giả thiết một lỗi duy nhất là một heuristic hữu ích, thường đúng đắn, nhưng thế giới thực thì không đơn giản như vậy.

IV.2 Kết luận về hệ suy luận dựa trên mô hình

Vì dựa trên sự hiểu biết lý thuyết về các thiết bị đang đề cập, các kỹ thuật dựa trên mô hình bù đắp được nhiều hạn chế của những phương pháp có tính heuristic hơn như hệ chuyên gia dựa trên luật. Một số ưu điểm của hệ thống này có thể liệt kê ra như sau:

Tạo khả năng sử dụng tri thức về cấu trúc và chức năng của lĩnh vực trong giải quyết vấn đề.

112 Võ Huỳnh Trâm – Trần Ngân Bình

Page 183: tong quan ve tri tue nhan tao

Chương 6: Hệ chuyên gia

Vượt qua hạn chế của HCG dựa trên luật, HCG này có khuynh hướng mạnh, “khó vỡ”.

Một số tri thức có thể chuyển tải cho các công việc khác. Có khả năng cung cấp các lời giải thích chỉ rõ nguyên nhân. Những giải thích

này có thể truyền đạt một sự hiểu biết sâu hơn về lỗi cho người dùng, và cũng đảm nhiệm một vai trò giảng dạy quan trọng.

Tuy nhiên, hệ suy luận này cũng có những hạn chế của nó: Mô hình chỉ là một mô hình nghĩa là một sự trừu tượng của hệ thống, vì vậy ở

một mức độ chi tiết nào đó có thể không đúng. Như trong ví dụ trên, chúng ta đã xem giá trị tại những dây dẫn đầu vào cũng như các dây dẫn nối kết bên trong là đúng đắn, ta không thể kiểm tra tình trạng của dây dẫn. Điều gì sẽ xảy ra nếu dây dẫn bị đứt, hoặc có sự kết nối lỏng lẻo với các bộ phận?

Có một giả thiết ngầm hiểu về thế giới đóng, những gì không nằm trong mô hình có nghĩa là không tồn tại. Vì trong mô hình ta không mô tả dây dẫn, nên ta xem như chúng không tồn tại, vì vậy không thể kiểm tra chúng.

Hệ suy luận này đòi hỏi phải có một mô hình lý thuyết rõ ràng. Nên việc tích lũy tri thức có thể gặp nhiều khó khăn, khó đạt được mô hình tốt, có khi là không tồn tại mô hình rõ ràng như trong một số chuyên ngành y khoa, tài chính…

Hệ thống tạo ra có thể lớn và chậm, độ phức tạp cao, có nhiều tình huống ngoại lệ.

Mặc dù vậy, HCG dựa trên mô hình là một bổ sung quan trọng cho các công cụ của kỹ sư tri thức.

V SUY LUẬN DỰA TRÊN TRƯỜNG HỢP: (caSe–BASED REASONING)

Các luật heuristic và mô hình lý thuyết là hai kiểu thông tin mà các chuyên gia người sử dụng để giải quyết vấn đề. Một chiến lược mạnh khác mà các chuyên gia sử dụng là suy luận từ những tình huống, là những ví dụ về các bài toán trong quá khứ và lời giải của chúng. Ví dụ, một luật sư sẽ chọn những tình huống luật đã xảy ra trong quá khứ tương tự với tình huống của thân chủ của anh ta và gợi ý cho anh ta một phương pháp thuyết phục tòa hợp lý để bênh vực cho thân chủ. Các nhà lập trình máy tính sử dụng lại mã của họ, khi sửa chữa một chương trình cũ để thích nghi với tình huống mới có cấu trúc tương tự. Các kiến trúc sư sử dụng kiến thức của họ về những tòa nhà tốt và được ưa thích trong quá khứ để thiết kế những tòa nhà mới mà người ta cảm thấy vừa ý và thuận tiện,… Tóm lại, suy luận từ những tình huống đã có là khả năng có tính chất nền tảng của trí thông minh con người. Và suy luận dựa trên tình huống cũng phát triển theo tiếp cận đó. HCG dựa trên tình huống (Case-based Reasoning – CBR) sử dụng một CSDL riêng biệt chứa giải pháp của các tình huống đã giải quyết để dựa vào đó tìm kiếm giải pháp cho một tình huống mới. Các tình huống thường được lưu lại như là một tập hợp các

Võ Huỳnh Trâm – Trần Ngân Bình 113

Page 184: tong quan ve tri tue nhan tao

Giáo Trình Trí Tuệ Nhân Tạo

luật tình huống – hành động (situation – action). Các sự kiện mô tả tình huống của luật là những đặc điểm nổi bật của tình huống được ghi nhận. Khi giải quyết một vấn đề, một CBR phải:

1. Truy vấn các tình huống thích hợp từ bộ nhớ (hay CSDL) của nó, dựa vào sự tương tự của một số đặc điểm nổi bật.

2. Sửa đổi tình huống đó để có thể áp dụng trong tính huống hiện tại. 3. Áp dụng tình huống đã chuyển đổi vào bài toán mới. 4. Lưu lại lời giải và kết quả của nó (thành công hay thất bại).

CBR đưa ra hàng loạt ưu điểm cho việc xây dựng các chuyên gia: Đơn giản hóa việc tích lũy tri thức từ các chuyên gia với việc lưu trữ một cách

trực tiếp các tri thức có được, đó là những lời giải của chuyên gia cho hàng loạt các bài toán.

Bằng cách tìm giải pháp của một tình huống tương tự đã có để đưa ra lời giải cho phép rút ngắn thời gian suy luận của hệ thống. Tuy nhiên, điều này cần phải xem xét lại nếu hệ thống có một CSDL tình huống rất lớn.

Thao tác lưu lại lời giải và kết quả của nó tạo khả năng tự học cho hệ thống: giúp hệ thống tránh lỗi cũ và tận dụng những thành công trong quá khứ

Việc phân tích tri thức của lĩnh vực chỉ diễn ra một lần, đó là khi tìm kiếm một sự biểu diễn hợp lý cho các tình huống, hay quá trình chọn các đặc điểm nổi bật (salient features) của các tình huống để có thể so sánh và đưa ra kết luận về tính tương đương của hai tình huống nào đó. Đây cũng là khó khăn lớn nhất của tiếp cận này. Vì nếu ta chọn các đặc điểm nổi bật dùng để so sánh hai tình huống không phù hợp, thì kết luận của ta về tính tương đương của hai tình huống có thể sẽ không chính xác, và khi tình huống chọn ra không đúng sẽ không cho ra một lời giải thích hợp. Ở đây, ta sẽ không nghiên cứu sâu về vấn đề này, tuy nhiên đọc giả có thể tham khảo thêm về các tài liệu của Kolodner (1993) và các đồng nghiệp khác.

Việc tích lũy tri thức và lập trình là tương đối đơn giản. Các chiến lược sắp xếp (index) thích hợp làm tăng sức mạnh của phương pháp

này. Tiếp cận này cũng có các khuyết điểm của nó:

Các tình huống không thể hiện tri thức sâu về lĩnh vực bài toán, do đó khó giải thích tại sao đưa ra lời giải như vậy, hoặc có thể đưa ra lời giải sai hoặc không tốt.

Một cơ sở chứa các tình huống lớn phải xem xét sự tương xứng giữa tính toán và lưu trữ. Vì khi CSDL lớn lên, thời gian cần đẻ lấy ra một tình huống thích hợp cũng lớn lên. Cuối cùng thì chi phí cho việc tìm kiếm một tình huống sẽ lớn hơn thời gian cần thiết để rút ra một lời giải bằng cách suy luận từ các luật hoặc từ mô hình (hai tiếp cận trước).

114 Võ Huỳnh Trâm – Trần Ngân Bình

Page 185: tong quan ve tri tue nhan tao

Chương 6: Hệ chuyên gia

Khó đưa ra tiêu chuẩn đánh giá sự tương tự của các tình huống, và sắp xếp chúng.

VI Tóm tẮt

Nội dung chính của chương này bao gồm:

− Hệ chuyên gia là một hệ thống sử dụng các tri thức thu thập được từ kinh nghiệm của các chuyên gia để giải quyết các vấn đề ở mức độ chuyên gia.

− Không phải vấn đề nào cần giải quyết cũng phù hợp với giải pháp hệ chuyên gia.

− Một HCG được phát triển theo phương pháp lập trình thăm dò.

− Việc thu thập tri thức từ chuyên gia là một việc làm khó khăn và cần có sự hợp tác chặt chẽ giữa kỹ sư tri thức và các chuyên gia.

− Mô hình khái niệm là một công cụ hỗ trợ cho quá trình thu thập tri thức.

− Hệ chuyên gia dựa trên luật có kiến trúc và cơ chế hoạt động tương tự như một hệ sinh, đây là một trong những kỹ thuật đầu tiên và được sử dụng rộng rãi nhất dùng cho biểu diễn tri thức trong lĩnh vực HCG.

− Hệ chuyên gia dựa trên mô hình là một hệ thống mà sự phân tích căn cứ trực tiếp trên một mô tả chi tiết và chức năng của một hệ thống vật lý.

− Hệ chuyên gia dựa trên tình huống sử dụng một CSDL để chứa các tình huống đã giải quyết để dựa vào đó tìm kiếm giải pháp cho một tình huống mới.

VII BÀI TẬP CHƯƠNG VI

VI.1. Trong thí dụ 6.1 đã giới thiệu một tập hợp luật dùng cho chẩn đoán các trục

trặc trong ô tô. Hãy chỉ ra ai có thể là những kỹ sư tri thức, những chuyên gia chuyên ngành và người dùng cuối cho một ứng dụng như vậy ? Thảo luận các ý kiến này ?

VI.2. Bổ sung thêm một số luật dưới dạng IF ... THEN ... vào tập luật trong thí dụ 6.1 để mô tả các quan hệ trong lĩnh vực này. Vẽ đồ thị AND/OR biểu diễn những quan hệ giữa các luật trong tập luật vừa mới xây dựng.

VI.3. Xét đồ thị AND/OR vừa thiết kế trong bài tập 6.2, cho biết bạn đề nghị cơ chế tìm kiếm hướng dữ liệu hay hướng mục tiêu ? Tìm kiếm theo chiều rộng hay theo chiều sâu ? Có thể áp dụng heuristic cho quá trình tìm kiếm không ?

VI.4. Chọn một lĩnh vực khác thích hợp đối với việc thiết kế một hệ chuyên gia. Xây dựng một tập hợp luật minh họa cho ứng dụng này.

Võ Huỳnh Trâm – Trần Ngân Bình 115

Page 186: tong quan ve tri tue nhan tao

Giáo Trình Trí Tuệ Nhân Tạo

PHẦN III.................................................................................................................................95 GIẢI QUYẾT VẤN ĐỀ DỰA TRÊN TRI THỨC.................................................................95 (KNOWLEDGE – BASED PROBLEM SOLVING).............................................................95 Chương VI ..............................................................................................................................96 HỆ CHUYÊN GIA .................................................................................................................96 (EXPERT SYSTEMS - ES)....................................................................................................96

I. GiỚi thiỆu: ......................................................................................................................97 II. TỔNG QUAN VỀ CÔNG NGHỆ HỆ CHUYÊN GIA .................................................98

II.1. Thiết kế của một HCG dựa trên luật: (Rule–Based ES)....................................98 II.2. Các vấn đề phù hợp để xây dựng HCG...........................................................100 II.3. Qui trình công nghệ tri thức ............................................................................102 II.4. Mô hình khái niệm và vai trò của chúng trong việc thu thập tri thức .............104

III. HỆ chuyên gia DỰA trên LUẬT (RULE–BASED ES).............................................105 III.1. Khả năng giải thích và tính trong suốt của suy luận hướng từ mục tiêu.........108 III.2. Hệ chuyên gia R1/XCON................................................................................108 III.3. Kết luận về HCG dựa trên luật........................................................................110

IV. SUY LUẬN DỰA TRÊN MÔ HÌNH: (MODEL–BASED REASONING)..............111 IV.1. Ví dụ hệ chẩn đoán lỗi dựa trên mô hình ........................................................111 IV.2. Kết luận về hệ suy luận dựa trên mô hình.......................................................112

V. SUY LUẬN DỰA TRÊN TRƯỜNG HỢP: (caSe–BASED REASONING) .............113 VI. Tóm tẮt ......................................................................................................................115

BÀI TẬP CHƯƠNG VI.........................................................................................115

116 Võ Huỳnh Trâm – Trần Ngân Bình

Page 187: tong quan ve tri tue nhan tao

_____________________________________________Chương 6 Truyền nối tiếp đồng bộ VI - 1

CHƯƠNG 6

TRUYỀN NỐI TIẾP ĐỒNG BỘ GIAO TIẾP GIỮA DTE VÀ DCE ĐỒNG BỘ

CÁC GIAO THỨC ĐỒNG BỘ Giao thức đồng bộ nhị phân

Giao thức hướng bit VÀI IC LSI DÙNG TRONG TRUYỀN ĐỒNG BỘ

USART 8251A của Intel SSDA 6852 của Motorola

KỂM TRA HỆ THỐNG THÔNG TIN Phép đo tỉ số PAR

Biểu đồ mắt

Về phương diện thực hiện sự đồng bộ giữa máy thu và phát trong một hệ thống thông tin hai chế độ truyền bất đồng bộ và đồng bộ có những điểm khác biệt :

- Chế độ truyền bất đồng bộ: để phát bản tin người ta phát đi từng ký tự một và sự đồng bộ được thực hiện cho từng ký tự này bởi các bit Start và Stop thêm vào trước và sau mỗi ký tự . Xung đồng hồ được tạo ra một cách riêng rẽ ở máy thu và máy phát. Như vậy, sự đồng bộ được thực hiện chính xác khi tần số xung đồng hồ ở máy thu hoàn toàn đúng với tần số xung đồng hồ ở máy phát, nếu không tin tức nhận được sẽ có lỗi.

- Chế độ truyền đồng bộ: để phát một bản tin người ta xem nó là một khối và phát đi một lần cả khối đó, sự đồng bộ được thực hiện bằng cách cho máy phát phát kèm theo tín hiệu dữ liệu các xung đồng hồ mà máy thu khi dò ra sẽ dùng để đồng bộ tín hiệu ở máy thu. Thực tế, việc này chỉ được thực hiện khi hệ thống thu phát khép kín về mặt vật lý, hay nói cách khác máy phát và thu phải ở gần nhau. Khi máy phát không thể gửi riêng tín hiệu xung đồng hồ tới máy thu thì ở máy thu phải có mạch tách bit thời gian từ chính tín hiệu dữ liệu để thực hiện sự đồng bộ.

Ở máy thu đồng bộ, ngoài việc dò tín hiệu đồng bộ ra, máy thu phải biết phân biệt được ranh giới của mỗi ký tự để việc phục hồi bản tin không bị lỗi.

Ta thấy việc thực hiện giao thức bất đồng bộ tương đối đơn giản, giá thành thấp nhưng hiệu quả không cao. Giả sử để phát một ký tự mã ASCII thì phải dùng ít nhất 9 bit (7 bit ký tự, 1 bit start, 1 bit stop), thì tỉ lệ hao là 2/9 = 0,22=22%. Trong khi đó, tỉ lệ này trong chế độ đồng bộ là rất thấp, khoảng vài %.

Như vậy, chế độ truyền bất đồng bộ chỉ thuận lợi khi phát những bản tin ngắn và với vận tốc thấp (<1200 bps). Và chế độ truyền đồng bộ tỏ ra ưu việt hơn khi phát những bản tin dài với vận tốc cao hơn (>1200 bps). Dùng với các Modem âm tần, phát đồng bộ có thể đạt vận tốc 9600 bps.

Chương này đề cập đến các giao thức đồng bộ, khảo sát vài IC LSI thực hiện việc phát nối tiếp đồng bộ thông dụng và cuối cùng sơ lược qua các phương pháp kiểm tra hệ thống thông tin.

6.1 GIAO TIẾP GIỮA DTE VÀ DCE ĐỒNG BỘ

Trong chế độ truyền đồng bộ, máy thu phục hồi xung đồng hồ từ dòng dữ liệu nhận được. Chuẩn giao tiếp RS-232 và RS-449 có các đường dành cho xung đồng hồ liên lạc giữa các cặp thiết bị đầu cuối (DTE) và modem (DCE).

Bảng 6.1 cho biết nơi nhận dữ liệu và các chân liên hệ của hai chuẩn giao tiếp nói trên

__________________________________________________________________________ Nguyễn Trung Lập Truyền dữ liệu

Page 188: tong quan ve tri tue nhan tao

_____________________________________________Chương 6 Truyền nối tiếp đồng bộ VI - 2

Bảng 6.1 Các chân truyền tín hiệu đồng bộ của RS-232 và RS-449

RS-232 RS-449 Ký hiệu Chân Tên Ký hiệu Chân Tên TCLK RCLK ETCLK

15 17 24

Trans. clock (từ DCE) Receive Clock (từ DCE) Ext trans.clock (từ DTE)

ST RT TT

6 & 23 8 & 26 17 & 25

Send timing (từ DCE) Receive timing (từ DCE) Terminal timing (từ DTE)

Khi sử dụng modem, đồng bộ thu thường được cấp từ modem (DCE) tới thiết bị đầu

cuối (DTE). Tuy nhiên xung đồng hồ có thể phát sinh từ modem hoặc từ DTE (Các IC tạo thành modem và IC giao tiếp đều có mạch tạo xung đồng hồ) và việc điều khiển có thể thực hiện riêng rẽ ở cả máy thu và phát hoặc thực hiện theo cả hai chiều với một xung đồng hồ duy nhất. (H 6.1) mô tả các khả năng kết nối mạch của RS-449 để thực hiện đồng bô.

(H 6.1a) Thiết bị đầu cuối (DTE) ở mỗi trạm thu phát điều khiển sự đồng bộ (xung đồng hồ từ DTE đến DCE theo đường TT)

(H 6.1b) Modem (DCE) ở mỗi trạm thu phát điều khiển sự đồng bộ (xung đồng hồ từ DCE đến DTE theo đường ST)

(H 6.1c) Thiết bị đầu cuối ở trạm A điều khiển sự đồng bộ theo cả hai chiều (xung đồng hồ từ DTE A đến DCE A theo đường TT, ở trạm B hai đường TT (ST) và RT nối chung lại)

(H 6.1d) Modem ở trạm A điều khiển sự đồng bộ theo cả hai chiều (xung đồng hồ từ modem đến DTE theo đường ST ở trạm A, ở trạm B hai đường ST (TT) và RT nối chung lại)

DTE DCE DCE DTE

A SD ⎯→ SD A B SD ←⎯ SD B TT ⎯→ TT TT ←⎯ TT RT ←⎯ RT RT ⎯→ RT RD ←⎯ RD RD ⎯→ RD

(a)

DTE DCE DCE DTE A SD ⎯→ SD A B SD ←⎯ SD B ST ←⎯ ST ST ⎯→ ST RT ←⎯ RT RT ⎯→ RT RD ←⎯ RD RD ⎯→ RD

(b) DTE DCE DCE DTE

A SD ⎯→ SD A B SD ←⎯ SD B TT ⎯→ TT TT ←→ ST RT ←⎯ RT RT ⎯→ RT RD ←⎯ RD RD ⎯→ RD

(c) DTE DCE DCE DTE

A SD ⎯→ SD A B SD ←⎯ SD B ST ←⎯ ST TT ←→ ST RT ←⎯ RT RT ⎯→ RT RD ←⎯ RD RD ⎯→ RD

(d) (H 6.1)

6.2 CÁC GIAO THỨC ĐỒNG BỘ

Một hệ thống thông tin có thể được định dạng bằng các giao thức khác nhau.

__________________________________________________________________________ Nguyễn Trung Lập Truyền dữ liệu

Page 189: tong quan ve tri tue nhan tao

_____________________________________________Chương 6 Truyền nối tiếp đồng bộ VI - 3

Trong chế độ truyền đồng bộ, có thể chia giao thức ra làm hai loại : - Giao thức điều khiển Byte hay ký tự (Byte - Controlled Protocol, BCP, hay

Character-Oriented Protocol). - Giao thức hướng Bit (Bit - Orientied Protocol, BOP). - Trong giao thức điều khiển byte (BCP), khối dữ liệu bao gồm nhiều ký tự, mỗi ký tự

là một đơn vị thông tin (7 hoặc 8 bit) và các thông tin điều khiển cũng xuất hiện dưới dạng từ. Các ký tự dữ liệu (bản tin chính thức) hợp với từ điều khiển thành một khung thông tin. Một khung thông tin thường bắt đầu bằng một hay nhiều từ dùng cho sự đồng bộ, thường là từ SYNC, nó báo cho máy thu biết bắt đầu một khối dữ liệu. Ngoài ra, trước và sau bản tin chính thức còn có các từ điều khiển, bao gồm các địa chỉ các đài, trạm, các từ báo bắt đầu và kết thúc văn bản, các từ báo mã kiểm tra lỗi ...

- Trong giao thức hướng bit (BOP), khối dữ liệu xem như một chuỗi bit, các từ điều khiển và ký tự dữ liệu không hẳn là các từ 8 bit mà có thể là một tập hợp các bit tùy theo giao thức cụ thể.

Giống như trong BCP, bắt đầu khối tin cũng có tín hiệu báo, đó là từ 8 bit gọi là Cờ (Flag) , cờ này cũng được đặt ở cuối bản tin. Như vậy tác dụng của cờ là thiết lập sự đồng bộ và đánh dấu điểm bắt đầu và điểm kết thúc. Khối dữ liệu bao gồm cả các cờ hình thành một Khung (Frame). Trước và sau bản tin chính thức có các từ điều khiển, được gọi chung là Trường điều khiển (Control Field). Tất cả qui định chi tiết về bản tin, các thông báo hỏi nhận đều thực hiện trong trường điều khiển này. (H 6.2) cho ta hai dạng khung của hai protocol này

(H 6.2)

Chúng ta giới thiệu dưới đây: - Giao thức điều khiển byte được đề nghị bởi IBM vào năm 1964 và được sử dụng

rất rộng rãi trong các ứng dụng điểm - điểm (poin - point) và nhiều điểm (multipoint) với các phương thức đơn công và bán song công. Đó là giao thức truyền đồng bộ nhị phân (Binary Synchronous Communication, BSC, đôi khi gọi là BISYNC). Giao thức BSC được ISO lấy làm cơ sở để xây dựng giao thức hướng ký tự chuẩn quốc tế với tên Basic Mode (dữ liệu dùng mã EBCDIC thay cho mã ASCII và mã dò sai là CRC thay cho BCC)

- Giao thức hướng bit, do hãng IBM phát triển và sử dụng có tên là Điều khiển liên kết dữ liệu đồng bộ (Synchronous Data Link Control - SDLC) và ISO lấy làm cơ sở để phát triển thành giao thức điều khiển liên kết dữ liệu mức cao (High Level Data Link Control, HDLC).

6.2.1 Giao thức đồng bộ nhị phân Đây là giao thức điều khiển việc truyền nhận dữ liệu nhờ một số ký tự đặc biệt trong

các bảng mã. Các thông tin dữ liệu được gửi đi trong các khung dữ liệu mà hai biên là các ký tự SYNC để báo máy thu biết bắt đầu bản tin.

Các từ điều khiển dùng trong BISYNC lấy từ bản mã ASCII, gồm một số từ như sau :

__________________________________________________________________________ Nguyễn Trung Lập Truyền dữ liệu

Page 190: tong quan ve tri tue nhan tao

_____________________________________________Chương 6 Truyền nối tiếp đồng bộ VI - 4

SYN Ký tự đồng bộ mã ASCII dạng Hex 16H SOH Ký tự bắt đầu của Header 01H STX Ký tự bắt đầu văn bản 02H ETX Ký tự kết thúc văn bản 03H EOT Ký tự kết thúc phát 04H ETB Ký tự kết thúc truyền khối 17H ENQ Ký tự hỏi 05H ACK Ký tự báo cho biết đã nhận dữ liệu 06H NAK Ký tự báo cho biết chưa nhận dữ liệu 15H NUL Ký tự rỗng 00H DLE Ký tự giải phóng đường dữ liệu 10H CAN Ký tự hủy 18H

Một khung dữ liệu của BISYNC tiêu biểu có cấu trúc sau :

SYN SYN SOH header STX text ETX BCC Đầu Cuối

- Phần văn bản (text) chứa dữ liệu thông tin. Kích thước vùng text có giới hạn nên với

các văn bản lớn người ta chia thành những khối nhỏ (block) và trong phần Header có phần identifier (id) để chỉ thứ tự các khối.

- Phần header chứa điạ chỉ đến và tín hiệu trả lời ACK/NAK nếu có yêu cầu. - BCC là ký tự 1 Byte dùng kiểm tra khung. Đây là byte duy nhất được tạo ra để kiểm tra lỗi trong toàn khối. BCC có thể là một phép kiểm tra chẵn lẻ (dùng trong BSC), hoặc chặc chẽ hơn là kiểm tra dư thừa theo chu kỳ (Cycle Redundancy Check, CRC ) (Dùng trong Basic Mode, với CRC - 16).

Dưới đây là ví dụ truyền chữ TEST và kiểm tra chẵn lẻ theo hàng

STX T E S T EXT BCC 0 1 0 0 0 0 0 1

0 0 1 0 1 0 1 1

1 0 1 0 0 0 1 1

1 1 0 0 1 0 1 0

0 0 1 0 1 0 1 1

1 1 0 0 0 0 0 0

1 1 1 0 1 0 0 0

b0b1b2b3b4b5b6b7

Đối với ví dụ trên các bit sẽ được truyền như sau : STX T E S T ETX BCC 01000001 00101011 10100011 11001010 00101011 11000000 11101000 Đầu Cuối

Trong ví dụ này người ta dùng kiểm tra chẵn và BCC chỉ kiểm tra các ký tự từ STX đến ETX. Trên thực tế, sự kiểm tra được thực hiện trên toàn khối (từ SOH đến ETX).

Khi nhận được bản tin, máy thu thực hiện phép tính kiểm tra tổng, so sánh với BCC nhận được, sau đó sẽ trả lời bằng tín hiệu ACK (Đúng) hoặc NAK (Không đúng).

Máy phát sẽ không gửi bản tin khác khi chưa được xác nhận rằng bản tin trước đã nhận đúng (phương thức bán song công). Dưới đây là một số thủ tục chính trong BSC/Basic Mode:

- Mời truyền tin: Giả sử trạm A muốn mời trạm B truyền tin, trạm A sẽ gửi lệnh sau đây tới B:

__________________________________________________________________________ Nguyễn Trung Lập Truyền dữ liệu

Page 191: tong quan ve tri tue nhan tao

_____________________________________________Chương 6 Truyền nối tiếp đồng bộ VI - 5

EOT B ENQ Trong đó B là địa chỉ của trạm được mời truyền tin EOT để chuyển liên kết sang trạng thái điều khiển Khi B nhận được lệnh này, có thể xảy ra 2 trường hợp: - Nếu B có tin để truyền thì B tạo cấu trúc tin theo dạng chuẩn và gửi đi - Nếu B không có tin để truyền thì gửi đi lệnh EOT để trả lời Ở phía A một khoảng thời gian xác định sau khi gửi lệnh đi mà không được trả lời

hoặc nhận được trả lời sai thì A sẽ chuyển sang trạng thái phục hồi (Recovery state). - Mời nhận tin: Giả sử trạm A muốn mời trạm B nhận tin, trạm A sẽ gửi lệnh sau đây tới B: EOT B ENQ Có thể bỏ qua lệnh EOT. Khi nhận được lệnh này, nếu B sẵn sàng nhận tin thì nó gửi lệnh ACK để trả lời, nếu

không thì gửi lệnh NAK Ở phía A một khoảng thời gian xác định sau khi gửi lệnh đi mà không được trả lời

hoặc nhận được trả lời sai thì A sẽ chuyển sang trạng thái phục hồi (Recovery state).

- Yêu cầu trả lời: Khi một trạm cần trạm kia trả lời một yêu cầu nào đó đã gửi đi trước đó thì nó chỉ cần

gửi lệnh ENQ đến trạm kia - Ngừng truyền tin (tạm thời): Gửi lệnh EOT

- Giải phóng liên kết: Gửi lệnh DLE EOT - Trạng thái phục hồi: Khi một trạm nào đó đi vào trạng thái "phục hồi" nó sẽ thực

hiện một trong các hành động sau: - Lặp lại lệnh đã gửi đi n lần (n là số nguyên chọn trước) hoặc - Gửi "yêu cầu trả lời" n lần hoặc kết thúc truyền bằng lệnh EOT - Chế độ thông suốt (Transparent Mode). Trong trường hợp các mã điều khiển xuất hiện trong văn bản (Text) nhưng không

mang ý nghĩa điều khiển mà phải được hiểu như là dữ liệu, hệ thống được chuyển sang chế độ thông suốt bằng cách dùng ký tự DLE đặt trước STX và DLE đặt trước ETX để chấm dứt chế độ này.

6.2.2 Giao thức hướng bit. Giao thức hướng bit được thiết kế để thoả mãn nhiều yêu cầu trong cách truyền đồng

bộ, bao gồm : - Truyền giữa hai đài (trạm) (point to point) hay nhiều đài (multipoint). - Bán song công hay song công. - Liên lạc giữa trạm sơ cấp và trạm thứ cấp. - Liên lạc với khoảng cách ngắn (nối trực tiếp), hoặc rất xa (vệ tinh). Giao thức này có một số tính chất sau : - Người sử dụng có thể sử dụng bất cứ loại mã nào. - Có khả năng thích hợp với nhiều loại đường truyền. - Hiệu suất cao : giảm tối thiểu tỉ lệ hao hụt. - Độ tin cậy cao : cho phép kiểm tra lỗi có hiệu quả và có khả năng phục hồi dữ liệu. Có thể nói các tính chất của giao thức hướng bit được thể hiện ở trường điều khiển bởi

các tổ hợp bit mã hóa các từ điều khiển. Có nhiều giao thức hướng bit đã được đề nghị bởi các cơ quan khác nhau và được sử

dụng rộng rãi : - Thủ tục điều khiển thông tin dữ liệu cao cấp (Advanced Data Communication Control

Procedure - ADCCP) phát triển bởi Viện chuẩn quốc gia Hoa Kỳ (American National Standard Institute - ANSI) đây là chuẩn trong hệ thống thông tin quốc gia.

__________________________________________________________________________ Nguyễn Trung Lập Truyền dữ liệu

Page 192: tong quan ve tri tue nhan tao

_____________________________________________Chương 6 Truyền nối tiếp đồng bộ VI - 6

- Thủ tục truy xuất đường truyền cân bằng (Link Access Procedure, balance - LAP-B) thực hiện bởi Hội đồng Tư vấn Điện tín và Điện thoại quốc tế (International Telegraph & Telephone Consultative Committee - CCITT) Đây là một chuẩn về mạng.

- Điều khiển liên kết dữ liệu đồng bộ (Synchronous Data Link Control - SDLC) được dùng bởi hãng IBM (International Business Machine Corporation) và ISO lấy làm cơ sở để phát triển thành giao thức điều khiển liên kết dữ liệu mức cao (High Level Data Link Control, HDLC).

Thật ra không có mấy khác biệt giữa các chuẩn nói trên: HDLC và ADCCP có thể

xem là một còn LAP-B và SDLC là những tập con của HDLC. Phần sau đây sẽ bàn tới chuẩn SDLC.

6.2.2.1 Đặc tính cơ bản :

SDLC định nghĩa 3 loại trạm, 2 dạng truyền và 2 chế độ vận hành. * 3 loại trạm:

- Trạm sơ cấp: (Primary) có trách nhiệm điều khiển vận hành của hệ thống, những khung phát bởi trạm sơ cấp gọi là lệnh (command)

- Trạm thứ cấp: (secondary) vận hành dưới sự điều khiển của trạm sơ cấp, những khung phát bởi trạm thứ cấp là lời đáp (response) Trạm sơ cấp duy trì việc nối logic với từng trạm thứ cấp trong hệ thống một cách riêng rẽ .

- Trạm hỗn hợp: Các trạm đồng thời giữ vai trò sơ và thứ cấp. * 2 dạng truyền:

- Dạng không cân bằng : dùng giữa 2 trạm hoặc nhiều trạm, gồm một trạm sơ cấp và một hoặc nhiều trạm thứ cấp, có thể truyền song công và bán song công.

- Dạng cân bằng : chỉ dùng giữa 2 trạm hỗn hợp, có thể truyền song công hoặc bán song công.

* 2 chế độ vận hành :

- Chế độ trả lời chuẩn (Normal Response Mode - NRM) : đây là một dạng truyền không cân bằng, một trạm sơ cấp có thể khởi động để truyền dữ liệu đến trạm thứ cấp và trạm thứ cấp chỉ có thể truyền dữ liệu để trả lời khi trạm sơ cấp yêu cầu.

- Chế độ bình thường không kết nối (DISC) : Ở chế độ này trạm thứ cấp nhận tin nhưng không tác động được vào bản tin.

(H 6.3) mô tả dạng truyền cân bằng và không cân bằng.

Primary

Commands→ ⎯⎯⎯⎯⎯⎯ ← Responses

⎯⎯⎯⎯ ↓

⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯

⎯⎯ ↓

Secondary

Secondary

(a) Dạng không cân bằng

Combined

← Commands → ---------------------------------------------- ← Responses →

Combined

b) Dạng cân bằng (H 6.3)

6.2.2.1 Cấu trúc của khung : (H 6.4)

__________________________________________________________________________ Nguyễn Trung Lập Truyền dữ liệu

Page 193: tong quan ve tri tue nhan tao

_____________________________________________Chương 6 Truyền nối tiếp đồng bộ VI - 7

Một khung thông tin trong SDLC gồm các trường sau đây : - Cờ : 8 bit - Điạ chỉ : 1 byte. - Điều khiển : 8 bit. - Thông tin : thay đổi theo bản tin. - Chuỗi kiểm tra khung (Frame Check Sequence - FCS) : 16 bit. - Cờ : 8 bit.

Các trường cờ, điạ chỉ và điều khiển đặt trước trường thông tin gọi là đầu khung (header) và các trường FCS và cờ đặt sau trường thông tin gọi là cuối khung (Trailer). (H 6.4) cho dạng của khung và các trường trong khung

FLAG

AADDRESS

CONTROL

INFORMATION

FCS

FLAG

← 8 bit → ← 8 bit → ← 8 bit → ← variable → ← 16 bit → ← 8 bit →

(H 6.4) Dạng khung thông tin SDLC

a. Trường cờ (Flag Field) : Trường cờ đặt ở đầu và cuối một khung để giới hạn khung, gồm 8 bit theo qui định là

01111110 (6 bit 1 liên tiếp giữa 2 bit 0 ). Giữa 2 khung có thể có một trong các trường hợp sau đây: - Một cờ xuất hiện giữa bản tin gọi là cờ đơn vừa dùng chấm dứt một khung đồng thời

bắt đầu một khung khác. - Một cờ chấm dứt khung trước và một cờ bắt đầu khung sau. Giữa 2 cờ này có thể chỉ

dùng một bit 0. - Có thể chèn vào giữa 2 cờ một số cờ khác. Khung x : Khung x+1 . . . . 01111110 . . . . . . . . 01111110 : 01111110 . . . . . . . . 011111101111110 . . . . . . . . 01111110 01111110 : 01111110 01111110 . . . . Do SDLC không có qui định chặt chẻ về mã dùng cho dữ liệu nên các mã có dạng của

cờ có thể xuất hiện trong bản tin và gây nên nhầm lẫn ở máy thu. Để tránh sự hiểu lầm ở máy thu khi nhận dữ liệu, máy phát dùng kỹ thuật nhồi bit nghĩa là khi thấy trong chuỗi dữ liệu có 5 bit 1 liên tiếp thì thêm vào bit 0 ngay sau 5 bit 1 này. Ở máy thu sau tín hiệu cờ khi gặp liên tiếp 5 bit 1 thì tự động bỏ bit 0 theo sau đó để phục hồi dữ liệu. Như vậy bảo đảm sự chính xác của dữ liệu.

Thí dụ: Trạm B có địa chỉ là C2 phát đi văn bản “C?” - Khung thông tin chưa nhồi bit: (Viết theo chiều mũi tên hướng về bên trái) 01111110 01000011 01111110 11111110 11000011 11110110 Cờ Đ/c= C2 TĐK mã “=7F mã C= C3 mã ?= 6F 11111110 FCS 01111110 111111111111. . . .

“=7F Cờ Bit nghỉ - Khung thông tin có bit nhồi (o):

01111110 01000011 011111o10 11111o110 11000011 111o10110 Cờ Đ/c= C2 TĐK mã “=7F mã C= C3 mã ?= 6F 11111o110 FCS 01111110 111111111111. . . .

__________________________________________________________________________ Nguyễn Trung Lập Truyền dữ liệu

Page 194: tong quan ve tri tue nhan tao

_____________________________________________Chương 6 Truyền nối tiếp đồng bộ VI - 8

“=7F Cờ Bit nghỉ

b. Trường địa chỉ (Address field) Trường địa chỉ dùng để xác định trạm thứ cấp trong hệ thống. Địa chỉ trong bản tin luôn luôn là địa chỉ của trạm thứ cấp dù nó do trạm sơ cấp hay thứ cấp gửi đi.

Trường này không cần thiết trong trường hợp hệ thống chỉ gồm hai trạm. Trường địa chỉ dài 8 bit. Nếu tất cả các bit trong trường địa chỉ đều =1 có nghĩa trạm sơ cấp yêu cầu liên lạc với tất cả trạm thứ cấp. Giá trị 00 không được xem là một địa chỉ (gọi là void address)

c. Trường điều khiển (Control field) (H 6.5) SDLC định nghĩa 3 loại khung của trường điều khiển, mỗi loại có dạng khác nhau Một hoặc hai bit đầu tiên của trường điều khiển dùng định nghĩa khung : bit thứ nhất = 0 chỉ khung thông tin, bit thứ nhất và hai = 10 chỉ khung giám sát và = 11 chỉ khung không số. Những bit còn lại được tổ chức như những tập bit con mà ý nghĩa của nó sẽ được giải thích cụ thể đối với từng loại khung. Một frame của SDLC được coi là bất hợp lệ nếu nó không được đóng khung bởi 2 Cờ ở hai đầu hoặc có tổng kích thước các vùng nằm giữa 2 Cờ nhỏ hơn 32 bit. 1 (LSB) 2 3 4 5 6 7 8

I : Information 0 Ns P/F Nr S : Supervisory 1 0 S P/F Nr U : Unnumbered 1 1 M P/F M

Ns = Send sequence number Nr = Receive sequence number S = Supervisory function bits M = Unnumbered function bits P/F = Poll/Final bit (H 6.5) Dạng trường điều khiển

- Khung loại I: (Thông tin, Information frame, I-frame) , đây là khung chứa bản tin cần phát đi của người sử dụng.

Khi khung I được dùng thì bản văn phát đi được đánh số thứ tự. Bit 5 trong khung thông tin có tên là bit P/F (Poll/Final). * Nếu bản tin phát đi từ trạm sơ cấp đến trạm thứ cấp thì đây là bit P, nếu P=0 thì trạm

thứ cấp không cần thiết phải trả lời ngay, nếu P=1 thì đây là bit thăm dò và trạm thứ cấp phải trả lời ngay.

* Nếu bản tin phát đi từ trạm thứ cấp đến trạm sơ cấp thì đây là bit F, nếu F=0 thì đây chưa phải là bản tin cuối cùng và trạm sơ cấp không cần thiết phải trả lời ngay, nếu F=1 có nghĩa đây là bản tin cuối cùng và trạm sơ cấp phải trả lời ngay.

* Ns chỉ số thứ tự bản tin đang được phát đi. * Nr là số thứ tự nhận, nếu phát đi từ trạm sơ cấp thì liên hệ đến số Ns phát đi từ trạm

thứ cấp và nếu phát đi từ trạm thứ cấp thì liên hệ với Ns phát đi từ trạm sơ cấp. Nr chỉ số thứ tự bản tin mà trạm đang chờ và đồng thời xác nhận đã nhận tốt các bản tin trước đó (tức đến số Nr-1)

Thí dụ, trạm thứ cấp phát đi Ns=2 và Nr=3 có nghĩa là nó đang phát đi bản tin thứ 2 và đã nhận tốt các bản tin thứ 2 trở về trước.

Do các số Ns chỉ có 3 bit nên số lượng tối đa mỗi lần phát chỉ được 7 bản tin, như vậy buộc máy thu phải xác nhận trước khi số Ns vượt quá 7 (Ns=111).

Dưới đây là một thí dụ, Giả sử trạm sơ cấp đang phát và các số Nr và Ns đều bắt đầu bằng số 0

__________________________________________________________________________ Nguyễn Trung Lập Truyền dữ liệu

Page 195: tong quan ve tri tue nhan tao

_____________________________________________Chương 6 Truyền nối tiếp đồng bộ VI - 9

Sơ cấp Thứ cấp Ns P Nr Ns F Nr 0 000 0 000 0 100 0 000 0 010 1 000 0 110 0 010 0 001 0 010 0 101 0 010 0 011 0 010 0 111 0 010 0 000 1 010 0 011 0 101 0 111 0 101 0 000 0 101 0 100 1 101 0 010 0 101 0 110 0 101 0 001 0 101 0 101 0 101 0 011 1 101

0 000 0 110 0 100 1 110 0 010 0 011 0 110 0 011 0 001 1 011 10 00 1 010 10 00 1 101

(RR) or

10 01 1 101 (REJ)

Trạm sơ cấp phát 3 khung thông tin. Khung thứ 3 là khung thăm dò Trạm thứ cấp báo nhận với Nr=3. Nó gửi lại 2 khung thông tin. Trạm sơ cấp báo nhận tốt 2 khung với Nr=2. Gửi tiếp 6 khung Vì Nr=6, Trạm thứ cấp báo nhận Nr-1=5 khung và yêu cầu phát lại khung 6. Vì trạm sơ cấp không biết chỉ khung 6 hay tất cả các khung theo sau có sai FCS nên nó phát lại tất cả từ khung 6 Trạm sơ cấp báo nhận tốt khung 4 với Nr=5. Tiếp tục phát lại khung 6. (Lưu ý là số đếm Ns đã vượt trị cho phép nên trở về 0) Trạm thứ cấp báo nhận tất cả các khung với Nr=2. Vì trạm thứ cấp không còn gì để gửi, khung giám sát được dùng Trạm sơ cấp gửi tiếp 5 khung Trạm thứ cấp xác nhận khung 4 và yêu cầu phát lại từ khung 5 (Nr=5)

- Khung loại S: (Giám sát , Supervisory frame, S-frame), dùng để đếm số khung

gửi/nhận; một số lệnh và lời đáp báo tình trạng của máy thu (như sẵn sàng hay bận) kiểm soát và báo lỗi.

Khung giám sát bắt đầu bởi 2 bit 10. Bit 3 và 4 (vị trí S trong khung) xác định các lệnh của khung giám sát b3b4= 00 : Ready to receive (RR) b3b4= 10 : Not ready to receive (RNR) b3b4= 01 : Reject (REJ) Trạm thứ cấp sẽ xóa khung RNR bằng cách gửi một khung thông tin với bit F=1 và

đối với các khung RR và REJ thì F=0 hay 1. Trạm sơ cấp sẽ xóa khung RNR bằng cách gửi một khung thông tin với bit P=1 và đối

với các khung RR và REJ thì P=0 hay 1. - Khung loại U: (Không số, Unnumbered frame, U-frame), cung cấp những chức năng

điều khiển phụ như khởi động trạm thu, kiểm tra trạm, giải phóng liên kết khi cần thiết . . . . Khung không số bắt đầu bởi 2 bit 11.

Khi dùng khung U để phát thì không cần đánh số thứ tự bản tin. Bảng 6.2 cho các lệnh trong khung U:

Mã nhị phân Lệnh Phát đi từ trạm sơ cấp

Phát đi từ trạm thứ cấp

Cho phép phát bản văn

__________________________________________________________________________ Nguyễn Trung Lập Truyền dữ liệu

Page 196: tong quan ve tri tue nhan tao

_____________________________________________Chương 6 Truyền nối tiếp đồng bộ VI - 10

1100 P/F 000 1110 P 000 1110 F 000 1100 P 001 1111 F 000 1100 F 010 1100 P 010 1100 P/F 110 1110 F 001

UI SIM RIM

SNRM DM RD

DISC UA

FRMR

x x x x x

x x x x x x

x x

UI - Unumbered Information (NSI - Nonsequenced Information): Cho phép dữ liệu

người sử dụng được phát theo kiểu không tuần tự SIM - Set Initialization Mode: Dùng để khởi tạo một cuộc liên lạc giữa trạm sơ và thứ

cấp. Lệnh này sẽ reset số đếm Ns và Nr và trạm sơ cấp chờ trạm thứ cấp trả lời với lệnh UA. RIM - Request Initialization Mode (RQI - Request Initialization): Trạm thứ cấp yêu

cầu trạm sơ cấp phát lệnh SIM SNRM - Set Normal Response Mode: Đặt trạm thứ cấp vào chế độ chỉ trả lời. Trong

chế độ này trạm thứ cấp có thể trả lời với các loại khung I, U và S. Trạm thứ cấp không thể tự đặt mình vào một trong hai chế độ NRM và DISC DM - Disconnect Mode (ROL - Request On-Line): Được phát bởi trạm thứ cấp để

báo cho trạm sơ cấp biết nó đang ở chế độ bình thường không kết nối. Thường khi được báo thì trạm sơ cấp sẽ đặt chế độ trả lời bình thường cho nó (SNRM).

RD - Request Disconnect (RQD - Request Disconnect): Dùng ở trạm thứ cấp để yêu cầu không kết nối.

DISC - Disconnect: Phát bởi trạm sơ cấp để đưa trạm thứ cấp vào chế độ bình thường không kết nối. Ở chế độ này trạm thứ cấp nhận tin nhưng không tác động được vào bản tin.

UA - Unumbered Acknowledgement (NSA - Nonsequenced Ack.): Phục vụ như một tín hiệu ACK (trạm thứ cấp báo nhận) đối với khung SNRM, DISC hoặc SIM.

FRMR - Frame Reject (CMDR - Command Reject): được dùng bởi trạm thứ cấp để từ chối một khung sai FCS.

Để phát lệnh FRMR, trạm thứ cấp phải ở chế độ trả lời bình thường (NRM). Lệnh này báo cho trạm sơ cấp biết khung thông tin trạm thứ cấp nhận được có một trong các lỗi:

- Trường điều khiển không có nghĩa. - Trường thông tin quá dài (dài hơn bộ đệm của máy thu). - Số Nr phát từ trạm sơ cấp không có giá trị (không tương thích với số Ns của trạm thứ

cấp). Trạm thứ cấp sau khi phát lệnh này chỉ trở về chế độ bình thường khi nhận được một

trong các lệnh đặt chế độ như DISC, SIM hoặc SNRM từ trạm sơ cấp. Ta nói các lệnh này reset lệnh FRMR.

Khi gửi khung FRMR, trạm thứ cấp phải dùng dạng văn bản cố định, trong đó có chỉ rõ lý do sai:

Flag Address field

FRMR control field

control field of rejected frame

[ Ns Nr] 0 xxx 0 xxx

[ ] wxyz 0000

FCS Flag

- Nr và Ns là số thứ tự hiện hành của trạm thứ cấp. Lý do sai xác định bởi các bit wxyz (các số 0 thêm vào sau các bit wxyz cho đủ 8 bit) - w=1 nếu trạm thứ cấp nhận được lệnh không có giá trị hay không thể thi hành được. - x=1 khung thông tin không đúng. - y=1 đệm thu bị tràn. - z=1 nếu số Nr không khớp với số Ns.

__________________________________________________________________________ Nguyễn Trung Lập Truyền dữ liệu

Page 197: tong quan ve tri tue nhan tao

_____________________________________________Chương 6 Truyền nối tiếp đồng bộ VI - 11

Dưới đây là một thí dụ về mẫu đối thoại trong hệ thống nhiều điểm, phương thức truyền song công hoàn toàn (F/FDX). Trạm A khởi động ở chế độ NRM và trạm B ở chế độ DM _____________________________________________________________________

Flag A RR FCS Flag Trạm sơ cấp thăm dò trạm A 7E C 1 11 7E

Flag A Text FCS Flag A gửi khung thông tin thứ nhất; 7E C 1 00 7E Nr=Ns=0 , F=0

Flag A Text FCS Flag A gửi khung thông tin thứ hai; 7E C 1 02 7E Nr= F =0 , Ns =1

Flag A Text FCS Flag A gửi khung thông tin thứ ba; 7E C 1 14 7E Nr=0 , F=1 , Ns=2

Flag A Text FCS Flag Sơ cấp gửi văn bản trả lời; 7E C 1 60 7E Nr=3 , P=0 , Ns=0 Flag A Text FCS Flag Sơ cấp gửi khung thông tin thứ 2; 7E C 1 72 7E Nr=3 , P=1 , Ns=1

Flag A REJ FCS Flag Trạm A báo khung thứ 2 sai FCS; 7E C 1 39 7E Nr=1, F=1

Flag A Text FCS Flag Sơ cấp phát lại khung thứ 2; 7E C 1 72 7E Nr=3, P=1, Ns=1

Flag A RR FCS Flag Trạm A báo nhận khung thứ 2; 7E C 1 51 7E Nr=2, F=1

Flag B Text FCS Flag Sơ cấp gửi khung thông tin trạm B; 7E C 2 10 7E Nr=Ns=0, P=1

Flag B DM FCS Flag Trạm B báo nó đang ở chế độ DM; 7E C 2 1F 7E

Flag B SNRM FCS Flag Sơ cấp đặt trạm B vào chế độ NRM; 7E C 2 93 7E Nr=Ns=0, P=1

Flag B UA FCS Flag Trạm B trả lời bằng lệnh UA; 7E C 2 73 7E

Flag B Text FCS Flag Sơ cấp gửi khung tt 1 tới trạm B; 7E C 2 00 7E Nr=Ns=0, P=0 Flag B Text FCS Flag Sơ cấp gửi khung tt 2 tới trạm B; 7E C 2 02 7E Ns=1, Nr=0, P=0 Flag B Text FCS Flag Sơ cấp gửi khung tt 3 tới trạm B; 7E C 2 04 7E Ns=2, Nr=0, P=0 Flag B Text FCS Flag Sơ cấp gửi khung tt 4 tới trạm B; 7E C 2 16 7E Ns=3, Nr=0, P=1

Flag B RR FCS Flag Trạm B báo nhận tất cả các khung; 7E C 2 91 7E Nr=4, F=1

Flag B DISC(Text) FCS Flag Sơ cấp gửi lệnh disconnect tới trạm 7E C 2 53 7E B đồng thời gửi theo một bản tin

Flag B FRMR DISC -- -- FCS Flag Trạm B trả lời với khung FRMR, 7E C 2 97 53 80 02 7E DISC là trường ĐK của lệnh sai

80 Nr=4, Ns=0 : số đếm hiện thời của trạm B 02: x=1: Bản văn không được phép

Flag B DISC FCS Flag Sơ cấp gửi lệnh disconnect tới trạm B 7E C 2 53 7E

Flag B UA FCS Flag Trạm B trả lời với lệnh UA; 7E C 2 73 7E

______________________________________________________________________________________

d. Trường thông tin (Information field) Trường thông tin xuất hiện trong khung I , đôi khi trong khung U. Trường thông tin có thể chứa một số bit bất kỳ là bao nhiêu, chiều dài của nó không xác định nhưng thường là bội của 8.

e. Trường kiểm tra khung (Frame check sequence field, FCS)

__________________________________________________________________________ Nguyễn Trung Lập Truyền dữ liệu

Page 198: tong quan ve tri tue nhan tao

_____________________________________________Chương 6 Truyền nối tiếp đồng bộ VI - 12

Trường kiểm tra khung FCS chứa nội dung chỉ phương pháp thực hiện việc kiểm tra. FCS thông dụng trong SDLC là loại 16 bít kiểm tra độ dư thừa theo chu kỳ (CRC) do CCITT thiết lập (CRC-16).

6.2.2.3 Vận hành

Vận hành của SDLC bao gồm việc trao đổi các khung I, khung S và khung U giữa trạm sơ và thứ cấp hay giữa hai trạm sơ cấp. Ngoài các lệnh đề cập ở trên, ta lưu ý thêm vài chi tiết sau:

- Bản văn báo bỏ: đó là bản văn chứa từ 7 đến 14 số 1 liên tiếp (bit nhồi không được thêm vào cho đoạn văn bản này), ở máy thu, sau khi nhận được Flag, nếu gặp liên tiếp từ 7 đến 14 số 1 thì hiểu rằng không phải quan tâm tới tất cả những gì nhận được cho đến lúc đó. Xung đồng bộ vẫn được duy trì khi nhận được bản văn báo bỏ. Điều kiện bỏ cũng dùng để kết thúc một khung và bắt đầu cho khung khác ưu tiên hơn. - Trạng thái nghỉ: Hệ thống vẫn vận hành nhưng không có một khung thông tin hay điều khiển được phát đi thì hệ thống vào trạng thái nghỉ, lúc này máy thu nhận được liên tiếp ít nhất 15 bit 1. - Mã dùng trong SDLC: Để đảm bảo máy thu duy trì được đồng bộ phải có một sự thay đổi thường xuyên ở dòng dữ liệu tới. Do đã thực hiện biện pháp nhồi bit nên không bao giờ có quá 5 bit 1 liên tiếp vậy chỉ còn trường hợp một loạt bit 0 liên tiếp có thể xảy ra. Để giải quyết trường hợp này, người ta dùng loại mã non-return-to-zero inverted (NRZI) cho dữ liệu trong SDLC . Tính chất của loại mã này là Không có sự thay đổi mức tín hiệu khi gặp bit 1 và mức tín hiệu bị đảo khi gặp bit 0.

(H 6.6)

- Các bước tiến hành để chuẩn bị phát một bản tin: * Tạo bản văn và trường điều khiển: Control field Text * Thêm địa chỉ vào: Address Control field Text * Tạo khung FCS: Address Control field Text FCS

* Thực hiện nhồi bit: Bit nhồi được thực hiện cho khung thông tin kể từ địa chỉ và khung FCS. * Thêm các cờ ở đầu và cuối bản tin. Lưu ý là bit nhồi thực hiện sau khi tính toán cho khung FCS nên trong khung FCS cũng có thể có bit nhồi và ở máy thu phải loại bit nhồi trước khi dùng thuật toán kiểm tra lỗi. Dưới đây thêm vài ví dụ về các lệnh trong vận hành của SDLC (không ghi lại mã)

Dạng tổng quát của một lệnh A , C/R P/F (0)

__________________________________________________________________________ Nguyễn Trung Lập Truyền dữ liệu

Page 199: tong quan ve tri tue nhan tao

_____________________________________________Chương 6 Truyền nối tiếp đồng bộ VI - 13

A địa chỉ trạm thứ cấp C/R Lệnh hỏi hoặc lời đáp Khoảng trống dùng cho số Ns, có thể thêm dấu ( ) vào nếu cần P/F Poll hoặc Final bit (P = On P = Off, tương tự cho F) (0) số Nr (nếu cần) 1/ Trạm thứ cấp được nối vào đường dây và trao đổi khung I, U B , RR - P(0) → A Polls B ← B , RIM - F B Request Initialization B , SIM - P → A Sets B to initialization mode ← B , UA - F B Acknowledges B is brought online through system ↓ procedures when initialization complete B , SNRM - P → A Set B 's response mode.Nr and Ns counts are reset to 0 ← B , UA - F B Acknowledges B , RR - P(0) → A Polls B for transmission B , I(0) P (0) → Duplex exchange of numbered I - Frame ← B , I(0) F (0) B , I(1) P (0) → A Sends frame 1 B , I(2) P (0) → A Sends frame 2. B confirms frame 0-1 ← B , I(1) F (2) and sends frame 1 B , I(3) P (1) → A confirms frame 0 and sends frame 3 ← B , I(2) F(3) B confirms frame 2 and sends frame 2 B , RR - P(3) → A confirms frame 1-2 and Poll B ← B , RR - F(4) B confirms frame 3 ( B remains in NRM) ----------------------------------------------------------------------------------------------------------------- 2/ Trạm thứ cấp bận B , I(4) P (3) → A sends numbered I - Frames B , I(5) P (3) → B , I(6) P (3) → B , I(7) P (3) → B , I(0) P(3) → A Polls B ← B , RNR - F(0) B becomes busy, but confirms frame 4-7 B , RR - P(3) → A asks if B is still busy ← B , RR - F(0) B can receive again and expects frame 0 B , I(0) P (3) → A sends frame 0 again B , I(1) P (3) → A continues with frame 1 B , I(2) P(3) → A sends frame 2 and poll B(gửi thăm dò) ← B , RR - F(3) B confirms frame 0 - 2 (B remains in NRM) ----------------------------------------------------------------------------------------------------------------- 3/ Trạm sơ cấp bận B , SNRM - P → A sets B 's response mode and reset the Nr and Ns counts to 0 ← B , UA - F B Acknowledges B , RR - P(0) → A Polls B ← B , I(0) F (0) B sends numbered I - frame ← B , I(1) F (0) ← B , I(2) F (0) ← B , I(3) F (0) B , RNR - P (3)→ A becomes busy, but confirms frame 0 - 2 ← B , RR - F(0) B stops sending

__________________________________________________________________________ Nguyễn Trung Lập Truyền dữ liệu

Page 200: tong quan ve tri tue nhan tao

_____________________________________________Chương 6 Truyền nối tiếp đồng bộ VI - 14

B , RR - P(3) → A Polls B ← B , I(3) F (0) B retransmits frame 3 ← B , I(4) F (0) B sends frame 4 (CRC error) A has a CRC error on frame 4 B , RR - P(4) → A Polls B, confirms frame 3 ← B , I(4) F(0) B sends frame 4 again B , RR - P (5) → A confirms frame 4 (B remains in NRM) ------------------------------------------------------------------------------------------------------------------------------------ 4/ Lệnh không có giá trị B ,XXX- P → A sends frame with an undefined C field. ← B , FRMR - F B rejects the frame Higher level at A processes the status reported by B in FRMR response. B ,SNRM - P → A resets B 's error condition Nr and Ns counts are reset to 0. ← B , UA - F B acknowledges (B remains in NRM) ------------------------------------------------------------------------------------------------------------------------------------ 5/ Số thứ tự sai trong trao đổi song công

B , RR - P(0) → A polls B for transmission ← B , I(0) F (0) B sends numbered I- frame B , I(0) P (0) → ← B , I(1) F (0) Duplex exchange of numbered I - Frame ← B , I(2) F (0) (CRC error) B receives frame 0 with CRC error B , I(1) P (2) → A ' s frame 1 is out of numerical order (Lẻ ra phải phát lại khung 0) ← B , I(3) F (0) ← B , I(4) F(0) ← B , SREJ - F (0) B expects frame 0. B , I(0) P (5) → A sends frame 0 again and confirms frame 0 - 4 ← B , I(5) F(0) B sends final I--frame B , I(1) P (5) → A retransmits frame 1 B , RR - P(6) → A confirms frame 5 and polls B for confirmation ← B , RR - F(2) B confirms frame 1 (B remains in NRM) ----------------------------------------------------------------------------------------------------------------- Các thí dụ cho hệ multipoint

Các trạm thứ cấp online, trạm sơ cấp gửi tín hiệu tới một trạm thứ và đồng thời nhận

tín hiệu từ một trạm khác 6/ B , RR - P → A Polls B for status ← B , RIM - F B asks for initialization mode B , SIM - P → A sets B to initalization mode ← B , UA - F B acknowledges B is brough on line through system procedures when initialization is complete B , SNRM - P → A sets B on line. Nr & Ns counts are reset

__________________________________________________________________________ Nguyễn Trung Lập Truyền dữ liệu

Page 201: tong quan ve tri tue nhan tao

_____________________________________________Chương 6 Truyền nối tiếp đồng bộ VI - 15

← B , UA - F B acknowledges n , RR - P(0) → A Polls n for transmission B , I(0) P (0) → ← n , I(0) F (0) n sends numbered frames to A while A sends to B B , I(0) P (0) → ← n , I(1) F (0) ← n , I(2) F (0) ← n , I(3) F (0) n completes its transmission of numbered frames B , RR - P(0) → A Polls B for confirmation B , I(1) - P(0) ← B , RR - F(2) B confirms 0 - 1 n , RR - P (4) → A confirms frames 0-3 (B&n remain in NRM) 7/ n , I(0) P (4) → A sends numbered frames to n B , I(2) P (0) → A sends numbered frames to B n , I(1) P(4) → A concludes sending to n and requests confirmation B , I(3) P (0) → ← n , RR - F(2) A continues sending to B, n confirms frame 0 - 1 B , I(4) P(0) → A concludes sending to B and requests confirmation ← B , RR - F(5) B confirms (B & n remain in NRM) Ví dụ 6, các trạm thứ cấp được kết nối, trạm sơ cấp gửi tín hiệu tới một trạm trong khi nhận tín hiệu của trạm khác Ví dụ 7, trạm sơ cấp gửi tín hiệu tới các trạm thứ cấp.

6.2.2.4 So sánh giữa Bisynch và SDLC: Bisynch là giao thức hướng ký tự trong lúc SDLC là giao thức hướng bit. Bisynch có thể dùng mã ASCII hay EBCDIC trong lúc SDLC chỉ dùng EBCDIC. Để dò lỗi, nếu là ASCII thì dùng phép kiểm tra khối (BCC) còn khi dùng mã EBCDIC thì dùng kiểm tra dư thừa theo chu kỳ (CRC) với chiều dài mã kiểm tra là 2 byte. Cả hai giao thức đều dùng chung kích thước khung thông tin là 256 byte. Ở Bisynch có chế độ thông suốt dữ liệu (để tránh nhầm lẫn dữ liệu và ký tự điều khiển) trong lúc ở SDLC thì dùng phương pháp nhồi bit (để tránh nhầm lẫn với mã Cờ).

6.2.2.5 Giao thức Điều khiển liên kết dữ liệu cấp cao (HDLC)

HDLC được ISO cho ra đời năm 1975 nhằm bổ sung một số chức năng của SDLC của IBM. Một số bổ sung có thể kể ra như sau: - Trường địa chỉ mở rộng, gồm nhiều byte: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 8n 0 0 ------------- 1 (H 6.7) Trường địa chỉ mở rộng

Trong trường địa chỉ mở rộng, địa chỉ xác định bơi một số là bội của 7 bit. Bit LSB trong một byte là 0 hoặc 1 (là 0 khi byte đó chưa phải là byte cuối cùng và là 1 khi là byte cuối cùng của trường địa chỉ) 7 bit còn lại hình thành địa chỉ của trạm thứ cấp (H 6.7). - Trường điều khiển mở rộng, gồm 2 byte (H 6.8): 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Information 0 Ns P/F Nr Supervisory 1 0 S 0 0 0 0 P/F Nr Unnumbered 1 1 M 0 M P/F 0 0 0 0 0 0 0 0

__________________________________________________________________________ Nguyễn Trung Lập Truyền dữ liệu

Page 202: tong quan ve tri tue nhan tao

_____________________________________________Chương 6 Truyền nối tiếp đồng bộ VI - 16

(H 6.8) Trường điều khiển mở rộng Trong trường điều khiển mở rộng, các số Ns và Nr gồm 7 bit như vậy cho phép phát một lần 127 bản tin.

- Dạng khung dữ liệu: SDLC chỉ dùng mã EBCDIC 8 bit còn HDLC cho phép dùng bất cứ loại mã nào - Dạng khung giám sát: ngoài các lệnh RR, RNRvà REJ, HDLC có thêm lệnh SREJ (selective reject), lệnh này do thứ cấp yêu cầu phát lại một khung có số Nr.

- HDLC có thêm 2 chế độ vận hành: * Chế độ trả lời bất đồng bộ (Asynchronous Response Mode - ARM) : đây là dạng truyền

không cân bằng. Trạm thứ cấp có thể khởi động để phát mà không cần lệnh của trạm sơ cấp. Nó có thể trả lời mà không cần phải nhận được một khung với bit P =1. Tuy nhiên, khi nó nhận được một khung với bit P =1 thì khung trả lời phải có bit F =1. Trong trường hợp này F=1 không có nghĩa là khung cuối cùng của trạm thứ cấp.

- Chế độ không kết nối bất đồng bộ (Asynchronous Disconnect Mode - ADM) : ADM tương tự như DM ngoại trừ một điểm là trạm thứ cấp có thể khởi động chế độ DM hay RIM bất cứ lúc nào.

6.3 Khảo sát vài IC LSI truyền đồng bộ

Chúng ta khảo sát dưới đây hai IC tiêu biểu - USART 8251A của Intel - SSDA 6852 của Motorola

6.3.1 USART 8251A của Intel Bảng 6.3 Từ Control và command D7 Từ SYN đơn

SCS (Single character SYN) 1 = Đơn 0 = Kép

Vào chế độ tìm EH (Enter hunt mode)

1 = Cho phép tìm từ SYN

D6

Dò từ SYN bên ngoài ESD (External SYN Detect)

1=Chân SYNDET là ngã vào 0 = ngã ra

Reset nội IR (Internal Reset)

1 = Reset 8251A

D5 Chọn KT chẵn EP (Even parity Enable)

1 = Chẵn 0 = lẻ

Yêu cầu phát RTS

1 = Chân RST thấp 0 = cao

D4 Cho phép KT chẵn lẻ PEN (Parity Enable)

1= Có KT chẵn lẻ 0 = Không

Error reset ER

1 = Reset cờ lỗi PE, OE, FE to 0

D3 Chọn chiều dài ký tự L1

00 = 5 bit 01 = 6 bit

Phát từ break SBRK(Send Break Ch.)

1 = Chân TxD thấp 0 = Chân TxD cao

D2 L0 10 = 7 bit 11 = 8 bit

Cho phép thu RxE

1 = Cho phép 0 = Không

D1 Chọn hệ số chia CKB1

D1D0 00= Truyền Đ. bộ 01 = :1

DTE sẵn sàng DTR

1 = Chân DTR thấp 0 = cao

D0 B0 10 = :16 11 = : 64

Cho phép phát TxE

1 = Cho phép 0 = Không

Mode control word bit Command word bit Ghi chú: Reset lỗi phải hoàn thành khi RxEnable và Enter hunt được lập trình Là IC thu phát đồng bộ và bất đồng bộ. Trong chương 4 ta đã khảo sát IC này trong chế độ bất đồng bộ, bây giờ chúng ta tìm hiểu thêm một số tính chất của IC trong chế độ đồng bộ. Vận hành ở chế độ đồng bộ 8251A có vận tốc truyền lên tới 64 kbps. Chi tiết các thanh ghi điều khiển, lệnh và trạng thái cho ở bảng 6.3 và 6.4

Để IC hoạt động ở chế độ đồng bộ bit D0 và D1 trong thanh ghi điều khiển = 00, các bit D2, D3, D4, D5 như trong phần bất đồng bộ, bit D6 cho phép chọn thực hiện đồng bộ từ bên trong hay bên ngoài và bit D7 cho phép chọn 1 hay 2 từ SYNC

__________________________________________________________________________ Nguyễn Trung Lập Truyền dữ liệu

Page 203: tong quan ve tri tue nhan tao

_____________________________________________Chương 6 Truyền nối tiếp đồng bộ VI - 17

- Chân SYN/BREAK của IC trong chế độ đồng bộ có thể là ngã ra hoặc ngã vào và tùy thuộc vào từ điều khiển trong chương trình. Khi thực hiện chế độ đồng bộ bên trong thì chân này là ngã ra, ở mức thấp khi được reset và lên cao để chỉ rằng máy thu đã nhận được từ SYNC. Khi máy thu thực hiện tác vụ đọc trạng thái thì chân này tự động reset. Khi thực hiện chế độ đồng bộ từ bên ngoài thì chân này là ngã vào, tín hiệu dương đến chân này báo 8251A bắt đầu nhận dữ liệu Bảng 6.4 8251A Status Register

D7 Data set ready DSR

1 = DSR pin is low 0 = high

D6 Sync. char. detect SYNDET

1 = Sync. char. detect (Synchronous only)

D5 Framing error FE

1 = Framing error reset by writing ER = 1 (Synchronous only)

D4 Overrun error OE 1 = Overrun error D3 Parity error PE 1 = Parity error D2 Trans. reg. Empty

Tx Empty 1 = Empty 0 = Busy

D1 Receiver ready RxD 1 = Ready with new char. D0 Trans. Ready TxD 1 = Ready for next char.

Ghi chú : - TxRDY có nghĩa khác với chân TxRDY . Chân TxRDY phụ thuộc trạng thái chân CTS và bit TxEN - Bit TxRDY lên 1 khi thanh ghi đệm phát trống - 82251A ở chế độ phát đồng bộ 8251A bắt đầu phát dữ liệu ngay sau khi CPU nạp từ SYNC cho đến khi không còn tín hiệu để phát, thanh ghi đệm phát trống mà CPU không nạp ký tự kế tiếp thì 8251A tự động thêm từ SYNC vào và phát đi - 8251A ở chế độ thu đồng bộ - Khi sự đồng bộ được thực hiện từ bên trong, lệnh ENTER HUNT phải được lập trình trong từ lệnh đầu tiên, việc này khiến 8251A dò từ SYNC trong dòng dữ liệu đến, sau khi dò ra USART chấm dứt chế độ HUNT và máy thu trong tình trạng đồng bộ hóa, chân SYNDET lên cao để báo cho µP biết. - Khi sự đồng bộ được thưc hiện từ bên ngoài, xung đồng hồ dời bit của máy thu được cấp vào chân RxC . Xung này thường được cấp từ modem và phải đồng bộ với dòng dữ liệu thu được. Ở chế độ đồng bộ, 8251A làm việc với một tần số cố định của xung đồng hồ (chứ không được chia như ở chế độ bất đồng bộ). Tần số xung này phải phù hợp với vận tốc truyền bit.

- Khởi động 8251A Tương tự như ở chế độ bất đồng bộ, ngoại trừ ký tự SYNC phải đươc lập trình như sau - Reset chip: đưa chân RST lên cao (Reset cứng) hoặc set bít IR trong thanh ghi lệnh = 1 (Reset mềm) - Ghi mã ký tự SYNC - Ghi từ lệnh Chân C/ D ở mức cao trong 3 lần ghi Byte đã ghi giữa từ chọn mode và từ lệnh (command) đã chốt vào USART là mã ký tự SYNC - Phát một ký tự Cũng như trong chế độ bất đồng bộ, chân CTS phải ở mức thấp và bit TxEn trong thanh ghi từ lệnh được set = 1 (cho phép phát) - Chờ bit TxRDY được set hay chân TxRDY lên cao

__________________________________________________________________________ Nguyễn Trung Lập Truyền dữ liệu

Page 204: tong quan ve tri tue nhan tao

_____________________________________________Chương 6 Truyền nối tiếp đồng bộ VI - 18

- Ghi ký tự kế tiếp vào thanh ghi đệm phát. Khi truyền xong ký tự cuối cùng của khối, chân TxE (trans. empty) sẽ ở High và bit TxEn được set, USART tự động phát từ SYNC trong suốt thời gian nghỉ Các bit được dời ra cùng lúc với cạnh xuống của tín hiệu TxC .

- Thu một ký tự Để thu một ký tự ở chế độ đồng bộ cần thực hiện các bước: - Ghi từ ENTER HUNT như là một phần của lệnh đầu tiên vào thanh ghi từ lệnh - Chờ chân SYNDET lên cao - Chờ chân RxRDY lên cao hay bit trạng thái tương ứng được set (D1 thanh ghi trạng thái = 1) - Đọc ký tự từ thanh ghi đệm thu - Đọc trạng thái lỗi từ thanh ghi trạng thái Những bit lỗi của thanh ghi trạng thái được reset nhờ từ lệnh có bit ER được set = 1 (D4 = 1). Các bit dữ liệu được dời vào cùng lúc với cạnh lên của xung đồng hồ thu RxC

- 8251A giao tiếp với modem (H 6.9) là một mẫu giao tiếp giữa 8251A và modem, chuẩn giao tiếp RS-449 được sử dụng. Xung đồng hồ thu phát được cấp từ modem

(H 6.9)

6.3.2 SSDA 6852 của Motorola 6852 của Motorola là IC điều hợp đồng bộ nối tiếp (Synchronous Serial Data Adaptor, SSDA) loại NMOS 24 chân được chế tạo để giao tiếp với họ vi xử lý 6800 của Motorola trong chế độ đồng bộ. (H 6.10) là sơ đồ khối của 6852

10⎯→ CS Tx SHIFT REGISTER ⎯⎯⎯⎯→TxD ⎯→6 11⎯→ RS 13⎯→ 14⎯→ 7←⎯

R/ W E IRQ

Tx FIFO

9⎯→ RST Rx SHIFT REGISTER ←⎯⎯⎯⎯RxD ←⎯2

1←→ Vss

12⎯→ Vcc

Rx FIFO

15←→ D7

__________________________________________________________________________ Nguyễn Trung Lập Truyền dữ liệu

Page 205: tong quan ve tri tue nhan tao

_____________________________________________Chương 6 Truyền nối tiếp đồng bộ VI - 19

CONT. REG. 1 CONT. REG. 2 CONT. REG. 3

22←→ D0 SYNC. CODE REG. STATUS REGISTER

TUF CD CTS SM/ DTR

TxCLK RxCLK

8↓ 23↑ 24↑ 5↓ 4↑ 3↑ (H 6.10)

Ý nghĩa các chân - CS, RS : Chip select, Register select - R/ W : Read/Write - E : Data I/O enable & Clocking - IRQ : Interrupt Request - RST : Reset - D7 - D0 : Data bus I/O - RxCLK, TxCLK : Receive Clock, Transmitter Clock - CTS : Clear to send - CD : Carrier detect - SM/ DTR : Sync. match/Data term ready: Điều hợp đồng bộ/DTE sẳn sàng - TUF : Trans. underflow - Vcc & Vss : Power & Ground

-TxD,RxD : Transmit Data, Receive Data Là IC chỉ có chức năng thu phát đồng bộ, 6852 có một số chi tiết không giống như 8251A. Đặc biệt nó có bộ đệm thu phát 3 byte hoạt động theo kiểu vào trước ra trước (First In, First Out, FIFO) . Sử dụng bộ đệm này 6852 có thể vận hành theo chế độ byte kép (Double-byte) nghĩa là CPU có thể đọc hoặc ghi đồng thời 2 ký tự mà không phải đợi Việc chọn chế độ vận hành và điều khiển ở SSDA đều thông qua µP bằng cách ghi vào 3 thanh ghi điều khiển. Các trạng thái lỗi và bắt tay được đọc từ thanh ghi trạng thái. Vị trí bit của các thanh ghi cho trong bảng 6.5 và 6.6

Bảng 6.5 Các từ trong thanh ghi điều khiển của 6852 bit 7

Cho phép ngắt khi có lỗi EIE

1 = Cho phép ngắt PE, RxOvrn, TUF, CTS , CD

Bit địa chỉ AC2

00: Chọn CR2 01: Chọn CR3 10: T G mã Sync

bit 6

Không

sử dụng

Phát từ Sync khi underflow Tx Sync

1 = Phát từ Sync 0 = Phát bit 1 khi underflow

AC1

11: Chọn TxFIFO Reg. (khi RS=1và R/ W =0 )

bit 5

Word length selector WS3

000-6 + parity chẵn 001-6 + parity lẻ 010-7 bits

Cho phép ngắt thu RIE

1: Chân IRQ tác động

bit 4

WS2

011-8 bits 100-7 + parity chẵn 101-7 + parity lẻ

Cho phép ngắt phát TIE

1: Chân IRQ tác động

bit 3

Xóa cờ CTUF

1: Xóa TUF WS1 110-8 + parity chẵn 111-8 + parity lẻ

CLR sync 1: Xóa đồng bộ

bit 2

CLR CTS 1: Clear CTS Chọn phát 1 hay 2 byte

1: 1 byte data I/O 0: 2byte Data I//O

Loại bỏ từ đồng bộ

1: Loại từ Sync từ dòng dữ liệu thu

bit 1

1or2 SYNC char. select 1 / 2 sync

1=1 từ sync 0=2 từ sync

Bit điều khiển ngoại vi PC2

00: SM/DTR = 1 10: SM/DTR = 0 01: SM/DTR = xung

Reset phát TxRS

1= Reset phát

bit 0

Chọn Sync trong hay ngoài E/I sync

1=Ngoài 0=Trong

PC1

đồng bộ 11-SM/DTR = 0 Vô hiệu hóa xung đồng bộ

Reset thu RxRS

1= Reset thu

Control Reg.3 (CR3) Control Register 2 (CR2) Control Reg.1(CR1)

__________________________________________________________________________ Nguyễn Trung Lập Truyền dữ liệu

Page 206: tong quan ve tri tue nhan tao

_____________________________________________Chương 6 Truyền nối tiếp đồng bộ VI - 20

Đối với µP 6852 chỉ xuất hiện bằng hai cách định địa chỉ (chân RS ở High và CS ở Low- Thường CS được nối với đường địa chỉ A0). Từ sơ đồ khối ta thấy có 7 thanh ghi trong 6852 có thể được µP truy xuất. Ngoại trừ thanh ghi điều khiển 1, tất cả các thanh ghi khác đều chỉ có thể đọc hoặc chỉ có thể ghi tùy chức năng Trạng thái của đường R/ W được dùng để chọn nhóm thanh ghi chỉ đọc hay chỉ ghi

Từ bảng 6.5 ta thấy 2 bit có trọng số lớn nhất trong thanh ghi điều khiển 1 được dùng để định địa chỉ các thanh ghi khác. Việc định địa chỉ có thể tóm tắt như sau:

Chân Thanh ghi ĐK1 Chọn thanh ghi RS R/W b7 b6

0 1 0 0 1 1 1 0 1 0 1 0 1 0

x x x x x x 0 0 0 1 1 0 1 1

Thanh ghi trạng thái Thanh ghi ĐK CR1 Thanh ghi Rx FIFO Thanh ghi ĐK CR2 Thanh ghi ĐK CR3 Thanh ghi mã SYNC Thanh ghi Tx FIFO

Duyệt qua các bit trong thanh ghi trạng thái và điều khiển trong bảng 6.5 và 6.6 ta thấy có nhiều điểm tương đồng với 8251A. Mỗi khi máy thu dò ra từ SYNC trong dòng dữ liệu đến, chân SM xuất hiện xung có chiều dài 1 bit ( giống như chân SYNDET của 8251A) Bảng 6.6 6852 Status Register Word bits (SR) bit 7 Yêu cầu ngắt

IRQ 1 = Chân IRQ tác động

bit 6 Parity error PE

1 = Có lỗi parity Reset khi đọc RxFIFO or ghi vào CR1 với RxRS = 1

bit 5 Receiver Overrun Rx OVRN

1 = Có lỗi tràn Reset khi đọc Status Reg. và RxFIFO hay ghi vào CR1 với RxRS=1

bit 4 Transmitter Underflow TUF

1= Có lỗi Underflow Reset khi ghi vào CR3 với CTUF và/hoặc TxRS = 1

bit 3 Clear to send CTS

1= CTS ↑ từ lần xóa cuối cùng Reset khi ghi vào CR3 với CTS và/hoặc TxRS = 1

bit 2 Carrier Detect CD

1 = CD ↑ từ lần xóa cuối cùng Reset khi đọc Status Reg. và RxFIFO hay ghi vào CR1 với RxRS=1

bit 1 Transmitter data register available TDRA

1= Có hiệu lực Reset khi ghi vào TxFIFO

bit 0

Receiver data available RDA

1 = Có hiệu lực Reset khi đọc RxFIFO

- Khởi động 6852

Khởi động 6852 bao gồm các bước sau : - Reset chip bằng cách ghi từ điều khiển vào thanh ghi CR1 và xác định địa chỉ thanh ghi CR3 - Ghi từ điều khiển mong muốn vào thanh ghi CR3 (chọn số từ SYN và chế độ đồng bộ) - Ghi từ điều khiển vào thanh ghi CR1 để duy trì điều kiện reset và xác định địa chỉ thanh ghi CR2 - Ghi từ điều khiển mong muốn vào thanh ghi CR2 - Ghi từ điều khiển vào thanh ghi CR1 để duy trì điều kiện reset và truy xuất thanh ghi mã đồng bộ kế tiếp - Ghi mã mong muốn vào thanh ghi mã đồng bộ

__________________________________________________________________________ Nguyễn Trung Lập Truyền dữ liệu

Page 207: tong quan ve tri tue nhan tao

_____________________________________________Chương 6 Truyền nối tiếp đồng bộ VI - 21

- Ghi từ điều khiển mong muốn vào thanh ghi CR1 (bao gồm việc cho phép thu và (hoặc) phát) - Phát một ký tự - CTS phải ở mức thấp và bit TxRS phải được xóa - Chờ bit TDRA trong thanh ghi trạng thái (Trans. Data Register Available) được set -Viết mã ký tự phát vào bộ đệm TxFIFO Chu trình được lặp lại cho tới khi cả khối dữ liệu được phát. Nếu CPU không cung cấp Data đủ nhanh để máy phát phát, ta nói máy phát ở tình trạng underflow và bit TUF lên cao, lúc đó SSDA tự động thêm từ SYNC vào để phát đi. Bit TUF là một cờ được reset bởi bit b3=1 trong CR3 Các bit được dời ra ngoài khi có cạnh xuống của xung đồng hồ tại ngã vào TxCLK

- Thu một ký tự Để thu một ký tự ngã vào CD phải ở LOW và bit RxRS phải được xóa. Các bit tới máy thu được so sánh với mã SYNC trong thanh ghi mã đồng bộ đến khi có sự tương ứng (nhận dạng từ SYNC) - Chờ cho tới khi RDA được set - Đọc trạng thái lỗi trong thanh ghi trạng thái - Đọc mã ký tự từ bộ đệm RxFIFO Các bit dữ liệu được lấy mẫu ở cạnh lên của xung clock thu tại chân RxCLK.

6.4 KIỂM TRA HỆ THỐNG THÔNG TIN

Một hệ thống thông tin trước khi đưa vào vận hành cũng như trong quá trình sử dụng luôn cần được kiểm tra thường xuyên để bảo đảm tính chính xác và độ tin cậy. - Kiểm tra tương tự thường được thực hiện đối với một hệ thống chuẩn bị đưa vào sử dụng - Kiểm tra số thường được tiến hành thường xuyên để đánh giá chất luợng của hệ thống mà không cần phải ngắt hệ thống trong một thời gian dài

6.4.1 Kỹ thuật tương tự - Phép đo tỷ số PAR Tín hiệu trên một đường truyền thường bị biến dạng do hai nguyên nhân: độ suy giảm biên độ theo tần số và sự biến dạng do trễ pha. Việc đo đạc hai đại lượng này rất tốn kém thời gian và được thực hiện trong suốt thời gian nghiên cứu hệ thống, đây không phải là một công việc thường ngày. Phép đo tỷ số PAR là một phương pháp thử nhanh và cho phép ta đánh giá được hệ thống. Đây là phép đo tỷ số trị đỉnh và trị trung bình của tín hiệu nhận được (Peak to average Ratio) Kỹ thuật PAR dùng một máy phát và một máy thu nối nhau qua hệ thống truyền trên băng tần âm thanh. Máy phát phát tín hiệu để kiểm tra là một chuỗi xung, máy thu nhận tín hiệu xung này, sự suy giảm biên độ và biến dạng pha trong hệ thống làm tiêu hao năng lượng của tín hiệu và do đó làm giảm tỷ số giá trị đỉnh EPK trên trị trung bình của tín hiệu chỉnh lưu toàn kỳ EFWA (Full Wave Average). Tỷ số này là giá trị PAR

% 100*1)E2E(PAR

FWA

PK−=

Nếu tín hiệu hoàn toàn không biến dạng, tỷ số này là 100%

__________________________________________________________________________ Nguyễn Trung Lập Truyền dữ liệu

Page 208: tong quan ve tri tue nhan tao

_____________________________________________Chương 6 Truyền nối tiếp đồng bộ VI - 22

Nếu có biến dạng với trị số chuẩn hóa là 0,75 thì giá trị PAR là 50%. Đây là giá trị chấp nhận được với hệ thống có vận tốc truyền lên tới 2400 bps. Giá trị PAR nhạy đối với biến dạng do suy giảm biên độ, do trễ pha, do nhiễu nền cao, do hệ thống không tuyến tính và các họa tần của tín hiệu . . . ..

6.4.2 Phép đo biến dạng dùng biểu đồ mắt Một phương pháp đo biến dạng rất hữu hiệu trong hệ thống truyền dữ liệu là dùng biểu đồ mắt (Eye pattern). - Biểu đồ mắt : Dùng một tín hiệu xung clock có giá trị br (tức tần số) xác định, dùng kích khởi mạch quét ngang một dao động nghiệm và tín hiệu số cần kiểm tra là các tín hiệu 1 , 0 thay đổi một cách tuần tự được đưa vào bản lệch dọc của dao động nghiệm. Một biểu đồ mắt có dạng như (H 6.11) xuất hiện trên màn ảnh dao động nghiệm

(a) (H 6.11) (b) Sự hình thành biểu đồ mắt có thể hiểu là sự chồng chất của các tín hiệu 1, 0 thay đổi liên tục tạo ra. (H 6.12) minh họa sự hình thành này

(H 6.12)

Nếu tín hiệu xung vào dao động nghiệm gần như lý tưởng thì biểu đồ mắt có dạng gần giống như hình chữ nhật, ta nói biểu đồ mắt hoàn toàn mở (H 6.11.a) Trong thực tế biến dạng không thể nào tránh khỏi hoàn toàn và biểu đồ mắt đóng lại (H 6.11.b). Giao điểm của các biến đổi từ 1 xuống 0 và ngược lại được gọi là giao điểm 1/0. Sự thay đổi theo chiều ngang của giao điểm 1/0 là sự biến động (jitter). (H 6.13) cho thấy các giá trị biến động khác nhau của biểu đồ mắt. (H 6.13.a) là trường hợp không có biến động, (H 6.13.b) biến động khoảng 5%, (H 6.13.c) khoảng 10%, (H 6.13.d) khoảng 20%, (H 6.13.e) khoảng 50% và (H 6.13.f) > 50%. Sự biến động càng lớn biểu đồ mắt càng khép lại, vậy kích thước của vòng mở tại trung tâm biểu đồ mắt cho ta chất lượng của hệ thống.

__________________________________________________________________________ Nguyễn Trung Lập Truyền dữ liệu

Page 209: tong quan ve tri tue nhan tao

_____________________________________________Chương 6 Truyền nối tiếp đồng bộ VI - 23

(H 6.13) Việc đánh giá chất lượng tín hiệu bằng biểu đồ mắt chỉ cho kết quả tin cậy được khi : - Tín hiêụ 1, 0 tạo bởi mạch phải đối xứng. - Đường dây phải điều hợp tổng trở để tránh sóng phản xạ. - Thời gian trễ của tín hiệu khi chuyển từ mức 0 lên 1 hay ngược lại phải bằng nhau. Nếu một trong các điều kiện trên không thỏa thì chất lượng tín hiệu sút giảm và việc đánh giá không còn chính xác.

__________________________________________________________________________ Nguyễn Trung Lập Truyền dữ liệu

Page 210: tong quan ve tri tue nhan tao

Chương 7: Suy Luận Không Chắc Chắn

Chương VII

SUY LUẬN KHÔNG CHẮC CHẮN

Nội dung chính: Trong chương này, chúng ta sẽ tìm hiểu về các phương pháp suy luận từ các thông tin không chắc chắn hoặc không đầy đủ bao gồm suy luận Bayes, đại số chắc chắn Standford và logic mờ.

Mục tiêu cần đạt : Sau chương này, sinh viên có thể :

Vận dụng công thức Bayes để tính xác suất của một giả thuyết. Hiểu nguyên tắc hoạt động của HCG MYCIN Vận dụng đại số hệ số chắc chắn Stanford vào hệ chuyên gia MYCIN. Hiểu lý thuyết về logic mờ & ứng dụng của nó vào các HCG mờ. Biết lựa chọn phương pháp suy luận phù hợp với vấn đề cần giải quyết.

Kiến thức tiên quyết: Biểu diễn tri thức ở dạng luật, cơ bản về lý thuyết xác suất.

Tài liệu tham khảo :

[1] Geogre F. Luger – Artificial Intelligence, Structures and Strategies for Complex Problem Solving– Addison – Wesley Publishing Company, Inc – 2002 (trang 247 – 290)

[2] Dealing with Uncertaincy

http://www.cs.appstate.edu/~blk/cs4440/chap07/ ch07.pdf

[3] Fuzzy Logic

http://pandora.compsci.ualr.edu/ milanova/7399-11/week14/ FuzzyLogic.ppt

Võ Huỳnh Trâm – Trần Ngân Bình 117

Page 211: tong quan ve tri tue nhan tao

Giáo Trình Trí Tuệ Nhân Tạo

I GIỚI THIỆU:

Trong các chương trước, các thủ tục suy diễn của chúng ta đã tuân theo mô hình suy luận sử dụng trong phép tính vị từ: từ các tiền đề đúng đắn, các luật suy diễn vững chắc sinh ra những kết luận mới, đảm bảo là đúng đắn. Tuy nhiên, trong thực tế, có rất nhiều tình huống chúng ta phải rút ra những kết luận tốt từ những bằng chứng được xác định nghèo nàn và không chắc chắn thông qua việc sử dụng những suy diễn không vững chắc. Đây không phải là một nhiệm vụ không thể thực hiện được, trái lại chúng ta thực hiện chúng rất thành công trong hầu hết mọi khía cạnh của cuộc sống; chẳng hạn như chúng ta phát biểu những chẩn đoán y học đúng đắn và đề xuất cách điều trị từ những triệu chứng không rõ ràng; phân tích những trục trặc của xe ôtô từ những biểu hiện của nó; nhận ra bạn bè chỉ qua giọng nói hoặc điệu bộ của họ,…

Như vậy, ở đây ta có hai loại thông tin không chắc chắn: một là dữ liệu ban đầu được cho là không chắc chắn, không đủ, không đáng tin cậy,… hai là các luật mà ta sử dụng để suy luận không hợp logic, suy luận ngược từ kết luận về điều kiện, hay có thể gọi là suy luận theo kiểu phỏng đoán (abduction). Suy luận phỏng đoán khác với kiểu suy luận vững chắc đề cập ở chương II. Luật modus ponens phát biểu rằng nếu ta có luật P → Q và có P thì ta có thể kết luận Q, như trong luật sau đây:

If ắc quy hoặc dây cáp bị trục trặc

Then động cơ không khởi động được và đèn không sáng.

Đây là một luật luôn luôn đúng hay một suy diễn vững chắc (sound inference rule), nhưng nó không giúp ích cho quá trình chẩn đoán các trục trặc xe hơi. Tuy nhiên, đảo ngược của nó:

If động cơ không khởi động được và đèn không sáng.

Then ắc quy hoặc dây cáp bị trục trặc

lại rất hữu dụng cho việc chẩn đoán trục trặc xe. Đây là một phỏng đoán (abduction) từ triệu chứng quan sát được suy ngược trở lại nguyên nhân của chúng, nên gọi là luật suy diễn không vững chắc (unsound inference rule) vì cũng có thể là ắc quy và dây cáp bình thường, nhưng chiếc xe chỉ đơn giản là có môtơ khởi động hỏng và đèn pha đã bị đứt.

Mặc dù phỏng đoán là không vững chắc, nhưng nó thường đóng vai trò thiết yếu trong giải quyết vấn đề. Trong chương này, chúng tôi đề cập đến hai tiếp cận xử lý suy diễn phỏng đoán và sự không chắc chắn. Tiếp cận thứ nhất là tiếp cận thống kê, trong hướng tiếp cận này sẽ trình bày hai phương pháp: lý thuyết xác suất Bayesian và đại số hệ số chắc chắn Stanford. Tiếp cận thứ hai là suy luận theo logic mờ.

118 Võ Huỳnh Trâm – Trần Ngân Bình

Page 212: tong quan ve tri tue nhan tao

Chương 7: Suy Luận Không Chắc Chắn

II TIẾP CẬN THỐNG KÊ ĐỐI VỚI TÍNH KHÔNG CHẮC CHẮN

II.1 Suy luận Bayes

Suy luận Bayes dựa trên lý thuyết xác suất hình thức và được sử dụng rộng rãi trong một số lĩnh vực nghiên cứu hiện nay, bao gồm cả nhận dạng và phân loại. Trước khi đi vào lý thuyết về Bayes, ta hãy cùng nhau xem lại một số khái niệm cơ bản của lý thuyết xác suất.

II.1.1 Định nghĩa

Xác suất tiên nghiệm (prior probability) hay xác suất vô điều kiện (unconditional probability): là xác suất của một sự kiện trong điều kiện không có tri thức bổ sung cho sự có mặt hay vắng mặt của nó.

Xác suất hậu nghiệm (posterior probability) hay xác suất có điều kiện (conditional probability): là xác suất của một sự kiện khi biết trước một hay nhiều sự kiện khác.

|e1 and e2| P(e1|e2) = = Số lần xuất hiện cả hai sự kiện e1 và e2

Số lần xuất hiện sự kiện e2 |e2|

Ví dụ, cho trước một căn bệnh d và một triệu chứng s, thì xác suất một người có triệu chứng s bị bệnh d được tính theo:

| d and s| P(d | s) = = Số người bị bệnh d có triệu chứng s

Số người có triệu chứng s |s|

Để tính P(d | s) theo công thức trên thì ta phải thực hiện các cuộc điều tra thống kê trên một phạm vi cộng đồng dân cư rộng lớn mới cho ta được một xác suất chính xác. Bayes đưa ra một công thức tính khác cho phép ta tính được P(d | s) từ những kết quả thống kê đã có trước đó hoặc những kết quả thống kê dễ đạt được hơn.

II.1.2 Công thức Bayes

Ta ký hiệu P(h | e) là xác suất khẳng định giả thuyết h đúng cho trước bằng chứng e. Công thức Bayes được phát biểu như sau:

P(e | h) * P(h)

P(e) P(h | e) =

Võ Huỳnh Trâm – Trần Ngân Bình 119

Page 213: tong quan ve tri tue nhan tao

Giáo Trình Trí Tuệ Nhân Tạo

Công thức này nói rằng xác suất đúng của giả thuyết h khi quan sát được bằng chứng e, bằng với xác xuất cho rằng chúng ta sẽ quan sát được bằng chứng e nếu giả thuyết h là đúng, nhân với xác suất tiên nghiệm của h, tất cả chia cho xác suất tiên nghiệm của việc quan sát được bằng chứng e.

Thí dụ 7.1: Bằng chứng (hay triệu chứng): bệnh nhân bị sốt

Giả thuyết (hay bệnh): bệnh nhân bị cảm cúm

P(cúm) * P(sốt|cúm)

P(sốt) P(cúm|sốt) =

0.001 * 0.9 0.003 = = 0.3

Câu hỏi :

Giả sử ta có các thông tin sau: - 75% trường hợp bệnh nhân mắc bệnh quai bị đều bị cúm - Cơ hội một người bị bệnh quai bị là 1/15000 - Cơ hội một người bị cúm là 1/1000 Hãy xác định xác suất điều kiện của một bệnh nhân mắc bệnh quai bị biết rằng người này không bị cúm.

*Công thức Bayes tổng quát:

Trong thực tế có nhiều giả thuyết cạnh tranh nhau, vì vậy công thức Bayes tổng quát nhất là:

P(e | hi) * P(hi)

Σk=1..n (P(e | hk) * P(hk) ) P(hi | e) =

P(hi | e) là xác suất mà hi đúng khi biết bằng chứng e.

P(hi) là xác suất mà hi đúng tính trên tất cả các giả thuyết

P(e | hi) là xác suất quan sát được e khi hi đúng. Thông thường, tất cả các P(e | hk) phải độc lập nhau.

n là số giả thuyết có khả năng

Lấy một ví dụ, giả sử chúng ta muốn khảo sát bằng chứng địa chất tại một địa điểm nào đó để xem nó có thích hợp cho việc tìm kim loại đồng hay không. Chúng ta cần phải biết trước xác suất tìm thấy từng loại trong tập hợp các khoáng sản (chính là các P(hk)) và xác suất của cho sự hiện diện của một bằng chứng nào đó khi từng khoáng sản cụ thể được tìm thấy (chính là các P(e | hk)). Khi đó, chúng ta có thể sử dụng định lý Bayes để xác định khả năng thực sự đồng có ở đó, sau khi thu thập được các bằng chứng tại địa điểm đó. Phương pháp này được sử dụng bởi PROSPECTOR, một hệ chuyên gia được xây dựng tại đại học Standford và tổ chức SRI. Hệ chuyên gia này được dùng trong thăm dò khoáng sản và đã tìm ra nhiều mỏ khoáng sản có giá trị lớn ở một số nơi.

120 Võ Huỳnh Trâm – Trần Ngân Bình

Page 214: tong quan ve tri tue nhan tao

Chương 7: Suy Luận Không Chắc Chắn

II.1.3 Tại sao sử dụng luật Bayes

Điểm quan trọng của lý thuyết Bayes là các con số ở vế phải của công thức dễ dàng xác định, ít nhất là khi so sánh với vế trái. Như trong ví dụ trên, do số lượng nhỏ hơn, nên việc xác định số bệnh nhân bị cúm kèm theo triệu chứng sốt dễ hơn là xác định số người có triệu chứng sốt bị cúm.

P (sốt | cúm) chính là tri thức về nguyên nhân (knowledge of causes), tức là xác suất hậu nghiệm ở vế phải, thì dễ dàng có được hơn là tri thức về chẩn đoán (diagnostic knowledge), P(cúm | sốt), tức là xác suất hậu nghiệm ở vế phải. Vì vậy, ta nói luật Bayes cho phép chúng ta sử dụng tri thức về nguyên nhân để suy ra tri thức về chẩn đoán.

II.2 Đại số hệ số chắc chắn Stanford

Một số đề án hệ chuyên gia đã cố gắng cải biên những kỹ thuật Bayes để chúng thích nghi với những nhu cầu giải quyết vấn đề của họ. Một tiếp cận quan trọng trong số những cải tiến đó là đại số hệ số chắc chắn đã được sử dụng tại đại học Stanford trong quá trình phát triển chương trình MYCIN.

Khi suy luận với tri thức heuristic, các chuyên gia có thể đưa ra các ước lượng niềm tin hữu ích về các kết luận. Họ ước lượng các kết luận bằng các thuật ngữ như “có nhiều khả năng”, “không chắc”, “hầu như chắc chắn” hay “có thể”. Những ước lượng này rõ ràng là không dựa trên sự phân tích các xác suất một cách cẩn thận. Thay vào đó, tự chúng là những heuristic được lấy ra từ kinh nghiệm trong quá trình suy luận về lĩnh vực của vấn đề. Vì vậy, sẽ rất hữu ích nếu ta có thể lượng hóa các ước lượng niềm tin này để đưa chúng vào quá trình suy luận.

II.2.1 Lý thuyết về đại số hệ số chắc chắn Stanford

Lý thuyết về độ chắc chắn Stanford (Stanford certainty theory) đưa ra một số giả thiết đơn giản cho việc tạo ra các độ đo niềm tin và có một số quy tắc đơn giản tương đương cho việc kết hợp những niềm tin này khi chương trình tiến đến kết luận của nó. Giả thiết thứ nhất là tách “niềm tin ủng hộ” ra khỏi “niềm tin chống lại” một quan hệ:

Gọi MB(H | E) là độ đo của niềm tin vào khả năng đúng của giả thuyết H, khi có bằng chứng E

Gọi MD(H | E) là độ đo của sự hoài nghi vào khả năng đúng của giả thuyết H, khi có bằng chứng E

Giá trị của các độ đo này chỉ rơi vào một trong hai trường hợp:

0 < MB(H | E) < 1 trong khi MD(H | E) = 0,

hoặc: 0 < MD(H | E) < 1 trong khi MB(H | E) = 0

Hai độ đo này ràng buộc lẫn nhau ở chỗ một bằng chứng chỉ có thể hoặc là ủng hộ hoặc là chống lại một giả thuyết nào đó. Đây là sự khác biệt quan trọng giữa lý thuyết chắc chắn và lý thuyết xác suất. Ngay khi liên kết giữa các độ đo niềm tin và hoài nghi được thiết lặp xong, chúng được ràng buộc với nhau thêm một lần nữa bởi hệ số chắc chắn CF:

Võ Huỳnh Trâm – Trần Ngân Bình 121

Page 215: tong quan ve tri tue nhan tao

Giáo Trình Trí Tuệ Nhân Tạo

CF (H | E) = MB(H | E) – MD(H | E)

Như đã thảo luận ban đầu, ta có hai vấn đề không chắc chắn là dữ liệu và luật. Vì vậy, ở đây ta cũng có 2 loại hệ số CF là hệ số chắc chắn cho dữ kiện (fact), và hệ số chắc chắn cho luật (rule). Để dễ phân biệt ta sử dụng ký hiệu CFf cho dữ kiện và CFr cho luật

.II.2.1.1 Các hệ số chắc chắn Stanford

a. Hệ số chắc chắn dành cho dữ kiện: dữ kiện ở đây bao gồm dữ liệu ban đầu, dữ liệu suy luận được và kết luận (giả thuyết):

CFf(fact) ∈[-1,1]:

CFf càng tiến về 1 thể hiện sự tin tưởng dữ kiện là đúng càng mạnh

CFf tiến về -1 thể hiện sự tin tưởng dữ kiện là không đúng càng mạnh

CFf có giá trị xung quanh 0 cho thấy tồn tại rất ít bằng cớ cho việc ủng hộ hay chống lại dữ kiện. Vì vậy, nếu lấy dữ liệu này đi suy luận thì độ chính xác sẽ rất thấp. Do đó, người ta thường đưa ra một giới hạn (threshold) nhằm tránh việc suy luận với thông tin không chắc chắn như vậy (vd: 0.2). Nghĩa là nếu dữ kiện nào có CF nhỏ hơn giới hạn, ta sẽ không sử dụng trong quá trình suy luận.

b. Hệ số chắc chắn dành cho luật:

CFr(rule) ∈[-1,1] : thể hiện sự tin tưởng của các chuyên gia vào độ tin cậy của luật.

.II.2.1.2 Các quy tắc tính toán trên CF

c. Quy tắc kết hợp các CFf của các điều kiện:

Thông thường, một luật thường có tiền đề (vế trái) tạo thành từ những kết nối and/or của nhiều điều kiện. Khi một luật sinh được sử dụng, các CF liên kết với mỗi điều kiện của tiền đề sẽ được kết hợp với nhau để tạo ra một độ đo chắc chắn cho toàn bộ tiền đề (toàn bộ vế trái của luật) theo công thức sau:

CF ( ĐK1 And ĐK2) = Min[CF(ĐK1), CF(ĐK2)]

CF (ĐK1 Or ĐK2) = Max[CF(ĐK1), CF(ĐK2)]

Thí dụ 7.2: CF(bệnh nhân bị sốt) = 0.9

CF(bệnh nhân bị hắc hơi) = 0.6

=> CF(bệnh nhân bị sốt And bệnh nhân bị hắc hơi) = 0.6

=> CF(bệnh nhân bị sốt Or bệnh nhân bị hắc hơi) = 0.9

122 Võ Huỳnh Trâm – Trần Ngân Bình

Page 216: tong quan ve tri tue nhan tao

Chương 7: Suy Luận Không Chắc Chắn

d. Quy tắc tính CF cho dữ kiện suy ra từ luật:

Khi hệ thống sử dụng các luật không chắc chắn (nghĩa là đi kèm theo một hệ số CF) để suy ra kết luận, thì các hệ số CF của tiền đề cũng sẽ được truyền từ tiền đề sang kết luận thông qua luật theo quy tắc sau:

CFf(KL) = CFr(luật) * CFf(ĐK)

Thí dụ 7.3: CF(bệnh nhân bị sốt) = 0.8

CF(If bệnh nhân bị sốt Then bệnh nhân bị cúm) = 0.5

=> CF(bệnh nhân bị cúm) = 0.4

e. Quy tắc kết hợp nhiều CF của các kết luận từ nhiều luật

Khi có nhiều luật cùng đưa ra một kết luận (vế phải) giống nhau, thì các giá trị CF đạt được từ các luật này sẽ được kết hợp theo quy tắc sau:

Nếu KL từ luật 1 có giá trị CFf1(KL)

Nếu KL từ luật 2 có giá trị CFf2(KL)

Thì,

CFf(KL) = CFf1(KL)+CFf2(KL) – CFf1(KL)*CFf2(KL), nếu CFf1(KL) & CFf2(KL)>0

= CFf1(KL)+CFf2(KL) +CFf1(KL)*CFf2(KL), nếu CFf1(KL) & CFf2(KL)<0

CFf1(KL) & CFf2(KL) 1 – Min (|CFf1(KL)|, |CFf2(KL)|)

= , nếu CFf1(KL) & CFf2(KL) trái dấu

Trong đó, |X| là trị tuyệt đối của X

Thí dụ 7.4: CF(bệnh nhân bị sốt) = 1

CF(bệnh nhân bị hắc hơi) = 0.8

CF(If bệnh nhân bị hắc hơi Then bệnh nhân bị cúm) = 0.5

CF(If bệnh nhân bị sốt Then bệnh nhân bị cúm) = 0.6

=> CF1(bệnh nhân bị cúm) = 0.4

=> CF2(bệnh nhân bị cúm) = 0.6

=> CF(bệnh nhân bị cúm) = 0.4 + 0.6 – 0.24 = 0.76

Sơ đồ sau đây minh họa cho các tính toán trên :

Võ Huỳnh Trâm – Trần Ngân Bình 123

Page 217: tong quan ve tri tue nhan tao

Giáo Trình Trí Tuệ Nhân Tạo

CF1

0.0 0.2 0.4 0.6 0.8 1.0

CF2

0.76

Hình 7.1 – Minh họa tính kết hợp CF

Với cách tính toán này, ta có thể nhận thấy rằng kết quả CF phải luôn nằm trong khoảng [-1,+1]. Kết hợp các CF cùng dấu sẽ làm tăng CF hay phép đo CF kết hợp mang tính tuyến tính, và ngược lại, các CF nghịch nhau sẽ xóa bớt lẫn nhau.

Câu hỏi :

Ta có các tri thức sau: - Nếu một người quan sát được UFO thì kết luận có sự xuất hiện của UFO (0.4) - Nếu một máy rada phát hiện được một UFO thì kết luận có sự xuất hiện của UFO

(0.7) Hãy cho biết giá trị CF của kết luận ‘Có sự xuất hiện của UFO’ là bao nhiêu biết rằng có hai người quan sát được UFO (0.8) và một máy rada phát hiện được một UFO (0.6).

II.2.2 Ví dụ: Hệ chuyên gia MYCIN

Như đã giới thiệu sơ qua ở chương VI, hệ chuyên gia MYCIN được phát triển tại đại học Stanford vào thập niên 1970 bởi Feigenbaum, Buchanan and Ted Shortliffe (một bác sĩ).

Mục đích của hệ chuyên gia MYCIN là giúp đỡ các bác sĩ trong việc chẩn đoán và điều trị các bệnh viêm màng não và nhiễm trùng máu. Chức năng chủ yếu của MYCIN là nhận dạng các cơ quan bị nhiễm trùng và chọn các loại thuốc khống chế bệnh trên các cơ quan này. Giao diện người dùng của MYCIN là sử dụng đối thoại dạng văn bản với bác sĩ để thu thập dữ liệu bao gồm dữ liệu tổng quát về bệnh nhân, các kết quả xét nghiệm và các triệu chứng của bệnh nhân.

Các vấn đề trong lĩnh vực y khoa thường phải suy luận với các thông tin không đầy đủ, mơ hồ, không chắc chắn. Để đối phó với khó khăn này, MYCIN sử dụng lý thuyết chắc chắn Stanford làm nền tảng cho suy luận của hệ. Vì vậy, mỗi dữ liệu, mỗi luật trong MYCIN đều có một hệ số chắc chắn CF đi kèm

124 Võ Huỳnh Trâm – Trần Ngân Bình

Page 218: tong quan ve tri tue nhan tao

Chương 7: Suy Luận Không Chắc Chắn

Dữ liệu được mô tả theo cấu trúc sau:

Thông số Ngữ cảnh Giá trị CF

Nhận ra Cơ_quan_1 Klebsiella 0.25

Nhạy cảm Cơ_quan_1 Penicillin -1.0

Ví dụ luật 50 của MYCIN có dạng:

IF (a) the infection is primary-bacteria, and (b) the site of the culture is one of the serile sites, and (c) the suspected portal of entry is gastrointestinal tract THEN there is suggestive evidence (0.7) that infection is bacteroid

Trong luật trên số 0.7 được đặt trong ngoặc chính là hệ số CF của luật.

Cơ sở luật của MYCIN có khoảng 450 luật được viết bằng ngôn ngữ LISP. Động cơ suy diễn của MYCIN được cài đặt với kỹ thuật suy luận hướng từ mục tiêu (goal-driven), nó tìm kiếm gần như là vét cạn để chọn ra mục tiêu có chỉ số CF cao nhất làm kết luận cuối cùng của hệ thống.

Để hiểu rõ hơn cơ chế suy luận của MYCIN, chúng ta hãy xét một ví dụ minh họa sau.

Thí dụ 7.5: MINI-MYCIN là một hệ chuyên gia nhỏ chuyên phân biệt giữa chân bị gãy, chân bị quá mỏi hay chân bị nhiễm trùng.

Nó gồm các luật sau: 1. IF đau và sốt THEN bị nhiễm trùng 0.6 2. IF đau và sưng THEN bị chấn thương 0.8 3. IF quá tải THEN bị nhiễm trùng 0.5 4. IF bị chấn thương AND đỏ THEN bị gãy 0.8 5. IF bị chấn thương AND di chuyển được THEN quá mỏi 1.0

Sử dụng MINI-MYCIN để chẩn đoán tình trạng chân của Minh, biết rằng: chân của Minh đang bị đau (1.0). Khi tôi kiểm tra nó, thấy nó sưng tấy (0.6) and hơi đỏ (0.1). Tôi không có nhiệt kế nhưng tôi nghĩ anh ta có bị sốt (0.4). Tôi biết Minh là một vận động viên marathon, các khớp của anh ta thường xuyên làm việc quá tải (1.0). Minh có thể di chuyển chân của anh ấy.

Hãy vẽ đồ thị And/Or minh họa cho quá trình suy luận để đi đến kết luận của MINI-MYCIN.

Giải:

Vì MYCIN là hệ thống hoạt động theo cơ chế suy diễn lùi (hay hướng từ mục tiêu), nên hệ thống sẽ lần lượt tính toán giá trị CF của từng mục tiêu. Các đồ thị And/Or sau đây sẽ được trình bày lần lượt theo thứ tự thực hiện của hệ thống:

Võ Huỳnh Trâm – Trần Ngân Bình 125

Page 219: tong quan ve tri tue nhan tao

Giáo Trình Trí Tuệ Nhân Tạo

Đau Chấn thương 2

Hình 7.2 – Đồ thị AND/OR cho quá trình suy diễn lùi trong Thí dụ 7.5

Vậy: Bị nhiễm trùng là mục tiêu có giá trị CF cao nhất nên ta kết luận chân của Minh bị nhiễm trùng.

Từ ví dụ minh họa ta thấy MYCIN hầu như kích hoạt tất cả các luật để tìm giá trị CF cho từng mục tiêu.

Câu hỏi :

Tại sao hệ MYCIN phải kích hoạt hầu như tất cả các luật để có thể đưa ra kết luận ?

* Một số nhận xét về các luật của MYCIN:

Mỗi luật của MYCIN là một sự kết hợp tri thức của nhiều lĩnh vực khác nhau. Ví dụ như luật ‘IF tuổi bệnh nhân < 7 THEN không nên cấp thuốc tetracyline’ là sự kết hợp của các loại tri thức:

• Tri thức về miền, mà cụ thể ở đây là tri thức về y học: Tetracyline làm đổi màu xương đang phát triển và trẻ em dưới 7 tuổi thì đang mọc răng.

Bị gãy 4 Sưng

Đỏ

Chấn thương Quá mỏi 5

Di chuyển được

Đau

1Sốt

Bị nhiễm trùng

3 Quá tải

0.8

0.8

1.0

0.6

0.48

0.1

0.48

0.48

1.0

1.0

0.5

1.0

0.6 0.4

1.0 0.5

0.24

0.74 – 0.12 = 0.62

0.08

126 Võ Huỳnh Trâm – Trần Ngân Bình

Page 220: tong quan ve tri tue nhan tao

Chương 7: Suy Luận Không Chắc Chắn

• Tri thức giải quyết vấn đề, cụ thể ở đây là tri thức về trị bệnh: Trước khi kê một loại thuốc phải kiểm tra các chống chỉ định, có hai loại chống chỉ định: chỉ định liên quan đến bệnh và chỉ định liên quan đến bệnh nhân.

• Tri thức về thế giới: Hầu hết mọi người đều cho rằng hàm răng màu nâu thì không đẹp.

Tổng hợp các tri thức trên, các chuyên gia đưa ra một luật hết sức đơn giản. Chính tính heuristic này đã hỗ trợ một phương pháp giải quyết vấn đề hiệu quả.

Ngoài ra, điều khiển của quá trình suy luận cũng được thể hiện trong các luật của MYCIN. Các điều kiện của vế trái luật được sắp xếp với thứ tự trước sau phù hợp với tri thức của miền. Ví dụ luật sau:

IF sự nhiễm trùng là bệnh viêm màng não And sự nhiễm trùng là do vi khuẩn And chỉ có chứng cớ gián tiếp And tuổi của bệnh nhân > 16 And bệnh nhân là một người nghiện rượu

THEN chứng cớ cho viêm phổi song cầu khuẩn 0.7

là kết quả của sự tổng hợp nhiều tri thức :

• Tri thức về miền: các bệnh nhân bị nghiện rượu thì đáng nghi ngờ với vi khuẩn viêm phổi song cầu khuẩn

• Tri thức giải quyết vấn đề: lọc sự chẩn đoán theo từng bước; tức là hệ thống sẽ kiểm tra từng điều kiện của vế trái theo thứ tự của nó. Chỉ khi điều kiện còn đúng thì mới tiếp tục kiểm tra điều kiện kế tiếp.

• Tri thức về thế giới: người nghiện rượu thì hiếm khi dưới 17 tuổi. Vì vậy, cần phải kiểm tra tuổi của bệnh nhân trước khi hỏi bệnh nhân có phải là người nghiện rượu hay không. Vì nếu không, thì câu hỏi có thể gây sốc cho cha mẹ của các trẻ nhỏ.

Lý thuyết chắc chắn có thể bị đánh giá như là một giải pháp quá tình thế (ad hoc). Mặc dù nó được định nghĩa ở dạng đại số hình thức, nhưng ý nghĩa của các độ đo chắc chắn không có nền tảng chặt chẽ như lý thuyết xác suất hình thức. Tuy nhiên, lý thuyết chắc chắn không cố gắng tạo ra một kiểu đại số dành cho suy luận “chính xác”. Đúng hơn nó là sự ‘bôi trơn’ cho phép hệ chuyên gia kết hợp những niềm tin khi nó suy luận vấn đề. Mặc dù CF được sử dụng để duy trì chương trình chạy và thu thập thông tin, sức mạnh của chương trình chủ yếu vẫn phụ thuộc vào chất lượng của các luật.

III SUY LUẬN VỚI CÁC TẬP MỜ (fUZZY LOGIC)

III.1 Logic truyền thống hay logic ‘giòn’:

Logic truyền thống chỉ quan tâm đến 2 giá trị tuyệt đối (đúng hoặc sai). Logic truyền thống luôn tuân theo 2 giả thuyết. Một là tính thành viên của tập hợp: Với một phần tử và một tập

Võ Huỳnh Trâm – Trần Ngân Bình 127

Page 221: tong quan ve tri tue nhan tao

Giáo Trình Trí Tuệ Nhân Tạo

hợp bất kỳ, thì phần tử hoặc là thuộc tập hợp đó, hoặc thuộc phần bù của tập đó. Giả thiết thứ hai là định luật loại trừ trung gian, khẳng định một phần tử không thể vừa thuộc một tập hợp vừa thuộc phần bù của nó.

Thí dụ 7.6: Nếu nhiệt độ trên 35 độ C thì nóng, ngược lại là không nóng. Hình bên dưới minh họa tập hợp “NÓNG” gồm tất cả các nhiệt độ từ 35 độ C trở lên

35oC Nhiệt độ

1

0

Đúng

Sai NÓNG

Hình 7.3 - Biểu diễn tập nhiệt độ “NÓNG”.

Từ hình vẽ ta thấy logic giòn không thể hiện được sự khác biệt giữa các thành viên trong cùng một tập hợp. Giữa hai nhiệt độ 45 và 55 độ C, logic này không thể hiện được nhiệt độ nào nóng hơn nhiệt độ nào.

Ngoài ra, logic này còn có một nhược điểm khác quan trọng hơn đó là chúng không thể biểu diễn được các dữ kiện mang tính mơ hồ, không chính xác mà trong thực tế lại có rất nhiều phát biểu bằng ngôn ngữ tự nhiên ở dạng này; chẳng hạn như:

John thì khá cao => như vậy John có thuộc tập hợp những người cao hay không?

Hoặc: John thì rất cao => như thế nào là rất cao?

Vì vậy, logic truyền thống không thể hỗ trợ cho những suy luận trên những thông tin mang tính mơ hồ, thiếu chính xác như vậy.

III.2 Khái niệm Logic mờ:

Để khắc phục khuyết điểm của logic truyền thống, Lotfi Zadeh đã đưa ra lý thuyết mới về logic gọi là logic mờ (fuzzy logic).

Lý thuyết của Zadeh biểu diễn tính mờ hay tính thiếu chính xác trong các phát biểu (như ở mục trên) theo cách định lượng bằng cách đưa ra một hàm tư cách thành viên tập hợp (set membership function) nhận giá trị thực giữa 0 và 1.

III.2.1 Khái niệm về tập mờ:

Cho S là một tập hợp và x là một phần tử của tập hợp đó. Một tập con mờ F của S được định nghĩa bởi một hàm tư cách thành viên μF(x) đo “mức độ” mà theo đó x thuộc về tập F. Trong đó, 0 ≤ μF(x) ≤ 1.

Khi μF(x) = 0 nghĩa là x hoàn toàn không thuộc tập F.

128 Võ Huỳnh Trâm – Trần Ngân Bình

Page 222: tong quan ve tri tue nhan tao

Chương 7: Suy Luận Không Chắc Chắn

Khi μF(x) = 1 nghĩa là x thuộc F hoàn toàn.

Nếu μF(x) = 0 hoặc 1 thì tập F được xem là “giòn”

Thí dụ 7.7: S là tập hợp tất cả các số nguyên dương và F là tập con mờ của S được gọi là “số nguyên nhỏ”. Trong đó: μF(1) = 1.0, μF(2) = 1.0, μF(3) = 0.9, μF(4) = 0.8,.. μF(50) = 0.001, v.v… được biểu diễn như trong hình 7.3:

Hình 7.4 - Biểu diễn tập mờ của “các số nguyên nhỏ”

Thí dụ 7.8: Hình bên dưới minh họa hàm thành viên cho các tập mờ thể hiện người đàn ông “Thấp”, “Cao” và “Trung bình”.

4’ 5’ 6’5’6”4’6”

1

μ

Thấp Trungbình Cao

6’6”|| Chiều cao0

1

μ Số nguyên nhỏ

1 2 3 …

Hình 7.5 - Biểu diễn của các tập mờ “Thấp”, “Trung bình”, và “Cao”

Từ hình 7.5, ta thấy những người đàn ông cao 4’ thì hoàn toàn thuộc về tập mờ ‘Thấp’. Còn những người đàn ông có chiều cao 4’8” thì vừa thuộc tập mờ ‘Thấp’, vừa thuộc tập mờ ‘Trung bình’. Còn những người đàn ông có chiều cao 6’1” thì chỉ thuộc tập mờ ‘Cao’ với μ <1.

.III.2.1.1 Tính chất:

• Hai tập mờ bằng nhau: A = B nếu ∀x ∈ X, μA (x) = μB (x)

• Tập con: A ⊆ B nếu ∀x ∈ X, μA (x) ≤ μB (x)

• Một phần tử có thể thuộc về nhiều hơn một tập mờ. Như trong ví dụ 2 (hình 7.4), một người đàn ông cao 5’10” thuộc về cả hai tập “trung bình” và “cao”.

- Tổng các giá trị mờ của một phần tử khác 1:

μThấp(x) + μTrungbình(x) + μCao(x) ≠ 1

- Từ hàm thành viên cho trước, ta có thể suy ra được mức độ một thành viên thuộc về một tập hợp, hay có thể xác định được giá trị mờ của nó đối với một tập mờ.

Võ Huỳnh Trâm – Trần Ngân Bình 129

Page 223: tong quan ve tri tue nhan tao

Giáo Trình Trí Tuệ Nhân Tạo

Thí dụ 7.9: Một hàm thành viên cho tập mờ thể hiện một người là “Trẻ”, “Trung niên” và “Già”.

Tuổi 25 40 55

Trẻ Già1

Trung niên

0.5

Các tập mờ

0

μ

|| 28

0.8

35

0.3

23

Hình 7.6 - Biểu diễn của các tập mờ “Trẻ”, “Trung niên”, và “Già”

Từ hình trên, nếu cho biết tuổi của một người, ta có thể xác định mức độ người đó thuộc về lớp người trẻ, trung niên và già. Chẳng hạn như:

- An 28 tuổi => μTre(An) = 0.8 và μTrung niên(An) = 0.3

- Bảo 35 tuổi => μTre(Bảo) = 0.3 và μTrung niên(Bảo) = 0.8

- Châu 23 tuổi => μTre(Châu) = 1.0

Câu hỏi :

Hãy cho biết giá trị mờ μTrẻ, μTrung niên, μGià của các dữ liệu sau biết rằng: 1. Tấm 23 tuổi 2. Cám 35 tuổi

Ta gọi các con số 0.8, 0.2, 1.0 là các giá trị mờ (fuzzy values). Vậy từ các giá trị chính xác hay giá trị ‘giòn’ (số tuổi: 28, 35, 23…), ta đã suy ra các giá trị mờ tương ứng. Thao tác này gọi là mờ hóa (fuzzification) các giá trị giòn.

130 Võ Huỳnh Trâm – Trần Ngân Bình

Page 224: tong quan ve tri tue nhan tao

Chương 7: Suy Luận Không Chắc Chắn

III.3 Các toán tử logic trên tập mờ:

Logic mờ không quan tâm đến cách thức các tập mờ được tạo ra như thế nào, mà quan tâm đến các luật hỗ trợ cho việc suy luận trên các tập mờ này. Phần này sẽ trình bày các phép toán thao tác trên các tập mờ, đó là phép bù (complement) phép hợp (union), phép giao (intersection).

III.3.1 Phép hợp hay toán tử OR: A ∪ B

Khái niệm: Hợp của hai tập mờ (A∪B) thể hiện mức độ một phần tử thuộc về một trong hai tập là bao nhiêu.

Công thức: μ A∨ B(x) = max (μA(x) , μB(x) ) B

Thí dụ 7.10:

μTre(An) = 0.8 và μTrung niên(An) = 0.3

=> μTre ∨ Trung Niên(An) = max( 0.8, 0.3) = 0.8

III.3.2 Phép giao hay toán tử AND: A ∩ B

Khái niệm: Giao của hai tập mờ (A∩B) thể hiện mức độ một phần tử thuộc về cả hai tập là bao nhiêu.

Công thức: μ A∧ B(x) = min (μA(x) , μB(x) ) B

Thí dụ 7.11:

μTre(An) = 0.8 và μTrung niên(An) = 0.3

=> μTre ∧ Trung Niên(An) = min( 0.8, 0.3) = 0.3

III.3.3 Phép bù hay toán tử NOT:

Khái niệm: Bù của một tập mờ thể hiện mức độ một phần tử không thuộc về tập đó là bao nhiêu.

Công thức: μ ¬A(x) = 1 - μA(x)

Thí dụ 7.12: μTrẻ(An) = 0.8

μ ¬Trẻ(An) = 1 – 0.8 = 0.2

Nhận xét: Logic mờ không tuân theo các luật về tính bù của logic truyền thống: μ ¬A∨ A(x) ≡ 1 và μ ¬A ∧ A(x) ≡ 0

A’

Thí dụ 7.13: μ ¬A∨ A(x) = max (0.8, 0.2) = 0.8

Võ Huỳnh Trâm – Trần Ngân Bình 131

Page 225: tong quan ve tri tue nhan tao

Giáo Trình Trí Tuệ Nhân Tạo

μ ¬A ∧ A(x) = min( 0.8, 0.2) = 0.2

III.3.4 Luật mờ

Một luật mờ là một biểu thức if- then được phát biểu ở dạng ngôn ngữ tự nhiên thể hiện sự phụ thuộc nhân quả giữa các biến.

Thí dụ 7.14: if nhiệt độ là lạnh và giá dầu là rẻ then sưởi ấm nhiều.

Trong đó: - ‘nhiệt độ’, ‘giá dầu’ và ‘sưởi ấm’ là các biến

- ‘lạnh’, ‘rẻ’, ‘nhiều’ là các giá trị hay chính là các tập mờ.

Hoặc: if một người có chiều cao là cao và cơ bắp là lực lưỡng then chơi bóng rổ hay.

Các biến ở đây sẽ là: ‘chiều cao’, ‘cơ bắp’, ‘chơi bóng rổ’

Các giá trị hay tập mờ là: ‘cao’, ‘lực lưỡng’, ‘hay’.

III.3.5 Thủ tục ra quyết định mờ: (fuzzy decision making procedure)

Để hệ thống mờ có thể suy luận bằng các luật mờ và đưa ra kết luận từ các số liệu chính xác ở đầu vào, hệ thống thực hiện 3 bước:

Mờ hóa (fuzzification)

Suy luận h

Khử tính mờ (defuzzification)

1. giá trị chính xác ở đầu vào.

ều kỹ phương pháp

Thí

Mờ hóa: Tính toán các giá trị mờ từ các

2. Suy luận mờ: Áp dụng tất cả các luật mờ có thể áp dụng để tính ra giá trị mờ cho kết luận, sau đó kết hợp các kết quả đầu ra.

3. Phi mờ hóa: Xác định giá trị chính xác từ kết quả mờ có được ở bước 2. Có nhithuật phi mờ hóa có thể áp dụng được, phương pháp thông dụng nhất làtrọng tâm (centriod method).

dụ 7.15: Cho hệ thống mờ dùng trong điều trị bệnh gồm các luật sau đây:

rine cao

4. IF sốt rất cao THEN liều lượng asperine cao nhất

Và các tập mờ được biểu diễn như sau:

1. IF sốt nhẹ THEN liều lượng asperine thấp

2. IF sốt THEN liều lượng asperine bình thường

3. IF sốt cao THEN liều lượng aspe

132 Võ Huỳnh Trâm – Trần Ngân Bình

Page 226: tong quan ve tri tue nhan tao

Chương 7: Suy Luận Không Chắc Chắn

SSN SC SRC

37 38 39 40 41 oC

1

0 20 40 60 80 100 mg

T BT C CN

Hình 7.7 - Biểu diễn của các tập mờ trong Thí dụ 7.15

Một bệnh nhân sốt ở 38.7 độ, hãy xác định liều lượng asperince cần thiết để cấp cho bệnh nhân.

Giải:

Bước 1: Mờ hóa giá trị x = 38.7 đã cho: ta thấy 38.7 thuộc về các tập mờ như sau:

SSN SC SRC

37 38 39 40 41 oC 38.7

0.7

0.3

1

μSốt nhẹ (x) = 0.3 μSốt (x) = 0.7 μSốt cao (x) = 0 μSốt rất cao (x) = 0

Bước 2: Ta thấy có 2 luật 1 và 2 có thể áp dụng cho ra hai liều lượng aspirine:

μThấp (x) = 0.3 μBình thường (x) = 0.7

Kết hợp các giá trị mờ này lại ta được vùng được tô màu sau đây:

0 200 400 600 800

T BT

0.3 0.7

mg

Võ Huỳnh Trâm – Trần Ngân Bình 133

Page 227: tong quan ve tri tue nhan tao

Giáo Trình Trí Tuệ Nhân Tạo

Bước 3: Phi mờ hóa kết quả bằng cách tính trọng tâm của diện tích được tô trong hình trên, chiếu xuống trục hoành ta được giá trị ±480mg, đây chính là liều lượng aspirine cần cấp cho bệnh nhân.

IV TỔNG KẾT CHƯƠNG VII :

Nội dung chính của chương này bao gồm:

− Mặc dù phỏng đoán là không vững chắc, nhưng nó thường đóng vai trò thiết yếu trong giải quyết vấn đề. Có nhiều tiếp cận đã được đưa ra nhằm tạo ra các hệ thống có thể suy luận trên những thông tin không chắc chắn hoặc không đầy đủ để đưa ra các kết luận hữu ích.

− Luật Bayes dựa trên lý thuyết xác suất hình thức cho phép chúng ta sử dụng tri thức về nguyên nhân để suy ra tri thức về chẩn đoán.

− Lý thuyết về yếu tố chắc chắn Standford đưa ra khái niệm hệ số chắc chắn CF cho phép các chuyên gia kết hợp những niềm tin của mình vào dữ liệu và các luật khi phát biểu. Đồng thời đại số chắc chắn Standford cũng cung cấp các quy tắc và công thức sử dụng để tính các giá trị CF cho các kết luận trong quá trình suy luận.

− Lý thuyết mờ đưa ra khái niệm tập mờ và hàm thành viên thể hiện mức độ một thành viên thuộc vào tập mờ, đồng thời đưa ra các quy tắc tính toán giá trị mờ khi suy luận trên các luật mờ.

V BÀI TẬP CHƯƠNG VII

VII.1. Giả sử có một phương pháp xét nghiệm HIV.

- Gọi TP là sự kiện xét nghiệm cho kết quả dương tính. - Gọi TN là sự kiện xét nghiệm cho kết quả âm tính. - Gọi HP là sự kiện người đang được xét nghiệm có HIV dương tính. - Gọi HN là sự kiện người đang được xét nghiệm có HIV âm tính.

Kết quả được gọi là ‘sai dương tính’ khi xét nghiệm cho kết quả dương tính trong khi người đó thực sự không bị nhiễm HIV

Kết quả được gọi là ‘sai âm tính’ khi xét nghiệm cho kết quả âm tính trong khi người đó thực sự có nhiễm HIV

Cho một số dữ liệu sau:

- Tỉ lệ ‘sai dương tính’ là: P(TP|HN) = 0.02 - Tỉ lệ ‘sai âm tính’ là: P(TN|HP) = 0.01 - Tỉ lệ người bị nhiễm HIV trong cộng đồng là 0.10

134 Võ Huỳnh Trâm – Trần Ngân Bình

Page 228: tong quan ve tri tue nhan tao

Chương 7: Suy Luận Không Chắc Chắn

Nếu một người nhận được kết quả xét nghiệm dương tính, thì xác suất người đó thật sự bị HIV là bao nhiêu?

VII.2. Sử dụng ví dụ nhỏ dưới đây để minh họa cơ chế suy luận của EMYCIN bằng đồ thị AND/OR để cho thấy thứ tự sử dụng các luật, thứ tự các câu hỏi được đặt ra và thứ tự các kết luận được đưa ra như thế nào,...

MINI-MINI-MYCIN là một hệ chuyên gia chuyên phân biệt bệnh dị ứng, sởi, hoặc sốt vàng da. Nó bao gồm các luật sau:

1. IF cảm-thấy-khó-chịu AND chấm-đỏ THEN dị-ứng (0.6)

2. IF cảm-thấy-khó-chịu AND sốt THEN nhiễm-trùng (0.8)

3. IF du-lịch-nước-ngoài THEN sốt-vàng-da (0.5)

4. IF nhiễm-trùng AND chấm-đỏ THEN sởi (0.6)

5. IF nhiễm-trùng AND vàng-mắt THEN sốt-vàng-da (0.5)

Sử dụng các dữ liệu sau: John cảm thấy khó chịu (0.1). Có những chấm đỏ trên khắp người (0.8). Tôi không có nhiệt kế nhưng tôi nghĩ anh ta bị sốt (0.5). Tôi biết John vừa đi du lịch nước ngoài về (1.0). Mắt anh ta có vẻ vàng (0.4).

VII.3. Hãy cho biết các phát biểu sau đây thuộc loại không chắc chắn, mờ, cả hai hay không có loại nào:

a. Cảnh sát phạt một chiếc xe đang tăng tốc

b. An thì cao hơn Bảo nhiều.

c. Chỉ có 20% khách đến tham dự thích biểu triển lãm.

d. Một nhóm rất đông sinh viên đã tham gia cuộc diễu hành.

e. Ăn quá nhiều muối có thể gây bệnh huyết áp cao.

Võ Huỳnh Trâm – Trần Ngân Bình 135

Page 229: tong quan ve tri tue nhan tao

Giáo Trình Trí Tuệ Nhân Tạo

Chương VII ...........................................................................................................................117 SUY LUẬN KHÔNG CHẮC CHẮN...................................................................................117

I. GIỚI THIỆU: ...........................................................................................................118 II. TIẾP CẬN THỐNG KÊ ĐỐI VỚI TÍNH KHÔNG CHẮC CHẮN........................119

II.1. Suy luận Bayes ................................................................................................119 II.2. Đại số hệ số chắc chắn Stanford......................................................................121

III. SUY LUẬN VỚI CÁC TẬP MỜ (fUZZY LOGIC) ...........................................127 III.1. Logic truyền thống hay logic ‘giòn’: ..............................................................127 III.2. Khái niệm Logic mờ: ......................................................................................128 III.3. Các toán tử logic trên tập mờ: .........................................................................131

TỔNG KẾT CHƯƠNG VII : ...........................................................................................134 BÀI TẬP CHƯƠNG VII .......................................................................................134

136 Võ Huỳnh Trâm – Trần Ngân Bình

Page 230: tong quan ve tri tue nhan tao

__________Chương 7 Truyền tín hiệu số bằng sóng mang tương tự: Modem VII -1

CHƯƠNG 7

TRUYỀN TÍN HIỆU SỐ BẰNG SÓNG MANG TƯƠNG TỰ : MODEMS

DẪN NHẬP CƠ SỞ KỸ THUẬT LIÊN QUAN

Modem FSK Modem PSK

Một số vấn đề kỹ thuật khác MỘT SỐ MODEM THÔNG DỤNG

Modem bất đồng bộ Modem đồng bộ

_______________________________________________________________________________________________

7.1 DẪN NHẬP

Để truyền dữ liệu từ một DTE đến một DTE khác, thay vì phải thiết lập các đường dây riêng, người ta nghĩ đến viêc dùng đường dây điện thoại đã có sẵn. Tuy nhiên vì đường dây điện thoại đã có từ rất lâu trước khi phương pháp truyền tín hiệu số ra đời và được dùng để truyền thẳng âm hiệu trong phạm vi tần số từ 300 Hz đến 3000 Hz, nên để truyền được tín hiệu số trên đường dây thoại, người ta phải dùng một sóng mang có tần số tương thích với đường dây thoại để chuyên chở tín hiệu số. Modem là một thiết bị được sản xuất cho mục đích này. (H 7.1) là sơ đồ khối của một modem ĐIỀU CHẾ

Dữ liệu vào (từ máy tính)

MẠCH

GIAO TIẾP

MẠCH

ĐIỀU CHẾ

LỌC & KĐ

CÔNG SUẤT

T.h.

tương tự ra

↑ ↑

NGUỒN ⎯⎯ ⎯⎯ ⎯⎯

⎯⎯⎯⎯⎯ ⎯⎯

⎯⎯⎯⎯→⎯⎯⎯⎯→ ⎯⎯⎯⎯→

ĐIỀU KHIỂN &

ĐỊNH THỜI

↓ ↓ T.h. tương tự

vào

LỌC &

KĐ VÀO

MẠCH GIẢI ĐIỀU CHẾ

MẠCH

GIAO TIẾP

Dữ liệu ra

GIẢI ĐIỀU CHẾ (H 7.1) Một modem bao gồm hai bộ phận chính: điều chế và giải điều chế. Bộ phận điều chế nhận tín hiệu số từ máy tính (hay một DTE) và biến đổi thành tín hiệu tương tự để truyền trên kênh truyền, ở máy thu bộ phận giải điều chế của modem thứ hai biến đổi ngược lại từ tín hiệu tương tự sang tín hiệu số. Có thể xếp loại modem như sau :

______________________________________________________________________________________________________________________________ Nguyễn Trung Lập Truyền dữ liệu

Page 231: tong quan ve tri tue nhan tao

__________Chương 7 Truyền tín hiệu số bằng sóng mang tương tự: Modem VII -2

- Modem tầm ngắn (Short haul modem) : là những modem hoạt động trong những khoảng cách ngắn (<10 miles) . Trong vài trường hợp để truyền trên khoảng cách ngắn người ta chỉ cần dùng các bộ phận thúc đường dây mà không cần đến modem.

- Modem băng tần rộng (Wideband modem) : là những modem vận hành trên phương tiện thông tin điện thoại với vận tốc từ 19,2 kbps đến 230,4 kbps. Những modem này thường dùng sóng mang có băng thông rộng từ 6 đến 60 lần băng thông của tín hiệu âm thanh (voice grade). Ví dụ họ modem 303B ; C; D của hảng Bell vận hành theo kiểu song công với vận tốc tín hiệu lên đến 19,2 ; 50 và 230,4 kbps

- Modem âm tần (Voice grade modem) : là những modem được thiết kế để dùng trên đường dây với băng thông âm tần của kênh thoại (từ 300 Hz dến 3000 Hz). Đây là môi trường truyền khá thông dụng. Modem âm tần chia làm hai loại : - Bất đồng bộ : vận hành với vận tốc tối đa là 1800 bps trên các đường điện thoại sử dụng quay số và 2000 bps đối với các thuê bao có điều kiện. - Đồng bộ : vận hành với vận tốc tối đa là 9600 bps. Ngày nay việc dùng modem kết nối vào mạng điện thoại để thực hiện việc thông tin liên lạc đã trở thành phổ biến. Tuy nhiên việc sử dụng phải tuân theo một số qui định của các cơ quan chức năng quản lý mạng điện thoại kết hợp với sự kiểm soát của chính phủ. Ví dụ, cơ quan FCC của Mỹ và DOC (Department of Communication) của Canada có một số qui định cụ thể về mức tín hiệu phát (không được vượt quá -9 dBm ở 600Ω), các tín hiệu xung quay số, bảo vệ quá áp, tổng trở, sự cân bằng, các mức tín hiệu nhiễu cho phép và các bộ kết nối.

7.2 CƠ SỞ KỸ THUẬT LIÊN QUAN

Để truyền trên đường dây điện thoại các tín hiệu số được dùng để điều chế sóng mang âm tần hình sin, tần số từ 300 Hz đến 3000 Hz - Modem phát điều chế sóng mang âm tần với tín hiệu TxD (Transmit Data) và modem thu giải điều chế sóng mang để phục hồi tín hiệu RxD (Receive Data) - Modem là một thiết bị truyền tin (DCE) được dùng như một bộ giao tiếp giữa các DTE (cụ thể là các USART hay UART) với mạng điện thoại. - Trong trường hợp truyền đồng bộ, ngoài việc phục hồi tín hiệu RxD, modem còn phải khôi phục được thông tin về thời gian bit để tạo sự đồng bộ.

- Thông thường modem là một khối riêng rẽ và được nối với máy tính hay thiết bị đầu cuối DTE bằng cách sử dụng chuẩn giao tiếp RS-232 của EIA. Cũng có một số máy tính và DTE chuyên dụng đã đặt bên trong chúng những modem bao gồm cả bộ phận quay số tự động mà không cần giao tiếp EIA (H 7.2)

(H 7.2) - Trong modem tín hiệu dải nền dạng số có thể được dùng để điều chế biên độ, tần số hoặc pha của một sóng mang âm tần. Tùy thuộc vào vận tốc tín hiệu của kênh truyền, ba dạng điều chế này là ASK, FSK và PSK - Các đường truyền cho vận tốc thấp tới trung bình (vài trăm đến 1800 bps) sử dụng FSK và truyền bất đồng bộ. - PSK đa pha và giao thức đồng bộ được dùng để truyền với vận tốc cao hơn từ 2400 bps đến 4800 bps.

______________________________________________________________________________________________________________________________ Nguyễn Trung Lập Truyền dữ liệu

Page 232: tong quan ve tri tue nhan tao

__________Chương 7 Truyền tín hiệu số bằng sóng mang tương tự: Modem VII -3

- ASK thường được dùng để truyền với vận tốc rất thấp <100 bps, do tính miễn nhiễu kém của nó. - Để truyền với vận tốc 9600 bps người ta kết hợp hai phương pháp PSK và ASK gọi là điều chế biên độ vuông góc (Quadrature Amplitude Modulation, QAM ).

7.2.1 Modem FSK

7.2.1.1 Mã hóa FSK

Việc mã hóa FSK khá đơn giản và giá thành rẻ, đây là một dạng của kỹ thuật FM, trong đó tín hiệu điều chế là chuỗi xung DC biến đổi giữa hai giá trị cụ thể. Kết quả điều chế sẽ cho sóng mang có một trong 2 giá trị fm, ứng với bit 1(mark) và fs ứng với bit 0 (space). (H 7.3) cho ta dạng sóng tín hiệu điều chế FSK

(H 7.3) Để có kết quả tốt , điều chế FSK phải có một số tính chất sau : - Độ trôi dạt tần số không quá 50 ppm / °C (period per minuite / °C) - Pha của tín hiệu phải liên tục khi tần số thay đổi từ fm sang fs và ngược lại. - Biến dạng do họa tần của tín hiệu ra phải rất thấp - Các tần số fm và fs phải được điều chỉnh riêng. Các tính chất trên đều thực hiện được trong hầu hết các IC hiện nay.

7.2.1.2 Chỉ số biến điệu

Trong kỹ thuật FSK người ta định nghĩa hệ số h:

r

sm

bff

h−

=

Thí dụ modem 202T là modem FSK có tần số giữa là 1700 Hz, fm = 1200 Hz và fs = 2200 Hz nếu tốc độ bit là 1200 bps thì:

0,8312001000

120022001200

h ==−

=

Ta có thể thấy hệ số h chính là chỉ số biến điệu (modulation index) mf trong kỹ thuật FM cổ điển

a

f f∆fm =

∆f là độ di tần cực đại; fa là tần số tín hiệu điều chế Áp dụng vào trường hợp FSK

______________________________________________________________________________________________________________________________ Nguyễn Trung Lập Truyền dữ liệu

Page 233: tong quan ve tri tue nhan tao

__________Chương 7 Truyền tín hiệu số bằng sóng mang tương tự: Modem VII -4

2brff

2ff

∆f

fa

sm

==

−=

Vậy h = mf Nhắc lại, phổ tần của tín hiệu điều chế FM tùy thuộc vào hệ số Bessel, tức tùy thuộc vào chỉ số biến điệu. Một cách tổng quát, h càng lớn thì xuất hiện càng nhiều hệ số Bessel, phổ tần chứa càng nhiều họa tần, nhưng điều này xảy ra khi br nhỏ, tức tần số cơ bản nhỏ, như vậy các họa tần sẽ nằm sát lại nhau nên băng thông của tín hiệu không những không tăng mà còn có thể giảm. Tuy nhiên để đạt được hiệu quả cao người ta thường chọn h < 1 Trở lại modem 202T, với br = 1200 bps, h = 0,83 (khoảng cách fm và fs là 1000Hz), có 2 hệ số Bessel có nghĩa, trong phổ tần xuất hiện hai tần số trong mỗi băng cạnh, khoảng cách các tần số là 600 Hz (H 7.4)

(H 7.4) Bây giờ giả sử tốc độ truyền bit là 500 bps, chỉ số biến điệu là:

hf f

bm s

r=

-= =1000

5002

Trong trường hợp này có 4 hệ số Bessel có nghĩa và phổ tần có dạng (H 7.5)

(H 7.5)

7.2.1.3 Băng thông FSK Gọi Tb là thời gian của một bit của tín hiệu truyền (dải nền), tốc độ bit br là:

br = 1Tb

Tần số lớn nhất của tín hiệu, tương ứng với biến đổi liên tục giữa bit 1 và bit 0, là:

ff = 12Tb

= 2br

Vậy tần số cơ bản lớn nhất của tín hiệu dải nền bằng 1/2 tốc độ truyền bit Tín hiệu FSK tức thời có thể viết : VFSK =V sin (2πfb mt) + Vb sin (2πfst)

________________________________________________________________

Trong đó Vb đặc trưng cho tín hiệu hình vuông có tần số cơ bản ff biên độ 0 hoặc 1 tùy thuộc trạng thái dữ liệu điều chế.

______________________________________________________________ Nguyễn Trung Lập Truyền dữ liệu

Page 234: tong quan ve tri tue nhan tao

__________Chương 7 Truyền tín hiệu số bằng sóng mang tương tự: Modem VII -5

Nhắc lại phổ tần của tín hiệu chữ nhật chứa các họa tần bậc lẻ của ff . Do đó ta có thể vẽ phổ tần của tín hiệu FSK (H 7.6)

(H 7.6)

Người ta thường chọn băng thông FSK như sau : BWFSK = (fm + 2ff) - (fs - 2 ff) = fm - fs + 4ff BWFSK = fm - fs + 2br Ngoài ra để thiết kế bộ giải điều chế có lợi về mặt kinh tế người ta chọn tần số trung tâm của FSK và khoảng cách của hai tần số fm và fs như sau :

fFSK = f fm s+2

≥ 3br

fm - fs > 2br/3 Thí dụ : (a) Một modem FSK vận tốc 600 bps sử dụng tần số mark là 1500 Hz và tần số space là 2000 Hz. Tính tần số fFSK và băng thông của kênh FSK fFSK là tần số trung tâm giữa fm và fs : fFSK = (1500 + 2000) / 2 = 1750 Hz Băng thông BW xác định bởi : BWFSK = fm - fs + 2br = (2000 -1500) + 2(600) = 1700 Hz. (b) Những giá trị của fm và fs này có làm cho việc thiết kế bộ giải điều chế kinh tế không ? Điều kiện đầu tiên là fFSK ≥ 3br , điều này không thỏa vì 1750 Hz < 3(600) = 1800 Hz Điều kiện thứ hai là fm - fs > 2br/3 thỏa vì 500 Hz > 2/3(600) = 400 Hz

7.2.1.4 Vòng khóa pha (Phase Lock Loop, PLL) Để giải mã FSK người ta phải dùng một vòng khóa pha. (H 7.7) là sơ đồ khối một vòng khóa pha đơn giản

(H 7.7) Tổng quát, một PLL là một hệ thống hồi tiếp gồm 3 bộ phận chính : một mạch so pha, một lọc hạ thông và một VCO. PLL là một vòng kín, tín hiệu ra từ VCO tự động khóa bởi tín hiệu vào. Bằng cách so sánh pha của tín hiệu ra từ mạch VCO và tín hiệu vào, sự sai pha sẽ

______________________________________________________________________________________________________________________________ Nguyễn Trung Lập Truyền dữ liệu

Page 235: tong quan ve tri tue nhan tao

__________Chương 7 Truyền tín hiệu số bằng sóng mang tương tự: Modem VII -6

được biến đổi thành điện thế một chiều, điện thế này sẽ điều khiển VCO để tạo một tín hiệu ra luôn luôn có pha và tần số của tín hiệu vào

Xem tín hiệu vào là một hình sin có pha bất kỳ : vi(t) =A1 sin( ωi t + θi ) Tín hiệu ra ở VCO : vo(t) = A2 sin( ωo t + θo ) Tín hiệu ra của mạch so pha là tích của hai tín hiệu này vd = A1 A2 kmsin(ωit + θi ).sin( ωot + θo ) km là độ lợi của mạch nhân Triển khai biểu thức vd, ta được các số hạng là các tín hiệu hình sin có tần số là tổng và hiệu của các tần số tín hiệu vào ωi và tần số tín hiệu dao động ωo ; cho tín hiệu này qua mạch lọc hạ thông, tín hiệu còn lại là :

vf = 2AA 21 km sin(ωi t - ωo t + θi - θo ) Ở vòng khóa pha hai

trường hợp có thể xảy ra: - Nếu tần số tín hiệu vào ωi thay đổi ngoài tầm kiểm soát của mạch thì PLL là một mạch giải điều chế FM - Nếu tần số tín hiệu vào thay đổi ít, còn trong phạm vi kiểm soát của mạch thì PLL là mạch tạo tín hiệu có tần số và pha ổn định. Trong mạch giải điều chế FSK, ngã vào mạch PLL là tín hiệu có hai tần số fm và fs nên hiệu thế ra từ mạch lọc sẽ thay đổi trong khoảng Vom và Vos, những hiệu thế này được so sánh với một hiệu thế chuẩn (FSK comparator) để cho dữ liệu FSK ở ngã ra

Nếu PLL được khóa ở tín hiệu vào, nghĩa là ωo = ωi thì phương trình thành

vf = 2AA 21 km sin( θi - θo )

θi - θo là độ sai pha. vf = 0 khi θi - θo = 0 hay 2π Hiệu thế vf này được dùng để điều khiển mạch dao động

7.2.1.5 Minimum Shift-Keying FSK

Minimum Shift-keying FSK (MSK) là một dạng của kỹ thuật điều chế FSK có pha liên tục. MSK chính là FSK trong đó tần số mark và space được đồng bộ với vận tốc bit. Đồng bộ ở đây có nghĩa là có một quan hệ thời gian chính xác của hai tín hiệu. Hai tần số này được chọn sao cho cách tần số giữa đúng bằng các bội số lẻ của phân nửa vận tốc bit [fm và fs = n(br/2); n là số lẻ], điều này tạo ra một sự thay đổi liên tục về pha khi tín hiệu chuyển đổi giữa bit 1 và 0 (H 7.8)

(H 7.8)

______________________________________________________________________________________________________________________________ Nguyễn Trung Lập Truyền dữ liệu

Page 236: tong quan ve tri tue nhan tao

__________Chương 7 Truyền tín hiệu số bằng sóng mang tương tự: Modem VII -7

7.2.2 Modem PSK Điều chế PSK là một phương pháp hiệu quả nhất để truyền tín hiệu số. Có thể nói phương pháp PSK là phương pháp điều chế triệt sóng mang do đó băng thông của tín hiệu PSK nhỏ hơn băng thông của FSK nếu dùng cùng một tín hiệu dải nền. Nhưng ở máy thu phải có mạch dao động tạo sóng mang để thực hiện việc giải điều chế; tín hiệu dao động này phải có cùng tần số và pha của sóng mang ở máy phát. Các điều nói trên có thể thực hiện bởi một vòng khóa pha biến thể gọi là vòng Costas mà ta sẽ đề cập đến trong phần sau

7.2.2.1 Băng thông

Ta xét trường hợp đơn giản nhất là PSK nhị phân (Biphase PSK) được minh họa trong (H 7.9). (Nếu là PSK đa pha thì thay tốc độ bit bởi tốc độ baud)

(H 7.9)

Trong PSK pha của sóng mang thay đổi giữa hai trị số 0° và 180° , hiệu thế tức thời PSK có thể viết : V PSK =V sin (2πfb ct) + Vb sin (2πfct) Biểu thức VPSK tương tự như VFSK nhưng hai tần số fm và fs được thay bởi fc nên băng thông là: BW = (fc + 2ff) - (fc - 2 ff) = 4ffPSK BWPSK = 2br Như vậy BWPSK < BWFSK nếu điều chế cùng tín hiệu dải nền. (H 7.9) cho phổ của tín hiệu PSK

7.2.2.2 PSK 2 - pha (BPSK: Binary phase shift keying)

Trong BPSK, ứng với tín hiệu vào là các điện thế biểu diễn các logic 1, 0 ta có tín hiệu ra là các sóng mang hình sin có pha lệch nhau 180° (H 7.10) là sơ đồ khối mạch điều chế và giải điều chế BPSK

(a) Điều chế BPSK (H 7.10) (b) Giải điều chế BPSK

Giả sử logic 1 đưọc đặc trưng bởi điện thế +Vdc và logic 0 bởi -Vdc bộ phận chính của mạch điều chế gồm một mạch nhân và một mạch dao động tạo sóng mang cosωct. Tín hiệu logic và sóng mang được đưa vào mạch nhân và ta được tín hiệu +cosωct hoặc -cosωct ở ngã ra của mạch này.

______________________________________________________________________________________________________________________________ Nguyễn Trung Lập Truyền dữ liệu

Page 237: tong quan ve tri tue nhan tao

__________Chương 7 Truyền tín hiệu số bằng sóng mang tương tự: Modem VII -8

Ở máy thu, sóng mang đuợc tách từ tín hiệu vào, sau đó trộn với tín hiệu vào để cho ra tín hiệu có dạng cos2 ωct hoặc -cos2ωct. Phân tích các tín hiệu này ta thấy chúng gồm thành phần một chiều và họa tần bậc hai : cos2 ωct = (1/2)(1+ cos2ωct) - cos2 ωct = - (1/2)(1+ cos2ωct)

Cho vào mạch lọc hạ thông, ta được ở ngã ra các thành phần dc có cùng cực tính với dữ liệu vào. Mạch điều chế vòng (ring modulator) là một kiểu mẫu của mạch nhân được mô tả ở (H 7.11)

Các diod A, B, C, D dẫn hay ngưng tùy thuộc hiệu thế đặt vào ngã X,Y trong lúc tín hiệu vào ngã RS chỉ khiến các diod dẫn mạnh hay yếu mà thôi. Sóng mang được đưa vào ngã RS, dữ liệu được đưa vào ngã XY. Giả sử bit 1 khiến X dương hơn Y và ngược lại cho bit 0 - Khi dữ liệu là bit 1 diod A và D dẫn điện, ứng với bán kỳ dương của sóng mang diod A dẫn mạnh hơn diod D, dòng điện chạy trong nửa trên của biến thế ra lớn hơn, ta được tín hiệu ra cùng pha sóng mang vào. - Khi dữ liệu là bit 0 diod B và C dẫn điện, ứng với bán kỳ dương của sóng mang diod B dẫn mạnh hơn diod C, dòng điện chạy trong nửa trên của biến thế ra lớn hơn nhưng có chiều ngược lại (từ dưới lên), ta được tín hiệu ra ngược pha sóng mang vào. - Khi không có sóng mang hoặc không có dữ liệu vào sẽ không có dòng điện ở ngã ra.

(H 7.11)

7.2.2.3 PSK 4 - pha (4 - PSK)

PSK 4 pha còn gọi là PSK vuông góc (QPSK : Quadrature PSK) là mạch điều chế cho tín hiệu ra có 1 trong 4 pha tùy theo trạng thái của một cặp bit (dibit) dữ liệu vào, độ lệch pha của các tín hiệu ra là 90°. (H 7.12) là sơ đồ khối mạch điều chế PSK 4 - pha

______________________________________________________________________________________________________________________________ Nguyễn Trung Lập Truyền dữ liệu

Page 238: tong quan ve tri tue nhan tao

__________Chương 7 Truyền tín hiệu số bằng sóng mang tương tự: Modem VII -9

(H 7.12)

- Mạch chia bit (bit splitter) : chuyển dòng dữ liệu vào theo hai ngã I (In-phase) và Q (Quadrature). Những bit vào ngã I sẽ điều chế sóng mang có pha ban đầu và những bit vào ngã Q sẽ điều chế sóng mang đã được làm lệch pha 90°

- Vì các dữ liệu vào có thể là bit 1 hoặc 0, nên tín hiệu ở ngã ra mạch nhân I có thể là sinωct hoặc - sinωct và ở ngã ra Q có thể là cosωct hoặc -cosωct, các tín hiệu này được tổng hợp ở mạch tổng để cho ra 1 trong 4 tín hiệu mô tả ở (H 7.13)

Thí dụ, với các bit ở ngã vào ab=01, tín hiệu ở ngã ra là - sinωct + cosωct, tín hiệu này có thể thay thế bởi tín hiệu duy nhất có pha là 135°.

(H 7.13)

Bảng 7.1 Tín hiệu điều chế 4 pha

Kênh Giá trị nhị phân Hiệu thế Tín hiệu ra từ mạch cân bằng I

Q

1 0 1 0

+ - + -

sinωct-sinωct sin(ωct + π/2) = cosωct -sin(ωct + π/2) =-cosωct

(H 7.14) là mạch giải mã PSK 4-pha

(H 7.14) Mạch phục hồi sóng mang sẽ cho lại sóng mang sinωct từ tín hiệu nhận được, tín hiệu này được cho thẳng vào mạch nhân ngã I và được làm lệch pha 90° trước khi vào mạch nhân ngã Q, tín hiệu ra ở các mạch nhân được đưa vào mạch lọc hạ thông để loại bỏ thành phần tần số cao, các thành phần DC sẽ được tổng hợp ở mạch tổng để cho lại dòng dữ liệu. Giả sử tín hiệu vào là tín hiệu nhận được trong thí dụ trên: cosωct - sinωct Tín hiệu ra ở mạch nhân ngã I là: sinωct ( cosωct - sinωct) = 1/2sin2ωct - 1/2(1-cos2ωct) Tín hiệu ra sau mạch lọc là điện thế dc -, tương ứng bit 0 Tín hiệu ra ở mạch nhân ngã Q là:

______________________________________________________________________________________________________________________________ Nguyễn Trung Lập Truyền dữ liệu

Page 239: tong quan ve tri tue nhan tao

__________Chương 7 Truyền tín hiệu số bằng sóng mang tương tự: Modem VII -10

cosωct ( cosωct - sinωct) = -1/2sin2ωct + 1/2(1+cos2ωct) Tín hiệu ra sau mạch lọc là điện thế dc+, tương ứng bit 1, Mạch tổ hợp bit sẽ cho lại dữ liệu như đã phát : 01 (viết theo thứ tự ab) Tốc độ truyền thông thường của QPSK là 2400 bps vì vậy ở mạch điều chế tốc độ của kênh I và Q là 1200 bps. Tốc độ biến đổi lớn nhất của tín hiệu tương ứng với chuỗi liên tiếp các bit 1 và 0, chuỗi này được biểu diễn bởi tín hiệu hình vuông tần số 600 Hz, tín hiệu hình vuông bao gồm tần số cơ bản và các họa tần bậc lẻ. Trong quá trình điều chế xuất hiện các băng cạnh chứa các họa tần này, mạch lọc BPF có nhiệm vụ loại bỏ thành phần tần số này.

7.2.2.4 OFFSET QPSK (OQPSK)

Trong thực tế người ta thường dùng cách điều chế dựa trên nguyên tắc của QPSK nhưng tạo sự lệch pha của hai tín hiệu trên hai kênh I và Q bằng cách cho một tín hiệu trễ một bit so với tín hiệu kia, gọi là điều chế OQPSK. Việc làm này khiến cho sự chuyển trạng thái của tín hiệu ở kênh này (thí dụ kênh I) luôn luôn xảy ra ở ngay điểm giữa của tín hiệu của kênh kia (kênh Q), như vậy trong một cặp bit IQ bất kỳ chỉ có sự thay đổi của một bit duy nhất và điều này đưa đến kết quả là các tín hiệu ở ngã ra tổng hợp chỉ lệch pha 0° hoặc ±90° chứ không phải 180° như ở QPSK. Vậy điểm thuận lợi của OQPSK là giới hạn được sự lệch pha của tín hiệu ra và tránh được các xung đột biến khi phục hồi tín hiệu nhị phân. Để có thể so sánh các tín hiệu ở các ngã ra tổng hợp, ta xét chuỗi tín hiệu vào như (H 7.15a) và chuỗi tín hiệu của 2 kênh I và Q trong hai trường hợp QPSK (H 7.15b) và OQPSK (H 7.15c)

(a)

(b) (c)

(H 7.15)

Và tín hiệu tổng hợp ở ngã ra tương ứng (H 7.16a) và (H 7.16b)

______________________________________________________________________________________________________________________________ Nguyễn Trung Lập Truyền dữ liệu

Page 240: tong quan ve tri tue nhan tao

__________Chương 7 Truyền tín hiệu số bằng sóng mang tương tự: Modem VII -11

(H 7.16)

Có thể hiểu (H 7.16a) và (H 7.16b) như sau: - Nếu 2 bit trên 2 kênh I và Q khác nhau hoàn toàn thì các tín hiệu tương tự tương ứng khác nhau 180o

- Nếu 2 bit trên 2 kênh I và Q chỉ khác nhau một bit thì các tín hiệu tương tự tương ứng khác nhau +90o hoặc -90o.

Điểm bất lợi của phương pháp OQPSK là sự thay đổi pha của tín hiệu ra xảy ra trong từng khoảng thời gian T (chứ không phải 2T), do đó vận tốc điều chế (baud rate) và băng thông tối thiểu của kênh truyền tăng gấp đôi so với phương pháp QPSK . Hiệu suất băng thông: là tỉ số vận tốc bit (bps) trên băng thông yêu cầu (Hz). Thông thường khi vận tốc bit tăng thì băng thông tăng, tuy nhiên trong các cách điều chế khác nhau tỉ số hai đại lượng này có thể khác nhau, do đó người ta dùng hiệu suất băng thông để đánh giá chất lượng của hệ thống (hiệu suất cao đồng nghĩa với tận dụng được băng thông) Với cách điều chế ASK, giả sử vận tốc bit là 2400bps, tần số cơ bản là 1200Hz, băng thông cần thiết là 2400 Hz vậy

Hiệu suất băng thông = 1bps/Hz2400Hz2400bps

=

Với cách điều chế PSK 4 - pha nếu vận tốc bit là 2400bps, ở mạch điều chế vận tốc của kênh I và Q là 1200 bps, tần số cơ bản là 600Hz, băng thông cần thiết là 1200 Hz vậy

Hiệu suất băng thông = 2bps/Hz1200Hz2400bps

=

7.2.2.5 PSK 8 - pha

PSK - 8 pha là mạch điều chế cho tín hiệu ra có 1 trong 8 pha tùy thuộc trạng thái của tổ hợp 3 bit vào (tribits) Sơ đồ khối của mạch điều chế PSK - 8 pha cho ở (H 7.17)

______________________________________________________________________________________________________________________________ Nguyễn Trung Lập Truyền dữ liệu

Page 241: tong quan ve tri tue nhan tao

__________Chương 7 Truyền tín hiệu số bằng sóng mang tương tự: Modem VII -12

(H 7.17) Mạch chia bit chia tổ hợp 3 bít theo 3 kênh khác nhau. Các bit a và b theo kênh I và Q xác định cực tính của tín hiệu ra ở mạch biến đổi từ 2 ra 4 mức, trong khi bit c xác định biên độ của điện thế dc. Có 2 biên độ được dùng là 0,34V và 0,821V. Khi a và b là bit 1 ngã ra mạch biến đổi có trị dương, ngược lại khi a và b là bit 0. Biên độ của tín hiệu ra từ mạch biến đổi luôn luôn khác nhau, bất cứ khi nào một mạch nhận tín hiệu c (hay c ) để cho ra tín hiệu có biên độ là 0,821 (0,34) thì mạch kia nhận tín hiệu đảo lại và cho ra tín hiệu có biên độ là 0,34 (0,821) Vì 3 bit abc độc lập với nhau nên ± 0,821 và ± 0,344 luôn luôn là 4 giá trị có thể có ở ngã ra các mạch biến đổi. Ở kênh I mạch điều chế trên sóng mang ban đầu (không làm lệch pha) nên 4 giá trị ngã ra là ± 0,821cosωct và ± 0,34 cosωct trong khi ở ngã ra Q đó là các giá trị ± 0,821sinωct và ± 0,34sinωct. Mạch tổng sẽ tổng hợp tín hiệu ra của 2 kênh để cho ra một tín hiệu duy nhất. Tùy theo các tín hiệu vào các tín hiệu ra sẽ có các pha khác nhau (H 7.16). Trong hình này góc A xác định bởi

A = tan -1 0 340 821

,,

= 22,5°

Như vậy các tín hiệu điều chế của các tribit có pha khác nhau từng 45°

(H 7.18)

Thí dụ các bit cba ở ngã vào là 101, ta có:

Mạch biến đổi ở kênh I cho: +0,821 V Mạch biến đổi ở kênh Q cho: -0,34 V Mạch điều chế ở kênh I cho: +0,821cosωct Mạch điều chế ở kênh Q cho: -0,34 sinωct Tín hiệu ra sau cùng: 0,821cosωct -0,34 sinωct Góc pha của tín hiệu này xác định bởi dấu X trên (H 7.18)

______________________________________________________________________________________________________________________________ Nguyễn Trung Lập Truyền dữ liệu

Page 242: tong quan ve tri tue nhan tao

__________Chương 7 Truyền tín hiệu số bằng sóng mang tương tự: Modem VII -13

Với cách điều chế 8-PSK, 3 bit ứng với một pha của tín hiệu ra nên vận tốc baud bằng 1/3 vận tốc bit nên để thỏa điều kiện của đường truyền, người ta chọn vận tốc bit là 4800 bps, vận tốc baud là 1600 baud/s và băng thông kênh truyền là 1600 Hz và hiệu suất băng thông là 3bps/Hz. Với fc=1700 Hz, băng thông chiếm một khoảng từ (fc - 800) =1700-800 = 900 Hz đến (fc + 800) = 1700+800 = 2500 Hz, phù hợp với đường truyền của kênh thoại.

7.2.2.6 Điều chế biên độ vuông góc (Quadrature Amplitude Modulation, QAM)

Trong điều chế biên độ vuông góc cả biên độ và pha của sóng mang đều thay đổi

a. Mạch điều chế QAM 8 pha (H 7.19)

(H 7.19)

Trong mạch điều chế này a,b xác định cực tính của tín hiệu ra ở mạch biến đổi, riêng bit c đuợc đưa thẳng vào hai mạch biến đổi mà không qua mạch đảo như ở PSK 8 pha, nếu c =1 cả hai ngã ra có biên độ cao và nếu c =0 cả hai ngã ra có biên độ thấp. Như vậy, với QAM 8 pha, các tín hiệu ở các ngã ra của mạch biến đổi luôn có cùng biên độ, giản đồ vị trí các điểm đặc trưng các tribit cho ở (H 7.20)

(H 7.20)

Các tín hiệu ra của QAM 8 pha có 2 biên độ và 4 pha khác nhau. So sánh các cách điều chế QAM và PSK người ta thấy QAM tốt hơn về mặt tỉ số tín hiệu nhiễu. Thí dụ với hệ thống QAM 16 pha xác suất lỗi là 10-8 trong lúc PSK 16 pha xác suất này là 10-4. Do đó trong các hệ thống truyền với vận tốc cao người ta thường dùng cách điều chế QAM hơn

b. Mạch điều chế QAM 16 pha (H 7.21)

______________________________________________________________________________________________________________________________ Nguyễn Trung Lập Truyền dữ liệu

Page 243: tong quan ve tri tue nhan tao

__________Chương 7 Truyền tín hiệu số bằng sóng mang tương tự: Modem VII -14

(H 7.21) Trong sơ đồ, mạch chia bit chia tổ hợp 4 bit theo hai kênh vào hai mạch biến đổi 2 ra 4

mức, các bit a,b xác định cực tính tín hiệu ra và các bit c,d xác định biên độ a,b = 0, tín hiệu ra âm c,d = 0 biên độ = 0,22 V a,b = 1 tín hiệu ra dương c,d = 1 biên độ = 0,821 V Mỗi ngã ra của mạch biến đổi có thể có 1 trong 4 tín hiệu ±0,22 hoặc ±0,821. Mạch LPF loại bỏ các họa tần. Các tín hiệu sau đó vào mạch điều chế cân bằng như trong các phần trước và ở ngã ra ta có 1 trong 16 tín hiệu, các tín hiệu này nhận 3 giá trị biên độ và 12 góc pha khác nhau, khoảng cách các góc pha là 30° (H 7.22) Với cách điều chế QAM 16 pha, mỗi 4 bit tương ứng một tín hiệu ra nên vận tốc bit bằng 4 lần vận tốc baud. Nếu chọn vận tốc baud là 2400 baud/s để thỏa băng thông của kênh thoại thì vận tốc bit là 9600 bps và hiệu suất băng thông là 4 bps/Hz. Trong trường hợp này băng thông tín hiệu trong khoảng từ 500 Hz (1700 Hz - 1200 Hz) đến 2900 Hz (1700 Hz + 1200 Hz)

(H 7.22)

Trong giản đồ trên góc A xác định bởi:

A= tan -1 0 220 821

,,

= 15°

Thí dụ với tổ hợp các bit ở ngã vào như trong (H 6.18), 1001, ta được các kết quả sau: Ngã ra kênh I : +0,22 V Ngã ra kênh Q : -0,821 V Ngã ra mạch điều chế kênh I : +0,22 cosωct Ngã ra mạch điều chế kênh Q : -0,821sinωct Ngã ra mạch lọc dải thông : 0,22 cosωct -0,821sinωct Tín hiệu ra tương ứng được xác định trên giản đồ bởi dấu X

______________________________________________________________________________________________________________________________ Nguyễn Trung Lập Truyền dữ liệu

Page 244: tong quan ve tri tue nhan tao

__________Chương 7 Truyền tín hiệu số bằng sóng mang tương tự: Modem VII -15

7.2.2.7 Phục hồi sóng mang

Với kỹ thuật điều chế FSK việc phục hồi sóng mang không cần thiết. Tuy nhiên, điều chế PSK hay QAM tương tự với kỹ thuật điều chế triệt sóng mang, do

đó cần thiết phải có mạch phục hồi sóng mang ở máy thu. Hơn nữa, sóng mang được phục hồi phải có tần số và pha giống như ở máy phát để mạch giải điều chế ở máy thu hoạt động hữu hiệu.

Sơ đồ khối một mạch phục hồi sóng mang cho trường hợp điều chế BPSK cho ở (H 7.23 )

_______

T(để hạn cgíác ta đư

T2ωc , tín tác dụng Đmạch giảphức tạp

7.2

Gpha tuyệtpha. Mặtnghịch phphân. Nchứ khôndữ liệu vchúng khtham khả7.24) cho

_______Nguyễn

Lọc dải thông

____________

ín hiệu nhận được hế dải tần) sẽ qua ợc:

ín hiệu này lại quahiệu này lại qua mgiữ pha của tín hiệối với các tín hiệui điều chế sẽ nâng hơn.

.2.8 PSK vi phâ

iải điều chế PSK y đối đã biết. Điều n khác dùng giải đa. Để khắc phục c

guyên tắc của PSKg phải chính dữ liào trước đó, nếu haác nhau ta được mo đầu tiên trước kh ta sơ đồ khối của

____________ Trung Lập

Mạch bìnhphương

________________

(H ở máy thu là +cosωct hmạch bình phương để

cos2ωct =(1/2)(1+co mạch lọc để loại bỏ tạch chia tần để được

u ra không bị lệch so v điều chế PSK bậc catín hiệu vào lên theo c

n (Differential PSK

êu cầu phục hồi tín hiày đòi hỏi máy phát p

iều chế vòng Costas ác khuyết điểm này n

vi phân là dùng sự tệu. Để thực hiện việc i tín hiệu này giống nột pha ngược lại. Nơi i phát dữ liệu để tín h

một mạch DPSK.

(H 7.2

________________

Vòng khóa pha (PLL)

________________

7.23) oặc -cosωct, sau khi qu cho ở ngã ra cos2ωct.

s2ωct) hành phần một chiều, c sóng mang. Vòng khóới tín hiệu vào. o hơn (4-PSK, 8-PSK,ác lũy thừa bậc cao hơ

, DPSK)

ệu dữ liệu ở máy thu dhải gửi một tín hiệu đở máy thu có thể nhậgười ta dùng phương p

hay đổi của dữ liệu đểnày người ta so sánh dhau ta được một pha củthu và phát phải thỏa tiệu được phục hồi đún

4)

________________

Mạch

Chi tầ

_____________

a mạch lọc dải thông Dùng biến đổi lượng

òn lại tín hiệu tần số a pha trong mạch có

16-QAM . . .) thì ở n. Dĩ nhiên mạch sẽ

ựa vào sóng mang có ể máy thu tham khảo n được một tín hiệu háp điều chế PSK vi

điều chế sóng mang ữ liệu hiện hành với a sóng mang và nếu

huận với nhau về bit g như đã phát đi. (H

___________ Truyền dữ liệu

Page 245: tong quan ve tri tue nhan tao

__________Chương 7 Truyền tín hiệu số bằng sóng mang tương tự: Modem VII -16

Ngã ra của cổng EX-NOR là 1 khi hai tín hiệu vào có cùng logic 1 hoặc 0 và là 0 khi hai tín hiệu vào khác logic. Mạch Flipflop D tạo thời gian trễ đúng 1 bit Bảng 7.2 cho kết quả điều chế DPSK với bit tham khảo là 1. Bảng 7.2 Điều chế DPSK

Dữ liệuvào 1 1 0 1 1 1 0 0 1 1 0 ⊕ ⊕ . . . . . . . . . . . . . . . . ⊕ . . . . . . ⊕

Tín hiệu mã hóa 1 1 1 0 0 0 0 1 0 0 0 1 Bít tham khảo ⎯⎯ ↑ Pha truyền 0 0 0 π π π π 0 π π π 0

(H 7.25) là mạch giải điều chế DPSK và kết quả giải điều chế tín hiệu ra trong bảng 7.2 cho ta lại tín hiệu đã truyền ở bảng 7.3

(H 7.25) Bảng 7.3 Tín hiệu giải mã DPSK Bản tin mã hóa 1 1 1 0 0 0 0 1 0 0 0 1 Bản tin đã dời 1 1 1 0 0 0 0 1 0 0 0 1 Dữ liệu ra 1 1 0 1 1 1 0 0 1 1 0

7.2.3 Một số vấn đề kỹ thuật khác trong modem

7.2.3.1 Đồng bộ hóa Modem

Để hệ thống truyền tín hiệu qua modem hoạt động tốt, modem phát và thu phải đồng bộ với nhau, công việc này gọi là đồng bộ hóa modem. Trong thời gian trễ giữa RTS và CTS, máy phát phát đi chuỗi tín hiệu để thiết lập sự đồng bộ gọi là chuỗi training sequence. Tùy theo loại điều chế, tốc độ bit và mức độ phức tạp của modem mà chuỗi training sequence sẽ hoàn thành một số trong các nhiệm vụ sau: - Xác định (verify) sự liên tục của sóng mang (kích hoạt RLSD) - Khởi động mạch ngẫu nhiên hóa.

- Khởi động mạch cân bằng tự động. - Đồng bộ tín hiệu sóng mang thu phát. - Đồng bộ xung đồng hồ thu phát. - Ngắt mạch triệt tiếng dội trên đường dây thoại. - Thiết lập độ lợi cho mạch AGC

Modem vận tốc thấp Thường là loại không đồng bộ và dùng FSK nên không cần các mạch phục hồi sóng mang, ngẫu nhiên hóa. Các mạch cân bằng được điều chỉnh bằng tay và không cần khởi động. Chuỗi training là các bit nghỉ.

Modem vận tốc trung bình và cao Đó là các modem có tốc độ trên 2400 bps, thường dùng điều chế PSK hoặc QAM nên phải có mạch phục hồi sóng mang. Các modem này là loại đồng bộ nên phải có mạch phục

______________________________________________________________________________________________________________________________ Nguyễn Trung Lập Truyền dữ liệu

Page 246: tong quan ve tri tue nhan tao

__________Chương 7 Truyền tín hiệu số bằng sóng mang tương tự: Modem VII -17

hồi xung đồng hồ. Yêu cầu có mạch ngẫu nhiên hóa và giải ngẫu nhiên cùng mạch cân bằng tự động (automatic equalizers)

Thí dụ modem Bell 208 là loại đồng bộ, vận tốc 4800-bps dùng kỹ thuật 8-DPSK có chuỗi traning gồm 78 ký hiệu, mỗi ký hiệu gồm 3 bit (tribit, chiếm 0.625 ms). Vậy thời gian của chuỗi training khoảng 48,75 ms. Đây là khoảng thời trễ giữa RTS và CTS như ta đã thấy trước đây.

7.2.3.2 Phục hồi xung đồng hồ

Để phục hồi xung đồng hồ, người ta dùng tín hiệu ra từ một kênh (I hoặc Q) EX-OR với chính nó sau khi làm trễ 1/2 bit (H 7.26). Tín hiệu ra có tần số gấp đôi tín hiệu ở mỗi kênh được đưa vào mạch PLL để khóa pha của tín hiệu dao động ở máy thu, để bảo đảm mạch PLL hoạt động tốt yêu cầu tín hiệu phải có sự thay đổi trạng thái thường xuyên, đó là lý do phải sử dụng mạch scrambler.

(H 7.26)

7.2.3.3 Mạch ngẫu nhiên hóa và giải ngẫu nhiên (scrambler và descrambler)

Để có thể phục hồi xung đồng hồ, dữ liệu phải thường xuyên thay đổi giữa 2 trạng thái 1 và 0. Để bảo đảm được điều kiện này, người ta dùng biện pháp ngẫu nhiên hóa (scrambler) chuỗi dữ liệu ở máy phát và dĩ nhiên phải dùng mạch giải ngẫu nhiên để tái tạo chuỗi dữ liệu nhận được ở máy thu (descrambler). (H 7.27) là mạch scrambler và descrambler.

(a) (H 7.27) (b) Dữ liệu ra khỏi mạch scrambler có giá trị xác định bởi:

)D.C.B.A(A.B.C.Dff dm +⊕= Khi chuỗi dữ liệu thay đổi giữa 2 trạng thái 0 và 1 bình thường, ngã ra cổng OR ở mức

0, chuỗi dữ liệu qua mạch và không thay đổi Khi chuỗi dữ liệu liên tiếp là 4 bit 0 hoặc 1, ngã ra cổng OR lên 1 và dữ liệu đến từ

DTE qua cổng EX-OR sẽ bị đảo : ddm f1ff =⊕= . Như vậy, ở ngã ra mạch không bao giờ vượt quá 4 bit cùng loại.

Ở máy thu, tín hiệu ra từ mạch descrambler thỏa: )D.C.B.A(A.B.C.Dff mr +⊕=

Thay fm từ biểu thức trên:

______________________________________________________________________________________________________________________________ Nguyễn Trung Lập Truyền dữ liệu

Page 247: tong quan ve tri tue nhan tao

__________Chương 7 Truyền tín hiệu số bằng sóng mang tương tự: Modem VII -18

)D.C.B.A(A.B.C.D)D.C.B.A(A.B.C.Dff dr +⊕+⊕=

ddr f0ff =⊕= Như vậy tín hiệu ban đầu đã được phục hồi.

7.2.3.4 Mạch lọc dùng tụ khóa (Switched capacitor)

Lọc là một chức năng rất cơ bản trong thông tin. Trước đây các mạch lọc tác động thường sử dụng các OPAMP là các IC sản xuất từ công nghệ chế tạo BJT như 709 và 741. Tuy nhiên các loại linh kiện này tiêu thụ một năng lượng đáng kể. Ngày nay, với sự phát triển của công nghệ MOS, người ta chế tạo các OPAMP tiêu thụ năng lượng rất ít nên được sử dụng rộng rãi. Một tiến bộ quan trọng khác là sự phát hiện các tụ khóa có thể thay cho các điện trở. Các OPAMP MOS và các tụ khóa đã được kết hợp để chế tạo các mạch lọc rất chính xác (H 7.28) cho dạng căn bản của tụ khóa.

(H 7.28)

Khi khóa K ở vị trí 1 tụ C nạp đến hiệu thế V1, cho khóa K sang vị trí 2, lượng điện tích chạy qua tụ C là : Q = C(V1-V2). Nếu khóa K được chuyển qua lại với tần số fs, dòng điện trung bình chạy từ V1 đến V2 (giả sử V1 > V2) là :

i = QTc

= C(V1 - V2).fs

Biểu thức cho thấy mạch trên tương đương với một điện trở R xác định bởi :

sCf1R =

fs được gọi là tần số khóa (switching frequency), phải rất lớn hơn tần số của tín hiệu lọc. Trong mạch trên V1 và V2 là các nguồn hiệu thế có giá trị không bị ảnh hưởng do sự chuyển khóa K. So sánh với một mạch lọc hạ thông đơn giản dùng RC (H 7.31a), băng thông của một mạch lọc dùng tụ khóa (H 7.31b) cho bởi :

2

1s

213dB C

CfCR1

==−ω

Biểu thức cho thấy tần số ngắt ở 3 dB được xác định một cách chính xác bởi tần số fs

______________________________________________________________________________________________________________________________ Nguyễn Trung Lập Truyền dữ liệu

Page 248: tong quan ve tri tue nhan tao

__________Chương 7 Truyền tín hiệu số bằng sóng mang tương tự: Modem VII -19

(a) (b) (H 7.29)

Mạch lọc cơ bản dùng tụ khóa là mạch tích phân (H 7.30): ∫= dtvCCfv i

2

1so

(H 7.30)

Nhắc lại, hiệu thế ra của mạch lọc dùng tụ khóa chỉ tùy thuộc vào fs và tỉ số các điện dung, nếu fs được xác định một cách chính xác, thì tính chất của mạch lọc chỉ tùy thuộc tỉ số các điện dung. Các giá trị tần số cắt fc, hệ số phẩm Q và độ lợi của mạch lọc có thể xác định đuợc đến độ chính xác 0,1 %. Bảng 7.4 cho một số giá trị mẫu

Bảng 7.4 Khả năng của mạch lọc dùng tụ khóa

Thông số Giá trị Tần số khóa (đồng hồ) fs Tần số ngắt của mạch lọc f Hệ số phẩm Q tối đa Độ lợi của băng thông Độ chính xác Nhiễu Số mạch trong một IC Độ ổn định nhiệt Biên độ tín hiệu ra Cấp nguồn

1 - 500 kHz fs/1000 - fs/4 75 (-30) - (+ 30) dB 0,2 % -100 dB V/ Hz 80 5 ppm/°C 2V đỉnh-đỉnh 2-15V

(H 7.31) cho các mẫu mạch lọc dùng tụ khóa : (a) là mạch lọc hạ thông, (b) là mạch lọc thượng thông, (c) là mạch lọc dải thông và (d) là mạch lọc dải loại.

______________________________________________________________________________________________________________________________ Nguyễn Trung Lập Truyền dữ liệu

Page 249: tong quan ve tri tue nhan tao

__________Chương 7 Truyền tín hiệu số bằng sóng mang tương tự: Modem VII -20

(H 7.31)

7.3 MỘT SỐ MODEM BẤT ĐỒNG BỘ VÀ ĐỒNG BỘ

7.3.1 Modem bất đồng bộ Là những modem truyền với vận tốc tương đối thấp. Modem bất đồng bộ tiêu biểu là loạt (serie) 103 của hảng Bell. Vận tốc truyền của loạt 103 là 300 bps trên kênh điện thoại, điều chế FSK, vận tốc này tương đương với 27 ký tự/s (giả sử mỗi ký tự gồm 7 bit của mã ASCII thêm 1 bit start, 2 bit stop và 1 bit parity). Chuẩn giao tiếp dùng cho các modem này là dòng điện vòng 20 mA hoặc RS-232 đã bàn đến trong chương trước. Loạt 103 có thể truyền song công vơi 2 đường dây, như vậy hệ thống dùng phương pháp phân chia tần số cho kênh truyền (FDM). Khoảng tần số từ 300 đến 3000 Hz chia làm hai dải : từ 300 đến 1700 Hz và từ 1700 đến 3000 Hz. Phổ tần cho ở (H 7.32)

______________________________________________________________________________________________________________________________ Nguyễn Trung Lập Truyền dữ liệu

Page 250: tong quan ve tri tue nhan tao

__________Chương 7 Truyền tín hiệu số bằng sóng mang tương tự: Modem VII -21

(H 7.32)

Trong mỗi dải tần đều có tần số mark và space : trong dải tần thấp các tần số đó là 1270 Hz và 1070 Hz và trong dải tần cao là 2225 Hz và 2025 Hz. Tần số trung tâm là 1170 Hz và 2125 Hz. Khoảng cách tần số mark và space là 200 Hz, vận tốc truyền bít là 300 bps nên băng thông của tín hiệu là 800 Hz. Ta thấy : FFSK1 = 1170 Hz và fFSK2 = 2125 Hz ; 3 br = 900 fm - fs = 200 = (2/3) br = (2/3).300 Có thể nói các tần số fm và fs chọn trong loạt 103 thỏa các điều kiện về tính kinh tế Hệ số h trong hai dải tần cao và thấp đều bằng 0,67 và cho hai hệ số Bessel

7.3.2 Sơ đồ khối một Modem FSK (bất đồng bộ) Trước khi liên lạc người ta phải thỏa thuận với nhau bên nào sẽ phát và thu dải tần nào

- cao hay thấp - Điều này thực hiện bằng cách giả định một bên phát sinh cuộc gọi và bên kia trả lời. Modem của người gọi là originate modem và modem kia là answer modem. Thông thường originate modem phát trên băng tần thấp và thu trên băng tần cao và ngược lại cho answer modem. (H 7.33) cho sơ đồ khối của hệ thống modem 103, bên phát là một thiết bị đầu cuối và bên thu là một máy tính

(H 7.33) Vận hành của modem và các khối chức năng được mô tả dưới đây : - Giao tiếp đường dây (Line interface) : phối hợp tổng trở modem và đường dây điện thoại (thường là 600Ω) đồng thời biến đổi cân bằng ↔ không cân bằng. Phần tử chính của mạch giao tiếp đường dây là một biến thế gọi là hybrid (H 7.34).

______________________________________________________________________________________________________________________________ Nguyễn Trung Lập Truyền dữ liệu

Page 251: tong quan ve tri tue nhan tao

__________Chương 7 Truyền tín hiệu số bằng sóng mang tương tự: Modem VII -22

- Bộ song công (Duplexer) : tạo sự ghép nối có tính định hướng và cách ly tín hiệu để thực hiện đồng thời hai chức năng thu phát .(H 7.36) là sơ đồ một bộ song công với mạch giao tiếp đường dây

(H 7.34)

Phần chính của bộ song công là một OPAMP dùng như một mạch khuếch đại vi sai, khuếch đại tín hiệu thu từ bộ lọc thu và ngăn không cho tín hiệu phát đi qua, tín hiệu này được đưa ra mạch ngoài từ mạch lọc phát qua biến thế hybrid để ra đường dây điện thoại. - Bộ lọc thu Rx : như đã nói trên, originate modem sẽ thu tín hiệu ở dải tần cao và answer modem sẽ thu tín hiệu ở dải tần thấp nên bộ lọc thu ở hai modem phải cho dạng đáp tuyến như đã thấy ở (H 7.35). người ta thường dùng các bộ lọc tích cực dùng OPAMP để tạo một mạch lọc dải thông. Mạch lọc thu thường gồm từ 4 tới 7 mạch lọc như ở (H 7.37) để có độ lợi từ 20 đến 30dB.

(H 7.35) - Bộ giải điều chế (Demodulator) : bộ giải điều chế FSK là một mạch tách sóng FM, có thể dùng kiểu tách sóng phân biệt, nhưng với sự phát triển của công nghệ chế tạo IC người ta thường dùng vòng khóa pha để thực hiện việc giải điều chế. (H 7.36) là một mạch giải điều chế dùng vòng khóa pha.

______________________________________________________________________________________________________________________________ Nguyễn Trung Lập Truyền dữ liệu

Page 252: tong quan ve tri tue nhan tao

__________Chương 7 Truyền tín hiệu số bằng sóng mang tương tự: Modem VII -23

(H 7.36)

- Bộ phát hiện mức ngưỡng (Threshold detect) : Đây là một mạch so sánh và cho ở

ngã ra một tín hiệu HIGH hoặc LOW tùy theo mức tín hiệu thu được. Khi tín hiệu thu vào có biên độ quá nhỏ đường RxD sẽ ghim ở mức HIGH và đường CD (Carrier Detect) ở OFF

- Bộ điều chế (Modulator) : (H 7.37)

Mạch FSK cơ bản bao gồm một VCO điều khiển bởi điện thế ứng với bit 1 và 0 của tín hiệu vào. Các bit 1 và 0 của dữ liệu điều khiển một khóa điện tử cho phép mạch VCO nối với một trong 2 điện trở bên ngoài. Ta được ở ngã ra là các tín hiệu có tần số fs hoặc fm tùy điện trở nối vào mạch là Rs hay Rm.

(H 7.37)

- Bộ lọc phát Tx : Quyết định băng thông của tín hiệu phát FSK đồng thời giới hạn

các tín hiệu nhiễu và họa tần tạo bởi mạch giải điều chế ở bộ phận thu. Mạch lọc phát còn có nhiệm vụ ghim mức tín hiệu ra không vượt quá -9 dBm là mức

công suất cho phép của đường dây điện thoại. - Tín hiệu bắt tay hoặc điều khiển : Khối logic này điều khiển hoạt động của modem

và chuyển trạng thái của modem từ hoặc tới DTE bằng cách dùng các tín hiệu RST, CTS, DTR, DSR và CD như mô tả trong chương trước (các chuẩn giao tiếp).

Trong nhiều trường hợp một thiết bị ở xa có thể yêu cầu truy xuất dữ liệu gốc (data

base) từ một máy tính chủ. Người yêu cầu dùng bàn phím để nhập dữ liệu nên chỉ cần vận tốc truyền thấp trong khi máy tính chủ truyền dữ liệu đến đầu cuối có thể truyền với vận tốc cao hơn. Các modem loạt 202 của Bell đáp ứng yêu cầu này : các modem này có vận tốc truyền từ máy tính chủ đến thiết bị đầu cuối (gọi là kênh sơ cấp) là 1200 bps và vận tốc truyền từ

______________________________________________________________________________________________________________________________ Nguyễn Trung Lập Truyền dữ liệu

Page 253: tong quan ve tri tue nhan tao

__________Chương 7 Truyền tín hiệu số bằng sóng mang tương tự: Modem VII -24

thiết bị đầu cuối đến máy tính chủ (gọi là kênh thứ cấp) là 75 bps. Cách truyền 2 kênh có vận tốc khác nhau gọi là cách truyền song công bất đối xứng (Asymetrical full-duplex communication).

(H 7.38)

(H 7.38) là phổ tần của modem 202, lưu ý là kênh sơ cấp dùng phương pháp điều chế FSK với tần số fm và fs lần lượt là 1200 Hz và 2200 Hz và kênh thứ cấp thì điều chế ASK, tần số sóng mang là 387 Hz. Một ứng dụng điển hình của hệ thống truyền song công bất đối xứng là Videotex. Đây là một dịch vụ mà qua đó người sử dụng (vai trò một thiết bị đầu cuối) có thể truy xuất dữ liệu từ một cơ sở dữ liệu trung tâm (máy tính chủ) qua mạng điện thoại. Cơ sở dữ liệu của Videotex có thể chứa rất nhiều thông tin khác nhau, thông qua bàn phím người sử dụng có thể đặt một cuộc gọi đến máy tính chủ và yêu cầu những thông tin cần thiết trong Videotex. Các lệnh của người sử dụng truyền tới máy tính chủ với vận tốc thấp và các file văn bản, đồ họa ... gọi chung là các trang Videotex truyền tới nơi yêu cầu với vận tốc cao hơn

Với sự cải tiến thiết bị nhập dữ liệu (bàn phím) vận tốc truyền của kênh thứ cấp có thể cao hơn và modem 202C ra đời thỏa mản yêu cầu này. (H 7.39) cho phổ tần của modem 202C

(H 7.39)

Modem 202C chỉ khác với Modem 202 ở cách điều chế kênh thứ cấp là FSK chứ không phải ASK, hai tần số mark và space là 390 Hz và 490 Hz, và vận tốc truyền của kênh này là 150bps.

7.3.3 Modem đồng bộ Một số modem đồng bộ được hảng Bell chế tạo để truyền dữ liệu với vận tốc cao hơn. Như đã nói trên, để truyền vận tốc cao các modem phải điều chế nhiều pha PSK (4 hoặc 8 pha) hoặc kết hợp PSK và ASK để cho 16 pha, gọi là QAM. Bảng 7.5 giới thiệu một số modem đồng bộ Bảng 7.5 Một số Modem đồng bộ

Loạt Đường dây Điều chế Vận tốc Mode

______________________________________________________________________________________________________________________________ Nguyễn Trung Lập Truyền dữ liệu

Page 254: tong quan ve tri tue nhan tao

__________Chương 7 Truyền tín hiệu số bằng sóng mang tương tự: Modem VII -25

201B 201C 208A 208B 209A

4 2 dây chuyển mạch 4 dây riêng 4 dây riêng 2 dây chuyển mạch 4 dây

4 pha PSK 4 pha PSK 4 pha PSK 8 pha PSK 8 pha PSK 16pha QAM

2400 bps 2400 2400 4800 4800 9600

Songcông/B.song công Đồng bộ Bán song công đồng bộ Song công đồng bộ Song công đồng bộ Bán song công đồng bộ Song công đồng bộ

7.3.4 Sơ đồ khối một modem PSK tiêu biểu (H 7.40) là sơ đồ khối của một modem dùng kỹ thuật PSK tiêu biểu

______________________________________________________________________________________________________________________________ Nguyễn Trung Lập Truyền dữ liệu

Page 255: tong quan ve tri tue nhan tao

__________Chương 7 Truyền tín hiệu số bằng sóng mang tương tự: Modem VII -26

(H 7.40) Phần phát

Mạch định thời phát (transmitter timing): Mạch tạo các xung đồng hồ khác nhau theo yêu cầu của modem phát. Xung đồng hồ chủ có thể được tạo ra từ bên trong mạch hay dẫn xuất từ tín hiệu trên đường SCTE của DTE.

Mạch kiểm soát khởi động (Start sequence controller): khi RTS lên cao, mạch này cho phép truyền sóng mang tương tự qua SW1. Sóng mang này chưa biến điệu vì SW2 chưa được phép. Đồng thời, mạch này cũng báo cho mạch tạo mẫu/ngẫu nhiên hóa khởi động sự truyền

______________________________________________________________________________________________________________________________ Nguyễn Trung Lập Truyền dữ liệu

Page 256: tong quan ve tri tue nhan tao

__________Chương 7 Truyền tín hiệu số bằng sóng mang tương tự: Modem VII -27

chuỗi kiểm soát (training sequence), mạch kiểm soát sẽ cung cấp thời trễ giữa tín hiệu RTS và CTS, kích hoạt SW2 và đưa CTS lên mức cao khi hết thời gian này (khoảng 48,5 ms). Khi RTS xuống thấp, mạch kiểm soát vô hiệu hóa SW1, chấm dứt sóng mang trên đường điện thoại.

Mạch tạo mẫu và ngẫu nhiên hóa (pattern generator and scrambler): Mạch tạo mẫu cung cấp chuỗi xung đặc biệt cho hoạt động kiểm tra đồng bộ (training), và chuỗi bit 1 (bit nghỉ) cho trường hợp sử dụng chế độ sóng mang liên tục. Mạch ngẫu nhiên hóa cung cấp chuỗi tín hiệu ngẫu nhiên cho việc phục hồi xung đồng hồ trong PSK

Mạch điều chế pha (Phase modulator): Biến đổi chuỗi dữ liệu nhị phân vào từ DTE thành sự biến đổi pha tương ứng của sóng mang tương tự

Mạch cân bằng (Compromise equalizer): Điều chỉnh mạch lọc để cung cấp sự cân bằng cho tín hiệu kênh âm thanh (tạo sự bù trừ về độ lợi và thời trễ do đường dây điện thoại tạo ra).

Mạch khuếch đại hoặc pad (amplifier or pad): đây là mạch khuếch đại có độ lợi thay đổi được để bảo đảm biên độ tín hiệu phát.

T, R, T1, R1: Hai đường Tip và Ring thu phát Ngã vào và ra của các mạch khuếch đại dùng giao tiếp RS-232C.

Phần thu

Mạch tương thích cân bằng (Adaptive equalizer): điều chỉnh đặc tuyến độ lợi và thời trễ do tổn hao của đường dây.

Mạch giám sát tín hiệu (Signal quality monitor): giám sát tín hiệu tương tự nhận được để điều khiển mạch cân bằng. Nếu tín hiệu nhận được xấu, mạch này sẽ báo cho mạch điều khiển khởi động mạch cân bằng (Equalizer startup controller) để retrain mạch tương thích cân bằng. Trong suốt thời gian training dữ liệu không có giá trị.

Mạch điều khiển khởi động mạch cân bằng (Equalizer startup controller): điều chỉnh tương thích cân bằng khi nhận được chuỗi training hay khi phẩm chất tín hiệu thu được dưới mức chuẩn

Mạch phục hồi sóng mang (Carrier recovery): Dò ra sự hiện diện của sóng mang thu được và kiểm soát trạng thái ON/OFF của đường RLSD của RS-232C. Mạch này cũng phục hồi sóng mang và khóa pha của tín hiệu dao động nội (PLL) để cung cấp tín hiệu dao động cho mạch giải điều chế.

Mạch giải điều chế (Demodulator): Biến đổi sự thay đổi pha của sóng mang nhận được thành ra dữ liệu nhị phân tương ứng.

Mạch phục hồi xung đồng hồ (Clock recovery): Phục hồi tín hiệu đồng hồ phát và tạo ra các tín hiệu đồng hồ khác theo yêu cầu của máy thu.

Mạch giải ngẫu nhiên (Descrambler): Sau khi xung đồng hồ được phục hồi, mạch này biến đổi tín hiệu ngẫu nhiên thành chuỗi dữ liệu ban đầu.

7.3.4 Kết nối modem qua hệ thống điện thoại Để thực hiện việc truyền dữ liệu qua hệ thống điện thoại thông qua modem, công ty

điện thoại có nhiệm vụ tạo sự kết nối sao cho thật thuận lợi cho người sử dụng modem. Dưới đây ta xét cách kết nối nhờ mạch truy xuất dữ liệu (Data access arrangement)

Các thiết bị DTE có thể truyền dữ liệu trên đường dây điện thoại nhờ một mạch nối

giữa modem và đường dây điện thoại gọi là mạch truy xuất dữ liệu, (H 7.41) là sơ đồ mạch DAA

______________________________________________________________________________________________________________________________ Nguyễn Trung Lập Truyền dữ liệu

Page 257: tong quan ve tri tue nhan tao

__________Chương 7 Truyền tín hiệu số bằng sóng mang tương tự: Modem VII -28

(H 7.41)

Modem nhận cuộc gọi: Tín hiệu chuông tần số 20 Hz đến được lọc và tích hợp bởi

mạch dò chuông cho đến lúc đủ để kích hoạt mạch DAA bởi điện thế một chiều cấp cho đường RI. Modem phản ứng bằng cách đưa chân OH (Off-hook) lên cao. Tín hiệu này tác động relay OH (là loại thường hở, NO) cho phép một dòng DC chạy trên mạch điện thoại. Tổng đài sẽ nhận ra điều này như trạng thái Off-hook và chấm dứt tín hiệu chuông. Lúc này modem đưa đường DA lên ON, điều này tác động lên relay CT (loại thường đóng, NC) làm hở mạch điện trở khiến mạch kiểm soát mức tự động được nối vào mạch và cho phép các đường Tip (T) và Ring (R) nối vào DT (Data Tip) và DR (Data Ring). Lúc này đường CCT cũng lên ON báo cho modem biết hệ thống đã được kết nối và modem chờ nhận tín hiệu. Cuộc gọi sẽ chấm dứt khi modem cấp tín hiệu mức thấp cho chân OH làm vô hiệu hóa relay OH và ngắt mạch DC Modem phát sinh cuộc gọi: Theo một cách tương tự, modem phát sinh cuộc gọi bằng cách đưa chân OH lên cao để thông mạch DC tới tổng đài. Sau khi hoàn tất việc quay số, chân DA lên cao để tác động lên relay CT để thông mạch kết nối modem và hệ thống. Modem sẽ bắt đầu truyền tín hiệu khi chân CCT lên mức cao. Sau khi phát xong bản tin, modem đưa chân OH xuống thấp để chấm dứt sự kết nối.

7.4 VÀI MODEM DÙNG MẠCH LSI

Các nhà chế tao IC đã phát triển nhiều linh kiện loại LSI trong đó kết hợp nhiều mạch chức năng của modem trong một vỏ. Các chip dùng kỹ thuật NMOS hoặc CMOS có chứa sẵn bộ điều chế, giải điều chế và logic điều khiển cho các modem có tốc độ khác nhau, từ thấp đến trung bình. Gần đây có xuất hiện các mạch lọc khóa CMOS gồm cả lọc phát và lọc thu trong một IC.

Phần sau đây giới thiệu 2 IC tiêu biểu của Motorola, đó là IC modem số MC 6860 và bộ lọc khóa MC 145440

7.4.1 Modem số MC 6860 Modem 6860 là loại NMOS, trong một vỏ 24 chân gồm các bộ phận: điều chế, giải điều chế, logic điều khiển cần thiết để giao tiếp với UART. 6860 truyền dữ liệu với vận tốc 300 bps hoặc 600 bps, dùng kỹ thuật điều chế FSK. 6860 hoàn toàn tương thích với tiêu chuẩn song công của Bell 103. (H 7.42) là sơ đồ khối một originate modem Bell 103 dùng MC 6860 giao tiếp với USART 8251A. ______________________________________________________________________________________________________________________________ Nguyễn Trung Lập Truyền dữ liệu

Page 258: tong quan ve tri tue nhan tao

__________Chương 7 Truyền tín hiệu số bằng sóng mang tương tự: Modem VII -29

(H 7.42)

Chân 21 (SH , switch hook) xuống thấp đưa 6860 vào mode originate, sẵn sàng nhận tín hiệu mark tần số 2225 Hz từ answer modem. 450ms sau khi nhận tín hiệu mark, 6860 bắt đầu phát tần số mark 1270 Hz. 750 ms sau khi nhận tín hiệu 2250 Hz đầu tiên, chân CTS xuống thấp và dữ liệu có thể đươc phát hay thu.

Ngã vào TD (threshold detect), chân số 7 có chức năng tương tự chân CD của RS 232 (phát hiện sóng mang). Nếu mức điện áp sóng mang không đủ mạnh, chân TD lên cao kéo theo CTS lên cao và ngắt sóng mang Tx. Ở ngã ra của bộ phận điều chế là bộ biến đổi D/A, cho ra tín hiêu nấc thang gần sin có rất nhiều hài không mong muốn. Bộ lọc phát có nhiệm vụ lọc bỏ các hài này để tránh giao thoa với sóng mang FSK nhận ở phần thu Ngã vào RI (Ring Indicator, chân 19) nối với mạch phát hiện chuông. Mức thấp ở chân RI đưa 6860 vào chế độ answer và làm cho ngã ra AP (Answer Phone, chân 4) lên cao, đóng relay chuyển mạch trả lời điện thoại. Chân 15 là ngã ra Mode, cho biết trạng thái của modem: mức cao chỉ mode originate và mức thấp chỉ mode answer. Chân này được dùng để điều khiển chuyển mạch bộ lọc thu và bộ lọc phát.

7. 4. 2 Bô lọc MC 145440 MC 145440 là IC CMOS, 18 chân bao gồm 2 bộ lọc dải thấp và dải cao của Modem Bell 103 và khóa chuyển mạch tự động. Ở mode originate bộ lọc dải cao nối với kênh thu, bộ lọc dải thấp với kênh phát và ngược lại ở mode answer. (H 7.43) trình bày sơ đồ khối đơn giản và đáp tuyến hai bộ lọc của MC 145440

______________________________________________________________________________________________________________________________ Nguyễn Trung Lập Truyền dữ liệu

Page 259: tong quan ve tri tue nhan tao

__________Chương 7 Truyền tín hiệu số bằng sóng mang tương tự: Modem VII -30

(H 7.43)

Mức logic của ngã vào O/ A (Originate/Answer) điều khiển khóa chuyển mạch để chọn mode. Ngã vào VLS (Logic Select) dùng chọn mức logic cho tín hiệu số ở ngã vào. VLS ở cao cho phép mức tín hiệu CMOS và thấp cho phép tín hiệu TTL. Ngã vào ST (Self test) ở cao đặt chip ở chế độ tự kiểm tra vòng. Ngã vào CLK SEL (Clock Select) điều khiển các bộ chia tần số bên trong để cho phép sử dụng với thạch anh 1 MHz hay 4 MHz tưong ứng với CLK SEL ở thấp hoặc cao. Thạch anh được nối vào mạch ở chân CLK1 và CLK2. Xung clock 1 MHz có thể được lấy ra từ ngã ra CLK OUT thường để cung cấp cho mach điều chế-giải điều chế như MC 6860. MC 145440 cũng có thêm một OPAMP bên ngoài sử dụng cho mạch song công.

______________________________________________________________________________________________________________________________ Nguyễn Trung Lập Truyền dữ liệu

Page 260: tong quan ve tri tue nhan tao

Chương 8: Suy Luận Tự Động

PHẦN IV

CÁC CHỦ ĐỀ NÂNG CAO Phần này sẽ khảo sát hai lĩnh vực TTNT quan trọng: suy luận tự động và máy học; đây là các lĩnh vực mà sự phát triển của chúng ảnh hưởng sâu sắc đến định hướng của toàn thể ngành khoa học TTNT.

Trong lời mở đầu của phần III, chúng ta đã thảo luận những ưu và khuyết điểm của các hệ giải quyết vấn đề (GQVĐ) theo phương pháp yếu. Những vấn đề về các phương pháp yếu bao gồm tính phức tạp của không gian tìm kiếm và những khó khăn trong việc biểu diễn tri thức về thế giới bằng những biểu diễn tổng quát. Mặc cho những thành công của các hệ chuyên gia và các hệ GQVĐ theo phương pháp mạnh tương tự, nhiều lĩnh vực vẫn đòi hỏi phải có các phương pháp tổng quát; mà thực chất, chiến lược điều khiển của bản thân các hệ chuyên gia đều dựa trên những phương pháp GQVĐ yếu tốt. Nhiều nghiên cứu hứa hẹn về các hệ GQVĐ theo phương pháp yếu tiếp tục được tiến hành bởi cộng đồng chứng minh định lý tự động. Những kỹ thuật này đã tìm thấy ứng dụng của mình trong nhiều lĩnh vực quan trọng, trong đó có thiết kế và kiểm chứng mạch điện tích hợp, chứng minh tính đúng đắn của chương trình, và một cách gián tiếp, sự ra đời của ngôn ngữ PROLOG. Trong chương 8, chúng ta sẽ xem xét các vấn đề xung quanh suy luận tự động.

Chương 9 giới thiệu máy học, một trong những vấn đề nghiên cứu trung tâm của TTNT hiện nay. Trong chương này, chúng ta xem xét 3 tiếp cận học khác nhau. Tiếp cận thứ nhất là học dựa trên ký hiệu. Bằng cách bắt đầu với một tập hợp các ký hiệu biểu diễn những thực thể và quan hệ trong một lĩnh vực vấn đề, các thuật toán học cố gắng suy ra những khái quát mới lạ, có căn cứ và hữu ích mà có thể thể hiện được qua những ký hiệu.

Ngược lại với tiếp cận ký hiệu, tiếp cận kết nối thì biểu diễn tri thức như là những hình mẫu của sự hoạt động trong mạng các đơn vị xử lý nhỏ, riêng lẻ. Được thúc đẩy bởi kiến trúc não bộ, các mạng liên hệ học bằng cách sửa đổi cấu trúc của chúng nhằm đáp ứng với dữ liệu luyện tập. Thay vì tìm kiếm những khái quát có khả năng mà một ngôn ngữ biểu diễn ký hiệu có thể đem lại, các mô hình liên hệ nhận biết những hình mẫu bất biến trong dữ liệu và biểu diễn những mẫu này theo cấu trúc của chính bản thân chúng.

Cũng giống như mạng kết nối được thúc đẩy bởi hệ nơron sinh học, các mô hình nổi trội của tiếp cận thứ ba được thúc đẩy bởi các phép tương tự di truyền và tiến hóa. Các thuật toán di truyền bắt đầu bằng một quần thể những lời giải ứng cử viên. Những lời giải ứng viên này sẽ được đánh giá theo khả năng giải quyết bài toán, chỉ có những lời giải phù hợp nhất mới sống sót và kết hợp với nhau để tạo ra thế hệ tiếp theo những lời giải có khả năng. Do đó, những lời giải có tốt hơn sẽ tăng dần và nổi lên như thuyết Darwin về vũ trụ.

Võ Huỳnh Trâm – Trần Ngân Bình 135

Page 261: tong quan ve tri tue nhan tao

Giáo Trình Trí Tuệ Nhân Tạo

Chương VIII

SUY LUẬN TỰ ĐỘNG (AUTOMATIC REASONING)

Nội dung chính : Trong chương này, chúng ta sẽ tìm hiểu về một thành quả của nhánh nghiên cứu Suy luận tự động đã được giới thiệu ở chương I, đó là phương pháp chứng minh hợp giải (Resolution) hay còn gọi là thủ tục hợp giải.

Mục tiêu cần đạt : Sau chương này, sinh viên có thể :

Vận dụng giải thuật chuyển câu về dạng mệnh đề Vận dụng giải thuật Hợp giải để chứng minh các vấn đề được biểu diễn bằng

ngôn ngữ logic mệnh đề. Vận dụng giải thuật Hợp Giải để chứng minh các vấn đề được biểu diễn bằng

ngôn ngữ logic vị từ

Kiến thức tiên quyết: Ngôn ngữ logic mệnh đề, ngôn ngữ logic vị từ, phương pháp chứng minh dẫn xuất, phép đối sánh mẫu trong logic vị từ.

Tài liệu tham khảo :

[1] Geogre F. Luger – Artificial Intelligence, Structures and Strategies for Complex Problem Solving 4th Ed. – Addison-Wesley Publishing Company, Inc – 2002 (trang 509 – trang 552)

[2] Elaine Rich, Kevin Knight – Artificial Intelligence, 2nd Ed. McGraw Hill, Inc – 1991 (trang 131 – trang 169)

136 Võ Huỳnh Trâm – Trần Ngân Bình

Page 262: tong quan ve tri tue nhan tao

Chương 8: Suy Luận Tự Động

I GIỚI THIỆU:

Như đã giới thiệu trong chương I, suy luận tự động có thể xem là nhánh nghiên cứu lâu đời nhất của AI, bắt nguồn từ Logic Theorist và General Problem Solver của Newell và Simon.

Sức hấp dẫn của suy luận tự động nằm trong tính chặt chẽ và tổng quát của logic. Bởi vì logic là một hệ thống hình thức, nên ta có thể tự động hóa nó. Rất nhiều vấn đề khác nhau có thể giải quyết được bằng cách biểu diễn các mô tả vấn đề và các thông tin liên quan ở dạng các tiên đề luận lý và xem bài toán như là các định lý cần chứng minh.

Nổ lực của các nhà khoa học trong lĩnh vực này là tự động hóa quá trình chứng minh các định lý dựa vào các tiên đề cơ sở. Mặc dù cho đến nay vẫn chưa đạt được mục tiêu ban đầu, nhưng nhánh nghiên cứu này đã tạo ra nhiều kết quả rất quan trọng trong việc hình thức hóa các giải thuật tìm kiếm và phát triển các ngôn ngữ biểu diễn hình thức như Đại số quan hệ mà ta đã học ở chương II.

Trong chương này ta sẽ tiếp tục khảo sát một trong những thành quả của lĩnh vực này, đó là phương pháp chứng minh Hợp Giải (resolution). Một ứng dụng quan trọng của hợp giải đó là làm nền tảng cho trình thông dịch của ngôn ngữ PROLOG đang được sử dụng hiện nay.

Hợp giải là một kỹ thuật chứng minh định lý được biểu diễn bằng đại số mệnh đề hay đại số vị từ. Hợp giải được phát triển vào giữa thập niên 60 do Robinson đề xướng. Hợp giải sử dụng phản chứng để chứng minh một vấn đề. Hay nói cách khác, để chứng minh một câu (nghĩa là chứng minh câu này đúng), hợp giải sẽ chỉ ra rằng phủ định của câu sẽ tạo ra một mâu thuẫn với các câu đã biết. Tiếp cận này trái ngược với kỹ thuật mà chúng ta đã sử dụng để chứng minh ở chương II, chương III, tức là sử dụng phép dẫn xuất để chứng minh.

Trước khi đi vào phương pháp chứng minh hợp giải, chúng ta sẽ xem một ví dụ sử dụng Logic Vị Từ để biểu diễn tri thức và sử dụng phép dẫn xuất ở chương II để chứng minh.

Thí dụ 8.1: Xét ví dụ với tập hợp các câu như sau:

1. Marcus was a man.

2. Marcus was a Pompeian.

3. All Pompeians were Romans.

4. Caesar was a ruler.

5. All Romans were either loyal to Caesar or hated him.

6. Everyone is loyal to someone.

7. People only try to assasinate rulers they are not loyal to.

8. Marcus tried to assasinate Caesar.

Hãy chứng minh ‘Was Marcus loyal to Caesar?’

Các câu trên có thể được biểu diễn dưới dạng các câu hay công thức dạng chuẩn (wff) trong ngôn ngữ Phép tính vị từ như sau:

1) man (marcus)

Võ Huỳnh Trâm – Trần Ngân Bình 137

Page 263: tong quan ve tri tue nhan tao

Giáo Trình Trí Tuệ Nhân Tạo

2) pompeian (marcus)

3) ∀X pompeian (X) → roman(X)

4) ruler (caesar)

5) ∀X roman(X) → loyalto (X, caesar) ∨ hate(X, caesar)

6) ∀X, ∃Y loyalto (X,Y)

7) ∀X, ∀Y person(X) ∧ ruler(Y) ∧ trytoassasinate(X) → ¬loyalto (X,Y)

8) trytoassasinate (marcus, caesar)

Chứng minh ¬loyalto(marcus, caesar)

Để chứng minh mục tiêu trên, chúng ta sử dụng luật suy diễn để biến đổi thành mục tiêu mới (hay nhiều mục tiêu con mới), và cứ tiếp tục cho đến khi không còn mục tiêu nào chưa thỏa mãn.

Quá trình này có thể biểu diễn bằng một đồ thị AND/OR. Ở đây, để đơn giản ta chỉ vẽ một đường duy nhất.

Hình bên dưới minh họa một cách chứng minh cho mục tiêu trên:

¬loyalto (marcus, caesar)

↑ (câu 7, marcus/X, ceasar/Y)

person (marcus) ∧ ruler (caesar) ∧ trytoassasinate (marcus, caesar)

↑ (câu 4)

person (marcus) ∧ trytoassasinate (marcus, caesar)

↑ (câu 8)

person (marcus)

Đến đây ta gặp phải một vấn đề là mặc dù chúng ta biết Marcus là một người đàn ông (man), chúng ta không có cách nào kết luận Marcus là một người (person). Vì vậy, ta phải thêm vào cơ sở tri thức một câu như sau:

9) ∀X man (X) ∨ woman (X) → person(X)

Với câu 9 vừa thêm vào, ta có thể chứng minh thành công mục tiêu trên.

Từ chứng minh trên, chúng ta có nhận xét như sau:

− Thậm chí các kết luận rất đơn giản cũng đòi hỏi phải chứng minh qua nhiều bước.

− Quá trình tạo ra một chứng minh có liên quan đến nhiều quá trình khác nhau như quá trình đối sánh, thay thế, áp dụng luật Modus Ponens. Quá trình này sẽ phức tạp hơn nếu như các luật có nhiều từ hai mục ở vế phải hay vế trái gồm nhiều biểu thức phức tạp And hay Or với nhau.

Từ những nhận xét này cho thấy việc xây dựng một chương trình có thể chứng minh được như con người là không dễ dàng chút nào. Vì vậy, ta cần một phương pháp chứng minh đơn giản hơn. Và Hợp Giải (resolution) ra đời như là một công cụ chứng minh hiện đại và mạnh

138 Võ Huỳnh Trâm – Trần Ngân Bình

Page 264: tong quan ve tri tue nhan tao

Chương 8: Suy Luận Tự Động

mẽ hơn cho ngành suy luận tự động. Sự đơn giản trong phép chứng minh của hợp giải xuất phát từ nguyên nhân: Thay vì suy luận trên các câu vị từ, hợp giải thao tác trên các câu đã được chuyển thành một dạng chuẩn trước khi bắt đầu quá trình chứng minh để làm giảm tính phức tạp của vấn đề. Phần còn lại của chương này sẽ giới thiệu về thủ tục Hợp giải này.

II THỦ TỤC HỢP GIẢI (RESOLUTION)

Thủ tục hợp giải chứng minh bằng phản chứng (refutation). Nghĩa là để chứng minh một câu, nó sẽ chứng minh rằng phủ định của câu đó sẽ tạo ra một mâu thuẫn với các câu đã cho. Nhưng trước khi áp dụng thủ tục Robinson, các câu sẽ được chuyển về một dạng chuẩn mà ta gọi là dạng mệnh đề (clause form)

II.1 Chuyển về dạng mệnh đề (Clause form):

II.1.1 Nhu cầu chuyển câu về dạng mệnh đề:

Giả sử chúng ta có một luật như sau: “Tất cả những người Roman biết Marcus thì hoặc là sẽ ghét Caesar hoặc nghĩ rằng bất cứ ai ghét người khác là điên rồ”, ta có thể biểu diễn tri thức này dưới dạng một công thức dạng chuẩn (wff) như sau:

∀X [roman (X) ∧ know (X,marcus) → [hate(X,caesar) ∨ (∀Y (∃Z hate(Y,Z) → thinkcrazy(X,Y) ) )]] (1)

Để sử dụng công thức này trong một chứng minh đòi hỏi một quá trình đối sánh phức tạp. Quá trình này sẽ dễ dàng hơn nếu công thức được biểu diễn ở dạng đơn giản hơn. Công thức sẽ dễ dàng thao tác hơn nếu chúng nó:

− Phẳng hơn, nghĩa là có ít thành phần được nhúng vào. − Các lượng tử biến (∀,∃) được tách khỏi phần còn lại của công thức để ta khỏi bận

tâm xem xét chúng.

Dạng chuẩn Conjunctive Normal Form (CNF) hội đủ cả hai tính chất này.

CNF (Dạng chuẩn hội) : một biểu thức mệnh đề được xem là ở dạng chuẩn hội nếu nó là một chuỗi các mệnh đề kết nối nhau bằng quan hệ AND (∧). Mỗi mệnh đề có dạng một tuyển OR (∨) của các biến mệnh đề.

Thí dụ 8.2: Các biểu thức sau ở dạng CNF :

• (¬a ∨ c) ∧ (¬a ∨¬b ∨ e) ∧ (c ∨ ¬d ∨ ¬e)

• (¬dog(X) ∨ animal(X)) (¬animal(Y) die(Y)) ∧ (dog(fido))

Công thức (1) được biểu diễn tương đương ở dạng CNF như sau:

¬ roman (X) ∨ ¬ know (X,Marcus) ∨ hate(X,Caesar) ∨ ¬ hate(Y,Z) ∨ thinkcrazy(X,Y)

Một vấn đề trong thực tế khi được biểu diễn trong hệ thống thường là ở dạng các câu đúng cùng một lúc (vì vậy đó là hội của các câu), mỗi câu có thể được biểu diễn bằng một tuyển. Vì vậy, tri thức của bài toán có thể được biểu diễn như là hội của các tuyển.

Võ Huỳnh Trâm – Trần Ngân Bình 139

Page 265: tong quan ve tri tue nhan tao

Giáo Trình Trí Tuệ Nhân Tạo

Ta có sẵn một giải thuật để chuyển bất kỳ một câu trong Logic vị từ hay công thức dạng chuẩn (wff) về dạng CNF, mà vẫn không làm mất tính tổng quát nếu chúng ta sử dụng một thủ tục chứng minh như Hợp giải để thao tác trên các wff ở dạng này.

Vì vậy, để có thể sử dụng thủ tục Robinson, ta phải chuyển toàn bộ tri thức bài toán về dạng CNF hay nói khác hơn, chuyển từng câu về dạng mệnh đề (clauses).

* Định nghĩa mệnh đề:

Một mệnh đề được định nghĩa như là một wff ở dạng CNF nhưng không có sự hiện diện của phép hội (∧), hay nói khác hơn mỗi mệnh đề là tuyển (∨) của các biến mệnh đề (literal).

Trong thí dụ 8.2 ở trên, dog(X), animal(X),.. là các biến mệnh đề.

II.1.2 Giải thuật chuyển về dạng mệnh đề:

Bước 1. Loại bỏ dấu → sử dụng công thức tương đương a → b = ¬a ∨ b Bước 2. Thu hẹp phạm vi của toán tử ¬ về cho từng mục (term) đơn, sử dụng các

tương đương: a. ¬(¬p) = p b. Luật De Morgan:¬(a ∧ b) = ¬a ∨ ¬b hay ¬(a ∨ b) = ¬a ∧ ¬b c. ¬∀X p(X) = ∃X ¬p(X) hay ¬∃X p(X) = ∀X ¬p(X)

Bước 3. Chuẩn hóa các biến sao cho mỗi lượng tử chỉ kết nối với một biến duy nhất. Vì các biến chỉ đơn giản là các tên để ‘giữ chỗ’, nên quá trình này không làm ảnh hưởng đến chân trị của wff.

Ví dụ: ∀X p(X) ∨ ∀X q(X) có thể chuyển thành ∀X p(X) ∨ ∀Y q(Y) Bước 4. Dịch chuyển tất cả các lượng tử về bên trái của công thức nhưng vẫn giữ

nguyên thứ tự của chúng. Bước 5. Xóa bỏ các lượng tử tồn tại (∃). Chúng ta có thể loại bỏ lượng tử tồn tại bằng

cách thay thế biến đó bằng một hàm sinh ra giá trị mong muốn. Ta chỉ cần một hàm mới cho mỗi lần thay thế như vậy.

Ví dụ: ∃Y president(Y) được chuyển thành president(S1) Với S1 là một hàm tạo ra giá trị thỏa mãn vị từ president. Trong trường hợp lượng tử tồn tại xuất hiện bên trong phạm vi của lượng tử phổ biến, thì giá trị thỏa mãn vị từ này sẽ phải phụ thuộc vào giá trị của biến lượng tử tồn tại. Ví dụ: ∀X ∃Y father_of (Y,X)

được chuyển thành ∀X father_of (S2(X),X) Các hàm (S1, S2) này được gọi là hàm Skolem. Đôi khi các hàm Skolem không có đối số được gọi là hằng Skolem như S2.

Bước 6. Bỏ đi các tiền tố (lượng tử phổ biến) Bước 7. Chuyển công thức về dạng hội của các tuyển. Sử dụng luật phân phối

(a ∧ b) ∨ c = (a ∨ c) ∧ (b ∨ c) hay (a ∨ b) ∧ c = (a ∧ c) ∨ (b ∧ c)

Ví dụ: (winter ∧ wearingboots) ∨ (summer ∧ wearingsandals)

[ (winter ∨ (summer ∧ wearingsandals) ] ∧ [ wearingboots ∨ (summer ∧ wearingsandals)]

(winter ∨ summer) ∧

140 Võ Huỳnh Trâm – Trần Ngân Bình

Page 266: tong quan ve tri tue nhan tao

Chương 8: Suy Luận Tự Động

(winter ∨ wearingsandals) ∧ (wearingboots ∨ summer) ∧ (wearingboots ∨ wearingsandals)

Bước 8. Tạo ra các mệnh đề tách biệt tương ứng với từng toán hạng tuyển trên. Ví dụ ở bước 7: từ kết quả ở bước 7, ta có thể tách thành 4 mệnh đề.

Bước 9. Chuẩn hoá các biến trong tập hợp các mệnh đề vừa tạo ở bước 8, nghĩa là đặt lại tên cho các biến sao cho không có hai mệnh đề có cùng tên biến.

Câu hỏi :

Hãy skolemize các biểu thức sau: 1. ∃ X dog(X) 2. (∀X) (∃Y) mother (X,Y) 3. (∀X) (∀Y) (∃Z) (∀W) ( foo(X, Y, Z, W))

Thí dụ 8.3: Áp dụng giải thuật trên, hãy chuyển câu vị từ ở ví dụ Thí dụ 8.1 về dạng mệnh đề :

∀X [roman (X) ∧ know (X,marcus) → [hate(X,caesar) ∨ (∀Y (∃Z hate(Y,Z) → thinkcrazy(X,Y) ) )]]

1. Loại bỏ dấu → ∀X [ ¬ (roman (X) ∧ know (X,marcus)) ∨

[hate(X,caesar) ∨ (∀Y ( ¬(∃Z hate(Y,Z)) ∨ thinkcrazy(X,Y)) )]] 2. Đưa ¬ vào trong

∀X [(¬roman (X) ∨ ¬know (X,marcus)) ∨ [hate(X,caesar) ∨ (∀Y (∀Z (¬hate(Y,Z) ) ∨ thinkcrazy(X,Y)))]]

3. Chuẩn hoá các biến 4. Dịch chuyển tất cả các lượng tử về bên trái:

∀X ∀Y ∀Z [(¬roman (X) ∨ ¬know (X,marcus) ) ∨ [hate(X,caesar) ∨ (¬hate(Y,Z) ∨ thinkcrazy(X,Y))]]

5. Xoá bỏ các lượng tử tồn tại 6. Bỏ đi lượng tử phổ biến

[(¬roman (X) ∨ ¬know (X,marcus) ) ∨ [hate(X,caesar) ∨ (¬hate(Y,Z) ∨ thinkcrazy(X,Y))]]

7. Chuyển thành hội của các tuyển: vì trong công thức trên không còn toán tử And, nên ở đây ta chỉ đơn giản là bỏ đi các dấu ngoặc là ta có được công thức ở dạng mệnh đề như sau: ¬roman (X) ∨ ¬know (X,marcus) ∨

hate(X,caesar) ∨ ¬hate(Y,Z) ∨ thinkcrazy(X,Y) Câu hỏi :

Đưa câu vị từ sau về dạng mệnh đề: ∀X ( a(X)→ b(X) ) ↔ ∃X q(X)

Võ Huỳnh Trâm – Trần Ngân Bình 141

Page 267: tong quan ve tri tue nhan tao

Giáo Trình Trí Tuệ Nhân Tạo

II.2 Cơ sở của Hợp giải (Resolution):

Thủ tục hợp giải là một quá trình lặp đơn giản: ở mỗi lần lặp, hai mệnh đề, gọi là mệnh đề cha, được so sánh (hay giải quyết - resolved), để tạo ra mệnh đề kết quả, trong đó những biến mệnh đề mâu thuẫn nhau sẽ bị loại bỏ. Để hiểu lý do loại bỏ hai biến mệnh đề mâu thuẫn này, ta xét một trường hợp sau.

Giả sử trong hệ thống có hai mệnh đề (nghĩa là cùng lúc cả hai mệnh đề đều phải đúng):

winter ∨ summer và ¬winter ∨ cold

Tại bất kỳ thời điểm nào, chỉ có một trong hai biến mệnh đề winter và ¬winter là đúng.

Nếu winter đúng, thì buộc cold phải đúng. Còn nếu ¬winter đúng thì buộc summer phải đúng. Vì vậy, từ hai mệnh đề trên có thể dẫn xuất thành:

summer ∨ cold

Đây chính là dẫn xuất mà hợp giải sẽ sử dụng. Hợp giải sẽ thao tác trên hai mệnh đề có chứa cùng biến mệnh đề (trong ví dụ trên là winter). Biến mệnh đề này phải ở dạng khẳng định trong một mệnh đề, và ở dạng phủ định trong mệnh đề kia. Kết quả đạt được bằng cách kết hợp hai mệnh đề cha trừ đi biến mệnh đề chung đó.

Nếu mệnh đề kết quả là rỗng thì xem như đã tìm được sự mâu thuẫn (contradiction), nghĩa là mục tiêu đã được chứng minh.

Trong hai phần kế tiếp, ta sẽ xét giải thuật hợp giải sử dụng trong hai trường hợp, đó là trường hợp vấn đề được biểu diễn bằng ngôn ngữ logic mệnh đề và trường hợp vấn đề được biểu diễn bằng ngôn ngữ logic vị từ.

II.3 Giải thuật hợp giải dùng cho Logic mệnh đề:

Cho trước: Tập hợp các tiên đề (axioms) F viết dưới dạng các câu trong phép tính mệnh đề.

Yêu cầu: Chứng minh P

142 Võ Huỳnh Trâm – Trần Ngân Bình

Page 268: tong quan ve tri tue nhan tao

Chương 8: Suy Luận Tự Động

* Giải thuật Hợp giải dùng cho Phép tính mệnh đề (Propositional Logic):

Bước 1. Chuyển tất cả các câu trong F về dạng mệnh đề (clause form) Bước 2. Lấy phủ định P và chuyển về dạng mệnh đề. Thêm nó vào tập các mệnh đề

vừa tạo ở bước 1. Bước 3. Lặp lại cho đến khi tìm thấy sự mâu thuẫn hoặc không thể tiếp tục:

a. Chọn hai mệnh đề. Gọi là các mệnh đề cha. b. Hợp giải chúng. Mệnh đề kết quả là tuyển của tất cả các biến mệnh đề trong

các mệnh đề cha trừ: nếu có bất kỳ các cặp biến mệnh đề L và ¬L, một nằm trong mệnh đề cha này, một nằm trong mệnh đề cha kia, thì chọn một cặp và xóa cả hai L và ¬L ra khỏi mệnh đề kết quả.

c. Nếu mệnh đề kết quả là rỗng, thì xem như đã tìm được sự mâu thuẫn. Nếu không, thêm mệnh đề kết quả đó vào trong tập hợp các mệnh đề hiện có.

Thí dụ 8.4:

Các câu cho trước Chuyển về dạng mệnh đề P P (1) (P ∧ Q) → R ¬P ∨ ¬Q ∨ R (2) (S ∨ T) → Q ¬S ∨ Q (3) ¬T ∨ Q (4) T T (5)

Hãy chứng minh R. Các bước thực hiện của thủ tục hợp giải được biểu diễn trong đồ thị hợp giải (hay cây hợp giải) dưới đây:

¬P ∨ ¬Q ∨ R ¬R ¬P ∨ ¬Q P ¬T ∨ Q ¬Q ¬T T

II.4 Giải thuật hợp giải dùng cho Logic vị từ

Trong trường hợp biểu diễn bằng Logic mệnh đề, việc xác định hai biến mệnh đề mâu thuẫn (không thể đúng cùng lúc) là rất dễ dàng, chỉ cần đơn giản tìm L và ¬L. Trong khi biểu diễn bằng Logic vị từ, quá trình đối sánh này phức tạp hơn vì cần phải xem xét các đối số của vị từ. Chẳng hạn như, man(John) và ¬man(John) thì mâu thuẫn, còn man(John) và ¬man(Spot) thì không. Vì vậy, để xác định các cặp mâu thuẫn, ta cần một thủ tục để so sánh các biến mệnh đề và tìm xem liệu có tồn tại tập phép thế nào làm cho chúng giống nhau. Đó chính là giải thuật đồng nhất (unification) mà ta đã thảo luận ở chương II.

Cho trước: Tập hợp các tiên đề F viết dưới dạng các câu trong phép tính vị từ.

Yêu cầu: Chứng minh P

Võ Huỳnh Trâm – Trần Ngân Bình 143

Page 269: tong quan ve tri tue nhan tao

Giáo Trình Trí Tuệ Nhân Tạo

* Giải thuật Hợp giải dùng cho Phép tính vị từ (Predicate Logic):

Bước 1. Chuyển tất cả các câu trong tập F về dạng mệnh đề (clause form)

Bước 2. Lấy phủ định của P và chuyển về dạng mệnh đề. Thêm nó vào tập các mệnh đề vừa tạo ở bước 1.

Bước 3. Lặp lại cho đến khi tìm thấy sự mâu thuẫn hay không thể tiếp tục:

a. Chọn hai mệnh đề. Gọi là các mệnh đề cha.

b. Hợp giải chúng. Mệnh đề kết quả là tuyển của tất cả các biến mệnh đề trong các mệnh đề cha với các phép thế phù hợp và trừ đi: nếu có một cặp biến mệnh đề T1 và ¬T2, sao cho T1 nằm trong mệnh đề cha này, còn ¬T2 nằm trong mệnh đề cha kia, và nếu T1 và T2 là hai biến mệnh đề có thể đồng nhất (unifiable), thì xóa cả hai T1 và ¬T2 ra khỏi mệnh đề kết quả. Ta nói T1 và T2 là các biến mệnh đề bù nhau (complementary literals). Sử dụng tập phép thế trả ra bởi giải thuật đồng nhất để tạo ra mệnh đề kết quả. Nếu có nhiều hơn một cặp biến mệnh đề bù nhau thì chỉ xóa một cặp.

c. Nếu mệnh đề kết quả là rỗng, thì xem như đã tìm được sự mâu thuẫn.

d. Nếu không, thêm mệnh đề kết quả đó vào trong tập hợp các mệnh đề hiện có.

Việc lựa chọn mệnh đề nào để đưa vào hợp giải trước sẽ ảnh hưởng đến quá trình chứng minh cho mục tiêu. Vì vậy, để tăng tốc độ cho quá trình chứng minh này, một số chiến lược được đưa ra hỗ trợ cho việc lựa chọn này:

− Chỉ hợp giải những cặp mệnh đề có chứa các biến mệnh đề bù nhau.

− Loại bỏ các mệnh đề ngay khi chúng vừa được tạo ra trong quá trình hợp giải. Có hai loại mệnh đề có thể loại bỏ được là: mệnh đề luôn luôn đúng (tautology), và mệnh đề được tạo thành từ các mệnh đề khác (ví dụ P ∨ Q được tạo thành từ P).

− Mỗi khi có thể, hãy hợp giải với một trong những mệnh đề là một phần của câu mà ta cần phản chứng hoặc với một mệnh đề được sinh ra do hợp giải với mệnh đề như vậy. Chiến lược này gọi là set-of-support. Nó phát sinh từ trực giác cho rằng sự mâu thuẫn mà chúng ta tìm kiếm phải liên quan đến câu mà ta đang muốn chứng minh.

− Mỗi khi có thể, hợp giải với mệnh đề chỉ có một biến mệnh đề. Hợp giải này sẽ tạo ra mệnh đề mới với ít biến mệnh đề hơn các mệnh đề cha của nó, và vì vậy có thể nó sẽ gần đến mục tiêu là một mệnh rỗng hơn. Chiến lược này gọi là unit-preference.

Thí dụ 8.5: Các câu trong thí dụ 8.1 được chuyển về dạng mệnh đề như sau:

1. man (marcus) 2. pompeian (marcus) 3. ¬pompeian (X1) ∨ Roman (X1) 4. ruler (caesar) 5. ¬roman (X2) ∨ loyalto (X2, caesar) ∨ hate (X2, caesar) 6. loyato (X3, fl(X3))

144 Võ Huỳnh Trâm – Trần Ngân Bình

Page 270: tong quan ve tri tue nhan tao

Chương 8: Suy Luận Tự Động

7. ¬man (X4) ∨ ¬ ruler (Y1) ∨ ¬ tryassasinate (X4, Y1) ∨ loyalto (X4, Y1) 8. tryassasinate (marcus, caesar)

Chứng minh: hate (marcus, caesar)

¬ hate (marcus, caesar) 5

marcus / X2

3 ¬ roman (marcus) ∨ loyalto (marcus, caesar)

marcus / X1

2 ¬ pompeian (marcus) ∨ loyalto (marcus, caesar)

7 loyalto (marcus, caesar)

marcus /X4, caesar / Y1

1 ¬ man(marcus) ∨ ¬ruler(caesar) ∨ ¬ tryassasinate (marcus, caesar)

4 ¬ ruler (caesar) ∨ ¬ tryassasinate (marcus, caesar)

8 ¬ tryassasinate (marcus, caesar)

(đpcm)

Đến đây, chúng ta đã biết cách thức sử dụng hợp giải một cách cơ bản để chứng minh cho các vấn đề được biểu diễn ở ngôn ngữ logic mệnh đề hay logic vị từ. Phần kế tiếp chúng ta sẽ thảo luận về tính chất dừng của thủ tục này, nghĩa là thủ tục có khả năng phát hiện các trường hợp không tồn tại sự mâu thuẫn và kết thúc việc chứng minh. Hai phần kế tiếp nữa sẽ thảo luận về sự mở rộng của ngôn ngữ logic vị từ hỗ trợ cho sự tính toán, và trả lời câu hỏi.

II.5 Hợp giải có thể phát hiện trường hợp không tồn tại sự mâu thuẫn:

Đối với những vấn đề không chứng minh được, nghĩa là quá trình hợp giải không thể kết thúc bằng kết quả rỗng, thì hợp giải vẫn có khả năng phát hiện được những tình huống này, và cho phép thủ tục dừng, đồng thời đưa ra kết luận là không thể chứng minh được.

Giả sử với câu hỏi đưa ra là ‘Did Marcus hate Caesar?’. Trong trường hợp này, ta có thể sẽ đưa ra câu cần chứng minh là ¬ hate (marcus, caesar).

Để chứng minh câu này, ta thêm vào tập hợp các mệnh đề một mệnh đề: hate (marcus, caesar)

Và bắt đầu chứng minh. Nhưng ngay lập tức ta sẽ thấy là việc chứng minh không thể được tiếp tục vì không có mệnh đề nào chứa biến mệnh đề ¬hate. Vì vậy, ta có thể kết luận hate (marcus, caesar) sẽ không tạo ra sự mâu thuẫn nào với các câu đã cho.

Võ Huỳnh Trâm – Trần Ngân Bình 145

Page 271: tong quan ve tri tue nhan tao

Giáo Trình Trí Tuệ Nhân Tạo

Đôi khi hợp giải không phát hiện tình huống này ngay bước khởi đầu, mà có thể sau một vài bước hợp giải như trong ví dụ sau.

Thí dụ 8.6: Giả sử trong cơ sở tri thức của ta có thêm hai câu:

9. persecute(X,Y) → hate(Y,X) ¬persecute(X5,Y2) ∨ hate(Y2,X5)

10. hate(X,Y) → persecute(Y,X) ¬hate(X6,Y3) ∨ persecute(Y3,X6)

Ta cần chứng minh: loyalto (marcus, caesar)

¬ loyalto (marcus, caesar) 5

marcus / X2

3 ¬ roman (marcus) ∨ hate (marcus, caesar)

marcus /X1

2 ¬ pompeian (marcus) ∨ hate (marcus, caesar)

hate (marcus, caesar)

10

marcus / X6 , caesar /Y3

persecute (caesar, marcus) 9

marcus / X5 , caesar / Y2

hate (marcus, caesar)

:

Bây giờ để khẳng định là không tồn tại sự mâu thuẫn ta phải phát hiện rằng mệnh đề kết quả hate(marcus, caesar) chính là mệnh đề đã được tạo ra trước đó. Hay nói cách khác, mặc dù ta có thể tạo ra mệnh đề kết quả, nhưng không tạo ra mệnh đề mới.

II.6 Sử dụng hàm tính toán, vị từ tính toán, và mối quan hệ bằng:

Để có thể biểu diễn tri thức hiệu quả hơn, người ta có thể sử dụng các hàm tính toán (computable function), các vị từ tính toán (computable predicate), và các mối quan hệ bằng (equality relationship).

Thí dụ 8.7: Giả sử ta có cơ sở tri thức đã được chuyển sang dạng mệnh đề như sau:

1. man (marcus) 2. pompeian (marcus) 3. born(marcus, 40) 4. ¬man(X1) ∨ mortal (X1) 5. ¬pompeian (X2) ∨ died (X2,79) 6. erupted (volcano,79) 7. ¬mortal (X3) ∨ ¬born (X3, T1) ∨ ¬gt(T2 – T1,150) ∨ dead(X3,T2) 8. now = 2003 9.

146 Võ Huỳnh Trâm – Trần Ngân Bình

Page 272: tong quan ve tri tue nhan tao

Chương 8: Suy Luận Tự Động

a. ¬alive(X4,T3) ∨ ¬dead(X4,T3) b. dead(X5,T4) ∨ alive(X5,T4)

10. ¬died (X6, T5) ∨ ¬gt(T6, T5) ∨ dead(X6,T6)

Chứng minh: ¬ alive (marcus, now)

alive (marcus, now) 9a

marcus / X4, now/T3

10 dead (marcus, now)

marcus/X6, now/T6

5 ¬ dead (marcus, T5) ∨ ¬ gt(now, T5)

marcus/X2, 79/T5

¬ pompeian(marcus) ∨ ¬gt(now,79)

thay thế bằng

¬ pompeian(marcus) ∨ ¬gt(2003,79)

đơn giản

¬ pompeian(marcus) 2

II.7 Trả lời câu hỏi:

Đến đây, chúng ta đã biết hợp giải được sử dụng như thế nào để trả lời cho các câu hỏi đúng-sai, có-không, chẳng hạn như câu hỏi ‘Liệu Marcus có còn sống?’ trong thí dụ 8.7 trên. Trong phần này, chúng ta xem làm cách nào hợp giải có thể trả lời được các câu hỏi dạng điền vào chỗ trống như:

“Marcus đã chết khi nào?’ => died(marcus, ??)

Vì ta có thể chứng minh câu died (marcus, 79), nên đáp án ở đây là 79. Điều này cho thấy thủ tục hợp giải cung cấp một cách đơn giản để định vị câu mà chúng ta cần và tìm cách chứng minh nó.

Trả lời câu hỏi “Marcus đã chết khi nào?’, có nghĩa là sự kiện ‘Marcus đã chết’ là đúng. Vì vậy ta có thể đưa ra câu cần chứng minh là:

∃T died(marcus, T)

Áp dụng thủ tục hợp giải, chúng ta sẽ chứng minh rằng ¬∃T died(marcus, T) sẽ tạo ra một sự mâu thuẫn.

Chuyển về dạng mệnh đề, nó sẽ là: ⇒ ∀T ¬died(marcus, T)

⇒ ¬died(marcus,T)

Võ Huỳnh Trâm – Trần Ngân Bình 147

Page 273: tong quan ve tri tue nhan tao

Giáo Trình Trí Tuệ Nhân Tạo

Cây hợp giải bên dưới mô tả các bước hợp giải để trả lời cho câu hỏi trên.

¬pompeian(X1) ∨ died(X1,79) ¬died(marcus, T)

79/T , marcus/X1

pompeian(marcus) ¬pompeian(marcus)

Đáp án cho câu hỏi nêu ra sẽ được suy ra từ một chuỗi các phép thế lần về mệnh đề bắt đầu. Để loại bỏ đi động tác này, ta có thể thêm vào một biểu thức phụ cho mệnh đề mà ta cần chứng minh. Biểu thức phụ (hay còn gọi là biểu thức ‘câm’ - dummy) này chỉ đơn giản là mệnh đề mà ta muốn chứng minh là đúng. Để phân biệt biểu thức này với các mệnh đề khác, ta sẽ gạch dưới để làm dấu.

Trong quá trình chứng minh, biểu thức ‘câm’ này chỉ đơn giản là được truyền dọc theo các bước hợp giải, các biến trong biểu thức này cũng sẽ được gắn kết (bound) như các mệnh đề khác.

Trong trường hợp này, thay vì thủ tục hợp giải sẽ kết thúc khi mệnh đề kết quả là rỗng, thì nó sẽ kết thúc khi kết quả chỉ còn lại các biểu thức ‘câm’. Và các giá trị gắn kết của các biến trong các biểu thức câm này chính là lời giải cho câu hỏi đặt ra ban đầu.

Cây hợp giải trả lời cho câu hỏi ‘Marcus đã chết khi nào?’ sẽ được cải biên như sau. Vì vậy, cây hợp giải dưới đây đôi khi được gọi là cây chứng minh cải biên.

¬pompeian(X1) ∨ died(X1,79) ¬died(marcus, T) ∨ died(marcus,T)

79/T , marcus/X1

pompeian(marcus) ¬pompeian(marcus) ∨ died(marcus,79) died(marcus,79)

III NHẬN XÉT VỀ PHƯƠNG PHÁP HỢP GIẢI:

Các kết quả của Robinson đã đặt nền móng cho một loạt các nghiên cứu có liên quan đến việc vận dụng phương pháp hợp giải và các phương pháp tương tự trong lĩnh vực chứng minh định lý tự động. Những ưu điểm chính của phương pháp hợp giải là tính tổng quát, tính phổ dụng, khả năng áp dụng tốt đối với các dạng câu Horn (tức là câu có dạng A1 ∧ A2 ∧ … An → B), song nó cũng có hai nhược điểm chủ yếu:

− Trong quá trình tư duy, thông thường con người không sử dụng chiến lược suy diễn này. Vì vậy một người khó có thể giao tiếp với chương trình chứng minh sử dụng phương pháp hợp giải, để có thể cho nó một lời khuyên hay nhận lời khuyên từ nó. Việc chứng minh các vấn đề khó vẫn còn là một điều khó khăn đối với máy tính, vì vậy về mặt thực tế, nếu con người và máy tính có thể tương tác với nhau cũng là điều rất quan trọng .

148 Võ Huỳnh Trâm – Trần Ngân Bình

Page 274: tong quan ve tri tue nhan tao

Chương 8: Suy Luận Tự Động

− Trong khi chuyển các câu về dạng mệnh đề, chúng ta đã đánh mất các thông tin kinh nghiệm có giá trị chứa trong các câu ban đầu.

Ví dụ: Với câu ‘Người am hiểu và không quanh co là người được giáo dục tốt’

∀X judge(X) ∧ ¬crooked(X) → educated(X)

Chuyển về dạng mệnh đề: ¬judge(X) ∨ crooked(X) ∨ educated(X)

Câu này cũng có thể diễn dịch thành ‘một người không phải là người am hiểu nếu như anh ta không quanh co và không được giáo dục tốt’! Điều này cho thấy ý nghĩa của câu phát biểu ban đầu đã bị mất hoàn toàn.

TỔNG KẾT CHƯƠNG VIII :

Nội dung chính của chương này bao gồm:

- Hợp giải (hay còn gọi là thủ tục Robinson) là một kỹ thuật chứng minh định lý được biểu diễn bằng đại số mệnh đề hay đại số vị từ. Hợp giải sử dụng phản chứng để chứng minh một vấn đề.

- Trước khi áp dụng thủ tục Robinson, các câu phải được chuyển về dạng chuẩn hay dạng mệnh đề. Một mệnh đề là một tuyển của các biến mệnh đề.

- Thủ tục hợp giải là một quá trình lặp đơn giản. Ở mỗi lần lặp, ta tìm hai mệnh đề có chứa hai biến mệnh đề bù nhau để hợp giải và cho ra mệnh đề mới. Quá trình này cứ tiếp tục cho đến khi ta được một mệnh đề rỗng.

- Trong logic vị từ, nếu biến mệnh đề có đối số là biến, thì muốn biết hai biến mệnh có bù nhau hay không ta phải đối sánh chúng theo giải thuật đồng nhất đã học ở chương 2. Sau khi hợp giải chúng, ta phải giữ lại tập phép thế trả ra bởi giải thuật đồng nhất này.

- Hợp giải có thể phát hiện trường hợp không tồn tại sự mâu thuẫn, khi đó một mệnh đề kết quả sẽ xuất hiện lặp lại.

- Để hỗ trợ tốt hơn cho quá trình chứng minh, hợp giải có thể sử dụng hàm tính toán, vị từ tính toán hay mối quan hệ bằng.

- Có thể sử dụng hợp giải cho các bài toán dạng trả lời câu hỏi bằng cách sử dụng thêm biểu thức phụ hay biểu thức ‘câm’.

IV BÀI TẬP CHƯƠNG VIII

VIII.1. Đưa câu vị từ sau về dạng mệnh đề:

∀X ( [ a(X) ∧ b(X)] → [c(X,I) ∧∃Y (∃Z[c(Y,Z)] → d(X,Y))] ) ∨ ∀X(e(X))

VIII.2. Ta có các tri thức như sau:

Võ Huỳnh Trâm – Trần Ngân Bình 149

Page 275: tong quan ve tri tue nhan tao

Giáo Trình Trí Tuệ Nhân Tạo

150 Võ Huỳnh Trâm – Trần Ngân Bình

1. Ngón tay là bộ phận của bàn tay 2. Bàn tay là bộ phận của cánh tay 3. Cánh tay là bộ phận của cơ thể

Sử dụng hợp giải hãy chứng minh ngón tay là bộ phận của cơ thể

VIII.3. Giả sử các hiểu biết của một chuyên gia trong một tình huống nào đó được phát biểu dưới dạng các biểu thức logic mệnh đề sau đây :

1. a ∧ ((a ∧ x) → d) 2. (a → (b ∧ c)) ∧ x 3. (c → a) → (d ∧ e) 4. b → (( d ∧ x) → f) 5. (e ∧ b) → f 6. ( e ∧ y) → g 7. d → f 8. f → (¬a ∨ g)

Hãy chứng minh g đúng bằng thủ tục hợp giải.

VIII.4. Sử dụng các tri thức đã cho ở bài tập 2.3:

a) John thích mọi loại thức ăn.

b) Táo là thức ăn.

c) Gà là thức ăn.

d) Tất cả mọi thứ ăn được mà vẫn còn sống thì đó là thức ăn.

e) Bill ăn đậu phộng và Bill vẫn còn sống.

f) Sue ăn mọi thứ mà Bill ăn.

1. Hãy biểu diễn tri thức trên theo logic vị từ.

2. Hãy sử dụng hợp giải để chứng minh “John thích đậu phộng”

3. Sử dụng hợp giải để trả lời câu hỏi : “Sue ăn gì ?”

VIII.5. Giải lại bài tập 2.4 bằng thủ tục hợp giải.

Page 276: tong quan ve tri tue nhan tao

Chương 9: Học máy

Võ Huỳnh Trâm – Trần Ngân Bình

151

PHẦN IV ................................................................................................................................................... 135 CÁC CHỦ ĐỀ NÂNG CAO...................................................................................................................... 135 Chương VIII............................................................................................................................................... 136 SUY LUẬN TỰ ĐỘNG ............................................................................................................................ 136 (AUTOMATIC REASONING)................................................................................................................. 136

I. GIỚI THIỆU: ................................................................................................................................ 137 II. THỦ TỤC HỢP GIẢI (RESOLUTION) ...................................................................................... 139

II.1. Chuyển về dạng mệnh đề (Clause form):............................................................................. 139 II.2. Cơ sở của Hợp giải (Resolution):......................................................................................... 142 II.3. Giải thuật hợp giải dùng cho Logic mệnh đề: ...................................................................... 142 II.4. Giải thuật hợp giải dùng cho Logic vị từ ............................................................................. 143 II.5. Hợp giải có thể phát hiện trường hợp không tồn tại sự mâu thuẫn:..................................... 145 II.6. Sử dụng hàm tính toán, vị từ tính toán, và mối quan hệ bằng:............................................. 146 II.7. Trả lời câu hỏi: ..................................................................................................................... 147

III. NHẬN XÉT VỀ PHƯƠNG PHÁP HỢP GIẢI: ....................................................................... 148 TỔNG KẾT CHƯƠNG VIII : ............................................................................................................... 149

BÀI TẬP CHƯƠNG VIII........................................................................................................... 149

Page 277: tong quan ve tri tue nhan tao

________________________________________________Chương 8 Các phương pháp đa hợp VIII - 1

CHƯƠNG 8

CÁC PHƯƠNG PHÁP ĐA HỢP

ĐA HỢP TẦN SỐ (FDM) Tạo sóng mang

Điều chỉnh biên độ Truyền sóng vi ba

ĐA HỢP THỜI GIAN (TDM) Đồng bộ

Không đồng bộ __________________________________________________________________________________________ Như chúng ta đã biết, để truyền đồng thời nhiều kênh thông tin trên một đường truyền người ta có thể dùng một trong hai phương pháp đa hợp: đa hợp phân thời gian và đa hợp phân tần số. Phương pháp đa hợp phân thời gian phù hợp với việc truyền tín hiệu số, được dùng phổ biến trong các hệ thống điện thoại số. Phương pháp đa hợp phân tần số phù hợp với việc truyền tín hiệu tương tự, được dùng rộng rãi trong các phương tiện thông tin khác như truyền thanh, truyền hình . . .. Trong chương này chúng ta sẽ xét qua các phương pháp đa hợp để truyền dữ liệu và/hoặc âm hiệu bằng sóng mang tương tự hoặc số.

8.1 đa hợp tần số (frequency division multiplexing, FDM)

Trong truyền dữ liệu dùng sóng mang tương tự, người ta đã khai thác triệt để phương pháp này để có thể truyền, trong một khoảng thời gian, càng nhiều thông tin càng tốt. Hiện nay khả năng truyền 10.800 kênh âm thanh (VB, Voice Band) đồng thời trên sóng mang tương tự đã là hiện thực.

Trong dải tần của đường truyền dùng FDM, mỗi nguồn thông tin chiếm một khoảng tần số xác định và các nguồn khác nhau sẽ chia sẻ dải tần này. Thí dụ, trong điều chế AM, các nguồn thông tin khác nhau nhưng chiếm cùng một dải tần số (gọi là dải nền, base band) sẽ điều chế các tần số sóng mang khác nhau để dời phổ tần của chúng lên các vùng khác nhau và do đó có thể đa hợp để truyền cùng lúc (H 8.1)

(H 8.1) Ứng với mỗi tín hiệu điều chế sẽ xuất hiện hai băng cạnh trên và dưới, chứa cùng nguồn thông tin và bản thân sóng mang thì không chứa thông tin trong đó, như vậy một phương pháp truyền hữu hiệu là chỉ truyền một băng cạnh và loại bỏ sóng mang (SSBSC, Single Side Band Suppressed Carrier).

_________________________________________________________________________________ Nguyễn Trung Lập Truyền dữ liệu

Page 278: tong quan ve tri tue nhan tao

________________________________________________Chương 8 Các phương pháp đa hợp VIII - 2

Trong hệ thống của AT&T, một kênh thông tin bao gồm 12 kênh âm thanh (VB), mỗi kênh (gồm tín hiệu tiếng nói hoặc dữ liệu từ một modem) sẽ điều chế một tần số sóng mang khác nhau và người ta chọn băng cạnh thấp (LSB) để phát đi. Do mỗi kênh âm thanh chiếm khoảng tần số từ 300 đến 3000 Hz, nên người ta chọn băng thông 4 kHz cho mỗi kênh truyền và như vậy, 1,3 kHz được xem như khoảng cách an toàn (H 8.2)

(a) Phổ tần AM (b) Phổ tần SSBSC (H 8.2) 12 kênh âm thanh như thế hợp thành một nhóm (Group) chiếm băng thông 48 kHz, từ 60 đến 108 kHz (H 8.3)

(H 8.3) Để đa hợp mức cao hơn, 5 nhóm tương tự như thế hợp thành một Super group (SG), băng thông của một SG, có được từ việc tổ hợp các băng cạnh thấp LSB của mỗi quá trình điều chế, là 240 kHz và chiếm dải tần từ 312 kHz đến 552 kHz (H 8.4)

_________________________________________________________________________________ Nguyễn Trung Lập Truyền dữ liệu

Page 279: tong quan ve tri tue nhan tao

________________________________________________Chương 8 Các phương pháp đa hợp VIII - 3

(H 8.4) Đến lượt 10 SG được đa hợp để thành một Master Group (MG), như vậy, một MG chứa thông tin của 600 kênh âm thanh. (H 8.5) minh họa một U600 MG.

(H 8.5) Trong (H 8.5) ta thấy khoảng cách an toàn cho hai SG kề nhau là 8 kHz và giữa hai MG là 80 kHz. Khoảng cách này cho phép mạch lọc ở máy thu có thể tách riêng các SG và MG ở kề nhau. MG L600 đa hợp SG1 tới SG10 bằng một phương pháp hơi khác với phương pháp đa hợp của MG U600 và chiếm khoảng tần số từ 60 đến 2788 kHz.

Các MG chứa 600 kênh âm thanh có thể được truyền trực tiếp trên cáp. Để tạo một kênh truyền vi ba (microwave radio channel) người ta có thể đa hợp 3 MG

(H 8.6).

(H 8.6) Ngoài ra, một Jumbo Group (JG) là một tổ hợp 6 MG, gồm 3600 VB và 3 JG được đa hợp để được một kênh truyền gồm 10.800 VB . Tất cả có thể được truyền trên cáp.

8.1.1 Tạo sóng mang Một máy thu FDM thực hiện việc giải điều chế bằng cách trộn liên tục tín hiệu dao động giảm dần tần số cho tới lúc phục hồi được tín hiệu trong khoảng tần số của VB. Điều kiện cần thiết là sóng mang giữa máy phát và thu phải đồng nhất, nếu không tín hiệu phục hồi được sẽ bị lệch tần số ra khỏi phổ tần gốc. Với mục đích sử dụng hiệu quả công suất, máy phát FDM đã dùng phương pháp triệt sóng mang, vì vậy sóng mang phát không thể phục hồi trực tiếp từ tín hiệu dải nền mà máy thu nhận được. Nếu để ý các tần số sóng mang từ các Group cho đến JG, ta thấy đều là bội của 4 kHz, như vậy trong một hệ thống thông tin, một trạm có thể được thiết kế như một trạm chủ, ở đây sẽ thực hiện mạch dao động 4 kHz mà tất cả các trạm trong hệ thống phải đồng bộ với nó. Một cách tổng quát, tần số 4 kHz được nhân lên cho tới tần số hướng dẫn (pilot) cao hơn (64.312 hoặc 552 kHz) rồi cho trộn với dải tần của tín hiệu. Mỗi trạm thứ cấp (máy thu) giải điều chế tần số hướng dẫn rồi phục hồi và tạo tần số 4 kHz. Như vậy tất cả trạm trong hệ thống tạo sóng mang từ tần số 4 kHz này.

_________________________________________________________________________________ Nguyễn Trung Lập Truyền dữ liệu

Page 280: tong quan ve tri tue nhan tao

________________________________________________Chương 8 Các phương pháp đa hợp VIII - 4

Trong những hệ thống lớn như hệ thống Bell hay General Telephone, thật là không thực tế nếu trạm chủ phát tín hiệu 4 kHz trực tiếp đến các trạm con. Thay vào đó, một số trạm con sẽ được dùng như những repeaters cho các trạm con khác về tín hiệu hướng dẫn này. Để có được các tần số sóng mang cao hơn người ta cho tín hiệu 4 kHz qua một mạch phi tuyến rồi lấy ra các họa tần. Nếu tần số 4 kHz này bị trôi dạt một ít về pha và tần số sẽ đưa đến một sự thay đổi đáng kể của các họa tần.

Thí dụ 1: Xác định tần số phát của kênh vi ba dùng để phát kênh âm thanh VB 10, group 4, super group 17, master group 3

Ch 10 at GP

GP 4 at SG

SG 17 at MG

MG 3 at radio ch.

fc LSB

72 kHz 68-72 kHz

564 kHz 492-496 kHz

2108 kHz 1612-1616 kHz

8848 kHz 7232-7236 kHz

Qua thí dụ 1, ta thấy mặc dù tần số của kênh VB tăng lên nhưng nó vẫn chiếm băng thông gốc là 4 kHz. Thí dụ 2: Nếu tín hiệu dao động 4 kHz bị trôi 10 Hz thì tần số âm thanh 1 kHz ở channel VB 3, group 2, SG 17, MG 2 sẽ trôi bao nhiêu? Giả sử tần số sóng mang được điều chế biên độ và dẫn xuất từ tần số 4 kHz. Cho kênh VB 3 fc lý tưởng : 100 kHz fc thực tế : 4,01 kHz * (100/4) = 100,25 kHz LSF lý tưởng : 100 kHz - 1 kHz = 99 kHz LSF thực tế : 100,25 kHz - 1 kHz = 99,25 kHz Cho Group 2 fc lý tưởng : 468 kHz fc thực tế : 4,01 kHz * (468/4) = 469,17 kHz LSF lý tưởng : 468 kHz - 99 kHz = 369 kHz LSF thực tế : 469,17 kHz - 99,25 kHz = 369,92 kHz Cho SG 17 fc lý tưởng : 2108 kHz fc thực tế : 4,01 kHz * (2108/4) = 2113,27 kHz LSF lý tưởng : 2108 kHz - 369 = 1739 kHz LSF thực tế : 2113,27 kHz - 369,92 kHz =1743,35 kHz Cho MG 2 fc lý tưởng : 6248 kHz fc thực tế : 4,01 kHz * (6248/4) = 6263,62 kHz LSF lý tưởng : 6248kHz - 1739 kHz = 4509 kHz LSF thực tế : 6263,62 kHz - 1743,35 kHz =4520,27 kHz Như vậy một sự thay đổi 10 Hz ở tần số dao động đã dẫn tới một thay đổi khoảng 11 kHz ở ngã ra của kênh vi ba. Vì mỗi kênh VB rộng 4 kHz nên sự trôi dạt này tương đương với 3 kênh VB. Trong (H 8.5) các SG từ 25 tới 28 có thêm chữ D trong số chỉ SG điều này chỉ rằng tần số sóng mang của các SG này được dẫn xuất không phải từ họa tần của 4 kHz. Sóng mang của các SG từ 15 đến 18 được trộn với một họa tần thấp hơn (1040 kHz) và băng cạnh trên được lọc lấy để dùng như sóng mang của các DSG, điều này làm giảm sự sai pha của các sóng mang SG có tần số cao.

_________________________________________________________________________________ Nguyễn Trung Lập Truyền dữ liệu

Page 281: tong quan ve tri tue nhan tao

________________________________________________Chương 8 Các phương pháp đa hợp VIII - 5

8.1.2 Điều chỉnh biên độ Trong quá trình truyền, sự thay đổi biên độ tín hiệu có thể xảy ra. Sự thay đổi này cần phải được xác định để có biện pháp bù trừ. Để thực hiện việc điều chỉnh biên độ tự động, một tín hiệu hoa tiêu tần số 104,08 kHz có biên độ chuẩn, dùng để tham khảo, được đưa vào Group. Tín hiệu này được dẫn xuất từ tín hiệu 4 kHz bằng phương pháp như sơ đồ (H 8.7). Do mỗi SG gồm 5 Group nên có 5 tần số hoa tiêu khác nhau (H 8.8). Biên độ của tín hiệu hoa tiêu đã được xác định trước nên mọi sự thay đổi của biên độ tín hiệu này được tham khảo để thực hiện việc điều chỉnh một cách tự động biên độ của tín hiệu nhận được.

(H 8.7) (H 8.8) Nhóm (H 8.9) minh họa việc điều chỉnh biên độ được thực hiện trong từng tầng. (H 8.9a) cho thấy đặc tuyến truyền lý tưởng, các biên độ của các tín hiệu trong các MG là như nhau nhưng trong thực tế thì biên độ này thay đổi theo các tần số khác nhau (H 8.9b) Việc điều chỉnh độ lợi tự động để bù vào sự biến dạng biên độ do các môi trường truyền khác nhau được thực hiện trong mỗi tầng. Đầu tiên, biên độ của mỗi kênh MG được điều chỉnh (H 8.9c), kế đến là biên độ của tín hiệu trong mỗi kênh SG (H 8.9d) và cuối cùng việc điều chỉnh được thực hiện ở các GP (H 8.9e).

(H 8.9)

_________________________________________________________________________________ Nguyễn Trung Lập Truyền dữ liệu

Page 282: tong quan ve tri tue nhan tao

________________________________________________Chương 8 Các phương pháp đa hợp VIII - 6

(H 8.10) cho thấy cách lồng tín hiệu hoa tiêu vào tín hiệu dải nền phức hợp như thế nào. Mỗi nhóm có tín hiệu 104,08 KHz đưa vào ở mạch tổ hợp kênh (channel combining network). Kết quả là mỗi SG có 5 tín hiệu hoa tiêu của nhóm (đó là các tín hiệu 315,92 KHz, 363,92 KHz, 411,92 KHz, 459,92 KHz và 507,92 KHz). Tín hiệu hoa tiêu của nhóm 1 cũng là tín hiệu hoa tiêu của super group (315,92 KHz). Đây là tín hiệu dùng tham khảo để hiệu chỉnh tín hiệu ra ở mạch phân cách SG. Vậy mỗi MG có 50 tín hiệu hoa tiêu của Group, trong đó có 10 tín hiệu đồng thời là tín hiệu hoa tiêu của SG. Đó là các tín hiệu có được do các tín hiệu fc của SG trộn với tín hiệu 315,92 KHz (Thí dụ: với SG13, fc=1116 KHz thì tín hiệu hoa tiêu là 1116-315,92=800,08 KHz). Một tín hiệu hoa tiêu của MG có tần số 2480 KHz được thêm vào mỗi MG ở mạch tổ hợp SG, tạo thành tổng số là 51 tín hiệu hoa tiêu của MG.

(H 8.10)

(H 8.11) là sơ đồ khối một mạch giải đa hợp FDM, cho thấy tín hiệu hoa tiêu được

tham khảo như thế nào và được dùng để phân cách sự hiệu chính ở các MG, SG và GP. Tín hiệu phức hợp FDM tới mạch phân cách MG, cụ thể là các mạch lọc dải thông

BPF để tách riêng các tín hiệu MG1 (564 - 3084 kHz), MG2 (3164 - 5684 kHz) và MG3 (5764 - 8284 kHz), các tín hiệu này cùng các tín hiệu hoa tiêu tương ứng ra khỏi mạch phân cách MG theo 3 đường khác nhau. Tín hiệu MG1 chia làm hai nhánh, một đưa thẳng vào mạch khuếch đại AGC và một vào mạch tách tín hiệu hoa tiêu 2840 kHz trước khi vào mạch khuếch đại AGC để so sánh và điều chỉnh độ lợi tín hiệu MG1. Tín hiệu ra từ mạch khuếch đại AGC được đưa vào mạch phân cách SG để cho ra tín hiệu của SG13 đến SGD 28. Riêng hai đường tín hiệu MG2 và MG3 được đưa vào mạch điều chế cân bằng và lọc BPF để phục hồi dải tần tương ứng với các SG trước khi đưa vào mạch khuếch đại AGC. Công việc tương tự được thực hiện ở các tầng hiệu chính SG và GP. Ở ngã ra tầng hiệu chính GP ta được tín hiệu của 12 kênh VB (60 - 108 kHz) đã được điều chỉnh biên độ.

_________________________________________________________________________________ Nguyễn Trung Lập Truyền dữ liệu

Page 283: tong quan ve tri tue nhan tao

________________________________________________Chương 8 Các phương pháp đa hợp VIII - 7

(H 8.11)

8.1.3 Truyền sóng vi ba Một kênh vô tuyến bao gồm 3 kênh MG chiếm dải tần từ 564 kHz đến khoảng 8,3 MHz. Để được phát đi như một sóng vi ba (>1GHz), tín hiệu này phải được nâng tần số lên bằng cách điều chế FM một sóng mang trung tần 70 MHz, với chỉ số điều chế nhỏ - khoảng 0,4 - ta được kết quả gần giống như điều chế AM, nghĩa là phổ tần chỉ gồm một cặp băng cạnh trên và dưới. Tín hiệu này lại được dùng để điều chế AM một sóng mang 6 GHz và băng cạnh trên được lọc lấy để phát đi (H 8.12). Để phát 1800 kênh VB cần một băng thông là 16,6 MHz, mà tiêu chuẩn FCC cho phép băng thông rộng 29 MHz, như vậy tiêu chuẩn FCC có thừa để phát một kênh vô tuyến chứa 1800 VB bằng phương tiện vi ba.

_________________________________________________________________________________ Nguyễn Trung Lập Truyền dữ liệu

Page 284: tong quan ve tri tue nhan tao

________________________________________________Chương 8 Các phương pháp đa hợp VIII - 8

(H 8.12)

8.2 ĐA HợP THờI GIAN (Time-division multiplexing ,TDM)

Đa hợp phân thời gian có hai dạng : đồng bộ và không đồng bộ

8.2.1 Đa hợp thời gian đồng bộ (Synchronous time-division multiplexing)

Đa hợp thời gian đồng bộ thực hiện được khi dung lượng của đường truyền vượt nhiều lần vận tốc bit của tín hiệu cần truyền. Nhiều tín hiệu số (hay tín hiệu tương tự được số hóa) có thể truyền trên một đường truyền ở những thời điểm khác nhau. Sự phân chia thời gian có thể thực hiện cho từng bit, từng khối nhiều ký tự hay từng khối lớn dữ liệu. (H 8.13) cho thấy một số tín hiệu [mi(t), i = 1, 2, 3, . . . n) được đa hợp trên một đường truyền, mỗi tín hiệu được đưa vào vùng đệm trước khi đa hợp, vùng đệm có chiều dài chuẩn là một bit hay một ký tự, các vùng đệm được quét tuần tự đê tạo tín hiệu đa hợp mc(t). Tốc độ quét phải đủ nhanh sao cho các vùng đệm rổng trước khi dữ liệu mới đến do đó vận tốc bit của mc(t) ít nhất phải là tổng của các mi(t). mc(t) là tín hiệu số, có thể phát trực tiếp hay qua modem

(H 8.13 )

(H 8.13b) cho dạng thông thường của tín hiệu đa hợp trên đường truyền, tín hiệu này có cấu trúc khung (frame), mỗi khung chứa một số khe thời gian (timeslot). Trong mỗi khung, một hoặc nhiều khe thời gian được dành cho mỗi nguồn dữ liệu. Chuỗi các khe dành cho một nguồn dữ liệu trong các khung khác nhau hình thành một kênh (channel). Chiều dài mỗi khe bằng chiều dài của thanh ghi đệm phát, cụ thể là 1 bit hoặc chiều dài 1 ký tự.

Trên đường truyền TDM , dữ liệu được xuất ra theo một trong hai kỹ thuật : - Kỹ thuật xen ký tự (word or character-interleaving) được dùng cho các nguồn bất

đồng bộ, mỗi khe thời gian chứa một ký tự dữ liệu. - Kỹ thuật xen bit (bit-interleaving) được dùng cho nguồn đồng bộ và không đồng bộ,

mỗi khe thời gian chỉ chứa một bit.

_________________________________________________________________________________ Nguyễn Trung Lập Truyền dữ liệu

Page 285: tong quan ve tri tue nhan tao

________________________________________________Chương 8 Các phương pháp đa hợp VIII - 9

(H 8.14) là một thí dụ cho thấy sự khác nhau của 2 kỹ thuật xen ký tự và xen bit. Trong thí dụ, để đơn giản ta chỉ vẽ các mẫu bit của 2 kênh thay vì 24 kênh như trong thực tế .

(a) xen bit

(b) xen ký tự

(H 8.14) Ở máy thu, dữ liệu được giải đa hợp và đưa đến các đích tương ứng . Ta gọi TDM đồng bộ không chỉ vì lý do phát đồng bộ mà còn bởi một lý do quan

trọng hơn là các khe thời gian dành cho các nguồn dữ liệu được giữ cố định, nghĩa là dù một kênh nào đó trong hệ thống không có dữ liệu để truyền, khe thời gian dành cho nó vẫn được phát đi.

Mặc dù các khe thời gian đã được ấn định, nhưng các thiết bị TDM đồng bộ vẫn có thể làm việc với những nguồn dữ liệu có vận tốc bit khác nhau. Thí dụ, trong một chu kỳ những thiết bị có vận tốc thấp nhất có thể sử dụng một khe thời gian trong khi các thiết bị có vận tốc cao hơn dùng nhiều khe thời gian hơn.

8.2.1.1 Điều khiển đường truyền TDM

Trong mô hình của các khung thông tin TDM giới thiệu ở (H 8.13) ta không thấy các chi tiết đầu khung (header) và cuối khung (trailer) là những chi tiết phải có trong kỹ thuật truyền đồng bộ. Thật ra điều này cũng không cần thiết. Chúng ta có thể xem qua hai cơ chế của giao thức điều khiển liên kết dữ liệu: kiểm soát dòng dữ liệu (flow control) và kiểm soát lỗi (error control) - Kiểm soát dòng dữ liệu: vì vận tốc bit trên đường truyền thì cố định và các bộ đa hợp và giải đa hợp được thiết kế vận hành với vận tốc này nên việc kiểm soát không cần thiết. Nhưng, giả sử có một kênh trong đường truyền không có khả năng nhận dữ liệu thì việc truyền các khung khác có dừng lại không? Rõ ràng câu trả lời là không, vì các kênh khác vẫn mong nhận dữ liệu ở những thời điểm đã định, vậy trong khoảng thời gian này kênh có vấn đề sẽ truyền các khe thời gian rỗng. - Kiểm soát lỗi: Tương tự, việc kiểm soát lỗi sẽ được thực hiện cho từng kênh riêng biệt vì người ta không thể yêu cầu phát lại tất cả các kênh khi có một kênh bị lỗi.

Tóm lại, trong TDM các giao thức (thí dụ SDLC, HDLC) sẽ được áp dụng cho từng kênh và giả sử dùng phương pháp xen ký tự, hai kênh truyền cho hai nguồn dữ liệu d1 và d2 với các trường cờ (F) và điều khiển (C), địa chỉ (A) và trường FCS (f) sẽ được sắp đặt như sau:

_________________________________________________________________________________ Nguyễn Trung Lập Truyền dữ liệu

Page 286: tong quan ve tri tue nhan tao

________________________________________________Chương 8 Các phương pháp đa hợp VIII - 10

Ngã vào 1:

F1 A1 C1 d1 d1 d1 f1 f1 F1 A1 C1 d1 d1 d1 f1 f1 F1 . . . . Ngã vào 2:

F2 A2 C2 d2 d2 d2 d2 f2 f2 F2 A2 C2 d2 d2 d2 d2 f2 f2 F2. . . . Dòng dữ liệu đa hợp: F F A A C C d d d d d d2 f1 d2 f1 f2 F1 f2 A1 F2 C1 A2 d1 C2 d1 d2 d1 d2 f1 d2 f1 d2 F1 f2 . . 1 2 1 2 1 2 1 2 1 2 1

(H 8.15) Nhìn dòng dữ liệu đa hợp chúng ta cảm thấy dường như không có tính nhất quán ở các

khung SDLC (HDLC), do chiều dài khung dữ liệu khác nhau, tuy nhiên các mẫu dữ liệu sẽ được tách ra và tái hợp một cách chính xác ở các ngã ra của bộ phận thu.

8.2.1.2 Đồng bộ khung

Mặc dù giao thức điều khiển liên kết dữ liệu không được dùng để quản lý toàn bộ đường truyền TDM nhưng việc đồng bộ khung rất cần thiết để máy thu nhận dạng và thực hiện nhiệm vụ phân bố dữ liệu của mình.

Hệ thống Telco sử dụng 24 khe thời gian (n= 24) cho một khung, mỗi khe thời gian dành cho một kênh âm thanh (voice band), các tín hiệu âm thanh được lấy mẫu với vận tốc 8000 mẫu/sec và được mã hóa với 8 bit. Như vậy, một khung dữ liệu chứa :

24 kênh x 8 bit/kênh = 192 bit Cuối mỗi khung, người ta thêm vào 1 bit dùng cho đồng bộ khung (framing bit) do đó mỗi khung chứa 193 bit, mẫu của chuỗi bit đồng bộ khung tùy thuộc đường truyền.

- Đường truyền D1 dùng kỹ thuật nén tín hiệu tương tự với hệ số µ = 100 và dùng từ mã 7 bit nên chỉ cần thêm bit thứ 193, là các bit 0/1 luân phiên, vào cuối khung (hiện nay đường truyền này không còn sử dụng).

- Các đường truyền D2 và D3 ngoài các bit đồng bộ khung còn có thêm các bit báo hiệu (signaling bit), được thực hiện như sau:

Các khung thông tin được nhóm thành từng nhóm 12 khung, gọi là một super frame. Ở khung thứ sáu và mười hai, các bit LSB của nhóm 8 bit của mỗi từ mã PCM trong tất cả 24 kênh được thay bởi bit báo hiệu (signaling bit), dùng cho tín hiệu báo on-hook/off-hook. Bit LSB trong các kênh của khung thứ 6 gọi là bit - A và của khung thứ 12 gọi là bit - B

Và máy thu nhận diện khung thứ 6 và 12 nhờ chuỗi bit đồng bộ khung sắp xếp theo qui luật cụ thể như sau:

Khung 1 2 3 4 5 6 7 8 9 10 11 12 Bit đồng bộ khung 1 0 1 0 1 0 Bit báo hiệu 0 0 → 1 1 1 → 0 Ta thấy, các bit thứ 193 của các khung lẻ được dùng cho sự đồng bộ và của các khung

chẵn dùng nhận dạng khung thứ 6 và 12 là các khung có chứa bit báo hiệu. Máy thu nhận ra khung thứ 6 do sự biến đổi từ 0 lên 1 (001) và khung 12 do biến đổi từ 1 xuống 0 của các bit báo hiệu (110).

Lưu ý là việc thay thế bit LSB trong các kênh âm thanh bởi bit báo hiệu làm ảnh hưởng đến tín hiệu âm thanh khi giải mã nhưng sự ảnh hưởng này là không đáng kể (điều này không thực hiện trên tín hiệu có nguồn gốc là tín hiệu số) .

_________________________________________________________________________________ Nguyễn Trung Lập Truyền dữ liệu

Page 287: tong quan ve tri tue nhan tao

________________________________________________Chương 8 Các phương pháp đa hợp VIII - 11

Ngoài ra, để duy trì việc định thời, dữ liệu số trên các kênh D phải không chứa các chuỗi nhiều hơn 14 số 0 liên tiếp. Máy phát sẽ quan sát từng từ mã 8 bit, mỗi từ mã phải có it nhất một bit 1, nếu từ mã nào gồm toàn bit 0 và nằm trong chuỗi nhiều hơn 14 bit 0 thì bit thứ 7 của từ mã đó (vị trí tính từ trái sang) sẽ được thay bằng bit 1.

Thí dụ: a. Chuỗi bit 1000 0000 0000 0001 được chấp nhận b. Chuỗi bit 1000 0000 0000 0000 sẽ được thay bởi: 1000 0000 0000 0010.

Máy thu sẽ tốn một khoảng thời gian để tìm mẫu bit nói trên trong chuỗi dữ liệu đến để thiết lập sự đồng bộ. Trị trung bình cực đại của khoảng thời gian này xác định bởi:

Tsavg = 2NT = 2N2t t = thời gian bit N = số bit mỗi khung T = chu kỳ của khung = Nt

Với N = 193, T = 125 µs và t = 0,648 µs thời gian trung bình là 48,25 ms (đây là thời gian trễ giữa RTS và CTS mà ta đã thấy trước đây).

Do các khung được tạo ra có tần số trùng với tần số lấy mẫu (8000 lần trong một giây), vậy đa hợp thời gian 24 kênh đòi hỏi dung lượng đường truyền là 8000x193 = 1,544 Mbps.

Để tương thích với các kênh D, tín hiệu số chỉ được dùng 7 hoặc 6 bit cho mỗi ký tự và dành bit thứ 8 (vị trí LSB) cho tín hiệu điều khiển (nếu dữ liệu 8 bit thì không có bit báo hiệu).

8.2.1.3 Nhồi xung (pulse stuffing)

Có lẽ vấn đề khó khăn nhất trong thiết kế mạch đa hợp đồng bộ thời gian là sự đồng bộ của nhiều nguồn dữ liệu khác nhau. Nếu mỗi nguồn sử dụng một xung đồng hồ khác nhau thì một thay đổi của một tín hiệu đồng hồ nào đó sẽ gây ra sự mất đồng bộ ngay. Hơn nữa trong nhiều trường hợp, vận tốc bit của các nguồn dữ liệu vào không phải lúc nào cũng tỉ lệ với nhau. Kỹ thuật nhồi xung được sử dụng để giải quyết tất cả các vấn đề trên: đưa thêm các xung vào các nguồn dữ liệu sao cho vận tốc bit của tất cả các nguồn phù hợp với vận tốc bit của hệ thống. Các xung nhồi được đưa vào nguồn dữ liệu ở những vị trí xác định để máy thu có thể nhận dạng và loại bỏ. Như vậy vận tốc dữ liệu ở ngã ra mạch đa hợp lớn hơn tổng vận tốc bit của tất cả các nguồn. (H 8.16) là một thí dụ nhồi xung : Giả sử có 11 nguồn dữ liệu được đa hợp trên một đường truyền: - Nguồn 1 : tín hiệu tương tự, băng thông 2 kHz - Nguồn 2 : tín hiệu tương tự, băng thông 4 kHz - Nguồn 3 : tín hiệu tương tự, băng thông 2 kHz

- Nguồn 4 - 11 : tín hiệu số, 7200 bps, đồng bộ

_________________________________________________________________________________ Nguyễn Trung Lập Truyền dữ liệu

Page 288: tong quan ve tri tue nhan tao

________________________________________________Chương 8 Các phương pháp đa hợp VIII - 12

(H 8.16)

Các bước sau đây sẽ được thực hiện: - Bước 1: Các tín hiệu tương tự sẽ được lấy mẫu (PCM), đối với nguồn 1 và 3 cần 4000 mẫu/sec và nguồn 2 cần 8000mẫu/sec, giả sử dùng mã 4 bit . Để thuận tiện, 3 nguồn này được đa hợp thành một nguồn duy nhất. Với tần số quét 4 kHz, một mẫu PAM dùng cho nguồn 1 và 3, nguồn 2 dùng 2 mẫu PAM cho mỗi chu kỳ quét. 4 mẫu này được kết hợp (xen bit hay ký tự) và biến đổi thành những mẫu PCM 4 bit. Ta được tổng số 16 bit được tạo ra với vận tốc 4000 lần /sec, hay nói cách khác ta được tín hiệu 64 kbps. - Bước 2: Các nguồn tín hiệu số sẽ được nhồi xung để đạt vận tốc 8 kbps, đa hợp 8 nguồn này để được tổng số 64 kbps. Một khung dữ liệu bây giờ chứa 32 bit : 16 bit PCM và 16 bit của 8 nguồn tín hiệu số

8.2.1.4 Hệ thống sóng mang

Tương tự như ở FDM, TDM được dùng như một phần của hệ thống truyền thông tầm xa nên sự phân cấp của hệ cũng được hình thành.

Bảng 8.1 cho 2 hệ thống dùng đa hợp đồng bộ thời gian quốc tế (CCITT) và Bắc Mỹ (hệ thống AT & T, cũng dùng ở Nhật Bản)

Bảng 8.1 (a) Bắc Mỹ AT&T (b) Quốc tế (CCITT) Tên HT Số kênh âm thanh Vận tốc bit Số mức Số kênh âm thanh Vận tốc bit

DS-1 DS-1C DS-2 DS-3 DS-4

24 48 96

672 4032

1,544 (Mbps) 3,152 6,312

44,736 274,176

1 2 3 4 5

30 120 480

1920 7680

2,048 (Mbps) 8,448

34,368 139,264 565,148

* DS-1 là cấp nền của AT&T, trong đó đa hợp 24 kênh âm thanh, mỗi khung chứa

[(24x8) +1 =193 bit ], mỗi kênh chứa một từ PCM, băng thông tín hiệu là 4000 Hz nên tốc độ lấy mẫu 8000 mẫu /sec . Vì vậy, mỗi khe thời gian và do đó mỗi khung phải lặp lại 8000 lần /sec, ta được vận tốc bit là 8000x193 = 1,544 Mbps

* Các kênh dữ liệu số cũng có thể được truyền trên đường DS-1, nghĩa là với vận tốc 1,544 Mbps. Nếu nguồn dữ liệu 8 bit thì không có bit đồng bộ ở mỗi khung nên sự đồng bộ được thực hiện bằng cách dùng 23 kênh cho dữ liệu và kênh thứ 24 dành cho sự đồng bộ.

- Nếu nguồn dữ liệu là 7 bit thì bit thứ 8 là bit báo hiệu. Do mỗi khung cũng được lặp lại 8000 lần trong một giây nên vận tốc truyền cho mỗi kênh là 7x8000=56 kbps.

- Nếu nguồn dữ liệu là 6 bit, một bit bị bỏ trống (bit MSB) và như vậy vận tốc bit của mỗi kênh là 6x8000 = 48 kbps. Dung lượng này cũng có được từ việc đa hợp 5 kênh 9,6 kbps hoặc 10 kênh 4,8 kbps hoặc 20 kênh 2,4 kbps.

_________________________________________________________________________________ Nguyễn Trung Lập Truyền dữ liệu

Page 289: tong quan ve tri tue nhan tao

________________________________________________Chương 8 Các phương pháp đa hợp VIII - 13

* Cuối cùng, cấp nền của hệ thống, đường truyền DS-1 có thể được dùng để truyền một hỗn hợp các kênh âm thanh và dữ liệu. Trong trường hợp này cả 24 kênh được sử dụng mà không có byte đồng bộ.

* Bốn hệ thống DS-1 được đa hợp để được hệ thống DS-2 có vận tốc bit là 6,312 Mbps (1,544x4=6,176 Mbps, số bit còn lại dùng cho đồng bộ, kiểm tra và nhồi xung) * Đa hợp cấp cao hơn cho ta hệ thống DS-3 và DS-4 với vận tốc bit lên đến 44,376 Mbps và 274,176 Mbps (H 8.17) .

DS4 274,176 Mbps ⋅ M34

6:1

DS3 44,736Mbps ⋅ | | | | | ⋅ ⋅

M13 28:1

MX3 7:1(DS2) 14:1(DS1C) 28:1(DS1)

DS2 6,312Mbps ↑ . . . . . . | ↑ or ↑ ⋅ ⋅ | | | M12

4:1 |

| | |

| |

DS1C 3,152Mbps ↑ | | | ↓ ↓ | ⋅ | | M1C

2:1 |

| |

|

DS1 1,544Mbps | | ↓ ↓ ⋅ ⋅ ⋅ PCM PCM PCM PCM ⋅ ⋅ ⋅ ⋅

(H 8.17)

8.2.2 Đa hợp thời gian không đồng bộ (Asynchronous time-division multiplexing, ATM)

Đa hợp thời gian không đồng bộ còn có các tên gọi khác do tính chất của nó như: TDM thống kê (statistical TDM) hoặc TDM thông minh (Intelligent TDM), dưới đây ta gọi tắt ATM. Trong đa hợp thời gian đồng bộ, trong một khung có thể có nhiều khe thời gian rỗng vẫn được truyền đi vì không phải lúc nào mọi kênh đều có dữ liệu để truyền, điều này đưa đến hiệu suất sử dụng đường truyền rất thấp. Để khắc phục khuyết điểm này TDM không đồng bộ ra đời. Trong TDM không đồng bộ có thể có n đường I/O nhưng chỉ có k , với k<n, khe thời gian được dùng. Mạch đa hợp ở máy phát sẽ quét tất cả các đệm ngã vào thu lấy dữ liệu và bỏ qua các đệm rỗng cho đến khi đầy khung và phát đi, như vậy, thứ tự dữ liệu của các kênh không theo đúng thứ tự của khe thời gian như ở TDM đồng bộ. Do đã bỏ qua các đệm rỗng nên ta được kết quả là vận tốc bit của đường truyền nhỏ hơn tổng các vận tốc bit của các kênh, nói cách khác với cùng một dung lượng, hệ thống ATM có khả năng phục vụ cho nhiều kênh truyền hơn hệ thống TDM đồng bộ.

_________________________________________________________________________________ Nguyễn Trung Lập Truyền dữ liệu

Page 290: tong quan ve tri tue nhan tao

________________________________________________Chương 8 Các phương pháp đa hợp VIII - 14

(H 8.18) là một thí dụ, có 4 nguồn dữ liệu được đa hợp trong các khoảng thời gian t0, t1, t2 và t3 . Trong TDM đồng bộ chu kỳ đầu máy phát đi 4 nguồn dữ liệu trong đó 2 nguồn C và D không chứa thông tin nên 2 trong 4 khe thời gian là 2 khe rỗng, ngược lại, trong TDM bất đồng bộ hai nguồn này sẽ không được phát đi và chỉ có 2 khe thời gian chứa thông tin của nguồn A và B được phát đi. Điều này làm giảm tải cho đường truyền, tuy nhiên khi nhận được thông tin máy thu sẽ không phân phối dữ liệu đúng địa chỉ của nó do sự đồng bộ đã mất vì thứ tự của dữ liệu của các nguồn khác nhau không còn đúng thứ tự của các khe.

(H 8.18) Thông thường, ATM sử dụng giao thức HDLC trong truyền đồng bộ, trong giao thức HDLC này khung dữ liệu phải chứa các bit kiểm tra sự đa hợp. Có hai cách thực hiện sự kiểm tra này: - Trong mỗi khung có một nguồn dữ liệu duy nhất được xác định bởi địa chỉ của nó. Chiều dài của trường dữ liệu thay đổi và sự kết thúc xác định bởi khung HDLC. - Trong mỗi khung có nhiều nguồn dữ liệu, mỗi nguồn phải được xác định bởi địa chỉ và chiều dài của nó.

Địa chỉ Dữ liệu

(a) Một nguồn cho mỗi khung Địa chỉ Chiều dài Dữ liệu . . . . . . . Địa chỉ Chiều dài Dữ liệu

(b) Nhiều nguồn cho mỗi khung

(H 8.19) Để đảm bảo hiệu suất truyền cao (số bit hữu dụng nhiều so với số bit không phải là thông tin) người ta có các biện pháp như dùng địa chỉ tương đối (địa chỉ của một nguồn được xác định so với nguồn trước đó), như vậy trường địa chỉ cần một số bit ít hơn, thí dụ 4 bit thay vì 8. Và để chỉ chiều dài khung dữ liệu người ta có thể dùng nhãn 2 bit cho trường này, các giá trị 00, 01, 10 lần lượt chỉ chiều dài khung dữ liệu là 1, 2 và 3 ký tự mà không cần trường chiều dài. Giá trị 11 chỉ rằng có một trường chiều dài.

_________________________________________________________________________________ Nguyễn Trung Lập Truyền dữ liệu

Page 291: tong quan ve tri tue nhan tao

________________________________________________Chương 8 Các phương pháp đa hợp VIII - 15

Để thực hiện truyền thông dùng ATM có hiệu quả, người ta dựa vào kết quả thống kê để chọn dung lượng của kênh truyền sao cho phù hợp với vận tốc bit của tất cả các nguồn dữ liệu.

_________________________________________________________________________________ Nguyễn Trung Lập Truyền dữ liệu

Page 292: tong quan ve tri tue nhan tao

Chương 9: Học máy

Chương IX

HỌC MÁY (MACHINE LEARNING)

Nội dung chính: Trong chương này, chúng ta sẽ tìm hiểu về một nhánh nghiên cứu hiện đại của Trí Tuệ Nhân Tạo, đó là học máy bao gồm giải thuật ID3, mạng neuron, và giải thuật di truyền.

Mục tiêu cần đạt : Sau chương này, sinh viên có thể :

Hiểu được mục tiêu của lĩnh vực ‘máy hoc’. Biết 3 tiếp cận học của lĩnh vực học máy. Vận dụng giải thuật ID3 vào các bài toán thực tế Hiểu khái niệm mạng neuron và các vấn đề có liên quan Hiểu giải thuật di truyền và ứng dụng của nó vào các bài toán thực tế.

Kiến thức tiên quyết: Biểu diễn tri thức ở dạng luật, tìm kiếm trong không gian trạng thái, khái niệm Entropy trong Lý thuyết thông tin.

Tài liệu tham khảo :

[1] Geogre F. Luger – Artificial Intelligence, Structures and Strategies for Complex Problem Solving– Addison – Wesley Publishing Company, Inc – 2002 (trang 349 – 381, 417 – 438, 469 – 480)

[2] Tom M. Mitchell – Machine Learning – McGraw Hill, Inc (trang 52 – 65)

[3] Wikipedia – Bách khoa toàn thư mở - Học máy: http://en.wikipedia.org/wiki/Machine_learning

[4] Ender ÖZCAN, Murat ERENTÜRK – A Brief Review Of Memetic Algorithms For Solving TSP : http://physics.yeditepe.edu.tr/merenturk/tainn04.ppt

I GIỚI THIỆU:

Khi được hỏi về những kỹ năng thông minh nào là cơ bản nhất đồng thời khó tự động hóa nhất của con người ngoài các hoạt động sáng tạo nghệ thuật, hành động ra quyết định mang

Võ Huỳnh Trâm – Trần Ngân Bình 153

Page 293: tong quan ve tri tue nhan tao

Giáo Trình Trí Tuệ Nhân Tạo

tính đạo đức, trách nhiệm xã hội thì người ta thường đề cập đến vấn đề ngôn ngữ và học. Trãi qua nhiều năm, hai lĩnh vực này vẫn là mục tiêu, thách thức của khoa học TTNT.

Tầm quan trọng của việc học thì không cần phải tranh cãi, vì khả năng học chính là một trong những thành tố quan trọng của hành vi thông minh. Mặc dù tiếp cận hệ chuyên gia đã phát triển được nhiều năm, song số lượng các hệ chuyên vẫn còn hạn chế. Một trong những nguyên nhân chủ yếu là do quá trình tích lũy tri thức phức tạp, chi phí phát triển các hệ chuyên gia rất cao, nhưng chúng không có khả năng học, khả năng tự thích nghi khi môi trường thay đổi. Các chiến lược giải quyết vấn đề của chúng cứng nhắc và khi có nhu cầu thay đổi, thì việc sửa đổi một lượng lớn mã chương trình là rất khó khăn. Một giải pháp hiển nhiên là các chương trình tự học lấy cách giải quyết vấn đề từ kinh nghiệm, từ sự giống nhau, từ các ví dụ hay từ những ‘chỉ dẫn’, ‘lời khuyên’,...

Mặc dù học vẫn còn là một vấn đề khó, nhưng sự thành công của một số chương trình học máy thuyết phục rằng có thể tồn tại một tập hợp các nguyên tắc học tổng quát cho phép xây dựng nên các chương trình có khả năng học trong nhiều lĩnh vực thực tế.

Chương này sẽ giới thiệu sơ lược về lĩnh vực nghiên cứu này, đồng thời đi vào chi tiết một số giải thuật học quan trọng.

I.1 Định nghĩa ‘học’

Theo Herbert Simon: ‘Học được định nghĩa như là bất cứ sự thay đổi nào trong một hệ thống cho phép nó tiến hành tốt hơn trong lần thứ hai khi lặp lại cùng một nhiệm vụ hoặc với một nhiệm vụ khác rút ra từ cùng một quần thể các nhiệm vụ đó’

Định nghĩa này mặc dù ngắn nhưng đưa ra nhiều vấn đề liên quan đến việc phát triển một chương trình có khả năng học. Học liên quan đến việc khái quát hóa từ kinh nghiệm: hiệu quả thực hiện của chương trình không chỉ cải thiện với ‘việc lặp lại cùng một nhiệm vụ’ mà còn với các nhiệm vụ tương tự. Vì những lĩnh vực đáng chú ý thường có khuynh hướng là to lớn, nên các chương trình học – CTH (learner) chỉ có thể khảo sát một phần nhỏ trong toàn bộ các ví dụ có thể; từ kinh nghiệm hạn chế này, CTH vẫn phải khái quát hóa được một cách đúng đắn những ví dụ chưa từng gặp trong lĩnh vực đó. Đây chính là bài toán quy nạp (induction), và nó chính là trung tâm của việc học. Trong hầu hết các bài toán học, dữ liệu luyện tập sẵn có thường không đủ để đảm bảo đưa ra được một khái quát hóa tối ưu, cho dù CTH sử dụng giải thuật nào. Vì vậy, các giải thuật học phải khái quát hóa theo phương pháp heuristic, nghĩa là chúng sẽ chọn một số khía cạnh nào đó mà theo kinh nghiệm là cho hiệu quả trong tương lai để khái quát. Các tiêu chuẩn lựa chọn này gọi là thiên lệch quy nạp (inductive bias).

Có nhiều nhiệm vụ học (learning task) khác nhau. Ở đây chỉ trình bày nhiệm vụ học quy nạp (inductive learning), đây là một trong những nhiệm vụ học cơ bản. Nhiệm vụ của CTH là học một khái quát (generalization) từ một tập hợp các ví dụ. Học khái niệm (concept learning) là một bài toán học quy nạp tiêu biểu: cho trước một số ví dụ của khái niệm, chúng ta phải suy ra một định nghĩa cho phép người dùng nhận biết một cách đúng đắn những thể hiện của khái niệm đó trong tương lai.

154 Võ Huỳnh Trâm – Trần Ngân Bình

Page 294: tong quan ve tri tue nhan tao

Chương 9: Học máy

I.2 Các tiếp cận học:

Có ba tiếp cận học: tiếp cận ký hiệu (symbol-based learning), tiếp cận mạng neuron hay kết nối (neural or connectionist networks) và tiếp cận nổi trội (emergent) hay di truyền và tiến hóa (genetic and evolutionary learning).

Các CTH thuộc tiếp cận dựa trên ký hiệu biểu diễn vấn đề dưới dạng các ký hiệu (symbol), các giải thuật học sẽ tìm cách suy ra các khái quát mới, hợp lệ, hữu dụng và được biểu diễn bằng các ký hiệu này. Có nhiều giải thuật được đưa ra theo tiếp cận học này, tuy nhiên phần II của chương này chỉ trình bày một giải thuật được sử dụng rộng rãi trong số đó, đó là giải thuật quy nạp cây quyết định ID3.

Ngược lại với tiếp cận ký hiệu, tiếp cận kết nối không học bằng cách tích lũy các câu trong một ngôn ngữ ký hiệu. Giống như bộ não động vật chứa một số lượng lớn các tế bào thần kinh liên hệ với nhau, mạng neuron là những hệ thống gồm các neuron nhân tạo liên hệ với nhau. Tri thức của chương trình là ngầm định trong tổ chức và tương tác của các neuron này. Phần III sẽ đi vào chi tiết của tiếp cận này.

Tiếp cận thứ ba là tiếp cận nổi trội mô phỏng cách thức các hệ sinh học tiến hóa trong tự nhiên, nên còn được gọi là tiếp cận di truyền và tiến hóa. Phần IV sẽ đi vào chi tiết của tiếp cận này.

II TIẾP CẬN KÝ HIỆU: gIẢI THUẬT QUY NẠP CÂY QUYẾT ĐỊNH ID3

II.1 Giới thiệu

Giải thuật quy nạp cây ID3 (gọi tắt là ID3) là một giải thuật học đơn giản nhưng tỏ ra thành công trong nhiều lĩnh vực. ID3 là một giải thuật hay vì cách biểu diễn tri thức học được của nó, tiếp cận của nó trong việc quản lý tính phức tạp, heuristic của nó dùng cho việc chọn lựa các khái niệm ứng viên, và tiềm năng của nó đối với việc xử lý dữ liệu nhiễu.

ID3 biểu diễn các khái niệm (concept) ở dạng các cây quyết định (decision tree). Biểu diễn này cho phép chúng ta xác định phân loại của một đối tượng bằng cách kiểm tra các giá trị của nó trên một số thuộc tính nào đó.

Như vậy, nhiệm vụ của giải thuật ID3 là học cây quyết định từ một tập các ví dụ rèn luyện (training example) hay còn gọi là dữ liệu rèn luyện (training data). Hay nói khác hơn, giải thuật có:

Đầu vào: Một tập hợp các ví dụ. Mỗi ví dụ bao gồm các thuộc tính mô tả một tình huống, hay một đối tượng nào đó, và một giá trị phân loại của nó.

Đầu ra: Cây quyết định có khả năng phân loại đúng đắn các ví dụ trong tập dữ liệu rèn luyện, và hy vọng là phân loại đúng cho cả các ví dụ chưa gặp trong tương lai.

Ví dụ, chúng ta hãy xét bài toán phân loại xem ta ‘có đi chơi tennis’ ứng với thời tiết nào đó không. Giải thuật ID3 sẽ học cây quyết định từ tập hợp các ví dụ sau:

Võ Huỳnh Trâm – Trần Ngân Bình 155

Page 295: tong quan ve tri tue nhan tao

Giáo Trình Trí Tuệ Nhân Tạo

Bảng 9.1 - Tập dữ liệu rèn luyện cho khái niệm ‘Có đi chơi tennis không?’

Tập dữ liệu này bao gồm 14 ví dụ. Mỗi ví dụ biểu diễn cho tình trạng thời tiết gồm các thuộc tính quang cảnh, nhiệt độ, độ ẩm và gió; và đều có một thuộc tính phân loại ‘chơi Tennis’ (có, không). ‘Không’ nghĩa là không đi chơi tennis ứng với thời tiết đó, ‘Có’ nghĩa là ngược lại. Giá trị phân loại ở đây chỉ có hai loại (có, không), hay còn ta nói phân loại của tập ví dụ của khái niệm này thành hai lớp (classes). Thuộc tính ‘Chơi tennis’ còn được gọi là thuộc tính đích (target attribute).

Mỗi thuộc tính đều có một tập các giá trị hữu hạn. Thuộc tính quang cảnh có ba giá trị (âm u, mưa, nắng), nhiệt độ có ba giá trị (nóng, mát, ấm áp), độ ẩm có hai giá trị (cao, TB) và gió có hai giá trị (mạnh, nhẹ). Các giá trị này chính là ký hiệu (symbol) dùng để biểu diễn bài toán.

Từ tập dữ liệu rèn luyện này, giải thuật ID3 sẽ học một cây quyết định có khả năng phân loại đúng đắn các ví dụ trong tập này, đồng thời hy vọng trong tương lai, nó cũng sẽ phân loại đúng các ví dụ không nằm trong tập này. Một cây quyết định ví dụ mà giải thuật ID3 có thể quy nạp được là:

Hình 9.1 - Cây quyết định cho khái niệm ‘Có đi chơi

tennis không?’

156 Võ Huỳnh Trâm – Trần Ngân Bình

Page 296: tong quan ve tri tue nhan tao

Chương 9: Học máy

Các nút trong cây quyết định biểu diễn cho một sự kiểm tra trên một thuộc tính nào đó, mỗi giá trị có thể có của thuộc tính đó tương ứng với một nhánh của cây. Các nút lá thể hiện sự phân loại của các ví dụ thuộc nhánh đó, hay chính là giá trị của thuộc tính phân loại.

Sau khi giải thuật đã quy nạp được cây quyết định, thì cây này sẽ được sử dụng để phân loại tất cả các ví dụ hay thể hiện (instance) trong tương lai. Và cây quyết định sẽ không thay đổi cho đến khi ta cho thực hiện lại giải thuật ID3 trên một tập dữ liệu rèn luyện khác.

Ứng với một tập dữ liệu rèn luyện sẽ có nhiều cây quyết định có thể phân loại đúng tất cả các ví dụ trong tập dữ liệu rèn luyện. Kích cỡ của các cây quyết định khác nhau tùy thuộc vào thứ tự của các kiểm tra trên thuộc tính.

Vậy làm sao để học được cây quyết định có thể phân loại đúng tất cả các ví dụ trong tập rèn luyện? Một cách tiếp cận đơn giản là học thuộc lòng tất cả các ví dụ bằng cách xây dựng một cây mà có một lá cho mỗi ví dụ. Với cách tiếp cận này thì có thể cây quyết định sẽ không phân loại đúng cho các ví dụ chưa gặp trong tương lai. Vì phương pháp này cũng giống như hình thức ‘học vẹt’, mà cây không hề học được một khái quát nào của khái niệm cần học. Vậy, ta nên học một cây quyết định như thế nào là tốt?

Occam’s razor và một số lập luận khác đều cho rằng ‘giả thuyết có khả năng nhất là giả thuyết đơn giản nhất thống nhất với tất cả các quan sát’, ta nên luôn luôn chấp nhận những câu trả lời đơn giản nhất đáp ứng một cách đúng đắn dữ liệu của chúng ta. Trong trường hợp này là các giải thuật học cố gắng tạo ra cây quyết định nhỏ nhất phân loại một cách đúng đắn tất cả các ví dụ đã cho. Trong phần kế tiếp, chúng ta sẽ đi vào giải thuật ID3, là một giải thuật quy nạp cây quyết định đơn giản thỏa mãn các vấn đề vừa nêu.

II.2 Giải thuật ID3 xây dựng cây quyết định từ trên–xuống

ID3 xây dựng cây quyết định (cây QĐ) theo cách từ trên xuống. Lưu ý rằng đối với bất kỳ thuộc tính nào, chúng ta cũng có thể phân vùng tập hợp các ví dụ rèn luyện thành những tập con tách rời, mà ở đó mọi ví dụ trong một phân vùng (partition) có một giá trị chung cho thuộc tính đó. ID3 chọn một thuộc tính để kiểm tra tại nút hiện tại của cây và dùng trắc nghiệm này để phân vùng tập hợp các ví dụ; thuật toán khi đó xây dựng theo cách đệ quy một cây con cho từng phân vùng. Việc này tiếp tục cho đến khi mọi thành viên của phân vùng đều nằm trong cùng một lớp; lớp đó trở thành nút lá của cây.

Vì thứ tự của các trắc nghiệm là rất quan trọng đối với việc xây dựng một cây QĐ đơn giản, ID3 phụ thuộc rất nhiều vào tiêu chuẩn chọn lựa trắc nghiệm để làm gốc của cây. Để đơn giản, phần này chỉ mô tả giải thuật dùng để xây dựng cây QĐ, với việc giả định một hàm chọn trắc nghiệm thích hợp. Phần kế tiếp sẽ trình bày heuristic chọn lựa của ID3.

Ví dụ, hãy xem xét cách xây dựng cây QĐ của ID3 trong hình sau từ tập ví dụ rèn luyện trong bảng 9.1.

Võ Huỳnh Trâm – Trần Ngân Bình 157

Page 297: tong quan ve tri tue nhan tao

Giáo Trình Trí Tuệ Nhân Tạo

+ : D3, D4, D5, D7, D9, D10, D11, D12, D13 – : D1, D2, D6, D8, D14

Quang cảnh?

+ : D9, D11 – : D1, D2, D8

+ : D3, D7, D12, D13 – :

+ : D3, D5, D10 – : D6, D14

Nắng Âm u Mưa

Hình 9.2 - Một phần cây quyết định xây dựng được

Bắt đầu với bảng đầy đủ gồm 14 ví dụ rèn luyện, ID3 chọn thuộc tính quang cảnh để làm thuộc tính gốc sử dụng hàm chọn lựa thuộc tính mô tả trong phần kế tiếp. Trắc nghiệm này phân chia tập ví dụ như cho thấy trong hình 9.2 với phần tử của mỗi phân vùng được liệt kê bởi số thứ tự của chúng trong bảng.

* ID3 xây dựng cây quyết định theo giải thuật sau:

Function induce_tree(tập_ví_dụ, tập_thuộc_tính) begin if mọi ví dụ trong tập_ví_dụ đều nằm trong cùng một lớp then return một nút lá được gán nhãn bởi lớp đó else if tập_thuộc_tính là rỗng then return nút lá được gán nhãn bởi tuyển của tất cả các lớp trong tập_ví_dụ else begin chọn một thuộc tính P, lấy nó làm gốc cho cây hiện tại; xóa P ra khỏi tập_thuộc_tính; với mỗi giá trị V của P begin tạo một nhánh của cây gán nhãn V;

Đặt vào phân_vùngV các ví dụ trong tập_ví_dụ có giá trị V tại thuộc tính P;

Gọi induce_tree(phân_vùngV, tập_thuộc_tính), gắn kết quả vào nhánh V

end end end

ID3 áp dụng hàm induce_tree một cách đệ quy cho từng phân vùng. Ví dụ, phân vùng của nhánh “Âm u” có các ví dụ toàn dương, hay thuộc lớp ‘Có’, nên ID3 tạo một nút lá với nhãn là lớp ‘Có’. Còn phân vùng của hai nhánh còn lại vừa có ví dụ âm, vừa có ví dụ dương. Nên tiếp tục chọn thuộc tính “Độ ẩm” để làm trắc nghiệm cho nhánh Nắng, và thuộc tính Gió cho nhánh Mưa, vì các ví dụ trong các phân vùng con của các nhánh cây này đều thuộc cùng một lớp, nên giải thuật ID3 kết thúc và ta có được cây QĐ như hình 9.3.

158 Võ Huỳnh Trâm – Trần Ngân Bình

Page 298: tong quan ve tri tue nhan tao

Chương 9: Học máy

+ : D3, D4, D5, D7, D9, D10, D11, D12, D13 – : D1, D2, D6, D8, D14

Quang cảnh?

+ : D9, D11 – : D1, D2, D8

+ : D3, D7, D12, D13 – :

+ : D3, D5, D10 – : D6, D14

Nắng Âm u Mưa

YesĐộ ẩm? Gió?

+ : – : D1, D2, D8

+ : D9, D11 – :

+ : – : D6, D14

+ : D4, D5, D10

Cao TB Mạnh Nhẹ

Yes NoYes No

Hình 9.3 - Cây quyết định đã xây dựng xong.

Lưu ý, để phân loại một ví dụ, có khi cây QĐ không cần sử dụng tất cả các thuộc tính đã cho, mặc dù nó vẫn phân loại đúng tất cả các ví dụ.

Võ Huỳnh Trâm – Trần Ngân Bình 159

Page 299: tong quan ve tri tue nhan tao

Giáo Trình Trí Tuệ Nhân Tạo

* Các khả năng có thể có của các phân vùng (partition):

Trong quá trình xây dựng cây QĐ, phân vùng của một nhánh mới có thể có các dạng sau:

1. Có các ví dụ thuộc các lớp khác nhau, chẳng hạn như có cả ví dụ âm và dương như phân vùng “Quang cảnh = Nắng” của ví dụ trên => giải thuật phải tiếp tục tách một lần nữa.

2. Tất cả các ví dụ đều thuộc cùng một lớp, chẳng hạn như toàn âm hoặc toàn dương như phân vùng “Quang cảnh = Âm u” của ví dụ trên => giải thuật trả về nút lá với nhãn là lớp đó.

3. Không còn ví dụ nào => giải thuật trả về mặc nhiên

4. Không còn thuộc tính nào => nghĩa là dữ liệu bị nhiễu, khi đó giải thuật phải sử dụng một luật nào đó để xử lý, chẳng hạn như luật đa số (lớp nào có nhiều ví dụ hơn sẽ được dùng để gán nhãn cho nút lá trả về).

Từ các nhận xét này, ta thấy rằng để có một cây QĐ đơn giản, hay một cây có chiều cao là thấp, ta nên chọn một thuộc tính sao cho tạo ra càng nhiều các phân vùng chỉ chứa các ví dụ thuộc cùng một lớp càng tốt. Một phân vùng chỉ có ví dụ thuộc cùng một lớp, ta nói phân vùng đó có tính thuần nhất. Vậy, để chọn thuộc tính kiểm tra có thể giảm thiểu chiều sâu của cây QĐ, ta cần một phép đo để đo tính thuần nhất của các phân vùng, và chọn thuộc tính kiểm tra tạo ra càng nhiều phân vùng thuần nhất càng tốt. ID3 sử dụng lý thuyết thông tin để thực hiện điều này.

II.3 Thuộc tính nào là thuộc tính dùng để phân loại tốt nhất?

Quinlan (1983) là người đầu tiên đề xuất việc sử dụng lý thuyết thông tin để tạo ra các cây quyết định và công trình của ông là cơ sở cho phần trình bày ở đây. Lý thuyết thông tin của Shannon (1948) cung cấp khái niệm entropy để đo tính thuần nhất (hay ngược lại là độ pha trộn) của một tập hợp. Một tập hợp là thuần nhất nếu như tất cả các phần tử của tập hợp đều thuộc cùng một loại, và khi đó ta nói tập hợp này có độ pha trộn là thấp nhất. Trong trường hợp của tập ví dụ, thì tập ví dụ là thuần nhất nếu như tất cả các ví dụ đều có cùng giá trị phân loại.

Khi tập ví dụ là thuần nhất thì có thể nói: ta biết chắc chắn về giá trị phân loại của một ví dụ thuộc tập này, hay ta có lượng thông tin về tập đó là cao nhất. Khi tập ví dụ có độ pha trộn cao nhất, nghĩa là số lượng các ví dụ có cùng giá trị phân loại cho mỗi loại là tương đương nhau, thì khi đó ta không thể đoán chính xác được một ví dụ có thể có giá trị phân loại gì, hay nói khác hơn, lượng thông tin ta có được về tập này là ít nhất. Vậy, điều ta mong muốn ở đây là làm sao chọn thuộc tính để hỏi sao cho có thể chia tập ví dụ ban đầu thành các tập ví dụ thuần nhất càng nhanh càng tốt. Vậy trước hết, ta cần có một phép đo để đo độ thuần nhất của một tập hợp, từ đó mới có thể so sánh tập ví dụ nào thì tốt hơn. Phần kế tiếp sẽ trình bày công thức tính entropy của một tập hợp.

160 Võ Huỳnh Trâm – Trần Ngân Bình

Page 300: tong quan ve tri tue nhan tao

Chương 9: Học máy

II.3.1 Entropy đo tính thuần nhất của tập ví dụ

Khái niệm entropy của một tập S được định nghĩa trong Lý thuyết thông tin là số lượng mong đợi các bít cần thiết để mã hóa thông tin về lớp của một thành viên rút ra một cách ngẫu nhiên từ tập S. Trong trường hợp tối ưu, mã có độ dài ngắn nhất. Theo lý thuyết thông tin, mã có độ dài tối ưu là mã gán –log2p bits cho thông điệp có xác suất là p.

Trong trường hợp S là tập ví dụ, thì thành viên của S là một ví dụ, mỗi ví dụ thuộc một lớp hay có một giá trị phân loại.

Entropy có giá trị nằm trong khoảng [0..1],

Entropy(S) = 0 tập ví dụ S chỉ toàn ví dụ thuộc cùng một loại, hay S là thuần nhất.

Entropy(S) = 1 tập ví dụ S có các ví dụ thuộc các loại khác nhau với độ pha trộn là cao nhất.

0 < Entropy(S) < 1 tập ví dụ S có số lượng ví dụ thuộc các loại khác nhau là không bằng nhau.

Để đơn giản ta xét trường hợp các ví dụ của S chỉ thuộc loại âm (-) hoặc dương (+).

Hình 9.4 minh họa sự phụ thuộc của giá trị entropy vào xác suất xuất hiện của ví dụ dương.

Cho trước:

• Tập S là tập dữ liệu rèn luyện, trong đó thuộc tính phân loại có hai giá trị, giả sử là âm (-) và dương (+)

• p+ là phần các ví dụ dương trong tập S.

• p_ là phần các ví dụ âm trong tập S.

Khi đó, entropy đo độ pha trộn của tập S theo công thức sau:

−−++ −−= ppppSEntropy 22 loglog)(Một cách tổng quát hơn, nếu các ví dụ của

tập S thuộc nhiều hơn hai loại, giả sử là có c giá trị phân loại thì công thức entropy tổng quát là:

Hình 9.4 - Entropy(S)

∑=

−=c

iii ppSEntropy

12log)(

II.3.2 Lượng thông tin thu được đo mức độ giảm entropy mong đợi

Entropy là một số đo đo độ pha trộn của một tập ví dụ, bây giờ chúng ta sẽ định nghĩa một phép đo hiệu suất phân loại các ví dụ của một thuộc tính. Phép đo này gọi là lượng thông tin

Võ Huỳnh Trâm – Trần Ngân Bình 161

Page 301: tong quan ve tri tue nhan tao

Giáo Trình Trí Tuệ Nhân Tạo

thu được, nó đơn giản là lượng giảm entropy mong đợi gây ra bởi việc phân chia các ví dụ theo thuộc tính này. Một cách chính xác hơn, Gain(S,A) của thuộc tính A, trên tập S, được định nghĩa như sau:

∑−= )(||||)(),( v

v SEntropySSSEntropyASGain

∈ )( AValuesv

trong đó Values(A) là tập hợp có thể có các giá trị của thuộc tính A, và Sv là tập con của S chứa các ví dụ có thuộc tính A mang giá trị v. Câu hỏi :

Áp dụng giải thuật ID3 kết hợp với công thức entropy và gain để tạo ra cây quyết định đơn giản nhất cho bài toán phân loại xem ta ‘có đi chơi tennis’ từ tập dữ liệu rèn luyện đã cho trong bảng 9.1.

II.4 Tìm kiếm không gian giả thuyết trong ID3

Cũng như các phương pháp học quy nạp khác, ID3 cũng tìm kiếm trong một không gian các giả thuyết một giả thuyết phù hợp với tập dữ liệu rèn luyện. Không gian giả thuyết mà ID3 tìm kiếm là một tập hợp các cây quyết định có thể có. ID3 thực hiện một phép tìm kiếm từ đơn giản đến phức tạp, theo giải thuật leo-núi (hill climbing), bắt đầu từ cây rỗng, sau đó dần dần xem xét các giả thuyết phức tạp hơn mà có thể phân loại đúng các ví dụ rèn luyện. Hàm đánh giá được dùng để hướng dẫn tìm kiếm leo núi ở đây là phép đo lượng thông tin thu được.

Từ cách nhìn ID3 như là một giải thuật tìm kiếm trong không gian các giả thuyết, ta có một số nhận xét như sau:

• Không gian giả thuyết các cây quyết định của ID3 là một không gian đầy đủ các cây quyết định trên các thuộc tính đã cho trong tập rèn luyện. Điều này có nghĩa là không gian mà ID3 tìm kiếm chắc chắn có chứa cây quyết định cần tìm.

• Trong khi tìm kiếm, ID3 chỉ duy trì một giả thuyết hiện tại. Vì vậy, giải thuật này không có khả năng biểu diễn được tất cả các cây quyết định khác nhau có khả năng phân loại đúng dữ liệu hiện có.

Hình 9.5 - Không gian tìm kiếm của ID3.

• Giải thuật thuần ID3 không có khả năng quay lui trong khi tìm kiếm. Vì vậy, nó có thể gặp phải những hạn chế giống như giải thuật leo núi, đó là hội tụ về cực tiểu địa phương.

162 Võ Huỳnh Trâm – Trần Ngân Bình

Page 302: tong quan ve tri tue nhan tao

Chương 9: Học máy

• Vì ID3 sử dụng tất cả các ví dụ ở mỗi bước để đưa ra các quyết định dựa trên thống kê, nên kết quả tìm kiếm của ID3 rất ít bị ảnh hưởng bởi một vài dữ liệu sai (hay dữ liệu nhiễu).

• Trong quá trình tìm kiếm, giải thuật ID3 có xu hướng chọn cây quyết định ngắn hơn là những cây quyết định dài. Đây là tính chất thiên lệch quy nạp của ID3.

II.5 Đánh giá hiệu suất của cây quyết định:

Một cây quyết định sinh ra bởi ID3 được đánh giá là tốt nếu như cây này có khả năng phân loại đúng được các trường hợp hay ví dụ sẽ gặp trong tương lai, hay cụ thể hơn là có khả năng phân loại đúng các ví dụ không nằm trong tập dữ liệu rèn luyện.

Để đánh giá hiệu suất của một cây quyết định người ta thường sử dụng một tập ví dụ tách rời, tập này khác với tập dữ liệu rèn luyện, để đánh giá khả năng phân loại của cây trên các ví dụ của tập này. Tập dữ liệu này gọi là tập kiểm tra (validation set). Thông thường, tập dữ liệu sẵn có sẽ được chia thành hai tập: tập rèn luyện thường chiếm 2/3 số ví dụ và tập kiểm tra chiếm 1/3.

II.6 Chuyển cây về các luật

Thông thường, cây quyết định sẽ được chuyển về dạng các luật để thuận tiện cho việc cài đặt và sử dụng. Ví dụ cây quyết định cho tập dữ liệu rèn luyện trong bảng 9.1 có thể được chuyển thành một số luật như sau :

If (Quang-cảnh =nắng) ∧ (Độ ẩm = Cao) Then Chơi-Tennis = No If (Quang-cảnh =nắng) ∧ (Độ ẩm = TB) Then Chơi-Tennis = Yes If (Quang-cảnh =Âm u) Then Chơi-Tennis = Yes …

Võ Huỳnh Trâm – Trần Ngân Bình 163

Page 303: tong quan ve tri tue nhan tao

Giáo Trình Trí Tuệ Nhân Tạo

II.7 Khi nào nên sử dụng ID3

Giải thuật ID3 là một giải thuật học đơn giản nhưng nó chỉ phù hợp với một lớp các bài toán hay vấn đề có thể biểu diễn bằng ký hiệu. Chính vì vậy, giải thuật này thuộc tiếp cận giải quyết vấn đề dựa trên ký hiệu (symbol – based approach).

Tập dữ liệu rèn luyện ở đây bao gồm các ví dụ được mô tả bằng các cặp “Thuộc tính – giá trị”, như trong ví dụ ‘Chơi tennis’ trình bày trong suốt chương này, đó là ‘Gió – mạnh’, hay ‘Gió – nhẹ’,… và mỗi ví dụ đều có một thuộc tính phân loại, ví dụ như ‘chơi_tennis’, thuộc tính này phải có giá trị rời rạc, như có, không.

Tuy nhiên, khác với một số giải thuật khác cũng thuộc tiếp cận này, ID3 sử dụng các ví dụ rèn luyện ở dạng xác suất nên nó có ưu điểm là ít bị ảnh hưởng bởi một vài dữ liệu nhiễu. Vì vậy, tập dữ liệu rèn luyện ở đây có thể chứa lỗi hoặc có thể thiếu một vài giá trị ở một số thuộc tính nào đó. Một giải pháp thường được áp dụng đối với các dữ liệu bị thiếu là sử dụng luật đa số, chương trình tiền xử lý dữ liệu sẽ điền vào các vị trí còn trống giá trị có tần số xuất hiện cao nhất của thuộc tính đó.

Bên cạnh các vấn đề cơ bản được trình bày trong phần này, ID3 còn được thảo luận nhiều vấn đề liên quan như làm sao để tránh cho cây quyết định không bị ảnh hưởng quá nhiều (overfitting) vào dữ liệu rèn luyện, để nó có thể tổng quát hơn, phân loại đúng được cho các trường hợp chưa gặp. Có nhiều giải pháp đã được đưa ra như cắt tỉa lại cây quyết định sau khi học, hoặc cắt tỉa các luật sau khi chuyển cây về dạng luật. Một vấn đề khác nữa đó là nếu như một vài thuộc tính nào đó có giá trị liên tục thì sao. Giải quyết các vấn đề này dẫn đến việc sinh ra nhiều thế hệ sau của ID3, một giải thuật nổi bật trong số đó là C4.5 (Quinlan 1996). Ngoài ra, một số kỹ thuật được tạo ra để thao tác trên dữ liệu nhằm tạo ra các cây quyết định khác nhau trên cùng tập dữ liệu rèn luyện đã cho như kỹ thuật bagging and boosting.

III TIẾP CẬN KẾT NỐI: MẠNG NEURON

III.1 Giới thiệu

Các mô hình học theo tiếp cận này bắt chước theo cách học của các hệ thần kinh sinh vật. Các hệ thống theo mô hình này có khi còn được gọi là các hệ kết nối (connectionist systems), tính toán neural (Neural computing), mạng neural (Neural Networks), các hệ xử lý phân tán song song (parallel distributed processing – PDP).

Không giống như các giải thuật của tiếp cận ký hiệu, các mô hình này không sử dụng ký hiệu một cách tường minh để giải quyết vấn đề. Thay vào đó, chúng giữ cho trí tuệ phát triển trong các hệ thống gồm các thành phần (neuron sinh học hay neuron nhân tạo) đơn giản, tương tác thông qua một quá trình học hay thích nghi mà nhờ đó kết nối giữa các thành phần này được điều chỉnh. Việc xử lý của các hệ thống này được phân tán trên một tập hợp các lớp neuron. Các hệ thống này giải quyết vấn đề song song theo nghĩa rằng tất cả các neuron trong tập hợp hay trong các lớp sẽ xử lý tín hiệu vào một cách đồng thời và độc lập.

Trong khi các giải thuật của tiếp cận ký hiệu sử dụng ký hiệu để mô tả các mẫu của bài toán như ta đã thấy trong giải thuật ID3 thì những nhà thiết kế mạng neuron phải tạo ra một sơ đồ

164 Võ Huỳnh Trâm – Trần Ngân Bình

Page 304: tong quan ve tri tue nhan tao

Chương 9: Học máy

mã hóa các mẫu (pattern) của bài toán thành các đại lượng số để đưa vào mạng. Việc chọn lựa một sơ đồ mã hóa thích hợp đóng vai trò quyết định cho sự thành công hay thất bại trong việc học của mạng.

Các mẫu (pattern) của bài toán được mã hóa thành các vector số. Các kết nối giữa các thành phần, hay neuron, cũng được biểu diễn bằng các giá trị số. Cuối cùng, sự biến đổi của các mẫu cũng là kết quả của các phép toán số học, thông thường là phép nhân ma trận. Sự chọn lựa kiến trúc kết nối của nhà thiết kế mạng neuron góp phần vào tính thiên lệch quy nạp (inductive bias) của hệ thống.

Các giải thuật và kiến trúc dùng để cài đặt mạng neuron thường được huấn luyện (trained) hay tạo điều kiện (conditioned) chứ không được lập trình một cách tường tận. Và đây chính là sức mạnh chủ yếu của tiếp cận này.

Các phương pháp của tiếp cận này phát huy sức mạnh của chúng trong các bài toán mà khó có thể giải quyết bằng các mô hình ký hiệu. Tiêu biểu là các bài toán đòi hỏi các kỹ năng dựa vào nhận thức, hay các bài toán thiếu một cú pháp định nghĩa rõ ràng.

Các bài toán thích hợp với tiếp cận kết nối thường là:

- Bài toán phân loại (classification): quyết định một giá trị đưa vào thuộc loại hay nhóm nào,

- Bài toán nhận dạng mẫu (pattern recognition): nhận dạng cấu trúc trong các dữ liệu có thể là bị nhiễu.

- Bài toán dự đoán (prediction): chẳng hạn như nhận dạng bệnh từ các triệu chứng, nhận dạng tác nhân từ các hiệu ứng,…

- Bài toán tối ưu (optimization): tìm một tổ chức ràng buộc tốt nhất - Bài toán lọc nhiễu (Noise filtering): hay phân biệt các tín hiệu với nền, tìm ra các

thành phần không quan trọng trong một tín hiệu.

III.2 Cơ bản về mạng kết nối:

Thành phần cơ bản của một mạng neuron là một neuron nhân tạo, như mô tả trong hình 9.6 sau đây.

III.2.1 Một neuron nhân tạo

Hình 9. 6 minh họa một neuron nhân tạo bao gồm:

Hình 9.6 - Một neuron nhân tạo.

Các tín hiệu đầu vào, xi. Các dữ liệu này có thể đến từ môi trường, hay được kích hoạt từ các neuron khác. Các mô hình khác nhau có thể có miền giá trị của đầu vào khác nhau; thông thường các giá trị đầu vào này là các số rời rạc (discrete) lấy từ tập 0,1 hay -1,1 hay số thực.

Võ Huỳnh Trâm – Trần Ngân Bình 165

Page 305: tong quan ve tri tue nhan tao

Giáo Trình Trí Tuệ Nhân Tạo

Một tập các trọng số (weight) có giá trị thực, wi. Các trọng số này dùng để mô tả sức mạnh kết nối, hay sức mạnh của các kết nối thiên lệch (bias link)

Một mức kích hoạt (activation level) hay hàm kích hoạt Σwixi. Mức kích hoạt của một neuron được xác định bởi sức mạnh tích lũy từ các tín hiệu đầu vào của nó nơi mà mỗi tín hiệu đầu vào được tỷ lệ lại bằng trọng số kết nối wi ở đầu vào đó. Vì vậy, mức kích họat được tính toán bằng cách lấy tổng các giá trị đầu vào sau khi được tỉ lệ hóa, Σwixi.

Một hàm ngưỡng (threshold function), f. Hàm này tính kết quả đầu ra của neuron bằng cách xác định xem mức kích hoạt nằm dưới hay trên một giá trị ngưỡng là ít hay nhiều. Hàm ngưỡng này có khuynh hướng tạo ra trạng thái tắt/mở của các neuron.

III.2.2 Các đặc trưng của một mạng Neuron

Ngoài các tính chất của một neuron đơn lẻ, một mạng neuron còn được đặc trưng bởi các tính chất toàn cục như sau:

Hình thái mạng (network topology): là mô hình hay mẫu kết nối giữa các neuron đơn lẻ.

Hình 9.7 - Các hình thái mạng neuron khác nhau.

H1

H2

O1

wi

w11

w12

I1

I2

I3

Giải thuật học (learning algorithm): là giải thuật dùng để điều chỉnh các trọng số ở các đầu vào của các neuron. Trong các phần tiếp theo của chương này sẽ trình bày một số giải thuật học tiêu biểu.

Sơ đồ mã hóa (encoding schema): Bao gồm việc thông dịch dữ liệu thực tế thành các giá trị đầu vào của mạng, và việc thông dịch giá trị đầu ra của mạng thành một kết quả có ý nghĩa.

III.2.3 Mạng neuron McCulloch-Pitts

Ví dụ đầu tiên về tính toán neural được MacCulloch và Pitts đưa ra vào 1943. Đầu vào của một neuron McCulloch-Pitts là +1 (kích thích) hoặc –1 (ức chế). Hàm kích hoạt nhân mỗi đầu vào với giá trị trọng số tương ứng và cộng chúng lại; nếu tổng lớn hơn hay bằng không, thì neuron trả về 1, ngược lại, là –1.

McCulloch-Pitts cho thấy các neuron này có thể được xây dựng để tính toán bất cứ hàm logic nào, chứng minh rằng các hệ thống gồm các neuron này cung cấp một mô hình tính toán đầy đủ.

Hình 9.8 minh họa các neuron McCulloch-Pitts dùng để tính hàm logic and và or.

I1

I2

H1 O1

w11

w12

166 Võ Huỳnh Trâm – Trần Ngân Bình

Page 306: tong quan ve tri tue nhan tao

Chương 9: Học máy

Hình 9.8 - Các neuron McCulloch-Pitts dùng để tính toán các hàm logic and và or.

Các neuron này có 3 đầu vào: x và y là các giá trị cần đưa vào, còn đầu vào thứ ba, đôi khi còn được gọi là một thiên lệch (bias), có giá trị hằng là +1.

Ba đầu vào của neuron and có 3 trọng số tương ứng là +1, +1 và –2. Vì vậy, với các giá trị bất kỳ của x, y, neuron tính giá trị x+y-2; nếu giá trị này nhỏ hơn 0, nó trả về –1. Ngược lại trả về 1.

Bảng bên dưới minh họa cho tính toán neuron x and y.

Bảng 9.2 - Mô hình McCulloch-Pitts cho logic and.

Mặc dù McCulloch-Pitts chứng minh cho sức mạnh của tính toán neural, nhưng sức hấp dẫn của tiếp cận này chỉ thực sự bắt đầu khi các giải thuật học thực tế bắt đầu phát triển. Phiên bản đầu tiên của mạng neuron có kèm giải thuật học được Frank Rosenblatt đưa ra vào cuối thập niên 1950, có tên gọi là perceptron.

III.3 Học perceptron

III.3.1 Giải thuật học perceptron

Perceptron là mạng neuron đơn tầng. Cách lan truyền tín hiệu của perceptron tương tự với neuron McCulloch-Pitts. Các giá trị đầu vào và các mức kích hoạt của perceptron là -1 hoặc 1; trọng số là các số thực. Mức kích hoạt được xác định qua tổng ∑wixi. Perceptron sử dụng một hàm ngưỡng giới hạn cứng, khi một kích hoạt nằm bên trên ngưỡng, hàm sẽ cho kết quả là 1, và -1 nếu ngược lại. Cho trước các giá trị đầu vào xi, các trọng số wi, và một ngưỡng, t, hàm ngưỡng f của perceptron sẽ trả về:

1 nếu ∑wixi >= t -1 nếu ∑wixi < t

Perceptron sử dụng một hình thức đơn giản của học có giám sát (supervised learning). Sau khi perceptron cố gắng giải quyết một mẫu bài toán (mẫu này rút ra từ tập dữ liệu rèn luyện

Võ Huỳnh Trâm – Trần Ngân Bình 167

Page 307: tong quan ve tri tue nhan tao

Giáo Trình Trí Tuệ Nhân Tạo

– training data), chương trình đóng vai trò như một người thầy giáo sẽ cung cấp cho nó kết quả đúng của mẫu bài toán đó (giá trị này cũng lấy từ tập dữ liệu rèn luyện). Dựa vào sự khác biệt giữa kết quả đúng được cung cấp và kết quả mà perceptron tính toán được, nó sẽ tự điều chỉnh các trọng số của nó để làm thu hẹp khoảng cách lỗi. Perceptron sử dụng luật như sau: với c là một hằng số cho trước, hằng số này thể hiện tốc độ học và d là giá trị đầu ra mong muốn, perceptron sẽ điều chỉnh trọng số trên thành phần thứ i của vectơ đầu vào một lượng ∆wi:

wi = c(d – f(∑wixi)) xi ∆

f(∑wixi) chính là giá trị đầu ra của perceptron, nó có giá trị +1 hoặc -1. Vì vậy, hiệu giữa d và f(∑wixi) là 0, 2 hoặc -2. Vì vậy, với mỗi thành phần của vectơ đầu vào:

- Nếu giá trị đầu ra mong muốn và giá trị đầu ra thật bằng nhau, thì không làm gì cả.

- Nếu giá trị đầu ra thực là -1 và 1 là giá trị mong muốn, thì tăng trọng số của đường thứ i lên 2cxi.

- Nếu giá trị đầu ra thực là 1 và -1 là giá trị mong muốn, thì giảm trọng số của đường thứ i -2cxi

Sở dĩ c được gọi là hằng số thể hiện tốc độ học vì nếu c lớn thì các giá trị điều chỉnh ∆wi sẽ lớn, như vậy, đẩy nhanh quá trình wi hội tụ về giá trị đúng của nó.

Sau khi được huấn luyện bằng một tập hợp khá lớn các ví dụ rèn luyện cho trước, thủ tục này sẽ sinh ra một tập các trọng số có tính chất làm giảm thiểu trung bình lỗi trên toàn tập ví dụ rèn luyện. Theo Minsky và Papert 1969, nếu tồn tại một tập hợp các trọng số đem lại đầu ra đúng cho mọi ví dụ rèn luyện, thì thủ tục học perceptron sẽ học được nó.

III.3.2 Sử dụng mạng perceptron cho bài toán phân loại

.III.3.2.1 Bài toán phân loại

Hình 9.9 - Một hệ thống phân loại đầy đủ.

Hình trên đưa ra một cái nhìn khái quát về bài toán phân loại. Dữ liệu thô từ một không gian các điểm có thể có sau khi qua bộ chuyển đổi (transducer) sẽ được chọn và chuyển đổi thành một không gian các dữ liệu hay mẫu mới. Trong không gian mẫu mới này, bộ trích lọc đặc trưng (feature extractor) sẽ chọn ra các đặc trưng của dữ liệu, và cuối cùng, dữ liệu thể hiện

168 Võ Huỳnh Trâm – Trần Ngân Bình

Page 308: tong quan ve tri tue nhan tao

Chương 9: Học máy

qua các đặc trưng sẽ được đưa vào máy phân loại (classifier) để cho ra kết quả lớp phân loại (class) của dữ liệu đó.

Trong dây chuyền này, mạng perceptron nói riêng và mạng neuron nói chung đóng vai trò như một máy phân loại.

Một dữ liệu đầu vào sẽ được biểu diễn như một vectơ gồm n thành phần (thể hiện cho n đặc trưng) x1, x2, …, xn. Các dữ liệu này có thể thuộc 1 trong m lớp class1, class2, … classm. Máy phân loại sẽ có nhiệm vụ xác định xem dữ liệu đầu vào thuộc về lớp nào.

.III.3.2.2 Ví dụ perceptron

Trong ví dụ đơn giản dưới đây, bộ chuyển đổi và bộ trích lọc đặc trưng đã chuyển thông tin của bài toán thành các tham số của không gian hai chiều. Bảng 9.3 thể hiện dữ liệu rèn luyện của perceptron gồm có 2 đặc trưng (x1 và x2) mang giá trị thực, và kết quả mong muốn (output) gồm hai giá trị 1 hoặc -1, thể hiện cho hai lớp phân loại của dữ liệu. Hình 9.10 thể hiện hình ảnh của các điểm dữ liệu trong bảng 9.3 cùng với đường phân cách hai lớp dữ liệu được tạo ra sau khi mạng percpetron được huấn luyện trên tập dữ liệu này.

Bảng 9.3 - Tập dữ liệu cho bài toán phân loại của perceptron.

Hình 9.10 - Đồ thị hai chiều của các điểm dữ liệu trong bảng 9.3. Perceptron cung cấp một phép tách tuyến tính của các tập hợp dữ liệu.

Perceptron dùng để phân loại bài toán này được thiết kế như sau:

Tín hiệu đầu vào: 2 tham số x1 và x2, cùng với một đầu vào thiên lệch (bias) luôn có giá trị 1.

Hình 9.11- Mạng perceptron cho ví dụ của bảng 9.3. Mức kích hoạt:

net = w1x1 + w2x2 + w3

Hàm ngưỡng f(net) là một hàm dấu, hay còn gọi là hàm ngưỡng hai cực tuyến tính

Võ Huỳnh Trâm – Trần Ngân Bình 169

Page 309: tong quan ve tri tue nhan tao

Giáo Trình Trí Tuệ Nhân Tạo

f(net) = +1, nếu net>0

f(net) = -1, nếu net<=0

Tín hiệu thiên lệch phục vụ cho việc chuyển dịch hàm ngưỡng trên trục tung. Phạm vi của chuyển dịch này sẽ được học bằng cách điều chỉnh trọng số w3 trong khi huấn luyện mạng.

Bây giờ chúng ta sử dụng các điểm dữ liệu của bảng 9.3 để luyện tập perceptron của hình 9.6.

Giả thiết ban đầu các trọng số wi có giá trị ngẫu nhiên lần lượt là: [0.75,0.5,-0.6]

Sử dụng giải thuật học perceptron trình bày ở trên với tốc độ học c được chọn là một số dương nhỏ 0.2

Chúng ta bắt đầu bằng ví dụ đầu tiên trong bảng 9.3:

f(net)1 = f(0.75 * 1 + 0.5 * 1 – 0.6 *1 ) = f(0.65) = 1

Ta thấy f(net)1 có giá trị đúng với giá trị đầu ra mong muốn, nên ta không điều chỉnh trọng số. Cho nên 2 = 1 , W là vectơ trọng số đại diện cho 3 trọng số w1, w2,w3. W W

Đến ví dụ thứ 2:

f(net)2 = f(0.75 * 9.4 + 0.5 * 6.4 – 0.6 *1 ) = f(9.65) = 1

Nhưng giá trị mong đợi ở đây là -1, vì vậy, ta cần điều chỉnh trọng số theo luật học:

t = Wt-1 + c( dt-1 – f(net)t-1)Xt-1 W

trong đó: c là hằng số học

W, X: là vectơ trọng số, và vectơ dữ liệu đầu vào

t là thời điểm

Trong trường hợp này: c = 0.2, d2 = -1, và f(net)2 = 1

Áp dụng luật học trên, ta có:

3 = W2 + 0.2(–1 – 1)X2 = ⎥⎥⎥

⎢⎢⎢

−−−

=⎥⎥⎥

⎢⎢⎢

⎡−

⎥⎥⎥

⎢⎢⎢

− 00.106.201.3

0.14.64.9

4.06.0

5.075.0

W

Bây giờ chúng ta xét ví dụ thứ 3:

f(net)3 = f(-3.01 * 2.5 -2.06 * 2.1 – 1.0 *1 ) = f(-12.84) = -1

170 Võ Huỳnh Trâm – Trần Ngân Bình

Page 310: tong quan ve tri tue nhan tao

Chương 9: Học máy

Trong khi giá trị mong đợi của ví dụ này là 1, nên các trọng số tiếp tục được điều chỉnh

4 = W3 + 0.2(1–(– 1))X3 = ⎥⎥⎥

⎢⎢⎢

−−−

=⎥⎥⎥

⎢⎢⎢

⎡+

⎥⎥⎥

⎢⎢⎢

−−−

60.022.101.2

0.11.25.2

4.00.106.201.3

W

Cứ tiếp tục như thế, sau 10 lần lặp, đường phân cách tuyến tính như trong hình 9.10 xuất hiện. Sau khi lặp lại việc huấn luyện perceptron trên tập dữ liệu đã cho, khoảng 500 lần lặp tổng cộng, vectơ trọng số hội tụ về giá trị [-1.3, -1.1, 10.9]. Và đây chính là các hệ số của phương trình đường phân cách tuyến tính trong hình 9.10:

-1.3 * x1 – 1.1 * x2 + 10.9 = 0.

III.3.3 Giới hạn của perceptron – tính tách rời tuyến tính của bài toán

Ban đầu, mạng perceptron được chào đón một cách nhiệt tình. Tuy nhiên, Nils Nilsson (1965) và những người khác đã phân tích những giới hạn của mô hình perceptron. Họ chứng minh rằng perceptron không thể giải quyết một lớp các bài toán khó, cụ thể là các bài toán mà các điểm dữ liệu không thể tách rời tuyến tính. Một ví dụ cho bài toán phân loại không tuyến tính đó là phép toán ex-or. Ex-or có bảng chân lý như sau:

Bảng 9.4 - Bảng chân lý của phép toán logic ex-or.

x1 x2 Output 1 1 0 1 0 1 0 1 1 0 0 0

Hình 9.12 - Đồ thị thể hiện các điểm dữ liệu của bài toán Ex-Or

Từ đồ thị hình 9.12, ta thấy không thể tìm được bất cứ một đường thẳng nào có thể tách rời các điểm dữ liệu của lớp 0: (0,0), (1,1) ra khỏi các điểm dữ liệu của lớp 1: (0,1),(1,0).

Chúng ta có thể quan niệm tập hợp các giá trị dữ liệu đối với một mạng neuron như dùng để định nghĩa một không gian. Mỗi tham số của dữ liệu đầu vào tương ứng với một chiều trong không gian, và mỗi giá trị đầu vào sẽ định nghĩa một điểm trong không gian đó. Trong bài toán ex-or trên, bốn giá trị đầu vào, được đánh chỉ số theo các tọa độ x1, x2, tạo thành các điểm dữ liệu trong hình 9.12. Bài toán học một phân loại nhị phân của các dữ liệu rèn luyện rút lại thành bài toán tách các điểm này thành hai nhóm. Như vậy, đối với một không gian n chiều, một sự phân loại là phân tách được một cách tuyến tính nếu như các lớp của nó có thể được tách ra bởi một mặt phẳng n-1 chiều. (Trong không gian hai chiều thì mặt siêu phẳng n-1 chiều là một đường thẳng, trong không gian 3 chiều thì nó là một mặt phẳng, …).

Võ Huỳnh Trâm – Trần Ngân Bình 171

Page 311: tong quan ve tri tue nhan tao

Giáo Trình Trí Tuệ Nhân Tạo

III.3.4 Luật Delta

Một cách dễ dàng để tổng quát hóa mạng perceptron là thay hàm ngưỡng giới hạn cứng bằng một hàm kích hoạt kiểu khác. Chẳng hạn như, hàm kích hoạt liên tục (để có khả năng lấy vi phân) tạo điều kiện cho các giải thuật học phức tạp hơn.

Hình 9.13 - Các hàm ngưỡng.

Hình 9.13 minh họa đồ thị của một số hàm ngưỡng: hình 9.13a là một hàm ngưỡng hai cực, hình 9.13b minh họa một hàm kích hoạt sigmoidal thông dụng (hàm sigmoidal là hàm có hình cong như chữ S), được gọi là hàm logistic, hàm này có công thức như sau:

f(net) = 1/(1 + e-λ*net) với net = ∑i wixi

Cũng như các hàm định nghĩa trước đây, xi là đầu vào của đường thứ i, wi là trọng số trên đường vào i, và λ là “tham số nén” được sử dụng để điều chỉnh độ cong của đường. Khi λ càng lớn, thì đường cong càng tiệm cận với hàm ngưỡng tuyến tính (trong hình 9.13a). Khi càng tiến gần đến 1, nó càng gần như là một đường thẳng.

Hàm logistic có một tính chất đặc biệt là, đạo hàm của hàm này có một công thức rất đơn giản:

f ’(net) = f(net) * (1- f(net)) (1-1)

Từ hình 9.13 ta thấy với các hàm ngưỡng liên tục, neuron sẽ cho kết quả chính xác hơn nhờ vào việc điều chỉnh tham số λ.

Việc đưa ra các hàm kích hoạt liên tục đã làm đề xuất các tiếp cận mới để làm giảm lỗi trong khi học. Qui luật học do Widrow-Hoff đưa ra vào khoảng 1960 độc lập với hàm kích hoạt, tối thiểu hóa bình phương của lỗi giữa giá trị đầu ra mong muốn và kích hoạt của neuron, neti = WXi. Một trong số luật học quan trọng cho các hàm kích hoạt liên tục là luật delta (Rumelhart et al. 1986).

Để sử dụng luạt delta, mạng phải sử dụng mootj hàm ngưỡng liên tục để có thể lấy vi phân. Hàm logistic đã trình bày bên trên có được tính chất này. Khi đó công thức học theo luật delta cho việc điều chỉnh trọng số ở đầu vào thứ j của nút thứ i là:

∆w = c(di – Oi) f’(neti)xj

172 Võ Huỳnh Trâm – Trần Ngân Bình

Page 312: tong quan ve tri tue nhan tao

Chương 9: Học máy

trong đó, c là hằng số điều khiển tốc độ học, di và Oi là các giá trị đầu ra thực sự và mong muốn của nút thứ i. f’(neti) là đạo hàm của hàm kích hoạt cho nút thứ i, và xj là đầu vào thứ j của nút thứ i. Thay thế công thức đạo hàm (1-1) của hàm logistic f’(net), ta được công thức để điều chỉnh trọng số như sau:

∆w = c(di – Oi) Oi( 1 – Oi) xj (1-2)

Từ công thức này cho thấy, công thức điều chỉnh trọng số này chỉ có thể áp dụng cho các nút của mạng perceptron đơn tầng, vì tại đó ta mới có các giá trị đầu ra mong muốn di.

III.4 Học Lan truyền ngược:

Như đã phân tích ở trên, ta thấy các mạng perceptron đơn tầng có khả năng giới hạn, chúng không thể phân loại được các bài toán không tách rời tuyến tính. Trong phần tiếp theo, chúng ta sẽ thấy rằng các mạng đa tầng có thể giải quyết được các bài toán này.

Hình 9.14 - Học lan truyền ngược trong mạng kết nối có một tầng ẩn.

Các neuron trong một mạng đa tầng (xem hình 9.14) được kết nối với nhau theo từng lớp, trong đó các neuron ở tầng k sẽ truyền kích hoạt của chúng chỉ cho các neuron ở tầng k+1. Xử lý tín hiệu đa tầng có nghĩa là các lỗi nằm sâu bên trong mạng có thể lan ra và phát triển một cách phức tạp thông qua các tầng liên tiếp. Vì vậy, việc phân tích nguyên nhân gây ra lỗi ở tầng ra (output layer) là rất phức tạp. Giải thuật học lan truyền ngược sẽ cung cấp một phương pháp điều chỉnh trọng số trong trường hợp này.

III.4.1 Giải thuật học lan truyền ngược

Từ lập luận cho rằng tại các nút của một mạng đa tầng, lỗi mà một nút phải chịu trách nhiệm cũng phải được chia phần cho các nút ở tầng ẩn trước nó và vì vậy các trọng số phải được điều chỉnh một cách phù hợp.

Giải thuật lan truyền ngược bắt đầu tại tầng ra và truyền các lỗi ngược về xuyên qua các tầng ẩn (như hình 9.14).

Võ Huỳnh Trâm – Trần Ngân Bình 173

Page 313: tong quan ve tri tue nhan tao

Giáo Trình Trí Tuệ Nhân Tạo

Hình 9.15 - ∑j –deltaj *wij là tổng đóng góp của nút i vào lỗi ở tầng ra.

Luật delta tổng quát để điều chỉnh trọng số của đầu vào thứ k của nút thứ i:

∆wk = c(di – Oi) Oi (1 – Oi) xk cho nút ở tầng ra

∆wk = c ∑j (deltaj wij) Oi (1 – Oi) xk cho nút ở tầng ẩn

với deltaj = (dj – Oj) Oj (1 – Oj)

j chạy trên các nút của tầng kế tiếp mà tại đó nút i truyền các đầu ra của nó.

Đối với mạng có nhiều hơn một tầng ẩn, ta cũng áp dụng thủ tục tương tự một cách đệ quy để truyền lỗi từ tầng ẩn thứ n vào tầng ẩn thứ n-1.

III.4.2 Ví dụ 1: Mạng NetTalk

Mạng NETtalk là một ví dụ hay cho việc sử dụng giải pháp mạng neuron để giải quyết một vấn đề học khó. NETtalk học để đọc được văn bản tiếng Anh. Đây là một nhiệm vụ khó khăn đối với tiếp cận học dựa trên ký hiệu, vì phát âm trong tiếng Anh mang tính bất quy tắc. Mặc dù có các chương trình dựa trên luật (rule-based) đã được viết để giải quyết vấn đề này, nhưng chúng đều phức tạp và thực hiện chưa hoàn hảo.

NETtalk học để đọc một chuỗi văn bản và trả về một âm vị cùng với trọng âm liên hệ cho mỗi chữ cái trong chuỗi. Vì phát âm của một chữ cái đơn nhất phụ thuộc vào các chữ cái xung quanh nó, người ta đưa vào NETtalk một cửa sổ gồm 7 ký tự. Khi văn bản dịch chuyển qua cửa sổ này, NETtalk trả về một cặp âm vị/trọng âm cho mỗi chữ cái.

Hình 9.15 minh họa kiến trúc của mạng NETtalk. Mạng gồm có 3 tầng neuron. Các neuron đầu vào tương ứng với cửa sổ 7 ký tự của văn bản. Mỗi vị trí trong cửa sổ được biểu diễn bởi 29 neuron đầu vào, 26 neurons cho 26 ký tự alphabet, và 3 neurons cho dấu và khoảng trắng. Ký tự ở mỗi ví trí trong cửa sổ sẽ kích hoạt neuron tương ứng. Các neuron đầu ra mã hóa âm sử dụng 21 đặc điểm khác nhau của cách phát âm của con người. 5 neurons còn lại mã hóa dấu nhấn và giới hạn âm tiết. NETtalk có 80 neuron ở tầng ẩn, 26 giá trị đầu ra và 18.629 kết nối.

174 Võ Huỳnh Trâm – Trần Ngân Bình

Page 314: tong quan ve tri tue nhan tao

Chương 9: Học máy

Hình 9.15 - Hình thái mạng của NETtalk.

Kết quả của NETtalk là có thể phát âm đúng 60% sau khi rèn luyện với một tập dữ liệu rèn luyện gồm 500 ví dụ và lặp lại 100 lượt.

Ngoài kết quả đạt được trên, NETtalk còn cho thấy một số tính chất đáng chú ý của mạng neuron, có nhiều tính chất trong số đó phản ánh bản chất tự nhiên của việc học ở người. Chẳng hạn như, việc học, khi được đo bằng phần trăm câu trả lời đúng, sẽ tiến triển nhanh lúc đầu, sau đó chậm dần khi tỉ lệ đúng tăng lên. Và cũng như con người, khi neuron càng học phát âm được nhiều từ, thì nó càng phát âm đúng các từ mới nhiều hơn.

III.4.3 Ví dụ 2: Exclusive–or

Một ví dụ khác cho mạng đa tầng là dùng để giải quyết bài toán Ex-or mà mạng đơn tầng không thể phân loại được.

Hình 9.16 minh họa mạng với hai đầu vào, một nút ẩn và một nút đầu ra. Mạng cũng có hai đầu vào thiên lệch (bias), một đi vào nút ẩn và một đi vào nút đầu ra. Một điểm đặc biệt là các đầu vào cũng được nối trực tiếp vào nút đầu ra. Liên kết thêm vào này cho phép nhà thiết kế mạng neuron đạt được một mạng với ít nút hơn trên tầng ẩn và hội tụ nhanh hơn.

Giá trị net cho nút ẩn và nút đầu ra cũng được tính như cách thông thường, là tổng của các tích giữa giá trị đầu nhân với trọng số. Các trọng số được điều chỉnh theo giải thuật học lan truyền ngược và sử dụng hàm kích hoạt sigmoidal.

Thật ra, mạng neuron trong hình 9.16 không phải là một mạng duy nhất có thể giải quyết bài toán này.

Hình 9.16 - Một mạng lan truyền ngược dùng để giải quyết bài toán exclusive-or.

Võ Huỳnh Trâm – Trần Ngân Bình 175

Page 315: tong quan ve tri tue nhan tao

Giáo Trình Trí Tuệ Nhân Tạo

Mạng này được rèn luyện với 4 ví dụ: (0,0) → 0; (1,0) → 1; (0,1) → 1; (1,1) → 0

Sau khi được huấn luyện 1400 lượt với 4 dữ liệu trên, các trọng số hội tụ về các giá trị như sau:

WH1 = -7.0 WHB = 2.6 WO1 = -5.0 WH2 = -7.0

WOB = 7.0 WO2 = -4.0 WHO = -11.0

Với giá trị đầu vào là (0,0), giá trị đầu ra của nút ẩn sẽ là:

f(0 * (-7.0) + 0 * (-7.0) + 1* 2.6 ) = f(2.6) → 1

Kết quả trả về của nút đầu ra cho (0,0) sẽ là:

f(0 * (-5.0) + 0 * (-4.0) + 1 * (-11.0) + 1 * (7.0)) = f(-4.0) → 0

Như vậy, ta thấy rằng mạng lan truyền ngược đã phân loại được các điểm dữ liệu không tuyến tính.

III.5 Nhận xét chung về mạng neuron

Nói chung các mạng đa tầng là đầy đủ về mặt tính toán (computationally complete), có nghĩa là có thể giải quyết được mọi bài toán. Tuy nhiên, để thiết kế một mạng neuron đa tầng thì nhà thiết kế phải giải quyết được những vấn đề sau:

- Làm sao để chọn số nút ẩn và số tầng ẩn thích hợp?

- Khi nào sử dụng các nút thiên lệch?

- Cách chọn một tập rèn luyện?

- Điều chỉnh các trọng số như thế nào?

- Nên chọn tốc độ học như thế nào?

Nói chung, không có một quy luật nào về tất cả những điều này, nó phụ thuộc vào kinh nghiệm của nhà thiết kế, cũng như là kết quả của quá trình thử-sai lặp đi lặp lại.

176 Võ Huỳnh Trâm – Trần Ngân Bình

Page 316: tong quan ve tri tue nhan tao

Chương 9: Học máy

IV TIẾP CẬN XÃ HỘI VÀ NỔI TRỘI: GIẢI THUẬT DI TRUYỀN (GENETIC ALGORITHM - GA)

IV.1 Giới thiệu

Cũng như các mạng neuron, các thuật toán di truyền cũng dựa trên một ẩn dụ sinh học: Các thuật toán này xem việc học như là sự cạnh tranh trong một quần thể gồm các lời giải ứng viên đang tiến hóa của bài toán. Một hàm ‘thích nghi’ (fitness function) sẽ đánh giá mỗi lời giải để quyết định liệu nó có đóng góp cho thế hệ các lời giải kế tiếp hay không. Sau đó, thông qua các phép toán tương tự với biến đổi gene trong sinh sản hữu tính, giải thuật sẽ tạo ra một quần thể các lời giải ứng viên mới.

IV.2 Giải thuật

Khởi tạo quần thể

Thỏa ĐK dừng

•Gọi hàm thích nghi để đánh giá các lời giải ứng viên •Chọn các ứng viên tốt •Tạo con mới •Thay thế ứng viên kém bằng các con mới

Chọn lời giải tốt nhất từ quần thể

N

Y

Hình 9.17- Giải thuật di truyền.

Hình 9.17 mô tả giải thuật di truyền tổng quát. Tùy theo từng bài toán mà nhà thiết kế giải thuật sẽ phải mô tả chi tiết hơn về:

- Phương pháp biểu diễn một cá thể trong quần thể các lời giải ứng viên của bài toán, hay nói khác hơn là hình thức biểu diễn một lời giải tiềm năng của bài toán. Không phải lời giải của mọi bài toán đều có thể được mã hóa một cách dễ dàng và tự nhiên dưới dạng biểu diễn mức bit như trong bài toán thỏa mãn CNF dưới đây.

ứng - Độ lớn của quần thể là số lượng ứng viên có trong quần thể. Thông thường các viên của quần thể ban đầu được chọn một cách ngẫu nhiên. Độ lớn của quần thể là không đổi qua các thế hệ, vì vậy, sẽ có một quá trình chọn lọc và loại bỏ một số lời giải ứng viên có độ thích nghi thấp.

Võ Huỳnh Trâm – Trần Ngân Bình 177

Page 317: tong quan ve tri tue nhan tao

Giáo Trình Trí Tuệ Nhân Tạo

- Điều kiện dừng của vòng lặp: có thể là chương trình đạt tới một số lần lặp nhất định nào đó, hay đạt tới trung bình độ tốt nào đó của quần thể,…

- Hàm đánh giá (fitness function): Dùng để đánh giá một ứng viên có tốt hay không. Một ứng viên càng tốt nghĩa là độ thích nghi của nó càng cao và tiến đến trở thành lời giải đúng của bài toán. Việc thiết kế một hàm đánh giá tốt là rất quan trọng trong thuật toán di truyền. Một hàm đánh giá không chính xác có thể làm mất đi các ứng viên tốt trong quần thể.

- Chọn lựa bao nhiêu phần trăm lời giải tốt để giữ lại? Hay chọn bao nhiêu lời giải ứng viên để kết hợp với nhau và sinh ra lời giải con?

- Phương pháp tạo thành viên mới từ thành viên hiện có, còn gọi là toán tử di truyền (genetic operators): Các toán tử di truyền phổ biến là

o Lai ghép (cross-over): Toán tử lai ghép lấy hai lời giải ứng viên và chia từng lời giải ra thành hai phần, sau đó trao đổi các phần với nhau để tạo ra ứng viên mới. Ví dụ xem hình 9.18.

o Đột biến (mutation): Đột biến lấy một ứng viên đơn lẻ và thay đổi một cách ngẫu nhiên một khía cạnh nào đó của nó. Ví dụ xem hình 9.18.

Hình 9.18 - Ví dụ minh họa giải thuật và toán tử di truyền.

Trong ví dụ minh họa bằng hình 9.18, ta thấy tại thế hệ thứ n ta có một lời giải có độ thích nghi rất thấp (2), và vì vậy, nó không được sử dụng trong quá trình tái sản xuất. Thay vào đó, lời giải có độ thích nghi cao nhất (13) sẽ được nhân đôi và đưa vào quá trình tái sản xuất.

Hoặc ít phổ biến hơn là các toán tử di truyền:

o Đảo ngược (inversion): Đảo ngược thứ tự các bit trong mẫu lời giải.

o Trao đổi (Exchange): Trao đổi hai bit bất kỳ trong mẫu lời giải với nhau.

Thế hệ n 1 1 0 1 1 0 1 1 0 1 0 0 1 0 0 1

11 13 2 9

Tái sản xuất 1 1 0 1 1 0 1 1 1 0 0 11 0 1 1

Lai ghép 1 1 1 0 1 0 1 1

Đột biến

1 0 0 11 0 0 1 1 1

1 0 1 1 0 10 1 0 0 0 1 0 0 11 1

Thế hệ n+1 13 10 1 13

1 1 0 1 1 1 0 1

Đảo ngược Trao đổi

Độ thích nghi (fitness)

178 Võ Huỳnh Trâm – Trần Ngân Bình

Page 318: tong quan ve tri tue nhan tao

Chương 9: Học máy

Một toán tử di truyền tốt đóng một vai trò quan trọng trong thuật toán di truyền. Toán tử di truyền phải bảo toàn những mối quan hệ cốt yếu trong quần thể; ví dụ, sự có mặt và sự duy nhất của tất cả các thành phố trong hành trình của người bán hàng trong bài toán người đi bán hàng.

1 0 1 1 0 1 1 1

- Thay thế thành viên mới cho các thành viên hiện có như thế nào?

- …

IV.3 Ví dụ 1: Bài toán thỏa CNF

Bài toán thỏa mãn dạng chuẩn hội (Conjunctive normal form – CNF) là một bài toán đơn giản: Một biểu thức của các mệnh đề (clause) ở dạng chuẩn hội hay CNF khi nó là một dãy các biến mệnh đề được kết nối với nhau bởi toán tử quan hệ and (∧). Mỗi mệnh đề có dạng là một tuyển (disjunction), gồm các toán tử quan hệ or (∨) trên các biến mệnh đề (literal).

Ví dụ : Nếu ta có 6 biến mệnh đề a, b, c, d, e và f, thì biểu thức sau đây là một CNF:

(¬a ∨ c) ∧ (¬a ∨ c ∨ ¬e) ∧ (¬b ∨ c ∨ d ∨ ¬e) ∧ (a ∨ ¬b ∨ c) ∧ (¬e ∨ f) (1-3)

Thỏa mãn CNF có nghĩa rằng chúng ta phải tìm ra một phép gán true hoặc false (1 hoặc 0) cho mỗi biến mệnh đề a, b, c, d, e, f sao cho biểu thức CNF có giá trị là TRUE.

Một cách biểu diễn tự nhiên cho lời giải của bài toán này là một dãy sáu bit, mỗi bit theo thứ tự a, b, c, d, e, f biểu diễn true (1) hoặc false (0) cho mỗi biến mệnh đề. Như vậy mẫu bit:

1 0 1 0 1 0

cho biết a, c, và e là true và b, d, và f là false, và do đó khi thay các giá trị này vào biểu thức (1-3), thì cho giá trị false.

Chúng ta muốn rằng các toán tử di truyền sinh ra các thế hệ lời giải sao cho biểu thức CNF mang trị true, vì vậy mỗi toán tử phải sinh ra một mẫu 6-bit của phép gán true cho biểu thức. Cách biểu diễn lời giải dưới dạng một mẫu các bit như trên mang lại cho ta rất một điều rất thuận lợi là bất kỳ toán tử di truyền nào (lai ghép, đột biến, đảo ngược, hay trao đổi) đều tạo ra một mẫu bit mới là một lời giải khả dĩ hợp lệ.

Việc chọn lựa một hàm thích nghi cho quần thể các chuỗi bit này không phải hoàn toàn dễ dàng. Thoạt nhìn chuỗi bit, ta khó có thể xác định một hàm thích nghi để đánh giá được chất lượng của nó như thế nào, nghĩa là khó đoán được độ tốt của nó so với đáp án đúng. Đáp án đúng ở đây chính là chuỗi bit sao cho biểu thức CNF có giá trị true.

Tuy nhiên có một số cách khác. Nếu ta chú ý đến biểu thức CNF (1-3), thì ta thấy rằng nó được tạo thành từ hội của 5 mệnh đề. Do đó chúng ta có thể thiết lập một hệ phân hạng cho phép chúng ta sắp hạng các lời giải (mẫu bit) tiềm năng trong khoảng giá trị từ 0 đến 5, tùy thuộc vào số mệnh đề mà mẫu đó thỏa mãn. Do đó mẫu:

1 1 0 0 1 0 có độ thích nghi là 1

Võ Huỳnh Trâm – Trần Ngân Bình 179

Page 319: tong quan ve tri tue nhan tao

Giáo Trình Trí Tuệ Nhân Tạo

0 1 0 0 1 0 có độ thích nghi là 2

0 1 0 0 1 1 có độ thích nghi là 3

1 0 1 0 1 1 có độ thích nghi là 5, và nó chính là một lời giải.

IV.4 Ví dụ 2: Bài toán người đi bán hàng TSP

Bài toán người bán hàng (traveling salesperson problem – TSP) là một bài toán cổ điển đối với AI và khoa học máy tính1. Như chúng đã giới thiệu ở chương III, toàn bộ không gian trạng thái của nó đòi hỏi phải xem xét N! trạng thái để có thể tìm ra lời giải tối ưu, trong đó N là số thành phố cần đi qua. Khi N khá lớn thì bài toán sẽ bị bùng nổ tổ hợp, vì vậy người ta đặt vấn đề là có cần thiết hay không cho việc chạy một máy trạm làm việc đắt tiền trong nhiều giờ để cho một lời giải tối ưu hay chỉ nên chạy một PC rẻ tiền trong vài phút để có được những kết quả “đủ tốt”. Giải thuật di truyền chính là một giải pháp cho lựa chọn thứ hai.

Ở bài toán này, dùng mẫu bit để biểu diễn cho lời giải của bài toán không phải là một cách hay. Chẳng hạn, ta có chín thành phố cần ghé thăm 1, 2, …9, ta xem mỗi thành phố như một mẫu 4 bit 0001, 0010,… 1001. Khi đó một lời giải khả dĩ sẽ có hình thức như sau:

0001 0010 0011 0100 0101 0110 0111 1000 1001

Với cách biểu diễn như vậy, việc thiết kế các toán tử di truyền sẽ trở nên rất khó khăn. Toán tử lai ghép nhất định là không được, vì chuỗi mới được tạo từ hai cha mẹ khác nhau hầu như sẽ không biểu diễn một đường đi trong đó ghé thăm mỗi thành phố đúng một lần. Trong thực tế, với lai ghép, một số thành phố có thể bị xóa bỏ trong khi các thành phố khác được ghé thăm nhiều hơn một lần, và vì vậy đó không phải là một lời giải hợp lệ. Còn toán tử đột biến thì thế nào? Giả sử bit trái nhất của thành phố thứ sáu, 0110, được đột biến thành 1? 1110, hay là 14, thì nó không còn là một thành phố hợp lệ.

Một cách tiếp cận khác là sẽ bỏ qua biểu diễn dạng mẫu bit và đặt cho mỗi thành phố một tên theo bảng chữ cái hoặc số, ví dụ 1, 2, …9; xem đường đi qua các thành phố là một sự sắp thứ tự của chín ký số này, và sau đó chọn toán tử di truyền thích hợp để tạo ra các đường đi mới. Ở đây ta thấy phép trao đổi (exchange) ngẫu nhiên hai thành phố trong đường đi có thể sử dụng được, còn phép toán lai ghép (crossover) thì không. Việc trao đổi các đoạn của một đường đi với những đoạn khác của cùng đường đi đó, hoặc bất cứ toán tử nào sắp xếp lại các chữ cái của đường đi ấy (mà không xóa bỏ, thêm, hay nhân đôi bất cứ thành phố nào) đều có thể sử dụng được. Tuy nhiên, những phương pháp này gây khó khăn cho việc đưa vào thế hệ con cháu những thành phần “tốt hơn” của các mẫu trong các đường đi qua của các thành phố của hai cha mẹ khác nhau.

1 Phát biểu của bài toán TSP: Một người bán hàng có nhiệm vụ ghé thăm N thành phố như là một phần của lộ trình bán hàng. Đường đi giữa mỗi cặp thành phố có một chi phí (ví dụ như độ dài đoạn đường, giá vé máy bay). Hãy tìm ra đường đi có chi phí thấp nhất cho người bán hàng để bắt đầu lên đường tại một thành phố, thăm tất cả các thành phố khác chỉ đúng một lần rồi quay lại thành phố xuất phát.

180 Võ Huỳnh Trâm – Trần Ngân Bình

Page 320: tong quan ve tri tue nhan tao

Chương 9: Học máy

Nhiều nhà nghiên cứu đã đưa ra các toán tử lai ghép có khả năng khắc phục những vấn đề này, trong đó có toán tử lai ghép có thứ tự (order crossover) do Davis đưa ra vào năm 1985. Lai ghép có thứ tự xây dựng con cháu bằng cách chọn một dãy con các thành phố trong đường đi của một mẫu cha mẹ. Nó cũng bảo toàn thứ tự tương đối các thành phố từ cha mẹ kia. Đầu tiên, chọn hai điểm cắt, biểu thị bởi dấu “|”, điểm cắt này được chen vào một cách ngẫu nhiên vào cùng một vị trí của mỗi mẫu cha mẹ. Những điểm cắt này là ngẫu nhiên, nhưng một khi được chọn, thì những vị trí như nhau sẽ được sử dụng cho cả hai cha mẹ. Ví dụ, có hai mẫu cho mẹ p1 và p2, với các điểm cắt sau thành phố thứ ba và thứ bảy:

p1 = (1 9 2 | 4 6 5 7 | 8 3)

p2 = (4 5 9 | 1 8 7 6 | 2 3)

Hai mẫu con c1 và c2 sẽ được sinh ra theo cách sau. Đầu tiên, các đoạn giữa hai điểm cắt sẽ được chép vào các mẫu con:

c1 = (x x x | 4 6 5 7 | x x)

c2 = (x x x | 1 8 7 6 | x x)

Bước kế tiếp là bắt đầu từ điểm cắt thứ hai của một trong hai mẫu cha mẹ, nếu ta đang muốn hoàn tất mẫu c1, thì ta sẽ bắt đầu từ điểm cắt thứ hai của mẫu p2, ta chép các thành phố từ điểm cắt này theo thứ tự vào các chỗ còn trống của c1, bỏ qua những thành phố mà c1 đã có (các ký số được in đậm và nghiêng trong sơ đồ bên dưới). Khi đến cuối mẫu p2, thì quay lại đầu mẫu p2 tiếp tục chép sang c1 cho đến khi c1 đủ.

p2 = (4 5 9 | 1 8 7 6 | 2 3) p1 = (1 9 2 | 4 6 5 7 | 8 3)

c1 = (2 3 9 | 4 6 5 7 | 1 8) c2 = (3 9 2 | 1 8 7 6 | 4 5)

Với giải thuật lai ghép này, các đường đi của thế hệ con sẽ được đảm bảo là các đường đi hợp lệ, đi qua mỗi thành phố một lần duy nhất.

Tóm lại, trong lai ghép thứ tự, các mảnh của một đường đi được truyền từ một cha mẹ, p1, sang một con, c1, trong khi sắp xếp của các thành phố còn lại của con c1 được thừa kế từ cha mẹ kia, p2. Điều này ủng hộ cho trực giác hiển nhiên là thứ tự của các thành phố đóng vai trò quan trọng trong việc tạo ra đường đi với chi phí thấp nhất, và vì vậy việc truyền lại các đoạn thông tin có thứ tự này từ các cha mẹ có độ thích nghi cao sang con cái là một điều rất quan trọng.

Ngoài toán tử lai ghép thứ tự trên, còn có rất nhiều toán tử lai ghép và đột biến khác được đưa ra để giải quyết bài toán này. Bảng 9.5 liệt kê các toán tử lai ghép, bảng 9.6 liệt kê các toán tử đột biến.

Võ Huỳnh Trâm – Trần Ngân Bình 181

Page 321: tong quan ve tri tue nhan tao

Giáo Trình Trí Tuệ Nhân Tạo

Tên toán tử Năm Tác giả

Alternating Position Crossover (AP) (1999) Larranaga, Kuijpers, Poza, Murga Cycle Crossover (CX) (1987) Oliver, Smith and Holland Distance Preserving Crossover (DPX) (1996) Freisbein and Merz Edge Assembly Crossover (EAX) (1997) Nagata and Kobayashi Edge Recombination Crossover (ER) (1989) Whitley, Timothy, Fuquay Heuristic Crossover (HEU) (1987) Grefenstette Inver-over Operator (IOO) (1998) Tao and Michalewicz Maximal Preservative Crossover (MPX) (1988) Mühlenbein, Schleuter and Krämer Position Based Crossover (POS) (1991) Syswerda Order Crossover (OX1) (1985) Davis Order Based Crossover (OX2) (1991) Syswerda Partially mapped Crossover (PMX) (1985) Goldberg and Lingle Voting Recombination Crossover (VR) (1989) Mühlenbein

Bảng 9.5 - Danh sách các toán tử lai ghép cho bài toán TSP.

Tên toán tử Năm Tác giả

Displacement Mutation (DM) (1992) Michalewicz Exchange Mutation (EM) (1990) Banzhaf Insertion Mutation (ISM) (1988) Fogel Inversion Mutation (IVM) (1990) Fogel Scramble Mutation (SM) (1991) Syswerda Simple Inversion Mutation (SIM) (1975) Holland

Bảng 9.6 - Danh sách các toán tử đột biến cho bài toán TSP.

IV.5 Đánh giá giải thuật

Các ví dụ vừa nêu trên làm nổi bật những vấn đề mang tính duy nhất của thuật toán di truyền về biểu diễn tri thức, chọn toán tử di truyền, và thiết kế hàm thích nghi. Biểu diễn được chọn phải hỗ trợ cho các toán tử di truyền. Một điểm dáng lưu ý nữa là các toán tử di truyền phải được thiết kế sao cho bảo lưu được những mảnh thông tin có ý nghĩa trong lời giải tiềm năng từ thế hệ này sang các thế hệ tiếp theo.

Một sức mạnh quan trọng của thuật toán di truyền là bản chất song song trong tìm kiếm của nó. Các thuật toán này thực hiện một dạng mạnh của leo núi (hill climbing) trong đó duy trì nhiều lời giải (trong quần thể các lời giải), loại bỏ những lời giải không có triển vọng, và nâng cao chất lượng của những lời giải tốt. Hình 9.19 phỏng theo Holland (1986), cho thấy nhiều lời giải hội tụ về các điểm tối ưu trong không gian tìm kiếm. Trong hình này, trục hoành biểu diễn các điểm có thể có trong không gian lời giải, trong khi trục tung phản ánh

182 Võ Huỳnh Trâm – Trần Ngân Bình

Page 322: tong quan ve tri tue nhan tao

Chương 9: Học máy

chất lượng của những lời giải đó. Các điểm chấm nằm trên cung là các thành viên của quần thể hiện tại. Khởi đầu, những lời giải được rải trong không gian những lời giải có thể có. Sau một vài thế hệ, chúng có khuynh hướng cụm lại xung quanh những vùng có chất lượng lời giải cao hơn.

Chất lượng lời giải

Không gian tìm kiếm a. Không gian TK lúc khởi đầu

Chất lượng lời giải

Không gian tìm kiếmb. Không gian TK sau n thế

Hình 9.19- Các thuật toán di truyền được xem là leo núi song song (theo Holland 1986)

Tuy nhiên, với sức mạnh như vậy, giải thuật genetic cũng không thể áp dụng cho tất cả các bài toán có thể có. Vì như ta thấy qua hai ví dụ trên, lời giải của bài toán phải được biểu diễn dưới một dạng mẫu thích hợp cho các toán tử di truyền hoạt động. Trong thực tế có nhiều bài toán không thể làm được điều này. Vì vậy, khi nghiên cứu về giải thuật này, có rất nhiều câu hỏi đã được đưa ra nhằm hiểu rõ hơn nữa về bản chất hoạt động của nó:

1. Liệu chúng ta có thể đưa ra những đặc điểm về các loại bài toán mà giải thuật di truyền (GA) có thể thực hiện tốt

2. Các loại bài toán nào thì không thích hợp với GA.

3. Dựa vào đâu để ta có thể nói là GA thực hiện tốt hay không tốt đối với một loại bài toán nào đó?

Liệu có những qui luật nào mô tả hành vi của GA ở mức vĩ mô? Hay cụ thể hơn, là liệu có bất kỳ sự phán đoán nào về sự thay đổi của độ thích nghi của các nhóm con trong quần thể theo thời gian?

4.

5. Có cách nào để mô tả các hiệu ứng khác nhau của các toán tử di truyền như lai ghép, đột biến, đảo ngược, v.v…

6. Trong những trường hợp nào (bài toán nào, toán tử di truyền nào) thì GA sẽ thực hiện tốt hơn các phương pháp nghiên cứu của TTNT truyền thống.

Những câu hỏi này (và còn nhiều hơn nữa) vẫn đã và đang được các nhà khoa học như Holland, Mitchell, Golderg,… nghiên cứu.

Võ Huỳnh Trâm – Trần Ngân Bình 183

Page 323: tong quan ve tri tue nhan tao

Giáo Trình Trí Tuệ Nhân Tạo

V TỔNG KẾT CHƯƠNG IX

Nội dung chính của chương này bao gồm:

Giới thiệu tổng quát về một nhánh nghiên cứu mới của Trí Tuệ Nhân Tạo, đó là Học máy. Học được định nghĩa như là bất cứ sự thay đổi nào trong một hệ thống cho phép nó tiến hành tốt hơn trong lần thứ hai khi lặp lại cùng một nhiệm vụ hoặc với một nhiệm vụ khác rút ra từ cùng một quần thể các nhiệm vụ đó.

Có ba tiếp cận học: Tiếp cận thứ nhất là tiếp cận ký hiệu, hai là tiếp cận mạng neuron hay kết nối và tiếp cận thứ ba là tiếp cận nổi trội hay di truyền và tiến hóa.

Các chương trình học theo tiếp cận ký hiệu sẽ biểu diễn vấn đề dưới dạng các ký hiệu. Chương này trình bày một giải thuật được sử dụng rộng rãi của tiếp cận này, đó là ID3. ID3 sẽ học từ tập dữ liệu rèn luyện bao gồm rất nhiều ví dụ, mỗi ví dụ bao gồm một tập các cặp ‘thuộc tính – giá trị’. Thuộc tính và giá trị ở đây là các ký hiệu. Sau khi học xong, ID3 biểu diễn khái niệm học được bằng một cây quyết định.

Tiếp cận kết nối hay mạng neuron mô phỏng hệ thần kinh của con người để học được các khái niệm mà không sử dụng ký hiệu để biểu diễn vấn đề. Mạng đơn tầng perceptron cho thấy sức mạnh của mạng neuron, tuy nhiên khả năng áp dụng của chúng chỉ hạn chế cho các bài toán có tính tách rời tuyến tính. Mạng đa tầng áp dụng giải thuật học lan truyền ngược đã vượt qua những hạn chế của mạng perceptron, chứng tỏ được sức mạnh thực sự của tiếp cận này.

Tương tự như tiếp cận kết nối, tiếp cận di truyền và tiến hóa có cảm hứng bắt nguồn từ tri thức của con người về sự tiến hóa của sinh vật: chỉ có những cá thể có khả năng thích nghi với sự thay đổi của môi trường thì mới tồn tại và phát triển. Thuật toán di truyền mô phỏng theo nguyên lý đó.

VI BÀI TẬP CHƯƠNG IX

IX.1. Cho một tập hợp các ví dụ rèn luyện như sau:

STT Phân loại A1 A2 A3

1 + T T F 2 + T F T 3 − F T T 4 − F F T 5 + F T F 6 + F F F

184 Võ Huỳnh Trâm – Trần Ngân Bình

Page 324: tong quan ve tri tue nhan tao

Chương 9: Học máy

An muốn áp dụng giải thuật ID3 để xây dựng cây quyết định với tập dữ liệu rèn luyện trên. Áp dụng các công thức tính entropy và gain, hãy giúp An xác định thuộc tính nào (A1, A2, hay A3) là thuộc tính tốt nhất để hỏi đầu tiên nhằm tạo ra một cây quyết định đơn giản nhất. (Lưu ý: phải trình bày các tính toán entropy và gain để đi đến kết luận).

IX.2. Ứng dụng giải thuật di truyền để tìm giá trị của các biến x, y, z sao cho hàm f(x,y,z) = ysin(zcos(x)) – xcos(zsin(y)) đạt giá trị lớn nhất. Biết rằng 0 < x < 10, 0< y < 10, 0 <z < 10.

IX.3. Cho một tập hợp gồm 10 ví dụ rèn luyện như sau:

STT Cuối-tuần (A1)

Đang-đói (A2)

TG-chờ (phút) (A3) Sẽ-chờ-bàn

1 Đúng Có 0-10 Có 2 Sai Có >30 Không 3 Sai Không 0-10 Có 4 Đúng Có 10-30 Có 5 Đúng Không 10-30 Không 6 Sai Có 0-10 Có 7 Sai Không 10-30 không 8 Sai Có 10-30 Có 9 Đúng Không >30 Không 10 Đúng Có >30 Không

Tập dữ liệu trên thể hiện quyết định sẽ chờ bàn hay không của một người khi bước vào một nhà hàng đông khách không còn bàn trống. Quyết định của anh ta sẽ phụ thuộc vào một số yếu tố như hôm đó có phải là ngày cuối tuần không (cuối-tuần) – A1, anh ta có đang đói không (đang-đói) – A2, thời gian chờ bàn (TG-chờ) – A3: dưới 10 phút (0-10), từ 10 đến 30 phút (10-30) hay trên 30 phút (>30).

Áp dụng các công thức tính entropy và gain, để xác định thuộc tính tốt nhất để hỏi kế tiếp nhằm tạo ra một cây quyết định đơn giản nhất theo giải thuật ID3. Trình bày các tính toán entropy và gain ở mỗi bước.

Võ Huỳnh Trâm – Trần Ngân Bình 185

Page 325: tong quan ve tri tue nhan tao

Giáo Trình Trí Tuệ Nhân Tạo

Chương IX ............................................................................................................................153 HỌC MÁY............................................................................................................................153 (MACHINE LEARNING)....................................................................................................153

I. GIỚI THIỆU: ...........................................................................................................153 I.1. Định nghĩa ‘học’..............................................................................................154 I.2. Các tiếp cận học: .............................................................................................155

II. TIẾP CẬN KÝ HIỆU: gIẢI THUẬT QUY NẠP CÂY QUYẾT ĐỊNH ID3 .........155 II.1. Giới thiệu.........................................................................................................155 II.2. Giải thuật ID3 xây dựng cây quyết định từ trên–xuống..................................157 II.3. Thuộc tính nào là thuộc tính dùng để phân loại tốt nhất? ...............................160 II.4. Tìm kiếm không gian giả thuyết trong ID3.....................................................162 II.5. Đánh giá hiệu suất của cây quyết định:...........................................................163 II.6. Chuyển cây về các luật....................................................................................163 II.7. Khi nào nên sử dụng ID3 ................................................................................164

III. TIẾP CẬN KẾT NỐI: MẠNG NEURON...........................................................164 III.1. Giới thiệu.........................................................................................................164 III.2. Cơ bản về mạng kết nối:..................................................................................165 III.3. Học perceptron ................................................................................................167 III.4. Học Lan truyền ngược:....................................................................................173 III.5. Nhận xét chung về mạng neuron.....................................................................176

IV. TIẾP CẬN XÃ HỘI VÀ NỔI TRỘI: GIẢI THUẬT DI TRUYỀN (GENETIC ALGORITHM - GA)........................................................................................................177

IV.1. Giới thiệu.........................................................................................................177 IV.2. Giải thuật .........................................................................................................177 IV.3. Ví dụ 1: Bài toán thỏa CNF.............................................................................179 IV.4. Ví dụ 2: Bài toán người đi bán hàng TSP .......................................................180 IV.5. Đánh giá giải thuật ..........................................................................................182

TỔNG KẾT CHƯƠNG IX ..............................................................................................184 BÀI TẬP CHƯƠNG IX ........................................................................................184

186 Võ Huỳnh Trâm – Trần Ngân Bình

Page 326: tong quan ve tri tue nhan tao

_______________________________Chương 9 Truyền tín hiệu tương tự bằng sóng mang số IX - 1

CHƯƠNG 9

TRUYỀN TÍN HIỆU TƯƠNG TỰ BẰNG SÓNG MANG SỐ

η HỆ THỐNG TRUYỀN SỐ η ĐIỀU MÃ XUNG

♦ Tín hiệu PCM ♦ Sơ đồ khối hệ thống PCM

♦ Băng thông ♦ Sai số lượng tử

♦ Tỉ số SNR ♦ Sự nén giãn

η ĐIỀU CHẾ VI PHÂN VÀ DELTA ♦ Điều chế Delta

♦ Điều chế vi phân η IC CODEC 2914

______________________________________________________________________________________________

9.1 Hệ thống truyền số

Hệ thống truyền số có thể truyền tín hiệu có nguồn gốc là tín hiệu số hoặc tương tự sau

khi đã được số hóa. - Tín hiệu tương tự (tiếng nói) sau khi được lấy mẫu bằng phương pháp PAM có thể

được đưa lên đường truyền để phát đi, nhưng một hệ thống truyền tín hiệu xung như vậy chưa phải là hệ thống truyền số vì tín hiệu ở ngã ra thiết bị phát là những xung có biên độ khác nhau. Để truyền được trên hệ thống truyền số, các xung PAM này phải được số hóa trước khi được đưa ra đường truyền. - Đường dây cáp truyền trực tiếp các mã nhị phân của hệ thống Bell có tên là T-carriers. - Riêng tín hiệu số từ các DTE muốn truyền trên T-carriers phải qua Modem để biến thành tín hiệu tương tự nằm trong dải tần âm thanh rồi lại được số hóa (dĩ nhiên có dạng khác với trước). - Trong trường hợp muốn truyền các tín hiệu số nói trên với khoảng cách xa, người ta có thể thực hiện đa hợp nhiều kênh rồi dùng phương pháp PSK để điều chế sóng mang siêu cao tần để đưa lên đường truyền vi ba.

(H 9.1) là sơ đồ một hệ thống truyền số như mô tả ở trên

Điều chế Giải đc

_____________________________________________________________________________________________________

Nguyễn Trung Lập Truyền dữ liệu

Page 327: tong quan ve tri tue nhan tao

_______________________________Chương 9 Truyền tín hiệu tương tự bằng sóng mang số IX - 2

PSK (vi ba) PSK ↑

DTE

⎯→ Modem

⎯→

Biến đổi

T-carriers ⎯⎯⎯→

Biến đổi

⎯→

Modem ⎯→

DTE

Điện thoại

(t.t.)⎯→

ADC

(số) DAC (t.t.)⎯→

Điện thoại

Hệ thống phát Hệ thống thu (H 9.1)

9.2 ĐIỀU MÃ XUNG (Pulse code Modulation, PCM)

PCM là một phương pháp biến đổi tín hiệu tương tự sang tín hiệu số thịnh hành nhất. Tín hiệu tương tự được giữ và lấy mẫu tại các thời điểm xác định (điều chế PAM) trước khi đưa vào mạch biến đổi tương tự - số (ADC) để biến đổi sang một số nhị phân có giá trị tương ứng với biên độ của tín hiệu tương tự tại thời điểm lấy mẫu.

Trước nhất cần nhắc lại một số tính chất của PAM:

- Tần số xung lấy mẫu fs ít nhất phải bằng hai lần tần số cao nhất của tín hiệu tương tự fm. Đây là điều kiện cần thiết để có thể phục hồi tín hiệu tương tự một cách chính xác ở máy thu. (H 9.2b) cho thấy trường hợp fs ≤ 2fm. đưa đến sự biến dạng tín hiệu tương tự, tín hiệu được tái tạo không có dạng của tín hiệu nguồn nữa. Đây là biến dạng aliasing. - Băng thông nhỏ nhất của kênh truyền PAM xấp xĩ tần số fs nên: BW ≈ 2fm.

(a) (b)

(H 9.2)

9.2.1 Tín hiệu PCM (H 9.3) cho thấy vị trí mạch biến đổi ADC (mã hóa PCM) và DAC (giải mã PCM) trong hệ thống truyền số.

(H 9.3)

_____________________________________________________________________________________________________

Nguyễn Trung Lập Truyền dữ liệu

Page 328: tong quan ve tri tue nhan tao

_______________________________Chương 9 Truyền tín hiệu tương tự bằng sóng mang số IX - 3

(H 9.4) là một ví dụ về dạng sóng của tín hiệu số dùng số nhị phân 5 bit để mã hóa một tín hiệu tương tự.

(H 9.4)

Trong (H 9.4) tín hiệu tương tự ở ngã vào biến đổi trong khoảng từ 0 đến 7,75V. Số bit dùng mã hóa là n = 5 nên số mức mã hóa tương ứng là 2n - 1 = 31. Như vậy một mức trong mã hóa tương ứng với 7,75/31 = 0,25 V. Với xung lấy mẫu có chu kỳ Ts ta được các mẫu xung có biên độ lần lượt là: 2,25V, 4,25V và 6,0V. Các số nhị phân tương ứng với các mẫu xung này là: 01001, 10001, 11000. Các số nhị phân này được biểu diễn bởi các mã b4 b3 b2 b1 b0 (b0 là LSB). Dĩ nhiên ở ngã ra là các mã nhị phân song song, các mã này có thể qua bộ biến đổi song song nối tiếp để truyền đi theo cách truyền nối tiếp.

9.2.2 Băng thông của kênh truyền PCM Trong PCM băng thông của kênh truyền tùy thuộc vào số bit n của tín hiệu số dùng mã hóa các xung PAM của tín hiệu tương tự.

_____________________________________________________________________________________________________

Nguyễn Trung Lập Truyền dữ liệu

Page 329: tong quan ve tri tue nhan tao

_______________________________Chương 9 Truyền tín hiệu tương tự bằng sóng mang số IX - 4

Nếu fs là tốc độ lấy mẫu, vận tốc truyền tín hiệu br ít nhất phải bằng n lần của fs: Tốc độ bit ms 2nfnfbr =≥ (bps)

Thời gian cho một bit T m2nf

1br1==

Tần số của tín hiệu lớn nhất khi có dạng sóng vuông 101010......Trong trường hợp này mỗi chu kỳ của tín hiệu nhận được hai bit nên tần số cơ bản lớn nhất của sóng vuông biểu diễn số nhị phân bằng phân nửa tốc độ bit : fmax=1/2T = br/2 Vậy băng thông nhỏ nhất để thỏa đường truyền này là: BW = br/2 = nfm Thí dụ: Xác định tần số xung lấy mẫu nhỏ nhất fs và băng thông tối thiểu BW để truyền tín hiệu tương tự có tần số 12 kHz bằng cách dùng số nhị phân 9 bit. (fs )min = 2fm = 24 kHz Tốc độ bit br = 2nfm = 2.9.12 = 216 kbps Băng thông nhỏ nhất (BW)min = br/2 = 216/2 = 108 kHz Qua thí dụ ta thấy để truyền tín hiệu tương tự 12 kHz băng thông cần là 108 kHz, khá lớn so với tần số tín hiệu cần truyền. Đây là một khuyết điểm cần được khắc phục của phương pháp PCM.

9.2.3 Sai số (nhiễu) lượng tử (Quantizing error, noise) Phần trên cho thấy dùng một số n bít để mã hóa tín hiệu tương tự thì được 2n mẫu biên độ của tín hiệu (nhưng chỉ có 2n -1 mức), khi n lớn thì số mẫu càng nhiều, khoảng cách 2 mức liên tiếp nhỏ lại. Tuy nhiên ta không thể nào chọn n = ∞ để khoảng cách này triệt tiêu, thậm chí cũng không được chọn n quá lớn để giảm khoảng cách mức vì sẽ đưa tới băng thông của kênh truyền rất lớn, làm giảm số kênh truyền và ảnh hưởng rất nhiều đến những đặc tính khác của hệ thống mà hậu quả là giá thành sẽ lên rất cao. Nói cách khác n phải có giới hạn và sai số trong việc mã hóa là không thể tránh khỏi, ta gọi sai số này là sai số lượng tử, nếu gọi e là khoảng cách mức (hay khoảng cách lấy mẫu) thì sai số lượng tử lớn nhất là ± e/2. Có thể nói hệ thống PCM có tính miễn nhiễu rất tốt nhưng nhiễu lượng tử thì đương nhiên hiện hữu nên khi nghiên cứu các hệ thống này ta không thể bỏ qua tác dụng của nó. Do tín hiệu tương tự trong nhiều trường hợp là loại lưỡng cực nên khi thực hiện mã hóa người ta dùng các số nhị phân với bit MSB là bit dấu (H 9.5.a) cho thấy sự tương quan giữa điện áp lấy mẫu va và mã nhị phân n bit tương ứng, giả sử va giới hạn trong khoảng -Vm đến +Vm . Gọi Vp là điện áp đỉnh-đỉnh: Vp=2Vm (H 9.5.b) là một ví dụ cụ thể với Vm = 5,1 V và n = 8

Khoảng cách 2 mức điện áp là : e 0,04V25510,2

12V8

p ==−

=

Sai số lượng tử tương ứng là ± e/2 = ± 0,02 V

_____________________________________________________________________________________________________

Nguyễn Trung Lập Truyền dữ liệu

Page 330: tong quan ve tri tue nhan tao

_______________________________Chương 9 Truyền tín hiệu tương tự bằng sóng mang số IX - 5

(H 9.5)

Lưu ý là trị 0 của tín hiệu nhận 2 mã có dấu + (80) và - (00), nhưng khoảng cách mức vẫn không đổi (0,04V).

a-/ Sai số tương đối trong lượng tử hóa

Gọi q là sai số tương đối của tín hiệu trong lượng tử hóa :

q a

nm

a v1)(2V

v2e

−==

Với va là điện áp của tín hiệu tương tự cần lấy mẫu. Tính q theo phần trăm %

%q a

nm

v1)(2100V−

=

Ta thấy phần trăm sai số tương đối tăng lên khi va nhỏ, điều này được minh họa ở (H 9.6)

(H 9.6)

b-/ Xác định n theo %q

Từ biểu thức trên, với một giá trị %q định trước người ta có thể chọn n tối thiểu cần thiết để thỏa mãn yêu cầu về sai số.

log2

1])v/q)(Vlog[(100/%n am +=

n = 3,32 log(100/%q)(Vm / va) +1 _____________________________________________________________________________________________________

Nguyễn Trung Lập Truyền dữ liệu

Page 331: tong quan ve tri tue nhan tao

_______________________________Chương 9 Truyền tín hiệu tương tự bằng sóng mang số IX - 6

Ví dụ Tính giá trị n cần thiết để %q ≤ 10% khi va = 5% trị cực đại Vm

n ≥ 3,32 log (100/10)(1/0,05) + 1 = 7,65 Ta chọn n = 8

9.2.4 Tỉ số tín hiệu nhiễu SNR Tín hiệu trước khi lấy mẫu là tín hiệu tương tự, xác định bởi trị hiệu dụng (RMS), như vậy để xác định được tỉ số SNR trước nhất ta hãy tính trị hiệu dụng của sai số lượng tử (tức eRMS của nhiễu). Xét trường hợp đơn giản tín hiệu tương tự là một đường thẳng, tín hiệu lấy mẫu (cũng là tín hiệu ra ở máy thu) có dạng nấc thang và do đó dạng sóng của thành phần sai số là tín hiệu răng cưa (H 9.7b)

(a) (H 9.7) (b) Trong khoảng (-T/2,T/2) thành phần sai số lượng tử có dạng đường thẳng qua gốc tọa

độ với độ dốc 1)T(2

Vn

p

−− nên phương trình của sai số là:

t1)T(2

Ve(t) n

p

−−=

và trị hiệu dụng của sai số là :

eRMS = dtt]1)T(2

V[-

T1 2

T/2

T/2n

p∫

− −

eRMS = 12

V

121

np

Thí dụ : Nếu dùng số nhị phân n = 5 bít để mã hóa tín hiệu biên độ đỉnh-đỉnh là Vp = 5V. Xác định trị hiệu dụng của nhiễu eRMS và SNR trong hai trường hợp va = 2,5V và va = 1V - Với va = 2,5V

eRMS = 0,0451V12

1125

12Vp

121

5n =−

=−

SNR = 2,5/0,0451 = 55,4 = 34,3 dB - Với va = 1V

ta được SNR = 22,17 hay 26,9 dB. Như vậy, tỉ số SNR càng nhỏ khi giá trị của tín hiệu càng nhỏ.

_____________________________________________________________________________________________________

Nguyễn Trung Lập Truyền dữ liệu

Page 332: tong quan ve tri tue nhan tao

_______________________________Chương 9 Truyền tín hiệu tương tự bằng sóng mang số IX - 7

9.2.5 Sự nén - giãn (Compressing & Expanding, vt Companding)

Việc mã hóa mà ta bàn ở trên dựa trên cơ sở quan hệ giữa điện áp và giá trị mã hóa là quan hệ đường thẳng trong đó sự gia tăng các mức là không đổi, ta gọi hình thức mã hóa này là PCM tuyến tính. Điểm bất lợi của phương pháp này là sai số như nhau với mọi điện áp tín hiệu nên kết quả là với các tín hiệu có biên độ nhỏ thì SNR cũng nhỏ, nói cách khác nhiễu lượng tử trở nên rất đáng kể khi tín hiệu có giá trị nhỏ. Để khắc phục khuyết điểm này, người ta dùng phương pháp mã hóa theo đường cong, cụ thể là dạng logarit, ta gọi là PCM logarit, trong cách mã hóa này tín hiệu có giá trị (tuyệt đối) nhỏ được mã hóa với khoảng cách mức nhỏ hơn và tín hiệu có giá trị càng lớn được mã hóa với khoảng cách mức càng lớn hơn, đường cong mã hóa có độ dốc cao ở phần đầu và bị nén lại ở phần cuối. Đây là một quá trình nén ở máy phát và dĩ nhiên một quá trình ngược lại được thực hiện ở máy thu để phục hồi tín hiệu, gọi là quá trình giãn. Kết quả của sự nén này cho tỉ số SNR như nhau với mọi tín hiệu vào. Có hai luật nén khác nhau áp dụng ở hai vùng lục địa :

- Luật µ-255 , sử dụng rộng rãi ở Bắc Mỹ, mối quan hệ điện áp vào Vin và mã (điện áp ra Vout) có dạng :

V V Vout

in= ++

max max.log( V/ )log( )

11µµ

Trong đó µ = 2n - 1 ; với n = 8 ta được µ = 255. (H 9.8.a) cho đường cong mã hóa theo luật µ-255 (vẽ theo trị chuẩn hóa của Vin và Vout)

(a) luật µ-255

_____________________________________________________________________________________________________

Nguyễn Trung Lập Truyền dữ liệu

Page 333: tong quan ve tri tue nhan tao

_______________________________Chương 9 Truyền tín hiệu tương tự bằng sóng mang số IX - 8

(b) luật A-87,6 (H 9.8)

- Luật A-87,6 được sử dụng rộng rãi ở Âu châu, mối quan hệ giữa điện áp và mã có dạng :

- Khi Vin > 1/A VA V

Aout

in=

++

11log

log

- Khi 0<Vin < 1/A Vout = A V

Ain

1+ log

Với A = 87,6 Có một số điểm giống và khác nhau giữa hai luật nói trên mà ta cần lưu ý: - Trong cả hai luật các bít đầu tiên của mã số đều là bít dấu và có 2 mã cho trị 0. - Trong luật µ-255 , trừ bit dấu, các bit mã bị đảo trước khi đưa ra đường truyền, điều này đưa đến kết quả là trong từ mã chứa số bit 1 nhiều hơn (do biên độ tín hiệu nằm trong vùng giá trị thấp thường xảy ra hơn), thuận tiện cho việc tạo đồng bộ. Đặc tuyến truyền qua điểm gốc theo phương nằm ngang, điều này khiến cho hệ thống tránh được nhiễu kênh trống, tức nhiễu xuất hiện ngay khi không có tín hiệu. - Trong luật A-87,6, 3 bit ngay sau bít dấu chỉ số của đoạn thẳng mà giá trị điện áp rơi vào (mức của điện áp), 4 bít cuối chỉ vị trí cụ thể của điện áp trên đoạn đó. Đặc tuyến truyền đi qua điểm gốc theo phương thẳng đứng, điều này đưa đến kết quả là có nhiễu kênh trống.

9.2.6 Lụât µ-255 trong thực tế

Trong thưc tế, việc mã hóa theo luật nén µ-255 được thực hiện như sau: Đầu tiên, mỗi tín hiệu được lấy mẫu và mã hóa bởi số nhị phân 12 bit để có đươc độ phân giải cao. Thay vì truyền đi 12 bit này, người ta nén xuống còn 8 bit. Dĩ nhiên trong sự nén này không thể không tạo ra sai số và sai số càng ít đối với tín hiệu càng nhỏ thì yêu cầu xem như đã đạt được. Trong khi nén từ 12 xuống 8 bit thì bit dấu (MSB) không thay đổi, 11 bit còn lại được chia thành 8 đoạn, mỗi đoạn được biểu diễn bởi một số 3 bit (gọi là mã đoạn) và xác định bằng cách lấy 7 trừ cho số số 0 đầu tiên của mã 11 bit Thí dụ: mã 12 bit là s00001101010 mã đoạn là 7 - 4 = 3 = 011 Bit 1 đầu tiên sau các bit 0 sẽ không được phát đi, 4 bit theo sau ngay bit 1 này được phát đi trọn vẹn và đó là các bit cuối cùng của mã 8 bit, tất cả các bit còn lại sẽ bị bỏ đi. Ở máy thu khi nhận được mã 8 bit, việc đầu tiên là phục hồi lại mã 12 bit trước khi giải mã Thí dụ: mã 8 bit nhận được là s011 1010 lấy 7 - 3 = 4, vậy sau bit dấu là 4 bit 0, tiếp theo là bit 1 và 4 bit nguyên mẫu mã 12 bit sẽ là s0000 1 1010 xx Trong trường hơp này máy thu không có thông tin nào về 2 bit cuối cùng (thay đổi từ 00 đến 11). Để bảo đảm sai số là nhỏ nhất, ở máy thu người ta thay thế 2 bit này bởi 2 bit 10, như vậy trong thí dụ trên mã 12 bit phục hồi ở máy thu sẽ là s00001101010. Nguyên tắc này cũng được sử dụng cho trường hợp số bit bị mất thông tin nhiều hơn 2, nghĩa là các bit thay thế luôn luôn gồm một bit 1 và các bit 0 theo sau sao cho đủ 12 bit.

Sai số tuyệt đối do sự nén tùy thuộc mã của đoạn được phát đi. Đoạn tương ứng với giá trị cao của tín hiệu có sai số tuyệt đối càng lớn. Bảng 9.1 cho thấy mã 12 bit ban đầu, mã 8 bit tương ứng và mã 12 bit phục hồi cùng các đoạn tương ứng. Bảng 9.1

_____________________________________________________________________________________________________

Nguyễn Trung Lập Truyền dữ liệu

Page 334: tong quan ve tri tue nhan tao

_______________________________Chương 9 Truyền tín hiệu tương tự bằng sóng mang số IX - 9

đoạn mã 12 bit ban đầu mã 8 bit nén mã 12 bit phục hồi 0 1 2 3 4 5 6 7

s0000000abcd s0000001abcd s000001abcdx s00001abcdxx s0001abcdxxx s001abcdxxxx s01abcdxxxxx s1abcdxxxxxx

s000abcd s001abcd s010abcd s011abcd s100abcd s101abcd s110abcd s111abcd

s0000000abcd s0000001abcd s000001abcd1 s00001abcd10 s0001abcd100 s001abcd1000 s01abcd10000 s1abcd100000

Trong bảng 9.1 abcd là các bit đươc giữ nguyên để phát đi , các bit x là các bit mất đi trong quá trình nén (đoạn 0 được thực hiện một cách ngoại lệ). Lưu ý là đoạn 0 và 1 được phục hồi không có sai số trong khi đoạn 7 chỉ có 6 bit MSB là được phục hồi chính xác. Bỏ qua bit dấu 11 bit còn lại tạo ra 211 = 2048 tổ hợp. Hai đoạn 0 và 1 mỗi đoạn ứng với 16 tổ hợp khác nhau tùy thuộc giá trị cụ thể của a,b,c,d. Ở đoạn 2, 5 bít cuối abcd và x cho 32 tổ hợp khác nhau, tuy nhiên trong quá trình nén 32 tổ hợp này chỉ cho 16 mức tương ứng, diễn tả bởi abcd và 1, ta nói 32 mức đã được nén thành 16. Tương tự, đoạn 3 đã nén 64 mức xuống còn 16,... và đoạn 7 đã nén 1024 mức xuống còn 16 mức. giản đồ nén theo phương pháp trên được minh họa ở (H 9.9), giản đồ này rất gần với giản đồ lý thuyết của luật µ-255. Kết quả của phương pháp nén cho thấy các tín hiệu nhỏ (trường hợp thưòng xảy ra) có thể được mã hóa bởi một chuỗi liên tục các số 0, điều này khiến cho sự đồng bộ ở máy thu gặp khó khăn, vì lý do này mà người ta đã đảo các bit, trừ bit dấu, trước khi phát đi, như đã thấy trên giản đồ (lý thuyết) của luật µ-255.

(H 9.9) Qua phương pháp nén thực tế ta thấy sai số gia tăng theo độ lớn của tín hiệu nhưng phần trăm sai số thì như nhau cho các đoạn. Công thức dưới đây được dùng để tính phần trăm sai số: [ mức phát - mức thu ] %sai số = --------------------------------100 mức thu Phần trăm sai số cực đại ứng với các số nhỏ nhất trong một đoạn. Thí dụ Đối với đoạn 3: Phát s00001000000 Thu s00001000010

_____________________________________________________________________________________________________

Nguyễn Trung Lập Truyền dữ liệu

Page 335: tong quan ve tri tue nhan tao

_______________________________Chương 9 Truyền tín hiệu tương tự bằng sóng mang số IX - 10

% sai số = 10066

664*

6− = 3,03%

Đối với đoạn 7: Phát s10000000000 Thu s10000100000

% sai số = 1001056

10561024*

− = 3,03%

9.3 ĐIỀU CHẾ VI PHÂN VÀ DELTA

Trong truyền thông để có hiệu quả cao đôi khi người ta chỉ truyền đi thông tin đặc trưng cho sự thay đổi của tín hiệu thay vì bản thân tín hiệu đó. Ở máy thu sẽ dựa vào sự thay đổi này để khôi phục lại tín hiệu ban đầu. Đây là cơ sở của phương pháp điều chế vi phân và Delta. Phương pháp này chứng tỏ có hiệu quả thực sự cao khi tín hiệu truyền có ít sự thay đổi, ví dụ tín hiệu Video là loại tín hiệu chứa nhiều thông tin lặp lại. Thực tế cho thấy dùng điều chế Delta cho tín hiệu âm thanh đã giảm được tốc độ bít đến 50%. Các yêu cầu về đồng bộ giữa thiết bị thu và phát trong điều chế Delta ít hơn ở PCM, nhưng việc ghép kênh khó khăn hơn do băng thông của điều chế Delta khá rộng.

9.3.1 Điều chế Delta Việc truyền sự thay đổi của tín hiệu có thể thực hiện đơn giản bằng cách so sánh biên độ tín hiệu mới lấy mẫu với biên độ của tín hiệu trước đó, phát kết quả so sánh, gọi là tín hiệu vi phân (gồm các bit 1 hoặc 0) tới nơi thu. Bộ giải mã thu nhận sự thay đổi này và có thể cộng liên tiếp các tín hiệu vi phân (tức là lấy tích phân) để phục hồi tín hiệu đã phát. (H 9.10) minh họa một hệ thống điều chế Delta.

- Máy phát : Một OPAMP so sánh hai tín hiệu vào S(t), là tín hiệu cần truyền và S'(t), là tín hiệu trễ, để tạo ra tín hiệu vi phân , tín hiệu này sau khi được làm trễ một chu kỳ đồng hồ bởi một FFD, ta được tín hiệu e(t), đây là tín hiệu truyền tới nơi thu. e(t) có giá trị dương khi S(t) > S'(t) và âm khi ngược lại.

- Máy thu : Tín hiệu e(t) nhận được sẽ qua một mạch tích phân để phục hồi S(t). (H 8.9.b) chỉ dạng các tín hiệu.

(a) (b) (H 9.10)

_____________________________________________________________________________________________________

Nguyễn Trung Lập Truyền dữ liệu

Page 336: tong quan ve tri tue nhan tao

_______________________________Chương 9 Truyền tín hiệu tương tự bằng sóng mang số IX - 11

9.3.1.1 Nhiễu lượng tử

Quan sát dạng sóng (H 9.10b) ta thấy khi tín hiệu vào S(t) không đổi, tín hiệu S'(t) có giá trị thay đổi trên hoặc dưới S(t) và e(t) dao động giữa mức dương và âm. Sự sai biệt này giữa hai tín hiêụ là nhiễu lượng tử. Thành phần nhiễu này có thể giảm bớt nếu ta giảm chiều dài bước h (step size) và thu nhỏ chu kỳ xung đồng hồ Ts. Tuy nhiên điều này sẽ ảnh hưởng đến băng thông của tín hiệu.

9.3.1.2 Quá tải độ dốc (Slope - overload)

Nếu tín hiệu vào S(t) ở máy phát biến đổi quá nhanh, S’(t) không theo kịp sự biến đổi này và việc mã hóa không còn đúng, kết quả là tín hiệu phục hồi ở máy thu bị biến dạng. Ta gọi đây là biến dạng do quá tải độ dốc (đoạn cuối (H 9.10b)). Độ dốc của tín hiệu ra từ mạch tích phân là h/Ts. Thành phần tần số cao nhất của tín hiệu vào phải được giới hạn để độ dốc cực đại của tín hiệu không vượt quá giá trị này, đó là điều kiện để tránh quá tải độ dốc.

Lấy ví dụ tín hiệu vào là sóng sin : S(t) = Vm sin(2πfint) Độ dốc của S(t) là đạo hàm dS(t)/dt : dS t

dt( ) = 2 π Vmfin cos(2πfint)

Độ dốc cực đại khi t = 0 và bằng

maxdt

dS(t) = 2π Vmfin

Để tránh quá tải độ dốc, phải có : 2π Vmfin ≤ hfs

Hay fin ≤ m

s

2hfπV

9.3.1.3 Băng thông

Từ (H 9.10b) ta thấy tần số lớn nhất của tín hiệu e(t) trên đường truyền là fs/2 do đó băng thông tối thiểu của đường truyền là

BW ≈ 2fs ≥ in

m fhVπ

Biểu thức cho ta xác định băng thông tối thiểu của hệ thống để tránh được biến dạng do quá tải độ dốc. Giá trị băng thông tùy thuộc Vm/h. Như nói trên để giảm nhiễu ta có thể giảm h, nhưng như vậy băng thông sẽ lớn. Thí dụ lấy giá trị cụ thể của h là 5% Vm thì Vm/h = 20 và BW = 63 fin . Kết quả cho ta thấy băng thông của đường truyền lớn như thế nào. Để phát sóng sin 12 kHz dùng PCM 9 bít cần băng thông 108 kHz. Ta thử tính băng thông trong trường hợp dùng điều chế Delta. 9 bít PCM cung cấp một bước điện áp giữa các mã kề nhau là 2Vm /511. Nếu chọn h bằng giá trị này ta tính được :

BW ≥ inm f

hVπ = π ( 511/2) 12 kHz = 9,65 MHz

fs = 2BW = 19,3 MHz

_____________________________________________________________________________________________________

Nguyễn Trung Lập Truyền dữ liệu

Page 337: tong quan ve tri tue nhan tao

_______________________________Chương 9 Truyền tín hiệu tương tự bằng sóng mang số IX - 12

9.3.1.4 Điều chế Delta có độ dốc biến đổi

Để tránh hiện tượng quá tải độ dốc, ngưới ta dùng cách điều chế Delta có độ dốc biến đổi (Variable Slope Delta Modulation, VSDM) . Trong VSDM độ dốc của tín hiệu ở ngã ra mạch tích phân S'(t) thay đổi theo độ dốc của tín hiệu vào, như vậy sẽ tránh được biến dạng khi tín hiệu vào thay đổi quá nhanh. Nguyên lý của điều chế VSDM là dùng sự biến đổi của độ dốc của tín hiệu vào để điều khiển hệ số của mạch tích phân, nếu độ dốc của tín hiệu vào tiếp tục tăng hay giảm, hệ số của mạch tích phân tăng hay giảm theo để làm thay đổi chiều dài bước của xung lấy mẫu, chiều dài bước sẽ lớn khi tín hiệu vào biến đổi nhanh và nhỏ khi sự biến đổi này chậm. (H 9.11) mô tả một hệ thống thu phát dùng kỹ thuật VSDM. - Máy phát : Tín hiệu ở ngã ra OPAMP được đưa vào một bộ ghi dịch 3 bit, gồm 3 FFD, các tín hiệu ra ở các FF này lần lượt là e(t), e(t + Ts) và e(t + 2Ts) và các đảo của nó được đưa vào bộ phát hiện trùng lặp gồm các cổng AND và OR. Tín hiệu ở ngã ra bộ trùng lặp được dùng để điều khiển độ lợi một mạch khuếch đại và độ lợi này làm thay đổi hệ số của mạch tích phân. Cơ chế của sự điều khiển này như sau: Khi độ dốc của tín hiệu vào tiếp tục gia tăng (hoặc tiếp tục giảm) ở ngã ra các FFD xuất hiện các bít 1 hoặc 0, lúc đó bộ trùng lặp nhận đồng thời 3 bit 1 hoặc 3 bit 0, khiến ngã ra của nó lên 1, tín hiệu này được đưa vào một mạch so sánh với một điện áp chuẩn để tạo tín hiệu điều khiển mạch khuếch đại. - Máy thu : ở máy thu sự vận chuyển cũng tương tự như thế.

(a) Hệ thống phát (b) Hệ thống thu (H 9.11) (H 9.12) minh họa một dạng sóng của tín hiệu hình sin ở ngã vào , tín hiệu vi phân e(t) và tín hiệu tương ứng ở ngã ra bộ tích phân.

(H 9.12)

_____________________________________________________________________________________________________

Nguyễn Trung Lập Truyền dữ liệu

Page 338: tong quan ve tri tue nhan tao

_______________________________Chương 9 Truyền tín hiệu tương tự bằng sóng mang số IX - 13

Trên thị trường IC điều chế và giải điều chế biến đổi độ dốc liên tục (Continuously Variable Slope Delta, CVSD ) MC 3417 của hảng MOTOROLA có cấu tạo như sơ đồ (H 9.11) được sử dụng rộng rãi trong điện thoại. (H 9.13) là sơ đồ chức năng của IC MC 3417.

(H 9.13)

9.3.2 Điều chế PCM vi phân ( Differential PCM, DPCM) Điều mã xung vi phân DPCM là sự kết hợp hai phương pháp : điều chế Delta và điều mã xung. Tín hiệu vi phân e(t), có từ điều chế Delta, được phát đi theo cách điều mã xung nghĩa là sẽ được mã hóa với 2m mức, trong đó m là số bit của tín hiệu. Với cách điều chế này số bit cần thiết cho việc mã hóa sẽ giảm đi rất nhiều nếu tín hiệu vào ít thay đổi, điều này dẫn đến băng thông của kênh truyền sẽ giảm đáng kể, tuy nhiên sự quá tải độ dốc vẫn là một vấn đề nghiêm trọng cần phải được quan tâm.

9.4 2914 COMBO chip

Để phục vụ cho việc phát tín hiệu số, các IC CODEC đã ra đời. Có thể kể ra dưới đây một số IC đã có mặt trên thị trường: - 2910A và 2911A là các IC mã hóa và giải mã (Codec), khi sử dụng kết hợp với IC

làm chức năng lọc 2912A. - 2913 (20 chân) và 2914 (24 chân) là các IC vừa thực hiện mã hóa, giải mã và cả chức

năng lọc trong một chip, được gọi là combo chip. - 2916 và 2917 là thế hệ sau, có cùng chức năng như 2913 và 2914 nhưng có it chân

hơn (16 chân). Sau đây, chúng ta sẽ khảo sát một IC tiêu biểu: 2914.

_____________________________________________________________________________________________________

Nguyễn Trung Lập Truyền dữ liệu

Page 339: tong quan ve tri tue nhan tao

_______________________________Chương 9 Truyền tín hiệu tương tự bằng sóng mang số IX - 14

9.4.1 Vận hành tổng quát Các chức năng chính của 2914:

- Lọc dải thông tín hiệu tương tự trước khi mã hóa và sau khi giải mã. - Mã hóa và giải mã tín hiệu âm thanh và tín hiệu của các cuộc gọi - Mã hóa và giải mã các thông tin báo hiệu và giám sát. - Thực hiện việc nén - giãn. (H 9.14 ) là sơ đồ khối của 2914

(H 9.14)

Bảng 9.2 VÀ 9.3 tóm tắt chức năng của các chân :

Bảng 9.2 Ký hiệu Tên Ký hiệu Tên

VBB PWRO+,PWRO- GSR PDN CLKSEL LOOP SIGR DCLKR DR ↓ FSR GRDD VCC

Power (-5V) Power Amplifier Output Receive Gain control Power-down select Master clock freq. select Analog loopback Receive signaling bit output Receive variable data rate Receive PCM highway input Receive frame synch. Clock Digital Ground Power (+5V)

CLKR CLKX FSX DX ↑ TSX /DCLKX SIGX/ASEL GRDA VFXI+ VFXI- GSX

Receive master clock Transmit master clock Transmit frame synch. Clock Transmit PCM output Timeslot strobe/ Buffer enable Transmit variable data rate Transmit signaling bit input µ- or A-law select Analog ground Noninverting analog input Inverting analog input Transmit gain control

Bảng 9.3

_____________________________________________________________________________________________________

Nguyễn Trung Lập Truyền dữ liệu

Page 340: tong quan ve tri tue nhan tao

_______________________________Chương 9 Truyền tín hiệu tương tự bằng sóng mang số IX - 15

Ký hiêu Chức năng VBB PWRO+ PWRO- GSR PDN CLKSEL LOOP SIGR DCLKR DR FSR GRDD CLKR CLKX FSX DX TSX /DCLKX SIGX/ASEL GRDA VFXI+ VFXI- GSX VCC

Nguồn -5V ±5% Ngã ra không đảo của mạch khuếch đại CS thu. Có thể thúc biến áp hỗn hợp hoặc trực tiếp cho tải có tổng trở cao (đơn hay vi sai) Ngã ra đảo của mạch khuếch đại CS thu. Chức năng giống và bổ túc cho PWRO+ Ngã vào dùng điều chỉnh độ lợi mạch CS thu. Mức tín hiệu phát có thể được điều chỉnh trên dải rộng 12 dB tùy vào điện thế ở chân GSR Chọn giảm thế nguồn. Mức cao: 2914 ở trạng thái tác động- Mức thấp: Giảm thế nguồn Chọn tần số xung đồng hồ thu phát chính: CLKSEL = VBB . . . . . . . 2,048 MHz CLKSEL = GRDD . . . . .1,544 MHz CLKSEL = VCC . . . . . . . 1,536 MHz Vòng tương tự. Mức TTL cao: PWRO+ nối (bên trong) VFXI+, GSR nối với PWRO-, và VFXI- với GSX. Một tín hiệu số 0 dBm ở ngã vào DR sẽ cho ra t.h. số +3dBm ở DX Bit báo hiệu ra từ máy thu. Ở chế độ vận tốc cố định, SIGR xuất trạng thái logic của bit thứ 8 (LSB) của từ mã PCM của khung báo hiệu mới nhất. Chọn chế độ vận tốc cố định hay vận tốc thay đổi để hoạt động: DCLKR = VBB: Chế độ vận tốc cố định DCLKR không nối với VBB : Chế độ vận tốc thay đổi, chân này là ngã vào của xung đồng hồ từ 64 KHz tới 2.048MHz (mức TTL). Ngã vào PCM. Dữ liệu nhận vào từ chân này ứng với cạnh xuống của 8 xung đồng hồ liên tiếp. CLKR ở chế độ vt cố định và DCLKR ở chế độ vt thay đổi Ngã vào xung đồng bộ khung, 8 KHz/ Chốt khe thời gian, phần thu. Trong chế độ vận tốc cố định chân này xác định khung loại báo hiệu hay không. Trong chế độ vận tốc thay đổi, chân này phải được giữ ở mức cao trong suốt thời gian của từ mã PCM (8 bit). Phần thu sẽ đi vào chế độ chờ khi chân này ở mức thấp trong khoảng thời gian 300ms Mass số cho tất cả mạch logic bên trong. Không nối với GRDA Xung đồng hồ thu chính và vận tốc bit ở chế độ vt cố định; là xung đồng hồ thu chính ở chế độ vận tốc thay đổi Xung đồng hồ phát chính và vận tốc bit ở chế độ vận tốc cố định; là xung đồng hồ phát chính ở chế độ vận tốc thay đổi Ngã vào xung đồng bộ khung, 8 KHz/ Chốt khe thời gian, phần phát. Hoạt động độc lập nhưng theo một cách giống như FSR Ngã ra PCM. Dữ liệu xuất ra từ chân này ứng với cạnh lên của 8 xung đồng hồ liên tiếp. CLKX ở chế độ vận tốc cố định và DCLKX ở chế độ vận tốc thay đổi Ngã ra: chốt khe thời gian phần phát. Ngã vào: đồng hồ vận tốc bit phần phát. Ở chế độ vận tốc cố định, là ngã vào điều khiển đệm 3 trạng thái. Ở chế độ vận tốc thay đổi, là ngã vào xung đồng hồ mức TTL cho phép IC hoạt động với vận tốc bit từ 64 Kbps tới 2048 Kbps Chân có 2 chức năng. Khi nối với VBB, cho phép chọn luật nén A-87,6. Khi không nối với VBB chân này là ngã vào cho bit báo hiệu có mức TTL. Tín hiệu này thay thế cho bit LSB của từ mã của các khung báo hiệu. Mass chung cho các mạch tương tự Ngã vào không đảo của tín hiệu tương tự Ngã vào đảo của tín hiệu tương tự Ngã vào tín hiệu âm thanh của mạch lọc phát. Nhận tín hiệu từ ngã ra mạch OPAMP khuếch đại đầu vào. Nguồn +5V ±5%

9.4.2 Độ tin cậy của IC Khi tất cả mạch đồng hồ và nguồn đều được nối vào, Combo chip 2914 được cấp

nguồn bằng cách cung cấp xung cho ngã vào đồng bộ khung phát (FSX) và/hoặc ngã vào đồng bộ khung thu (FSR), đồng thời áp vào chân Power Down Select (PDN ) mức TTL cao. 2914 có một reset nội khi được cấp nguồn (khi có sự gián đoạn và VBB hoặc VCC được nối trở lại). Điều này bảo đảm tín hiệu số ra có hiệu lực và do đó duy trì sự hội nhập xa lộ PCM của IC. Ở phần phát, ngã ra dữ liệu PCM (DX) và Transmit Timeslot Strobe (TSX ) được giữ ở trạng thái tổng trở cao trong khoảng thời gian của 4 khung (500µs) sau khi được cấp nguồn. Sau thời gian trể này Combo chip đi vào chế độ vận hành, các tín hiệu DX, TSX , và tín hiệu

_____________________________________________________________________________________________________

Nguyễn Trung Lập Truyền dữ liệu

Page 341: tong quan ve tri tue nhan tao

_______________________________Chương 9 Truyền tín hiệu tương tự bằng sóng mang số IX - 16

báo (signaling) được định vị ở các khe thời gian riêng. Nhờ mạch auto-zeroing ở phần phát mạch tương tự cần khoảng 60ms để đạt trạng thái cân bằng. Như vậy, những thông tin báo hiệu như on/off hook gần như có hiệu lực tức thời trong khi tín hiệu tương tự sẽ chỉ có hiệu lực sau 60ms. Ở phần thu, chân Signaling Bit Output (SIGR) cũng được giữ ở mức thấp (inactive) khoảng 500µs sau khi cấp nguồn và giữ trạng thái không tác động này cho đến lúc được cập nhật bởi việc nhận khung báo hiệu (signaling frame) Để tăng độ tin cậy của hệ thống, chân TSX và DX được đưa lên trạng thái tổng trở cao và chân SIGR giữ mức thấp khoảng 30µs sau một sự gián đoạn của xung đồng hồ chính (CLKX). Sự gián đoạn có thể do điều kiện lỗi nào đó.

9.4.3 Chế độ giảm nguồn và chờ Để tiết kiệm năng lượng tiêu thụ xuống tới mức tối thiểu (5 mW), hai chế độ giảm nguồn được áp dụng cho 2914, trong đó hầu hết các chức năng của nó đều không được phép. Ở chế độ này chỉ các mạch đồng hồ và đệm đồng bộ khung là được cấp nguồn (ở điều kiện Enable). Chế độ giảm nguồn được thực hiện bằng cách đặt mức TTL thấp vào chân PDN . Chế độ chờ được thực hiện cho phần phát và thu một cách riêng rẽ bằng cách đưa chân FSX hay FSR xuống thấp trong khoảng thời gian 300ms. Khi cả phần thu và phát đều ở chế độ chờ thì công suất tiêu thụ khoảng 12 mW.

9.4.4 Chế độ vận tốc cố định Chế độ vận tốc cố định xảy ra khi nối DCLKR với VBB, lúc này, các mạch đồng hồ thu phát chính thực hiện các chức năng:

- Cung cấp xung đồng hồ chính cho mạch lọc. - Cung cấp xung đồng hồ chính cho mạch đổi tương tự - số và ngược lại. - Xác định vận tốc bit vào ra giữa codec và xa lộ PCM.

Trong chế độ vận tốc cố định, vận tốc bit thu phát bằng với tần số xung đồng hồ và có một trong các giá trị 1,536, 1,544, hay 2,048 Mbps. Xung đồng bộ thu phát (FSX và FSR) là 8 KHz dùng xác định tần số lấy mẫu và độ rộng của nó cho phép phân biệt khung có tín hiệu báo và khung không tín hiệu báo, xung có độ rộng 1 bit dùng cho các khung không có tín hiệu báo và xung có độ rộng 2 bit dùng cho các khung có tín hiệu báo. Ngã ra timeslot strobe buffer enable TSX được dùng để đưa từ mã PCM lên xa lộ PCM khi một mạch đệm bên ngoài được dùng để thúc đường này. TSX cũng được dùng như một xung cổng bên ngoài cho mạch đa hợp thời gian (H 9.15). Dữ liệu phát ra trên xa lộ PCM từ ngã ra DX ứng với 8 cạnh lên (↑) đầu tiên của xung đồng hồ CLKX theo sau cạnh lên của FSX.

_____________________________________________________________________________________________________

Nguyễn Trung Lập Truyền dữ liệu

Page 342: tong quan ve tri tue nhan tao

_______________________________Chương 9 Truyền tín hiệu tương tự bằng sóng mang số IX - 17

_____________________________________________________________________________________________________

Nguyễn Trung Lập Truyền dữ liệu

Page 343: tong quan ve tri tue nhan tao

_______________________________Chương 9 Truyền tín hiệu tương tự bằng sóng mang số IX - 18

(H 9.15)

(H 9.15)

_____________________________________________________________________________________________________

Nguyễn Trung Lập Truyền dữ liệu

Page 344: tong quan ve tri tue nhan tao

_______________________________Chương 9 Truyền tín hiệu tương tự bằng sóng mang số IX - 19

(H 9.16)

_____________________________________________________________________________________________________

Nguyễn Trung Lập Truyền dữ liệu

Page 345: tong quan ve tri tue nhan tao

_______________________________Chương 9 Truyền tín hiệu tương tự bằng sóng mang số IX - 20

(H 9.16) Tương tự, ở phần thu, dữ liệu được thu từ xa lộ PCM vào ngã DR ứng với 8 cạnh xuống đầu tiên của xung đồng hồ CLKR. Các xung đồng hồ CLKX và CLKR được chọn bởi chân CLKSEL và có thể có các giá trị 1,536; 1,544 hay 2,048 MHz. Khi sử dụng nhiều kênh (mỗi IC sử dụng cho một kênh), tín hiệu FSX và FSR phải thực hiện sự đồng bộ giữa các IC và hệ thống để bảo đảm rằng chỉ có một IC đang phát hay thu ở một thời điểm. (H 9.15) là sơ đồ khối và giản đồ thời gian cho hệ thống gồm có một kênh PCM dùng 2914 ở chế độ vận tốc cố định và hoạt động với tần số đồng hồ chính là 1,536 MHz. Trong chế độ này, dữ liệu được truyền dưới dạng các xung ngắn (burst mode). Với một kênh duy nhất xa lộ PCM chỉ tác động trong khoảng 1/24 thời gian khung. Từ (H 9.15) có thể có các nhận xét sau đây:

- Vận tốc bit ra/vào bằng tần số xung đồng hồ chính 1,536 Mbps. - Tín hiệu vào/ra codec là 64 kbps (=1.536KHz/24) PCM . - Chân DX và DR chỉ tác động trong khoảng 1/24 thời gian khung (125 µs).

_____________________________________________________________________________________________________

Nguyễn Trung Lập Truyền dữ liệu

Page 346: tong quan ve tri tue nhan tao

_______________________________Chương 9 Truyền tín hiệu tương tự bằng sóng mang số IX - 21

(H 9.16) là sơ đồ khối và giản đồ thời gian cho 24 kênh PCM - TDM vận hành với xung đồng hồ chính là 1,536 MHz.

9.4.5 Chế độ vận tốc thay đổi Chế độ này cho phép vận tốc dữ liệu vào /ra thay đổi được. Các xung đồng hồ chính vẫn có các giá tri 1,536; 1,544 hay 2,048 MHz , được dùng cho mạch lọc và các mạch biến đổi tương-tự-số, số-tương tự. Tuy nhiên, vận tốc tín hiệu thu/phát trên xa lộ PCM tùy vào DCLKX và DCLKR.

Khi FSX ở mức cao, dữ liệu phát ra trên xa lộ PCM từ ngã ra DX ứng với 8 cạnh lên (↑) đầu tiên của xung đồng hồ DCLKX. Tương tự, khi FSR ở mức cao, dữ liệu trên xa lộ PCM vào chân DR ứng với 8 cạnh xuống đầu tiên của xung đồng hồ DCLKR. Chế độ hoạt động này còn được gọi là chế độ ghi dịch (Shift register mode).

Trên phần phát, từ PCM cuối cùng được lặp lại trong các khe thời gian thừa trong khung thời gian 125 µs cho đến khi chân DCLKX được cấp xung và FSX lên mức cao. Điều này cho phép từ PCM được phát ra trên xa lộ nhiều hơn một lần cho mỗi khung. Tín hiệu báo không cần thiết trong chế độ hoạt động này vì nó không cung cấp phương tiện để nhận dạng khung báo hiệu.

(H 9.17) là sơ đồ khối và giản đồ thời gian cho hệ thống gồm 2 kênh PCM -TDM dùng 2914 ở chế độ vận tốc thay đổi và hoạt động với tần số đồng hồ chính là 1,536 MHz, tần số lấy mẫu 8 kHz và vận tốc dữ liệu thu/phát là 128 kbps. Với tần số lấy mẫu 8 kHz, thời gian khung là 125 µs. Mỗi từ PCM 8 bit của mỗi kênh được phát hay thu trong mỗi 125 µs. Cho 16 bit xảy ra trong 125 µs, cần đồng hồ phát thu có tần số 128 kHz

bits7,8125

16bits125

khungs125x

2kãnh1khung

x8bit

1kãnh µ=

µ=

µ

kbps 128s7,8125

1t1ratebit b

==

Tín hiệu cho phép phát /thu (FSX và FSR) cho mỗi codec tác động trong mỗi nửa thời gian khung. Do đó, để hai IC thay phiên làm việc, tín hiệu FSX và FSR có tần số 8 kHz với chu kỳ thao tác là 50% cấp thẳng cho một IC và lệch pha 180o cho IC kia. Để mở rộng hệ thống lên 4 kênh, chỉ cần tăng tần số xung đồng hồ lên 256 kHz và tín hiệu FSX và FSR vẫn có tần số 8 kHz nhưng chu kỳ thao tác là 25%.

_____________________________________________________________________________________________________

Nguyễn Trung Lập Truyền dữ liệu

Page 347: tong quan ve tri tue nhan tao

_______________________________Chương 9 Truyền tín hiệu tương tự bằng sóng mang số IX - 22

(H 9.17)

_____________________________________________________________________________________________________

Nguyễn Trung Lập Truyền dữ liệu

Page 348: tong quan ve tri tue nhan tao

_______________________________Chương 9 Truyền tín hiệu tương tự bằng sóng mang số IX - 23

(H 9.17)

9.4.6 Tín hiệu báo (signaling) Tín hiệu báo chỉ được thực hiện ở chế độ vận tốc cố định (DCLKR=VBB). Các khung

báo hiệu của phần thu và phát độc lập với nhau và được nhận diện bởi tín hiệu đồng bộ khung có độ rộng tăng gấp đôi so với tín hiệu đồng bộ của các khung thường.

Trong thời gian của một khung báo hiệu ở phần phát, IC mã hóa tín hiệu tương tự tới và bit LSB của từ mã PCM được thay thế bởi tín hiệu trên chân SIGX.

Tương tự, đối với khung báo hiệu ở phần thu IC sẽ chỉ giải mã 7 bit cao, bit LSB sẽ xuất ra chân SIGR và giữ ở đó cho đến khi khung báo khác tới.

9.4.7 Vận hành bất đồng bộ 2914 có thể vận hành theo phương thức đồng bộ và bất đồng bộ trong cả hai chế độ

vận tốc cố định và vận tốc thay đổi. Theo phương thức bất đồng bộ, xung đồng hồ thu phát được cấp từ các nguồn riêng biệt. Và để phần thu phát có thể hoạt động hoàn toàn độc lập với nhau, trong 2914 có các mạch biến đổi số-tương tự và các nguồn tham chiếu riêng cho phần phát và thu.

Trong cả hai phương thức vận hành, các tín hiệu đồng hồ chính, đồng hồ vận tốc bit và chốt khe thời gian phải được đồng bộ ở đầu mỗi khung. Trong chế độ vận tốc thay đổi, CLKX và DCLKX phải được đồng bộ ở mỗi khung nhưng có thể có tần số khác nhau. Phần thu hoạt động tương tự và độc lập với phần phát.

9.4.8 Vòng tương tự (analog loopback) Một đặc trưng của 2914 là có khả năng thực hiện vòng tương tự bên trong IC cho

phép người sử dụng gửi một tín hiệu kiểm tra vào mạch và nhận tín hiệu ở ngã ra. (H 9.18) cho thấy cách nối để thực hiện vòng tương tự : ngã ra PWRO+ nối vào ngã VFXI+, GSR nối với PWRO- và VFXI- nối với GSX. Với mạch này người sử dụng có thể thực hiện việc thử mạch đường dây từ xa bằng cách so sánh tín hiệu số đưa vào phần thu (DR) với tín hiệu số tạo ra ở phần phát (DX). Một tín hiệu số 0 dBm đưa vào ngã DR sẽ nhận được ở ngã ra DX một tín hiệu có giá trị +3 dBm.

_____________________________________________________________________________________________________

Nguyễn Trung Lập Truyền dữ liệu

Page 349: tong quan ve tri tue nhan tao

_______________________________Chương 9 Truyền tín hiệu tương tự bằng sóng mang số IX - 24

(H 9.18)

9.4.9 Điện thế tham chiếu chính xác 2914 có mạch tạo điện thế tham chiếu bên trong riêng cho phần phát và thu và được

điều chỉnh trước khi xuất xưởng. Các trị tham chiếu này xác định độ lợi và đặc tính của IC. Do thực hiện bên trong IC nên nó có độ chính xác rất cao.

9.4.10 Mạch lọc phát (transmit filter) Ngã vào phần phát là một OP-AMP có độ lợi điện thế vòng hở là 5000 và độ lợi đơn

vị cho băng thông 1 MHz , mạch này cho phép điều chỉnh được độ lợi của dải thông bằng cách thay đổi R1 hoặc R2 (H 9.19)

(H 9.19)

Để bảo đảm chất lượng tín hiệu của hệ thống, trong IC có các mạch lọc phát dùng tụ

khóa (switched capacitor) sau đây: - Một mạch lọc hạ thông với độ suy giãm 35 dB ở tần số lấy mẫu. - Một mạch lọc dải thông có đặc tuyến phẳng phù hợp với dải tần của kênh D của

AT&T và chuẩn CCITT - Một mạch lọc thượng thông có đặc tuyến dốc đứng ở 200 Hz để loại bỏ tần số 50 Hz

(60Hz) của đường dây điện và các nhiễu có tấn số thấp khác.

9.4.11 Mạch khuếch đại công suất thu 2914 có một mạch khuếch đại công suất cân bằng có thể cho hai ngã ra riêng biệt để

dùng cho chế độ vi sai hoặc chế độ đơn. Điện trở tải cho chế độ đơn là 300Ω và cho chế độ vi

_____________________________________________________________________________________________________

Nguyễn Trung Lập Truyền dữ liệu

Page 350: tong quan ve tri tue nhan tao

_______________________________Chương 9 Truyền tín hiệu tương tự bằng sóng mang số IX - 25

sai là 600Ω . Công suất tín hiệu thu được điều chỉnh bởi điện áp chân GSR. Khi nối GSR với PWRO- công suất ra tối đa và khi nối với PWRO+ công suất ra tối thiểu. Công suất thay đổi từ 0 dB đến -12 dB khi điều chỉnh GSR giữa PWRO+ và PWRO-.

Mạch (H 9.20) cho thấy cách thiết lập độ lợi mạch ở chế độ vi sai.

(H 9.20) Trong (H 9.20) các giá trị điện áp ở các chân: Vo+ ở PWRO+ Vo- ở PWRO- Vo = (Vo+) - (Vo-) R1 và R2 là các điện trở điều chỉnh độ lợi có mối giữa nối với GSR, được chọn thỏa

điều kiện: R1 và R2 >10 kΩ và R1 // R2 <100kΩ. Độ lợi A của mạch khuếch đại công suất:

)/R(R4)/R(R1A

21

21++

=

Trong thiết kế, giá trị R1 và R2 xác định từ biểu thức của A:

A114A/RR 21 −

−=

Thí dụ: - Nếu A = 1 (công suất ra tối đa), thì R1/R2 = ∞ hay V(GSR) = Vo- (GSR nối với PWRO-) - Nếu A=1/2 thì R1/R2 = 2 - Nếu A=1/4 (Công suất ra tối thiểu), thì R1/R2 = 0 hay V(GSR) = Vo+ (GSR nối với PWRO+)

Để mạch vận hành với chế độ ngã ra đơn và độ lợi đơn vị, chỉ cần nối chân PWRO-

với chân GSR và lấy tín hiệu ra ở PWRO+. Trên đây, chỉ điểm sơ lược một số tính năng của IC, còn rất nhiều đặc tính khác mà

trong giới hạn của giáo trình không đề cập tới, độc giả có thể tham khảo thêm trong Data book của hảng INTEL.

_____________________________________________________________________________________________________

Nguyễn Trung Lập Truyền dữ liệu