Ứng dụng giải thuật di truyền giải bài toán người du lịch

21 14 0
Ứng dụng giải thuật di truyền giải bài toán người du lịch

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

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Ứng dụng giải thuật di truyền giải bài toán người du lịch. PowerPoint Presentation Sö dông gi¶i thuËt di truyÒn gi¶i bµi to¸n nguêi du lÞch (TSP) Gi¸o viªn h­íng dÉn TS NGuyÔn Xu©n Hoµi Häc viªn thùc hiÖn Kim V¨n ViÖt TH38 Néi dung I §Æt vÊn ®Ò II Gi¶i quyÕt.

Sử dụng giải thuật di truyền giải toán nguời du lịch (TSP) Giáo viên hớng dẫn: TS-NGuyễn Xuân Hoài Học viên thực hiện: Kim Văn Việt - TH38 Nội dung I- Đặt vấn đề II-Giải vấn đề Giới thiệu giải thuật di truyền Giải toán TSP với giải thuật di truyền Thiết kết chơng trình III-Kết luận Kết đạt đợc Hớng phát triển Tài liệu tham khảo I-Đặt vấn đề Traveling Salesman Problem (TSP) Một du khách phải ghé thăm thành phố vùng anh ta, xác lần, trở điểm khởi hành.Chi phí du lịch cặp thành phố cho trước, phải lập kế hoạch cho hành trình để tổng chi phí cho tồn hành trình l ti thiu? I-Đặt vấn đề Khụng gian tỡm kiếm TSP tập hoán vị n thành phố  Lời giải tối ưu hoán vị với chi phí tối thiểu hành trình  Kích thước tìm kiếm khơng gian tìm kiếm n!  TSP toán tương đối cổ điển chứng minh thuộc loại NP-khó II Gi¶i qut vÊn ®Ị  2.1 Giới thiệu thuật giải di truyền [2] - Giải thuật di truyền (GA) thuật toán bắt chớc chọn lọc tự nhiên di truyền - GA làm việc quần thể gồm nhiỊu c¸ thĨ - GA sư dơng c¸c to¸n tư sau để biến đổi hệ: +To¸n tư chän läc (Select) +To¸n tư lai ghÐp (CrossOver) + Toán tử đột biến (Mutation) Toán tử Select   ViƯc chän läc c¸c c¸ thĨ tõ mét quần thể dựa độ thích nghi cá thể.Các cá thể có độ thích nghi cao có nhiều khả đợc chọn Quá trình chọn lọc đợc thực hiƯn theo kü tht quay b¸nh xe Ru lÐt C¸c cá thể có độ thích nghi cao có khả đ ợc chọn Các cá thể có độ thÝch nghi cao cã thĨ cã mét hay nhiỊu b¶n sao, cá thể có độ thích nghi thấp mặt hệ sau(nó bị chết đi) Toán tử lai ghép (CrossOver) Trên cá thể đợc chọn lọc, ta tiến hành toán tử lai ghép.Đầu tiên ta cần đa xác suất lai ghép pc , xác suất cho ta hy vọng có pc.n cá thể đợc lai ghép (n- cỡ quần thể) Với cá thể ta thực hai bớc sau: * sinh số thực ngẫu nhiên r doạn [0,1]; * r< pc cá thể đợc chọn để lai ghép - Các cá thể đợc chọn để lai ghép, cặp đôi ngẫu nhiên Toán tử lai ghép (CrossOver) Giả sử m độ dài nhiễm sắc thể Với cặp, sinh số ngẫu nhiên p đoạn [0,m-1], p vị trí điểm ghép Cặp gồm hai nhiễm sắc thể: a = (a1 , , ap , ap+1 , , am) b = (b1 , , bp , bp+1 , , bm) đợc thay hai là: a' = (a1 , , ap , bp+1 , , bm) b' = (b1 , , bp , ap+1 , , am) §ét biÕn (Mutation) Ta thùc toán tử đột biến cá thể có đợc sau trình lai ghép Đột biến thay đổi trạng thái số gen nhiễm sắc thể Mỗi gen chịu đột biến với xác suất pm xác suất đột pm ta xác định Chọn ngẫu nhiên r khoảng [0,1] Nếu r< pm đột biến Procedure Genetic_Algorithm Begin t < 0; Khởi tạo hệ ban đầu P(t); Đánh giá P(t) theo hµm thÝch nghi ; Repeat t < t+1; sinh thÕ hƯ míi P(t) tõ P(t-1) bëi  Chän läc  Lai ghÐp  §ét biÕn – Đánh giá P(t); Until điều kiện kết thúc đợc thỏa mÃn; End; Trong thủ tục trên, điều kiện kết thúc vòng lặp số hệ đủ lớn đó, độ thích nghi c¸ thĨ tèt nhÊt c¸c thÕ hƯ kÕ tiÕp khác không đáng kể Khi thuật toán dừng, thể tốt hệ cuối đợc chọn làm nghiệm cần tìm II- Giải vấn đề 2.2 Giải toán TSP với giải thuật di truyền Gene: số thành phố Nhiễm sắc thể: Gồm nhiều Gene Giả sử nhiễm sắc thể có giá trị: 1-3-2-4-5 lộ trình là: tõ ®Õn ®Õn ®Õn ®Õn Việc lợng giá nhiễm sắc thể dễ dàng: cho trớc chi phí chuyến thành phố, ta đễ dàng tính đợc tổng chi phí lộ trình private void Fitness(GAChromosome chromosome){} 2.2 Giải toán TSP với giải thuật di truyền Phép lai(CrossOver): Sử dụng giải thuật tham ăn Định vị Gene nhiễm sắc thể cha Định vị vị trí Gene nhiễm sắc thể mẹ Copy gene míi tõ cha sang phÝa tr¸i Copy gene từ mẹ sang phía phải Nếu không copy gene từ cha , mẹ mà độ dài nhiễm sác thể cha đủ ta chọn ngẫu nhiên gene lại kiểm tra xem đà có nhiễm sắc thể cha? Nếu cha ta thêm gene vào nhiễm sắc thể private void CrossOver(GAChromosome Dad, GAChromosome Mum,ref GAChromosome child1,ref GAChromosome child2 ) { GreedyCrossOver(Dad, Mum, ref child1); GreedyCrossOver(Mum, Dad, ref child2); } private void GreedyCrossOver ( GAChromosome Dad, GAChromosome Mum, ref GAChromosome child ) Phép đột biến(Mutation) Đột biến cách hoán vị hai gene nhiễm sắc thể đợc chọn private void Mutator(GAChromosome chromose) {} Chọn lọc (Select) Tiến trình chọn lọc đợc thực cách quay bánh xe ru lét pop-size lần; lần chọn nhiễm sắc thể từ quần thể hành vào quần thể 2.3 Thiết kế chơng trình Chơng trình xây dựng lớp th viện MyLib: Lớp TSP.cs * ChromosomeComparer: dùng để so sánh ®é thÝch nghi cđa hai nhiƠm s¾c thĨ * GA: Xây dựng hàm ủy nhiệm: //Ham thich nghi(luong gia) public delegate void Fitness(GAChromosome gachromose); //Ham dot bien public delegate void Mutate(GAChromosome gachromose); //Ham lai ghep public delegate void CrossOver(GAChromosome Dad, GAChromosome mum, ref GAChromosome child1, ref GAChromosome child2); //Ham khoi tao public delegate void Initializer(GAChromosome chromose); 2.3 ThiÕt kÕ chơng trình *GAChromosome: Lớp nhiễm sắc thể với phơng thức nh khởi tạo, thêm Gene, copy nhiễm sắc thể , tìm kiếm Gene nhiễm sắc thể //ham khoi dung co doi public GAChromosome(Initializer initializer, Fitness fit, Mutate mut){} //Them Gene public void AddGene(GAGene newGene){} // copy nhiem sac the public void CopyChromosome(GAChromosome newChromosome){} // Tim vi tri cua Gene public int HasThisGene(GAGene Gene){} *Gene: Khëi t¹o Gene public GAGene(string val){} 2.3 Thiết kế chơng trình *Lớp TSP.cs xử lý toàn giải thuật với tham số cụ thể.Đa đờng ngắn hiển thị Mapcity Ngoài xây dựng lớp Splasher.cs để tạo hình giới thiệu trớc vào ứng dụng giúp ch ơng trình giống nh ứng dụng chuyên nghiệp III- Kết luận 3.1 Kết đạt đợc Chơng trình đà đa đợc đờng ngắn hiển thị hình vẽ chậm giúp ta hình dung nh Giao diện thân thiện, tốc độ xử lý nhanh 3.2 Hớng phát triển Cải thiện thuật toán giải toán TSP cách tối u Tài liệu tham khảo [1] Artificial Intelligence A modern Approach Second Edition [2] Thuật giải di truyền Đinh mạnh Tường - ĐHQG Hà t gii di truyn Đinh mạnh Tường - ĐHQG Hà i di truyn Đinh mạnh Tường - ĐHQG Hà n Đinh mạnh Tờng - ĐHQG Hà Nội [3] Cấu trúc liệu + giải thuật di truyền = chơng trình tiÕn hãa [4] Website: http://cs.felk.cvut.cz/~xobitko/ga/ [5] Kü thuËt lËp tr×nh & ứng dụng C# - Phạm Hữu Khang ...Nội dung I- Đặt vấn đề II -Giải vấn đề Giới thiệu giải thuật di truyền Giải toán TSP với giải thuật di truyền Thiết kết chơng trình III-Kết luận Kết... thuộc loại NP-khó II Gi¶i qut vÊn ®Ị  2.1 Giới thiệu thuật giải di truyn [2] - Giải thuật di truyền (GA) thuật toán bắt chớc chọn lọc tự nhiên di truyền - GA làm việc quần thể gåm nhiỊu c¸ thĨ -... kÕ tiếp khác không đáng kể Khi thuật toán dõng, c¸c thĨ tèt nhÊt thÕ hƯ ci cïng đợc chọn làm nghiệm cần tìm II- Giải vấn đề 2.2 Giải toán TSP với giải thuật di truyền Gene: số thành phố Nhiễm

Ngày đăng: 13/11/2022, 22:08

Tài liệu cùng người dùng

Tài liệu liên quan