Artificial Intelligence (AI)

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
เรื่อง การแก้ไขปัญหาด้วยกระบวนการเทคโนโลยีสารสนเทศ
Advertisements

แนวคิดในการเขียนโปรแกรม
การศึกษาและประยุกต์ใช้ขั้นตอนวิธีเชิง วิวัฒน์แบบหลายจุดประสงค์บนคลังข้อมูล เจเมทัล Study of Evolutionary Algorithm in Multi- objective on Library jMetal.
รายวิชา ง40206 โครงสร้างข้อมูลและขั้นตอนวิธี
ข้อตกลงในการเรียน พื้นฐานที่จำเป็นสำหรับนำไปใช้ในเรื่อง
ต้นไม้และนิยามที่เกี่ยวข้อง
โดย นายชญาน์ แหวนหล่อ นายธนวัฒน์ วัฒนราช
การเขียนผังงาน.
Register Allocation and Graph Coloring
Ordering and Liveness Analysis ลำดับและการวิเคราะห์บอกความ เป็นอยู่หรือความตาย.
Data Structures and Algorithms
สมชาย ประสิทธิ์จูตระกูล
Data structure & Algorithms
การแก้ปัญหาด้วยคอมพิวเตอร์
บทที่ 2 หลักการแก้ปัญหา
แผนผัง FlowChart Flow Chart คือ ขั้นตอนที่นำผลที่ได้จากการกำหนดและการ วิเคราะห์ปัญหามาเขียนเป็นแผนภาพหรือสัญลักษณ์ ประโยชน์ของผังงาน -ช่วยลำดับขั้นตอนการทำงานของโปรแกรม.
Decision Tree Analysis
การควบคุมข่ายงาน (PERT/CPM)
Image Processing & Computer Vision
ความรู้เบื้องต้นเกี่ยวกับคอมพิวเตอร์และเทคโนโลยีสารสนเทศ
ระเบียบวิธีวิจัยพื้นฐานทาง การตลาด
ขั้นตอนวิธี (Algorithm)
บทที่ 4 การโปรแกรมเชิงเส้น (Linear Programming)
Asst.Prof. Dr.Surasak Mungsing
ให้ประหยัดการใช้หน่วยความจำ (space) ด้วยความรวดเร็ว (time)
ความหมาย ปัญญาประดิษฐ์
วิทยาการคอมพิวเตอร์ 1 เรื่องคัดเฉพาะทาง
การออกแบบและการวิเคราะห์อัลกอริทึม
Flow Chart INT1103 Computer Programming
ที่ใช้ใน Object-Oriented Design
Artificial Intelligence (AI)
บทที่ 2 หลักการแก้ปัญหา
การออกแบบโปรแกรม ขั้นตอนการแก้ปัญหา การนิยามปัญหา (Problem definition)
การแก้ปัญหาด้วยคอมพิวเตอร์
เรื่องหลักการแก้ปัญหา
Present proposal project เรื่อง Thailand shortest path
Computer Programming for Engineers
2.1 วิธีแก้ปัญหาด้วยคอมพิวเตอร์ (Computer problem solving methods)
วิชา COSC2202 โครงสร้างข้อมูล (Data Structure)
หลักการเขียนโปรแกรม ( )
หลักการเขียนโปรแกรม ( )
การเขียนผังงาน (Flowchart)
บทที่ 7 การวิเคราะห์งานและการโปรแกรม แบบมีโครงสร้าง
ปัญหาคืออะไร. การวิเคราะห์ขั้นตอนวิธีการแก้ไขปัญหา รายวิชา การโปรแกรมและการประยุกต์ (ง30222)
งานเทคโนโลยีสารสนเทศ โรงเรียนพนมเบญจา
หลักการแก้ปัญหา
Chapter 01 Problem-Solving Concept แนวคิดการแก้ปัญหา
หลักการแก้ปัญหา.
หน่วยที่ 4 หลักการแก้ปัญหากับภาษาคอมพิวเตอร์
Shortest-Path Algorithms
School of Information Communication Technology,
การเขียนซูโดโค้ด และการเขียนโฟลชาร์ต
adversarial Search Techniques
การค้นในปริภูมิสถานะ
การจำแนกข้อมูล(Classification) CART-Classification and regression Tree
การกำหนดโครงการ (Project Scheduling: PERT / CPM)
โครงสร้างข้อมูลและอังกอลิทึม
หลักการเขียนโปรแกรมเบื้องต้น
กราฟเบื้องต้น.
หลักการเขียนโครงการ.
บทที่ 6 การจัดการโครงการ Project Management ญาลดา พรประเสริฐ.
การจัดเรียงข้อมูล (sorting)
การเขียนผังงาน ผังงาน (Flowchart)
ต้นไม้ Tree [3] ผู้สอน อาจารย์ ยืนยง กันทะเนตร
การค้นในปริภูมิสถานะ
กราฟเบื้องต้น.
Week 13 Basic Algorithm 2 (Searching)
การแบ่งแยกและเอาชนะ Divide & Conquer
บทที่ 5 การเขียนรายงานโครงงานคอมพิวเตอร์
การแบ่งแยกและเอาชนะ Divide & Conquer
ใบสำเนางานนำเสนอ:

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

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

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

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

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

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

Breadth-First Search (BFS)

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

Depth-First Search (DFS) กำหนดให้ b แทนจำนวนกิ่งเฉลี่ยของแต่ละโหลด (Branching Factor) d แทนระดับความลึก (Deep) Time O(bd) ให้นักศึกษา สังเกตุความแตกต่างระหว่าง BFS กับ DFS ว่ามีส่วนใดที่แตกต่างกัน

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

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

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

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

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

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

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

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

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

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.)

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

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

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

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

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

Example of the Algorithm Start A C E D G Goal 2 5 3 12 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.

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

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.

The Traveling salesman problem using Nearest neighbor Search

The Traveling salesman problem

The Traveling salesman problem

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

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

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

Assignment 1 ส่วนประกอบของรายงาน 1.ที่มา หลักการ โจทย์ 2.ผลลัพธ์ ให้ นศ. แก้ปัญหา การค้นหาเส้นทางที่สั้นที่สุดแบบ 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