Untitled Bài t Bài t ậậ p c p cơ ơ s sỏỏ trí tu trí tuệệ nhân t nhân t ạạo o SGU2009 SGU2009 Trang Trang 11 CHCHƯƠ ƯƠ NG 1 CÁC PHNG 1 CÁC PHƯƠ ƯƠ NG PHÁP TÌM KING PHÁP TÌM KIẾẾMM Nguyên lý HeuristicNguyên lý Heuristic ThuThuậật git giảải tham lami tham lam VVớ ớ i nhi nhữững bài toán mà không gian tr ng bài toán mà không gian tr ạạng thái có thng thái có thểể phát sinh c phát sinh c ựực lc lớ ớ n thì vin thì việệc dùngc dùng ph phươ ươ ng pháp vét cng pháp vét cạạn làn là đđiiềều không thu không.
Bài t ậ p cơ ssỏ trí tuệ nhân t ạo - SGU2009 Trang CHƯƠ NG NG CÁC PHƯƠ NG NG PHÁP TÌM KIẾM Nguyên lý Heuristic Thuật giải tham lam Vớ i toán mà khơng gian tr ạng thái có thể phát sinh c ực lớ n việc dùng phươ ng ng pháp vét cạn điều Nguyên lý tham lam l tiêu chuẩn tối ưu toàn cục để làm tiêu chu ẩn ch ọn l ựa hành động phạm vi cục b ộ M ột s ố ví d ụ có th ể áp d ụng ngun lý như các tốn có mơ hình tốn h ọc tốn ng ườ i bán hàng, tốn tơ màu đồ tthh ị,… Hơ n có chiến lượ c tham lam hợ p lý, phươ ng ng pháp sẽ tìm đượ c lờ i giải tối ưu; chẳng hạn thuật toán Kruskal, thuật toán Prim Lượ c đồ của phươ ng ng pháp tham lam void Greedy(A,S) { A tậ p ứng cử viên, S t ậ p nghiệm} { S=φ while (A ≠ φ) { x=select(A); { chọn phần tử t ốt A} A=A - {x} if (S ∪ {x} ch ấ p nhận đượ cc)) S= S ∪ {x} } } Bài tốn hành trình ngườ i bán hàng Có n thành phố ( đượ c đánh số t ừ đến n), ngườ i bán hàng xuất phát từ m ột thành phố, muốn qua thành phố khác, m ỗi thành phố m ột l ần r ồi quay về thành ph ố xuất phát Giả thi thi ết biết đượ c chi phí t ừ thành ph ố i đến thành phố j c[i,j] Hãy tìm hành trình cho ngườ i bán hàng cho tổng chi phí theo hành trình thấ p Bài t ậ p cơ ssỏ trí tuệ nhân t ạo - SGU2009 Trang Thuật giải GTS1 (Greedy Traveling Saleman) Input: số thành ph ố là n, đỉnh xuất phát u ma tr ận chi phí c Output: tour (thứ t ự các thành ph ố qua), cost – chí phí ứng vớ i tour tìm đượ c v=u; tour={u}; cost=0; for i=1 to n { đặt w thành phố k ề sau thành ph ố v tour=tour + {w}; cost=cost+c[v,w] v=w; } tour=tour + {u}; cost=cost+c[v,u] Ví dụ 1.1: Cho đồ th ị có ma tr ận chi phí như sau: ∞ 20 42 31 24 10 ∞ 17 35 18 25 ∞ 27 14 12 24 ∞ 30 12 14 21 15 ∞ 38 40 15 16 20 ∞ Sử d ụng giải thuật GTS1 để tìm hành trình b đầu đỉnh v1=1; v2=3; v3=4; v4=5 Hướ ng ng dẫn giải: GTS1(v1) = → 5 → 2 → 4 → 6 → 3 → 1 Cost(v1) = + + + 12 +16 + 25 = 72 Tươ ng ng tự tính đượ c: c: GTS1(v2) =3 → 2 → 4 → 1 → 5 → 6 → 3 Cost (v2) =5 + + 12 + +38 + 16 = 83 GTS1(v3) =4 → 2 → 1 → 5 → 3 → 6 → 4 Cost (v3) =9 + 10 + + 21 +9 + = 60 GTS1(v4) =5 → 2 → 4 → 1 → 6 → 3 → 5 Bài t ậ p cơ ssỏ trí tuệ nhân t ạo - SGU2009 Cost (v4) Trang =7 + + 12 + 24 +16 + 14 = 79 Thuật giải GTS2 (Greedy Traveling Saleman) n, c, p,vi ( i = p)// v i thành ph ố cho tr ướ c có thể đượ c Input chọn ngẫu nhiên t ậ p p Output: besttour, bestcost bestcost=0 besttour={} for i=1 to p { GTS1(vk ); ); // suy đượ c tour(vk ) cost(vk ) If cost(vk ) b i Các chi tiết D i tho ả mãn a i = b i x ế p vào nhóm đượ cc + S ắ p x ế p chi ti ết N1 theo chi ều t ăng c ai và s ắ p x ế p chi ti ết N2 theo chiều giảm bi + Nối N2v đuôi N1 Dãy thu đượ c (đọc từ trái sang ph ải) sẽ là l ịch gia công tối ưu BT1-7.Có 12 chi tiết máy D1, D2, , D12 pphh ải đượ c lần lượ t gia công máy M1,M2 Thờ i gian gia công chi ti ết D i máy M 1 là {14,6,7,3,9,12,4,5,7,1,13,8}, máy M 2 là (5,7,3,9,12,6,19,2,44,17,8,4) Hãy tìm l ịch (trình tự gia cơng) chi ti ết hai máy Bài t ậ p cơ ssỏ trí tuệ nhân t ạo - SGU2009 Trang cho việc hoàn thành gia công tất cả chi ti ết sớ m có thể đượ c c Giả thi ết r ằng, trình tự gia công chi ti ết hai máy như nhau chi ti ết đượ c làm máy M1 r ồi đến máy M2 BT1-8 Một dịch v ụ in in ấn luận văn tốt nghiệ p, có nhân viên đánh máy quản lý Dịch vụ nh ận đượ c yêu cầu đánh máy luận văn sinh viên tốt nghiệ p như sau: Luận văn Số Trang Trang L1 200 L2 140 L3 L4 70 100 L5 L6 60 120 L7 L8 L9 50 80 100 L10 150 L11 40 L12 60 Giả s ử trong m ột giờ thì m ột nhân viên đánh máy đượ c 10 trang 1.Phân chia luận văn cho 03 nhân viên đánh máy cho thờ i gian hoàn thành việc đánh máy luận văn sớ m 2.Trong tr ườ ng hợ p ngườ i quản lý tham gia đánh máy, công suất ngườ i ườ ng quản lý chỉ b ằng ½ cơng suất nhân viên.Tìm cách chia luaaanj văn cho nhân viên ngườ i quản lý, cho thờ i gian hoàn thành việc đánh máy luận văn sớ m BT1-9.Viết chươ ng ng trình cho thuật tốn GTS1 ng trình cho thuật tốn GTS2 BT1-10.Viết chươ ng Bài t ậ p cơ ssỏ trí tuệ nhân t ạo - SGU2009 Trang Vấn đề 2 Thuật giải tơ màu 2.1.Bài tốn tơ màu Cho n thành phố, tô màu thành phố này cho khơng có b ất k ỳ hai thành phố nào k ền hau đượ c tô màu số màu đượ c tơ Dữ li ệu vào đượ c lưu tr ận vng c[i,j] Nếu c[i,j]=1 hai thành ph ố i,j k ề nhau, c[i,j]=0 hai thành nh ph ố i,j không k ền hau 2.2.Thuật giải tô màu tham lam(Greedy) Dùng màu thứ nh ất tô cho tất cả các đỉnh đồ th ị mà có th ể tơ đượ c, c, sau dùng màu thứ hai tơ t ất cả các đỉnh đồ th ị cịn l ại có thể tơ đượ c cứ nh ư th ế cho đến tô hết tất cả các đỉnh đồ th ị Lượ c đồ của thuật giải như sau: sau: m=1; số đỉnh đượ c tô = 0; đỉnh chưa đượ c tô { for i=1 to n if (đỉnh i chưa xét có thể tơ đượ c màu m) { tô đỉnh i màu m, đỉnh i tr ở ở thành đỉnh xét tăng số đỉnh đượ c tô lên đơ n vị } } m++ while (số đỉnh đượ c tơ