งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

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

งานนำเสนอที่คล้ายกัน


งานนำเสนอเรื่อง: "สัปดาห์ที่ 2 Search Technique อ. เทพฤทธิ์ สินธำรงรักษ์ เรียบเรียง."— ใบสำเนางานนำเสนอ:

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

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

3  KPI of Search Techniques ได้แก่ ◦ Completeness สามารถค้นหาคำตอบได้ หรือไม่ ◦ Optimality สามารถค้าหาคำตอบที่ดีที่สุด ได้ ◦ Time Complexity เวลาที่ใช้ในการค้นหา ◦ Space Complexity พื้นที่หน่วยความจำที่ใช้  อ้างอิงจาก Russell and Norvig, 2003

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

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

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

7

8 An example map of Germany with some connections between cities ที่มา : Wikipedia

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

10

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

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

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

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

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

16 ตัวอย่างปัญา MAX

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

18

19 ถ้าเราต้องเดินทางจาก London ไป Munchen จากสนามบินใดใกล้ที่สุด London

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

21 I will use it to find the path from Start to Goal in the graph below. Start A A C C E E D D G G Go al

22 First, add the Start node to the fringe. Start A A C C E E D D G G Go al

23 Visit the Start node and add its neighbors to the fringe. Start A A C C E E D D G G Go al

24 Next Start A A C C E E D D G G Go al

25 Next Start A A C C E E D D G G Go al

26 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. Start A A C C E E D D G G Go al

27 This way is longer than old way Start A A C C E E D D G G Go al

28  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.metric spacesEuclidean spaceEuclidean distance

29

30

31

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

33  ให้ นศ. ใช้อัลกอริทึม Nearest neighbor Search แก้ปัญหา GoalStart South Africa Venezuela Brazil Nigeria Canada USA England Egypt India Russia Japan

34  MatlabA*,Kmean,Crossover  C# ExpresskNN  Appserv Rollete  Java script

35  ให้ นศ. แก้ปัญหา การค้นหาเส้นทางที่สั้นที่สุดแบบ 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


ดาวน์โหลด ppt สัปดาห์ที่ 2 Search Technique อ. เทพฤทธิ์ สินธำรงรักษ์ เรียบเรียง.

งานนำเสนอที่คล้ายกัน


Ads by Google