Cơ chế suy diễn lùi: tìm kiếm quay lui và hợp giải.

Một phần của tài liệu MỘT SỐ PHƯƠNG PHÁP BIỂU DIỄN TRI THỨC VÀ NGÔN NGỮ PROLOG TRONG LẬP TRÌNH LOGIC (Trang 26)

Tìm kiếm theo hướng lần ngược sâu dần (backtracking), là sự kết hợp suy diễn tiến và suy diễn lùi

Khi đối sánh tìm kiếm mục tiêu, Prolog tìm thử các mệnh đề bắt đầu từ đầu chương trình xuống dưới theo chiều tìm lần ngược từ mục tiêu.

Khi có lời gọi thực hiện một truy vấn mục tiêu, thì lời gọi đệ quy cho các mục tiêu con được gọi thực hiện theo thứ tự từ trái sang phải của luật. Nếu lời gọi một mục tiêu con có kết quả trả về là fail, thì ước lượng truy vấn sẽ gọi thử một mục tiêu con gần nhất (backtracking). Nếu không có mục tiêu con nào có thể được gọi thử, mục tiêu chính (mục tiêu gốc) sẽ trả về kết quả fail (thất bại).

Nếu ta xem tập các luật của một vị từ trong bài toán như một hàm (function), hàm này có bốn nối kết với môi trường của nó (các hàm thông thường chỉ có hai nối kết là call và return). Khi ta thử một mục tiêu lần đầu, ta gọi vị từ, có hai kết quả trả về có thể xảy ra success (thành công), fail (thất bại). Trong trường hợp thành công ta thử lại vị từ Redo.

Với mục đích của sự quay lui, một nối kết các mục tiêu con ta có thể hình dung như sự kết nối các thủ tục tương ứng trong các hợp. Một lời gọi có kết quả thành công sẽ gọi một thủ tục kế tiếp cho đến thủ tục cuối và khi đó mục tiêu chính sẽ trả về là thành công. Nếu một trong các vị từ có kết quả là thất bại, sẽ

yêu cầu thực hiện lại các mục của vị từ này. Việc thực hiện quay lui và tiến về trước nhiều lần cho đến khi từng mục tiêu con là thành công hoặc thất bại.

Suy diễn phản chứng và chứng minh định lý bằng phân giải:

Phân giải (resolution) là một phương pháp dùng để chứng minh định lý trong phép tính vị từ hay phép tính mệnh đề.

Cơ sở lý thuyết của phương pháp chứng minh định lý tự động là dùng ký thuật ước lượng truy vấn của Prolog, được gọi là phân giải.

Ngược lại, chính hệ phân giải đa làm cho trình thông dịch Prolog có thể hoạt động được.

Ngôn ngữ của chứng minh định lý tự động là phép tính vị từ bậc nhất

Một phần của tài liệu MỘT SỐ PHƯƠNG PHÁP BIỂU DIỄN TRI THỨC VÀ NGÔN NGỮ PROLOG TRONG LẬP TRÌNH LOGIC (Trang 26)