mạng ngữ nghĩa

31
Hà Nội 01 - 2012 BTL Trí tuệ nhân tạo Giải bài toán tam giác sử dụng mạng ngữ nghĩa the MỤC LỤC BẢNG PHÂN CÔNG CÔNG VIỆC............................4 Nhóm 8_KHMT1-K4 1 BỘ CÔNG THƯƠNG TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN BÀI TẬP LỚN MÔN: TRÍ TUỆ NHÂN TẠO Đề tài : GIẢI BÀI TOÁN TAM GIÁC SỬ DỤNG MẠNG NGỮ NGHĨA Giảng viên hướng dẫn: ThS. Trần Hùng Cường Lớp : KHMT1-K4 Sinh viên thực hiện: Nhóm 8 Hồ Thức Hòa Đào Thị Nhung

Upload: thach1911

Post on 26-Jul-2015

952 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: Mạng ngữ nghĩa

Hà Nội 01 - 2012

BTL Trí tuệ nhân tạo Giải bài toán tam giác sử dụng mạng ngữ nghĩa

the

MỤC LỤC

BẢNG PHÂN CÔNG CÔNG VIỆC.....................................................................4

A. Tổng quan về trí tuệ nhân tạo................................................................5

Nhóm 8_KHMT1-K4 1

BỘ CÔNG THƯƠNG

TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI

KHOA CÔNG NGHỆ THÔNG TIN

BÀI TẬP LỚN

MÔN: TRÍ TUỆ NHÂN TẠO

Đề tài: GIẢI BÀI TOÁN TAM GIÁC

SỬ DỤNG MẠNG NGỮ NGHĨA

Giảng viên hướng dẫn: ThS. Trần Hùng Cường

Lớp : KHMT1-K4

Sinh viên thực hiện: Nhóm 8

Hồ Thức Hòa

Đào Thị Nhung

Bùi Thế Thạch

Nguyễn Văn Hân

Page 2: Mạng ngữ nghĩa

BTL Trí tuệ nhân tạo Giải bài toán tam giác sử dụng mạng ngữ nghĩa

I, Đối tượng và mục tiêu nghiên cứu của trí tuệ nhân tạo:.............................................5

II, Vai trò của trí tuệ nhân tạo:........................................................................................5

III, Các kỹ thuật trí tuệ nhân tạo:.....................................................................................5

IV, Các khái niệm cơ bản:...............................................................................................5

1,Trí tuệ con người (Human Intelligence):..................................................................5

2, Trí tuệ máy:.............................................................................................................6

B. Biểu diễn tri thức sử dụng mạng ngữ nghĩa................................................................6

I, Giới thiệu về mạng ngữ nghĩa:.....................................................................................6

II, Ưu điểm và nhược điểm của mạng ngữ nghĩa:...........................................................8

1. Ưu điểm:..................................................................................................................8

2. Nhược điểm:............................................................................................................8

3. Ứng dụng:................................................................................................................9

III, Bài toán sử dụng mạng ngữ nghĩa để giải bài toán tam giác...................................10

1. Mô tả bài toán:.......................................................................................................10

2. Các bước xây dựng thuật toán:..............................................................................12

IV, Demo chương trình:................................................................................................22

1. Thuật toán cài đặt:.................................................................................................22

2. Giao diện chương trình..........................................................................................23

TÀI LIỆU THAM KHẢO.............................................................................................24

Nhóm 8_KHMT1-K4 2

Page 3: Mạng ngữ nghĩa

BTL Trí tuệ nhân tạo Giải bài toán tam giác sử dụng mạng ngữ nghĩa

BẢNG PHÂN CÔNG CÔNG VIỆC

Họ tên Công việc

Đào Thị NhungPhân tích bài toán, xây dựng mạng ngữ

nghĩa cho bài toán.

Bùi Thế ThạchTrình bày tổng quan trí tuệ nhân tạo,

các khái niệm về mạng ngữ nghĩa.

Nguyễn Văn HânMô tả bài toán, lấy ví dụ cụ thể. Khởi

tạo mảng cài đặt ban đầu.

Hồ Thức Hòa Cài đặt chương trình trên C#

Nhóm 8_KHMT1-K4 3

Page 4: Mạng ngữ nghĩa

BTL Trí tuệ nhân tạo Giải bài toán tam giác sử dụng mạng ngữ nghĩa

A.Tổng quan về trí tuệ nhân tạo

I, Đối tượng và mục tiêu nghiên cứu của trí tuệ nhân tạo:

- Trí tuệ nhân tạo nghiên cứu về cách hành xử thông minh (intelligent behaviour)

với mục tiêu là xây dựng lý thuyết đầy đủ về thông minh để có thể giải thích được hoạt

động thông minh của sinh vật và áp dụng được các hiểu biết vào các máy móc nói

chung, nhằm phục vụ cho con người.

- Theo Winton: mục đích chính của trí tuệ nhân tạo là hướng tới việc xây dựng các

máy tính thông minh hơn, giúp ích cho việc khám phá các quy luật hoạt động sáng tạo

và khả năng trí tuệ của con người.

II, Vai trò của trí tuệ nhân tạo:

- Trí tuệ nhân tạo bao quát rất nhiều lĩnh vực nghiên cứu. Nó nghiên cứu từ các lĩnh

vực tổng quát như máy nhận biết, suy luận logic, đến các bài toán như chơi cờ, chứng

minh định lý.

- Trong các lĩnh vực khác trí tuệ nhân tạo được dùng kỹ thuật hệ thống hoá và tự

động hoá các xử lý tri thức cũng như các phương pháp thuộc lĩnh vực mang tính con

người.

- Trí tuệ nhân tạo nghiên cứu kỹ thuật làm cho máy tính có thể “suy nghĩ một cách

thông minh” và mô phỏng quá trình suy nghĩ của con người khi đưa ra những quyết

định, lời giải. Trên cơ sở đó, thiết kế các chương trình cho máy tính để giải quyết bài

toán.

III, Các kỹ thuật trí tuệ nhân tạo:

- Lý thuyết giải bài toán và suy diễn thông minh.

- Lý thuyết tìm kiếm may rủi.

- Các ngôn ngữ về Trí tuệ nhân tạo.

- Lý thuyết thể hiện tri thức và hệ chuyên gia.

- Lý thuyết nhận dạng và xử lý tiếng nói.

- Người máy.

IV, Các khái niệm cơ bản:

1,Trí tuệ con người (Human Intelligence):

Cho đến nay có hai khái niệm về trí tuệ con người được chấp nhận và sử dụng

nhiều nhất, đó là:

- Khái niệm trí tuệ theo quan điểm của Turing

“Trí tuệ là những gì có thể đánh giá được thông qua các trắc nghiệm thông minh”

Nhóm 8_KHMT1-K4 4

Page 5: Mạng ngữ nghĩa

BTL Trí tuệ nhân tạo Giải bài toán tam giác sử dụng mạng ngữ nghĩa

- Khái niệm trí tuệ đưa ra trong tự điển bách khoa toàn thư:

Trí tuệ là khả năng:

“Phản ứng một cách thích hợp những tình huống mới thông qua hiệu chỉnh hành vi

một cách thích đáng. Hiểu rõ những mối liên hệ qua lại của các sự kiện của thế giới

bên ngoài nhằm đưa ra những hành động phù hợp đạt tới một mục đích nào đó”.

2, Trí tuệ máy:

Cũng không có một định nghĩa tổng quát, nhưng cũng có thể nêu các đặc trưng chính:

- Khả năng học.

- Khả năng mô phỏng hành vi của con người.

- Khả năng trừu tượng hoá, tổng quát hoá và suy diễn .

- Khả năng tự giải thích hành vi.

- Khả năng thích nghi tình huống mới kể cả thu nạp tri thức và dữ liệu.

- Khả năng xử lý các biểu diễn hình thức như các ký hiệu tượng trưng.

- Khả năng sử dụng tri thức heuristic.

- Khả năng xử lý các thông tin không đầy đủ, không chính xác .

B. Biểu diễn tri thức sử dụng mạng ngữ nghĩa

I, Giới thiệu về mạng ngữ nghĩa:

Mạng ngữ nghĩa là một phương pháp biểu diễn tri thức đầu tiên và cũng là phương

pháp dễ hiểu tốt nhất đối với chúng ta. Phương pháp này sẽ biểu diễn tri thức dưới

dạng một đồ thị, trong đó đỉnh là các đối tượng (khái niệm) còn các cung cho biết mối

quan hệ giữa các đối tượng này.

Ví dụ: Giữa các khái niệm chích chòe, chim, hót, cánh, tổ có một số mối quan hệ

như sau:

- Chích chòe là một loài chim.

- Chim biết hót.

- Chim có cánh.

- Chim sống trong tổ.

Các mối quan hệ này sẽ được biểu diễn trực quan bằng một đồ thị như sau:

Nhóm 8_KHMT1-K4 5

Page 6: Mạng ngữ nghĩa

BTL Trí tuệ nhân tạo Giải bài toán tam giác sử dụng mạng ngữ nghĩa

Do mạng ngữ nghĩa là một loại đồ thị cho nên nó thừa hưởng được tất cả những mặt mạnh của công cụ này. Nghĩa là ta có thể dùng những thuật toán của đồ thị trên mạng ngữ nghĩa như thuật toán tìm liên thông, tìm đường đi ngắn nhất để thực hiện các cơ chế suy luận. Điểm đặc biệt của mạng ngữ nghĩa so với đồ thị thông thường chính là việc gán một ý nghĩa (có, làm, là, biết, ...) cho các cung. Trong đồ thị tiêu chuẩn, việc có một cung nối giữa hai đỉnh chỉ cho biết có sự liên hệ giữa hai đỉnh đó và tất cả các cung trong đồ thị đều biểu diễn cho cùng một loại liên hệ. Trong mạng ngữ nghĩa, cung nối giữa hai đỉnh còn cho biết giữa hai khái niệm tương ứng có sự liên hệ như thế nào. Việc gán ngữ nghĩa vào các cung của đồ thị đã giúp giảm bớt được số lượng đồ thị cần phải dùng để biễu diễn các mối liên hệ giữa các khái niệm. Chẳng hạn như trong ví dụ trên, nếu sử dụng đồ thị thông thường, ta phải dùng đến 4 loại đồ thị cho 4 mối liên hệ : một đồ thị để biểu diễn mối liên hệ "là", một đồ thị cho mối liên hệ "làm", một cho "biết" và một cho "có".

Mạng ngữ nghĩa có tính kế thừa, bởi vì ngay trong khái niệm, mạng ngữ nghĩa đã hàm ý sự phân cấp (như các mối liên hệ "là") nên có nhiều đỉnh trong mạng mặc nhiên sẽ có những thuộc tính của những đỉnh khác.

Chẳng hạn theo mạng ngữ nghĩa ở trên, ta có thể dễ dàng trả lời "có" cho câu hỏi : "Chích chòe có làm tổ không?". Ta có thể khẳng định được điều này vì đỉnh "chích chòe" có liên kết "là" với đỉnh "chim" và đỉnh "chim" lại liên kết "biết" với đỉnh "làm tổ" nên suy ra đỉnh "chích chòe" cũng có liên kết loại "biết" với đỉnh "làm tổ". (Nếu để ý, bạn sẽ nhận ra được kiểu "suy luận" mà ta vừa thực hiện bắt nguồn từ thuật toán "loang" hay "tìm liên thông" trên đồ thị!). Chính đặc tính kế thừa của mạng ngữ nghĩa

Nhóm 8_KHMT1-K4 6

Page 7: Mạng ngữ nghĩa

BTL Trí tuệ nhân tạo Giải bài toán tam giác sử dụng mạng ngữ nghĩa

đã cho phép ta có thể thực hiện được rất nhiều phép suy diễn từ những thông tin sẵn có trên mạng.

II, Ưu điểm và nhược điểm của mạng ngữ nghĩa:

1. Ưu điểm:

- Mạng ngữ nghĩa rất linh động, ta có thể dễ dàng thêm vào mạng các đỉnh hoặc

cung mới để bổ sung các tri thức cần thiết.

- Mạng ngữ nghĩa có tính trực quan cao nên rất dễ hiểu.

- Mạng ngữ nghĩa cho phép các đinh có thể kế thừa các tính chất từ các đỉnh

khác thông qua các loại cung “là”, từ đó, có thể tạo ra các liên kết ” ngầm”

giữa những đỉnh không có liên kết trực tiếp đến nhau.

- Mạng ngữ nghĩa hoạt động khá tự nhiên theo cách thức con người ghi nhận

thông tin.

2. Nhược điểm:

- Tuy mạng ngữ nghĩa là một kiểu biểu diễn trực quan đối với con người nhưng

khi đưa vào máy tính, các đối tượng và mối liên hệ giữa chúng thường được

biểu diễn dưới dạng những phát biểu động từ (như vị từ). Hơn nữa, các thao tác

tìm kiếm trên mạng ngữ nghĩa thường khó khăn (đặc biệt đối với những mạng

có kích thước lớn). Do đó, mô hình mạng ngữ nghĩa được dùng chủ yếu để

phân tích vấn đề. Sau đó, nó sẽ được chuyển đổi sang dạng luật hoặc frame để

thi hành hoặc mạng ngữ nghĩa sẽ được dùng kết hợp với một số phương pháp

biểu diễn khác.

- Cho đến nay, vẫn chưa có một chuẩn nào quy định các giới hạn cho các đỉnh và

cung của mạng. Nghĩa là bạn có thể gán ghép bất kỳ khái niệm nào cho đỉnh

hoặc cung.

- Tính thừa kế (vốn là một ưu điểm) trên mạng sẽ có thể dẫn đến nguy cơ mâu

thuẫn trong tri thức. Sở dĩ có điều này là vì có sự không rõ ràng trong ngữ nghĩa

gán cho một nút của mạng. Bạn đọc có thể phản đối quan điểm vì cho rằng, việc

sinh ra mâu thuẫn là do ta thiết kế mạng dở chứ không phải do khuyết điểm của

mạng!. Tuy nhiên, xin lưu ý rằng, tính thừa kế sinh ra rất nhiều mối liên kết

"ngầm" nên khả năng nảy sinh ra một mối liên hệ không hợp lệ là rất lớn.

- Hầu như không thể biểu diễn các tri thức dạng thủ tục bằng mạng ngữ nghĩa vì

các khái niệm về thời gian và trình tự không được thể hiện tường minh trên

mạng ngữ nghĩa.

Nhóm 8_KHMT1-K4 7

Page 8: Mạng ngữ nghĩa

BTL Trí tuệ nhân tạo Giải bài toán tam giác sử dụng mạng ngữ nghĩa

3. Ứng dụng:

Dù là một phương pháp tương đối cũ và có những yếu điểm nhưng mạng ngữ nghĩa vẫn có những ứng dụng vô cùng độc đáo. Hai loại ứng dụng tiêu biểu của mạng ngữ nghĩa là ứng dụng xử lý ngôn ngữ tự nhiên và ứng dụng giải các bài toán thông minh.

Ví dụ 1 : Trong ứng dụng xử lý ngôn ngữ tự nhiên, mạng ngữ nghĩa có thể giúp máy

tính phân tích được cấu trúc của câu để từ đó có thể phần nào "hiểu" được ý nghĩa của

câu. Chẳng hạn, câu "Châu đang đọc một cuốn sách dày và cười khoái trá" có thể

được biểu diễn bằng một mạng ngữ nghĩa như sau :

Ví dụ 2: Giải bài toán tam giác tổng quát

Có 22 yếu tố liên quan đến cạnh và góc của tam giác. Để xác định một tam giác hay để xây dựng một 1 tam giác ta cần có 3 yếu tố trong đó phải có yếu tố cạnh. Như vậy có khoảng C3

22 -1 (khoảng vài ngàn) cách để xây dựng hay xác định một tam giác. Theo thống kê, có khoảng 200 công thức liên quan đến cạnh và góc 1 tam giác.

Để giải bài toán này bằng công cụ mạng ngữ nghĩa, ta phải sử dụng khoảng 200 đỉnh để chứa công thức và khoảng 22 đỉnh để chứa các yếu tố của tam giác. Mạng ngữ nghĩa cho bài toán này có cấu trúc như sau :

- Đỉnh của đồ thị gồm 2 loại:

Đỉnh chứa công thức ( ký hiệu bằng hình chữ nhật)

Đỉnh chứa yếu tố của tam giác ( ký hiệu bằng hình tròn )

Nhóm 8_KHMT1-K4 8

Page 9: Mạng ngữ nghĩa

BTL Trí tuệ nhân tạo Giải bài toán tam giác sử dụng mạng ngữ nghĩa

- Cung : chỉ nối từ đỉnh hình tròn đến đỉnh hình chữ nhật cho biết yếu tố tam giác

xuất hiện trong công thức nào (không có trường hợp cung nối giữa hai đỉnh

hình tròn hoặc cung nối giữa hai đỉnh hình chữ nhật).

Lưu ý : trong một công thức liên hệ giữa n yếu tố của tam giác, ta giả định rằng nếu đã biết giá trị của n-1 yếu tố thì sẽ tính được giá trị của yếu tố còn lại. Chẳng hạn như trong công thức tổng 3 góc của tam giác bằng 1800 thì khi biết được hai góc, ta sẽ tính được góc còn lại.

Cơ chế suy diễn thực hiện theo thuật toán “ loang “ đơn giản như sau:

III, Bài toán sử dụng mạng ngữ nghĩa để giải bài toán tam giác

1. Mô tả bài toán:

Ta có mạng ngữ nghĩa được xây dựng để giải bài toán tam giác như sau bao gồm 8

công thức và 11 yếu tố liên quan:

Nhóm 8_KHMT1-K4 9

B1 : Kích hoạt những đỉnh hình tròn đã cho ban đầu (những yếu tố đã có giá trị)

B2 : Lặp lại bước sau cho đến khi kích hoạt được tất cả những đỉnh ứng với những yếu tố cần tính hoặc không thể kích hoạt được bất kỳ đỉnh nào nữa.

Nếu một đỉnh hình chữ nhật có cung nối với n đỉnh hình tròn mà n-1 đỉnh hình tròn đã được kích hoạt thì kích hoạt đỉnh hình tròn còn lại (và tính giá trị đỉnh còn lại này thông qua công thức ở đỉnh hình chữ nhật).

Page 10: Mạng ngữ nghĩa

BTL Trí tuệ nhân tạo Giải bài toán tam giác sử dụng mạng ngữ nghĩa

Đề bài: “Cho hai góc α, β và cạnh a của tam giác. Yêu cầu tính bán kính đường tròn ngoại tiếp của tam giác” .Với mạng ngữ nghĩa đã xây dựng ở trên thuật toán giải quyết như sau:

1. Các đỉnh α, β và a được kích hoạt2. Công thức (1) được kích hoạt (có ¾ yếu tố đã được kích hoạt). Từ công thức (1)

tính được cạnh b đỉnh b được kích hoạt3. Công thức (4) được kích hoạt (α, β đã kích hoạt). Từ công thức (4) tính được

góc C đỉnh δ được kích hoạt.4. Công thức (2) được kích hoạt (b, β, δ đã kích hoạt). Từ công thức (2) tính được

cạnh c đỉnh c được kích hoạt.5. Công thức (8) được kích hoạt (a, b, c đã kích hoạt). Từ công thức (8) tính được

nửa chu vi p đỉnh p được kích hoạt.6. Công thức (3) được kích hoạt (p, a, b, c đã kích hoạt). Từ công thức (3) tính

được diện tích S đỉnh S được kích hoạt.7. Công thức (5) được kích hoạt(S,c đã kích hoạt). Từ công thức (5) tính được

Hc đỉnh Hc được kích hoạt. 8. Công thức (6) được kích hoạt (a, b, c, S đã kích hoạt). Từ công thức (6) tính

được bán kính R đỉnh R được kích hoạt.9. Giá trị R đã tính được Thuật toán kết thúc.

Nhóm 8_KHMT1-K4 10

Page 11: Mạng ngữ nghĩa

BTL Trí tuệ nhân tạo Giải bài toán tam giác sử dụng mạng ngữ nghĩa

2. Các bước xây dựng thuật toán:

Bước 1: Khởi tạo

- Dùng một mảng A để lưu trữ các thông tin có liên quan đến Mạng Ngữ

Nghĩa.

- Trong đó, hàng biểu thị các biến (có bao nhiêu biến cần xét là có bấy nhiêu

hàng); cột biểu thi các công thức (có bao nhiêu công thức thì có bấy nhiêu cột).

Trong đó:

-1 nếu biến i có trong công thức j

A[i,j] = 0 nếu biến i không có trong công thức j.

1 nếu biến i trong công thức j đã được kích hoạt.

Bước 2: Kích hoạt các biến

Trên dòng i các giá trị -1 được biến thành 1.

Bước 3:

- Tìm cột được kích hoạt (công thức được kích hoạt). Suy ra biến (hàng) được

kích hoạt (là biến còn lại chưa được kích hoạt của công thức).

Bước 4:

- Nếu biến được kích hoạt không phải là biến cần tìm thì lặp lại bước2.

- Nếu biến được kích hoạt là biến cần tìm thì kết thúc và thông báo“Tìm Thấy”.

- Nếu không thể kích hoạt thêm biến hoặc công thức nào thì kết thúc và thông

báo “Không Tìm Thấy”.

Nhóm 8_KHMT1-K4 11

Page 12: Mạng ngữ nghĩa

BTL Trí tuệ nhân tạo Giải bài toán tam giác sử dụng mạng ngữ nghĩa

Quá trình kích hoạt diễn ra như sau:

Khởi tạo mảng ban đầu.

Nhóm 8_KHMT1-K4 12

(1) (2) (3) (4) (5) (6) (7) (8)

α -1 0 0 -1 0 0 0 0

β -1 -1 0 -1 0 0 0 0

δ 0 -1 0 -1 0 0 0 0

a -1 0 -1 0 0 -1 0 -1

b -1 -1 -1 0 0 -1 0 -1

c 0 -1 -1 0 -1 -1 0 -1

Hc 0 0 0 0 -1 0 0 0

S 0 0 -1 0 -1 -1 -1 0

R 0 0 0 0 0 -1 0 0

r 0 0 0 0 0 0 -1 0

p 0 0 -1 0 0 0 -1 -1

Page 13: Mạng ngữ nghĩa

BTL Trí tuệ nhân tạo Giải bài toán tam giác sử dụng mạng ngữ nghĩa

Kích hoạt các yếu tố cho trong đề bài: α, β, a, nếu a[i,j]= -1 a[i,j] = 1

Nhóm 8_KHMT1-K4 13

(1) (2) (3) (4) (5) (6) (7) (8)

α 1 0 0 1 0 0 0 0

β 1 1 0 1 0 0 0 0

δ 0 -1 0 -1 0 0 0 0

a 1 0 1 0 0 1 0 1

b -1 -1 -1 0 0 -1 0 -1

c 0 -1 -1 0 -1 -1 0 -1

Hc 0 0 0 0 -1 0 0 0

S 0 0 -1 0 -1 -1 -1 0

R 0 0 0 0 0 -1 0 0

r 0 0 0 0 0 0 -1 0

p 0 0 -1 0 0 0 -1 -1

Page 14: Mạng ngữ nghĩa

BTL Trí tuệ nhân tạo Giải bài toán tam giác sử dụng mạng ngữ nghĩa

Duyệt lần 1.

1. Công thức (1) có3/4 yếu tố đã kích hoạt đỉnh b kích hoạt.

Nhóm 8_KHMT1-K4 14

(1) (2) (3) (4) (5) (6) (7) (8)

α 1 0 0 1 0 0 0 0

β 1 1 0 1 0 0 0 0

δ 0 -1 0 -1 0 0 0 0

a 1 0 1 0 0 1 0 1

b 1 1 1 0 0 1 0 1

c 0 -1 -1 0 -1 -1 0 -1

Hc 0 0 0 0 -1 0 0 0

S 0 0 -1 0 -1 -1 -1 0

R 0 0 0 0 0 -1 0 0

r 0 0 0 0 0 0 -1 0

p 0 0 -1 0 0 0 -1 -1

Page 15: Mạng ngữ nghĩa

BTL Trí tuệ nhân tạo Giải bài toán tam giác sử dụng mạng ngữ nghĩa

2. Công thức 2,3 còn nhiều hơn 1 yếu tố chưa kích hoạt nên chưa được kích hoạt.

3. Công thức (4) có 2/3 yếu tố đã kích hoạt công thức (4) được kích hoat

đỉnh δ được kích hoạt.

4. Công thức 5,6,7,8 còn nhiều hơn 1 yếu tố chưa biết nên chưa được kích hoạt.

Nhóm 8_KHMT1-K4 15

(1) (2) (3) (4) (5) (6) (7) (8)

α 1 0 0 1 0 0 0 0

β 1 1 0 1 0 0 0 0

δ 0 1 0 1 0 0 0 0

a 1 0 1 0 0 1 0 1

b 1 1 1 0 0 1 0 1

c 0 -1 -1 0 -1 -1 0 -1

Hc 0 0 0 0 -1 0 0 0

S 0 0 -1 0 -1 -1 -1 0

R 0 0 0 0 0 -1 0 0

r 0 0 0 0 0 0 -1 0

p 0 0 -1 0 0 0 -1 -1

Page 16: Mạng ngữ nghĩa

BTL Trí tuệ nhân tạo Giải bài toán tam giác sử dụng mạng ngữ nghĩa

Duyệt lần 2.

1. Công thức (1) đã kích hoạt hết các yếu tố.

2. Công thức (2) có 3/4 yếu tố đã kích hoạt kích hoạt công thức (2) đỉnh c

được kích hoạt.

3. Công thức (3),(5),(6),(7) còn nhiều hơn 1 yếu tố chưa được kích hoạt.

4. Công thức 4 đã kích hoạt.

Nhóm 8_KHMT1-K4 16

(1) (2) (3) (4) (5) (6) (7) (8)

α 1 0 0 1 0 0 0 0

β 1 1 0 1 0 0 0 0

δ 0 1 0 1 0 0 0 0

a 1 0 1 0 0 1 0 1

b 1 1 1 0 0 1 0 1

c 0 1 1 0 1 1 0 1

Hc 0 0 0 0 -1 0 0 0

S 0 0 -1 0 -1 -1 -1 0

R 0 0 0 0 0 -1 0 0

r 0 0 0 0 0 0 -1 0

p 0 0 -1 0 0 0 -1 -1

Page 17: Mạng ngữ nghĩa

BTL Trí tuệ nhân tạo Giải bài toán tam giác sử dụng mạng ngữ nghĩa

5. Công thức (8) có 3/4 yếu tố đã kích hoạt kích hoạt công thức (8) đỉnh p

được kích hoạt.

Nhóm 8_KHMT1-K4 17

(1) (2) (3) (4) (5) (6) (7) (8)

α 1 0 0 1 0 0 0 0

β 1 1 0 1 0 0 0 0

δ 0 1 0 1 0 0 0 0

a 1 0 1 0 0 1 0 1

b 1 1 1 0 0 1 0 1

c 0 1 1 0 1 1 0 1

Hc 0 0 0 0 -1 0 0 0

S 0 0 -1 0 -1 -1 -1 0

R 0 0 0 0 0 -1 0 0

r 0 0 0 0 0 0 -1 0

p 0 0 1 0 0 0 1 1

Page 18: Mạng ngữ nghĩa

BTL Trí tuệ nhân tạo Giải bài toán tam giác sử dụng mạng ngữ nghĩa

Duyệt lần 3:

10. Công thức (1), (2) đã kích hoạt

11. Công thức (3) được kích hoạt (p, a, b, c đã kích hoạt). Từ công thức (3) tính được diện tích S đỉnh S được kích hoạt.

Nhóm 8_KHMT1-K4 18

(1) (2) (3) (4) (5) (6) (7) (8)

α 1 0 0 1 0 0 0 0

β 1 1 0 1 0 0 0 0

δ 0 1 0 1 0 0 0 0

a 1 0 1 0 0 1 0 1

b 1 1 1 0 0 1 0 1

c 0 1 1 0 1 1 0 1

Hc 0 0 0 0 -1 0 0 0

S 0 0 1 0 1 1 1 0

R 0 0 0 0 0 -1 0 0

r 0 0 0 0 0 0 -1 0

p 0 0 1 0 0 0 1 1

Page 19: Mạng ngữ nghĩa

BTL Trí tuệ nhân tạo Giải bài toán tam giác sử dụng mạng ngữ nghĩa

12. Công thức (4) đã kích hoạt.

13. Công thức (5) được kích hoạt(S,c đã kích hoạt). Từ công thức (5) tính được Hc đỉnh Hc được kích hoạt.

Nhóm 8_KHMT1-K4 19

(1) (2) (3) (4) (5) (6) (7) (8)

α 1 0 0 1 0 0 0 0

β 1 1 0 1 0 0 0 0

δ 0 1 0 1 0 0 0 0

a 1 0 1 0 0 1 0 1

b 1 1 1 0 0 1 0 1

c 0 1 1 0 1 1 0 1

Hc 0 0 0 0 1 0 0 0

S 0 0 1 0 1 1 1 0

R 0 0 0 0 0 -1 0 0

r 0 0 0 0 0 0 -1 0

p 0 0 1 0 0 0 1 1

Page 20: Mạng ngữ nghĩa

BTL Trí tuệ nhân tạo Giải bài toán tam giác sử dụng mạng ngữ nghĩa

Nhóm 8_KHMT1-K4 20

Page 21: Mạng ngữ nghĩa

BTL Trí tuệ nhân tạo Giải bài toán tam giác sử dụng mạng ngữ nghĩa

14. Công thức (6) được kích hoạt (a, b, c, S đã kích hoạt). Từ công thức (6) tính được bán kính R đỉnh R được kích hoạt.

KL : Giá trị R đã tính được Thuật toán kết thúc.

Nhóm 8_KHMT1-K4 21

(1) (2) (3) (4) (5) (6) (7) (8)

α 1 0 0 1 0 0 0 0

β 1 1 0 1 0 0 0 0

δ 0 1 0 1 0 0 0 0

a 1 0 1 0 0 1 0 1

b 1 1 1 0 0 1 0 1

c 0 1 1 0 1 1 0 1

Hc 0 0 0 0 1 0 0 0

S 0 0 1 0 1 1 1 0

R 0 0 0 0 0 1 0 0

r 0 0 0 0 0 0 -1 0

p 0 0 1 0 0 0 1 1

Page 22: Mạng ngữ nghĩa

BTL Trí tuệ nhân tạo Giải bài toán tam giác sử dụng mạng ngữ nghĩa

IV, Demo chương trình:

1. Thuật toán cài đặt:

a. Khởi tạo mảngprivate double[,] a = new double[11, 8];

public void KhoiTaomang() { // Số dòng = số yếu tố =11 // Số cột = số công thức =8 for (int i = 1; i < 11; i++) { for (int j = 1; j < 8; j++) { a[i, j] = 0; } } // Công thức 1 a[0, 0] = a[1, 0] = a[3, 0] = a[4, 0] = -1; // Công thức 2 a[1, 1] = a[2, 1] = a[4, 1] = a[5, 1] = -1; //Công thức 3 a[3, 2] = a[4, 2] = a[5, 2] = a[7, 2] = a[10, 2] = -1; //Công thức 4 a[0, 3] = a[1, 3] = a[2, 3] = -1; //Công thức 5 a[5, 4] = a[6, 4] = a[7, 4] = -1; //Công thức 6 a[3, 5] = a[4, 5] = a[5, 5] = a[7, 5] = a[8, 5] = -1; //Công thức 7 a[7, 6] = a[9, 6] = a[10, 6] = -1; //Công thức 8 a[3, 7] = a[4, 7] = a[5, 7] = a[10, 7] = -1;

}

a[i,j] =-1 nếu biến có trong công thức

a[i,j]=0 nếu biến không có trong công thức

b. Kích hoạt các yếu tố cho trướcprivate void KichHoatYeuToChoTruoc()

{

// Kích hoạt mảng a với những yếu tố được cho

// a[i,j]= a0;

}

c. Lấy vị trí của yếu tố chưa biết trong công thức jprivate int LayViTriYeuToChuaBiet(int j)

{ // trả về yếu tố chưa biết của một công thức // nếu còn nhiều hơn 1 yếu tố thì trả về giá trị -1}

d. Tính giá trị của các yếu tố trong từng công thức jprivate void TinhCacYeuTo(int ViTriChuaBiet, int j, int dem){

Nhóm 8_KHMT1-K4 22

Page 23: Mạng ngữ nghĩa

BTL Trí tuệ nhân tạo Giải bài toán tam giác sử dụng mạng ngữ nghĩa

// Tính giá trị của yếu tố được kích hoạt }

e. Xử lý mạng ngữ nghĩa

private void XuLyMangNguNghia() { int dem = 0;

KichHoatYeuToChoTruoc(); bool DangKichHoat = true; while (DangKichHoat) { DangKichHoat = false; for (int j = 0; j < 8; j++) { int ViTriChuaBiet = LayViTriYeuToChuaBiet(j); if (ViTriChuaBiet != -1) { dem++; TinhCacYeuTo(ViTriChuaBiet, j, dem); DangKichHoat = true; if (TimThayYeuToCanTim()) { DangKichHoat = false; groupBox1.Show(); break; } } } } if (!TimThayYeuToCanTim()) { MessageBox.Show("Không thể tìm được ");

}

2. Giao diện chương trình

Nhóm 8_KHMT1-K4 23

Page 24: Mạng ngữ nghĩa

BTL Trí tuệ nhân tạo Giải bài toán tam giác sử dụng mạng ngữ nghĩa

TÀI LIỆU THAM KHẢO

[1]. Giáo trìnhTrí tuệ nhân tạo, Đại học công nghiệp hà Nội - Khoa Công nghệ

thông tin.

[2]. Slide bài giảng Trí tuệ nhân tạo, Thạc sĩ Trần Hùng Cường.

[3]. http://www.google.com.vn/

Nhóm 8_KHMT1-K4 24