1. Trang chủ
  2. » Công Nghệ Thông Tin

Điều khiển quá trình quay lui (backtracking) potx

10 205 0

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 10
Dung lượng 100,96 KB

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

Nội dung

Điều khiển quá trình quay lui backtracking Š Prolog tự động quay lui khi cần thiết Š Có thể điều khiển quá trình thực thi của chương trình bằng cách sắp lại thứ tự các mệnh đề Š Nhát cắ

Trang 1

Điều khiển quá trình quay

lui (backtracking)

Š Prolog tự động quay lui khi cần thiết

Š Có thể điều khiển quá trình thực thi của chương trình bằng cách sắp lại thứ tự các mệnh đề

Š Nhát cắt là một toán tử dùng để ngăn cản quá trình

backtracking của Prolog.

Š Ví dụ:

f(X,0):- X <3.

f(X,2) :- 3=<X, X<6.

f(X,4) :- 6=<X.

f(X,0):- X <3 , ! f(X,2) :- 3=<X, X<6 , ! f(X,4) :- 6=<X.

nhát cắt

This is trial version www.adultpdf.com

Trang 2

Các phép toán số học

Š +

Š

-Š *

Š / (chia số thực)

Š // (chia số nguyên)

Š phép gán: Bien is Bieu_thuc

Š so sánh: <, =<, =:=, =\=, >, >=

Š mod

Š ** (luỹ thừa)

Š between(Low,High,Value)

Š succ(Int1,Int2)

Š plus(Int1,Int2,Int3)

This is trial version www.adultpdf.com

Trang 3

Bài tập

các cạnh XY = XZ, XY = YZ

bang(X,Y)

banggoc(X,A)

bangnhau(XY,UV) ???

A + B + C = 180 Î C is 180 - A - B

This is trial version www.adultpdf.com

Trang 4

Bài tập

2 Chứng minh tứ giác nối trung điểm 4 cạnh của 1

tứ giác là hình bình hành.

3 Biết Tùng là bố của Dương Dương là anh của

Hoa Hoa là mẹ của Trung Trung là anh của

Kiên Cho biết mối quan hệ giữa Tùng và Kiên, giữa Dương và Kiên.

4 Tìm USCLN(X,Y)

5 Viết chương trình tính giai thừa cho số tự nhiên.

giaithua(N,Kq):- N1 is N-1, giaithua(N1,Kq1), Kq is

Kq1*N.

This is trial version www.adultpdf.com

Trang 5

4 Danh sách (list)

Š [ ] - list rỗng

„ phần tử đầu tiên (head)

„ phần còn lại (tail)

kể cả list

This is trial version www.adultpdf.com

Trang 6

4 Danh sách

„ [Item1, Item2, …]

„ [Head | Tail]

„ [Item1, Item2, … | others]

trong bằng cây nhị phân

This is trial version www.adultpdf.com

Trang 7

Các thao tác với danh sách

Š Chiều dài d/s

length(L,Kq): chiều dài d/s L

length( [ ], 0)

length( [ _ | T], Kq) :- length(T,Kq1), Kq is Kq1 + 1

_: biến vô danh

This is trial version www.adultpdf.com

Trang 8

Các thao tác với danh sách

Š Quan hệ thành viên

member(X, L): X có phải là 1 thành phần của L?

Ví dụ: member(b, [a,b,c]) Æ true

member(H,[H | _)

member(H,[_| Tail]) :- member(H, Tail)

This is trial version www.adultpdf.com

Trang 9

Các thao tác với danh sách

conc(L1, L2, L3): Nối L1 và L2 thành L3

?- conc([a,b],[c,d],L).

L = [a,b,c,d]

conc([],L,L).

conc([H|T1],L2,[H|T3]) :- conc(T1,L2,T3).

?- conc(L1,L2, [a,b,c]).

add(X,L, [X|L]).

This is trial version www.adultpdf.com

Trang 10

Các thao tác với danh sách

del(X, [X|T], T).

del(X, [Y|T], [Y|T1]) :- del(X,T,T1).

?- del(a,[a,b,a,a],L)

L = [b,a,a]

L = [a,b,a]

L = [a,b,a]

insert(X,L,L1) :- del(X,L1,L).

This is trial version www.adultpdf.com

Ngày đăng: 13/08/2014, 19:22

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm