Professional Documents
Culture Documents
P1 ww144t70
P1 ww144t70
מודלים חישוביים
פרק : 1אוטומט סופי דטרמיניסטי לא מלא
שם המורה :ריקי יפה
שם מורה בודק :ויקטוריה צורי
תודה לויקטוריה צורי על האישור להשתמש בחומרים שלה
2
דגשים לבניית אוטומט סופי דטרמיניסטי מלא
בנו תחילה את המסלול למילה הקצרה ביותר המתקבלת בשפה. .1
האם המילה הריקה (אפסילון )εבשפה? אם כן ,מצב התחלתי הוא מצב מקבל. .2
הבדילו בין המקרים של מתחיל מכיל או מסתיים. .3
בדקו האם ניתן לצמצם תנאים. .4
באם הפתרון הינו אוטומט סופי דטרמיניסטי מלא ראה שכל מצב מטפל בכל קלט אפשרי פעם אחת .5
בלבד.
שימו לב שיכול להיות יותר ממצב מקבל אחד. .6
3
אוטומט סופי דטרמיניסטי מלא
חשבו, תרגיל
איך יודעים אם מספר בנה אוטומט סופי דטרמיניסטי מעל מעל
מתחלק ב? 3 - { ∑ = }8,9,…0,1המקבל את כל המספרים
הדצימליים המתחלקים בשלוש ללא שארית
4
אוטומט סופי דטרמיניסטי מלא
נתחיל לבנות את האוטומט שלנו
תרגיל 1
.1האם אפסילון ( )εבשפה? בנה אוטומט סופי דטרמיניסטי מלא מעל מעל
תשובה :לא { ∑ = }8,9,…0,1המקבל את כל המספרים
.2מהי המילה הקצרה ביותר בשפה? הדצימלים המתחלקים בשלוש ללא שארית
תשובה:
• 0,3,6,9מתחלק ב 3שארית 0
• 1,4,7מתחלק ב 3שארית 1 קלט המתקבל יכול להיות באחד משלושה מצבים:
• 2,5,8מתחל ב 3שארית 2
שארית חלוקה ב 3שווה 0
שארית חלוקה ב 3שווה 1
2 שווה 3 ב חלוקה שארית
ניצור שלושה מצבים עבורן
q0זוכר שארית חלוקה של מספר ב 3שווה 0
q1זוכר שארית חלוקה של מספר ב 3שווה 1
q2זוכר שארית חלוקה של מספר ב 3שווה 2
5
אוטומט סופי דטרמיניסטי מלא
שארית חלוקה של
תרגיל 1
מספר ב 3שווה 0 בנה אוטומט סופי דטרמיניסטי מלא מעל מעל
qq21 { ∑ = }8,9,…0,1המקבל את כל המספרים
0,3,6,9
הדצימלים המתחלקים בשלוש ללא שארית
q0 1,4,7 q2 שארית חלוקה של ניצור שלושה מצבים עבורן
מספר ב 3שווה 1
q1זוכר שארית חלוקה של מספר ב 3שווה 0
2,5,8 q2זוכר שארית חלוקה של מספר ב 3שווה 1
q3זוכר שארית חלוקה של מספר ב 3שווה 2
שארית חלוקה של
q3 מספר ב 3שווה 2
q2
1,4,7 { ∑ = }8,9,…0,1המקבל את כל המספרים
0,3,6,9
0,3,6,9 הדצימלים המתחלקים בשלוש ללא שארית
2,5,8
q0 1,4,7
q2
q1
1,4,7 2,5,8 שארית חלוקה של
מספר ב 3שווה 1 נשלים את האוטומט שלנו
2,5,8
2,5,8
q3 1,4,7
q0
7 0,3,6,9
אוטומט כמודל חישוב
מושגים בסיסיים בתורת הקבוצות
אוטומט סופי דטרמיניסטי (אס"ד) מלא
אוטומט סופי דטרמיניסטי (אס"ד) לא מלא
תרגול
8
אוטומט סופי דטרמיניסטי לא מלא
הגדרה:
אוטומט סופי דטרמיניסטי לא מלא מוגדר על ידי אותם חמישה מרכיבים כמו אוטומט סופי דטרמיניסטי
מלא ,פרט לפונקציית מעברים ,בה יכולים להיות חסרים חלק מהמעברים.
עבור מצב מסוים ואות קלט מסוימת ,לא מותאם מעבר .במצב כזה האוטומט "נתקע" .
9
אוטומט סופי דטרמיניסטי לא מלא
בהגדרת האוטומט המלא ,קבוצת המעברים הוגדרה כפונקצית מעברים ,המתאימה לכל זוג של מצב
ואות קלט מצב אחד ויחיד .
באוטומט דטרמיניסטי לא מלא איננו יכולים לדבר על פונקציה ,משום שיתכן כי יהיו זוגות שלא
יותאם להם מצב
10
אוטומט סופי דטרמיניסטי לא מלא
דוגמא
q0
a q1 b q2
בנו אוטומט סופי דטרמיניסטי מלא
a, a המקבל את השפה בת המילה האחת {}ab
b b
a, b מעל הא"ב {∑ =}a,b
q3
א .אוטומט סופי דטרמיניסטי לא מלא מקבל מילה כאשר היא נקראת עד סופה ,ובתום קריאתה נמצא
האוטומט במצב מקבל.
ב .אוטומט סופי דטרמיניסטי לא מלא דוחה מילה במקרים הבאים:
.1המילה נקראת עד סופה ובתום קריאתה נמצא האוטומט במצב לא מקבל.
.2במהלך קריאת המילה מגיע האוטומט למצב אשר ממנו אין מעבר המתאים לאות הקלט הבאה
(והאוטומט נתקע).
12
אוטומט סופי דטרמיניסטי לא מלא
יתרונות
• תכנון קל יותר וקומפקטי יותר
• "חוסך" מצבי מלכודת לא מקבלים
13
אוטומט סופי דטרמיניסטי לא מלא
תרגיל 1
.1מהי המילה הקצרה ביותר בשפה?
תשובה.aa,ab,ac : בנה אוטומט סופי דטרמיניסטי לא מלא שמקבל
נבנה עבורן מסלול שמוביל למצב מקבל. שפת כל המילים מעל { }a,b,cשמתחילות ב a
.2האם אפסילון ( )εבשפה? ואורכן זוגי.
תשובה :לא
a a,b,c
q0 q1 q2
14
אוטומט סופי דטרמיניסטי לא מלא
אי זוגי זוגי תרגיל 1
a a,b,c
q0 q1 q2 בנה אוטומט סופי דטרמיניסטי לא מלא שמקבל
שפת כל המילים מעל { }a,b,cשמתחילות ב a
"קיר" שאסור לעבור אותו אחורה,
ואורכן זוגי.
אחרת נשכח שמילה התחילה שלב שני ,השלמת בניית האוטומט
כנדרש.
אי זוגי זוגי
בכל אחד מהמצבים נשלים את המעברים
עבור אותיות הקלט
a a,b,c
q0 q1 q2
a,b,c
16
אוטומט סופי דטרמיניסטי לא מלא
תרגיל 2
.1האם אפסילון ( )εבשפה? בנה אוטומט סופי דטרמיניסטי לא מלא שמקבל
תשובה :לא שפת כל המילים מעל { }a,b,cשמתחילות ב aa
.2מהי המילה הקצרה ביותר בשפה? ואורכן מתחלק ב 3ללא שארית.
תשובה.aab,aac,aaa :
נבנה עבורה מסלול שמוביל למצב מקבל.
17
אוטומט סופי דטרמיניסטי לא מלא
18
אוטומט סופי דטרמיניסטי לא מלא
שלב שני ,השלמת בניית האוטומט
בכל אחד מהמצבים נשלים את המעברים עבור
תרגיל 2
אותיות הקלט בנה אוטומט סופי דטרמיניסטי לא מלא שמקבל
שפת כל המילים מעל { }a,b,cשמתחילות ב aa
ואורכן מתחלק ב 3ללא שארית.
b,c b,c
האם נדרש טיפול
a,b,c q4
במילה שהתחילה
באופן לא תקין ?
19
אוטומט סופי דטרמיניסטי לא מלא
" q0,q1,q2מטופלים". תרגיל 2
מה לגבי ?q3
בנה אוטומט סופי דטרמיניסטי לא מלא שמקבל
כל תו נוסף שנקרא יהפוך את המילה למילה שאורכה מתחלק שפת כל המילים מעל { }a,b,cשמתחילות ב aa
ב 3עם שארית .1מצב q1מטפל במקרה זה ,אבל ...אסור ואורכן מתחלק ב 3ללא שארית.
לחזור אליו!!!
זאת אומרת ,יש צורך במצב נוסף.
20
אוטומט סופי דטרמיניסטי לא מלא
" q0,q1,q2מטופלים".
תרגיל 2
מה לגבי ?q3
כל תו נוסף שנקרא יהפוך את המילה למילה שאורכה מתחלק ב 3עם בנה אוטומט סופי דטרמיניסטי לא מלא שמקבל
שארית .1מצב q1מטפל במקרה זה ,אבל ...אסור לחזור אליו!!! שפת כל המילים מעל { }a,b,cשמתחילות ב aa
זאת אומרת ,יש צורך במצב נוסף. ואורכן מתחלק ב 3ללא שארית.
a,b,c
a,b,c
q5
זיהוי שפה
a b c
q0 q1 q2 q3 הגדירו את השפה המתקבלת על ידי האוטומט סופי
c
a דטרמיניסטי (לא מלא) הבא
ניתן לראות כי המילה חייבת להתחיל ב ,ab -לאחר הרצף abניתן לחזור שוב על רצפים
של abאו לעבור לרצף -cים.
המילה צריכה להסתיים ברצף של -cים.
המילה הקצרה ביותר היא abcכלומר ,חייב להיות רצף אחד של abורצף אחד של .c
22
אוטומט סופי דטרמיניסטי לא מלא
השפה המתקבלת היא
} L={ ((ab)ⁿcᵐ ) ᵏ| n ,m >0 k≥0 3ב תרגיל
זיהוי שפה
q0
a b c הגדירו את השפה המתקבלת על ידי האוטומט סופי
q1 q2 q3
c דטרמיניסטי (לא מלא) הבא
a
a
23
אוטומט סופי דטרמיניסטי לא מלא
תרגיל 4
.1האם אפסילון ( )εבשפה?
תשובה :לא בנה אוטומט סופי דטרמיניסטי לא מלא שמקבל
את שפת כל המילים מעל הא"ב { }a,bשמתחילות
.2מהי המילה הקצרה ביותר בשפה? ב ,abאורכן אי זוגי ואין בהן רצף .aa
תשובה.abb, aba :
נבנה עבורן מסלול שמוביל למצב מקבל. q3זוכר שהמילה התחילה כנדרש ,אורכה אי זוגי
ותו אחרון .a
q4זוכר שהמילה התחילה כנדרש ,אורכה אי זוגי
a b b ותו אחרון .b
q0 q1 q2 q4
a
q3
24
אוטומט סופי דטרמיניסטי לא מלא
תרגיל 4
בנה אוטומט סופי דטרמיניסטי לא מלא שמקבל
"קיר" שאסור לעבור אותו אחורה,
אחרת נשכח שמילה התחילה כנדרש. את שפת כל המילים מעל הא"ב { }a,bשמתחילות
ב ,abאורכן אי זוגי ואין בהן רצף .aa
זוגי מסתיימת ב b
אי זוגי
מסתיימת ב b
q0
a b b
q1 q2 q4
a
q35
אי זוגי
מסתיימת ב a
25
אוטומט סופי דטרמיניסטי לא מלא
פתרון סופי: תרגיל 4
בנה אוטומט סופי דטרמיניסטי לא מלא שמקבל
"קיר" שאסור לעבור אותו אחורה, את שפת כל המילים מעל הא"ב { }a,bשמתחילות
אחרת נשכח שמילה התחילה כנדרש.
ב ,abאורכן אי זוגי ואין בהן רצף .aa
זוגי אי זוגי
מסתיימת ב b מסתיימת ב b
q0
a b b
q1 q2 q4
b
b a a b
q35 q6
26
אוטומט סופי דטרמיניסטי לא מלא
סיכום
• באס"ד לא מלא ישנו לפחות זוג אחד של מצב ואות ( )qi,jאשר ביחס אליהם לא מוגדר מהי תגובת האוטומט.
• באס"ד לא מלא ,אם במהלך חישוב המילה האוטומט נתקע ,המילה אינה מתקבלת.
• באס"ד לא מלא עשויות להיות שתי סיבות שונות לדחיית מילה:
oתהליך החישוב הסתיים ,מילת הקלט נקראה עד סופה והאוטומט אינו במצב מקבל.
oתהליך החישוב נסתיים כיוון שאין באוטומט התייחסות לצרוף המסוים של אות ומצב.
27
אוטומט כמודל חישוב
שפות רגולריות
איחוד וחיתוך שפות רגולריות
28
שפות רגולריות
אוטומט סופי מקבל שפה מסוימת.
הגדרה:
שפה Lהיא רגולרית אם היא מתקבלת ע"י אוטומט סופי.
29
איחוד וחיתוך שפות רגולריות
איחוד של שפות ו זה שפה שמכילה את כל המילים שנמצאות לפחות באחת השפות.
𝟏 𝑳𝟐 𝑳
סימוןU :
𝟏 𝑳𝟐 𝑳
30
איחוד וחיתוך שפות רגולריות
𝟏 𝑳𝟐 𝑳 𝟏 𝑳𝟐 𝑳
∩ U
לכל שפה Lמתקיים:
31
איחוד וחיתוך שפות רגולריות
דוגמא :1
{}∪={}
ב .נתונות שפות הבאות:
32
איחוד וחיתוך שפות רגולריות
דוגמא :2
נתונות שפות הבאות:
L1
L2
L3
33
איחוד וחיתוך שפות רגולריות
המשך של דוגמא :2
נתונות שפות הבאות:
L1
L2
L3
34
אוטומט איחוד /חיתוך
כאשר רוצים לבנות אוטומט סופי דטרמיניסטי עבור שפה שניתן לתאר אותה כאיחוד/חיתוך של שפות
אחרות ,ניתן לבנות אוטומט סופי דטרמיניסטי עבור כל אחת מהשפות בנפרד ,ואז להשתמש באלגוריתם
לבניית אוטומט חיתוך/איחוד עבור השפה המקורית.
35
בניית אוטומט איחוד /חיתוך
נניח נתון:
• אוטומט סופי דטרמיניסטי A1שמקבל את השפה L1כאשר מצבי האוטומט הםq0,q1,…,qn :
• אוטומט סופי דטרמיניסטי A2שמקבל את השפה L2כאשר מצבי האוטומט הםp0,p1,…,pm :
קבוצת המצבים של אוטומט סופי דטרמיניסטי שמקבל את או את היא כל הזוגות מהצורה ( )qi,pjכאשר ( )q0,p0הוא
מצב התחלתי.
36
בניית אוטומט איחוד /חיתוך
שלב :2הגדרת פונקציית מעברים עבור אוטומט ה איחוד/חיתור
לכל מצב ( )qi,pjוכל אות aמהא"ב יוגדר מעבר לפי כללים הבאים:
a
qi • אם האוטומט A1מוגדר מעבר הבאqt :
וגם
a
a
()qi,pj ()qt,pm באוטומט Aיוגדר מעבר הבא:
37
בניית אוטומט איחוד /חיתוך
שלב :3קביעת מצבים מקבלים עבור אוטומט ה איחוד/חיתור
• באוטומט איחוד)qi,pj( :יקבע כמצב מקבל אם אחד המצבים או שניהם qi ,
pjהיו מצבים מקבלים.
38
בניית אוטומט איחוד /חיתוך
שלב :4צמצום המצבים
מצבים שלא ניתן להגיע אליהם ממצב התחלתי נקראים מצבים לא ניתנים להשגה וניתן להסירם
מאוטומט הסופי.
39
אוטומט איחוד /חיתוך
דוגמה
נוכל להציג אותה כחיתוך של שפות הבאות: בנה אוטומט סופי דטרמיניסטי שמקבל את
שפת כל המילים מעל הא"ב {L }a,b
שמתחילות ב ,abאורכן זוגי ומכילה את
הרצף .aa
כאשר מתקיים:
=L
40
אוטומט איחוד /חיתוך
אוטומט סופי דטרמיניסטי A1שמקבל את השפה: דוגמה
בנה אוטומט סופי דטרמיניסטי שמקבל את
a b
q0 q1 q2
שפת כל המילים מעל הא"ב {L }a,b
b a שמתחילות ב ,abאורכן זוגי ומכילה את
a,b
a,b q3 הרצף .aa
a,b
p0 p1 כאשר מתקיים:
a,b =L
אוטומט סופי דטרמיניסטי A3שמקבל את השפה :
a a,b
t0
a t1 t2
b
41 b
אוטומט איחוד /חיתוך
דוגמה
a b b a
q0p0t0 q1p1t1 q2p0t0 q2p1t0 q2p0t1
בנה אוטומט סופי דטרמיניסטי שמקבל את
b b שפת כל המילים מעל הא"ב {L }a,b
a
b b a a שמתחילות ב ,abאורכן זוגי ומכילה את
הרצף .aa
b a a,b
q3p1t0 q3p0t0 q2p1t1 q2p0t2 q2p1t2
b
a a,b
b a b
q3p0t1 q3p1t1 הערה :קבוצת מצבים מהם אין דרך להגיע למצב
מקבל ולכן ניתן להחליף את כולם במצב מלכודת
a a אחד באוטומט מלא או לבטל מצבים אלה באוטומט
a,b לא מלא
q3p1t2 q3p0t2
a,b
42
אוטומט איחוד /חיתוך
אוטומט חיתוך מלא שמתקבל לאחר שינוי שמות המצבים ואיחוד כל
דוגמה
המצבים שלא ניתן להגיע דרכם למצב מקבל למצב אחד: בנה אוטומט סופי דטרמיניסטי שמקבל את
שפת כל המילים מעל הא"ב {L }a,b
שמתחילות ב ,abאורכן זוגי ומכילה את
הרצף .aa
a b q2
b a
q0 q1 q3 q4
b b
b a b a a
a a,b
q8 a,b q7 q6 q5
a,b
43
אוטומט איחוד /חיתוך
אוטומט חיתוך לא מלא שמתקבל לאחר שינוי שמות המצבים ואיחוד כל
דוגמה
המצבים שלא ניתן להגיע דרכם למצב מקבל למצב אחד: בנה אוטומט סופי דטרמיניסטי שמקבל את
שפת כל המילים מעל הא"ב {L }a,b
שמתחילות ב ,abאורכן זוגי ומכילה את
הרצף .aa
a a,b
q7 q6 q5
a,b
44
אוטומט כמודל חישוב
מושגים בסיסיים בתורת הקבוצות
אוטומט סופי דטרמיניסטי (אס"ד) מלא
אוטומט סופי דטרמיניסטי (אס"ד) לא מלא
שאלות מבגריות
באו נתרגל
45
בגרות קיץ תש"ע2010 / איחוד וחיתוך שפות רגולריות
תזכורת
חזקה של מילה wⁿהיא המילה המתקבלת מכתיבת w , nפעמים
wⁿ = w·w·w· … w
nפעמים
wºמשמעו 0מופעים של wכלומר -מילה ריקה ε =wº
46
בגרות קיץ תש"ע2010 / איחוד וחיתוך שפות רגולריות
47
בגרות קיץ תש"ע2010 / איחוד וחיתוך שפות רגולריות
תשובה:
48
בגרות קיץ תש"ע2010 / איחוד וחיתוך שפות רגולריות
שארית 0
0 q1 0 0 $
q0 q2 q3 q4
$
q5
49
בגרות קיץ תש"ע2010 / איחוד וחיתוך שפות רגולריות
שארית 0
q0 0 q1 0 q2 0 q3 $ q4
$
q5
0 $
0
שארית 2 שארית 1
50
בגרות קיץ תש"ע2010 / איחוד וחיתוך שפות רגולריות
שארית 0
q0 0 q1 0 q2 0 q3 $ q4
$
q5
שארית 0
אס"ד מלא
0 q1 0 0 $
q0 q2 q3 q4
51
בגרות קיץ תש"ע2010 / איחוד וחיתוך שפות רגולריות
שארית 0
q0 0 q1 0 q2 0 q3 $ q4
$
q5
שארית 0
52
בגרות קיץ תש"ע2010 / איחוד וחיתוך שפות רגולריות
53
בגרות קיץ תש"ע2010 / איחוד וחיתוך שפות רגולריות
54
בגרות קיץ תש"ע2010 / איחוד וחיתוך שפות רגולריות
b
q0
a a a
q1 q2 q3
b
q4
55
בגרות קיץ תש"ע2010 / איחוד וחיתוך שפות רגולריות
b
q0
a a a
q1 q2 q3
b
q4
56
בגרות קיץ תש"ע2010 / איחוד וחיתוך שפות רגולריות
פתרון סופי:
b
b b
q0
a a a
q1 q2 q3
b a
b q4
q4
57
תודה על ההקשבה
58
שימוש ביצירות מוגנות בזכויות יוצרים ואיתור בעלי זכויות
השימוש ביצירות במהלך שידור זה נעשה לפי סעיף 27א לחוק זכות יוצרים,
תשס"ח .2007-אם הינך בעל הזכויות באחת היצירות ,באפשרותך לבקש
מאיתנו לחדול מהשימוש ביצירה ,זאת באמצעות פנייה לדוא"ל
rights@education.gov.il
59