THUẬT TOÁN – MỘT PHƯƠNG PHÁP BIỄU DIỄN TRI THỨC?
Trước khi trả lời câu hỏi trên, bạn hãy thử nghĩ xem, liệu một chương trình giải phương trình bậc 2 có thể được xem là một chương trình có tri thức hay không? ... Có chứ ! Vậy thì tri thức nằm ở đâu? Tri thức về giải phương trình bậc hai thực chất đã được mã hóa dưới dạng các câu lệnh if..then..else
trong chương trình. Một cách tổng quát, có thể khẳng định là tất cả các
chương trình máy tính ít nhiều đều đã có tri thức. Đó chính là tri thức
của lập trình viên được chuyển thành các câu lệnh của chương trình. Bạn
sẽ thắc mắc "như vậy tại sao đưa
tri thức vào máy tính lại là một vấn đề ? (vì từ trước tới giờ chúng ta
đã, đang và sẽ tiếp tục làm như thế mà?)". Đúng như thế thật, nhưng
vấn đề nằm ở chỗ, các tri thức trong những chương trình truyền thống là
những tri thức "cứng", nghĩa là nó không thể được thêm vào hay điều chỉnh một khi chương trình đã được biên dịch.
Muốn điều chỉnh thì chúng ta phải tiến hành sửa lại mã nguồn của chương
trình (rồi sau đó biên dịch lại). Mà thao tác sửa chương trình thì chỉ
có những lập trình viên mới có thể làm được. Điều này sẽ làm giảm khả
năng ứng dụng chương trình (vì đa số người dùng bình thường đều không
biết lập trình).
Bạn thử nghĩ xem, với một chương trình hỗ
trợ ra quyết định (như đầu tư cổ phiếu, đầu tư bất động sản chẳng hạn),
liệu người dùng có cảm thấy thoải mái không khi muốn đưa vào chương
trình những kiến thức của mình thì anh ta phải chọn một trong hai cách
là (1) tự sửa lại mã chương trình!? (2) tìm tác giả của chương trình để nhờ người này sửa lại!?.
Cả hai thao tác trên đều không thể chấp nhận được đối với bất kỳ người
dùng bình thường nào. Họ cần có một cách nào đó để chính họ có thể đưa
tri thức vào máy tính một cách dễ dàng, thuận tiện giống như họ đang đối
thoại với một con người.
Để làm được điều này, chúng ta cần phải
"mềm" hóa các tri thức được biểu diễn trong máy tính. Xét cho cùng, mọi
chương trình máy tính đều gồm hai thành phần là các mã lệnh và dữ liệu.
Mã lệnh được ví như là phần cứng của chương trình còn dữ liệu được xem
là phần mềm (vì nó có thể được thay đổi bởi người dùng). Do đó, "mềm"
hóa tri thức cũng đồng nghĩa với việc tìm các phương pháp để có thể biểu diễn các loại tri thức của con người bằng các cấu trúc dữ liệu mà máy tính có thể xử lý được. Đây cũng chính là ý nghĩa của thuật ngữ "biểu diễn tri thức".
Bạn cần phải biết rằng, ít ra là cho đến
thời điểm bạn đang đọc cuốn sách này, con người vẫn chưa thể tìm ra một
kiểu biểu diễn tổng quát cho mọi loại tri thức!
Để làm vấn đề mà chúng ta đang bàn luận trở nên sáng tỏ hơn. Chúng ta hãy xem xét một số bài toán trong phần tiếp theo.
Không có nhận xét nào:
Đăng nhận xét