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 1 แบบที่ 1 2.8 2.25 2 1.4 1 แบบที่ 2
ตัวอย่างการคำนวณหาเส้นทางเดิน (ทบทวน) 7 Wall (1,5) (7,5) 6 5 4 3 2 1 1 2 3 4 5 6 7
ตัวอย่างการคำนวณหาเส้นทางเดิน (ทบทวน) Wall f = 7.1 g = 1 h =6.1 f = 6.5 g = 1.4 h =5.1 (1,5) f = 6 h =5 (7,5) 7 6 5 4 3 2 1 1 2 3 4 5 6 7
ตัวอย่างการคำนวณหาเส้นทางเดิน (ทบทวน) Wall f = 7.1 g = 1 h =6.1 f = 6.5 g = 1.4 h =5.1 g = 2.4 h = 4.1 (1,5) f = 6 h =5 g = 2 h = 4 (7,5) 7 6 5 4 3 2 1 1 2 3 4 5 6 7
ตัวอย่างการคำนวณหาเส้นทางเดิน (ทบทวน) f = 9.2 g = 3.4 h =5.4 f = 7.9 g = 2.8 h =5.1 Wall f = 7.1 g = 1 h =6.1 f = 6.5 g = 1.4 g = 2.4 h = 4.1 (1,5) f = 6 h =5 g = 2 h = 4 f = 11 g = 9 h =2 f = 9.6 g = 8.6 h = 1 (7,5) f = 9.4 g = 7.2 h = 2.2 f = 9 g = 7.6 h = 1.4 g = 3.8 h =4.5 g = 6.2 h = 2.8 f = 9.9 f = 1 g =9 f = 10.6 g = 4.8 h =5.8 g = 4.4 h = 4.2 g = 5.8 h = 3.6 f = 10.8 h = 3.2 f = 10.9 g = 5.2 h = 5.7 h = 5 f = 10.7 h = 4.5 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 3 1 5 A* f = g + h g = total cost from start + terrain cost h = heuristic
Example A* with terrain cost 3 1 g = 1 + 1 h = 5.1 f = 7.1 5 h = 4.1 f = 6.1 g = 1.4 + 1 h = 3.1 f = 5.5 A* f = g + h g = total cost from start + terrain cost h = heuristic
Influenced by the enemy firing zone and skill
Genetic Algorithm Genetic Algorithm หรือ วิธีการเชิงพันธุกรรม เกิดมา จากแนวคิดที่ว่า ลูกที่ดีย่อมเกิดจากพ่อแม่ที่ดี Mendel บิดาแห่งวิชาพันธุศาสตร์ ค้นพบว่าลักษณะ ต่างๆของสิ่งมีชีวิต เช่นลักษณะผิวของเมล็ดพืช สีของ เมล็ดพืช ฯลฯ ที่ถูกถ่ายทอดไปยังลูกหลานนั้น ถูก ควบคุมโดยหน่วยควบคุมลักษณะที่เรียกว่ายีน (Gene) ซึ่งแต่ละยีนจะเรียงตัวอยู่บนโครโมโซม (Chromosome) ภายในเซลล์
Encoding genetic algorithm
Data Representation
แนวคิด วิธีเชิงพันธุกรรมเป็นวิธีการค้นหาคำตอบโดยมีพื้นฐาน มาจากกระบวนการคัดเลือกทางธรรมชาติ (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 (ACO)
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.ในแต่ละเส้นทางที่มดเดินผ่านไปนั้น มดจะเอาฟีโร โมนออกด้วย เพื่อที่จะทำให้เกิดการเพิ่มเส้นทางหรือ โอกาสในการเลือกเส้นทางอื่น
Best known solutions for two problem of the TSP.
ตัวอย่างการคำนวณ Distance A B C D - 10 5 15 20 16 4 6 Pheromones A B C A B C D - 10 5 15 20 16 4 6 Pheromones A B C D - 0.1 Local Update Global Update
โจทย์ตัวอย่าง GA ขั้นตอนที่ II มีเมืองทั้งหมด 4 เมือง ได้แก่ A, B, C และ D จงใช้ Genetic algorithm คำนวณหา ระยะทางเดินที่ใกล้ที่สุด โดยกำหนดให้ Population = 4, Maximum literation = 2, %50-Crossover และ 25%-Mutation ขั้นตอนที่ I ขั้นตอนที่ II Distance matrix A B C D 0 20 5 15 0 16 4 6 15 6
โจทย์ตัวอย่าง ACO โจทย์ตัวอย่าง มีเมืองทั้งหมด 4 เมือง ได้แก่ A, B, C และ D จงใช้ Ant colony optimization คำนวณหาระยะทางเดินที่ใกล้ที่สุด โดยกำหนดให้ q0 เป็น 0.9, Belta เป็น 2, จำนวนมดมี 1 ตัว นอกเหนือจากนั้นให้ค่า Pheromone รวมถึงพารามิเตอร์ทุกตัวเป็น 0.1 ขั้นตอนที่ I Distance matrix Pheromone matrix A B C D 0 20 5 15 0 16 4 6 15 6 ขั้นตอนที่ II
จบการนำเสนอ