Khụng giải (nonresolution)

Một phần của tài liệu đồ án công nghệ thông tin Ứng dụng công nghệ phần mềm trong bài toán hệ chuyên gia.Giải quyết các bài toán hệ chuyên gia dựa trên các quy trình công nghệ phần mềm. (Trang 43)

Trong phương phỏp giải, khụng cú sự khỏc nhau giữa mục đớch(goal), giả thiết và cỏc luật. Chỳng được thờm vào danh sỏch cỏc axiom và tạo ra cỏc luật giải của suy diễn. Kiếu xử lý này cú thể gõy nhầm lẫn khi chỳng ta mất phương hướng về điều chỳng ta cần chứng minh. Kỹ thuật khụng giải hay cũn gọi là kỹ thuật suy luận tự nhiờn cố gắng vượt qua vấn đề này bằng cỏch chứng minh một số phỏt biểu theo cỏch hướng mục tiờu. Để hoàn thành, kỹ thuật sử dụng luật suy diễn lựi theo kiểu:

Để chứng minh [H∧(AB)C]:

Nếu (BC) thỡ chứng minh HA

Vớ dụ: giả sử cần phải chứng minh “Hựng thớch đội búng Thế Cụng” với giả thiết rằng “Mọi người sống ở Hà Nội đều thớch đội búng đỏ Thể Cụng”. Nếu ta cú “Hựng sống ở Hà Nội” ta cú thể chứng minh được nhận định trờn. Biểu diễn vấn đề này một cỏch hỡnh thức như sau:

Tiền đề:

Sống ở Hà Nội (Hựng) ∧Sống ở Hà Nội (X)  Thớch đội búng Thể Cụng(X)

Mục tiờu:

Thớch đội búng Thể Cụng (Hựng)

Để chứng minh “Thớch đội búng Thể Cụng(Hựng)”, ta duyệt trong tiền đề những sự kiện cho phộp đưa ra kết luận “Thớch đội búng Thể Cụng (Hựng)”. Nếu tỡm thấy, nú trở thành một goal con mới cần được chứng minh. Trong vớ dụ trờn ta thấy cần phải chứng minh một subgoal mới “Sống ở Hà Nội(Hựng)”

3.2.3. Suy diễn tiến3.2.3.1 Định nghĩa 3.2.3.1 Định nghĩa

Quỏ trỡnh tỡm giải phỏp cho một vấn đề thường được bắt đầu bằng cỏch thu thập cỏc thụng tin. Cỏc thụng tin này sau đú được suy luận một cỏch logic. Vớ dụ, một bỏc sĩ khi khỏm bệnh thường hỏi bệnh nhõn những cõu hỏi về triệu chứng bệnh như đau họng, sốt cao, hoặc cỏc triệu chứng tương tự. Sau đú người bỏc sĩ sẽ sử dụng cỏc thụng tin này để suy diễn ra một kết luận về bệnh của bệnh nhõn hoặc anh ta đưa ra một giả thuyết mới về bệnh tật của bệnh nhõn để tiếp tục hỏi. Kiểu suy diễn này được mụ hỡnh trong hệ chuyờn gia sử dụng chiến lược tỡm kiếm hướng dữ liệu, được gọi là suy diễn tiến. Núi chung suy diễn tiến tương tự như modus ponens

Suy diễn tiến là chiến lược suy diễn bắt đầu bằng tập hợp cỏc fact đó biết, tỡm ra cỏc fact mới bằng cỏch sử dụng cỏc luật cú cỏc giả thiết phự hợp với fact. Quỏ trỡnh này tiếp diễn cho đến khi đạt được một trạng thỏi đớch hoặc khụng cũn luật nào cú cỏc giả thiết phự hợp với fact để suy ra fact mới.

Một ứng dụng đơn giản nhất của suy diễn tiến trong hệ chuyờn gia dựa trờn luật được mụ tả như sau. Hệ thống đầu tiờn tỡm kiếm cỏc thụng tin về vấn đề từ

Đưa thụng tin vào trong bộ nhớ làm việc Cũn tiền đề trong bộ nhớ làm việc? Thờm kết luận vào bộ nhớ làm việc Cũn luật ?

Kiểm tra luật tiếp theo

Dừng Đỳng

Đỳng Sai

Sai Kiểm tra luật đầu tiờn

người sử dụng và đặt cỏc thụng tin này trong bộ nhớ làm việc. Mụ tơ suy diễn sẽ duyệt qua cỏc luật theo một thứ tự đó định trước để tỡm kiếm một luật cú cỏc giả thiết phự hợp với nội dung của bộ nhớ làm việc. Nếu tỡm ra luật, nú thờm kết luận của luật vào trong bộ nhớ làm việc (gọi là chỏy luật). Quỏ trỡnh này cứ tiếp diễn và kiểm tra cỏc luật để tỡm ra cỏc luật phự hợp mới. Trong mỗi chu trỡnh mới, cỏc luật đó được chỏy sẽ bị bỏ qua. Quỏ trỡnh tiếp diễn đến khi khụng cũn luật nào phự hợp được tỡm ra. Khi đú, bộ nhớ làm việc chứa cỏc thụng tin do người dựng cung cấp và do hệ thống suy diễn ra.

Vớ dụ: Một bệnh nhõn tới gặp bỏc sĩ để khỏm bệnh. Cụng việc của người bỏc sĩ là tỡm ra bệnh của bệnh nhõn sử dụng cỏc tri thức chuyờn mụn của anh ta và cỏc thụng tin do bệnh nhõn cung cấp. Để đơn giản, ta giới hạn vấn đề trong chẩn đoỏn bệnh nhiễm khuẩn đường hụ hấp.

Ta cú hệ thống luật như sau:

Luật 1: IF Bệnh nhõn bị đau họng

AND Nghi ngờ bệnh nhõn bị nhiễm khuẩn

THEN Chẩn đoỏn bệnh nhõn bị nhiễm khuẩn đường hụ hấp Luật 2: IF Thõn nhiệt bệnh nhõn lớn hơn 370

THEN Bệnh nhõn bị sốt

Luật 3: IF Bệnh nhõn bị ốm hơn một thỏng AND Bệnh nhõn bị sốt

THEN Nghi ngờ bệnh nhõn bị nhiễm khuẩn Giả sử sau khi thăm khỏm, bỏc sĩ đó biết cỏc thụng tin sau: 1. Thõn nhiệt bệnh nhõn 390

2. Bệnh nhõn bị ốm đó hơn 2 thỏng 3. Bệnh nhõn bị đau họng

Cỏc thụng tin này sẽ được thờm vào bộ nhớ làm việc. Hệ thống sẽ duyệt qua mọi luật và tỡm kiếm cỏc luật cú giả thiết nằm trong bộ nhớ làm việc. Khi hệ thống tỡm được luật phự hợp, nú sẽ đặt kết luận của luật này vào trong bộ nhớ làm việc. Quỏ trỡnh này được lặp đi lặp lại. Khi hệ thống khụng tỡm được luật phự hợp, quỏ trỡnh này sẽ dừng lại.

Từ cỏc thụng tin ban đầu của bệnh nhõn, hệ thống tỡm ra cỏc thụng tin mới từ cỏc luật:

2. Nghi ngờ bệnh nhõn bị nhiễm khuẩn

3. Chẩn đoỏn bệnh nhõn bị nhiễm khuẩn đường hụ hấp

Hệ thống suy diễn tiến tỡm ra mọi kết luận cú từ cỏc thụng tin ban đầu. Trong một số ứng dụng, cỏch tiếp cận này rất phự hợp. Tuy nhiờn, trong cỏc ứng dụng khỏc, cỏch tiếp cận này cú thể tạo ra cỏc thụng tin khụng cần thiết. Với vớ dụ trờn nếu thờm vào 2 luật:

Luật 4: IF Bệnh nhõn bị sốt

THEN Bệnh nhõn khụng thể đi ra ngoài Luật 5: IF Bệnh nhõn khụng thể đi ra ngoài

THEN Bệnh nhõn cú thể ở nhà và đọc sỏch

Theo phương phỏp suy diễn tiến, hệ thống cú thể suy diễn ra thụng tin “Bệnh nhõn bị sốt”. Thụng tin này cú thể làm cho hai luật 4 và 5 chỏy. Từ đú ta rỳt ra kết luận “Bệnh nhõn cú thể ở nhà và đọc sỏch”. Thụng tin này cú thể quan trọng với đời sống của người bệnh nhõn nhưng nú hoàn toàn khụng quan trọng với người bỏc sĩ chẩn đoỏn bệnh. Tuy vậy, hệ thống suy diễn tiến khụng cú cỏch nào để biết thụng tin nào là quan trọng, thụng tin nào là khụng quan trọng.

Núi chung, do hệ thống suy diễn tiến khụng cú cỏch nào để biết thụng tin nào là quan trọng, thụng tin nào là khụng quan trọng nờn nú thường thời gian dành cho cỏc thụng tin này nhiều bằng thời gian dành cho cỏc thụng tin hữu ớch khỏc, dẫn đến thời gian suy diễn của hệ thống lõu.

3.2.3.2 Chiến luợc giải quyết mõu thuẫn trong suy diễn tiến

Trong hệ thống suy diễn tiến, hệ thống kiểm tra cỏc luật và tỡm luật nào cú mọi giả thiết nắm trong bộ nhớ làm việc để chỏy. Quỏ trỡnh này được lặp đi lặp lại. Tuy nhiờn, cú nhiều hơn một luật cú thể chỏy, nhưng khụng được hệ thống xem xột đến. Điều này cú thể dẫn đến cỏc kết luận khỏc nhau.

Vớ dụ ta cú luật sau:

Luật 1: IF Chiều này, đội búng Thể Cụng gặp đội Hàng Khụng Việt Nam AND Tụi cú 50.000 đồng

THEN Tụi sẽ đi xem búng đỏ

Luật 2: IF Chiều nay, tại rạp Thỏng 8 chiếu phim “Gỏi nhảy”

AND Tụi cú 50.000 đồng THEN Tụi sẽ đi xem phim

Giả định rằng giả thiết của cả hai luật trờn đều đỳng. Sử dụng cỏch tiếp cận suy diễn tiến, ta cú tỡm ra hai kết luận “Tụi sẽ đi xem búng đỏ” và “Tụi sẽ đi xem phim” xung đột nhau.

Để giải quyết xung đột trong hệ chuyờn gia, ta sử dụng một số chiến lược giải quyết mõu thuẫn. Một chiến lược đơn giản nhất là hệ thống sẽ ngừng suy diễn khi tỡm ra được một kết luận. Trong vớ dụ trờn, ta cú thể mụ hỡnh kết luận của ta dạng “Tụi sẽ đi ?X” với X là “xem búng đỏ” hoặc “xem phim”. Khi hệ thống tỡm được một giỏ trị cho X vớ dụ như “xem búng đỏ”, quỏ trỡnh suy diễn sẽ dừng lại và hệ thống sẽ gợi ý người sử dụng nờn đi xem búng đỏ. Khi sử dụng chiến lược này, thứ tự cỏc luật cú kết luận là kết luận cần suy diễn rất quan trọng.

Một chiến lược khỏc là dựa trờn mức độ ưu tiờn của cỏc luật. Mỗi luật sẽ được gắn một trọng số biểu hiện mức độ quan trọng của nú. Sử dụng chiến lược này trong suy diễn tiến, hệ thống sẽ kiểm tra mọi luật trong một chu trỡnh và sẽ chỏy luật cú mức độ ưu tiờn cao nhất.

Trong vớ dụ trờn, giỏ định rằng gluật 2 cú độ ưu tiờn cao hơn luật 1. Khi đú hệ thống sẽ chỏy luật 2 và đưa ra kết luận “Tụi sẽ đi xem phim”. Với chiến lược này, thứ tự cỏc luật hoàn toàn khụng quan trọng.

Núi chung cỏc chiến lược này khụng phự hợp cho mọi ứng dụng. Để giải quyết đụng độ cho hầu hết cỏc ứng dụng, người ta đưa ra một loạt cỏcchiến lược giải quyết đụng độ.

Chiến lược giải quyết đụng độ là chiến lược chọn thứ tự luật chỏy khi cú nhiều hơn một luật cú thể chỏy.

Trong cỏc hệ thống cú sử dụng chiến lược giải quyết đụng độ, mụ tơ suy diễn sẽ hoạt động theo quỏ trỡnh bao gồm 3 bước nhận biết - quyết định - hành động trong khi duyệt qua cỏc luật:

1. Nhận biết: Tỡm cỏc luật cú mọi giả thiết phự hợp với cỏc sự kiện đang cú trong bộ nhớ làm việc, cỏc luật này được xỏc định là cú thể chỏy.

3. Hành động: Chỏy luật này và kết luận của luật được thờm vào bộ nhớ làm việc

Bước nhận biết xỏc định luật cú thể chỏy và đặt chỳng vào trong tập đụng độ (conflict set). Bước quyết định sẽ sử dụng một chiến lược để tỡm luật chỏy. Cỏc chiến lược thường được dựng là:

1. Luật đầu tiờn phự hợp trong bộ nhớ làm việc 2. Luật cú mức độ ưu tiờn cao nhất

3. Luật cú nhiều giả thiết

4. Luật cú cỏc giả thiết là cỏc sự kiện mới thờm vào trong bộ nhớ làm việc 5. Khụng chỏy luật đó được chỏy

6. Chỏy mọi luật cú thể chỏy và thờm mỗi kết luận của mỗi luật vào một bộ nhớ làm việc khỏc nhau

Chiến lược thứ nhất được sử dụng trong hầu hết cỏc hệ thống và phụ thuộc vào thứ tự cỏc luật. Trong một số ứng dụng đơn giản, chiến lược này hoạt động hiệu quỏ. Tuy nhiờn, như đó minh hoạ trong vớ dụ trờn chiến lược này cú thể gõy ra một số vấn đề trong một số ứng dụng.

Chiến lược thứ hai sử dụng mức độ ưu tiờn của luật. Chiến lược này nhấn mạnh đến mức độ quan trọng của cỏc luật.

Chiến lược thứ ba sử dụng luật cú nhiều giả thiết. Chiến lược này được dựa trờn một hiện tượng tõm lý là dường như cỏc luật cú nhiều giả thiết đưa ra kết luận đỏng tin cậy hơn cỏc luật cú ớt giả thiết.

Chiến lược thứ tư sử dụng cỏc luật cú cỏc giả thiết là cỏc sự kiện mới thờm vào trong bộ nhớ làm việc. Chiến lược này ỏp dụng cho hệ thống suy diễn với cỏc thụng tin mới được thu thập. Nú dựa vào thời gian xỏc định được một sự kiện trong bộ nhớ làm việc.

Chiến lược thứ năm khụng chỏy cỏc luật đó chỏy nhằm trỏnh trường hợp lặp vụ hạn. Nú thường được sử dụng cựng với cỏc chiến lược khỏc.

Chiến lược thứ sỏu chỏy mọi luật trong tập đụng độ nhưng thờm kết luận của nú vào cỏc bộ nhớ làm việc khỏc nhau. Nú cho phộp hệ thống giữ được cỏc đường suy luận khỏc nhau và xem xột được cỏc giải phỏp khỏc nhau.

Mỗi chiến lược suy diễn trờn đều cung cấp một thứ tự luật để chỏy khỏc nhau. Mỗi chiến lược đều cú ưu, nhược điểm riờng. Lựa chọn chiến lược để chỏy như thế nào cho hiệu quả tuỳ thuộc vào từng hệ thống cụ thể.

3.2.4. Suy diễn lựi3.2.4.1 Định nghĩa 3.2.4.1 Định nghĩa

Chiến lược suy diễn tiến là một kỹ thuật suy diễn phự hợp với cỏc bài toỏn yờu cầu từ cỏc thụng tin đó biết ban đầu, sử dụng suy luận logic rỳt ra cỏc thụng tin mới. Trong cỏc bài toỏn khỏc, chỳng ta bắt đầu với một kết luận và cố gắng chứng minh nú đỳng bằng cỏch thu thập cỏc thụng tin hỗ trợ. Vớ dụ như bỏc sĩ nghi ngờ bệnh nhõn bị nhiễm khuẩn đường hụ hấp. Anh ta cố gắng chứng minh điều này bằng cỏch tỡm ra cỏc triệu chứng thớch hợp. Rừ ràng chiến lược suy diễn tiến khụng thể ỏp dụng trong trường hợp này. Ta phải ỏp dụng một chiến lược suy diễn khỏc hướng mục tiờu. Đú là chiến lược suy diễn lựi.

Chiến lược suy diễn lựi là chiến lược suy diễn cố gắng chứng minh một kết luận bằng cỏch thu thập cỏc thụng tin hỗ trợ.

Hỡnh vẽ 3.3 Sơ đồ suy diễn lựi

Cú luật phự hợp? Thờm giả thiết

của luật vào goal

Cũn goal

KT kết luận tiếp theo

Dừng Đỳng Đỳng Sai Sai Bắt đầu

Kiểm tra luật đầu tiờn Thờm GT vào ds goal Hỏi người dựng và thờm trả lời vào BNLV GT là kết luận của luật khỏc?

Kiểm tra luật tiếp theo Cũn goal? Đỳng Đỳng Sai Sai Goal=KL

Hệ thống suy diễn lựi bắt đầu với một mục tiờu (goal) phải chứng minh. Nú kiểm tra bộ nhớ làm việc để kiểm tra xem goal đó nằm trong bộ nhớ làm việc chưa. Bước này rất cần thiết vỡ cú thể goal đó được chứng minh rồi. Nếu khụng nú sẽ tỡm mọi luật cú goal đứng sau THEN. Cỏc luật dạng này được gọi là cỏc goal rule. Hệ thống sẽ kiểm tra xem cỏc giả thiết của goal rule cú nằm trong bộ nhớ làm việc hay khụng. Cỏc giả thiết của rule goal là kết luận của một luật khỏc nú sẽ được coi là một subgoal. Cỏc giả thiết cũn lại khụng là kết luận của bất cứ luật nào được gọi là cỏc primitive. Hệ thống sẽ yờu cầu người dựng cung cấp thụng tin về primitive này. Cỏc thụng tin do người dựng cung cấp sẽ trợ giỳp cho quỏ trỡnh chứng minh goal ban đầu và cỏc subgoal. Quỏ trỡnh tiếp diễn cho đến khi mọi goal và subgoal đều được kiểm tra.

Đế minh hoạ chiến lược suy diễn lựi ta xột vớ dụ sau: Rule 1:

IF Bệnh nhõn cú dấu hiệu viờm họng

AND Cú bằng chứng cho thấy cơ quan hụ hấp bị nhiễm khuẩn THEN Bệnh nhõn bị nhiễm khuẩn đường hụ hấp

Rule 2:

IF Họng bệnh nhõn bị đỏ

THEN Bệnh nhõn cú dấu hiệu viờm họng Rule 3:

IF Bệnh nhõn cảm thấy khú thở AND Bệnh nhõn bị sốt

THEN Cú bằng chứng cho thấy cơ quan hụ hấp bị nhiễm khuẩn

Mục tiờu đạt ra là phải chứng minh kết luận “Bệnh nhõn bị nhiễm khuẩn đường hụ hấp” tức là kết luận của Rule1. Để chứng minh kết luận này, chiến lược suy diễn lựi bắt đầu bằng cỏch chọn goal rule Rule1. Sau đú nú sẽ chứng minh cỏc giả thiết của luật này. Do cả hai giả thiết của luật này đều là kết luận của luật khỏc nờn chỳng trở thành cỏc sub goal và cần được chứng minh. Để chứng minh “Bệnh nhõn cú dấu hiệu viờm họng”, hệ thống sẽ kiểm tra cỏc giả thiết của Rule2. Để chứng minh “Cú bằng chứng cho thấy cơ quan hụ hấp bị nhiễm khuẩn”, hệ thống sẽ kiểm tra cỏc giả thiết của Rule3. Cỏc giả thiết của cả hai luật này đều khụng là kết luận của bất kỳ luật nào khỏc nờn chỳng là cỏc primitive, cần phải hỏi bệnh nhõn về cỏc giả thiết này. Từ cỏc trả lời của bệnh nhõn ta cú thể xỏc định được kết luận ban đầu “Bệnh nhõn bị nhiễm khuẩn đường hụ hấp” cú đỳng hay khụng.

3.2.4.2 Chiến lược giải quyết đụng độ trong suy diễn lựi

Cỏc chiến lược giải quyết đụng độ trong suy diễn lựi tương tự như cỏc chiến lược giải quyết đụng độ trong suy diễn tiến.

3.2.4.3 Lịch cỏc goal

Mọi hệ thống suy diễn lựi đều cần ớt nhất một goal để chứng minh. Tuy nhiờn, trong nhiều ứng dụng hệ thống cần phải chứng minh một loạt cỏc goal. Điều này

Một phần của tài liệu đồ án công nghệ thông tin Ứng dụng công nghệ phần mềm trong bài toán hệ chuyên gia.Giải quyết các bài toán hệ chuyên gia dựa trên các quy trình công nghệ phần mềm. (Trang 43)