280 likes | 441 Views
Artificial Intelligence (AI). สัปดาห์ที่ 9 A* with Terrain cost and evolutionary algorithms อ.เทพฤทธิ์ สินธำรงรักษ์ เรียบเรียง. Agenda. A* with Terrain cost Evolutionary Genetic algorithm Ant colony optimization Introduction to database system. A* ( ทบทวน ).
E N D
Artificial Intelligence (AI) สัปดาห์ที่ 9 A* with Terrain cost and evolutionary algorithms อ.เทพฤทธิ์ สินธำรงรักษ์เรียบเรียง
Agenda • A* with Terrain cost • Evolutionary • Genetic algorithm • Ant colony optimization • Introduction to database system
A* (ทบทวน) • อ่านว่า “เอ-สตาร์” เป็นวิธีพัฒนาขึ้นมาเพื่อแก้ปัญหา Local Optimum โดยจะเปลี่ยนสมการ Fitness Function เป็น • f(n) = g(n)+h(n)
การกำหนดค่า g (ทบทวน) แบบที่ 1 แบบที่ 2
ตัวอย่างการคำนวณหาเส้นทางเดิน (ทบทวน) 7 6 5 4 3 2 1 1 2 3 4 5 6 7
ตัวอย่างการคำนวณหาเส้นทางเดิน (ทบทวน) 7 6 5 4 3 2 1 1 2 3 4 5 6 7
ตัวอย่างการคำนวณหาเส้นทางเดิน (ทบทวน) 7 6 5 4 3 2 1 1 2 3 4 5 6 7
ตัวอย่างการคำนวณหาเส้นทางเดิน (ทบทวน) 7 6 5 4 3 2 1 1 2 3 4 5 6 7
A* with terrain cost A*: f = g + h A* with terrain cost: f = g + h โดยที่ g คือ total cost from start h คือ heuristic โดยที่ g คือ total cost from start + terrain cost h คือ heuristic เพิ่มตรงนี้ terrain แปลว่า ภูมิประเทศ
Example A*: f = g + h โดยที่ g คือ total cost from start h คือ heuristic ปัญหา คือ ??
Example A* with terrain cost A* f = g + h g = total cost from start + terrain cost h =heuristic
Example A* with terrain cost A* f = g + h g = total cost from start + terrain cost h =heuristic
Genetic Algorithm • Genetic Algorithm หรือ วิธีการเชิงพันธุกรรม เกิดมาจากแนวคิดที่ว่า ลูกที่ดีย่อมเกิดจากพ่อแม่ที่ดี • Mendel บิดาแห่งวิชาพันธุศาสตร์ ค้นพบว่าลักษณะต่างๆของสิ่งมีชีวิต เช่นลักษณะผิวของเมล็ดพืช สีของเมล็ดพืช ฯลฯ ที่ถูกถ่ายทอดไปยังลูกหลานนั้น ถูกควบคุมโดยหน่วยควบคุมลักษณะที่เรียกว่ายีน (Gene) ซึ่งแต่ละยีนจะเรียงตัวอยู่บนโครโมโซม (Chromosome) ภายในเซลล์
แนวคิด • วิธีเชิงพันธุกรรมเป็นวิธีการค้นหาคำตอบโดยมีพื้นฐานมาจากกระบวนการคัดเลือกทางธรรมชาติ (Natural Selection) และกระบวนการคัดเลือกทางพันธุศาสตร์ (Natural Genetics Selection) โดยการคัดเลือกสตริง (String) ที่มีความเหมาะสมจากกลุ่มของสตริงทั้งหมดด้วยวิธีการสุ่ม จากการนำสตริงเหล่านี้ไปผ่านกระบวนการคัดเลือกสตริงที่มีความเหมาะสม ซึ่งสตริงที่มีความเหมาะสมนี้คือคำตอบที่ดีที่สุดหรือใกล้เคียงคำตอบที่ดีที่สุดวิธีเชิงพันธุกรรมซึ่งไม่ใช่การสุ่มแบบง่ายๆ แต่มันเป็นการใช้ข้อมูลในอดีตอย่างมีประสิทธิภาพเพื่อพิจารณาจุดที่จะต้องค้นหาใหม่โดยคาดหวังว่าสมรรถนะของการค้นหาจะดีขึ้น
ความแตกต่างจากหลักการอย่างอื่นความแตกต่างจากหลักการอย่างอื่น • วิธีเชิงพันธุกรรมถูกพัฒนาขึ้นโดย Holland, et al., (1975) โดยมีเป้าหมายในการวิจัย 2 อย่างคือ ข้อแรก เพื่อสรุปและดัดแปลงการใช้กระบวนการทางธรรมชาติให้ถูกต้องมากที่สุด สองเพื่อออกแบบและสร้างซอฟต์แวร์ที่รักษากลไกที่สำคัญของธรรมชาติ และวิธีเชิงพันธุกรรมแตกต่างกับวิธีการค้นหาและการหาค่าที่เหมาะที่สุดแบบอื่นๆคือ • 1. วิธีเชิงพันธุกรรมทำงานโดยการเข้ารหัสสตริงเป็นชุดพารามิเตอร์ • 2. วิธีเชิงพันธุกรรมเป็นการค้นหาจากทั้งประชากรไม่ใช้ค้นหาจากเพียงตำแหน่งๆเดียว • 3. วิธีเชิงพันธุกรรมใช้ข่าวสารที่เป็นผลลัพธ์ (ฟังก์ชันเป้าหมาย) โดยไม่ใช้การอนุพันธ์หรือความรู้อื่นๆ • 4. วิธีเชิงพันธุกรรมจะเป็นวิธี Probabilistic ไม่ใช่ Deterministic
ใช้หลักการของ Roulette ในการคัดเลือกคำตอบ
Using Genetic Algorithms to solve in n-Queen game Code by SWAPNIL MARATHE
Ant Colony Optimization • Ant Colony ซึ่งอัลกอริทึมนี้มีเป้าหมายที่จะค้นหาเส้นทางที่เหมาะสม โดยจำลองมาจากนิสัยของมดที่ค้นหาเส้นทางระหว่างแหล่งอาหารและรังของมัน โดยการทิ้งสารที่เรียกว่าฟีโรโมน(Pheromone) ไว้ตามเส้นทางที่มันเดินไป จำนวนฟีโรโมนที่อยู่ระหว่างเส้นทางขึ้นอยู่กับความยาวของเส้นทางและปริมาณอาหารที่แหล่งอาหาร ฟีโรโมนนี้จะส่งข้อมูลให้กับมดตัวอื่นให้มีความสนใจมัน เส้นทางจะมีความน่าสนใจถ้าอยู่ใกล้กับรังหรือมดเดินผ่านเส้นทางบ่อยครั้งหรือแหล่งอาหารมีจำนวนมากซึ่งเส้นทางนั้นจะมีความหนาแน่นของฟีโรโมนมากด้วยเช่นกัน โดยภาพรวมแล้วกระบวนการนี้นำไปสู่การขนส่งอาหารที่มีประสิทธิภาพของ Ant Colony
Ant Colony Optimization • Ant Colony System (ACS) ถูกนำเสนอ (Dorigo and Gambardella, 1997) โดยสร้างขึ้นมาเพื่อเพิ่มประสิทธิภาพของ AS โดย ACS ไม่ได้อยู่บนพื้นฐานของ Ant System อีกต่อไป ด้วยสร้างหลักการทำงานใหม่เพื่อเพิ่มประสิทธิภาพการทำงาน โดยที่มีความต่างจาก Ant System สามหลักการ คือ • 1.ACS จะพัฒนาในส่วนของการจำเส้นทางในการเดินของมด โดยจะทำให้มดมีประสบการณ์ในการจำเส้นทางมากขึ้น และจะมีผลต่อการตัดสินใจในการเลือกเส้นทางมากขึ้นด้วย • 2.การลบล่องรอยของฟีโรโมนและการวางฟีโรโมนนั้น จะทำในส่วนที่เป็นเส้นทางที่ดีที่สุดเท่านั้น • 3.ในแต่ละเส้นทางที่มดเดินผ่านไปนั้น มดจะเอาฟีโรโมนออกด้วย เพื่อที่จะทำให้เกิดการเพิ่มเส้นทางหรือโอกาสในการเลือกเส้นทางอื่น
ตัวอย่างการคำนวณ Local Update Global Update
โจทย์ตัวอย่าง GA มีเมืองทั้งหมด 4 เมือง ได้แก่ A, B, C และ D จงใช้ Genetic algorithm คำนวณหาระยะทางเดินที่ใกล้ที่สุด โดยกำหนดให้ Population = 4, Maximum literation = 2, %50-Crossover และ 25%-Mutation ขั้นตอนที่ I ขั้นตอนที่ II
โจทย์ตัวอย่าง ACO • โจทย์ตัวอย่าง มีเมืองทั้งหมด 4 เมือง ได้แก่ A, B, C และ D จงใช้ Ant colony optimization คำนวณหาระยะทางเดินที่ใกล้ที่สุด โดยกำหนดให้ q0เป็น 0.9,Beltaเป็น 2, จำนวนมดมี 1 ตัวนอกเหนือจากนั้นให้ค่า Pheromone รวมถึงพารามิเตอร์ทุกตัวเป็น 0.1 ขั้นตอนที่ I ขั้นตอนที่ II