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 nh
Trang 1KHOA 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
Trang 2Cù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
Trang 3Tô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.
Trang 4LỜ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
Trang 54.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
Trang 6CHƯƠ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
Trang 7miề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ư:
Trang 81.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 độ …)
Trang 9CHƯƠ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
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)
Trang 10Trong đó:
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ó:
21
,21
,21
,21
2//
1
21
,21
,21
,21
21
,
1
,,
2
,,
B
A
A
diem giao do Toa D
vtpt vtcp
vtpt phuong cung
vtpt vtcp phuong cung
vtcp tthang
duong thang
duong
vtpt vtpt
vtcp phuong cung
vtpt
vtpt phuong cung
vtcp vtcp vtcp
tthang duong thang
duong
k goc so he boi dinh quat tong ptdt k
vtcp
diem
vtpt boi dinh quat tong ptdt n
vtpt
diem
diem qua quat tong thang duong pt B
A
diem
k goc so he thang duong thuoc diem cac n vtpt a
//
2
1
2 1 2
1 2
1
2
1
2 1 2
1 2
1
2
1
dang ptdt dang
ptdt
D dt den M diem tu cach khoang D
dt
M
diem
dt giua goc D
dt
D
dt
D D C
Trang 112.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
Trang 12- 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ếtcá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ử
Trang 13Cá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
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
- Định nghĩa: (Các loại sự kiện)
(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:
Trang 14[<object>, <loại object>]
Ví dụ: [Ob1, “TAM_GIAC”] hay [Ob2, “TAM_GIAC[A,B,C]”]
(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:
<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]
(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 :
<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
(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ự 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
Trang 15(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)
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
Trang 162.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 và 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 đó:
Trang 17- 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
Trang 18 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) }
Trang 192.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:
[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”
Trang 20Cấ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ếtcá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
Trang 213 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 …
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
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
Trang 22nà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
<Tên đối tượng> hoặc <Tên thuộc tính đối tượng>
Trang 23(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>
(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]
Trang 24(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:
(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]*(td-
Oto2[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
Trang 25Trong 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
Trang 26[3] Các khái niệm về các loại quan hệ giữa các loại đối tượng:
Các quan hệ giữa các khái niệm bao gồm các loại quan hệ như:
- Quan hệ “trùng” của 2 điểm, 2 thời điểm (có thể biểu diễn bằng quan hệ “=”)
- Quan hệ “cùng phương” của 2 phương
- Quan hệ “cùng chiều, ngược chiều” của 2 chiều
- …
[4] Các luật:
Các luật trên các loại sự kiện khác nhau chẳng hạn như các luật được liệt kê bên dưới, có thể áp dụng các luật để định nghĩa cho quan hệ:
- Nếu 2 chất điểm gặp nhau tại thời điểm t thì tọa độ của chúng tại t là bằng nhau
Biểu diễn: {CD1&CD2:CHUYEN_DONG, t: real, [„GapNhau‟, CD1, CD2, t]} => {CD1.x(t) = CD2.x(t)}
- Nếu A và B là 2 điểm xác định thì khoảng cách AB bằng trị tuyệt đối của hiệu tọa
độ 2 điểm
Biểu diễn: {A&B: DIEM, A xác định, B xác định} => {KhoangCach(A,B) = abs(A.x – B.x)}
- Nếu A và B trùng nhau thì tọa độ của chúng bằng nhau
Biểu diễn: {A&B: DIEM, [„Trung‟, A, B]} => A.x = B.x
- Nếu B nằm trên đoạn thẳng nối A và C thì chiều AB trùng với chiều BC trùng với
chiều AC và khoảng cách AC bằng tổng khoảng cách AB và BC
Biểu diễn: [„NamGiua‟, B, A, C] => {Chieu[A,B] = Chieu[A,C] = Chieu[B,C], KhoangCach(A,C) = KhoangCach(A,B) + KhoangCach(B,C)}
Trang 27- Gốc thời gian
Trang 28CHƯƠNG 3: MÔ HÌNH BÀI TOÁN VÀ ĐỘNG CƠ SUY DIỄN 3.1 Mô hình bài toán tổng quát
Dựa vào việc nghiên cứu các bài toán cụ thểm ta có thể đề xuất mô hình bài toán tổng
quát dựa trên mô hình tri thức được điều chỉnh gồm các thành phần:
{Elems, CFacts, FFacts}, Goals
Elems là tập các đối tượng và thuộc tính liên quan cần quan tâm
CFacts là tập các sự kiện đã được phân lớp liên quan tới các thuộc tính của đối tượng và các quan hệ tính toán trên đối tướng đó
FFacts là tập các sự kiện hàm đã được phân lớp
Goal là tập kết luận
Ví dụ 1: Hai ô tô xuất phát cùng 1 lúc từ hai địa điểm A và B cách nhau 10 km trên một
đường thẳng đi qua A và B, chuyển động cùng chiều từ A tới B Tốc độ của Ô tô xuất phát
từ A là 60km/h, của Ô tô xuất phát từ b là 40km/h Tìm thức tính quãng đường đi được và
phương trình chuyển động của xe và thời điểm 2 xe gặp nhau
Goals = {Oto1.QD, Oto1.PTCD, Oto1.QD, Oto2.PTCD
ThoiDiemGapNhau(Oto1,Oto2)}
Ví dụ 2: (Sự rơi tự do - Bài tập 12 – trang 27 – SGK - Vật lý 10 – cơ bản)
Trang 29Thả một hòn sỏi từ trên gác cao xuống đất Trong giây cuối cùng hòn sỏi rơi được 15 m Tính độ cao của điểm từ đó bắt đầu thả hòn sỏi Lấy g = 10m/s 2
Ta có:
Elems = {HonSoi, HonSoi.h, HonSoi.v0, HonSoi.t_chamdat, g, t1}
CFacts = [{HonSoi: ROI_TU_DO, HonSoi.h: real, g: real, t1: real}, {}, {}, {HonSoi.v0=0, g = 10, HonSoi.t_chamdat}, {}, {}, {HonSoi.t_chamdat – t1= 1}, {}]
FFacts = [{}, {}, { HonSoi.s(t1, HonSoi.t_chamdat) = 15}, {},{}, {}, {}]
Goals = {HonSoi.h}
3.2 Các dạng suy luận
Các dạng suy luận dựa trên các quan hệ tính toán:
a.1 Từ sự kiện loại 1 suy ra các sự kiện khác dựa vào các thành phần được định nghĩa của đối tượng tính toán đó:
Kí hiệu: Deduce_From1s
Ví dụ: Từ sự kiện “HonDa: ROI TU DO”
2*g*HonDa.h = HonDa.vchamdat2- HonDa.v02
HonDa.vchamdat = HonDa v0 + g* HonDa.tchamdat
Trang 30Các dạng suy luận dựa trên tri thức hàm:
b.1 Thay thế các giá trị biến vào sự kiện hàm loại 5 để sinh ra một sự kiện hàm loại 4
Trang 31b.5 Sự kiện hàm loại 3 và sự kiện hàm 5 sinh ra một phương trình
Dạng suy luận này có mức độ ưu tiên thấp hơn dạng Deduce_Func3
Trang 34Suy luận từ luật:
Từ những luật trong tri thức, kiểm tra các sự kiện trong tập giả thiết, suy ra những sự kiện trong tập kết luận
Trang 353.3.1 Định nghĩa bước giải:
Cấu trúc của một bước giải được mô tả bởi 4 thành phần:
1) Danh sách các sự kiện tham gia sinh ra sự kiện mới
2) Danh sách các sự kiện được sinh ra trong quá trình suy luận
3) Chuỗi kí tự mô tả dạng suy luận
4) Thành phần phụ: mức độ phức tạp của suy luận (với các suy luận với mức độ phức tạp nhỏ có thể được bỏ qua trong quá trình hiển thị lời giải trực quan)
3.3.2 Phân loại sự kiện trong dữ kiện bài toán
Thuật toán 3.3.2.1 Đánh chỉ số 1 sự kiện ứng với dạng sự kiện:
Đầu vào: một sự kiện
Đầu ra: Chỉ số tương phân loại ứng với dạng sự kiện
Thuật toán 3.3.2.2: Phân loại một sự kiện:
- Đầu vào: Một sự kiện fact
Trang 36 Mục đích: phân loại sự kiện fact vào một trong 2 danh sách: GCFacts – danh sách
8 tập hợp con, mỗi tập hợp chứa các sự kiện liên quan tới đối tượng, thuộc tính và
quan hệ tính toán cùng loại; GFFacts – danh sách gồm 7 tập hợp con, mỗi tập hợp
chứa các sự kiện cùng loại liên quan tới hàm của đối tượng và các hàm tính toán khác
Thuật toán 3.3.2.2: Phân loại một tập sự kiện đầu vào:
Đầu vào: Danh sách facts các sự kiện cho trước của bài toán
Mục đích: phân loại các sự kiện trong fact vào một trong hai tập GCFacts hoặc
Trang 37 Chọn gốc thời gian là đối tượng loại “thời điểm” xuất hiện đầu tiên trong dữ kiện bài toán, nếu không tìm thấy thì chọn thời điểm bắt đầu của một chuyển động làm gốc thời gian
Chọn gốc tọa độ là là đối tượng loại “điểm” xuất hiện đầu tiên trong dữ kiện bài toán, nếu không tìm thấy thì chọn điểm xuất phát của một chuyển động làm gốc thời gian
Chọn chiều dương là đối tượng loại “chiều” xuất hiện đầu tiên trong dữ kiện bài toán, nếu ko tìm thấy thì chọn chiều chuyển động ban đâu của một chuyển động làm chiều dương
Thuật toán 3.3.3.1: Tìm hệ quy chiếu
Đầu vào: Tập sự kiện thuốc tính và đối tượng cần quan tâm Elems:
Mục tiêu: Tìm gốc thời gian, gốc tọa độ, chiều dương
For elem in Elems do
If type(elem) = “DIEM” and flag1 = true then
< Chọn elem là gốc tọa độ>;
flag1 <- false;
else if type(elem) = “THOI_DIEM” and flag2 = true then
< Chọn elem là gốc thời gian>;
flag2 <- false;
else if type(elem) = “CHIEU” and flag3 = true then
Trang 38< Chọn elem là chiều dương>;
flag3 <- false;
end if;
end;
End;
3.3.4 Áp dụng phát sinh sự kiện để dẫn tới kết luận
Các dạng suy luận được phân loại theo mức độ ưu tiên, các dạng có cùng mức độ
ưu tiên sẽ được áp dụng trước, nếu không phát sinh được sự kiện mới thì mới áp dụng các dạng suy luận có mức độ ưu tiên thấp hơn
Thuật toán 3.3.4.1: Thuật toán kiểm tra kết luận bài toán đã được tìm thấy hay chưa
Đầu vào: tập kết luận của bài toán, tập sự kiện đã được suy luận ra
Đầu ra: true nếu tập kết luận đã được tìm thấy, false nếu ngược lại
Trang 39End Procedure;
Thuật toán 3.3.4.2: Thuật toán suy luận mở rộng các sự kiện tìm bao đóng của bài toán
Đầu vào: tập giả thiết, tập kết luận của bài toán
Đầu ra: trả về bao đóng của bài toán nếu không tìm được một trong số các kết luận
đưa ra hoặc trả về tập các sự kiện mở rộng đến mức dẫn tới kết luận của bài toán