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

XÂY DỰNG VÀ ỨNG DỤNG MÔ HÌNH COKB GIẢI BÀI TOÁN HÌNH HỌC TAM GIÁC

27 952 5

Đ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 27
Dung lượng 1,33 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

• Giao diện phần mềm trực quan, sinh động, dễ thao tác Phạm vi của đề tài này sẽ tập trung mở rộng mô hình COKB, cụ thể là tập thuộc tính và quan hệ tính toán của C-Object để áp dụng vào

Trang 1

Trường Đại Học Công Nghệ Thông Tin

BÀI THU HOẠCH MÔN BIỂU DIỄN TRI THỨC VÀ ỨNG DỤNG

ĐỀ TÀI:

XÂY DỰNG VÀ ỨNG DỤNG MÔ HÌNH COKB GIẢI BÀI TOÁN HÌNH HỌC TAM GIÁC

GVHD: PGS.TS Đỗ Văn Nhơn Người thực hiện: Bùi Chí Cường

TP.HCM – 2013

Trang 2

LỜI CẢM ƠN

Lời đầu tiên, em xin gửi lời chân thành cảm ơn đến Ban Chủ nhiệm trường Đại học công nghệ thông tin TP HCM đã tạo điều kiện cho em được tiếp cận với bộ môn Biểu diễn tri thức và ứng dụng

Em xin cảm ơn thầy PGS.TS Đỗ Văn Nhơn đã tận tình truyền đạt kiến thức cho chúng

em cũng những gì thầy đã giúp đỡ, hướng dẫn để em thực hiện bài tiểu luận.

Em cũng xin gửi lời cảm ơn sâu sắc đến quý thầy cô trong Khoa Công nghệ Thông tin cùng các bạn bè thân hữu đã nhiệt tình đóng góp ý kiến, cũng như động viên để em hoàn thiện hơn đề tài của mình.

Mặc dù đã rất cố gắng nhưng đề tài khó tránh khỏi những thiếu sót và sai lầm, em mong thầy cô và bạn bè cho ý kiến để đề tài ngày càng hoàn thiện hơn.

Một lần nữa, em xin chân thành cảm ơn!

Tp HCM, 1 tháng 1 năm 2013

Bùi Chí CườngCH1101007

Trang 3

MỤC LỤC

LỜI CẢM ƠN ii

MỤC LỤC iii

DANH MỤC CÁC HÌNH .v

1 CHƯƠNG I - MỞ ĐẦU 6

1.1 Giới thiệu chung 6

1.2 Hoạt động nghiên cứu 7

2 CHƯƠNG II - TỔNG QUAN VỀ MÔ HÌNH COKB VÀ MỘT SỐ CẢI TIẾN 8

2.1 Mô hình COKB 8

2.1.1 Định nghĩa đối tượng tính toán (C-Object): 8

2.1.2 Mô hình cho một C-Object 8

Attrs là tập hợp các thuộc tính của đối tượng 8

F là tập hợp các quan hệ suy diễn tính toán 8

Facts là tập hợp các tính chất hay sự kiện vốn có của đối tượng 8

Rules là tập hợp các luật suy diễn trên các sự kiện liên quan đến các thuộc tính cũng như liên quan đến bản thân đối tượng 9

2.1.3 Mô hình tri thức các đối tượng tính toán (COKB) 9

2.2 Một số cải tiến mới 11

2.2.1 Mở rộng kiểu thuộc tính của C-Object 11

2.2.2 Quan hệ tính toán phụ thuộc 14

2.2.3 Tập 10 sự kiện 16

3 CHƯƠNG III – XÂY DỰNG VÀ CÀI ĐẶT ỨNG DỤNG BIỂU DIỄU TRI THỨC HÌNH HỌC TAM GIÁC 20

3.1 Tổng quan bài toán 20

3.2 Cấu trúc dữ liệu 20

3.3 Giải thuật 20

3.4 Hướng dẫn cài đặt và sử dụng chương trình 21

3.4.1 Yêu cầu 21

3.4.2 Cài đặt và sử dụng chương trình 21

3.4.3 Thử nghiệm 25

4 CHƯƠNG IV - KẾT LUẬN 26

Trang 4

4.2 Hướng phát triển 26 4.3 Tài liệu tham khảo 26

Trang 5

DANH MỤC CÁC HÌNH

Hình 1 - Ví dụ về sơ đồ mạch điện 13

Hình 2 - Giao diện biểu diễn tri thức 22

Hình 3 - Giao diện tính toán 23

Hình 4 - Giao diện thông tin học viên 24

Trang 6

1 CHƯƠNG I - MỞ ĐẦU

1.1 Giới thiệu chung.

Cuộc cách mạng khoa học kỹ thuật hiện đại bắt đầu giữa những năm 40 thế kỉ 20 Những phát minh trong khoa học - kĩ thuật cuối thế kỉ 19 đầu thế kỉ 20 là tiền đề của cuộc CMKH - KT hiện đại Cuộc cách mạng trong giai đoạn này chủ yếu về công nghệ với sự ra đời của máy tính điện tử thế hệ mới được sử dụng trong mọi hoạt động kinh

tế và đời sống xã hội, về vật liệu mới, về những dạng năng lượng mới và công nghệ sinh học, về phát triển tin học

Ngày nay, chúng ta có thể thấy được sự xuất hiện của từ “Robot” ngày càng nhiều, điểm đặc biệt của Robot không phải là hình dáng bên ngoài, hay là những chuyển động của nó mà chính là bộ não của Robot

Bộ não của Robot là trung tâm điều khiển mọi hoạt động của nó như là: điều khiển hoạt động, cảm xúc và khả năng đưa ra nhiều sự lựa chọn để giải quyết vấn đề Làm thế nào từ những khối sắt nặng nề, mà con người có thể chế tạo ra được những chú Robot linh hoạt và thông minh, có những tri thức của con người kỳ diệu đến vậy Ngày nay, việc thể hiện tri thức của con người dưới dạng một ngôn ngữ hệ thống gọi

là trí tuệ nhân tạo đã không còn xa lạ nữa mà thậm chí nó đang đi đến sự phát triển vượt bậc Nhìn những chú Robot phát triển theo từng giai đoạn, thì chúng ta cũng biết khoa học kỹ thuật đang thăng hoa

Khoa học kỹ thuật đã giúp cho chúng ta khám phá và chạm đến những điều kỳ diệu của cuộc sống, để có được những phát minh khoa học, các nhà khoa học vĩ đại cũng trải nghiệm qua rất nhiều phương pháp nghiên cứu để tiếp cận vấn đề, và từ đó họ đút kết và đưa ra được nhiều định lý, định nghĩa, công trình khoa học tồn tại vĩnh viễn theo thời gian

Trang 7

1.2 Hoạt động nghiên cứu.

Đề tài khóa luận này sẽ nghiên cứu phát triển mô hình COKB, ứng dụng vào biểu diễn tri thức và hệ tự động giải 1 số bài tập hình học về Tam Giác trong chương trình Phổ thông

Mục tiêu của đề tài là nghiên cứu mở rộng mô hình COKB nhằm phục vụ cho việc xây dựng mô hình cơ sở tri thức hình học Tam giác để có thể lưu trữ và xử lý suy luận giải bài tập trên máy tính; cùng với phát triển 1 ứng dụng demo hỗ trợ giải bài toán hình học Tam giác thỏa mãn các yêu cầu sau:

• Có cơ sở tri thức về hình học Tam giác lưu trữ riêng trên máy tính với cấu trúc đơn giản để người sử dụng dễ thay đổi, chỉnh sửa khi cần thiết

• Cho phép nhập bài toán bằng ngôn ngữ đơn giản gần với ngôn ngữ tự nhiên

• Tìm ra lời giải gần với cách giải của con người, trình bày đẩy đủ, dễ hiểu

• Giao diện phần mềm trực quan, sinh động, dễ thao tác

Phạm vi của đề tài này sẽ tập trung mở rộng mô hình COKB, cụ thể là tập thuộc tính và quan hệ tính toán của C-Object để áp dụng vào biểu diễn tri thức hình học Tam giác, xây dựng mô hình bài toán cùng thuật giải để giải quyết 1 số lớp bài toán hình học Tam giác phổ biến trong chương trình sách giáo khoa THPT cũng như trong đề thi Tốt nghiệp THPT, đề thi Đại học khối A, B hằng năm

Trang 8

2 CHƯƠNG II - TỔNG QUAN VỀ MÔ HÌNH COKB VÀ

MỘT SỐ CẢI TIẾN

2.1 Mô hình COKB

2.1.1 Định nghĩa đối tượng tính toán (C-Object):

Ta gọi một đối tượng tính toán (C-object) là một đối tượng O có cấu trúc bao gồm:

(1) Một danh sách các thuộc tính Attrs = {x1, x2, , xn} trong đó mỗi thuộc tính lấy giá trị trong một miền xác định nhất định, và giữa các thuộc tính ta có các quan

hệ thể hiện qua các sự kiện, các luật suy diễn hay các công thức tính toán

(2) Các hành vi liên quan đến sự suy diễn và tính toán trên các thuộc tính của đối tượng hay trên các sự kiện như:

 Xác định bao đóng của một tập hợp thuộc tính A ⊂ Attr(O), tức là đối tượng

O có khả năng cho ta biết tập thuộc tính lớn nhất có thể được suy ra từ A trong đối tượng O

 Xác định tính giải được của bài toán suy diễn tính toán có dạng A → B với

A ⊂ Attr(O) và B ⊂ Attr(O) Nói một cách khác, đối tượng có khả năng trả lời câu hỏi rằng có thể suy ra được các thuộc tính trong B từ các thuộc tính trong A không

 Thực hiện các tính toán

 Thực hiện việc gợi ý bổ sung giả thiết cho bài toán

 Xem xét tính xác định của đối tượng, hay của một sự kiện

2.1.2 Mô hình cho một C-Object

Một C-Object có thể được mô hình hoá bởi một bộ

(Attrs,F,Fact,Rules)

Trong đó:

- Attrs là tập hợp các thuộc tính của đối tượng

- F là tập hợp các quan hệ suy diễn tính toán

- Facts là tập hợp các tính chất hay sự kiện vốn có của đối tượng

Trang 9

- Rules là tập hợp các luật suy diễn trên các sự kiện liên quan đến các

thuộc tính cũng như liên quan đến bản thân đối tượng

2.1.3 Mô hình tri thức các đối tượng tính toán (COKB)

(C, H, R, Ops, Rules)

[1] Một tập hơp C các khái niệm về các C-Object

Mỗi khái niệm là một lớp C-Object có cấu trúc và được phân cấp theo sự thiết lập của cấu trúc đối tượng:

• [1] Các biến thực

• [2] Các đối tượng cơ bản có cấu trúc rỗng hoặc có cấu trúc gồm một số thuộc

tính thuộc kiểu thực (ví dụ như DIEM không có thuộc tính giá trị thực trong

hình học phẳng) Các đối tượng loại nầy làm nền cho các đối tượng cấp cao

hơn

• [3] Các đối tượng C-Object cấp 1 Loại đối tượng nầy có một thuộc tính loại

<real> và có thể được thiết lập từ một danh sách nền các đối tượng cơ bản Ví

dụ: DOAN[A,B] và GOC[A,B,C] trong đó A, B, C là các đối tượng cơ bản loại DIEM

• [4] Các đối tượng C-Object cấp 2 Loại đối tượng nầy có các thuộc tính loại

real và các thuộc tính thuộc loại đối tượng cấp 1, và đối tượng có thể được

thiết lập trên một danh sách nền các đối tượng cơ bản Ví dụ: TAM_GIAC[A,B,C] và TU_GIAC[A,B,C,D], trong đó A, B, C, D là các đối tượng cơ bản loại DIEM

Cấu trúc bên trong của mỗi lớp đối tượng gồm:

• Tập các thuộc tính của đối tượng Attrs: trong đó mỗi thuộc tính lấy giá trị trong 1 miền xác định

• Tập các sự

Cùng với cấu trúc trên, đối tượng còn được trang bị các hành vi cơ bản trong việc giải quyết các bài toán suy diễn và tính toán trên các thuộc tính của đối tượng, bản thân đối tượng hay các đối tượng liên quan được thiết lập trên nền của đối tượng (nếu đối

Trang 10

tượng được thiết lập trên một danh sách các đối tượng nền nào đó) Các hành vi cơ bản nầy của đối tượng C-Object sẽ được xem xét chi tiết hơn trong các mục sau.

[2] Một tập hơp H các quan hệ phân cấp giữa các loại đối tượng.

Trên tập hợp C ta có một quan hệ phân cấp theo đó có thể có một số khái niệm là

sự đặc biệt hóa của các khái niệm khác, chẳng hạn như một tam giác cân cũng là một tam giác, một hình bình hành cũng là một tứ giác Có thể nói rằng H là một biểu đồ Hasse khi xem quan hệ phân cấp trên là một quan hệ thứ tự trên C

[3] Một tập hơp R các khái niệm về các loại quan hệ trên các C-Object.

Mỗi quan hệ được xác định bởi <tên quan hệ> và các loại đối tượng của quan hệ,

và quan hệ có thể có một số tính chất trong các tính chất sau đây: tính chất phản xạ, tính chất đối xứng, tính chất phản xứng và tính chất bắc cầu Ví dụ: Quan hệ cùng phương trên 2 đoạn thẳng có các tính chất phản xạ, đối xứng và bắc cầu

[4] Một tập hơp Ops các toán tử

Các toán tử cho ta một số phép toán trên các biến thực cũng như trên các đối tượng, chẳng hạn các phép toán số học và tính toán trên các đối tượng đoạn và góc tương tự như đối với các biến thực

[5] Một tập hơp Rules gồm các luật được phân lớp

Các luật thể hiện các tri thức mang tính phổ quát trên các khái niệm và các loại sự kiện khác nhau Mỗi luật cho ta một qui tắc suy luận để đi đến các sự kiện mới từ các

sự kiện nào đó, và về mặt cấu trúc nó gồm 2 thành phần chính là: phần giả thiết của luật và phần kết luận của luật Phần giả thiết và phần kết luận đều là các tập hợp sự kiện trên các đối tượng nhất định Như vậy, một luật r có thể được mô hình dưới dạng:

r : {sk1, sk2, , skn} -> { sk1, sk2, , skm }

Để mô hình luật dẫn trên có hiệu lực trong cơ sở tri thức và để có thể khảo sát các thuật giải để giải quyết các bài toán, ta cần định nghĩa các dạng sự kiện khác nhau

Trang 11

trong các luật Dưới đây là định nghĩa cho 6 loại sự kiện khác nhau được xem xét trong

mô hình

2.2 Một số cải tiến mới

2.2.1 Mở rộng kiểu thuộc tính của C-Object

Đối tượng tính toán C-Object được giới thiệu từ năm 1997 là cơ sở cho sự hình thành các mô hình biểu diễn tri thức sau nay như mô hình mạng các đối tượng tính toán COKB, mô hình mạng tính toán mở rộng ECOKB cùng với rất nhiều bài báo khoa học, nghiên cứu ứng dụng đã được xuất bản

Dù được phát triển qua nhiều giai đoạn nhưng C-Object vẫn đóng vai trò là thành phần không thể thiếu trong việc biểu diễn khái niệm về nhóm đối tượng trong 1 miền tri thức cụ thể Thành phần quan trọng nhất của C-Object chính là tập các thuộc tính Attrs vì mỗi thuộc tính sẽ biểu diễn một tính chất đặc trưng của đối tượng Tập các thuộc tính của 1 C-Object dùng để phân biệt nó với các C-Object khác

Ví dụ:

- Trong hình học ta có khái niệm "Tam Giác" với các thuộc tính: độ dài 3 cạnh

a,b,c; độ dài 3 góc A,B, C; diện tích S, chu vi P v.v…

- Trong vật lý về mạch điện ta có khái niệm "Điện trở" với các thuộc tính: điện

trở R, cường độ dòng điện I, hiệu điện thế U

- Trong hóa học có khái niệm "Nguyên tố" với các thuộc tính: Khối lượng riêng

M, Số hiệu nguyên tử Z, độ âm điện v.v

Cho đến hiện nay, kiểu thuộc tính của đối tượng C-Object được định nghĩa là "có

kiểu thực, kiểu đối tượng cơ bản hay kiểu đối tượng cấp thấp hơn" (Đối tượng cơ bản

là các đối tượng có thuộc tính kiểu thực, đối tượng cấp 1 được định nghĩa từ đối tượng

cơ bản và kiểu thực, định nghĩa tương tự cho các đối tượng cấp lớn hơn.) Chú ý: định nghĩa trên được xét trong 1 miền tri thức cụ thể với các đối tượng được phân cấp Ràng buộc về kiểu thuộc tính của đối tượng ở trên, mỗi thuộc tính chỉ có thể được gán 1 giá trị duy nhất Tuy nhiên, trong thực tế có nhiều trường hợp yêu cầu phức tạp hơn khi biểu diễn giá trị thuộc tính của đối tượng

Trang 12

Ví dụ :

- Với khái niệm "Hỗn hợp" trong Hóa học Như đã biết, khái niệm Hỗnhợp là tập

hợp các chất cùng trạng thái vật lý và không tác dụng với nhau ở điều kiện

thường Vậy thuộc tính gì của "Hỗn hợp" có thể biểu diễn được tập các chất mà

"Hỗn hợp" đó có?

- Trong bài toán hóa học, người ta thường đưa ra 1 thí nghiệm Nếu gọi đây là 1

đối tượng "Thí nghiệm" thì tập thuộc tính của nó cần lưu trữ thông tin về các

chất tham gia, các chất tạo thành, chuỗi phản ứng xảy ra trong thí nghiệm (vì thí nghiệm có thể có nhiều phản ứng xảy ra liên tiếp), các sản phẩm trung gian tạo thành trong chuỗi phản ứng đó v.v…

- Tương tự như trong Vật lý, khi nói về đối tượng "Mạch điện", chưa cần biết mạch điện đó đơn giản hay phức tạp, nhưng khi nói tới đối tượng "Mạch điện"

ta cần phải biết thông tin về các thiết bị điện mà nó sử dụng trong mạch

- Mở rộng hơn vào trong lĩnh vực xã hội, nếu định nghĩa khái niệm "Hộ gia đình"

ngoài các thuộc tính như "địa chỉ", "điện thoại", "thu nhập", ta cần phải có 1

thuộc tính lưu trữ danh sách các thành viên trong gia đình Mỗi thành viên là 1 đối tượng thuộc kiểu "Con người"

Và còn nhiều loại đối tượng trong các lĩnh vực khác nhau chứa thông tin tương tự như trên Ta thấy nếu áp dụng lý thuyết về C-Object hiện tại để áp dụng biểu diễn tri thức cho các trường hợp này là không thể Ta cần phải thay đổi, cải tiến C-Object để giải quyết các trường hợp này Trong báo cáo này sẽ đề ra giải pháp là mở rộng kiểu thuộc tính của C-Object

Nội dung cụ thể về mở rộng kiểu thuộc tính của C-Object như sau

Ta mở rộng kiểu thuộc tính của C-Object thêm 3 kiểu dưới đây

list( TYPE ) set( TYPE ) dict( TYPE1, TYPE2)

Với TYPE, TYPE1, TYPE2 là tên kiểu dữ liệu, bao gồm các kiểu dữ liệu cơ

bản, kiểu khái niệm đã được định nghĩa thêm trong tập C, kiểu list, set hoặc dict.

Trang 13

Một thuộc tính có kiểu dữ liệu là list( TYPE ) thể hiện một danh sách có thứ tự

mà các thành phần trong danh sách là các đối tượng thuộc kiểu TYPE Trong trường hợp ta không quan tâm tới kiểu giá trị của từng thành phần trong danh sách, TYPE có

thể bằng rỗng (NULL)

set(TYPE)

Một thuộc tính có kiểu là set( TYPE ) biểu diễn cho một tập hợp các đối tượng

có kiểu là TYPE Với set, ta không quan tâm tới thứ tự sắp xếp của chúng.TYPE = NULL khi ta không cần quan tâm tới kiểu dữ liệu của các thành phần bên trong tập hợp

Ví dụ:

Đối với khái niệm "Mạch điện", ta cũng gọi thuộc tính chứa các thành phần trong mạch điện là "Componets", có kiểu là set() Do trong mạch điện có thể có nhiều kiểu đối tượng khác nhau như điện trở, nguồn điện, khóa điện v.v… nên ta không cần xác định kiểu dữ liệu cụ thể

Hình 1 - Ví dụ về sơ đồ mạch điện

dict(TYPE1, TYPE2)

Trang 14

Một thuộc tính kiểu dict(TYPE1, TYPE2) thể hiện một từ điển, hay một bảng với các khóa là các đối tượng kiểu TYPE1 và các giá trị tương ứng là các đối tượng kiểu TYPE2.

2.2.2 Quan hệ tính toán phụ thuộc

Tiếp tục nói về đối tượng tính toán C-Object, tập các thuộc tính của C-Object là thành phần quan trọng nhất dùng để mô tả các tính chất/thuộc tính có trong 1 đối tượng

mà nó muốn biểu diễn Bên cạnh tập các thuộc tính, C-Object không thể thiếu các quan

hệ tính toán, thành phần chính dùng trong suy diễn tính toán Quan hệ tính toán được

định nghĩa là “Mỗi quan hệ thể hiện một qui luật suy diễn và cho phép ta có thể tính

toán một hay một số thuộc tính nầy từ một số thuộc tính khác của đối tượng”[1] Nói 1

cách khác, quan hệ tính toán là 1 biểu thức tính toán giữa các thuộc tính bên trong đối tượng Quan hệ tính toán có 2 loại:

- Quan hệ tính toán đối xứng có hạng (rank) bằng 1 số nguyên dương k, đó là quan hệ mà ta có thể tính được giá trị của k thuộc tính bất kì từ n-k thuộc tính đã biết (n là số lượng thuộc tính)

- Quan hệ tính toán không đối xứng là 1 quan hệ tính toán toán có dạng 1 ánh xạ u(f) -> v(f) Với u(f) là tập biến đầu vào và v(f) là tập biến đầu ra của quan hệ

Ví dụ như trong tam giác ta có các quan hệ tính toán sau:

- A+B+C = Pi // quan hệ giữa 3 góc trong tam giác.

- S= ½*a*b*sin(C) // quan hệ tính diện tích tam giác

Tuy nhiên, khi mở rộng kiểu thuộc tính trong đối tượng tính toán, ngoài việc sử dụng lại quan hệ tính toán cũ cho kiểu thuộc tính cũ, ta cũng cần phải mở rộng thêm loại quan hệ tính toán mới để áp dụng vào các kiểu thuộc tính mới Quan hệ tính toán mới sẽ biểu diễn các loại quan hệ như:

- Quan hệ tính giá trị thuộc tính bằng tổng giá trị có trong 1 thuộc tính có kiểu tập hợp/danh sách

Ví dụ: quan hệ tính khối lượng của hỗn hợp bằng tổng khối lượng các chất trong hỗn hợp đó

Ngày đăng: 10/04/2015, 11:08

HÌNH ẢNH LIÊN QUAN

Hình 1 - Ví dụ về sơ đồ mạch điện - XÂY DỰNG VÀ ỨNG DỤNG MÔ HÌNH COKB GIẢI BÀI TOÁN HÌNH HỌC TAM GIÁC
Hình 1 Ví dụ về sơ đồ mạch điện (Trang 13)
Hình 2 - Giao diện biểu diễn tri thức - XÂY DỰNG VÀ ỨNG DỤNG MÔ HÌNH COKB GIẢI BÀI TOÁN HÌNH HỌC TAM GIÁC
Hình 2 Giao diện biểu diễn tri thức (Trang 22)
Hình 3 - Giao diện tính toán - XÂY DỰNG VÀ ỨNG DỤNG MÔ HÌNH COKB GIẢI BÀI TOÁN HÌNH HỌC TAM GIÁC
Hình 3 Giao diện tính toán (Trang 23)
Hình 4 - Giao diện thông tin học viên - XÂY DỰNG VÀ ỨNG DỤNG MÔ HÌNH COKB GIẢI BÀI TOÁN HÌNH HỌC TAM GIÁC
Hình 4 Giao diện thông tin học viên (Trang 24)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w