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

Tiểu luận môn CÔNG NGHỆ TRI THỨC VÀ ỨNG DỤNG ỨNG DỤNG MÔ HÌNH TRI THỨC CHO CÁC NGHIỆP VỤ QUẢN LÝ VÀ ỨNG DỤNG

26 395 0

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

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 26
Dung lượng 310,44 KB

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

Nội dung

Nhưng các dạngbiểu diễn của tri thức gần gũi và dễ hiểu hơn rất nhiều so với các ngôn ngữ lập trình vì nó biểu diễn trực tiếp những khái niệm gắn liền với công việc hàng ngày của họ.Nhìn

Trang 1

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN

Thành phố Hồ Chí Minh 10 – 2014.

Trang 2

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN

Trang 3

Mục lục

1 Mở đầu 2

1.1 Tại sao phải nghiên cứu bài toán này 2

1.2 Các lợi ích của bài toán này 2

1.3 Mục tiêu của tiểu luận 3

2 Mô hình tri thức cho các nghiệp vụ quản lý 4

2.1 Sơ lược một số mô hình biểu diễn tri thức thông dụng 4

2.1.1 Mô hình logic mệnh đề & logic vị từ 4

2.1.2 Mô hình luật sinh 5

2.1.3 Mô hình mạng ngữ nghĩa 5

2.1.4 Mô hình Frame 7

2.1.5 Mô hình COKB 7

2.2 Mô hình tri thức CAFR cho các nghiệp vụ quản lý 9

3 Một số vấn đề trên mô hình CAFR và các giải pháp 14

3.1 Phân rã mô hình CAFR thành lược đồ CSDL quan hệ 14

3.1.1 Ý tưởng 14

3.1.2 Một ví dụ cụ thể 16

3.2 Phát sinh thuật toán cho các tính năng của mô hình 18

3.3 Thực thi các thuật toán của một tính năng 18

3.3.1 Biểu diễn thuật toán 18

3.3.2 Thực thi cây thuật toán 20

4 Demo 20

Kết luận 22

Tài liệu tham khảo 23

Trang 4

1 Mở đầu

1.1 Tại sao phải nghiên cứu bài toán này

Công nghệ tri thức đã thâm nhập vào hầu hết các lĩnh vực ứng dụng của công nghệthông tin Tuy nhiên, hầu hết các nỗ lực đều tập trung giải quyết các vấn đề cụ thể mà thực

tế đòi hỏi Gần như là chưa có một nỗ lực nào đưa các thành tựu của công nghệ tri thức vàotiến trình xây dựng phần mềm để tạo ra các cách xây dựng phần mềm mới mẻ Nói riêngtrong các phần mềm quản lý, nếu tổ chức, xí nghiệp muốn sử dụng cho phù hợp với nhucầu của mình thì hoặc là xây dựng mới hoặc là phải chỉnh sửa lại một phần mềm có sẵn Cảhai việc đó đều rất mất thời gian Vì vậy, em chọn đề tài này với mong muốn làm tối thiểuchi phí hiệu chỉnh một phần mềm khi áp dụng cho các tổ chức, xí nghiệp khác nhau

1.2 Các lợi ích của bài toán này

Nếu xây dựng thành công một cơ sở tri thức cho các nghiệp vụ quản lý của một lĩnhvực cụ thể sẽ có những lợi ích sau đây:

Tối thiểu nhưng nỗ lực sữa chữa khi đem áp dụng cho những tổ chức, xí nghiệp

khác nhau Thường những tổ chức, xí nghiệp trong cùng một lĩnh vực quản lý sẽ cónhững đặc trưng giống nhau về cấu trúc tổ chức, nghiệp vụ phổ biến cho lĩnh vực

đó Hơn nữa còn bị chi phối bởi những nghiệp vụ mang tính phổ quát và bắt buộcnhư: kế toán cho những tố chức có thu/chi Những khác biệt chủ yếu đến từ cungcách kinh doanh, cách thức thực hiện một nghiệp vụ cụ thể Và những sự khác biệtnày thường nhỏ so với những sự tương đồng

Giảm chi phí xây dựng phần mềm Đặc trưng của các hệ thống dựa trên cơ sở tri

thức là giải quyết vấn đề dựa trên cơ chế suy luận chứ không mã hóa cứng bằng mộtngôn ngữ lập trình cụ thể Chính điều này cho phép chúng giải một lớp các vấn đềtương tự nhau mà không cần phải lập trình riêng cho mỗi vấn đề cụ thể Điều nàylàm giảm đáng kể công sức lập trình khi xây dựng phần mềm Hệ quả là nếu có một

cơ sở tri thức phù hợp cho một lớp vấn đề quản lý nào đó, ta có thể xây dựng mộtcông nghệ tạo lập các phần mềm giải các lớp bài toán đó dựa trên cơ sở tri thức mà

Trang 5

gần như không hoặc rất ít mã hóa(coding) Và nếu như làm tốt có thể loại bỏ một

chi phí khổng lồ trong xây dựng phần mềm đó là chi phí testing Bây giờ không còn

test cho phần mềm cụ thể nữa mà chỉ cần test cho “công nghệ tạo phần mềm dựatrên tri thức” Một khi công nghệ đó được test cẩn thận thì có thể yên tâm về chấtlượng của phần mềm được tạo ra

Đưa phần mềm đến với người dùng sớm nhất có thể Công nghiệp phần mềm đã

chứng tỏ lợi ích của điều này bằng sự ra đời của các quy trình phát triển phần mềmXP(Extreme Programing) và các hậu duệ của nó như Agile, Scrum…mà cốt lõi làđưa phần mềm đến user sớm nhất để nhận được phản hồi nhằm giảm tối đa chi phísửa chữa Khi chúng ta có một cơ sở tri thức tổng quát, bao trọn những phần cốt lõichung của tổ chức, xí nghiệp trong một lĩnh vực quản lý, chúng ta sẽ dễ dàng chỉnhsửa cho phù hợp với hiện trạng của từng tổ chức, xí ngiệp và đưa hệ thống đến tayngười dùng sớm nhất

Tăng cường tính hiểu được của phần mềm Phần lớn các người dùng phần mềm

đều không biết và không hiểu được hệ thống thực hiện các logic nghiệp vụ của mìnhnhư thế nào, bởi vì các logic nghiệp vụ được mã hóa trong những ngôn ngữ lập trình

cụ thể(hoặc các ngôn ngữ phi thủ tục của các hệ quản trị CSDL) Nhưng các dạngbiểu diễn của tri thức gần gũi và dễ hiểu hơn rất nhiều so với các ngôn ngữ lập trình

vì nó biểu diễn trực tiếp những khái niệm gắn liền với công việc hàng ngày của họ.Nhìn vào cách biểu diễn tri thức người dùng sẽ hình dung ra cách phần mềm thựchiện các logic nghiệp vụ của mình như thế nào

1.3 Mục tiêu của tiểu luận

Tiểu luận sẽ tập trung vào các công việc sau:

 Tiến hành khảo sát một số mô hình biểu diễn tri thức thông dụng, hiện hành

 Đề xuất một mô hình biểu diễn tri thức CAFR cho các nghiệp vụ của bài toánquản lý cho các tổ chức, xí nghiệp

 Thảo luận về các vấn đề của mô hình CAFR và đề xuất các thuật toán tươngứng cho các vấn đề đó

Trang 6

 Demo tính năng thực thi cây thuật toán bằng một ngôn ngữ lập trình thôngdụng

2 Mô hình tri thức cho các nghiệp vụ quản lý

2.1 Sơ lược một số mô hình biểu diễn tri thức thông dụng

2.1.1 Mô hình logic mệnh đề & logic vị từ

Đây là đạng biểu diễn tri thức cổ điển nhất trong máy tính Cả hai đều sử dụngnhững phép toán của logic toán(như AND, OR, NOT, Kéo theo ) và các kí hiệu thôngdụng của logic toán(như ˄, ˅, ¬, →…) để làm cơ sở cho việc suy luận logic Một mệnh đề

có dạng A→B Ví dụ câu Nếu trời mưa thì đường ướt có thể biểu diễn thành dạng A→Bvới A = trời mưa, B = đường ướt Để có thể suy diễn với các tri thức biểu diễn bằng logicmệnh đề người ta hay sử dụng hai thuật giải thông dụng là thuật giải Vương Hạo và thuậtgiải Robinson

Vì mệnh đề không có cấu trúc, dẫn đến hạn chế nhiều thao tác suy luận, nên người

ta đưa vào đó 2 lượng từ ∀(với mọi) và ∃(tồn tại) để tăng cường tính cấu trúc của mộtmệnh đề, hình thành nên logic vị từ Một vị từ thường được biểu diễn dưới dạng sau đây:

Vị từ(<đối tượng 1>,<đối tượng 2>, …,<đối tượng n>)

Ví dụ để biểu diễn cho các tính chất như: Chanh thì chua, Mật ong thì ngọt ta có thể viết lạinhư sau: Chua(Chanh), Ngọt(Mật ong) Logic vị từ đã được nghiên cứu và phát triển thànhmột ngôn ngữ lập trình đặc trưng cho ngành trí tuệ nhân tạo, đó là Prolog

Bảng sau đây tổng kết cách biểu diễn tri thức bằng logic mệnh đề và logic vị từ

Trang 7

2.1.2 Mô hình luật sinh

Đây là mô hình biểu diễn tri thức được yêu thích nhất, thậm chí nhiều người còn tìmmọi cách để biểu diễn luật sinh cho mọi miền tri thức dù có những biểu diễn phù hợp hơn.Phương pháp này được phát minh bởi Newell và Simon trong lúc hai ông đang nỗ lực xâydựng hệ giải bài toán tổng quát(các hệ General Problem Solving) Ý tưởng cơ bản của luật

sinh là tri thức sẽ được biểu diễn bằng một cặp điều kiện-hành động Nếu điều kiện được

thỏa mãn thì hành động sẽ diễn ra Ví dụ về các luật sinh được nêu trong bảng sau đây:

Một cách tổng quát, 1 luật sinh r có thể biểu diễn như sau:

r: P 1 ˄ P 2 ˄ P 3 ˄ … ˄ P n → Q

Trong đó các Pi và Q là những sự kiện được định nghĩa trước trong tập F(Facts), và r nẳmtrong tập R(Rules), định nghĩa các luật áp dụng trên tập sự kiện F Một cách hình thức thì

mô hình biểu diễn tri thức dạng luật sinh là mô hình tri thức 2 thành phần (F, R) Trong đó

F là tập chứa các sự kiện, R là tập chứa các luật áp dụng trên tập F Biểu diễn tri thức bằngluật sinh tương đối đơn giản Nhưng đối với các cơ sở tri thức lớn, có hàng ngàn luật thì

Trang 8

người ta lại đối diện với vấn đề loại bỏ các luật mâu thuẫn và các luật thừa Đây là bài toánvẫn còn tiếp tục cho đến hiện nay.

2.1.3 Mô hình mạng ngữ nghĩa

Mạng ngữ nghĩa là mô hình tri thức dạng đồ thị, trong đó các đỉnh biểu diễn cho các đốitượng, các cung biểu diễn cho một quan hệ giữa các đối tượng Một ví dụ về mô hình mạngngữ nghĩa được thể hiện trong hình sau đây:

Mạng ngữ nghĩa đặc biệt thích hợp cho các vấn đề biểu diễn mối quan hệ giữa các đốitượng theo một công thức hay một hàm nào đó Có thể dùng mạng ngữ nghĩa biểu diễn mốiquan hệ giữa các yếu tó trong tam giác(bao gồm các cạnh, góc, đỉnh…) với các công thứcliên quan Trong đồ thị này có hai loại đỉnh: đỉnh hình tròn biểu diễn cho các yếu tố củatam giác Đỉnh hình chữ nhật biểu diễn cho các công thức Sau đó thực hiện theo co chếsuy luận được nêu dưới đây để giải bài toán tam giác

Cơ chế suy diễn trên mạng ngữ nghĩa thực hiện theo thuật toán “loang” đơn giản sau đâyB1: Kích hoạt những đỉnh tròn đã cho ban đầu(những yếu tố đã có giá trị

B2: Lặp cho đến khi kích hoạt tất cả các đỉnh hoặc không thể kích hoạt thêm đỉnh nào nữa

Nếu một đỉnh hình chữa 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 đỉnh hình tròn còn lại(và tính giá trị cho đỉnh này thông qua công thứchình chữ nhật

Dưới đây là đồ thị cho một mạng ngữ nghĩa giải bài toán tam giác:

Trang 9

Mạng ngữ nghĩa biểu diễn rất tốt mối quan hệ của các đối tượng thông qua phương trình.Tuy nhiên với các loại quan hệ không biểu diễn bằng phương trình thì rất khó dùng mạngngữ nghĩa để biểu diễn Hơn nữa việc cho phép thêm quan hệ quá dễ dàng có nguy cơ làmxuất hiện những tri thức mâu thuẫn.

2.1.4 Mô hình Frame

Frame là một cấu trúc dữ liệu chứa đựng tất cả những tri thức về một đối tượng nào

đó trong thế giới thực Đây chính là tính chất đóng gói(encapsulation) của lập trình hướngđối tượng Người ta thường dùng FRAME để biễu diễn những tri thức tri thức chuẩn, đãđược hiểu biết cặn kẽ Ý tưởng này mô phỏng cách con người lưu trữ những kinh nghiệm,tri thức đã qua kiểm chứng, được truyền bá rộng rãi Khi cần vận dụng vào vấn đề thực tếthì chỉ cần lấy ra sửa lại chút ít mà không phải mất quá nhiều công sức Một ví dụ về thôngtin đối tượng và cấu trúc biểu diễn bằng FRAME tương ứng như sau:

Trang 10

2.1.5 Mô hình COKB

Mô hình COKB là một mô hình tri thức gồm 6 thành phần :

K = (C, H, R, Ops, Funcs, Rules )

C là một tập hợp các khái niệm về các C-Object là những đối tượng có các đặc trưng:

 Có các thuộc tính có thể tính giá trị được

 Có những quan hệ tính toán bên trong giữa các thuộc tính

Nếu cho trước một tập con A của tập thuộc tính thì đối tượng C-Object có thề cho biếtnhững thuộc tính có thể tính toán được từ tập A Cấu trúc C-Objects có thể được mô hìnhhóa bằng (Attrs, F, Facts, Rules), với :

Attrs là một tập các thuộc tính

F là một tập hợp các phương trình được gọi là quan hệ tính toán

Facts là tập hợp các thuộc tính hoặc sự kiện của đối tượng

Rules là tập các quy tắc suy luận dựa trên Facts.

Một ví dụ về cấu trúc của đối tượng tam giác như sau:

Attrs = {A, B, C, a, b, c, R, S, p, }

F = { A+B+C = π; a/sin(A) = 2R; b/sin(B) = 2R; c/sin(C) = 2R; S = (1/2)bcsin(A)…}Facts = {a+b>c; a+c>b; b+c>a ; …}

Rules = { {a>b} ⇔ {A>B}; {b>c} ⇔ {B>C};

{c>a} ⇔ {C>A}; {a=b} ⇔ {A=B};

{a^2= b^2+c^2} ⇔ {A=pi/2},

{A=pi/2} ⇔ {a^2 = b^2+c^2, b ⊥ c},

}

H: là một tập hợp các quan hệ phân cấp giữa các loại đối tượng.

R: là tập hợp các khái niệm về các loại quan hệ trên các C-Object.

Trang 11

Trong mô hình COKB, ta có 11 loại sự kiện như sau:

 Sự kiện loại 1: Sự kiện thông tin về loại của đối tượng

 Sự kiện loại 2: Sự kiện về tính xác định của một đối tượng hay của một thuộc tínhcủa đối tượng

 Sự kiện loại 3: Sự kiện về tính xác định của một đối tượng hay của một thuộc tínhcủa đối tượng thông qua biểu thức hằng

 Sự kiện loại 4: Sự kiện về sự bằng nhau của một đối tượng hay một thuộc tính củađối tượng với một đối tượng hay một thuộc tính khác

 Sự kiện loại 5: Sự kiện về sự phụ thuộc giữa các đối tượng và các thuộc tính của cácđối tượng thông qua một công thức tính toán hay một đẳng thức theo các đối tượnghoặc các thuộc tính

 Sự kiện loại 6: Sự kiện về một quan hệ trên các đối tượng hay trên các thuộc tínhcủa các đối tượng

 Sự kiện loại 7: Sự kiện về tính xác định của một hàm

 Sự kiện loại 8: Sự kiện về tính xác định của một hàm thông qua một biểu thức hằng

 Sự kiện loại 9: Sự kiện về sự bằng nhau giữa một đối tượng với một hàm

 Sự kiện loại 10: Sự kiện về sự bằng nhau của một hàm với một hàm khác

 Sự kiện loại 11: Sự kiện về sự phụ thuộc của một hàm theo các hàm hay các đốitượng khác thông qua một công thức tính toán

2.2 Mô hình tri thức CAFR cho các nghiệp vụ quản lý

Dựa trên sự tham khảo các mô hình biểu diễn tri thức truyền thống và đặc biệt là môhình COKB(Computation Object Knowledge Base) với cách tiếp cận hướng đối tượng cho

Trang 12

phép biểu diễn những tri thức phức tạp trong thực tế, kết hợp các công cụ biểu diễn khácnhư FRAME, luật sinh …tiểu luận đề xuất một mô hình biểu diễn tri thức như sau:

(C, A, F, R) C: là tập các khái niệm trong lĩnh vực đang xét Các khái niệm này cho phép kế

thừa Cấu trúc của một khái niệm như sau: (Attributes, Rules, Contraints, Operations) Ví

dụ cấu trúc của khái niệm NHAN_VIEN như sau:

constraint c1: ngayBatDau != NULL;

constraint c2: ngayKetThuc == NULL OR ngayBatDau < ngayKetThuc;

operator NHAN_VIEN == (NHAN_VIEN): ;

rule r1: (quanLy is NOT NULL) → (phuCap = 0);

rule r2: (quanLy is NULL) → (phuCap = 10000);

}

Cấu trúc của một thuộc tính như sau:

< identification tùy chọn><tên kiểu><tên thuộc tính><= tùy chọn><biểu thức tùy chọn>

Trong đó tên kiểu là tên các khái niệm trong mô hình hoặc kiểu dữ liệu cơ sở như:DateTime, Int, Real, Bool, String Các thuộc tính chia làm 3 loại:

Trang 13

Thuộc tính tĩnh: là thuộc tính hầu như rất ít thay đổi trong chu trình sống của một

đối tượng(là một thể hiện của một khái niệm) hoặc là thuộc tính thuần túy lưu trữgiá trị hoặc tham chiếu đến khái niệm khác(có thể là thuộc tính đơn hoặc danh sáchnhư thuộc tính qtLamViec) Trong ví dụ trên thì: tenNV, ngayBatDau,ngayKetThuc, phongBan, quanLy, phuCap, qtLamViec là các thuộc tính tĩnh

Thuộc tính tính toán: là thuộc tính mà đi kèm với nó là biểu thức(công thức) dùng

để tính toán giá trị cho thuộc tính đó Biểu thức của một thuộc tính tính toán có thể

là rỗng như thuộc tính salary trong ví dụ trên Điều này là bởi vì tùy theo loại nhânviên cụ thể(ví dụ nhân viên hợp đồng hay công nhật) thì mới có thể có công thứctính phù hợp cho thuộc tính đó Khi đó nó hàm ý rằng thuộc tính luong sẽ được tínhtoán lại bởi các khái niệm con cụ thể hơn, ví dụ như khái niệmNHAN_VIEN_HOP_DONG bên dưới

concetp NHAN_VIEN_HOP_DONG extends NHAN_VIEN

Đặc trưng của mô hình CAFR là một khái niệm phải có ít nhất một thuộc tính định danh Một thuộc tính định danh hoặc có kiểu dữ liệu cơ sở hoặc tham chiếu đến một khái niệm mà khái niệm đó có các thuộc tính định danh là kiểu dữ liệu cơ sở Tập các thuộc tính định danh của một khái niệm là tập nhỏ nhất mà xác định toàn bộ các thuộc tính tĩnh của khái niệm.

Trang 14

Trong cấu trúc của một đối tượng còn có các ràng buộc (biểu diễn bằng từ khóa

constrain) dùng để mô tả các điều kiện mà các thuộc tính phải thỏa mãn Các luật (biểu diễn bằng từ khóa rule) dùng để mô tả những quy tắc tính toán cho các thuộc tính bên

trong khái niệm dưới những điều kiện xác định(có cùng dạng với các luật trong thành phần

R) Các phép toán(bắt đầu với từ khóa operator) dùng để mô tả những phép toán giữa khái

niệm này với khái niệm khác

A: là tập các liên kết giữa các khái niệm Một liên kết giữa hai khái niệm chỉ ra một

mối quan hệ theo một ngữ cảnh nào đó Ví dụ liên kết [“Belong to”, NHAN_VIEN,PHONG_BAN] {1 1, 0 *} chỉ ra rằng một nhân viên là thuộc một phòng ban và một

phòng ban có thể nhiều nhân viên Tất cả các liên kết trong mô hình đế có tối đa 2 ngôi.

Cấu trúc của một liên kết có dạng sau:

[<tên liên kết>, <khái niệm 1>, <khái niệm 2>] {<cơ số 1>, < cơ số 2>}

Trong đó các < cơ số 1>, < cơ số 2> là khái niệm cơ số của biểu đồ lớp trong UML dùng

để chỉ số đối tượng của một khái niệm tham gia vào liên kết này Các giá trị thường dùngcủa cơ số là:

1 một và chỉ một0 1 không hay mộtm n từ m đến n(0 <= m <= n, m và n là các số nguyên)0 *(hay *) từ 0 đến nhiều

1 * một tới nhiều

Rõ ràng các liên kết trong mô hình CAFR không chứa các thuộc tính Từ đó, ta thấyrằng không thể xuất hiện các liên kết nhiều nhiều Bởi vì nếu có các liên kết nhiều nhiều thìliên kết đó phải có thuộc tính riêng của nó, mà nếu như vậy thì phải định nghĩa nó như làmột khái niệm mới và sau đó định nghĩa lại liên kết ban đầu thành hai liên kết 1 *

Ngày đăng: 20/05/2015, 08:39

HÌNH ẢNH LIÊN QUAN

Đồ thị quan hệ ban đầu được tạo ra như sau: - Tiểu luận môn CÔNG NGHỆ TRI THỨC VÀ ỨNG DỤNG ỨNG DỤNG MÔ HÌNH TRI THỨC CHO CÁC NGHIỆP VỤ QUẢN LÝ VÀ ỨNG DỤNG
th ị quan hệ ban đầu được tạo ra như sau: (Trang 19)
Hình sau đây là một phần mã nguồn Java trong việc tạo ra các node của cây thuật toán cho chức năng sort - Tiểu luận môn CÔNG NGHỆ TRI THỨC VÀ ỨNG DỤNG ỨNG DỤNG MÔ HÌNH TRI THỨC CHO CÁC NGHIỆP VỤ QUẢN LÝ VÀ ỨNG DỤNG
Hình sau đây là một phần mã nguồn Java trong việc tạo ra các node của cây thuật toán cho chức năng sort (Trang 24)

TỪ KHÓA LIÊN QUAN

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