סוכנים רציונליים
Download
Report
Transcript סוכנים רציונליים
סוכנים
:מבוסס על השקפים של יעל נצר
http://www.cs.bgu.ac.il/~yaeln/
AI06/rational-agents.ppt
סוכן רציונלי
•
•
•
•
•
סוכן רציונלי הוא סוכן שצופה ( (perceivingעל סביבתו על
ידי חיישנים ( )sensorsופועל ( )actingעל ידי שימוש
במפעילים ()actoutors
לאדם יש עיניים ,אוזניים ואיברים נוספים כחיישנים ,ידיים
ורגליים כמפעילים.
לרובוט :מצלמות וקרניים אולטרא-אדומות לחישה ,מנועים
כמפעילים
אברי החישה של סוכן כתוכנית מחשב הם מקלדת ,מערכת
הקבצים או חבילות ברשת ,וכתיבה למסך ,לקובץ או שליחה
ברשת כמפעילים.
הנחה :כל סוכן רציונלי מכיר וקולט את הפעולות של עצמו
(אך לא בהכרח את התוצאות שלהן).
דוגמאות
מערכת רפואית לדיאגנוזה
רובוט האוסף חלקים
מערכת ללימוד שפה
תוכנית לקנייה ברשת האינטרנט
•
•
•
•
– Percept sequenceסדרת התצפיות של סוכן
היא ההיסטוריה של כל התצפיות שקלט.
פעולה של סוכן בכל זמן נתון מתבססת על מה
שכבר קלט (וייתכן שעל כל מה שקלט)
התנהגות של סוכן תלויה ברצף התצפיות הזו.
כלומר :התנהגות היא "פונקציית הסוכן"
][f: P* A
עולם שואבי-האבק
• שואבי האבק קולטים:
– באיזה חדר הם נמצאים ( Aאו )B
– האם החדר שבו הם נמצאים מלוכלך או לא
• פעולות:
– תנועה מחדר Aלחדר Bוההפך (ימינה ושמאלה)
– שאיבת אבק
– כלום
• פונקציית פעולה פשוטה:
– אם החדר מלוכלך – שאב אבק ,אחרת ,עבור לחדר השני
פונקציית הפעולה של סוכן שואב אבק פשוט
Percept Sequence
[A,Clean]
[A,Dirty]
[B,Clean]
[B,Dirty]
[A,Clean], [A,Clean]
[A,Clean], [A,Dirty]
[A,Clean], [B,Clean]
[A,Clean], [B,Dirty]
[A,Dirty], [A,Clean]
[A,Dirty], [A,Dirty]
[A,Clean], [A,Clean], [A,Clean]
Action
Right
Suck
Left
Suck
Right
Suck
Left
Suck
Right
Suck
Right
השאלה היא:
•
•
•
•
•
מהי הדרך הנכונה ביותר למלא את טבלת המצבים?
כלומר :מה הופך סוכן לסוכן טוב או רע ,טיפש או
אינטילגינטי?
סוכן רציונלי הוא סוכן שעושה את "הדבר הנכון"
אבל מהו "הדבר הנכון"?
הנחה ראשונה :הדבר הנכון הוא מה שיהפוך את
הסוכן לבעל ההישגים הטובים ביותר.
לשם כך דרוש :מדד להצלחה.
מדד ביצועים performance measure
• כיצד קובעים מדד אובייקטיבי להצלחת פעולה של
סוכן?
רציונליות
• רציונליות של פעולה תלויה בארבעה גורמים:
–
–
–
–
Performanceמדד הביצועים המגדיר קריטריון
להצלחה
Environmentהידע הקודם של הסוכן על הסביבה
Actuatorsהפעולות אותן יכול לבצע הסוכן
Sensorsהיסטוריית תצפיות של הסוכן כפי שנקלטו על
ידי החיישנים.
הגדרה של סוכן רציונלי היא:
לכל רצף קלטים נתון ,סוכן רציונלי ייבצע את הפעולה
האפשרית שתמקסם את מדד הביצועים ,בהנתן
רצף תצפיות העבר והידע שברשות הסוכן.
האם שואבי האבק הנ"ל הם סוכנים
רציונלים?
• מדד הביצועים:
– הסוכן יקבל "נקודה טובה" עבור כל חדר נקי בכל נקודת
זמן ברצף של 1000נקודות זמן.
– חסכון בחשמל ,מינימום תנועות ,הפחתת הרעש
• ידע על הסביבה :הגיאוגרפיה ידועה מראש ,אך לא
מצב הנקיון של כל חדר.חדרים נקיים נשארים נקיים.
שאיבת אבק מנקה את החדר .תנועה אפשרית לימין
ולשמאל אבל לא אל מחוץ מהסביבה המוגדרת.
• הפעולות הן Right,Left,SuckוNoOp-
• תצפיות :הסוכן יודע באיזה חדר הוא נמצא ,ומזהה
את מצב הנקיון של החדר.
• סוכן יודע-כל omniscienceיודע מה יהיו תוצאות
כל הפעולות שלו – אבל האם זה ייתכן?
• סוכן רציונלי ≠ סוכן יודע-כל
למידה ואוטונומיה
• סוכן צריך ללמוד מתוך אוסף התצפיות אותם קולט:
– הקונפיגורציה ההתחלתית משקפת את הידע הקודם על
הסביבה
– הסוכן צובר ניסיון כך שהידע על הסביבה יכול להשתנות
• אוטונומיה :מכיוון שלא ניתן לתת לסוכן את כל הידע
על מצבים לא-ידועים
– התחלה עם ידע מקדים ומובנה
– אפשרות ללמוד מידע חדש.
אפיוני הסביבה – דוגמא :נהג מונית אוטומטי
סוג הסוכן מדד
הביצועים
סביבה
מפעילים
חיישנים
הגה ,דוושת מצלמות,
כבישים,
בטוח,
מד מהירות
גז
מהיר ,חוקי ,מכוניות
(מאיצים),
נהג מונית נסיעה נוחה ,אחרות,
הולכי רגל ,בלמים,
רווחים
מקסימלים .לקוחות
איתות,
צופר ,מסך
מדד הביצועים של נהג המונית
–
–
–
–
–
הגעה למקום הנכון
הקטנת הוצאות הדלק ,בלאי
הקטנת זמן הנסיעה ומחירה
מניעת עבירות תנועה והפרעות לנהגים אחרים
הגדלת בטיחות ונוחיות הנוסע
חלק מהמדדים האפשריים מנוגדים זה לזה..
אפיוני הסביבה
•
•
•
•
סמטאות העיר ,אוטוסטרדות ,כבישים באזורי ספר
תנועה בכבישים ,הולכי רגל ,בורות ,בעלי חיים,
עבודות בכביש ושלוליות.
שיחות עם לקוחות פוטנציאלים/אקטואלים
ועוד :נהיגה בלילה ,נהיגה בקרח ,נהיגה רק בשמש
קופחת –
– סביבה מצומצמת יותר – מאפשר אפיון מדוייק יותר
מפעילים
•
•
•
•
שליטה על המנוע (האצה ,האטה)
הגה
בלמים
פלט למסך ,מערכת קול סינטתית לשיחה עם
לקוחות ,או להחלפת קללות עם נהגים אחרים.
חיישנים
•
•
•
•
•
•
מצלמות ,מד מהירות ,מד מרחק
מד תאוצה (שליטה על סיבובים)
ידיעה של מצב מכאני :חיישנים במנוע
מערכת ניווט לוויני GPS
קרניים אינפרא-אדומות או אחרות לזיהוי מרחק
ממכוניות אחרות למשל
מקלדת/מערכת זיהוי קולית ללקוחות
מימדים לאפיון סביבה
• Fully vs. Partially observable
– האם הסוכן רואה את כל הסביבה במלואה (כלומר כל מה
שרלוונטי לתפקוד שלו) או רק מידע חלקי (שואב אבק :יודע את
מצב הלכלוך במ"ר אחד ולא בכל החדר)
• Deterministic vs. non-deterministic
– האם קיים מיפוי יחיד ממצב לפעולה?
• Episodic vs. Sequential
– האם המצב הבא תלוי במצבים הקודמים שנצפו בסביבה?
• Static vs. Dynamic
– האם העולם יכול להשתנות כשהסוכן "חושב"?
• Discrete vs. Continuous
• האם סך התצפיות השונות הוא סופי או אינסופי
?מה הכי קשה
Partially observable, non deterministic
dynamic sequential continuous
•
Environment Types
Observable Deterministic Episodic Static Discrete
Crossword
Puzzle
Part-picking
robot
Web shopping
program
Foreign-Language
Tutor
Medical Diagnosis
Taxi driving
Environment Types
Observable Deterministic Episodic Static Discrete
Crossword
Puzzle
Part-picking
robot
Web shopping
program
Foreign-Language
Tutor
Medical Diagnosis
Taxi driving
(Yes)
Yes
No
Yes
Yes
Environment Types
Observable Deterministic Episodic Static Discrete
Crossword
Puzzle
(Yes)
Yes
No
Yes
Yes
Part-picking
robot
No
No
Yes
No
No
Web shopping
program
Foreign-Language
Tutor
Medical Diagnosis
Taxi driving
Environment Types
Observable Deterministic Episodic Static Discrete
Crossword
Puzzle
(Yes)
Yes
No
Yes
Yes
Part-picking
robot
No
No
Yes
No
No
Web shopping
program
No
No
No
No
Yes
Foreign-Language
Tutor
Medical Diagnosis
Taxi driving
Environment Types
Observable Deterministic Episodic Static Discrete
Crossword
Puzzle
(Yes)
Yes
No
Yes
Yes
Part-picking
robot
No
No
Yes
No
No
Web shopping
program
No
No
No
No
Yes
Foreign-Language
Tutor
No
No
No
Yes
Yes
Medical Diagnosis
Taxi driving
Environment Types
Observable Deterministic Episodic Static Discrete
Crossword
Puzzle
(Yes)
Yes
No
Yes
Yes
Part-picking
robot
No
No
Yes
No
No
Web shopping
program
No
No
No
No
Yes
Foreign-Language
Tutor
No
No
No
Yes
Yes
Medical Diagnosis
No
No
No
No
No
Taxi driving
Environment Types
Observable Deterministic Episodic Static Discrete
Crossword
Puzzle
(Yes)
Yes
No
Yes
Yes
Part-picking
robot
No
No
Yes
No
No
Web shopping
program
No
No
No
No
Yes
Foreign-Language
Tutor
No
No
No
Yes
Yes
Medical Diagnosis
No
No
No
No
No
Taxi driving
No
No
No
No
No
מבנה של סוכנים
Agent = Architecture + Program •
:• סוגי תוכניות סוכן
table-driven agent סוכן מונחה טבלה
simple reflex agent סוכן עם רפלקס פשוט
model-based reflex מודל-סוכן עם רפלקס מבוסס
agent
goal-based agent מטרה-סוכן מבוסס
utility-based agent שירות-סוכן מבוסס
–
–
–
–
–
סוכן מונחה טבלה
function TABLE-DRIVEN-AGENT (percept) returns action
static: percepts, a sequence, initially empty
table, a table, indexed by percept sequences,
initially fully specified
append percept to the end of percepts
action LOOKUP(percepts, table)
return action
Look-up table for chess: 35100
Simple Reflex Agent
sensors
Condition-action rules
What action I
should do now
Environment
What the world is
like now
actuators
function SIMPLE-REFLEX-AGENT(percept) returns action
static: rules, a set of condition-action rules
state INTERPRET-INPUT (percept)
rule RULE-MATCH (state,rules)
action RULE-ACTION [rule]
return action
Model-Based Reflex Agent
sensors
State
What the world
is like now
What my actions do
Condition-action rules
What action I
should do now
Environment
How the world evolves
actuators
function REFLEX-AGENT-WITH-STATE (percept) returns action
static: state, a description of the current world state
rules, a set of condition-action rules
state UPDATE-STATE (state, percept)
rule RULE-MATCH (state, rules)
action RULE-ACTION [rule]
state UPDATE-STATE (state, action)
return action
Goal-Based Agent
State
How the world evolves
sensors
What my actions do
What it will be like if I
do action A
Goals
What action I
should do now
actuators
Environment
What the world is
like now
Utility-Based Agent
State
How the world evolves
sensors
What the world
is like now
What my actions do
Utility
How happy I will
be in such as a state
What action I
should do now
actuators
Environment
What it will be like
if I do action A