INC 551 Artificial Intelligence

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
INC 551 Artificial Intelligence Lecture 2. Review Environment Action Sense, Perceive Make Decision Agent World Model Deliberative Agent.
Advertisements

Course Orientation Data Structure and Algorithms ( )
Information systems; Organizations; Management; Strategy
Chapter 8 : Logic Modeling & Data Modeling
ข้อตกลงในการเรียน พื้นฐานที่จำเป็นสำหรับนำไปใช้ในเรื่อง
การเลือกตัวอย่าง อ.สมพงษ์ พันธุรัตน์.
การศึกษาและประยุกต์ใช้หน่วยการสร้างในขั้นตอนวิธีเชิงวิวัฒน์แบบหลายจุดประสงค์บนคลังข้อมูลเจเมทัล Study of Building-Box in Evolutionary algorithm in multi-objective.
Register Allocation and Graph Coloring
Ordering and Liveness Analysis ลำดับและการวิเคราะห์บอกความ เป็นอยู่หรือความตาย.
Functional programming part II
Data Structures and Algorithms
Data Structures and Algorithms
การเรียงลำดับและการค้นหาแบบง่าย
AVL Tree.
คืออะไร? คือ queue ที่ access element ตามความสำคัญของตัว element นั้น
สมชาย ประสิทธิ์จูตระกูล
Do Research Prabhas Chongstitvatana Chulalongkorn University 13 September 2013
Data structure & Algorithms
ผังงานโปรแกรม (Program Flowchart)
เนื้อหา ประเภทของโปรแกรมภาษา ขั้นตอนการพัฒนาโปรแกรม
Quick Review about Probability and
ปฏิบัติการคอมพิวเตอร์ เรื่อง ระบบสมการหลายตัวแปร
คณิตศาสตร์และสถิติธุรกิจ
Formulate Mathematical Model
INC 551 Artificial Intelligence
INC 551 Artificial Intelligence
INC 551 Artificial Intelligence
INC 551 Artificial Intelligence
Image Processing & Computer Vision
Image Processing & Computer Vision
Firewall IPTABLES.
Surachai Wachirahatthapong
การใช้งานโปรแกรม EViews เบื้องต้น
บทที่ 4 การโปรแกรมเชิงเส้น (Linear Programming)
Asst.Prof. Dr.Surasak Mungsing
Asst.Prof. Dr.Surasak Mungsing
CSC201 Analysis and Design of Algorithms Greedy, Divide and Conquer
2.5 ตัวแปรชุดมิติเดียวและตัวแปรชุดสองมิติ
ให้ประหยัดการใช้หน่วยความจำ (space) ด้วยความรวดเร็ว (time)
การเปลี่ยนแปลงเกี่ยวกับตัวแปร
CPE 332 Computer Engineering Mathematics II
CPE 332 Computer Engineering Mathematics II
CPE 332 Computer Engineering Mathematics II
การออกแบบและการวิเคราะห์อัลกอริทึม
คิว (Queue) Queue ADT Queue เป็น List ชนิดหนึ่ง แต่สำหรับ queue การแทรกข้อมูลลงบน queue (Insertion) จะทำที่ปลายใดปลายหนึ่งของ Queue ในขณะที่การลบข้อมูลออกจากคิว.
Chapter 2 Software Process.
Linked List (ลิงค์ลิสต์)
Artificial Intelligence (AI)
Artificial Intelligence (AI)
Lecture 2 แก้ไขปัญหาด้วย OOP (Solving problems using OOP in Java)
วิชา COSC2202 โครงสร้างข้อมูล (Data Structure)
การทำเหมืองข้อมูล (Data Mining)
Chapter 01 Problem-Solving Concept แนวคิดการแก้ปัญหา
Shortest-Path Algorithms
Chapter 04 Flowchart ผู้สอน อ.ยืนยง กันทะเนตร
adversarial Search Techniques
การค้นในปริภูมิสถานะ
การจัดเรียงข้อมูล (sorting)
การค้นในปริภูมิสถานะ
235015, Artificial Intelligence ปัญญาประดิษฐ์ 3(2-2-5) สัปดาห์ที่ 1 ขั้นตอนวิธีเชิงพันธุกรรม (Genetic Algorithm)
Introduction to Intelligent Systems
การทดสอบซอฟต์แวร์ Software Testing
Data Structure & Algorithm Concept
การวิเคราะห์และออกแบบขั้นตอนวิธี
13 October 2007
จิตสำนึกคุณภาพ.
Dr.Surasak Mungsing CSE 221/ICT221 การวิเคราะห์และออกแบบขั้นตอนวิธี Lecture 05: การวิเคราะห์ความซับซ้อนของ ขั้นตอนวิธีการเรียงลำดับข้อมูล.
บทที่ 7 การเขียนผังงานระบบ.
heuristic Search Techniques
Constraint Satisfaction Problem (CSP)
ใบสำเนางานนำเสนอ:

INC 551 Artificial Intelligence Lecture 4 Iterative Improvement Algorithms & Constraint Satisfaction Problems (CSP)

Deliberative Agent Environment Action Sense, Perceive Make Decision World Model Sense, Perceive State-Action nodes or others

World Model (Black Box) Best action? What is the best action? Similar to optimization problem

Search for Best Solution System Input Output 1 2 3 4 5 6 : 23 12 192 175 34 16 :

Iterative Improvement Algorithms (Optimality Search) Hill Climbing Simulated Annealing Genetic Algorithms

Comparison มีจิงโจ้ตาบอดที่ต้องการพาตัวเองกระโดดขึ้นไปบนยอดสูงสุดของยอดเขา Hill Climbing จิงโจ้ลองหย่อนขาไปในทิศต่างๆ ถ้าสูงขึ้นก็จะยอมก้าว Simulated Annealing จิงโจ้กินเหล้าเข้าไปก้าวผิดก้าวถูก แต่พอผ่านไปก็จะสร่างเมาแล้วก้าวถูกมากๆขึ้น Genetic Algorithms ใช้วิธีออกลูกหลานมากๆ แล้วเรายิงจิงโจ้ที่อยู่ต่ำๆทิ้งไปเรื่อยๆ จนในที่สุด จะหวังว่าจิงโจ้ที่เหลืออยู่คือตัวที่อยู่สูงๆ

Hill Climbing ข้อเสีย สามารถติดอยู่ที่ local minima “ลองก้าว” ถ้าสูงกว่าเดิมก็ไป

8-queen problem วาง queen 8 ตัวให้ไม่สามารถกินกันได้

Thinking ชนกัน = 5 คู่ ชนกัน = 3 คู่ ชนกัน = 1 คู่

Traveling Salesman Problem หาเส้นทางที่สั้นที่สุดที่เชื่อมเมืองเป็น chain

Thinking ระยะทางรวม = 230 ระยะทางรวม = 110

Simulated Annealing T ลดลงเรื่อยๆเมื่อเวลาผ่านไปจนเป็น 0 คล้าย hill-climbing แต่จะเดินลงเขาด้วย ด้วย probability T ลดลงเรื่อยๆเมื่อเวลาผ่านไปจนเป็น 0

Evolutionary Algorithms Genetic Algorithms (GA) Evolutionary Strategies (ES) Evolution Programming (EP)

Objective of the Algorithms Finding a Maximum or minimum (numerical way) เหมาะสำหรับปัญหาที่ไม่ทราบอะไรเกี่ยวกะมันเลย รู้แค่มี input อย่างนี้ output ออกมาเป็นอย่างนี้

Evolutionary Algorithm Initial Population Representation Evaluation Selection Crossover Mutation

8-Queen Crossover Example

Heuristics of Evolutionary Algorithms System Input Output 1 2 3 4 5 6 : 23 12 192 175 34 16 : แถวๆนี้น่าจะดี ลองเยอะๆหน่อย โดยลองค่าที่มาจากคุณสมบัติ ของ 2 ค่านี้เช่น 3.6

Evolutionary Algorithms System Input Output 1 2 3 4 5 6 : 23 12 192 175 34 16 : Fitness Function Population Evaluation

(Mutation, Recombination) 1 2 3 4 5 6 1 2 3 4 5 6 2.1 3.2 4.3 5.4 5.2 6.4 Evaluation Breeding Initial Population Add offsprings 3 4 5 3.2 4.3 5.2 Selection New population in the next era

Create initial random population Procedure of Evolutionary Algorithms Create initial random population Evaluate fitness of each individual yes Termination criteria satisfied ? stop no Select parents according to fitness Recombine parents to generate offspring Mutate offspring Replace population by new offspring

Constraint Satisfaction Problems Variables – X1,X2,X3,…. Constraints – C1,C2,C3,…. ต้องการหาค่า X1,X2,X3,… ที่ satisfy C1,C2,C3,…. ปัญหาแบบนี้สามารถแก้ได้ด้วยวิธีการ search

Example

Constraint Graph Variables อันไหนเชื่อมกันแสดงว่ามี constraint ต่อกัน Nodes คือ variables Link คือ constraints Variables อันไหนเชื่อมกันแสดงว่ามี constraint ต่อกัน

Example Cryptarithmetic

Sudoku Sudoku is a CSP problem.

Types of Constraints Unary (เกี่ยวกับ 1 ตัวแปร เช่น WA ≠ red) Binary (เกี่ยวกับ 2 ตัวแปร เช่น WA ≠ Q) High-order (เกี่ยวกับ 2 ตัวแปร เช่นใน Cryptarithmetic) Preference (เป็น soft constraint ที่เกี่ยวกับ optimization เช่น red < green)

Search Formulation Initial State = Empty set (no assignment to any variables) Successor function = Assign 1 value to 1 variable Goal = All constraints are satisfied

Search Choices Breadth – first Depth - first Depth-first ที่ expand node ตาม constraint เรียก Backtracking search

Breadth – first ได้ solution ที่ depth n อาจได้ solution ซ้ำกันถ้าคำตอบสลับกันได้ Depth – first Depth จำกัด = n ใช้เนื้อที่และเวลาน้อย

Backtracking Search

Depth-first เป็น uninformed search เราสามารถเพิ่มประสิทธิภาพได้จากการจัดลำดับ หรือ ขจัด solution ที่ไม่น่าป็นไปได้ จัดเป็น informed search ด้วย heuristics

Most-constraint Heuristic หรือ minimum remaining values heuristic จะเลือก assign variable ที่มี set of value น้อยที่สุดก่อน หรือ variable ที่มี constraints มากสุดก่อน

Least-constraint Heuristic จะเลือก assign variable ให้มี constraints กับ variables ที่เหลือน้อยที่สุด

Forward checking Heuristic จะ keep track ค่าที่เป็นไปได้ของแต่ละ variable จะ backtrack เมื่อ variable ใดอันหนึ่งไม่มีค่าที่จะเป็นไปได้

Constraint Propagation Method Idea: การนำเอา constraints มาประกอบกันจะช่วยให้ลดจำนวน node ได้

Arc Consistency Heuristic เป็นวิธีการ propagate constraints แบบหนึ่ง จะมี list ของ constraints ทั้งหมดไว้ โดยทั่วไป จะเป็น Queue แล้วจะทำการ check ทีละอัน หลังจากนั้นจะทำการขจัด domain ของ variable ที่เป็นไปไม่ได้ทิ้ง วิธีนี้จะทำให้ทราบล่วงหน้าเมื่อ variable assignment ใช้ไม่ได้

for every value of X, some value of Y must be true กฏ for every value of X, some value of Y must be true OK!

for every value of X, some value of Y must be true กฏ for every value of X, some value of Y must be true NSW = blue ทำให้ SA = ?? ดังนั้นตัด NSW = blue ออก

Blue ใน NSW ไป รัฐที่มี constraints ต้องมา check ใหม่

พบว่า detect error ได้ก่อน forward checking ธรรมดา

Arc Consistency Algorithm (AC3)

Tree-Structure CSPs Problem ที่มี constraint graph เป็น tree (ไม่เป็น loop) จะมีขั้นตอนการ solve ที่แน่นอนตายตัว จะทำให้ลดเวลาในการคิดอย่างมาก

Nearly Tree-Structured CSPs จะทำได้โดยให้ค่า SA fix ไปเลย แล้วตัดออกไป ถ้าไม่ได้ก็ลองเปลี่ยนค่า SA ใหม่