Simulacrum, từ simulacrum Latin, là một sự bắt chước, giả mạo hoặc hư cấu. Khái niệm này được liên kết với mô phỏng, đó là hành động mô phỏng .Một...
Logic Programming – Làm quen với một vài ví dụ – Trí tuệ nhân tạo
Các quan hệ
Một trong những khái niệm cơ bản nhất trong logic programming là mối quan hệ. Để hoàn toàn có thể tưởng tượng dễ hơn, hãy nhìn vào một dòng code prolog với ví dụ tầm cỡ .
mortal(X) :- man(X).
Quan hệ được viết bởi “A :- B” được hiểu là “nếu B thì A”. Ví dụ trên nghĩa là “nếu X là người, X sẽ không bất tử” hoặc đơn giản “con người không bất tử”. Dấu chấm đánh dấu kết thúc câu lệnh trong Prolog. Giờ chúng ta bổ sung tiếp dòng code.
man(socrates).
Câu lệnh này có ý nghĩa là “socrates là con người”. Tiếp theo, bạn sẽ thấy được ý nghĩa của các mối quan hệ. Sau khi định nghĩa quan hệ, ta có thể thực hiện được truy vấn, ví dụ như:
?- mortal(socrates). true.
Kết quả của truy vấn trên là “socrates không bất tử”. Đáp án lấy được từ cơ sở tri thức của chúng ta với hai quan hệ “socrates là con người” và “con người không bất tử”. Ngoài ra, chúng ta có thể liệt kê tất cả những thực thể không bất tử (trong cơ sở tri thức):
?- mortal(X). X = socrates.
Trong prolog, chữ in hoa để lưu lại tên biến .
Đồ thị có hướng
Chúng ta có một đồ thị như hình dưới đây. Chúng ta sẽ quy mô hóa và triển khai suy luận trên đồ thị này .
Đầu tiên, tất cả chúng ta miêu tả đồ thị này. Để làm được như vậy, ta khai báo những quan hệ giữa những đỉnh của đồ thị .
arrow(1,2). arrow(1,3). arrow(3,2). arrow(3,4). arrow(4,3).
Đây là cách mô tả khá trực quan. Ví dụ, arrow(1,2) nghĩa là có một mũi tên đi từ đình 1 sang đỉnh 2 của đồ thị.
Giả sử như tất cả chúng ta muốn biết từ đỉnh A bất kỳ có đường đi đến đỉnh B nào đó hay không. Sẽ có hai năng lực để A đi được đến B, hoặc A và B là hai đỉnh kề nhau hoặc A là đỉnh kề của một đỉnh C nào đó hoàn toàn có thể đi được tới B. Ta diễn đạt trường hợp tiên phong khá đơn thuần :
is_path(A,B) :- arrow(A, B).
Trường hợp thứ 2 được giải quyết và xử lý như sau :
is_path(A,B) :- arrow(A, C), is_path(C, B).
Dấu phẩy thể hiện quan hệ “and” trong prolog. Ví dụ, có đường đi từ 1 đến 4 nếu có một mũi tên từ 1 đến 3 và có đường đi từ 3 đến 4. Sau khi định nghĩa các quan hệ, chúng ta hoàn toàn có thể thực hiện truy vấn như mong muốn.
Lời kết
Qua bài hướng dẫn này, tất cả chúng ta đã làm quen với logic programming với hai ví dụ cơ bản. Đây là công cụ giúp ta giải những yếu tố tương quan đến logic. Mặc dù vậy, trong thực tiễn số lượng những mối quan hệ trong một yếu tố thường là rất lớn nên logic programming thường chỉ vận dụng cho bài toán có khoanh vùng phạm vi nhỏ. Nhưng tất cả chúng ta cũng không loại trừ năng lực cách tiếp cận này một ngày nào đó lại trở thành xu thế sau nhiều năm không được chăm sóc như những gì đã xả ra với mạng nơ ron tự tạo .
—–
” Logic Programming – Làm quen với một vài ví dụ, ” Trí tuệ tự tạo, Ngày xuất bản : 25/07/2020, URL : https://vh2.com.vn/lap-trinh/logic-programming-lam-quen-voi-mot-vai-vi-du/, Ngày truy vấn : 07/11/2022 .
Bạn muốn trích dẫn bài này : —–
Bài viết có liên quan
-
Issue: *
-
Your Name:
*
-
Your Email: *
-
Details: *
Source: https://vh2.com.vn
Category : Tin Học