1 / 35

Artificial Intelligence (AI)

Artificial Intelligence (AI). สัปดาห์ที่ 2 Search Technique อ.เทพฤทธิ์ สินธำรงรักษ์ เรียบเรียง. Introduction to search technique. ในบทนี้เราจะกล่าวถึงเทคนิคการค้นหาคำตอบสำหรับการแก้ปัญหา เพื่อให้ผลลัพธ์ที่ได้ ได้ประสิทธิภาพสูงสุด

gyala
Download Presentation

Artificial Intelligence (AI)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Artificial Intelligence (AI) สัปดาห์ที่ 2 Search Technique อ.เทพฤทธิ์ สินธำรงรักษ์เรียบเรียง

  2. Introduction to search technique • ในบทนี้เราจะกล่าวถึงเทคนิคการค้นหาคำตอบสำหรับการแก้ปัญหา เพื่อให้ผลลัพธ์ที่ได้ ได้ประสิทธิภาพสูงสุด • เทคนิคการค้นหา หมายถึง เทคนิคที่ใช้แก้ไขปัญหาเพื่อหาคำตอบหรือสู่สถานะเป้าหมาย ได้อย่างมีประสิทธิภาพ

  3. กฏเกณฑ์การวัดประสิทธิภาพของเทคนิคการค้นหากฏเกณฑ์การวัดประสิทธิภาพของเทคนิคการค้นหา • KPI of Search Techniques ได้แก่ • Completeness สามารถค้นหาคำตอบได้หรือไม่ • Optimality สามารถค้าหาคำตอบที่ดีที่สุดได้ • Time Complexity เวลาที่ใช้ในการค้นหา • Space Complexity พื้นที่หน่วยความจำที่ใช้ • อ้างอิงจาก Russell and Norvig, 2003

  4. Blind Search Techniques • หรือ Uninformed Search Techniques เป็นวิธีการค้าหาที่ง่ายต่อการเขียนโปรแกรม ง่ายต่อการเข้าใจ แต่มีประสิทธิภาพต่ำเนื่องจากลักษณะการเขียนโปรแกรมต้องต้อง For หรือ While loop ทุกทิศทางที่จะเป็นไปได้

  5. เทคนิคการค้นหา • Blind Search Technique เป็นเทคนิคการค้นหาที่ไม่มีข้อมูลนำมาพิจารณา • Heuristic Search Techniques เป็นเทคนิคการค้นหาที่มีข้อมูลประกอบในการค้นหา

  6. Breadth-First Search (BFS) • เป็นวิธีค้นหาแนวกว้าง (Breadth) จะค้าหาแต่ละโหลดจากซ้ายไปขวาทีละระดับ ของทรีจากบนลงล่าง หากยังไม่พบเป้าหมายให้ลงไปอีกระดับหนึ่งแล้วค้นหาทีละโหนด จนกว่าจะพบเป้าหมายที่ต้องการ เช่น กำหนดให้โหลด h เป้นเป้าหมายของการค้นหาแต่มีข้อเสียที่เวลานานและหน่วยความจำมาก • กำหนดให้ • b แทนจำนวนกิ่งเฉลี่ยของแต่ละโหลด (Branching Factor) • d แทนระดับความลึก (Deep) • Time O(bd)

  7. Breadth-First Search (BFS)

  8. Breadth-First Search (BFS) An example map of Germany with some connections between cities ที่มา : Wikipedia

  9. Depth-First Search (DFS) • เป็นวิธีการค้นหาตามแนวลึก(Depth) จะค้นหาจากข้างบนลงล่าง หากไม่พบให้ลงไปอีกหนึ่งระดับแล้วพิจารณาโหลดลูกที่อยู่ด้านซ้ายก่อน ทำเช่นนี้ไปเรื่อยๆ จนกว่าจะพบโหนดเป้าหมายที่ต้องการ หากพิจาณาจนถึงโหลดสุดท้าย • กำหนดให้ • b แทนจำนวนกิ่งเฉลี่ยของแต่ละโหลด (Branching Factor) • d แทนระดับความลึก (Deep) • Time O(bd) • ให้นักศึกษา สังเกตุความแตกต่างระหว่าง BFS กับ DFS ว่ามีส่วนใดที่แตกต่างกัน

  10. Depth-Limited Search (DLS) • จาก DFS ทำให้การเขียนโปรแกรมจะต้องลูปให้ครบทุกทางที่จะเป็นไปได้ในการค้นหา ดังนั้นจึงเกิดวิธีการนี้ขึ้นมาเพื่อ ลดระยะเวลาในการค้นหา ตัวอย่าง กำหนดเป้าหมายเป็น E และlimit=2 • (Limit เป็นระดับความสูงของต้นไม้เริ่มต้นเป็น 0) • กำหนด • b แทนจำนวนกิ่งเฉลี่ยของแต่ละโหลด (Branching Factor) • l แทน Limitของการค้นหา • Time O(bl)

  11. ข้อเสียของวิธีนี้คืออะไรข้อเสียของวิธีนี้คืออะไร

  12. Iterative Deepening Search (IDS) • เป็นการพัฒนา DLS ให้มีขีดความสามารถสูงขึ้น • กำหนด • b แทนจำนวนกิ่งเฉลี่ยของแต่ละโหลด (Branching Factor) • l แทน Limitของการค้นหา • Time O(bl)

  13. *Depth-First Search (DFS) กับ Iterative Deepening Search แตกต่างกันอย่างไร

  14. Heuristic Search Techniques • ในความเป็นจริงของปัญหา มักเป็นปัญหาที่ใหญ่ • เราจะเห็นได้ว่าเมื่อมีข้อมูลเยอะขึ้นนั้นการค้นหาแบบ Uninformed Search Techniques จะไม่เหมาะสมในการเขียนโปรแกรมคำนวณเนื่องจากทุกวิธีใช้เวลาในการคำนวณสูง Heuristic Search หรือในตำราบางเล่มเรียกว่า Heuristic Algorithm เป็นวิธีการสุ่มหาคำตอบที่มีความเร็วสูง ลอกเรียนการทำงานของสิ่งมีชีวิต เช่น ต้นไม้ มด พันธุศาสตร์ สัดส่วนทองคำแต่ผลลัพธ์ที่ได้อาจจะไม่เป็นค่าที่ดีที่สุด ขึ้นอยู่กับจุดเริ่มต้น(Initialization) และเทคนิคที่ใช้ค้นหา

  15. Local and Global Solution ตัวอย่างปัญา MAX

  16. Local Solution ตัวอย่างปัญา Maximum

  17. Global Solution ตัวอย่างปัญา Maximum

  18. Local and Global Solution example London ถ้าเราต้องเดินทางจาก London ไปMunchenจากสนามบินใดใกล้ที่สุด

  19. Greedy Best First Search(GBFS) • เป็นวิธีการเลือกเส้นทางที่ดีที่สุดก่อน เพื่อค้นหาเป้าหมายได้อย่างรวดเร็ว โดยพิจารณาเส้นทางที่สามารถมองเห็น ที่โหนดนั้นๆ และเลือกเส้นทางที่ใช้ทรัพยากรจากตำแหน่ง ณ จุด นั้นจนถึงเป้าหมายให้น้อยที่สุด • Time O(bm) • b is the average branching factor (the average number of successors from a state) • m is the maximum depth of the search tree.)

  20. Example of the Algorithm 3 A 2 2 D G Start 5 3 12 2 E C 3 5 Goal I will use it to find the path from Start to Goal in the graph below.

  21. Example of the Algorithm 3 A 2 2 D G Start 5 3 12 2 E C 3 5 Goal First, add the Start node to the fringe.

  22. Example of the Algorithm 3 A 2 2 D G Start 5 3 12 2 E C 3 5 Goal Visit the Start node and add its neighbors to the fringe.

  23. Example of the Algorithm 3 A 2 2 D G Start 5 3 12 2 E C 3 5 Goal Next

  24. Example of the Algorithm 3 A 2 2 D G Start 5 3 12 2 E C 3 5 Goal Next

  25. Example of the Algorithm 3 A 2 2 D G Start 5 3 12 2 E C 3 5 Goal The path found from Start to Goal is: Start -> A -> D -> E -> Goal. In this case, it was the optimal path, but only because the heuristic values were fairly accurate.

  26. If AC distance equal 2 3 A 2 2 D G Start 2 3 12 2 E C 3 5 Goal This way is longer than old way

  27. Nearest neighbor Search • Nearest neighbor search (NNS), also known as proximity search, similarity search or closest point search, is an optimization problem for finding closest points in metric spaces. The problem is: given a set S of points in a metric space M and a query point q∈M, find the closest point in S to q. In many cases, M is taken to be d-dimensional Euclidean space and distance is measured by Euclidean distance.

  28. The Traveling salesman problem using Nearest neighbor Search

  29. The Traveling salesman problem

  30. The Traveling salesman problem

  31. LAB 1 • ให้ นศ. ใช้อัลกอริทึม Nearest neighbor Search แก้ปัญหาการค้าหาเส้นทางที่สั้นที่สุดแบบ TSP โดยเริ่มต้นจากเมืองA • Objective function : Min Distance • ขั้นตอนการคำนวณ(แบบหยาบๆ) • - สร้างตาราง Distance • - ใช้อัลกอริทึมค้นหาโดยเริ่มจาก A

  32. ลองคิด • ให้ นศ. ใช้อัลกอริทึม Nearest neighbor Search แก้ปัญหา England Russia Canada USA Japan Egypt Venezuela India Nigeria Goal Brazil Start South Africa

  33. Install Program • Matlab A*,Kmean ,Crossover • C# Express kNN • Appserv 2.5.10 Rollete • Java script

  34. Assignment 1 • ให้ นศ. แก้ปัญหา การค้นหาเส้นทางที่สั้นที่สุดแบบ TSP ส่งพร้อมรายงาน คะแนนเต็ม 10 • Objective function : Min Distance • กำหนดให้ เมือง A,B,C,…,K • A=[0,0] • B=[3,5] • C=[2,3] • D=[4,6] • E =[5,5] • F=[8,1] • G=[2,4] • H=[1,6] • I=[-1,-1] • K=[6,4] • ส่วนประกอบของรายงาน • 1.ที่มาหลักการ โจทย์ • 2.ผลลัพธ์ • 3.วิเคราะห์ผลลัพธ์ • 4.โค้ด • กำหนดส่ง 21 พ.ย. 56

More Related