p_ttnt

1.Thuật toán tìm kiếm theo chiều rộng

*Tại mỗi bước ta chọn trạng thái để phát triển là trạng thái được sinh ra đầu tiên trong những trạng thái đang chờ phát triển

*Cài đặt :ta phải sử dụng danh sách L để lưu trạng thái đang chờ phát triển .Danh sách L thuộc kiểu hàng đợi  queue(fifo)tại mỗi bước tìm kiếm ta sẽ loại phần tử đứng đầu danh sách nếu phần tử đó ko phải là đỉnh kết thúc thì ta sẽ bổ sung các đỉnh con của phần tử đó lần lượt vào cuối danh sách.Quy trình tiếp tục như vậy cho đến khi ta tìm được đỉnh kết thúc

*Độ phức tạp về thời gian 0(bd)

2.Thuật toán tìm kiếm theo chiều sâu

*Ý tưởng :tại mỗi bước ta kiểm tra đỉnh sinh ra cuối cùng trong số các đỉnh đang chờ phát triển

*Cài đặt :Ta phải sử dụng danh sách L để chứa các đỉnh đang chờ pát triển danh sách L xử lý như ngăn xếp(stack)tại mỗi bước ta sẽ loại đỉnh đứng đầu danh sách để kiểm tra.sau khi kiểm tra nếu đỉnh ko phải là đỉnh kết thúc ta sẽ bổ xung các phần tử vào đầu danh sách .Quy trình cứ tiếp tục như vậy cho đến khi ta tìm được đỉnh kết thúc

*Độ phức tạp về thời gian 0(b^d)

3.Thuật toán tìm kiếm tốt nhất đầu tiên

*Ý tưởng:Tại mỗi bước ta sẽ chọn trạng thái có giá trị hàm đánh nhỏ nhất trong số các trạng thái đang chờ phát triển

*Cài đặt :Sử dụng danh sách L chứa các đỉnh đang chờ phát triển ,danh sách L được sắp xếp tăng  dần theo giá trị của hàm h tại mỗi bước ta loại trạng thái đứng đầu danh sách l nếu trạng thái mà ta loại ko phải là trạng thái kết thúc thì ta đưa các đỉnh con của đỉnh này vào danh sách và lại thực hiện lại quá trình sắp xếp

*Độ phức tạp về thời gian 0(b^d)

4.Thuật toán A*

*Ý Tưởng :Tại mỗi bước ta sẽ pt đỉnh có giá trị hàm f nhỏ nhất trong số tất cả các đỉnh đang chờ pt

*Cài đặt :Sử dụng danh sách L chứa các đỉnh đang chờ phát triển ,danh sách L được sắp xếp tăng  dần theo giá trị của hàm h tại mỗi bước ta loại trạng thái đứng đầu danh sách l nếu trạng thái mà ta loại ko phải là trạng thái kết thúc thì ta đưa các đỉnh con của đỉnh này vào danh sách và lại thực hiện lại quá trình sắp xếp

*Độ phức tạp về thời gian 0(b^d)

5.Thuật toán Vương Hạo

*Thuật toán vương hạo là thuật toán dùng để chứng minh tự động các định lí được biểu diễn logic mệnh đề

   Input  :gt1,gt1,..,gtm

               Kl1,kl2,..,kln

   Output chung minh gt-->kl

 Nếu chứng minh dc thông báo thành công cong ko thất bại

(gt giao kt # rỗng)

*phương pháp chứng minh

B1:chuẩn hóa các mệnh đề gti với (i=1,m) và đưa nó vào tập vt

B2: chuẩn hóa các mệnh đề kết luận với (i=1,n) và đưa nó vào tập vế phải

 Ta có cặp (vt,vp)->p

B3: chưng minh p# còn thực hiện

+p=>(vt,vp)(p lấy ra cặp vế trái,vế phải)

+nếu vt giao vp=rỗng thì

 Chuyển vế (vt,vp)

-if(vt giao vp=rỗng) thì

 Neu(not tach (vt,vp) thi

+that bai

Nguoc lai

 (vt,vp) n =>p

Nguoc lai

 Thanh cong

Nguoc lai

Thanh cong =>chuan hoa

+xet

 -neu tất cả các cặp (vt,vp)trong p đều chứng minh dc=>định lí dc chứng minh

-tách :thay dấu

 +Nếu vt có dấ ^ ta có thể thay bằng dấu (,),còn vp có dấu thì thay bằng dấu (,)

6.Thuật toán Robinson

*Ý Tưởng

 Thực chất của phương pháp hợp giải do Robinson đề xuất là chứng minh bằng phản chứng để chỉ ra gt1,gt2,..,gtn có thể suy ra kl1,kl2,..,kln ta sẽ lấy phủ định của kết luận đem hợp cùng gt nếu bằng cách biến đổi nào đó ta suy ra dc mâu thuẫn thì quá trình chứng minh thành công

*Thuật toán

Input gt1,gt2,..gtm va kl1, ...kln

Output dinh li dc chung minh neu gt=>kl

*Thuật toán bằng ngôn ngữ tựa

Procedure robinson;

Begin

 P=rỗng;

For i=1 to m do

Begin

Chuanhoa(gti);

P=p giao{gti};end;

For i:=1 to n do

Chuanhoa(kli);

(P=p giao {kli };

End;

If mauthuan(p) then

Begin

Thanhcong;

Exit; end;

P1=rỗng ; while (p1#p) and(7 mauthuan(p)) do

Begin

P1=p;hopgiai(p);

End;

If mauthuan (p) then

Thanhcong

Else thatbai;

End;

7.Thuật toán suy diễn trong logic mệnh đề

Khác với cách giải quyết vấn đề của vương  hạo và robinson p2 suy diễn sẽ lần lượt chuyển từ các giả thiết về các kết luận bằng cách thêm vào giả thuyết các sự kiện đã dc khẳng định là đúng

Bạn đang đọc truyện trên: AzTruyen.Top

Tags: