1. Trang chủ
  2. » Luận Văn - Báo Cáo

CÁC PHƯƠNG PHÁP BIỄU DIỄN TRI THỨC THUẬT GIẢI HEURISTIC

24 986 0

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

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 24
Dung lượng 289,76 KB

Nội dung

Khái niệm về biểu diễn tri thức Biểu diễn tri thức Knowledge Representation là sự diễn đạt và thể hiện củatri thức dưới những dạng thích hợp có thể tổ chức một cơ sở tri thức của hệthốn

Trang 1

CHƯƠNG I KHÁI NIỆM VỀ TRI THỨC VÀ BIỂU DIỄN TRI THỨC 2

1 Khái niệm về tri thức (knowledge) 2

2 Khái niệm về biểu diễn tri thức 3

3 Ví dụ về biểu diễn tri thức 4

4 Phân loại biểu diễn tri thức 5

CHƯƠNG II CÁC PHƯƠNG PHÁP BIỄU DIỄN TRI THỨC 7

1 Biểu diễn dựa trên logic hình thức 7

2 Hệ luật dẫn 8

3 Mạng ngữ nghĩa 9

4 Các khung 10

CHƯƠNG III SUY DIỄN TỰ ĐỘNG 11

1 Khái niệm 11

2 Hợp giải trong tri thức dạng logic 11

3 Suy diễn tiến 11

4 Suy diễn lùi 12

5 Suy diễn hỗn hợp 12

CHƯƠNG IV THUẬT GIẢI HEURISTIC 13

1 Khái niệm 13

2 Hàm Heuristic 14

CHƯƠNG V CÀI ĐẶT THUẬT GIẢI HEURISTIC 20

1 Giải thuật trên maple 20

CHƯƠNG VI KẾT QUẢ ĐẠT ĐƯỢC 23

CHƯƠNG VII TÀI LIỆU THAM KHẢO 24

1 Tài liệu 24

Trang 2

CHƯƠNG I KHÁI NIỆM VỀ TRI THỨC VÀ BIỂU

DIỄN TRI THỨC

1 Khái niệm về tri thức (knowledge)

 Tri thức không có được định nghĩa chính xác

 Tri thức hay kiến thức có nhiều ý nghĩa tùy theo văn cảnh, nhưng lúc nàocũng có liên quan với những khái niệm như hiểu biết, ý nghĩa, thông tin, giảngdạy, giáo dục (quá trình giáo dục), giao tiếp, diễn tả, học hỏi, suy luận, nhận thức

Trang 3

2 Khái niệm về biểu diễn tri thức

 Biểu diễn tri thức (Knowledge Representation) là sự diễn đạt và thể hiện củatri thức dưới những dạng thích hợp có thể tổ chức một cơ sở tri thức của hệthống

Xây dựng một mô hình biểu diễn tri thức để đưa tri thức lên máy tổ chức lưu

trữ và xử lý, đặc biệt là cho suy luận giải các vấn đề, các bài toán

Mô hình biểu diễn tri thức là một hệ thống phức tạp, đa dạng và trừu tượng

bao gồm nhiều thành tố với những mối liên hệ tác động qua lại như:

Các khái niệm (concepts), với những mối liên hệ cơ bản nhất định

(relationships)

Các quan hệ (relations): xét trên góc độ toán học trong “Toán rời rạc”.

Các toán tử (operators), phép toán, các biểu thức hay công thức

Các hàm (functions)

Các luật (rules)

Sự kiện (facts)

Các thực thể hay đối tượng, một phần tử cụ thể (objects).

 Các công cụ cho việc biểu diễn tri thức:

 Các cấu trúc dữ liệu cơ bản: dãy, danh sách, tập hợp, mẫu, …

 Các cấu trúc dữ liệu trừu tượng: ngăn xếp, hàng đợi

 Các mô hình toán học đồ thị: đồ thị, cây

 Các mô hình đối tượng

 Các ngôn ngữ đặc tả tri thức

Trang 4

3 Ví dụ về biểu diễn tri thức

Kiến thức về một tam giác cần cho việc giải toán tam giác được biểu diễn gồm:

 Một tập hợp các biến thực, mỗi biến đại diện cho một yếu tố của tamgiác

 Một tập hợp các công thức liên hệ tính toán trên các yếu tố của tamgiác

 Tập các biến trong tam giác gồm:

 a, b, c : 3 cạnh của tam giác

 , , góc đối diện với 3 cạnh tương ứng trong tam giác

 ha, hb, hc : 3 đường cao tương ứng với 3 cạnh của tam giác

 S : diện tích tam giác

 P : nửa chu vi của tam giác

 R : bán kính đường tròn ngoại tiếp tam giác

Trang 5

4 Phân loại biểu diễn tri thức

 Phân loại theo các hệ thống tin học:

 Hệ thống thông tin, MIS, GIS, …

 Hệ CSTT, HCG, HTGQĐ

 Hệ quản ý kho tài liệu theo ngữ nghĩa

 V.v…

 Phân loại theo lĩnh vực ứng dụng thực tế

 Giáo dục (E-learning, E-education, …)

 Phần mềm dạy học

 Phần mềm tra cứu kiến thức

 Phần mềm hỗ trợ giải bài tập (có suy luận dựa trên CSTT)

 Phần mềm kiểm tra đánh giá kiến thức

 Thương mại (E-commerce)

 Internet và các search engineSemantic Web, và Semantic Search

 Kinh tế

 Tài nguyên, môi trường

Trang 6

 V.v…

 Các ứng dụng cụ thể

 Hệ tra cứu kiến thức, các tự điển kiến thức trên máy tính

 Tra cứu kiến thức Toán: Hình học, đại số, giải tích, đại sốtuyến tính, …

 Tra cứu kiến thức Vật lý

 Tra cứu kiến thức Hóa học

 Hệ tra giải bài toán dựa trên CSTT

 Hệ giải bài tập HHP, Đại số, HHGT, …

 Hệ giải bài toán điện xoay chiều, điện 1 chiều

 Hệ giải một số lớp bài toán Hóa học

 Phần mềm dạy học

 Phần mềm dạy học tiếng Anh

 V.v…

 Hệ quản lý và hỗ trợ tìm kiếm các văn bản về CNTT

 Hệ quản lý kho tài nguyên học tập về CNTT (hoặc ngoại ngữ, vật,hóa, …)

 Hệ quản lý văn bản cho một UBND cấp phường, quận, …

Trang 7

CHƯƠNG II CÁC PHƯƠNG PHÁP BIỄU DIỄN

TRI THỨC

1 Biểu diễn dựa trên logic hình thức

 Sử dụng các biểu thức logic hình thức trong một hệ thống logic để diễn đạtcác sự kiện và các luật trong cơ sở tri thức

 Phép tính logic vị từ cấp 1 được sử dụng phổ biến nhất và có cả một ngônngữ lập trình hỗ trợ cho phương phát này Đó là ngôn ngữ PROLOG

 Trong ngôn ngữ PROLOG, chỉ cần khai báo các sự kiện và các luật Hệthống sẽ thực hiện giải quyết vấn đề được yêu cầu trên tri thức được khai báo

Mô hình: : (Predicates, Clauses)

Predicates là tập gồm các vị từ, mỗi vị từ biểu diễn cho phát biểu nói về một

tính chất của đối tượng hay một quan hệ giữa các đối tượng mỗi vị từ xác địnhbởi tên vị từ và các kiểu tham biến

Ví dụ: gioi(x:sinhvien), vg(v: vector, P: plane)

Clauses là tập gồm các biểu thức vị từ gồm 2 dạng fact và rule.

=> Nên dùng PROLOG, công cụ xử lý biểu diễn theo vị từ.

Predicates

us(integer, integer)uscln(integer, integer, integer)clauses

uscln(A,0,A)

uscln(0,A,A)

uscln(A,B,D) :- A > B, A1 = A-B, uscln(A1,B,D)

Trang 8

uscln(A,B,D) :- A <= B, B1 = B-A, uscln(A,B1,D).

goal

uscln(24,36, What)Run  What = 12

2 Hệ luật dẫn

 Mỗi luật dẫn được phát biểu dưới dạng

If <giả thiết> then <kết luận>

Mô hình: (Facts, Rules)

Facts: là tập ký hiệu đại diện cho các sự kiện.

Rules là tập luật dẫn trong đó <giả thiết> và <kết luận> là các tập hợp

 Ví dụ: một phần kiến thức về một tam giác trong hình học

 Các yếu tố của tam giác, mỗi sự kiện là một phát biểu nói lên tính xácđịnh của yếu tố  ký hiệu cho các sự kiện: a, b, c, A, B, C, S, p, R, ha, hb,

Trang 9

 Mạng ngữ nghĩa (semantic network) có dạng một đồ thị các nút và các cung:

 Các nút thể hiện các khái niệm, các đối tượng

 Các cung thể hiện các quan hệ giữa các đối tượng

 Dựa trên mạng ngữ nghĩa ta nhận biết tri thứ một cách trực quan giúp thiết

kế các xử lý như: thêm/ bớt các khái niệm hay các đối tượng, tìm kiếm thông tin

Mô hình tri thức dạng đồ thị: (Nodes, Arcs)

Nodes gồm các yếu tố hay các bộ phận cấu thành tri thức Các node

có thể là khái niệm, đối tượng, sự kiện, cấu trúc trừu tượng, …

Arcs gồm các liên kết biểu diễn cho các quan hệ giữa các nodes Các

quan hệ có thể là: IS_A, HAS_A, …

 Tổ chức lưu trữ: Dựa trên các kỹ thuật biểu diễn và tổ chức lưu trữ

a : cạnh a của tam giác

b : cạnh b của tam giác

Trang 10

S : diện tích tam giác

…End_variablesBegin_formulas

A + B + C = pi : công thức về góc tam giác

S = sqrt(p*(p-a)*(p-b)*(p-c)) : Công thức Hê-rông

 Khung cơ bản: gồm các thành phần cơ bản sau:

 Tên đối tượng (loại khung)

 Các thuộc tính

 Giá trị của các thuộc tính

 Khung lớp: thể hiện các tính chất tổn quát của một lớp các đối tượng, vớinhững quan hệ kế thừa và cấu trúc phân cấp

Trang 11

CHƯƠNG III SUY DIỄN TỰ ĐỘNG

1 Khái niệm

 Suy diễn nhằm vận dụng kiến thức đã biết trong quá trình lập luận giải quyếtvấn đề trong đó quan trọng nhất là các chiến lược điều khiển phát sinh những sựkiện mới từ các sự kiện đã có

 Suy diễn tự động: là quá trình suy diễn được thuật giải hóa và có thể cài đặtthành chương trình máy tính

 Các kỹ thuật cơ bản:

 Suy diễn tiến

 Suy diễn lùi

2 Hợp giải trong tri thức dạng logic

 Phương pháp: thực hiện quá trình phát sinh sự kiện mới bằng cách sử dụngcác luật suy diễn cơ bản trên các biểu thức logic như: Modus Ponens, ModusTollens, tam đoạn luận

 Trong logic vị từ: quá trình hợp giải có thể được cài đặt dựa trên kỹ thuậthợp nhất (unification) và quay lui (backtracking

 PROLOG là một ngôn ngữ lập trình được thiết kế với chức năng suy diễntheo phương pháp này

3 Suy diễn tiến

 Phương pháp: suy dẫn từ giả thiết đi đến kết luận Chiến lược này được bắtđầu bằng tập sự kiện đã biết, rút ra các sự kiện mới nhờ dùng các luật mà phầngiả thiết khớp với sự kiện đã biết, và tiếp tục quá trình này cho đến khi thấytrạng thái đích, hoặc cho đến khi không còn luật nào khớp được các sự kiện đãbiết hay được sự kiện suy luận

Trang 12

 Trong áp dụng cụ thể phương pháp thường sử dụng kết hợp với các qui tắcheuristic trong việc chọn luật.

4 Suy diễn lùi

 Phương pháp: truy ngược từ kết luận trở về giả thiết, phương pháp này đượctiến hành bằng cách truy ngược từ mục tiêu cần đạt trở về phần giả thiết của bàitoán bằng cách áp dụng các luật trong cơ sở tri thức

 Quá trình suy diễn lùi này sẽ phát sinh một sơ đồ cây mục tiêu kèm theo một

cơ chế quay lui và lời giải sẽ được tìm thấy khi tất cả các mục tiêu ở các nút lácủa cây mục tiêu đều thuộc về những sự kiện đã biết

 Trong áp dụng cụ thể phương pháp thường sử dụng kết hợp với các qui tắcheuristic trong việc chọn luật

5 Suy diễn hỗn hợp

 Phương pháp: kết hợp cả 2 quá trình suy diễn tiến và suy diễn lùi nhằm khắcphục khuyết điểm của mỗi phương pháp và năng cao hiệu quả của quá trình suydiễn trong áp dụng cụ thể

 Nhược điểm của suy diễn tiến: không cảm nhận được sự gần tới đích

 Nhược điểm của suy diễn lùi: thường dẫn tới sự phân nhánh lớn và khôngcảm nhận được sự cần chuyển hướng dòng suy nghĩ

Trang 13

CHƯƠNG IV THUẬT GIẢI HEURISTIC

1 Khái niệm

 Thuật giải Heuristic là một sự mở rộng khái niệm thuật toán Nó thể hiện cách giải bài toán với các đặc tính sau:

 Thường tìm được lời giải tốt (nhưng không chắc là lời giải tốt nhất)

 Giải bài toán theo thuật giải Heuristic thường dễ dàng và nhanh chóng đưa ra kết quả hơn so với giải thuật tối ưu, vì vậy chi phí thấp hơn

 Thuật giải Heuristic thường thể hiện khá tự nhiên, gần gũi với cách suy nghĩ và hành động của con người

 Có nhiều phương pháp để xây dựng một thuật giải Heuristic, trong đó người ta thường dựa vào một số nguyên lý cơ bản như sau:

 Nguyên lý vét cạn thông minh: Trong một bài toán tìm kiếm nào đó,khi không gian tìm kiếm lớn, ta thường tìm cách giới hạn lại không giantìm kiếm hoặc thực hiện một kiểu dò tìm đặc biệt dựa vào đặc thù của bàitoán để nhanh chóng tìm ra mục tiêu

 Nguyên lý tham lam (Greedy): Lấy tiêu chuẩn tối ưu (trên phạm vitoàn cục) của bài toán để làm tiêu chuẩn chọn lựa hành động cho phạm vicục bộ của từng bước (hay từng giai đoạn) trong quá trình tìm kiếm lờigiải

 Nguyên lý thứ tự: Thực hiện hành động dựa trên một cấu trúc thứ tựhợp lý của không gian khảo sát nhằm nhanh chóng đạt được một lời giảitốt

2 Hàm Heuristic

 Trong việc xây dựng các thuật giải Heuristic, người ta thường dùng các hàmHeuristic Đó là các hàm đánh già thô, giá trị của hàm phụ thuộc vào trạng thái

Trang 14

hiện tại của bài toán tại mỗi bước giải Nhờ giá trị này, ta có thể chọn được cáchhành động tương đối hợp lý trong từng bước của thuật giải.

 Bài toán hành trình ngắn nhất – ứng dụng nguyên lý Greedy

Bài toán: Hãy tìm một hành trình cho một người giao hàng đi qua n

điểm khác nhau, mỗi điểm đi qua một lần và trở về điểm xuất phát sao chotổng chiều dài đoạn đường cần đi là ngắn nhất Giả sử rằng có con đường nốitrực tiếp từ giữa hai điểm bất kỳ

 Tất nhiên ta có thể giải bài toán này bằng cách liệt kê tất cả con đường

có thể đi, tính chiều dài của mỗi con đường đó rồi tìm con đường có chiềudài ngắn nhất Tuy nhiên, cách giải này lại có độ phức tạp 0(n!) (một hànhtrình là một hoán vị của n điểm, do đó, tổng số hành trình là số lượng hoán

vị của một tập n phần tử là n!) Do đó, khi số đại lý tăng thì số con đườngphải xét sẽ tăng lên rất nhanh

 Một cách giải đơn giản hơn nhiều và thường cho kết quả tương đối tốt

là dùng một thuật giải Heuristic ứng dụng nguyên lý Greedy Tư tưởng củathuật giải như sau:

 Từ điểm khởi đầu, ta liệt kê tất cả quãng đường từ điểm xuất phát cho đến nđại lý rồi chọn đi theo con đường ngắn nhất

 Khi đã đi đến một đại lý, chọn đi đến đại lý kế tiếp cũng theo nguyên tắctrên Nghĩa là liệt kê tất cả con đường từ đại lý ta đang đứng đến những đại

lý chưa đi đến Chọn con đường ngắn nhất Lặp lại quá trình này cho đếnlúc không còn đại lý nào để đi

 Bạn có thể quan sát hình sau để thấy được quá trình chọn lựa Theo nguyên

lý Greedy, ta lấy tiêu chuẩn hành trình ngắn nhất của bài toán làm tiêuchuẩn cho chọn lựa cục bộ Ta hy vọng rằng, khi đi trên n đoạn đường ngắnnhất thì cuối cùng ta sẽ có một hành trình ngắn nhất Điều này không phảilúc nào cũng đúng Với điều kiện trong hình tiếp theo thì thuật giải chochúng ta một hành trình có chiều dài là 14 trong khi hành trình tối ưu là 13

Trang 15

với kết quả tối ưu Trong khi đó, độ phức tạp của thuật giải Heuristic nàychỉ là 0(n2).

Hình 4.1.1 : Giải bài toán sử dụng nguyên lý Greedy

 Tất nhiên, thuật giải theo kiểu Heuristic đôi lúc lại đưa ra kết quảkhông tốt, thậm chí rất tệ như trường hợp ở hình sau

Trang 16

 Bài toán phân việc – ứng dụng của nguyên lý thứ tự

Bài toán: Một công ty nhận được hợp đồng gia công m chi tiết máy

J1, J2, … Jm Công ty có n máy gia công lần lượt là P1, P2, … Pn Mọi chitiết đều có thể được gia công trên bất kỳ máy nào Một khi đã gia công mộtchi tiết trên một máy, công việ sẽ tiếp tục cho đến lúc hoàn thành, không thể

bị cắt ngang Để gia công một việc J1 trên một máy bất kỳ ta cần dùng mộtthời gian tương ứng là t1 Nhiệm vụ của công ty là phải làm sao gia côngxong toàn bộ n chi tiết trong thời gian sớm nhất

 Chúng ta xét bài toán trong trường hợp có 3 máy P1, P2, P3 và 6 côngviệc với thời gian là t1=2, t2=5, t3=8, t4=1, t5=5, t6=1 ta có một phương

án phân công (L) như hình sau:

 Theo hình này, tại thời điểm t=0, ta tiến hành gia công chi tiết J2 trên máyP1, J5 trên P2 và J1 tại P3 Tại thời điểm t=2, công việc J1 được hoàn

Trang 17

P2 vẫn đang thực hiện công việc đầu tiên mình … Sơ đồ phân việc theohình ở trên được gọi là lược đồ GANTT Theo lược đồ này, ta thấy thời gian

để hoàn thành toàn bộ 6 công việc là 12 Nhận xét một cách cảm tính ta thấyrằng phương án (L) vừa thực hiện là một phương án không tốt Các máyP1 và P2 có quá nhiều thời gian rãnh

 Thuật toán tìm phương án tối ưu Lo cho bài toán này theo kiểu vét cạn có

độ phức tạp cỡ O(mn) (với m là số máy và n là số công việc) Bây giờ ta xétđến một thuật giải Heuristic rất đơn giản (độ phức tạp O(n)) để giải bài toánnày

 Sắp xếp các công việc theo thứ tự giảm dần về thời gian gia công

 Lần lượt sắp xếp các việc theo thứ tự đó vào máy còn dư nhiều thời giannhất

 Với tư tưởng như vậy, ta sẽ có một phương án L* như sau:

 Rõ ràng phương án L* vừa thực hiện cũng chính là phương án tối ưu củatrường hợp này vì thời gian hoàn thành là 8, đúng bằng thời gian của côngviệc J3 Ta hy vọng rằng một giải Heuristic đơn giản như vậy sẽ là mộtthuật giải tối ưu Nhưng tiếc thay, ta dễ dàng đưa ra được một trường hợp

mà thuật giải Heuristic không đưa ra được kết quả tối ưu

Trang 18

 Nếu gọi T* là thời gian để gia công xong n chi tiết máy do thuật giảiHeuristic đưa ra và T0 là thời gian tối ưu thì người ta đã chứng minh đượcrằng

 Trong trường hợp M lớn thì tỷ số 1/M xem như bằng 0 Như vậy, sai số tối

đa mà ta phải chịu là T* ≤ 4/3 T0, nghĩa là sai số tối đa là 33% Tuy nhiên,khó tìm ra được những trường hợp mà sai số đúng bằng giá trị cực đại, dùtrong trường hợp xấu nhất Thuật giải Heuristic trong trường hợp này rõràng đã cho chúng ta những lời giải tương đối tốt

Trang 20

CHƯƠNG V CÀI ĐẶT THUẬT GIẢI HEURISTIC

1 Giải thuật trên maple

Trang 23

CHƯƠNG VI KẾT QUẢ ĐẠT ĐƯỢC

Do thời gian có hạn nên chương trình còn khá đơn giản và hạn chế Tuy nhiên đã cơbản cài đặt được thuật toán HEURISTIC trên máy tính để giải toán nguyên hàm

Tiếp tục hoàn thiện chương trình áp dụng cho việc xử lý và giải toán tích phân

Ngày đăng: 10/04/2015, 09:58

TỪ KHÓA LIÊN QUAN

w