Successfully reported this slideshow.

ACO ant colony

3,735 views

Published on

อธิบายและวิเคราะห์ algorithm ของ ACO

Published in: Education, Technology
  • Be the first to comment

ACO ant colony

  1. 1. A running time analysis for an ant colony optimization algorithm For shortest paths on directed acyclic graphs Nattapat Attiratanasunthron Joint work with Jittat Fakcharoenphol Department of Computer Engineering Kasetsart University
  2. 2. ลำดับการนำเสนอ <ul><li>วัตถุประสงค์ของงานวิจัย </li></ul><ul><li>ผลงานวิจัยก่อนหน้า </li></ul><ul><li>ผลงานวิจัยของเรา </li></ul><ul><li>วิเคราะห์เวลาการทำงาน </li></ul><ul><li>ผลการทดลอง </li></ul>
  3. 3. วัตถุประสงค์ของงานวิจัย <ul><li>วิเคราะห์เวลาในการทำงานของ ACO algorithms ในการแก้ปัญหา shortest path บน DAG </li></ul><ul><ul><li>ซึ่งปัญหา One-Max เป็นกรณีพิเศษของปัญหานี้ </li></ul></ul>
  4. 4. ACO algorithm Natural behavior of ant <ul><li>ใช้มดหลายตัวในการทำงาน </li></ul><ul><li>ซึ่งมดแต่ละตัวช่วยกันในการแก้ปัญหา </li></ul><ul><li>และจะติดต่อสื่อสารกันโดยฝาก Pheromone ไว้บนเส้นทาง </li></ul><ul><li>มดจะทำการเลือกเส้นทางที่สั้นกว่าโดยใช้ความเข้มข้นของ Pheromone เป็นส่วนในการตัดสินใจ </li></ul><ul><li>Pheromone บนเส้นทางมีการปรับเปลี่ยนค่าตามเวลาที่เปลี่ยนแปลงไป โดยมากหรือน้อยขึ้นอยู่กับอัตราการระเหยของ Pheromone </li></ul>
  5. 5. ผลงานวิจัยก่อนหน้า <ul><li>Stutzle และ Dorigo แสดงว่า ACO algorithm Convergence </li></ul><ul><ul><li>พิสูจน์ว่าถ้าให้เวลานานพอ ACO algorithm จะพบคำตอบที่ดีที่สุด </li></ul></ul><ul><ul><li>ไม่สามารถระบุเวลาในการทำงานได้ </li></ul></ul><ul><li>Neumann และ Witt วิเคราะห์เวลาการทำงานของ 1-ANT algorithm บนปัญหา One-Max </li></ul>
  6. 6. นิยามปัญหา one-max <ul><li>ปัญหา one-max คือมี set ของตัวแปร x 1 ,x 2 ,…,x n ที่แต่ละตัวมีค่า {0,1} </li></ul><ul><li>จุดประสงค์คือต้องการผลรวมของค่า X i ที่มากที่สุด ; </li></ul>one-max [Neumann and Witt]
  7. 7. การมองปัญหา one-max เป็นการหาเส้นทางในกราฟ one-max [Neumann and Witt]
  8. 8. เวลาการทำงาน ของ 1-ANT Running time ของ 1-ant Algorithm บนปัญหา one-max [Neumann and Witt] Phase Transition บนอัตราการระเหย time
  9. 9. ผลงานวิจัย <ul><li>บทวิเคราะห์เวลาในการทำงานของ ACO algorithms </li></ul><ul><ul><li>one-max ( มดหลายตัว ) </li></ul></ul><ul><ul><ul><li>เวลาการทำงานเป็น </li></ul></ul></ul><ul><ul><ul><li>ไม่มี phase transition บนอัตราการระเหย </li></ul></ul></ul><ul><ul><li>single-destination shortest path problem on directed acyclic graphs </li></ul></ul><ul><ul><ul><li>เวลาการทำงานเป็น </li></ul></ul></ul>
  10. 10. One-Max ( version multi graph ) <ul><li>edge ที่ e(2n-1) มีค่า weight เป็น X=1 </li></ul><ul><li>edge ที่ e(2n) มีค่า weight เป็น X=0 </li></ul>one-max ( แบบ multiple graph ) โดยมีคุณสมบัติดังนี้ e(2n-1) … e(2n) e1 e3 e5 e7 e9 e2 e4 e6 e8 e10 Vo V1 V2 V3 V4 V5 Vn X i =1 X i =0
  11. 11. ขอบเขตของค่า pheromone <ul><li>pheromone บนเส้นเชื่อมใดๆ มีค่าได้มากที่สุดมีค่าไม่เกิน </li></ul><ul><li>pheromone บนเส้นเชื่อมใดๆ มีค่าได้น้อยที่สุดมีค่าไม่เกิน </li></ul><ul><li>ถ้าค่า pheromone บนเส้นเชื่อม และบนเส้นเชื่อม จะเรียกว่า correctly saturated </li></ul>
  12. 12. Multiple-Ant Algorithm for one-max <ul><li>Initial State </li></ul><ul><ul><li>Initial pheromone value = 1/2 </li></ul></ul><ul><ul><li>Initial Ant n-1 </li></ul></ul><ul><li>while forever do </li></ul><ul><li>for i=1 to n-1 </li></ul><ul><ul><ul><li>ant i random walks </li></ul></ul></ul><ul><ul><ul><li>calculate distance </li></ul></ul></ul><ul><ul><ul><li>update pheromone </li></ul></ul></ul><ul><li>solution generated by ant 1 </li></ul>Multiple-Ant Algorithm for One-Max
  13. 13. PROCEDURE ANT_WALK <ul><li>ถ้ามด อยู่ ที่โหนด i มดตัวจะทำการเลือกเส้นเชื่อม e (2 i- 1) ด้วยความน่าจะเป็น </li></ul><ul><li>นั่นคือ ถ้า Z เป็นตัวแปรสุ่มแบบสม่ำเสมอบน [0,1] </li></ul>
  14. 14. PROCEDUCE PHEROMENE_UPDATE
  15. 15. ตัวอย่างการทำงานของ multiple-ant algorithm กำหนดค่าเริ่มต้น ให้มดแต่ละตัวอยู่ในทุกๆ โหนด และ pheromone ในทุกๆ เส้นเชื่อม
  16. 16. ตัวอย่างการทำงานของ multiple-ant algorithm(2) ตัวอย่างที่ 1 : พิจารณา มดตัวที่ i = 1 ในการทำงานรอบที่ 1 มดตัวที่ i = 1 เดินได้ความยาว เป็น 4 ; ระยะก่อนหน้าเป็น 0 X 1 =1 X 2 =1 X 4 =0 X 5 =1 X 6 =0 X 7 =1 X 3 =0 เพราะฉะนั้น ทำการปรับค่า pheromone บนเส้นทางที่ X1
  17. 17. ตัวอย่างการทำงานของ multiple-ant algorithm(3) ตัวอย่างที่ 2 : พิจารณา มดตัวที่ i = 5 ในการทำงานรอบที่ 3 มดตัวที่ i = 5 เดินได้ความยาว เป็น 2 ; ระยะก่อนหน้าเป็น 3 X 5 =1 X 6 =0 X 7 =1 เพราะฉะนั้น ไม่มีการปรับค่า pheromone
  18. 18. ตัวอย่างการทำงานของ multiple-ant algorithm(4) ตัวอย่างที่ 3 : พิจารณา มดตัวที่ i = 5 ในการทำงานรอบที่ 3 มดตัวที่ i = 5 เดินได้ความยาว เป็น 3 ; ระยะก่อนหน้าเป็น 3 X 5 =1 X 6 =1 X 7 =1 เพราะฉะนั้น ทำการปรับค่า pheromone บนเส้นทางที่ X5
  19. 19. วิเคราะห์เวลาในการทำงานของ ACO algorithms <ul><li>วิเคราะห์เวลาในการทำงานของ ACO algorithms บนปัญหา One-Max </li></ul>
  20. 20. Running time analysis <ul><li>Lemma 1: </li></ul><ul><li>Lemma 2: จำนวนครั้งของการปรับ ; เมื่อมดเดินได้มากกว่าหรือเท่ากับค่าก่อนหน้า </li></ul><ul><li>Lemma 3: ความน่าจะเป็นของมดตัวที่ i ในการที่จะเลือกเส้นทางที่มีค่า X i เท่ากับ 1 </li></ul>ปัจจัยของการวิเคราะห์เวลาในการทำงาน จาก
  21. 21. บทพิสูจน์ : Lemma 1
  22. 22. บทพิสูจน์ : Lemma 1
  23. 23. บทพิสูจน์ : Lemma2 <ul><li>จำนวนครั้งในการปรับค่า </li></ul><ul><li>กำหนดให้ pheromone บน และ </li></ul><ul><li>ดังนั้นให้ </li></ul><ul><li>กำหนดให้ T = </li></ul>
  24. 24. บทพิสูจน์ : Lemma3 ที่โหนดใดๆ ในกราฟ มดตัวที่ i มี ความน่าจะเป็นที่จะเลือกเส้นทางที่มีค่า X i ที่มีค่าเป็น 1 เท่ากับ
  25. 25. Theorem 1 <ul><li>Theorem 1 : Running Time ของ Multiple-Ant Algorithm บนปัญหา </li></ul><ul><li>one-max เป็น </li></ul>
  26. 26. บทพิสูจน์ : Theorem 1 Lemma 2 : จำนวนครั้งของการปรับค่า Lemma 3 : ความน่าจะเป็นในการที่มดเลือกเส้นทาง Xi =1 เป็น พิจารณาการทำงานของมดตัวที่ n-1 ; จาก Lemma ที่ 2 และ 3
  27. 27. บทพิสูจน์ : Theorem 1 (2) พิจารณาการทำงานของมดตัวที่ n-2 ; เมื่อเวลาผ่านไป
  28. 28. บทพิสูจน์ : Theorem 1 (3) พิจารณาการทำงานของมดตัวที่ n-3 ; เมื่อเวลาผ่านไป ความน่าจะเป็นของ X n-3 เป็น 1/ n
  29. 29. บทพิสูจน์ : Theorem 1 (5) Correctly saturate เพราะฉะนั้น หากทุกๆ เส้นเชื่อมจากโหนด i มีค่า pheromone เป็น correctly saturated แล้วนั้น ความน่าจะเป็นในการที่มดจะเลือกเส้นทางถูกต้อง ทั้งหมดจากโหนดนั้นจะเป็น i
  30. 30. บทพิสูจน์ : Theorem 1 (4) Theorem 1 : Running Time ของ Multiple-Ant Algorithm บนปัญหา one-max เป็น
  31. 31. Experiment on one-max การปรับค่าของ pheromones บนเส้นทางที่ Xi มีค่าเป็น 1 เมื่อเทียบกับเวลา ( multiple-ant algorithm สำหรับ one-max โดยกำหนด n = 30 ) การปรับค่า pheromone บนเส้นทางที่มีค่า X i เป็น 1 (Multiple-ant)
  32. 32. Experiment on one-max ( 2 ) การปรับค่า pheromone บนเส้นทางที่มีค่า X i เป็น 0 (Multiple-ant) การปรับค่าของ pheromones บนเส้นทางที่ Xi มีค่าเป็น 0 เมื่อเทียบกับเวลา ( multiple-ant algorithm สำหรับ one-max โดยกำหนด n = 30 )
  33. 33. การปรับค่า pheromone บนเส้นทางที่มีค่า Xi เป็น 1 (1-ant) Experiment on one-max ( 3 ) การปรับค่าของ pheromones บนเส้นทางที่ Xi มีค่าเป็น 1 เมื่อเทียบกับเวลา ( 1-ant algorithm สำหรับ one-max โดยกำหนด n = 30 )
  34. 34. ACO-based Algorithm for Finding SingleDestination Shortest Paths on a DAG <ul><li>Theorem 2 : Running Time ของ Multiple-Ant Algorithm บน DAG เป็น </li></ul>
  35. 35. Experiment on DAG ACO-based Algorithm สำหรับการหา SingleDestination Shortest Paths บน DAG ตัวอย่าง กราฟ G เป็น DAG โดย n=16
  36. 36. Experiment on DAG ( 2 ) การปรับค่าของ pheromones เมื่อเทียบกับเวลา ( muliple-ant algorithm บน DAG โดยกำหนด n = 25 )
  37. 37. Experiment on DAG ( 3 ) การปรับค่าของ pheromones เมื่อเทียบกับเวลา ( muliple-ant algorithm บน DAG โดยกำหนด n = 25 )
  38. 38. Thank you <ul><li>Q/A </li></ul>

×