Tải bản đầy đủ (.pdf) (78 trang)

XÂY DỰNG mô HÌNH BIỂU DIỄN TRI THỨC vật lý ĐỘNG học CHẤT điểm và hệ hỗ TRỢ GIẢI một số DẠNG bài TOÁN LIÊN QUAN

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (4.69 MB, 78 trang )

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
TRƢỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA KHOA HỌC MÁY TÍNH
-------------------------------------------

NGUYỄN TRUNG TIẾN

XÂY DỰNG MÔ HÌNH BIỂU DIỄN TRI THỨC VẬT LÝ
ĐỘNG HỌC CHẤT ĐIỂM VÀ HỆ HỖ TRỢ GIẢI MỘT
SỐ DẠNG BÀI TOÁN LIÊN QUAN

Chuyên ngành: KHOA HỌC MÁY TÍNH
Mã số:

KHÓA LUẬN TỐT NGHIỆP CỬ NHÂN CNTT

NGƢỜI HƢỚNG DẪN KHOA HỌC:

TS. ĐỖ VĂN NHƠN

TP. HỒ CHÍ MINH – Tháng 8 năm 2011


MỞ ĐẦU
Cùng với sự phát triển của công nghệ, máy tính càng ngày càng có khả năng làm thay
con người những công việc đòi hỏi sự phức tạp cao. Vì thế mà ngành trí tuệ nhân tạo
càng có vị trí và tầm ảnh hưởng lớn trong tin học. Một trong những đich đến mà con
người hướng tới là mô phỏng tư duy suy luận con người lên máy tính. Những công trình
nghiên cứu gần đây càng cho chúng ta hi vọng về tương lai của ngành khoa học này,
trong đó không thể không thể không kể đến việc mô phỏng tư duy, cách lập luận giải toán
của con người.


Các nhà khoa học đang đi tìm những mô hình biểu diễn tri thức có thể biểu diễn được
tri thức con người một cách rõ ràng thành những cấu trúc dữ liệu có thể suy luận và xử lý
trên máy tính. Cùng với nó là việc xây dựng một động cơ suy diễn hợp lý, sát với lối tư
duy của con người.
Những phương pháp biểu diễn truyền thống như logic mệnh đề, logic vị từ, hệ luật
dẫn… đã được xây dựng từ sớm với những ưu điểm riêng. Tuy nhiên những phương pháp
biểu diễn này lại gặp một hạn chế chung là không thể sử dụng để biểu diễn tri thức trên
quy mô rộng, vì thực tế tri thức con người rất đa dạng.
Mô hình COKB đã được ra đời đã kết hợp được phần nào những ưu điểm của các
phương pháp biểu diễn truyền thống và khắc phục một số hạn chế. Mô hình COKB đang
được phát triển và mở rộng để có thể có khả năng biểu diễn những kiến thức Toán học,
Hóa học, Vật lý …
Trong báo cáo này mô hình COKB sẽ được áp dụng để biểu diển kiến thức Động học
chất điểm và mở rộng các dạng sự kiện cũng như các cơ chế suy luận để có thể giải quyết
một số dạng bài toán trong chương trình THPT và Vật lý đại cương.


LỜI CẢM ƠN
Tôi xin gửi chân thành cảm ơn thầy Đỗ Văn Nhơn người trực tiếp hướng dẫn khóa
luận cho tôi. Trong suốt quá trình làm bài, Thầy luôn chỉ dạy tận tình, động viên, giúp đỡ,
hỗ trợ mọi lúc tôi gặp khó khăn.
Xin chân thành cảm ơn quý thầy cô trường Đại Học Công Nghệ Thông Tin nói
chung và quý thầy cô trong khoa Khoa Học Máy Tính nói riêng đã truyền đạt cho tôi
những kiến thức hữu ích quý báu để tôi có thể vận dụng nó phục vụ tốt trong học tập,
nghiên cứu và công việc của mình, đặc biệt là trong khóa luận tốt nghiệp này.
Và lời cảm ơn chân thành không thể thiếu xin dành cho gia đình, bạn bè và những
người thân đã luôn bên cạnh để giúp đỡ, động viên giúp tôi hoàn thành luận văn.


MỤC LỤC:

MỞ ĐẦU ...........................................................................................................................................................
LỜI CẢM ƠN .....................................................................................................................................................
CHƯƠNG 1: GIỚI THIỆU TỔNG QUAN ĐỀ TÀI ................................................................................................1
1.1

Mục tiêu, ý nghĩa đề tài ..................................................................................................................1

1.2

Nội dung thực hiện.........................................................................................................................2

1.3

Tổng quan về miền tri thức và các dạng bài toán trong Vật Lý động học chất điểm.....................3

CHƯƠNG 2: MÔ HÌNH COKB ĐIỀU CHỈNH PHÙ HỢP VỚI TRI THỨC ĐỘNG HỌC CHẤT ĐIỂM .......................4
2.1

Mô hình COKB ................................................................................................................................4

2.1.1

Định nghĩa đối tượng tính toán (C-Object)[5] .........................................................................4

2.1.2

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

2.1.3


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

2.2

Mô hình COKB điều chỉnh phù hợp với miền tri thức động học chất điểm .................................10

2.2.1

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

2.2.2

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

2.2.3

Mô hình tri thức các đối tượng tính toán (COKB) điều chỉnh ..............................................14

2.3

Áp dụng: biểu diễn kiến thức vật lý động học chất điểm.............................................................19

CHƯƠNG 3: MÔ HÌNH BÀI TOÁN VÀ ĐỘNG CƠ SUY DIỄN ...........................................................................23
3.1

Mô hình bài toán tổng quát .........................................................................................................23

3.2

Các dạng suy luận .........................................................................................................................24


3.3

Thuật toán suy luận ......................................................................................................................29

3.3.1

Định nghĩa bước giải: ...........................................................................................................30

3.3.2

Phân loại sự kiện trong dữ kiện bài toán .............................................................................30

3.3.3

Tìm hệ quy chiếu ..................................................................................................................31

3.3.4

Áp dụng phát sinh sự kiện để dẫn tới kết luận ....................................................................33

CHƯƠNG 4: CÀI ĐẶT ỨNG DỤNG.................................................................................................................39
4.1

Cấu trúc chương trình ..................................................................................................................39

4.2

Cài đặt chương trình ....................................................................................................................39


4.2.1

Lưu trữ cơ sở tri thức ...........................................................................................................40

4.2.2

Động cơ suy luận của chương trình .....................................................................................43

4.2.3

Giao diện của chương trình và các xử lý khác ......................................................................43


4.3

Giới thiệu về giao diện người dùng ..............................................................................................44

4.5.1

Các thành phần của chương trình ........................................................................................44

4.5.2

Quy định về việc nhập dữ kiện và yêu cầu bài toán.............................................................44

4.5.3

Hiển thị kết quả ....................................................................................................................48

4.4


Kết quả thử nghiệm......................................................................................................................48

4.6.1

Một số thử nghiệm minh họa ..............................................................................................49

4.6.2

Tốc độ tính toán ...................................................................................................................54

4.6.3

So sánh giữa kết quả chương trình tính toán và kết quả do người tính toán......................55

CHƯƠNG 5: KẾT LUẬN .................................................................................................................................56
TÀI LIỆU THAM KHẢO ...................................................................................................................................58
PHỤ LỤC .......................................................................................................................................................59
Phụ Lục A: Kiến Thức Động Học Chất Điểm Và Một Số Bài Tập Tham Khảo ............................................59


1

CHƢƠNG 1: GIỚI THIỆU TỔNG QUAN ĐỀ TÀI
Việc ứng dụng công nghệ thông tin vào mục đích học tập, giảng dạy hiện nay đang rất
được chú trọng. Và đã có rất nhiều sản phẩm, phần mềm ứng dụng công nghệ được đưa
ra để đáp ứng nhu cầu học tập cho học sinh, sinh viên. Và môn Vật lý không phải là một
ngoại lệ. Tuy nhiên trên thực tế các phần mềm hiện nay tuy rất hữu ích nhưng chỉ đáp
ứng một số nhu cầu như tra cứu kiến thức, kiểm tra kiến thức bằng hình thức trắc nghiệm,
mô phỏng các thí nghiệm. Một số phần mềm dành cho Vật lý hiện nay:

 PHYORAL – chương trình trắc nghiệm Vật lý lớp 10, 11, 12
 LUYỆN THI ĐẠI HỌC (Nguyễn Văn Hảo – khoa CNTT – ĐH KHTN - TP.HCM)
 ÔN THI ĐẠI HỌC VẬT LÝ (Nhóm phát triển phần mềm HS-SV)
 LUYỆN THI VẬT LÝ (Physics National Test) (Công ty Công nghệ tin học Nhà
trường)
 PHYSION – phần mềm mô phỏng các thí nghiệm vật lý
 CROCODILE PHYSICS – Phòng thí nghiệm vật lý ảo
 VIRTUAL PHYSICS – sản phẩm mô phỏng các thí nghiệm Vật lý chạy trên nền
web.
 PHÒNG THÍ NGHIỆM VẬT LÝ (Bộ môn Vật lý Tin học – Viện Vật lý Kỹ thuật –
Đại học Bách Khoa Hà Nội.)
Việc ứng dụng và phát triển các nghiên cứu về trí tuệ nhân tạo gần đây vào việc tạo
ra những hệ thống thông minh, có khả năng trợ giúp học sinh trong việc hướng dẫn giải
toán và suy luận đối với các bộ môn khoa học tự nhiên đặc biệt là toán học đã trở nên
rộng rãi, tuy nhiên các sản phẩm áp dụng thực tế trên lĩnh vực kiến thức Vật lý thì chưa
có một sản phẩm hoàn chỉnh.
1.1 Mục tiêu, ý nghĩa đề tài
Trong khóa luận này sẽ đề cập tới việc ứng dụng và phát triển những thành tựu đã có
của Khoa học máy tính nói chung và khoa học Trí tuệ nhân tạo nói riêng, đặc biệt là mô
hình tri thức các đối tượng tính toán (viết tắt là COKB) vào việc thiết kế cơ sở tri thức cho
kiến thức Vật lý Động học chất điểm trong chương trình Vật lý 10 căn bản THPT hiện
hành và Vật lý Đại Cương và động cơ suy diễn giải quyết các bài toán thường gặp trong


2

miền tri thức đó. Áp dụng những nghiên cứu trên để xây dựng ứng dụng giải tự động các
bài toán Động học chất điểm.
Với mong muốn góp phần đưa những ứng dụng công nghệ thông tin gần hơn đến cuộc
sống, đề tài được đưa ra nhằm ngày càng hoàn thiện những lý thuyết và áp dụng kiến

thức, kỹ thuật về việc tổ chức tri thức và biểu diễn tri thức để tạo ra các sản phẩm có tính
ứng dụng cao để hỗ trợ việc dạy và học của học sinh, sinh viên.
1.2 Nội dung thực hiện
Khóa luận tập trung vào việc nghiên cứu các phương pháp biểu diễn tri thức trên máy
tính, mô hình COKB-ONT và các phương pháp suy luận giải một bài toán trên máy tính.
Đồng thời tìm hiểu miền kiến thức và những dạng bài toán trong Vật lý Động học chất
điểm chương trình Vật lý THPT và Vật lý đại cương. Từ đó ứng dụng xây dựng mô hình
biễu diễn tri thức thích hợp cho miển tri thức này.
Dựa vào mô hình mô hình đã được thiết kế, áp dụng để tổ chức và lưu trữ cơ sở tri
thức Vật lý Động học chất điểm trên máy tính. Xây dựng động cơ suy diễn Cơ sở tri thức
đó sẽ được sử dụng cho chương trình hỗ trợ giải các bài toán liên quan với khả năng đưa
ra những bước giải một cách hợp lý và gần gũi nhất với lời giải thực tế của con người.
Các dạng toán được tìm hiểu:
(1) Tìm phương trình chuyển động, phương trình vận tốc.
(2) Tìm các yếu tố liên quan đến sự gặp nhau giữa các chuyển động: thời điểm gặp
nhau, điểm gặp nhau, điều kiện gặp nhau.
(3) Tìm các thuộc tính của chuyển động.
(4) Tìm giá trị của hàm.
(5) Tìm điều kiện để một hoặc một số sự kiện xảy ra.
Xét trên các dạng chất điểm chuyển động như:
(1) Chuyển động thẳng đều
(2) Chuyển động thẳng biến đổi đều:
(3) Chuyển động rơi tự do
(4) Chuyển động ném ngang và chuyển động ném xiên
(5) Chuyển động tròn đều


3

1.3 Tổng quan về miền tri thức và các dạng bài toán trong Vật Lý động học chất

điểm
Nhận xét về miền kiến thức vật lý động học chất điểm:
Các dạng bài tập vật lý nói chung cũng không nhiều, tuy nhiên cách thể hiện một bài
toán và yêu cầu cho bài toán rất linh động, từ đó tạo ra sự khó khăn cho việc chuyển đổi
từ ngôn ngữ tự nhiên sang ngôn ngữ hình thức để có thể xử lý trên máy tính và việc thiết
kế cơ sở tri thức sao cho phù hợp để giải quyết được các yêu cầu tính toán.
Một trong những đặc trưng khác của kiến thức Vật lý là chứa rất nhiều tri thức về
hàm và anh xạ. Trong Vật lý động học chất điểm, bản chất của một số đại lượng Vật lý là
hàm số một biến với biến độc lập là t.
Để có thể giải quyết tốt một bài toán vật lý, những kiến thức liên quan bao gồm:
-

Đại số (giải phương trình bậc 2, giải các bất phương trình, tìm giá trị lớn nhất,
giá trị nhỏ nhất, …)

-

Hình học căn bản (vector, điểm, hệ trục tọa độ …)


4

CHƢƠNG 2: MÔ HÌNH COKB ĐIỀU CHỈNH PHÙ HỢP VỚI TRI
THỨC ĐỘNG HỌC CHẤT ĐIỂM
Trong chương này sẽ trình bày ngắn gọn về mô hình COKB. Trên cơ sở đó thực hiện
việc phân tích, đánh giá và áp dụng mô hình COKB biểu diễn miền tri thức Động học
chất điểm
2.1 Mô hình COKB
2.1.1 Định nghĩa đối tƣợng tính toán (C-Object)[5]
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 Attr(O) = 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, Facts, Rules)


5

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
 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
Ví dụ: Đối tượng (C-Object) thuộc loại “DUONG_THANG” được biểu diễn theo mô hình
trên gồm có:
Attrs  {f, a, n}

F  {}
Facts  {}
Rules  {

pt  vtcp a, vtpt n, cac diem thuoc duong thang , he so goc k 
2 diem A, B  pt duong thang tong quat qua 2 diem
1 diem , vtpt n  ptdt tong quat dinh boi vtpt
1 diem , vtcp a  ptdt tong quat dinh boi vtcp, ptdt tham so, chinh tac
1 diem , he so goc k   ptdt tong quat dinh boi he so goc k 
vtcp1  vtcp 2, vtcp1 cung phuong vtpt 2, 

vtpt1 cung phuong vtcp 2, vtpt1  vtpt 2 
vtcp1 cung phuong vtcp 2, vtpt1 cung phuong vtpt 2 ,
duong thang1 // duong tthang 2  

vtcp1  vtpt 2, vtpt1  vtcp 2

dt D1 cat dt D2   Toa do giao diem

duong thang1  duong tthang 2  

 A1 B1 


  D1 cat D2 
 A2 B2 
 A1 B1 C1 

 
  D1 // D2 

 A2 B2 C 2 

 A1 B1 C1 

 
  D1  D2 
 A2 B2 C 2 
dt D1 , dt D2   goc giua 2 dt

diem M , dt D   khoang cach tu diem M den dt D
ptdt dang 1  ptdt dang 2
}


6

2.1.3 Mô hình tri thức các đối tƣợng tính toán (COKB)
Để có một mô hình biểu diễn tri thức rộng hơn có thể sử dụng trong việc xây dựng
một hệ cơ sở tri thức và giải toán về các C-Object ta cần phải xem xét khái niệm C-Object
trong một hệ thống các khái niệm C-Object cùng với các loại sự kiện, các loại quan hệ
khác nhau và các dạng luật khác nhau liên quan đến chúng. Ta sẽ xem xét một mô hình tri
thức như thế và gọi nó là mô hình tri thức về các C-Object.
Mô hình tri thức các C-Object, viết tắt là mô hình COKB (Computational Objects
Knowledge Base), là một hệ thống (C, H, R, Ops, Funcs, Rules) gồm:
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:
-

Kiểu đối tượng. Kiểu nầy có thể là loại kiểu thiết lập trên một danh sách nền các
đối tượng cơ bản.

-

Danh sách các thuộc tính, mỗi thuộc tính 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.


7

-

Quan hệ trên cấu trúc thiết lập. Quan hệ nầy thể hiện các sự kiện về sự liên hệ giữa
đối tượng và các đối tượng nền (tức là các đối tượng thuộc danh sách đối tượng
nền).

-


Tập hợp các điều kiện ràng buộc trên các thuộc tính.

-

Tập hợp các tính chất nội tại liên quan đến các thuộc tính của đối tượng. Mỗi tính
chất nầy cho ta một sự kiện của đối tượng.

-

Tập hợp các quan hệ suy diễn - tính toán. 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.

-

Tập hợp các luật suy diễn trên các loại sự kiện khác nhau liên quan đến các thuộc
tính của đối tượng hay bản thân đối tượng. Mỗi luật suy diễn có dạng:
các sự kiện giả thiếtcác sự kiện kết luận
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
tượng được thiết lập trên một danh sách các đối tượng nền nào đó).
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ử.


8

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 Funcs các hàm:
Thể hiện tri thức về các hàm hay các qui tắc tính toán trên các biến thực cũng như
trên các loại C-object.
Chẳng hạn như: trong hình học giải tích 3 chiều ta có phép lấy đối xứng của một điểm qua
một điểm, phép lấy đối xứng của một điểm qua một đường thẳng hay mặt phẳng, khỏang
cách từ một điểm đến một mặt phẳng; trong đại số tuyến tính ta có phép tính định thức,
phép tính hạng ma trận, các phép biến đổi sơ cấp trên ma trận; trong vật lý động học chất
điểm ta có hàm xác định thời điểm gặp nhau giữa 2 chất điểm, hàm xác định khoảng cách
hai chất điểm tại một thời điểm v.v…
6. 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 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.

(1)

Định nghĩa: (Các loại sự kiện)
Sự kiện thông tin về loại của một đối tượng. Ta biểu diễn sự kiện nầy bởi cấu trúc

danh sách:


9

[<object>, <loại object>].
Ví dụ: [Ob1, “TAM_GIAC”] hay [Ob2, “TAM_GIAC[A,B,C]”].
Sự kiện về tính xác định của một đối tượng (các thuộc tính coi như đã biết) hay của

(2)

một thuộc tính. Ta biểu diễn sự kiện loại nầy bởi tên của đối tượng hay tên thuộc tính của
đối tượng:
<object> | <object>.<thuoc_tinh>.
Ví dụ: Obj, Obj.a, Obj.DOAN[A,B].
* Ghi chú: trường hợp đối tượng được cấu thành từ các đối tượng khác thì
<thuoc_tinh> có thể được viết theo phương thức cấu trúc.
Ví dụ: O1 : TAM_GIAC[A,B,C];
O1.GocA có thể viết là O1.GOC[C,A,B]
O1.a có thể viết là O1.DOAN[B,C]
Sự kiện về sự xác định của một thuộc tính hay một đối tượng thông qua một biểu

(3)

thức hằng :

<object> = <bieu_thuc_hang> hay <object><thuộc tính> = <bieu_thuc_hang>.
Ví dụ: Obj.a = 5, DOAN[A,B] = m, GOC[A,B,C] = /3.
Sự kiện về sự bằng nhau giữa một đối tượng hay một thuộc tính với một đối tượng

(4)

hay một thuộc tính khác. Sự bằng nhau nầy giữa 2 đối tượng sẽ được hiểu theo nghĩa là
các thuộc tính tương ứng của chúng bằng nhau. Sự kiện loại nầy sẽ được viết dưới dạng:
<object> | <object>.<thuoc_tinh> = <object> | <object>.<thuoc_tinh>
Ví dụ: Ob1.a = Ob2.a, Ob1.a = DOAN[C,D], Ob1 = Ob2.
(5)

Sự kiện về sự phụ thuộc của một đối tượng hay của một thuộc tính theo những đối

tượng hay các thuộc tính khác thông qua một công thức tính toán. Loại sự kiện nầy có
dạng :
<object> | <object>.<thuoc_tinh> =
<bieu thuc theo cac object hay thuoc tinh khac>.
Ví dụ: O1.a = O2.a + 2*O2.b


10

(6)

Sự kiện về một quan hệ trên các đối tượng hay trên các thuộc tính của các đối

tượng. Sự kiện loại nầy có thể được biểu diễn bởi cấu trúc danh sách có dạng:
[<ten quan he>, <object 1>, <object 2>, ... ], hay
[<ten quan he>, <object 1>, <object 2>, ...  ]

(cách biểu diễn thứ 2 được sử dụng cho trường hợp quan hệ có tính đối xứng và truyền
trên các phần tử khác nhau đôi một).
Ví dụ:
[“SSONG”, DOAN[A,B], DOAN[C,D]], [“THUOC”, M, DOAN[B,C]], [“VUONG”,
Ob1.a, Ob2.b].
Một Ví dụ áp dụng của mô hình COKB là biểu diễn tri thức về các tam giác và tứ
giác trong hình học phẳng theo mô hình tri thức về các C-Object ([3]). Một phần lớn kiến
thức về hình học giải tích 3 chiều hay kiến thức về các phản ứng hóa học cũng có thể
được biểu diễn theo mô hình nầy. Cách biểu diễn kiến thức theo mô hình nầy có nhiều ưu
điểm thuận lợi cho việc thiết kế một cơ sở tri thức truy cập được dễ dàng bởi các môđun
quản trị tri thức cũng như các môđun giải toán và tra cứu kiến thức. Đặc biệt là mô hình
giúp ta có thể thiết kế các thuật giải để giải toán tự động.
Mô hình tri thức về các C-Object giúp ta có một tổ chức cơ sở tri thức chặc chẽ và
tiện lợi cho việc hiệu chỉnh, truy cập cũng như cho việc sử dụng tri thức trong giải tự
động các bài toán. Mô hình này thể hiện được ưu thế và lợi ích của chúng trong việc thiết
kế các chương trình giải bài toán thông minh dựa trên tri thức.
2.2 Mô hình COKB điều chỉnh phù hợp với miền tri thức động học chất điểm
Trong mục này tập trung vào việc đưa ra định nghĩa đối tượng tính toán một cách đầy
đủ hơn cũng như xây dựng mô hình của một đối tượng tính toán dựa trên định nghĩa để
áp dụng phù hợp với miền tri thức Động học chất điểm. Ngoài ra, mục này cũng nêu lên
một số thay đổi trong mô hình tri thức các đối tượng tính toán, cụ thể là thêm và bớt một
số thành phần của mô hình, tạo ra sự linh động cho việc thiết kế cơ sở tri thức và bộ suy
luận.


11

2.2.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 Attr(O) = 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) Một danh sách các biến hàm Func(O) = {f1, f2, …, fn} trong đó mỗi biến hàm có một
phương trình biểu diễn sự tương quan giữa nó và các đại lượng Vật lý khác. Bản chất
của các phương trình này là hàm số. Giữa các biến hàm ta cũng có các quan hệ thể qua
các sự kiện, các luật suy diễn hay các công thức tính toán.
(3) 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 và biến hàm 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, biến hàm 

,

tức là đối tượng O có khả năng cho ta biết tập thuộc tính, biến hàm 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






. 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.
Ví dụ: Xét một đối tượng Obj là một chất điểm chuyển động rơi tự do
Obj có cấu trúc bao gồm:

(1) Attr(Obj) = {v0, t_roi, v_chamdat, h}
(2) Func(Obj) = {s(t0, t1), v(t)}
(3) Các hành vi suy diễn liên quan và tính toán
Trong đó:


12

-

v0 là vận tốc ban đầu của Obj

-

t_roi là thời gian rơi của Obj

-

v_chamdat là vận tốc tại thời điểm Obj chạm đất

-

h là độ cao so với mặt đất của Obj

-

s(t0,t1) là quãng đường của Obj đi được từ thời điểm t0 tới thời điểm t1

- v(t) là vận tốc của Obj tại thời điểm t
2.2.2 Mô hình cho một C-Object

Cấu trúc của một C-Object trong mô hình mới có thể được mô hình hoá bởi một bộ:
(Attrs, Funcs, F, FFuncs, Facts, Rules)

Hình 2.2.2.1 – Cấu trúc của một C-Object trong mô hình điều chỉnh
Trong đó:
 Attrs là tập hợp các thuộc tính của đối tượng.
 Funcs là tập hợp các biến hàm của đối tượng
 F là tập hợp các quan hệ suy diễn tính toán trên các thuộc tính của đối tượng.
 FFuncs là tập hợp các phương trình biểu diễn sự tương quan giữa biến hàm với các
đại lượng Vật lý khác (bao gồm cả các thuộc tính và biến hàm khác ) trong đối
tượng.


13

 Facts là tập hợp các ràng buộc, tính chất hay sự kiện vốn có của đối tượng.
 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
Ví dụ: Đối tượng (C-Object) thuộc loại “CHUYEN_DONG_THANG_DEU” được biểu
diễn theo mô hình trên gồm có :
Attrs = {
TocDo:real,
v:real,
ChieuCD:CHIEU,
xo: real,
to: real,
ViTriBatDau:DIEM,
ViTriKetThuc:DIEM,
s: real
}

Funcs = {
X(t):real,
S(t):real
}
F=

{
xo = ViTriBatDau.x,
s = abs(ViTriBatDau.x – ViTriKetThuc.x)

}
FFuncs:= {
X(t) = xo + v*(t – to),
S(t) = TocDo*(t - to)
}


14

Facts: {
TocDo>0
}
Rules: {
[{ChieuCD = ChieuDuong},{v = TocDo}],
[{ChieuCD = ChieuAm},{v = -TocDo}]
}
2.2.3 Mô hình tri thức các đối tƣợng tính toán (COKB) điều chỉnh
Mô hình tri thức các C-Object điều chỉnh, được xây dựng để phù hợp với miền tri thức
Động học chất điểm là một hệ thống thống (C, H, R, Funcs, Rules, Defined) gồm:
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 . Các đối tượng loại nầy làm nền cho các đối tượng cấp cao hơn.
Ví dụ: DIEM[x,y] trong đó x, y là các biến thực thể hiện tọa độ theo trục Ox, Oy
của điểm.
[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ụ:
CHIEU[A,B] (chiều từ A đến B) trong đó A, B 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. Chẳng hạn: một đối tượng
CHUYEN_DONG_THANG_DEU có các thuộc tính <real> như tốc độ, vận tốc
và các thuộc tính thuộc loại đối tượng cấp 1 như “chiều chuyển động : CHIEU”.


15

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

Kiểu đối tượng. Kiểu nầy có thể là loại kiểu thiết lập trên một danh sách nền các đối

tượng cơ bản.
-


Danh sách các thuộc tính, mỗi thuộc tính 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.
-

Quan hệ trên cấu trúc thiết lập. Quan hệ nầy thể hiện các sự kiện về sự liên hệ giữa đối

tượng và các đối tượng nền (tức là các đối tượng thuộc danh sách đối tượng nền).
-

Tập hợp các điều kiện ràng buộc trên các thuộc tính.

-

Tập hợp các tính chất nội tại liên quan đến các thuộc tính của đối tượng. Mỗi tính chất

nầy cho ta một sự kiện của đối tượng.
-

Tập hợp các quan hệ suy diễn - tính toán. 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.
-

Tập hợp các luật suy diễn trên các loại sự kiện khác nhau liên quan đến các thuộc tính

của đối tượng hay bản thân đối tượng. Mỗi luật suy diễn có dạng:
các sự kiện giả thiết các sự kiện kết luận
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 tượng
được thiết lập trên một danh sách các đối tượng nền nào đó).
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 hoá của các khái niệm khác. Có những khái niệm thừa kế những tính chất, thuộc tính
từ một hoặc nhiều khái niệm khác.


16

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ệ vuông góc giữa 2 vector,
quan hệ cùng chiều, ngược chiều giữa 2 chiều …
4.

Một tập hợp Funcs gồm các hàm:

Tập hợp Funcs trong mô hình COKB thể hiện tri thức về hàm, hay có thể nói rộng hơn là
ánh xạ. Mỗi tri thức hàm có thể được:
 Thể hiện bằng một công thức:
Ví dụ: Hàm tìm khoảng cách giữa 2 điểm: KhoangCach(A,B)

KhoangCach(A,B) = abs(A.x – B.x)
 Thể hiện bằng một quy tắc:
Ví dụ: Hàm tìm khoảng cách giữa 2 điểm: KhoangCach(A,B)
Nếu Chieu[A,B] = chieu_duong thì KhoangCach(A,B) = B.x – A.x
Nếu Chieu[A,B] = chieu_am thì KhoangCach(A,B) = A.x – B.x
 Thể hiện bằng chuỗi các bước:
Ví dụ: hàm tìm Thời điểm gặp nhau giữa 2 điểm: TDGN(CD1,CD2) sẽ phát sinh 2
bước giải :
t1 = TDGN(CD1,CD2)
CD1.ViTri(t1) = CD2.ViTri(t1)
Trong quá trình suy luận mỗi tri thức hàm sẽ cho ta một hay nhiều bước giải phát sinh từ
hàm.
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


17

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 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.



Định nghĩa các loại sự kiện liên quan tới đối tƣợng thuộc tính và quan hệ tính

toán trên chúng:
(1)

Sự kiện thông tin về loại của một đối tượng. Ta biểu diễn sự kiện nầy bởi cấu trúc

danh sách:
<Tên đối tượng>::<loại đối tượng>
Ví dụ: oto::ChuyenDongDeu, A::Diem
(2)

Sự kiện về tính xác định của một đối tượng (các thuộc tính coi như đã biết) hay của

một thuộc tính. Ta biểu diễn sự kiện loại nầy bởi tên của đối tượng hay tên thuộc tính của
đối tượng:
<Tên đối tượng> hoặc <Tên thuộc tính đối tượng>
Ví dụ: oto, oto[v]
(3)

Sự kiện về sự xác định của một thuộc tính hay một đối tượng thông qua một biểu

thức hằng :
<Tên đối tượng> = <bieu_thuc_hang> hay <Tên đối tượng><thuộc tính> =
<bieu_thuc_hang>.
Ví dụ: oto[GiaToc] = 5 (m/s^2) hay oto[DiemXuatPhat] = A (A là điểm đã xác định)


18


(4)

Sự kiện về sự bằng nhau giữa một đối tượng hay một thuộc tính với một đối tượng

hay một thuộc tính khác. Sự kiện loại nầy sẽ được viết dưới dạng:
Biểu diễn: <Đối tượng 1>|<Đối tượng 1>.<Thuộc tính> = <Đối tượng 1>|<Đối tượng
1>.<Thuộc tính>
Ví dụ: Ob1.phuongCD = Ob2.phuongCD, Ob1.DiemXuatPhat = Ob1, thoidiem1 =
thoidiem2
(5)

Sự kiện về sự phụ thuộc của một đối tượng hay của một thuộc tính theo những đối

tượng hay các thuộc tính khác thông qua một công thức tính toán. Loại sự kiện nầy có
dạng :
<Đối tượng> | <object>.<thuoc_tinh> =
<bieu thuc theo cac object hay thuoc tinh khac>.
Ví dụ: O1.a = O2.a + 2*O2.b
(6)

Sự kiện về một quan hệ trên các đối tượng hay trên các thuộc tính của các đối

tượng. Sự kiện loại nầy có thể được biểu diễn bởi cấu trúc danh sách có dạng:
[KieuQuanHe,doiso1,doiso2,...]
Ví dụ: [“GAPNHAU”, OTO1, OTO2, t]
(7)

Sự kiện về sự xác định của một biểu thức thông qua một biến hằng.


<biểu thức theo các object hay thuộc tính khác > = <biểu thức hằng>


Định nghĩa các dạng sự kiện liên quan tới tri thức hàm:

(1)

Sự xác định giá trị của hàm khi tham biến xác định:
Ví dụ: QuangDuong(A,B) (Ví dụ khi biết QuangDuong(A,B) = 5)

(2)

Xác định hàm (khi đã biết định nghĩa hàm)
Ví dụ: Oto1[VanTocTai]


19

(3)

Xác định hàm thông qua một hằng số hay 1 đối tượng đã xác định, một hằng số

hoặc một biến hằng:
Ví dụ: Oto1[ViTriTai](t1) = 10
(4)

Xác định định nghĩa hàm (Ví dụ dựa trên 1 công thức khi mà công thức đó ko chứa

bất cứ 1 biến nào ngoài các tham biến của hàm)
Ví dụ: QuangDuong(A,B) = A[ToaDo] - B[ToaDo];

Oto2[ViTri](t) = 60*t + 4;
(5)

Định nghĩa hàm chứa các biến (khác tham biến) chưa xác định:
Ví dụ: Oto2[ViTri](td) = Oto2[Diem_XP][ToaDo] + Oto2[VanToc]*(tdOto2[ThoiDiem_XP][ChiSo])

(6)

Quan hệ giữa hàm với 1 hoặc nhiều biến chưa xác định:
Ví dụ: t1 = ThoiDiemGapNhau(CD1,CD2);

(7)

Quan hệ giữa hàm với hàm khác:
Ví dụ: QuangDuong(A,B) = QuangDuong(A,C) + QuangDuong(C,B)
Oto2[ViTri](td) = Oto1[ViTri](td)

6.

Tập hợp các đối tượng hằng:

Trong kiến thức về động học chất điểm nói riêng và Vật lý nói chung , có một số định
nghĩa về các đối tượng đặc biết, chẳng hạn như :gốc tọa độ, gốc thời gian, phương thẳng
đứng, phương ngang, chiều dương … Và thành phần kiến thức đó được mô tả bởi trong
một phần mở rộng của mô hình COKB, đó là danh sách đối tượng hằng
2.3 Áp dụng: biểu diễn kiến thức vật lý động học chất điểm


20


Trong phần này sẽ trình bày việc áp dụng mô hình mạng các đối tượng tính toán COKB
vào miền tri thức Động học chất điểm.
[1] Các khái niệm về các đối tượng tính toán gồm:
-

Khái niệm cơ bản là khái niệm điểm, thời điểm, phương…

Điểm có hai thuộc tính giá trị thực (xét trong không gian 2 chiều), đó là các tọa độ của
điểm theo trục Ox, Oy.
Thời điểm có một thuộc tính giá trị thực, đó là chỉ số (khoảng thời gian từ thời điểm
đó tới gốc thời gian)
-

Các đối tượng cấp 1: chiều, vector

-

Các đối tượng cấp 2: chuyển động thẳng đều, chuyển động rơi tự do…

[2] Các quan hệ phân cấp giữa các loại đối tượng:
Giữa các khái niệm về các loại chất điểm chuyển động có các quan hệ phân cấp theo sự
đặc biệt hóa của các khái niệm. Chẳng hạn, một chuyển động nhanh dần đều là một
chuyển động biến đổi đều, một chuyển động rơi tự do cũng là một chuyển động nhanh
dần đều…Hệ thống quan hệ phân cấp các khái niệm hình học này có thể được thể hiện
trên các biểu đồ thứ tự dưới đây.

Hình 2.3.1: Biểu đồ Hasse thể hiện quan hệ phân cấp của các khái niệm chất điểm
chuyển động.



×