Giáo trình Hệ chuyên gia của PGS. TS. Phan Huy Khánh - Đại học Bách Khoa

Giáo trình Hệ chuyên gia - full tài liệu đh bách khoa biên soạn theo chương trình đào tạo chuẩn, phù hợp sinh viên ngành hiện nay

Chuyên ngành

Công nghệ thông tin

Người đăng

Ẩn danh

Thể loại

Giáo trình

2004

135
14
0

Phí lưu trữ

35 Point

Tóm tắt

I. Tổng quan Giáo trình Hệ chuyên gia ĐH Bách Khoa đầy đủ

Giáo trình Hệ chuyên gia của PGS. Phan Huy Khánh từ Đại học Bách Khoa là một tài liệu nền tảng, cung cấp kiến thức toàn diện về một trong những lĩnh vực quan trọng nhất của Trí tuệ nhân tạo (Artificial Intelligence). Tài liệu này định nghĩa Hệ chuyên gia (Expert System) là một chương trình máy tính thông minh, sử dụng tri thức và các thủ tục suy luận để giải quyết những bài toán phức tạp mà thông thường đòi hỏi chuyên môn của con người. Khác với các chương trình truyền thống, hệ chuyên gia có khả năng mô phỏng năng lực ra quyết định của một chuyên gia trong một lĩnh vực cụ thể. Nội dung của giáo trình không chỉ dừng lại ở lý thuyết mà còn đi sâu vào các thành phần cấu tạo, nguyên lý hoạt động và các ứng dụng thực tiễn. Tài liệu nhấn mạnh rằng tri thức trong hệ chuyên gia được tích lũy từ nhiều nguồn uy tín như sách vở, tạp chí và kinh nghiệm của các nhà khoa học. Do đó, việc nắm vững kiến thức từ giáo trình Hệ chuyên gia này là bước khởi đầu vững chắc cho bất kỳ ai muốn tìm hiểu sâu về cách xây dựng các hệ thống thông minh, từ cơ sở tri thức đến máy suy diễn. Các khái niệm như hệ thống dựa trên tri thức (knowledge-based system) được giải thích rõ ràng, giúp người học phân biệt và hiểu rõ bản chất của công nghệ này. Đây là tài liệu không thể thiếu cho sinh viên ngành Công nghệ thông tin tại ĐH Bách Khoa và các trường kỹ thuật khác.

1.1. Định nghĩa Hệ chuyên gia theo tài liệu gốc ĐH Bách Khoa

Theo định nghĩa của E. Feigenbaum được trích dẫn trong giáo trình, Hệ chuyên gia là “một chương trình máy tính thông minh sử dụng tri thức (knowledge) và các thủ tục suy luận (inference procedures) để giải những bài toán tương đối khó khăn đòi hỏi những chuyên gia mới giải được”. Về bản chất, đây là một hệ thống tin học mô phỏng lại khả năng ra quyết định của chuyên gia con người. Nó là một nhánh ứng dụng quan trọng của Trí tuệ nhân tạo, bên cạnh các lĩnh vực khác như Robotic, nhận dạng giọng nói hay xử lý ngôn ngữ tự nhiên. Một hệ chuyên gia điển hình bao gồm ba thành phần chính: cơ sở tri thức, máy suy diễn, và giao diện người dùng, hoạt động dựa trên tri thức chuyên môn để giải quyết các vấn đề trong một lĩnh vực cụ thể, hay còn gọi là lĩnh vực tri thức (knowledge domain).

1.2. Các đặc trưng và ưu điểm nổi bật của hệ chuyên gia

Một hệ chuyên gia hiệu quả sở hữu bốn đặc trưng cơ bản. Thứ nhất là hiệu quả cao (high performance), có khả năng đưa ra câu trả lời với mức độ chính xác tương đương hoặc cao hơn chuyên gia con người. Thứ hai là thời gian trả lời thỏa đáng (adequate response time), hoạt động như một hệ thống thời gian thực. Thứ ba là độ tin cậy cao (good reliability). Cuối cùng là khả năng giải thích các bước suy luận một cách minh bạch. Các ưu điểm chính bao gồm tính phổ cập, giảm giá thành, giảm rủi ro khi làm việc trong môi trường nguy hiểm, và tính thường trực. Không giống con người, hệ chuyên gia có thể hoạt động liên tục, khách quan và ổn định, đồng thời có thể đóng vai trò như một người hướng dẫn thông minh hoặc một cơ sở dữ liệu thông minh.

1.3. Lịch sử phát triển của công nghệ hệ chuyên gia qua các năm

Công nghệ hệ chuyên gia đã có một lịch sử phát triển lâu dài. Các cột mốc quan trọng được ghi nhận trong tài liệu ĐH Bách Khoa bao gồm: thuật toán Markov (1954) điều khiển việc thực thi các luật; hội thảo Dartmouth (1956) thống nhất thuật ngữ Trí tuệ nhân tạo; hệ chuyên gia đầu tiên DENDRAL (1965) về nha khoa; ngôn ngữ PROLOG (1970); hệ chuyên gia MYCIN (1973) trong chẩn đoán y học; và hệ chuyên gia XCON/R1 (1978) để bảo trì hệ thống máy tính. Sự ra đời của các bộ công cụ như KEE (1983) và CLIPS (1985) đã thúc đẩy việc thương mại hóa và ứng dụng rộng rãi công nghệ này.

II. Các thách thức cốt lõi trong việc thiết kế hệ chuyên gia

Việc xây dựng một hệ chuyên gia không phải là một quá trình đơn giản. Nó đối mặt với nhiều thách thức kỹ thuật và logic, đòi hỏi sự kết hợp chặt chẽ giữa chuyên gia lĩnh vực và kỹ sư tri thức. Thách thức lớn nhất nằm ở khâu tiếp nhận tri thức (knowledge acquisition). Quá trình này bao gồm việc trích xuất, cấu trúc hóa và mã hóa kiến thức chuyên sâu, thường là phi cấu trúc và ẩn trong suy nghĩ của chuyên gia, vào một dạng mà máy tính có thể hiểu được. Một sai lầm nhỏ trong giai đoạn này có thể dẫn đến toàn bộ hệ thống hoạt động sai lệch. Giáo trình nhấn mạnh rằng các sai sót có thể xuất phát từ nhiều nguồn: tri thức chuyên gia không đầy đủ, sai sót về mặt ngữ nghĩa khi kỹ sư tri thức hiểu sai ý chuyên gia, hoặc lỗi cú pháp khi biểu diễn tri thức. Một thách thức khác là việc đảm bảo tính nhất quán và đầy đủ của cơ sở tri thức. Khi số lượng luật tăng lên hàng trăm, hàng ngàn, việc kiểm tra sự mâu thuẫn giữa các luật trở nên cực kỳ phức tạp. Cuối cùng, việc bảo trì và phát triển hệ thống là một vấn đề lâu dài. Tri thức không ngừng thay đổi, đòi hỏi hệ chuyên gia phải có khả năng cập nhật và tiến hóa, nếu không nó sẽ nhanh chóng trở nên lỗi thời. Những khó khăn này đòi hỏi một quy trình phát triển có hệ thống và các công cụ hỗ trợ mạnh mẽ.

2.1. Vấn đề tiếp nhận và mã hóa tri thức từ các chuyên gia

Quá trình tiếp nhận tri thức được mô tả là một cuộc đối thoại giữa chuyên gia con người và kỹ sư tri thức. Kỹ sư tri thức phải thu nhận kiến thức, sau đó biểu diễn nó một cách tường minh trong cơ sở tri thức. Đây là bước nền tảng quyết định thành công của hệ thống. Tuy nhiên, kiến thức của chuyên gia thường mang tính trực giác, khó diễn đạt thành lời hoặc các quy tắc rõ ràng. Việc chuyển đổi từ tri thức ẩn sang tri thức tường minh luôn tiềm ẩn nguy cơ sai sót. Chuyên gia có thể cung cấp thông tin thiếu sót hoặc nhầm lẫn, trong khi kỹ sư tri thức có thể hiểu sai hoặc diễn giải sai các khái niệm chuyên ngành, dẫn đến việc xây dựng các luật và sự kiện không chính xác trong hệ chuyên gia.

2.2. Các sai sót thường gặp trong quá trình phát triển hệ thống

Tài liệu chỉ ra nhiều loại sai sót có thể xảy ra. Sai sót trong tri thức chuyên gia là nguồn gốc của vấn đề, khi kiến thức nền tảng không đúng hoặc không đầy đủ. Sai sót ngữ nghĩa xảy ra khi có sự hiểu lầm giữa chuyên gia và kỹ sư tri thức. Ví dụ, câu nói “bạn có thể dập lửa bằng nước” có thể bị hiểu sai thành “mọi đám cháy đều có thể dập được bằng nước”. Ngoài ra, sai sót máy suy diễn là các lỗi lập trình trong chính bộ não của hệ thống. Cuối cùng, lỗi suy diễn có thể phát sinh do xác định sai độ ưu tiên của các luật, sự tương tác phức tạp giữa chúng hoặc do suy luận không nhất quán, dẫn đến kết luận sai lầm.

2.3. Thách thức trong việc bảo trì và phát triển hệ thống liên tục

Khác với các phần mềm thông thường, hệ chuyên gia đòi hỏi các hoạt động bảo trì và phát triển không có điểm dừng. Thành công của chúng phụ thuộc hoàn toàn vào chất lượng và sự cập nhật của tri thức. Vấn đề đặt ra là phải thường xuyên bổ sung tri thức mới và thay đổi tri thức cũ để hệ thống luôn được cải tiến. Một sản phẩm chất lượng thương mại cần có cơ chế thu thập và xử lý các báo cáo lỗi từ người dùng một cách hiệu quả. Việc bảo trì và phát triển chỉ có thể thực hiện tốt khi có một quy trình quản lý thay đổi chặt chẽ, đảm bảo tính toàn vẹn của cơ sở tri thức sau mỗi lần cập nhật.

III. Hướng dẫn chi tiết kiến trúc của một hệ chuyên gia mẫu

Để hiểu rõ cách một hệ chuyên gia hoạt động, việc nắm vững kiến trúc tổng quát của nó là điều kiện tiên quyết. Giáo trình Hệ chuyên gia ĐH Bách Khoa giới thiệu một mô hình kiến trúc mẫu bao gồm bảy thành phần cơ bản. Trung tâm của hệ thống là Cơ sở tri thức (Knowledge Base)Máy suy diễn (Inference Engine). Cơ sở tri thức là nơi lưu trữ toàn bộ tri thức chuyên môn của hệ thống, thường dưới dạng các luật sản xuất (production rules). Đây được xem là bộ não chứa đựng kinh nghiệm. Trong khi đó, máy suy diễn đóng vai trò là cơ chế lập luận, có nhiệm vụ sử dụng các luật trong cơ sở tri thức để đưa ra kết luận từ những sự kiện được cung cấp. Thành phần thứ ba là Bộ nhớ làm việc (Working Memory), một cơ sở dữ liệu toàn cục chứa các sự kiện tạm thời về bài toán đang giải quyết. Các thành phần khác bao gồm Khả năng giải thích, giúp người dùng hiểu tại sao hệ thống đưa ra một kết luận cụ thể; Khả năng thu nhận tri thức, cho phép bổ sung kiến thức mới; và Giao diện người sử dụng. Sự phối hợp nhịp nhàng giữa các thành phần này tạo nên một hệ thống thông minh có khả năng tư duy và giải quyết vấn đề hiệu quả.

3.1. Phân tích các thành phần cơ bản của một hệ chuyên gia

Một hệ chuyên gia kiểu mẫu được cấu thành từ bảy bộ phận chính. Cơ sở tri thức chứa các đơn vị tri thức (luật). Máy suy diễn quyết định luật nào sẽ được kích hoạt dựa trên các sự kiện. Bộ nhớ làm việc lưu trữ các sự kiện của bài toán hiện tại. Lịch công việc (agenda) là danh sách các luật ưu tiên sẵn sàng được thực thi. Khả năng giải thích làm rõ quá trình lập luận. Khả năng thu nhận tri thức cho phép cập nhật hệ thống. Cuối cùng, Giao diện người sử dụng là cầu nối giữa người dùng và hệ thống. Mỗi thành phần có một chức năng riêng nhưng hoạt động phối hợp để tạo ra một giải pháp hoàn chỉnh.

3.2. Vai trò của Cơ sở tri thức Knowledge Base và các loại tri thức

Cơ sở tri thức là kho lưu trữ tri thức chuyên môn. Trong đó, người ta thường phân biệt hai loại tri thức chính: tri thức phán đoán (assertion knowledge)tri thức thực hành (operating knowledge). Tri thức phán đoán mô tả các tình huống, các sự thật đã được thiết lập. Ngược lại, tri thức thực hành thể hiện những hành động hoặc kết luận cần rút ra khi một tình huống nào đó xảy ra. Ví dụ, một tri thức phán đoán có thể là "Bệnh nhân sốt", còn tri thức thực hành tương ứng là "NẾU bệnh nhân sốt THÌ cho uống thuốc Aspirin". Máy suy diễn sẽ sử dụng cả hai loại tri thức này để đưa ra quyết định.

3.3. Chức năng của Máy suy diễn Inference Engine và Bộ nhớ làm việc

Máy suy diễn là bộ phận xử lý trung tâm, thực hiện quá trình lập luận logic. Nó hoạt động theo một chu trình gọi là "nhận thức-hành động" (recognize-act). Đầu tiên, nó so khớp các sự kiện trong Bộ nhớ làm việc với điều kiện của các luật trong cơ sở tri thức để tìm ra các luật có thể áp dụng. Sau đó, nó sử dụng một chiến lược giải quyết xung đột để chọn ra một luật duy nhất để thực thi từ tập hợp các luật thỏa mãn. Cuối cùng, nó thực thi hành động của luật được chọn, hành động này thường làm thay đổi nội dung của Bộ nhớ làm việc, và chu trình lại bắt đầu. Quá trình này lặp lại cho đến khi không còn luật nào có thể được áp dụng hoặc bài toán đã được giải quyết.

IV. Các phương pháp biểu diễn tri thức và suy luận phổ biến

Hiệu quả của một hệ chuyên gia phụ thuộc rất nhiều vào cách tri thức được biểu diễn và cách hệ thống suy luận trên tri thức đó. Giáo trình Hệ chuyên gia của ĐH Bách Khoa đã trình bày chi tiết nhiều phương pháp tiên tiến. Phương pháp phổ biến nhất là biểu diễn tri thức bởi các luật sản xuất, thường có dạng IF-THEN. Cách biểu diễn này có ưu điểm là đơn thể (modular), dễ mở rộng và dễ giải thích, gần với cách tư duy của con người. Ngoài ra, các phương pháp khác cũng được đề cập, bao gồm biểu diễn tri thức nhờ mệnh đề logic (sử dụng logic vị từ bậc một), mạng ngữ nghĩa (semantic nets) và ngôn ngữ nhân tạo. Về kỹ thuật suy luận, có hai phương pháp chính là suy diễn tiến (forward chaining)suy diễn lùi (backward chaining). Suy diễn tiến bắt đầu từ các sự kiện đã biết và áp dụng các luật để đi đến kết luận. Ngược lại, suy diễn lùi bắt đầu từ một giả thuyết (một mục tiêu) và tìm kiếm các sự kiện hoặc luật để chứng minh giả thuyết đó. Việc lựa chọn phương pháp biểu diễn và kỹ thuật suy luận phù hợp là yếu tố then chốt để xây dựng một hệ chuyên gia mạnh mẽ và hiệu quả.

4.1. Biểu diễn tri thức bằng Luật sản xuất Production Rules

Hầu hết các hệ chuyên gia hiện nay đều dựa trên luật, với tri thức được biểu diễn dưới dạng luật sản xuất IF <điều kiện> THEN <hành động/kết luận>. Phần IF được gọi là phần trái luật (LHS) hoặc tiền đề, chứa các điều kiện cần được thỏa mãn. Phần THEN được gọi là phần phải luật (RHS) hoặc hậu quả, chứa kết luận được rút ra hoặc hành động cần thực hiện. Ví dụ, một luật trong hệ thống y tế có thể là: IF Bệnh nhân sốt THEN cho uống thuốc Aspirin. Cấu trúc này giúp việc đóng gói và mở rộng tri thức trở nên dễ dàng, đồng thời cho phép hệ thống giải thích các quyết định của mình bằng cách truy vết lại các luật đã được áp dụng.

4.2. Sử dụng Logic vị từ và Mạng ngữ nghĩa để biểu diễn tri thức

Bên cạnh luật sản xuất, logic vị từ bậc một là một kỹ thuật mạnh mẽ để biểu diễn các tri thức phức tạp và các mối quan hệ logic. Nó sử dụng các vị từ, hằng, biến và các phép toán logic để thể hiện các sự kiện và luật. Ví dụ, câu "Mọi người đều sẽ chết" có thể được biểu diễn là MAN(X) → MORTAL(X). Một phương pháp khác là mạng ngữ nghĩa, sử dụng đồ thị với các nút và cung để biểu diễn đối tượng và mối quan hệ giữa chúng. Ví dụ, nút "sẻ" có thể được nối với nút "chim" bằng cung "là một loài". Mạng ngữ nghĩa có ưu điểm là thể hiện trực quan các mối quan hệ và hỗ trợ tính thừa kế thuộc tính.

4.3. Kỹ thuật suy luận So sánh suy diễn tiến và suy diễn lùi

Suy diễn tiến (forward chaining) là kỹ thuật lập luận từ dữ liệu đến kết luận. Hệ thống bắt đầu với các sự kiện ban đầu trong bộ nhớ làm việc và liên tục áp dụng các luật có tiền đề được thỏa mãn để sinh ra các sự kiện mới, cho đến khi đạt được mục tiêu hoặc không còn luật nào có thể áp dụng. Kỹ thuật này phù hợp với các bài toán giám sát, chẩn đoán và điều khiển. Ngược lại, suy diễn lùi (backward chaining) là kỹ thuật lập luận hướng mục tiêu. Nó bắt đầu với một giả thuyết và cố gắng chứng minh nó bằng cách tìm các luật có thể dẫn đến giả thuyết đó, sau đó biến các tiền đề của luật đó thành các mục tiêu con. Kỹ thuật này thường được dùng trong các bài toán lập kế hoạch và tư vấn.

V. Top ứng dụng thực tiễn của hệ chuyên gia trong đa lĩnh vực

Công nghệ hệ chuyên gia đã được ứng dụng thành công trong rất nhiều lĩnh vực khác nhau, mang lại giá trị thực tiễn to lớn. Tài liệu ĐH Bách Khoa đã thống kê hàng loạt các hệ thống nổi tiếng, minh chứng cho tính hiệu quả của phương pháp này. Trong ngành y học, MYCIN là một hệ chuyên gia tiên phong trong việc chẩn đoán các bệnh nhiễm trùng máu và đưa ra phác đồ điều trị, trong khi CADUCEUS có khả năng chẩn đoán các bệnh nội khoa phức tạp. Trong lĩnh vực địa chất, PROSPECTOR đã giúp các nhà địa chất giải thích dữ liệu để tìm kiếm khoáng sản. Ngành công nghệ cũng chứng kiến sự thành công của XCON, một hệ chuyên gia của DEC dùng để cấu hình các hệ thống máy tính phức tạp, giúp tiết kiệm hàng triệu đô la mỗi năm. Các ứng dụng không chỉ giới hạn ở chẩn đoán và cấu hình, mà còn mở rộng sang các lĩnh vực như lập kế hoạch (planning), kiểm tra (monitoring), điều khiển (control) và giảng dạy (instruction). Sự đa dạng này cho thấy tiềm năng to lớn của hệ chuyên gia trong việc giải quyết các bài toán chuyên sâu, từ hóa học, điện tử, kỹ thuật cho đến tài chính và quân sự.

5.1. Ứng dụng trong y học Hệ chuyên gia MYCIN và CADUCEUS

Y học là một trong những lĩnh vực ứng dụng hệ chuyên gia sớm và thành công nhất. MYCIN, được phát triển tại Đại học Stanford, là một ví dụ kinh điển. Nó sử dụng khoảng 500 luật để xác định các loại vi khuẩn gây bệnh và đề xuất kháng sinh phù hợp, đạt độ chính xác tương đương các bác sĩ chuyên khoa. Một hệ thống nổi tiếng khác là PUFF, chuyên chẩn đoán các bệnh về phổi, và ONCOCIN, hỗ trợ quản lý phác đồ hóa trị cho bệnh nhân ung thư. Những hệ thống này không chỉ giúp chẩn đoán mà còn đóng vai trò là công cụ hỗ trợ quyết định quan trọng cho các y bác sĩ.

5.2. Ứng dụng trong công nghệ và địa chất PROSPECTOR XCON

Trong lĩnh vực công nghệ, XCON (ban đầu là R1) là một thành công thương mại nổi bật. Nó tự động hóa quá trình cấu hình các đơn đặt hàng máy tính VAX của công ty DEC, đảm bảo các thành phần tương thích và đầy đủ, một công việc vốn rất phức tạp và dễ sai sót. Trong địa chất, PROSPECTOR sử dụng mô hình suy luận dựa trên mạng ngữ nghĩa và các luật xác suất để đánh giá tiềm năng khoáng sản tại một địa điểm dựa trên các dữ liệu địa chất. Các hệ thống khác như DELTA chẩn đoán lỗi đầu máy xe lửa, hay ACE chẩn đoán lỗi mạng lưới điện thoại, đều cho thấy khả năng ứng dụng mạnh mẽ của hệ chuyên gia trong công nghiệp.

5.3. Các lĩnh vực ứng dụng khác như chẩn đoán lập kế hoạch

Ngoài các ví dụ cụ thể, giáo trình Hệ chuyên gia còn phân loại các ứng dụng theo chức năng. Các hệ thống chẩn đoán (Diagnosis) lập luận từ các triệu chứng để tìm ra nguyên nhân. Các hệ thống lập kế hoạch (Planning) tạo ra một chuỗi các hành động để đạt được mục tiêu. Các hệ thống kiểm tra (Monitoring) so sánh dữ liệu thực tế với dữ liệu kỳ vọng để đánh giá hiệu quả. Các hệ thống điều khiển (Control) quản lý toàn bộ một quá trình, kết hợp cả chẩn đoán, lập kế hoạch và chữa trị. Sự phân loại này cho thấy tính linh hoạt của kiến trúc hệ chuyên gia trong việc giải quyết nhiều lớp bài toán khác nhau.

VI. Quy trình phát triển và bảo trì một hệ chuyên gia hoàn chỉnh

Xây dựng một hệ chuyên gia là một dự án phát triển phần mềm đặc thù, đòi hỏi một quy trình có cấu trúc rõ ràng từ khâu lên ý tưởng đến khi vận hành và bảo trì. Giáo trình Hệ chuyên gia ĐH Bách Khoa đã phác thảo một thuật toán tổng quát và các giai đoạn phát triển tiêu chuẩn. Quá trình bắt đầu bằng việc lựa chọn bài toán phù hợp và nghiên cứu tính khả thi. Sau đó, một bản phác thảo nhanh (rapid prototype) được xây dựng để thể hiện ý tưởng và nhận được sự ủng hộ từ ban quản lý. Giai đoạn tiếp theo là làm mịn và kiểm thử hệ thống một cách kỹ lưỡng bởi các kỹ sư tri thức và chuyên gia. Trước khi đưa vào sử dụng rộng rãi, hệ thống cần trải qua giai đoạn kiểm thử thực địa (beta-test) với người dùng cuối. Cuối cùng, sau khi đã đạt chất lượng thương mại, hệ thống được triển khai, đi kèm với tài liệu hướng dẫn, đào tạo và hỗ trợ kỹ thuật. Tuy nhiên, vòng đời của hệ chuyên gia không kết thúc ở đây. Giai đoạn bảo trì và phát triển là một quá trình liên tục, bao gồm việc sửa lỗi và quan trọng hơn là cập nhật, mở rộng cơ sở tri thức để hệ thống luôn bắt kịp với sự thay đổi của lĩnh vực chuyên môn.

6.1. Thuật toán tổng quát để thiết kế một hệ chuyên gia

Thuật toán thiết kế được đề xuất trong giáo trình bao gồm các bước tuần tự. Bắt đầu bằng việc chọn bài toán thích hợp, sau đó phát biểu và đặc tả bài toán. Nếu bài toán phù hợp để giải quyết bằng hệ chuyên gia, quá trình phát triển bản mẫu sẽ được tiến hành. Quá trình này lặp đi lặp lại các bước: thiết kế bản mẫu, biểu diễn tri thức, tiếp nhận tri thức, và phát triển hoàn thiện bản mẫu. Khi bản mẫu đã hoàn thiện, nó sẽ được hợp thức hóatriển khai cài đặt. Cuối cùng là các bước hướng dẫn sử dụng, vận hành, và bảo trì, phát triển lâu dài. Nếu bài toán không phù hợp, cần tìm các hướng tiếp cận khác.

6.2. Các giai đoạn phát triển Từ phác thảo đến sản phẩm thương mại

Quá trình phát triển một hệ chuyên gia chất lượng thương mại trải qua nhiều giai đoạn. Nghiên cứu khả thi (feasibility study) để đánh giá dự án. Phác thảo nhanh bản mẫu (rapid prototype) để khởi động và chứng minh ý tưởng. Làm mịn hệ thống (Refined system) qua các vòng kiểm thử nội bộ (alpha-test). Kiểm thử thực địa (field testable) với người dùng cuối (beta-test) để đảm bảo tính ứng dụng. Giai đoạn chất lượng sản phẩm (commercial quality) bao gồm việc hợp thức hóa, viết tài liệu và đào tạo. Cuối cùng, giai đoạn bảo trì và phát triển (maintenance & evolution) diễn ra liên tục để sửa lỗi và nâng cao khả năng của hệ thống.

6.3. Tầm quan trọng của quản lý dự án tài nguyên và cấu hình

Để đảm bảo thành công, việc phát triển hệ chuyên gia cần được quản lý chặt chẽ như một dự án phần mềm lớn. Quản lý hoạt động bao gồm lập kế hoạch, lập biểu và phân công công việc. Quản lý cấu hình sản phẩm giúp theo dõi các phiên bản khác nhau của hệ thống và quản lý các thay đổi một cách có hệ thống. Quản lý tài nguyên đảm bảo phân bổ tối ưu nhân lực, phần cứng và phần mềm. Việc quản lý dự án hiệu quả giúp giảm thiểu rủi ro, kiểm soát chi phí và đảm bảo sản phẩm cuối cùng đáp ứng đúng yêu cầu của người sử dụng và chuyên gia.

04/10/2025

Trích đoạn nội dung tài liệu

Mở đầu 21 c. Biểu diễn tri thức nhờ ngôn ngữ nhân tạo Nói chung, theo quan điểm của người sử dụng, ngôn ngữ tự nhiên sẽ là phương cách thuận tiện nhất để giao tiếp với một hệ chuyên gia, không những đối với người quản trị hệ thống (tư cách chuyên gia), mà còn đối với người sử dụng cuối. Hiện nay đã có những hệ chuyên gia có khả năng đối thoại trên ngôn ngữ tự nhiên (thông thường là tiếng Anh) nhưng chỉ hạn chế trong lĩnh vực ứng dụng chuyên môn của hệ chuyên gia Hình dưới đây thể hiện một đơn vị tri thức (luật) trong hệ chuyên gia MYCIN dùng để chẩn đoán các bệnh virut. Cột bên trái là một luật được viết bằng tiếng Anh, cột bên phải là mã hoá nhân tạo của luật đó.

Nếu 1) Màu của cơ thể là gram dương (($AND (SAME CNTXT GRAM GRAM+) và nếu 2) Hình thái của cơ thể là bị (SAME CNTXT MORPH COCCI) nhiễm trùng (SAME CNTXT DEVEL COLONY) và nếu 3) Kiểu phát triển của cơ thể là khuẩn lạc (CONCLUDE CNTXT IDENT thì tồn tại một khả năng (0.7) là cơ thể bị STAPHYLOCOCCUS MEASURE 0.7)) nhiễm khuẩn cầu chùm Hình 1. Biểu diễn tri thức nhờ ngôn ngữ nhân tạo trong MYCIN II. Kỹ thuật suy luận trong các hệ chuyên gia Có nhiều phương pháp tổng quát để suy luận trong các chiến lược giải quyết vấn đề của hệ chuyên gia. Những phương pháp hay gặp là suy diễn tiến (foward chaining), suy diễn lùi (backward chaining) và phối hợp hai phương pháp này (mixed chaining).

Những phương pháp khác là phân tích phương tiện (means-end analysis), rút gọn vấn đề (problem reduction), quay lui (backtracking), kiểm tra lập kế hoạch (plan-generate-test), lập kế hoạch phân cấp (hierachical planning). Dưới đây là nền tảng của công nghệ hệ chuyên gia hiện đại (foundation of modern rele- based expert system). Hệ chuyên gia dựa trên luật Luật Máy suy diễn Sự kiện Luật sản xuất Post So khớp Hợp giải Suy diễn hiệu quả xung đột bên phải luật (RHS) Thuật toán mạng lưới Thuật toán Markov Hình 1. Nền tảng của công nghệ hệ chuyên gia dựa trên luật hiện đại II.

Phương pháp suy diễn tiến Suy diễn tiến ( forward charning) là lập luận từ các sự kiện, sự việc để rút ra các kết luận. Ví dụ : Nếu thấy trời mưa trước khi ra khỏi nhà (sự kiện) thì phải lấy áo mưa (kết luận). Trong phương pháp này, người sử dụng cung cấp các sự kiện cho hệ chuyên gia để hệ thống (máy suy diễn) tìm cách rút ra các kết luận có thể. Kết luận được xem là những thuộc tính có thể được gán giá trị.

Trong số những kết luận này, có thể có những kết luận làm người sử dụng quan tâm, một số khác không nói lên điều gì, một số khác có thể vắng mặt. Các sự kiện thường có dạng : Atthibute = value Lần lượt các sự kiện trong cơ sở tri thức được chọn và hệ thống xem xét tất cả các luật mà các sự kiện này xuất hiện như là tiền đề. Theo nguyên tắc lập luận trên, hệ thống sẽ lấy ra những luật thoã mãn. Sau khi gán giá trị cho các thuộc tính thuộc kết luận tương ứng, người ta nói rằng các sự kiện đã được thoã mãn.

Các thuộc tính được gán giá trị sẽ là một phần của kết quả chuyên gia. Sau khi mọi sự kiện đã được xem xét, kết quả được xuất ra cho người sử dụng. Phương pháp suy diễn lùi Phương pháp suy diễn lùi tiến hành các lập luận theo chiều ngược lại (đối với phương pháp suy diễn tiến). Từ một giả thuyết (như là một kết luận), hệ thống đưa ra một tình huống trả lời gồm các sự kiện là cơ sở của giả thuyết đã cho này.

Ví dụ nếu ai đó vào nhà mà cầm áo mưa và áo quần bị ướt thì giả thuyết này là trời mưa. Để củng cố giả thuyết này, ta sẽ hỏi người đó xem có phải trời mưa không ? Nếu người đó trả lời có thì giả thuyết trời mưa đúng và trở thành một sự kiện. Nghĩa là trời mưa nên phải cầm áo mưa và áo quần bị ướt. Suy diễn lùi là cho phép nhận được giá trị của một thuộc tính.

Đó là câu trả lời cho câu hỏi « giá trị của thuộc tính A là bao nhiêu ? » với A là một đích (goal). Để xác định giá trị của A, cần có các nguồn thông tin. Những nguồn này có thể là những câu hỏi hoặc có thể là những luật. Căn cứ vào các câu hỏi, hệ thống nhận được một cách trực tiếp từ người sử dụng những giá trị của thuộc tính liên quan.

Căn cứ vào các luật, hệ thống suy diễn có thể tìm ra giá trị sẽ là kết luận của một trong số các kết luận có thể của thuộc tính liên quan, v. Ý tưởng của thuật toán suy diễn lùi như sau. Với mỗi thuộc tính đã cho, người ta định nghĩa nguồn của nó : • Nếu thuộc tính xuất hiện như là tiền đề của một luật (phần đầu của luật), thì nguồn sẽ thu gọn thành một câu hỏi. • Nếu thuộc tính xuất hiện như là hậu quả của một luật (phần cuối của luật), thì nguồn sẽ là các luật mà trong đó, thuộc tính là kết luận.

• Nếu thuộc tính là trung gian, xuất hiện đồng thời như là tiền đề và như là kết luận, khi đó nguồn có thể là các luật, hoặc có thể là các câu hỏi mà chưa được nêu ra. Nếu mỗi lần với câu hỏi đã cho, người sử dụng trả lời hợp lệ, giá trị trả lời này sẽ được gán cho thuộc tính và xem như thành công. Nếu nguồn là các luật, hệ thống sẽ lấy lần lượt các luật mà thuộc tính đích xuất hiện như kết luận, để có thể tìm giá trị các thuộc tính thuộc tiền đề. Nếu các luật thoã mãn, thuộc tính kết luận sẽ được ghi nhận.

Mở đầu 23 II. Các hệ thống sản xuất (production systems) a. Các hệ thống sản xuất Post Hệ thống sản xuất được Post sử dụng trong logic ký hiệu (symbolic logic) từ những năm 1943. Theo ông, rất nhiều hệ thống toán học và logic được viết dưới dạng các luật sản xuất (production rule).

Các luật còn được gọi là quy tắc viết lại (rewrite rules) thường được dùng để định nghĩa văn phạm của một ngôn ngữ. Các ngôn ngữ lập trình thường được định nghĩa từ dạng Backus - Naur (BNF). Ý tưởng cơ bản của Post là xuất phát từ một xâu vào (input string), được gọi là tiền đề (antecedent), sản xuất ra một xâu kết quả mới khác (consequent). Mỗi sản xuất có dạng : < xâu tiền đề > → < xâu kết quả > Dấu mũi tên → chỉ ra rằng xâu vào bên trái được chuyển (transformation) thành xâu kết quả bên phải.

Ví dụ : Để đi qua các ngã ba, ngã tư trong thành phố : Đèn đỏ sáng → Dừng Đèn xanh sáng → Đi Để chữa trị bệnh sốt : Bệnh nhân sốt → Cho uống thuốc Aspirin Các luật có thể có nhiều tiền đề : Bệnh nhân sốt AND Sốt trên 39 0C → Đi khám bác sĩ Chú ý phép AND không phải là một phần của xâu mà cho phép nối kết nhiều tiền đề lại với nhau. Một hệ thống sản xuất Post gồm một nhóm các luật sản xuất, chẳng hạn (chú ý các số thứ tự đặt trong dấu ngoặc chỉ dùng để trình bày) : (1) Car won’t start → Check battery (2) Car won’t start → Check gas (3) Check battery AND Battery bad → Replace battery (4) Check gas AND No gas → Fill gas tank Nếu đưa vào xâu Car won’t start, thì các luật (1) và (2) có thể được áp dụng để sinh ra các xâu Check battery và Check gas. Tuy nhiên, không tồn tại cơ chế để có thể áp dụng đồng thời cả hai cho xâu vào này. Chỉ có thể áp dụng được một luật trong hai, hoặc không.

Nếu đưa vào xâu Battery bad và Check battery thì luật 3 có thể được áp dụng để sinh ra xâu Replace battery. Không đặt ra thứ tự các luật trong hệ thống. Sau khi đảo thứ tự, chẳng hạn (4) (2) (1) (3) thì hệ thống giữ nguyên giá trị : (4) Check gas AND No gas → Fill gas tank (2) Car won’t start → Check gas (1) Car won’t start → Check battery (3) Check battery AND Battery bad → Replace battery Mặc dù các sản xuất Post được sử dụng trong hệ chuyên gia nhưng chúng không thuận tiện cho việc viết các trình ứng dụng. Hạn chế chủ yếu của các sản xuất Post khi lập trình là không có các chiến lược điều khiển (control strategy) để định hướng sử dụng luật.

Một hệ thống Post cho phép áp dụng luật cho một xâu vào theo cách tuỳ ý mà không chỉ ra cụ thể làm thế nào để luật được áp dụng. Chính sự lựa chọn luật một cách ngẫu nhiên như vậy làm thời gian tìm kiếm trở nên đáng kể trong các hệ thống có nhiều luật. Các thuật toán Markov Để cải tiến việc áp dụng các luật sản xuất, năm 1954, Markov đã đề xuất một cấu trúc điều khiển cho hệ thống sản xuất. Một thuật toán Markov (Markov algorithm) là một nhóm các sản xuất có thứ tự được áp dụng theo một thứ tự ưu tiên cho một xâu vào.

Nếu luật có ưu tiên cao nhất không được áp dụng, thì qui tắc tiếp theo sẽ được áp dụng và cứ thế tiếp tục. Thuật toán Markov dừng nếu : (1) sản xuất cuối cùng không được áp dụng cho xâu, hoặc (2) nếu sản xuất đó là cuối một giai đoạn được áp dụng. Thuật toán Markov cũng có thể được áp dụng cho một xâu con (substring) của một xâu, bắt đầu từ bên trái : Ví dụ : Cho luật AB → HIJ Khi đó, áp dụng cho xâu vào GABKAB sẽ tạo ra xâu mới GHIJKAB. Từ đó, ta nhận được tiếp tục xâu mới GHIJKHIJ.

Ký tự đặc biệt ε biều diễn xâu rỗng (null string), là xâu không có ký tự nào. Ví dụ : Luật A→ε Là xóa tất cả các xuất hiện của A trong một xâu. Các ký hiệu đặc biệt khác có vai trò như biến biểu diễn một ký tự bất kỳ được viết bởi các chữ cái thường a, b, c. Ví dụ , luật AxB→BxA Cho phép nghịch đảo các ký tự A và B.

Các chữ cái Hy lạp α, β dùng để chỉ các dấu đặc biệt của xâu. Ở đây, các chữ cái Hy lạp dùng để phân biệt với bảng chữ cái đang sử dụng. Một ví dụ về thuật toán Markov là di chuyển chữ cái đầu tiên đến vị trí cuối cùng của một xâu vào. Những luật được ưu tiên áp dụng cao nhất là (1), thấp hơn là (2), rồi (3), v.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ