הורד מצגת
המצגת נטענת. אנא המתן
1
שפות רגולריות ואוטומטים סופיים
תרגול 3 שפות רגולריות ואוטומטים סופיים
2
תזכורת ביטויים רגולרים שרשור שפות סמנטיקה של ביטויים רגולרים:
הגדרה: שיטה לייצוג (סופי) של שפה. (לכל ביטוי רגולרי מתאימה שפה). ביטוי רגולרי הוא מילה מעל הא"ב Σ∪ ∅, , ,∙,∗,∪ השייך לשפה המינימלית המוגדרת כך: שרשור שפות סמנטיקה של ביטויים רגולרים:
3
שאלה 1 ביטויים רגולרים סמנטיקה של ביטויים רגולרים:
הגדרה: שיטה לייצוג (סופי) של שפה. (לכל ביטוי רגולרי מתאימה שפה). ביטוי רגולרי הוא מילה מעל הא"ב Σ∪ ∅, , ,∙,∗,∪ השייך לשפה המינימלית המוגדרת כך: סמנטיקה של ביטויים רגולרים:
4
צ"ל: קיים ביטוי רגולרי 𝑟 ′ כך ש- 𝐿 𝑟 ′ = 𝑓 𝜎 (𝐿)
ביטויים רגולרים הגדרה: שיטה לייצוג (סופי) של שפה. (לכל ביטוי רגולרי מתאימה שפה). ביטוי רגולרי הוא מילה מעל הא"ב Σ∪ ∅, , ,∙,∗,∪ השייך לשפה המינימלית המוגדרת כך: תהי 𝐿 שפה רגולרית צ"ל: קיים ביטוי רגולרי 𝑟 ′ כך ש- 𝐿 𝑟 ′ = 𝑓 𝜎 (𝐿) סמנטיקה של ביטויים רגולרים: סדר הוכחה: 𝐿 שפה רגולרית קיים ביטוי רגולרי 𝑟 כך ש- 𝐿 𝑟 =𝐿 נוכיח באינדוקציה שלמה על אורך הביטוי הרגולרי 𝑟, שקיים ביטוי רגולרי 𝑟 ′ שמקיים 𝐿 𝑟 ′ = 𝑓 𝜎 (𝐿)
5
כלומר, אנו צריכים לבנות ביטוי רגולרי 𝑟 ′ שמקיים 𝐿 𝑟 ′ = 𝑓 𝜎 (𝐿)
ביטויים רגולרים הגדרה: שיטה לייצוג (סופי) של שפה. (לכל ביטוי רגולרי מתאימה שפה). ביטוי רגולרי הוא מילה מעל הא"ב Σ∪ ∅, , ,∙,∗,∪ השייך לשפה המינימלית המוגדרת כך: כלומר, אנו צריכים לבנות ביטוי רגולרי 𝑟 ′ שמקיים 𝐿 𝑟 ′ = 𝑓 𝜎 (𝐿) איך עוזרת לנו אינדוקציה שלמה במקרה הזה? מה הצורות האפשריות של 𝑟? סמנטיקה של ביטויים רגולרים: מכיוון שאלו אפשרויות שונות ל-𝑟: לכל אחת מהן, נראה שבמקרה שלה קיים ביטוי רגולרי 𝑟 ′ שאנו רוצים.
6
שאלה 1 ביטויים רגולרים סמנטיקה של ביטויים רגולרים:
הגדרה: שיטה לייצוג (סופי) של שפה. (לכל ביטוי רגולרי מתאימה שפה). ביטוי רגולרי הוא מילה מעל הא"ב Σ∪ ∅, , ,∙,∗,∪ השייך לשפה המינימלית המוגדרת כך: סמנטיקה של ביטויים רגולרים:
7
שאלה 1 ביטויים רגולרים 𝑟 ביטוי רגולרי כך ש- 𝐿=𝐿(𝑟)
הגדרה: שיטה לייצוג (סופי) של שפה. (לכל ביטוי רגולרי מתאימה שפה). ביטוי רגולרי הוא מילה מעל הא"ב Σ∪ ∅, , ,∙,∗,∪ השייך לשפה המינימלית המוגדרת כך: 𝑟 ביטוי רגולרי כך ש- 𝐿=𝐿(𝑟) סמנטיקה של ביטויים רגולרים:
8
שאלה 1 𝑟 ביטוי רגולרי כך ש- 𝐿=𝐿(𝑟) מקרי הבסיס אפשרו לנו להתעלם מ- 𝑟 =1
9
שאלה 1 ביטויים רגולרים 𝑟 ביטוי רגולרי כך ש- 𝐿=𝐿(𝑟)
הגדרה: שיטה לייצוג (סופי) של שפה. (לכל ביטוי רגולרי מתאימה שפה). ביטוי רגולרי הוא מילה מעל הא"ב Σ∪ ∅, , ,∙,∗,∪ השייך לשפה המינימלית המוגדרת כך: 𝑟 ביטוי רגולרי כך ש- 𝐿=𝐿(𝑟) סמנטיקה של ביטויים רגולרים:
10
שאלה 1 ביטויים רגולרים 𝑟 ביטוי רגולרי כך ש- 𝐿=𝐿(𝑟)
הגדרה: שיטה לייצוג (סופי) של שפה. (לכל ביטוי רגולרי מתאימה שפה). ביטוי רגולרי הוא מילה מעל הא"ב Σ∪ ∅, , ,∙,∗,∪ השייך לשפה המינימלית המוגדרת כך: 𝑟 ביטוי רגולרי כך ש- 𝐿=𝐿(𝑟) סמנטיקה של ביטויים רגולרים:
11
שאלה 1 ביטויים רגולרים 𝑟 ביטוי רגולרי כך ש- 𝐿=𝐿(𝑟)
הגדרה: שיטה לייצוג (סופי) של שפה. (לכל ביטוי רגולרי מתאימה שפה). ביטוי רגולרי הוא מילה מעל הא"ב Σ∪ ∅, , ,∙,∗,∪ השייך לשפה המינימלית המוגדרת כך: 𝑟 ביטוי רגולרי כך ש- 𝐿=𝐿(𝑟) סמנטיקה של ביטויים רגולרים:
12
שאלה 1 𝑟 ביטוי רגולרי כך ש- 𝐿=𝐿(𝑟)
13
אוטומט סופי דטרמיניסטי
14
אוטומט סופי דטרמיניסטי
15
אוטומט סופי דטרמיניסטי
16
אוטומט סופי דטרמיניסטי
17
2. נוכיח ששפת האוטומט זהה לשפה 𝑳
אוטומט סופי דטרמיניסטי הוכחה ע"י בנייה שאלה 2 𝑀=<𝑄,Σ,𝛿,𝑠,𝐴> 𝑄 – קב' סופית של מצבים, 𝑠𝜖𝑄 – start. - 𝐴⊆𝑄מצבים מקבלים, Σ – א"ב 𝛿 – פונקצית מעבר: 1. נבנה אוטומט. 2. נוכיח ששפת האוטומט זהה לשפה 𝑳 𝛿:𝑄×Σ ⇢𝑄, 𝛿 𝑞 1 ,𝜎 = 𝑞 2 קונפיגורציה - מצב ריצה על האוטומט 𝑄× Σ ∗ - הקונפיגורציה 𝑞,𝑤 מציינת שנמצאים במצב 𝑞 ונשאר לקרוא את המילה 𝑤. היחס ⟼ - מעבר בין קונפיגורציות. ניתן לעבור מקונפיגורציה אחת לשניה בצעד אחד: 𝑞 1 ,𝜎𝑤 ⟼ (𝑞 2 ,𝑤) הסגור הרפלקסיבי-טרנזיטיבי של ⟼ 𝑞 1 , 𝑤 1 𝑤 2 ⟼ (𝑞 2 , 𝑤 2 ) * אם ורק אם קיימת סדרת קונפיגורציות כך שעבור 𝑤= 𝜎 1 𝜎 2 … 𝜎 𝑛 , מתקיים: יש לזכור שמספר ה-'b' במילה אינו משפיע על שייכות המילה לשפה. בנוסף, נבחין כי האוטומט אמור "לזכור" כמה 'a' עברו מתחילת המילה עד עכשיו, מודולו 7. לכן נרצה למשל שכל מספר אפשרי i , יהיה מצב אליו יגיע האוטומט בריצה המילה הכוללת i מופעי 'a' , מודולו 7. כעת, אם נרצה שמילים עם 4 מופעי 'a' מודולו 7 יתקבלו, אזי נסמן את מצב 4 כמקבל. 𝑞 1 , 𝜎 1 𝜎 2 … 𝜎 𝑛 𝑤 2 ⟼… ⟼ 𝑝 𝑛−1 , 𝜎 𝑛 𝑤 2 ⟼ 𝑞 2 , 𝑤 2 שפת האוטומט
18
שאלה 2 אוטומט סופי דטרמיניסטי 𝑀=<𝑄,Σ,𝛿,𝑠,𝐴>
𝑄 – קב' סופית של מצבים, 𝑠𝜖𝑄 – start. - 𝐴⊆𝑄מצבים מקבלים, Σ – א"ב 𝛿 – פונקצית מעבר: 𝛿:𝑄×Σ ⇢𝑄, 𝛿 𝑞 1 ,𝜎 = 𝑞 2 קונפיגורציה - מצב ריצה על האוטומט 𝑄× Σ ∗ - הקונפיגורציה 𝑞,𝑤 מציינת שנמצאים במצב 𝑞 ונשאר לקרוא את המילה 𝑤. היחס ⟼ - מעבר בין קונפיגורציות. ניתן לעבור מקונפיגורציה אחת לשניה בצעד אחד: 𝑞 1 ,𝜎𝑤 ⟼ (𝑞 2 ,𝑤) הסגור הרפלקסיבי-טרנזיטיבי של ⟼ 𝑞 1 , 𝑤 1 𝑤 2 ⟼ (𝑞 2 , 𝑤 2 ) * אם ורק אם קיימת סדרת קונפיגורציות כך שעבור 𝑤= 𝜎 1 𝜎 2 … 𝜎 𝑛 , מתקיים: 𝑞 1 , 𝜎 1 𝜎 2 … 𝜎 𝑛 𝑤 2 ⟼… ⟼ 𝑝 𝑛−1 , 𝜎 𝑛 𝑤 2 ⟼ 𝑞 2 , 𝑤 2 שפת האוטומט
19
שאלה 2 b 𝑞 0 a a b b 𝑞 1 𝑞 6 a b 𝑞 2 a 𝑞 5 a b b 𝑞 3 a 𝑞 4 b a
20
שאלה 2 נוכיח משהו כללי יותר. אוטומט סופי דטרמיניסטי הוכח:
𝑀=<𝑄,Σ,𝛿,𝑠,𝐴> הוכח: 𝑄 – קב' סופית של מצבים, 𝑠𝜖𝑄 – start. - 𝐴⊆𝑄מצבים מקבלים, Σ – א"ב 𝛿 – פונקצית מעבר: נוכיח משהו כללי יותר. 𝛿:𝑄×Σ ⇢𝑄, 𝛿 𝑞 1 ,𝜎 = 𝑞 2 קונפיגורציה - מצב ריצה על האוטומט 𝑄× Σ ∗ - הקונפיגורציה 𝑞,𝑤 מציינת שנמצאים במצב 𝑞 ונשאר לקרוא את המילה 𝑤. נקשר בין מצב האוטומט למספר ה-a-ים במילה. היחס ⟼ - מעבר בין קונפיגורציות. ניתן לעבור מקונפיגורציה אחת לשניה בצעד אחד: 𝑞 1 ,𝜎𝑤 ⟼ (𝑞 2 ,𝑤) הסגור הרפלקסיבי-טרנזיטיבי של ⟼ 𝑞 1 , 𝑤 1 𝑤 2 ⟼ (𝑞 2 , 𝑤 2 ) * אם ורק אם קיימת סדרת קונפיגורציות כך שעבור 𝑤= 𝜎 1 𝜎 2 … 𝜎 𝑛 , מתקיים: 𝑞 1 , 𝜎 1 𝜎 2 … 𝜎 𝑛 𝑤 2 ⟼… ⟼ 𝑝 𝑛−1 , 𝜎 𝑛 𝑤 2 ⟼ 𝑞 2 , 𝑤 2 שפת האוטומט
21
שאלה 2 אוטומט סופי דטרמיניסטי הוכח: לפי הגדרה: הנחת האינדוקציה:
𝑀=<𝑄,Σ,𝛿,𝑠,𝐴> 𝑄 – קב' סופית של מצבים, 𝑠𝜖𝑄 – start. - 𝐴⊆𝑄מצבים מקבלים, Σ – א"ב 𝛿 – פונקצית מעבר: 𝛿:𝑄×Σ ⇢𝑄, 𝛿 𝑞 1 ,𝜎 = 𝑞 2 קונפיגורציה - מצב ריצה על האוטומט 𝑄× Σ ∗ - הקונפיגורציה 𝑞,𝑤 מציינת שנמצאים במצב 𝑞 ונשאר לקרוא את המילה 𝑤. היחס ⟼ - מעבר בין קונפיגורציות. ניתן לעבור מקונפיגורציה אחת לשניה בצעד אחד: מקרי הבסיס אפשרו לנו להתעלם מ- 𝑤 =0 𝑞 1 ,𝜎𝑤 ⟼ (𝑞 2 ,𝑤) הסגור הרפלקסיבי-טרנזיטיבי של ⟼ 𝑞 1 , 𝑤 1 𝑤 2 ⟼ (𝑞 2 , 𝑤 2 ) * לפי הגדרה: אם ורק אם קיימת סדרת קונפיגורציות כך שעבור 𝑤= 𝜎 1 𝜎 2 … 𝜎 𝑛 , מתקיים: הנחת האינדוקציה: 𝑞 1 , 𝜎 1 𝜎 2 … 𝜎 𝑛 𝑤 2 ⟼… ⟼ 𝑝 𝑛−1 , 𝜎 𝑛 𝑤 2 ⟼ 𝑞 2 , 𝑤 2 שפת האוטומט
22
שאלה 2 𝒘= 𝒘 𝟏 𝝈 למעשה, מה קרה פה? אפשרות 1: 𝝈=𝐚, עוברים ל- 𝒒 𝟒
b 𝑞 0 למעשה, מה קרה פה? a a b b 𝑞 1 𝑞 6 הנחת האינדוקציה a b 𝑞 2 a נשארה רק 𝝈 במילה 𝑞 5 a b b 𝑞 3 a 𝑞 4 b אפשרות 1: 𝝈=𝐚, עוברים ל- 𝒒 𝟒 אפשרות 2: 𝝈=𝐛, נשארים במקום. a
23
שאלה 2
24
שאלה 2
25
אוטומט סופי אי-דטרמיניסטי
26
אוטומט סופי אי-דטרמיניסטי
27
אוטומט סופי אי-דטרמיניסטי
28
אוטומט סופי אי-דטרמיניסטי
כלומר, ניתן להיתקע! Σ={𝑎,𝑏} b 𝑞 0 a 𝑞 1 במצב 𝒒 𝟏 אין מעבר עבור האות b.
29
אוטומט סופי אי-דטרמיניסטי
Σ={𝑎,𝑏,𝑐} b 𝑞 0 𝜀 𝑞 1 𝜀 c Δ 𝑞 0 ,𝜀 = {𝑞 1 , 𝑞 2 } 𝑞 2
30
אוטומט סופי אי-דטרמיניסטי
Σ={𝑎,𝑏,𝑐} b 𝒒 𝟎 𝒂 𝑞 1 𝒂 c 𝑞 2 Δ 𝑞 0 ,𝑎 = {𝑞 1 , 𝑞 2 }
31
אוטומט סופי אי-דטרמיניסטי
לעומת אוטומט דטרמיניסטי, עבור מילה כלשהי 𝒘, יכולים להיות מספר סדרות קונפיגורציה חוקיות. אף יכולות להיות כמה סדרות קונפיגורציה מקבלות. למשל: המילה 𝒘=𝒂𝒄 𝒒 𝟎 𝑎 𝑞 1 c 𝒒 𝟎 ,𝒂𝒄 ⟼ (𝒒 𝟏 ,𝒄)⟼ (𝒒 𝟑 ,𝜺) מקבל c 𝑎 𝑞 2 b 𝑞 3 𝒒 𝟎 ,𝒂𝒄 ⟼ (𝒒 𝟏 ,𝒄)⟼ (𝒒 𝟏 ,𝜺) לא מקבל
מצגות קשורות
© 2024 SlidePlayer.co.il Inc.
All rights reserved.