32
אוטומטים ד"ר פרג' שיבאן פורמליות ושפות אוטומטים ד"ר פרג' שיבאן סמסטר א' ־ תשע"ו חלק הגדרות בסיסיות שאבריה יקראוΣ סופית ־ של שפה היא קבוצה(א"ב) אלפבית.( תוויםאו) אותיות סופית של אותיות ־ זוהי סדרהΣ מעל א"ב(או מחרוזת) מילה, שרשומה כשירשור ללא פסיקים בין אברי הסדרה.Σ מ־:(wאשר מסומנת ב־) מילהa i Σ,w = a 1 a 2 ...a n למשל: הינןΣ מעל מילים אזיΣ = {0, 1} אם למשל:0, 0111, 01010, ... .w ומוגדר בתור מספר האותיות ב־|w| מסומןw של מילה האורך את# a (w) ב־ מסמניםΣ מעלw ומילהa Σ עבור.w ב־a מספר המופעים של אזי מתקיים:X aΣ # a (w)= |w| . המילה הריקה ונקראתε מילה באורך אפס מסומנת ב־.Σ כל המילים מעל א"ב את אוסףΣ * מסמנים ב־ חשוב לזכור: אינסופית, אבל בת־מנייה. ־Σ * ־ סופית,Σ :Σ * עבור שתי מילים מ־ מסומן:w, v של השירשור אזיv = b 1 ··· b n ו־w = a 1 ··· a n ומוגדר ע"י:wv wv = a 1 ··· a n b 1 ··· b n .Σ * הינה אוסף מילים מ־Σ מעל א"ב שפה.L Σ * ⇐⇒ Σ שפה עלL .2 0 אינה בת מנייה, היא מעוצמהΣ נשים לב שמשפחת השפות מעל מוגדרותΣ , לכן בין שפות מעלΣ * שפות הן תת־קבוצות של ומשלים:(L 1 L 2 ) חיתוך,(L 1 L 2 ) איחוד פעולות.L C * - L שירשור עוד שתי פעולות:Σ בנוסף, מוגדרות בין שפות מעל איטרציה: ו שירשור מוגדר ע"י:L 1 L 2 השירשורL 1 ,L 2 Σ * עבורL 1 L 2 = uv u L 1 ,v L 2 איטרציה באינדוקציה:L n שלם נגדירn 0 ועבורL Σ * עבור שפהL 0 = {ε} L n+1 = L n · L .L מילים מעלn = שפת כל השירשורים שלL n ומוגדרת ע"י:L * ־ מסומנת(L או: * של) L של האיטרציהL * = [ n0 L n = L 0 L 1 L 2 ···∪ L n = קבוצת כל השירשורים של מספר כלשהו של מילים מתוךL * .(L ־ שירשור של אפס מילים מ־ε כולל) L כמה הערות על שפה ריקה ועל מילה ריקה0.1 ,L = ישנו הבדל בין המילה הריקה לשפה הריקה. כלומר, אם אזי:L אזי בהכרחε L אבל אם ־, אלא אם זה הוגדר.ε/ L אינה ריקה, כלומר:.L 6= ואחתL 1 · L 2 כמו־כן, ע"פ ההגדרה, אם אנחנו צריכים לשרשר מהן היא שפה ריקה, אזי גם השירשור שלהן יהיה הקבוצה הריקה, כלומר:.L 1 · L 2 = לדברים הללו. כדאי לשים1

סיכום של הקורס אוטומטים ושפות פורמליות

  • Upload
    csnotes

  • View
    357

  • Download
    16

Embed Size (px)

Citation preview

Page 1: סיכום של הקורס אוטומטים ושפות פורמליות

שיבאןאוטומטים פרג' ד"ר

פורמליות ושפות אוטומטיםשיבאן פרג' ד"ר

תשע"ו ־ א' סמסטר

I חלק

בסיסיות הגדרותיקראו שאבריה Σ סופית קבוצה היא שפה של ־ (א"ב) אלפבית

תווים). (או אותיות

אותיות של סופית סדרה זוהי ־ Σ א"ב מעל מחרוזת) (או מילההסדרה. אברי בין פסיקים ללא כשירשור שרשומה ,Σמ־

:(wב־ מסומנת (אשר מילה

ai ∈ Σ, w = a1a2...an

למשל: הינן Σ מעל מילים אזי Σ = {0, 1} אם למשל:0, 0111, 01010, ...

.wב־ האותיות מספר בתור ומוגדר |w| מסומן w מילה של האורך

את #a (w)ב־ מסמנים Σ מעל w ומילה a ∈ Σ עבור.wב־ a של המופעים מספר

מתקיים: ∑אזיa∈Σ

#a (w) = |w|

הריקה. המילה ונקראת εב־ מסומנת אפס באורך מילה.Σ א"ב מעל המילים כל אוסף את Σ∗ב־ מסמנים

לזכור: חשובבת־מנייה. אבל אינסופית, ־ Σ∗ סופית, ־ Σ

:Σ∗מ־ מילים שתי עבורמסומן: w, v של השירשור אזי v = b1 · · · bnו־ w = a1 · · · an

ע"י: ומוגדר wv

wv = a1 · · · anb1 · · · bn

.Σ∗מ־ מילים אוסף הינה Σ א"ב מעל שפה

.L ⊆ Σ∗ ⇐⇒ Σ על שפה L.2ℵ0 מעוצמה היא מנייה, בת אינה Σ מעל השפות שמשפחת לב נשים

מוגדרות Σ מעל שפות בין לכן ,Σ∗ של תת־קבוצות הן שפותומשלים: (L1 ∩ L2) חיתוך ,(L1 ∪ L2) איחוד פעולות

.LC = Σ∗ − L

שירשור פעולות: שתי עוד Σ מעל שפות בין מוגדרות בנוסף,ואיטרציה:

שירשורע"י: מוגדר L1L2 השירשור L1, L2 ⊆ Σ∗ עבור

L1L2 ={uv∣∣u ∈ L1, v ∈ L2

}איטרציה

באינדוקציה: Ln נגדיר שלם n ≥ 0 ועבור L ⊆ Σ∗ שפה עבור

L0 = {ε}Ln+1 = Ln · L

.L מעל מילים n של השירשורים כל שפת = Ln

ע"י: ומוגדרת L∗ מסומנת ־ (L של * (או: L של האיטרציה

L∗ =⋃n≥0

Ln = L0 ∪ L1 ∪ L2 · · · ∪ Ln

מתוך מילים של כלשהו מספר של השירשורים כל קבוצת = L∗

.(Lמ־ מילים אפס של שירשור ־ ε (כולל L

ריקה מילה ועל ריקה שפה על הערות כמה 0.1

,L = ∅ אם כלומר, הריקה. לשפה הריקה המילה בין הבדל ישנואזי:

L בהכרח אזי ε ∈ L ־ אם אבל הוגדר. זה אם אלא ,ε /∈ Lכלומר: ריקה, אינה

.L 6= ∅ואחת L1 · L2 לשרשר צריכים אנחנו אם ההגדרה, ע"פ כמו־כן,הריקה, הקבוצה יהיה שלהן השירשור גם אזי ריקה, שפה היא מהן

כלומר:.L1 · L2 = ∅

הללו. לדברים ♥ לשים כדאי

1

Page 2: סיכום של הקורס אוטומטים ושפות פורמליות

שיבאןאוטומטים פרג' ד"ר

II חלק

סופיים אוטומטיים

(אס"ד) דטרמיניסטי סופי אוטומט 1

פורמלית הגדרה 1.1

המכיל (דבר חמישה זהו ־ (DFA) דטרמיניסטי סופי אוטומטדברים): חמישה

A = 〈Q,Σ, δ, q0, F 〉

כאשר:

מצבים. נקראים שאבריה סופית קבוצה היא ־ Q •

האוטומט. של הא"ב זה א"ב. ־ Σ •

.δ : Q× Σ→ Q ־ פונקציה היא ־ δ •שמסומן: מצב מתאימה δ ,a ∈ Σ ולכל q ∈ Q לכל כלומר,נמצא הוא אם האוטומט יכנס שאליו המצב זה .δ (q, a)

.a האות את וקורא q במצב

ההתחלתי. המצב שנקרא Qב־ מיוחד איבר הוא ־ q0 •

שאבריה מצבים] [קבוצת Qל־ חלקית קבוצה היא ־ F •המקבלים. המצבים או הסופיים, המצבים נקראים

נוספות הגדרות 1.2

.DFA ,A = 〈Q,Σ, δ, q0, F 〉 יהי:Σ∗ב־ w = a1 · · · an מילה עבור

כך q0, q1, q2, ..., qn מצבים: סדרת היא ־ w על A של הריצהמתקיים: 1 ≤ i ≤ n ולכל ,A של ההתחלתי המצב הוא q0ש־

qi = δ (qi−1, ai)

במצב מסתיימת w על A של הריצה אם w המילה את מקבל A.(qn ∈ F (ז"א, סופי) (או מקבל

.w את דוחה A אחרת,

ע"י: ומוגדרת L (A) מסומנת ,A של השפה

L (A) ={w ∈ Σ∗

∣∣∣�}.w את מקבל A ־ �

גרפי סימון 1.3

מסומנים קשתות עם מכוונים גרפים באמצעות DFA נציגהאוטומט. מ־א"ב באותיות

מצבים: יסמנו צמתיםהתחלתי. מצב ־ //

מקבל). מצב (או: סופי מצב ־

.δ (q, a) = p מסמן: q a // p קשתות:

qa,b // p כך: מקצרים q

a **

b

44 p

.Σ לכתוב פשוט ניתן קשת, על הא"ב את לכתוב במקום כמו־כן,

מקבל A (DFA) דטרמיניסטי סופי שאוטומט אומרים הערה:.L (A) = L אם (L את מזהה A (או: L השפה את

דוחה בור 1.4

שממנו מצב כלומר דוחה, בור הוא להכיר שכדאי הדברים אחדאחר. מצב לשום לצאת ניתן לא

מכילות אשר המילים על היא Lו־ Σ = {0, 1} אצלנו אם למשל,הינו: זאת שפה שמקבל האוטומט אזי בלבד, 1

// q0

1

��0 // q1

0,1

��

למצב נכנסים אנחנו "0" האות את שקיבלנו שברגע לכך לב נשיםדוחה. לבור הגענו כלומר, ־ ממנו לצאת דרך שום לנו שאין

השפה את ניקח אם למשל, ההפך, כמובן להיות יכול זה כן כמואזי לפחות, אחד "0" יש מילה בכל שבה שפה כלומר, המשלימה,

הינו: השפה את שיקבל האוטומט

// q0

1

��0 // q1

0,1

��

המילה את מקבל האוטומט ־ אחד "0" היה שבקלט ברגע כאן, וגםמקבל"). "בור הפעם (שנקרא כזה לבור והגענו

δ הרחבת 1.5

עבור תקפה שתהיה δ את להרחב ניתן להסברים, להיכנס מבליכלומר: אות, עבור רק ולא מילה

δ : Q× Σ∗ → Q

הבא: באופן תתנהג הפונקציה }ולכןδ (q, ε) = q, ∀q ∈ Qδ (q, wa) = δ (δ (q, w) , a) , ∀q ∈ Q,∀w ∈ Σ∗,∀a ∈ Σ

2

Page 3: סיכום של הקורס אוטומטים ושפות פורמליות

שיבאןאוטומטים פרג' ד"ר

ש: לכך לב נשים

L (A) =

{w ∈ Σ∗

∣∣∣∣∣δ (q0, w) ∈ F}

במילים: או

δ (q0, w) ∈ F ⇐⇒ w המילה את מקבל A

:δ הפונקציה של נוספת תכונה

δ (q, u · v) = δ (δ (q, u) , v), ∀q ∈ Q,∀u, v ∈ Σ∗

רגולרית שפה 1.6

DFA קיים אם רגולרית שפה נקראת L ⊆ Σ∗ שפה 1.1 הגדרה.L (A) = Lש־ כך A

או L ={anbn

∣∣n ∈ N},Σ = {a, b} רגולרית: לא לשפה דוגמא

. L ={w∣∣#a (w) = #b (w)

}אחר: בכתיב שפה אותה

מסוים) א"ב (מעל הרגולריות השפות משפחת 1.7

א"ב. Σ יהי

רגולרית: שפה היא ־ Σ∗ .1

// q0

Σ

.Σ∗ את מזהה הנ"ל האוטומט

רגולרית: שפה היא ∅ .2

// q0

Σ

.F = ∅ זה באוטומט .∅ את מזהה זה אוטומט

מכפלה אוטומט 1.8

יהיו:

A1 = 〈Q1,Σ, δ1, q1, F1〉A2 = 〈Q2,Σ, δ2, q2, F2〉

זהו A2ו־ A1 של מכפלה אוטומט ,Σ א"ב אותו מעל DFA־ים שני:A (DFA) אוטומט

A = 〈Q,Σ, δ, q0, F 〉

שמקיים:

Q = Q1 ×Q2 ={q × r

∣∣∣q ∈ Q1, r ∈ Q2

}•

δ : Q× Σ→ Q •

δ ((q, r) , a) = (δ1 (q, a) , δ2 (r, a)) •

q = (q1, q2) •

למשנהו). אחד מכפלה מאוטומט משתנה (היא F ⊆ Q •יקבל. שהאוטומט שרוצים השפה לפי אותה קובע המשתמש

של שילוב בעצם זה מכפלה אוטומט אופן, שבאיזשהו לומר ניתןהיא המקבלים המצבים וקבוצת במקביל שרצים אוטומטים שני

רוצים. שאנחנו למה בהתאמהבהמשך...) (דוגמא

מכפלה באוטומט δ הרחבת 1.8.1

δ : Q× Σ∗ → Q{δ ((q, r) , ε) = (q, r) , ∀ (q, r) ∈ Qδ ((q, r) , wa) = δ (δ ((q, r) , w) , a) , ∀ (q, r) ∈ Q,w ∈ Σ∗, a ∈ Σ

מכפלה לאטומט דוגמא 1.8.2

הבאים: האוטומטים בשני נסתכל:A1

// q0

b

a **q1

ajj

b

:A2

// r0

a

b // r1

a

b~~

r2

a

b

``

3

Page 4: סיכום של הקורס אוטומטים ושפות פורמליות

שיבאןאוטומטים פרג' ד"ר

ש: לכך לב נשים

L (A1) ={w ∈ {a, b}∗

∣∣∣ 2 | #a (w)}

L (A2) ={w ∈ {a, b}∗

∣∣∣ 3 | #b (w)}

ה־b־ים מספר ־ L (A2) זוגי, ה־a־ים מספר ־ L (A1) כלומר:.(m את מחלק nש־ פירושו n | m (תזכורת: ב־3 מתחלק

שישה היותר לכל (ישנם כך: נראה A2ו־ A1 של אוטומט כל:(|Q1| · |Q2| = ו־6 היות מצבים,

// (q0, r0)a --

b

��

(q1, r0)a

mm

b

��(q0, r1)

a --

b

��

(q1, r1)a

mm

b

��(q0, r2)

a --

b

==

(q1, r2)a

mm

b

aa

מכפלה? האוטומט את בונים כיצדואז אוטומט, כל של ההתחלתי המצב ,(q0, r0)מ־ מתחיליםלנו יש נניח אם למשל, מובילה היא לאן בא"ב אות כל בודקיםנותנים כאשר אותנו מעביר q0 לאן בודקים אזי a האות את בא"בq0 → q3 לדוגמא: ,a לו שנותנים אותנו מעביר r0 ולאן a לו

הוא: שנקבל מה ואז r0 → r2ו־

// (q0, r0)a // (q3, r2)

(q3, r2)ל־ ללכת יכולים אנחנו x ∈ Σ לכל ככה שעשינו ואחריכל עבור בדיוק הדבר אותו את ולעשות ישנו] אם אחר מצב [או

.x ∈ Σ

או המצבים לכל מגיעים שאנחנו עד הלאה ממשיכים אנחנו וכךלכל שנגיע להיות חייב (לא להמשיך לאן שאין רואים שאנחנו

המצבים). |Q1| · |Q2|עבור ובודקים (q0, r0)מ־ מתחילים אנחנו יותר, פורמלית בצורהלאיזשהו ממשכים מכן ולאחר δ ((q0, r0) , x) מהי: x ∈ Σ כל

אליו. אותנו הוביל (q0, r0)ש־ אחר מצבהיא ־ F ־ מכפלה באוטומט המקבלים המצבים קבוצת לגבילכך בהתאם לצורך. בהתאם אותה להגדיר וניתן קבועה! אינה

כמובן. המכפלה אוטומט שפה תוגדר גםהנ"ל: המכפה אוטומט לגבי נבחר, אם למשל,

F = (F1 ×Q1)∪(Q1 × F2) ={

(q, r) ∈ Q∣∣∣q ∈ F1 ∨ r ∈ F2

}

היא: המכפלה) (אוטומט האוטומט ששפת נקבל אזי

L (A) = L (A1) ∪ L (A2)

.

נוספים משפטים כמה 1.9

לאיחוד סגורה Σ א"ב מעל הרגולריות השפות משפחת 1.2 משפטוחיתוך.

L1 ∪ L2 גם כך אז רוגלריות שפות הן L1, L2 ⊆ Σ∗ אם כלומר,.L1 ∩ L2ו־

לאיחוד סגורה Σ א"ב מעל הרגולריות השפות משפחת 1.3 מסקנהשפות1. של סופי מספר של ולחיתוך

רגולרית שפה היא L = {w} השפה w ∈ Σ∗ לכל 1.4 הערהאחת). מילה בת (שפה

כי נכון, (זה רגולרית שפה היא Σ מעל סופית שפה כל 1.5 מסקנהמכילה מהן אחת שכל שפות של סופי איחוד היא סופית שפה כי

רגולרית). היא ולכן אחת, מילה

להפרש סגורה Σ א"ב מעל הרגולריות השפות משפחת 1.6 טענהסימטרי. ולהפרש

גם: כך אז רגולריות שפות הן L1, L2 ⊆ Σ∗ אם כלומר,. 3 2. L1\L2 = L1 − L2ו־ L1∆L2 = L1 ⊕ L2

ניתן אזי להשגה, ניתנים שאינם מצבים באוטומט קיימים אםשקשורים (החצים) המעברים כל עם יחד אלה, מצבים להסירשל שפה אותה את שמזהה DFA עדיין הוא שישאר מה אליהם.

המקורי. האוטומט

נכון. אינו זה אזי רגולריות שפות של אינסופי מספר של 1במקרה

L1 − L2 = L1\L2 ={w∣∣∣w ∈ L1 ∧ w /∈ L2

}2

חייב האיבר כלומר ־ L1∆L2 = L1 ⊕ L2 =(w∣∣∣w ∈ L1 ⊕ w ∈ L2

)3

בלבד! אחת בקבוצה להיות

4

Page 5: סיכום של הקורס אוטומטים ושפות פורמליות

שיבאןאוטומטים פרג' ד"ר

(אסל"ד) דטרמינסטי לא סופי אוטומט 2

חמישיה: הוא אסל"ד

A = 〈Q,Σ, δ, q0, F 〉

כאן: אבל DFA בהגדרת כמו בדיוק הם Q,Σ, q0, F שבה:

δ : Q× Σ→ 2Q

.Q של החזקה קבוצת ־ 2Q = P (Q) ={P∣∣∣P ⊆ Q} כאשר

קבוצה מותאמת מצב לכל דטרמיניסטי סופי לאוטומט בניגוד כאן,מצבים. של

קבוצה היא δ (q, a) כלומר, ,δ (q, a) ⊆ Q :a ∈ Σו־ q ∈ Q עבורמצבים. של

לעבור יכול הוא a את וקורא qב־ נמצא נמצא כשהאוטומטהמשך את לנחש יכול [האוטומט δ (q, a)ב־ מהמצבים אחד לכל

החישוב].qב־ נמצא האוטומט שאם אומר זה ־ δ (q, a) = ∅ ש־ ייתכן

בחישוב. להמשיך יכול ולא נתקע הוא a וקוראהמילים כל היא השפה כאשר Σ = {0, 1} עבור אסל"ד הנה למשל,

:1 היא אחרונה לפני האחת האות שבהן

// q0

0,1

��1 // q1

0,1 // q2

קשתות מספר לצאת יכולים Q ממצב האוטומט את המייצג בגרףקלט. אות באותה שמסומנות קשתות) 0 גם (ייתכנו

למשל:

r

q

a88

a &&p

הציור: משמעותלא באופן יכול הוא a את וקורא q במצב נמצא כשהאוטומט

.rל־ ל־pאו לעבור דטרמיניסטיאם כזה, במקרה .aב־ שמסומנת קשת יוצאת לא qשמ־ ייתכןולא (qב־) נתקע האוטומט ־ a את וקורא qב־ נמצא האוטומט

שלו. בריצה להמשיך יכולמצב הוא q אם אפילו המילה את דוחה האוטומט זה במקרה

(מקבל). סופי

w = a1a2 · · · an מילה על A של חישוב) מסלול (או: ריצהסדרת (אורך q0, q1, ..., qn מצבים: סדרה היא (ai ∈ Σ) Σ∗מ־

שמקיימת: (|w|+ 1 המצבים:.qi ∈ δ (qi−1, ai) :1 ≤ i ≤ n ולכל ההתחלתי המצב הוא q0

מספר .w קלט מילת על אפשריות ריצות מספר יש Aשל־ כמובן.0 להיות יכול זה

לפני להיתקע יכול האוטומט מסויימת קלט מילת על [כלומר,המילה]. קריאת את שסיים

(|w| = n (כאשר w הקלט מילת את מקבל A שאסל"ד אומרים(כלומר, qn ∈ F ש־ כך w על A של q0, ..., qn ריצה קיימת אם

סופי). במצב שמסתיימת פעמים n של ריצהלהיות: Lומוגדרת (A) מסומנת A אסל"ד של השפה

L (A) =

{w ∈ Σ∗

∣∣∣∣∣:}

.w את מקבל A ־ :

על שריצה ייתכן הבא: הכלל את לזכור גם כדאישהאוטומט או מקבל לא במצב תסתיים בשפה מילהשאינה מילה האוטומט על שנריץ ייתכן לא אבל יתקע,(אלא מקבל במצב כלשהי, בריצה תסתיים, והיא בשפההמילה). את דוחה שהאוטומט נחשב זה ואז נתקע האוטומט אם

בעצם הוא DFA .NFA של פרטי מקרה הוא DFA 2.1 הערה.q ∈ Q ולכל a ∈ Σ לכל |δ (q, a)| = 1 שבו NFA

NFA מסוג אוטומטים לכמה דוגמאות 2.1

ראשונה: דוגמאΣ = {0, 1} הא"ב מעל יהיו בדוגמאות האוטומטים כל

L = {00, 01, 010} כאשר L∗ הבאה: השפה את שמזהה אוטומט

��q2

1 **q0

0 **0jj

0

q1

0

jj q2

1

jj

שניה: דוגמאהשלישית האותה שבהן בשפה המילים כל את שמזהה אוטומט

:1 היא מהסוף

// q0

0,1

��1 // q1

0,1 // q20,1 // q3

נגדיר: a ∈ Σ ועבור P ⊆ Q מצבים קבוצת עבור

δ (P, a) =⋃q∈P

δ (q, a)

.(a ∈ Σ ולכל q ∈ Q לכל מצבים של קבוצה היא δ (q, a) (תזכורת:

אם להגיע האוטומט יכול שאליהם המצבים קבוצת = δ (P, a).a וקורא P ב־ המצבים באחד נמצא הוא

השנייה: בדוגמא למשל,

δ ({q0, q1} , 0) = {q0, q2}δ ({q0, q1} , 1) = {q0, q1, q2}

δ ({q3} , 0) = ∅δ ({q1, q3} , 1) = {q2}

5

Page 6: סיכום של הקורס אוטומטים ושפות פורמליות

שיבאןאוטומטים פרג' ד"ר

ולכן ,δ : Q × Σ∗ → 2Q מילה: עבור גם δ את להרחיב ניתן:w ∈ Σ∗ ולכל q ∈ Q לכל מוגדרת δ (q, w)

אליהם להגיע יכול שהאוטומט המצבים כל קבוצת = δ (q, w).w את לקרוא ומנסה q במצב מתחיל הוא אם

w aעל של הריצות כל כאשר קורה זה .δ (q, w) = ש־∅ ייתכןנתקעות.

ו־ P ⊆ Q עבור δ (P,w) להגדיר ניתן אופן, באותו (כמו־כן,.(w ∈ Σ∗

A לא־דטמינסטי סופי אוטומט של השפה 2.2

כך: מוגדרת A אסל"ד של השאפה

L (A) =

{w ∈ Σ∗

∣∣∣∣∣δ (q0, w) ∩ F 6= ∅

}

:w ∈ Σ∗ עבור אחרות: במילים.δ (q0, w) ∩ F 6= ∅ ⇐⇒ w את מקבלת A

חזקה אוטומט 2.3

.L (A) = L (B)ש־ כך B אס"ד קיים ,A אסל"ד לכל 2.2 טענה

אוטומט בונים איך אסביר רק אלא הטענה, את אוכיח לא (אנידוגמא) באמצעות כזה

בעצם הוא בונים) שנאחנו (האס"ד Bב־ מצב שכל לזכור חשוב רקבהמשך), (יובהר Aמ־ מצבים קבוצת.{q0} הוא B של ההתחלתי והמצב

:(Σ = {0, 1} (מעל הבא האוטומט לנו ונתון נניח

// q0

0,1

��1 // q1

0,1 // q2

(וזה הבא הדבר את נעשה שלנו DFAה־ את לבנות בשביל אזי,(NFA אוטומט לכל נכון

נשלח אם נגיע אנחנו מצבים קבוצת לאיזו ונראה {q0}מ־ נתחיל:4Σב־ מהאותיות אחת כל לו

מתחילה כך ולכן, δ ({q0} , 0) = {q0} , δ ({q0} , 1) = {q0, q1}הבניה:

// {q0}

0

��1 // {q0, q1}

עבורו, לבדוק מה לנו אין אזי q0 אל אותנו מוביל ו־0 היות כעת,קבוצת לאן כעת נבדוק ולכן {q0, q1}ל־ אותנו הוביל 1 אבל

אותנו: מובילה הזאת המצביםδ ({q0, q1} , 0) = {q0, q2} , δ ({q0, q1} , 1) = {q0, q1, q2}

.δ (P, a) =⋃

q∈P δ (q, a) זה: את לחשב איך הוסבר 4מקודם

עכשיו: יראה הגרף ולכן

// {q0}

0

��1 // {q0, q1}

0 ,,

1%%

{q0, q2}

{q0, q1, q2}

ולבדוק בחרנו לא שעוד המצבים אחד את לבחור נצטרך כעתמצב אותו עבור אותנו שולחת בא"ב אות כל מצבים קבוצת לאיזו

מצבים): קבוצת בעצם (שהואהיות כעת, ,δ ({q0, q2} , 0) = {q0} , δ ({q0, q2} , 1) = {q0, q1}חצים: אליהם נמתח פשוט בגרף, הנ"ל המצבים את לנו יש וכבר

// {q0}

0

��1 // {q0, q1}

0 ,,

1%%

{q0, q2}1

ll

0

ww

{q0, q1, q2}

קבוצת לאיזה ונבדוק בדקנו לא שאותו אחד מצב עוד נותר כעת,אותנו: מביאה מהא"ב אות כל מצבים

δ ({q0, q1, q2} , 0) = {q0, q2} , δ ({q0, q1, q2} , 1) =הוא: הגרף ולכן {q0, q1, q2}

// {q0}

0

��1 // {q0, q1}

0 ,,

1%%

{q0, q2}1

ll

0

ww

{q0, q1, q2}

1

XX

0

OO

אחרים שמצבים כלומר לבדוק, מצבים יותר שאין לראות נוכל כעתנוכל שלא (כאלה להשגה ניתנים אינם בגרף כאן נמצאים שלאאותם לבדוק סיבה לנו אין ולכן (q0מ־ לעולם אליהם להגיע

בגרף. אותם ולרשוםהמקבל המצב המקורי ובגרף היות המקבלים: למצבים הסברהוא מאיבריו שאחד החדש בגרף קודקוד כל אזי q2 הוא היחידלפי הולכים שאנחנו זה עושים שאנחנו מה מקבל. מצב יהיה q2

הוא q אזי q ∩ F 6= ∅ אם החדש, בגרף q מצב לכל הבא: הכללמקבל... מצב

כעת, .A NFA של החזקה אוטומט נקרא שבנינו B DFAה־NFAל־ פרטי מקרה הוא DFAש־ ומהעובדה האחרונה מהטענה

משפט: מתקבל

אזי: שפה L ⊆ Σ∗ תהי 2.3 משפט.L (A) = Lש־ כך A NFA קיים ⇐⇒ רגולרית L

6

Page 7: סיכום של הקורס אוטומטים ושפות פורמליות

שיבאןאוטומטים פרג' ד"ר

ε (מעברי) מסעי עם סופי אוטומט 3

הגדרה 3.1

יש NFA להיותו שבנוסף NFA זהו ε מסעי עם סופי אוטומטהריקה): (המילה εב־ המסומנות קשתות אותו המייצג בגרף

p ε // q

הוא qב־ נמצא האוטומט שאם היא: כזה (מעבר) קשת משמעותמהקלט. אות "לצרוך") (או: לקרוא מבלי p למצב לקפוץ יכול

למשל:

r p

q

ε@@

ε^^

a

��s

הן: האפשרויות אזי a וקורא qב־ נמצא האוטומט אםאת ולקרוא r או pל־ ללכת או: הבאה, לאות ולעבור sל־ ללכתאת לקרוא ואז ε של הקפיצה את לעשות קודם (כלומר, משם a

ההפך!). ולא האות,.NFAל־ זהים ־ זה במודל הפרטים שאר כל

דוגמא 3.1.1

// q0

a

��ε // q1

b

��ε // q2

c

��

a∗b∗c∗ ={albmcn

∣∣∣l,m, n ≥ 0}

היא: זה אוטומט שפת

פורמלית הגדרה 3.2

.5Σε = Σ ∪ {ε} נסמן: אזי א"ב הוא Σ אם סימון:זוהי εNFA בסימון ,ε מסעי עם דטרמיניסטי אל אוטומט

חמישיה:

A = 〈Q,Σ, δ, q0, F 〉

הריקה! המילה אלא אות, אינה זאת ־ {ε}5

פה: אבל ,NFA בהגדרת כמו בדיוק הם Q,Σ, q0, F כאשר:

δ : Q× Σε → 2Q

δ (q, ε) ⊆ .q ∈ Q עבור δ (q, ε) גם מוגדרת שכאן הוא (ההבדל.qמ־ שיוצאים ε מעברי אין כלומר ,δ (q, ε) = ש־∅ ייתכן .Q

. q ε // p כזה: מעבר בגרף6 יש ⇐⇒ p ∈ δ (q, ε)

למילים δ הרחבת 3.3

q של ε סגור 3.3.1

הבא: באופן ε של סגור נגדיר q ∈ Q מצב עבורלהגיע יכול שהאוטומט Aב־ המצבים כל קבוצת = CLε (q)

.ε במעברי שימוש ע"י כלומר, קלט, שום קריאת ללא אליהם,CLε (q0) = {q0, q1, q2} שלמעלה: בדוגמא למשל,

.CLε (q2) = {q2}ו־ CLε (q1) = {q1, q2}מסמנים: P ⊆ Q מצבים קבוצת עבור

CLε (P ) =⋃q∈P

CLε (q)

ללא q ∈ P מאיזשהו אליהם להגיע שניתן המצבים כל ־ כלומרקלט. אות קריאת

:δ הרחבת

δ̂ : Q× Σ∗ → 2Q

כך: }מוגדרתδ̂ (q, ε) = CLε (q)

δ̂ (q, va) =⋃r∈δ̂(q,v) CLε (δ (r, a)) ∀v ∈ Σ∗, a ∈ Σ

.w ∈ Σ∗ ולכל q ∈ Q לכל מוגדרת δ̂ (q, w) כךמתחילים אם אליהם להגיע שניתן המצבים כל קבוצת = δ̂ (q, w)

(מילה). w את וקוראים q במצבa ∈ Σ (עבור !δ̂ (q, a) 6= δ (q, a) הבא: לדבר לב לשים חשוב

.(q ∈ Qו־במעברי להשתמש לנו מותר ההגדרה, ע"פ ,δ̂ (q, a)ב־ הסבר:לעומת למעבר. מהאפשרויות כחלק ε את מכללים אנחנו כי εאנחנו כי ,ε במעברי להשתמש יכולים לא אנחנו δ (q, a)ב־ זאת,קריאת ע"י qמ־ אליהם להגיע שניתן המצבים לכל כאן מתייחסיםכאן. מוגדרת δ (q, ε) גם כזכור .(δ̂ב־ כמו המילה (ולא a האות

εNFA של השפה הגדרת 3.4

ע"י: מוגדרת A εNFA של השפה

L (A) ={w ∈ Σ∗

∣∣∣δ̂ (q0, w) ∩ F 6= ∅}

.A האוטומט את 6המייצג

7

Page 8: סיכום של הקורס אוטומטים ושפות פורמליות

שיבאןאוטומטים פרג' ד"ר

εNFAמ־ NFA בניית 3.5

:ε מסעי ללא NFA נבנה A = 〈Q,Σ, δ, q0, F 〉 εNFA בהינתןהבא: באופן B = 〈Q,Σ, δ′, q0, F

′〉

δ′ : Q× Σ→ 2Q

δ′ (q, a) = δ̂ (q, a)

(המילה ε את מקבל A האוטומט האם לב נשים ,F ′ לגבי כעת,הריקה):

F ′ =

{F ∪ {q0} CLε ∩ F 6= ∅ (⇐⇒ ε ∈ L (A))

F CLε ∩ F = ∅ (⇐⇒ ε /∈ L (A))

המילה (עבור δ′ (q, w) = δ̂ (q, w) :ε 6= w ∈ Σ∗ מילה עבור(q0 עבור רק נכון זה ε הריקה

גם תקף זה (וכלל w ∈ L (B) ⇐⇒ w ∈ L (A) ש־ נובע מכאןהריקה). המילה עבור

.L (A) = L (B) מתקיים: כלומר,

מצב ואותו מהצבים אותם את יש Bו־ Aשב־ לב נשים 3.1 הערההתחלתי.

עם ,B (ε מסעי (ללא NFA קיים A εNFA לכל 3.2 משפט.L (A) = L (B) שמקיים: התחלתי מצב ואותו מצבים אותם

A εNFA קיים ⇐⇒ רגולרית היא L ⊆ Σ∗ שפה 3.3 משפט.L את שמזהה

בבניה שמתואר שקול, (ε מסעי (ללא NFAל־ εNFAמ־ המעבר.ε (מסעי) מעברי הסרת נקרא: הנ"ל

Aב־ מצב כל עבור הבא: באופן המעבר את לעשות גם ניתןעל נתסכל (εNFA)

ε מעברי הסרת תהליך תיאור 3.5.1

.A = 〈Q,Σ, δ, q0, F 〉 εNFA נתוןהבא: באופן ε (מסעי) מעברי את נסיר

pל־ qמ־ מסלול יש A בגרף אם ,(q, p) מצבים זוג כל עבור .1באות המסומנת אחת מלבד ,εב־ מסומנות בו הקשתות שכל

וקשת (במידה לגרף q a // p קשת מוסיפים אזי ,aקיימת). אינה כזאת

.εב־ שמסומנות הקשתות כל את מוחקים .2

אזי F ∩ CLε (q0) 6= ∅ אם :F את משנים הצורך במידת .3.F ל־ q0 את מוסיפים

האלגוריתם באמצעות ε מעברי את נסיר שאם להיות יכול הערה:זה אבל ההגדרה. ע"פ נסיר אם שנעשה מזה שונה NFA לנו יצאתמיד מקרה בכל לכן דבר. אותו הוא שלנו DFAה־ עוד כל בסדראפשר אז התאמה שאין ברגע כי ־ חלקית (אפילו לבדוק כדאי

להפסיק).

שפות על רגולריות פעולות 3.6

ואיטרציה. שירשור חיתוך), (ולא איחוד שפות: על רגולריות פעולותרגולריות.7 לפעולות סגורה הרגולריות השפות משפחת משפט:

נפרד. בדף 7הוכחה

III חלק

רגולריים ביטויים

הגדרה 4

א"ב. Σ יהיהבא: באופן ברקורסיה מוגדר (Σ (מעל רגולרי ביטוי

רגולרי. ביטוי הוא a :a ∈ Σ לכל .1

רגולרי. ביטוי היא הריקה) (המילה ε .2

רגולרי. ביטורי היא ∅ .3

הוא r + s, rs, r∗ גם: אזי רגולריים ביטויים הם sו־ r אם .4רגולרי. ביטוי

(1 + 0)∗

1 ,[Σ∗ל־ שקול ,Σב־ המילים [כל (0 + 1)∗ ,0 למשל:

ב־1],.... שמסתיימות המילים [כל

רקורסיבית ומוגדרת L (r) מסומנת r רגולרי ביטוי של השפההבא: באופן

.a ∈ Σ לכל L (a) = {a} .1

.L (ε) = {ε} .2

.L (∅) = ∅ .3

אזי: רגולריים, ביטויים הם r, s אם .4

.L (r + s) = L (r) ∪ L (s) (א)

.L (rs) = L (r) · L (s) (ב)

L (r∗) = L (r)∗ (ג)

ביטויים נקראים L (r) = L (s) שמקיימים r, s רגולריים ביטוייםשקולים. רגולריים

ניתן ־ שקולים הם ־ r = (0∗1)∗, s = ε + (0 + 1)

∗1 למשל:

מילים. אותן את מהם לייצר

שלו השפה לבין רגולרי ביטוי בין ההבחנה את נשמיט 4.1 הערהמגדיר. הוא שאותה לשפה כמו רגולרי לביטוי ונתייחס

.r = s רגולריים ביטויים של שקילות נרשום על־כן,

8

Page 9: סיכום של הקורס אוטומטים ושפות פורמליות

שיבאןאוטומטים פרג' ד"ר

פעולות סדר 4.1

מבחינת למה קודם מה (כלומר, רגולריים בביטויים הפעולות סדריורד): בסדר החשיבות

סוגריים. ־ () .1

.∗ .2

(שירשור). · .3

.+ .4

Kleene משפט 5

א"ב. Σ יהיכך r רוגלרי ביטוי קיים ⇐⇒ רגולרית שפה היא L ⊆ Σ∗ שפה

.L (r) = Lש־סופי). לאוטומט שקול רגולרי ביטוי אחרות, (במילים

לאוטומט רגולרי ביטוי הפיכת 5.1

אטומי: רגולרי ביטוי לשפת שווה ששפתו סופי אוטומט. // a // :a

. // :ε. // :∅

סופי: לאוטומט רגולרי ביטוי כל להפוך נוכל כעת,אותו ונהפוך (01 + 0)

∗ הרגולרי הביטוי את ניקח למשל:סופי: לאוטומט

עם ו־1 0 השפות שירשור ע"י 01 השפה את מליצור נתחילאפסילון:

. // 0 // :0

. // 1 // :1הוא: השירשור ולכן

. // 0 // ε // 1 //

הבא: באופן נבטא "+" את כעת,השפות: לשתי ε מסעי שני באמצעות נחבר ואותו מצב עוד נוסיף

0 // ε // 1 //

//

ε99

ε %% 0 //מעבר נשים הבא: הדבר את הוא שנעשה מה ה־∗. את וכעתהמצב ואת לשפה שמוביל εה־ מעבר אחרי שנמצא לקודקוד εונהפוך קודקוד עוד נוסיף אחרות: (במילים למקבל נהפוך שלפניו

הבא: באופן קשתות שתי ונשלח מקבל) למצב אותו

0 // ε // 1 //

��// ε //

ε99

ε %% 0 //

WW

(01 + 0)∗ : היא ששפתו סופי אוטומט זהו

רגולרי לביטוי DFA אוטומט הפיכת 5.2

חדש חישובי מודול נציג רגולרי לביטוי DFA הפיכת לתאר כדי.(G=Generalized מוכלל, (אוטומט GNFA שנקרא

בו שהקשתות רק NFA כמו מכוון, גרף ע"י מוצג GNFA. רגולרים בביטוים מסומנות

.qs יחיד התחלתי ומצב ,qt ־ יחיד סופי מצב יש נוסף: דבר.qtמ־ שיוצאת קצת ואין qsל־ שנכנסת קשת אין

למשל:

// qsa∗b∗ //

b $$

qt

q0

a∗

::

הסברים:xמ־ יעבור האוטומט אזי ,GNFAב־ קשת היא x

r // y אם:־ L (r) ,r רגולרי ביטוי משפת שהיא w מילה קורא הוא אם yל־.r הרגולרי הביטוי את יקרא הוא אם yל־ xמ־ יעבור הוא כלומרקריאת ע"י qtל־ qsמ־ לעבור יכול ,w מילה מקבל אשר GNFA

.wדהיינו מקבל, שהאוטומט המילים כל קבוצת היא האוטומט שפת

.δ (qs, w) = qtש־ כך w ∈ Σ∗ כל.a∗b∗ + ba∗ הינה: שלמעלה GNFAה־ שפת למשל,

.(a∗ ואז b או a∗b∗ או צריכים אנחנו qtל־ qsמ־ להגיע בשביל (כי

GNFAל־ DFA אוטומט הפיכת 5.2.1

הבאה: בדרך GNFAל־ A DFA כל להפוך ניתןואת מקבלים לא למצבים Aב־ המקבלים המצבים כל את נהפוך

התחלתי. לא למצב ההתחלתי המצבחדשים: מצבים שני נוסיף

התחלתי. מצב ־ qsסופי. מצב ־ qt

ונוסיף Aב־ התחלתי שהיה למצב qsמ־ εב־ מסומנת קשת נוסיף.qtל־ Aב־ סופי מצב שהיה מבצ מכל εב־ שמסומנת קשת

הבא: DFAה־ לנו נתון למשל:

// q0

0

��1 // q1

0,1

��

נקבל: GNFAל־ אותו נהפוך אם אזי

// qsε // q0

0

��1 // q1

0+1

��ε // qt

q0 את להשמיט נוכל GNFAה־ של הראשונה בדוגמא הערה:השפה: אותה את שמקבל יותר קטן GNFA ולקבל

// qsa∗b∗+ba∗ // qt

9

Page 10: סיכום של הקורס אוטומטים ושפות פורמליות

שיבאןאוטומטים פרג' ד"ר

:GNFAל־ נוספת דוגמא

q1∗0

$$// qs

01∗::

(00)∗ $$

qt

p11

::

זה: אוטומט שפת

01∗1∗0 + (00)∗

11 = 01∗0 + (00)∗

11

GNFAל־ פורמלית הגדרה 5.2.2

A = 〈Q,Σ, λ, qs, qt〉 חמישייה זוהי GNFAכאשר:

.|Q| ≥ 2 מצבים של סופית קבוצה = Q •

א"ב. = Σ •

ההתחלתי. המצב יקרא ־ qs ∈ Q •

המקבל. המצב יקרא ־ qt ∈ Q •

הבא: באופן מוגדרת λ •

λ : (Q− {qt})× (Q− {qs})→ RΣ

.Σ מעל הרוגלרים הביטויים קבוצת = RΣ כאשר

GNFAב־ קשתות סימון 5.2.3

הוא λ (p, q) ־ ((qs, qt) (מלבד (p, q) מצבים של סדור סוג לכלאת (או הקשת את שמסמל הרגולרי הביטוי זהו רגולרי. ביטוי

.qל־ pמ־ הצלע):rpqב־ זה ביטוי נסמן

rpq = λ (p, q)

prpq // q

.λ (p, q) = rpq = ∅ ש־ כמובן ייתכןrqsq = 01∗, rqp = ∅ שלמעלה: בדוגמא למשל,

ישנה). (אם הצלע את משמיטים זה במקרהדוגמא: עוד

x1∗(00) // y 0101 // z

.rxy = 1∗00, ryz = 0101, rzy = ∅ הזה: במקרה.zל־ xמ־ (צלע) קשת אין כי ־ rxz = ∅ ו־

אם w את מקבל Aש־ אומרים .w ∈ Σ∗ ותהי GNFA A יהיפשטות, (לשם qs, q1, q2, ..., qk, qt :Aב־ מצבים סדרת קיימת

(qt = qk+1ו־ ,qs = q0 נסמן:שלכל כך w = w1w2 · · ·wk+1 מהצורה: w של פירוק וקיים

כלומר: wi ∈ λ (qi−1, qi) מתקיים: 1 ≤ i ≤ k + 1

wi ∈ rqi−1qi

מקבל. Aש־ w ∈ Σ∗ המילים על קבוצת היא L האוטומט שפת

GNFA של צימצום 5.2.4

נוכל |Q| > 2 עם A = 〈Q,Σ, λ, qs, qt〉 GNFA בההינתןשקול A′ GNFA עם ולהישאר ב־1 המצבים מסםר את להקטין

הבא: באופן Aל־

.(d 6= qs, qt (כלומר, d ∈ Q− {qs,qt} מצב נבחר .1

נעדכן שנשארו מהמצבים (p, q) מצבים של סדור זוג לכל .2:rpq את

d

rdd

��

rdq

��p

rpd

@@

rpq // q

prpq+rpd(rdd)∗rdq // q

:rpq את הוא פה מעדכנים הוא שאנחנו מה כלומר,

rpq ← rpq + rpd (rdd)∗rdq

.

יוצאות או שנכנסות הקשתות שאר כל ואת d את Aמ־ נשמיט .3.dמ־

qל־ p בין מסילה אינה rpq כלומר, בצעלות, שמדובר לזכור חשובקודקודים. בני בין קשת אלא

אזי: rpd, rdq ריקה: קבוצה היא מהבאים אחד אם תזכורת:8.rpd (rdd)

∗rdq = ∅

.rdd = εש־ נאמר אזי מעגל), אין (כלומר, כלום rddב־ אין 8אם

10

Page 11: סיכום של הקורס אוטומטים ושפות פורמליות

שיבאןאוטומטים פרג' ד"ר

רגולרי לביטוי DFA הפיכת אלגוריתם 5.2.5

.A ְ DFA קלט:.L (r) = L (A)ש־ כך r רגולרי ביטוי פלט:

.B GNFAל־ A את הפוך .1

במצב B את צמצם ־ מ־2 גדול Bב־ המצבים מספר עוד כל .2אחד.

כפלט. rqsqt הרגולרי הביטוי את החזר .3

קצר סיכום 6

רגולריות: שפות של ייצוג של שונים סוגים ארבעה ראינו

DFA

{{RE

♣##

NFA

3

dd

εNFA

::

.(5.1 (סעיף לאוטומט רוגלרי ביטוי הפיכת ־ ♣.(3.5 (סעיף ε מסעי הסרת ־ ♠.(2.3 (סעיף החזקה אוטומט ־ 3

.(5.2 (סעיף רגולרי לביטוי אוטומט הפיכת ־ ♥

הניפוח למת 7

הלמה) (ניסוח הגדרה 7.1

רגולרית. שפה L ⊆ Σ∗ תהי|w| ≥ n עם w ∈ L מילה שלכל כך n טבעי מספר קיים אזי:הדרישות ומתקיימות x, y, z ∈ Σ∗ כאשר w = xyz פירוק קיים

הבאות:

.|xy| ≤ n .1

.(y 6= ε (כלומר: |y| > 0 .2

את לנפח ניתן כלומר, ־ xyiz ∈ L מתקיים: i ≥ 0 לכל .3המילה.

כל כלומר, רגלורית, לשפה הכרחי תנאי הינה הניפוח למת הערה:שמקיימת שפה כל לא אבל הלמה, תנאי את מקיימת רגולרית שפה

רגולרית. היא הלמה תנאי אתאינה היא ־ הלמה תנאי את מקיימת שפה אם ־ אחרות במילים

רגולרית. בהכרחלתנאי עד "קיים" מהמילה (החל הניפוח תנאי נקראים אלו תנאים

.(3תנאי את מקיימת L אזי רגולרית היא L שפה שאם אומרת הלמה

הניפוח.הניפוח. קבוע נקרא הניפוח בתנאי n המספר

ב־ המצבים למספר שווה גדול או שווה nש־ בה"כ להניח ניתן.L את שמזהה DFA

L שפה של אי־רגולריות להראות הוא הלמה של העיקרי השימושזה בד"כ הניפוח, תנאי את לקיים יכולה לא Lש־ שמראים כך (ע"י

השלישי). התנאי יהיה

הניפוח בלמת לשימוש קצרה דוגמא 7.2

השפה: כי נוכיח

L ={ajbj

∣∣∣i = j, i, j ≥ 0}

רגולרית. אינההוכחה:

ניפוח קבוע קיים אזי רגולרית, אכן L השפה כי בשלילה נניחשלושת מתקיימים |w| ≥ nש־ כך w ∈ L שלכל כך n ∈ N

הנ"ל. התנאים,בתנאים. תעמוד שלא אחת מילה זאת למצוא שעלינו מה כל כעת,השפה כלומר, נכונה, אינה הלמה אזי כזאת, מילה שמצאנו ברגעלכתוב נצטרך n מהו יודעים לא שאנחנו בגלל אבל רגולרית. אינה

תבניתית. בצורה המילה אתהשפה הגדרת ע"פ w ∈ L ואכן w = anbn המילה: את נקחתנאי את לקיים צריכה היא רגולרית היא אם ולכן ,|w| ≥ nו־

הניפוח.ומתקיים: x, y, z ∈ Σ∗ כאשר w = xyz פירוק ישנו הלמה, לפי

.|xy| ≤ n .1

.|y| > 0 .2

.xyiz ∈ L מתקיים: 0 ≤ i ∈ N לכל .3

x = al, y = am, z = an−l−mbn חלוקה: שקיימת נקבל ו־2 מ־1שבחרנו. המילה את לחלק איך לבחור יכולים אנחנו שאין לב (נשים

משתנים). שמים אנחנו ולכן הלמה, מתוך נובעת החלוקהש־ להיות (יכול .m > ו־0 l + m ≤ n הלמה): (ע"פ כשאר

.(zב־ נמצאים ה־a־ים כל אחד, a מלבד ואז, l = 0,m = 1נשים אם אבל ,xz ∈ Lש־ הוא שנקבל מה i = 0 נבחר אם כעת,

.xz = al · an−l−m · bn = an−mbn לב:xz /∈ Lש־ שאומר מה n − m > n אזי m > ש־0 בגלל אבל

לסתירה. והגענורגורלית. אינה Lש־ מכאן

הלמה באמצעות רגורלית היא ששפה זה את לסתור רוצים כאשרבתנאי iה־ את נחפש כאן, בדוגמא כמו שתמיד, הוא שנעשה מהרגולרית. אינה היא כי נראה וכך Lמ־ המילה את שיוציא השלישיבאמצעותה שנוכל מילה למצוא א. בעצם: הוא כאן האתגר לכןשעבורנו המתאים iה־ את למצוא ב. השפה. רגולריות את לסתור

מסוים). i (עבור בשפה נמצאת לא שבחרנו המילה כי נראה

נוספת למה 8

מצבים n עם DFA אוטומט A = 〈Q,Σ, δ, q0, F 〉 יהי.L = L (A) ותהי (|Q| = n)

אזי:

.(|w| < n) n > מאורך מילה מכילה L ⇐⇒ L 6= ∅ .1

.n ≤ |w| ≤ 2nש־ כך w מילה מכילה L ⇐⇒ אינסופית L .2

11

Page 12: סיכום של הקורס אוטומטים ושפות פורמליות

שיבאןאוטומטים פרג' ד"ר

IV חלק

רגולריות לשפות הכרעה בעיות

"לא". "או "כן היא עליה שהתשובה בעיה הכרעה: בעייתהבאות: ההכרעה בבעיות ונדון DFA ע"י רגולריות שפות נציג

,(A של Σ (מא"ב w ומילה A DFA נתון השייכות: בעיית .1?w ∈ L (A) האם

?L (A) = ∅ האם ,A DFA נתון הרייקנות: בעיית .2

אינסופית? L (A) האם ,ְ DFA נתון הסופיות: בעיית .3

ו־A2האם A1 DFA־ים שני נתונים השקילות: בעיית .4?L (A1) = L (A2)

שהוצגו הבעיות פתרונות 9

השייכות בעיית פתרון 9.1

w = a1a2 · · · an ∈ ומילה A = 〈Q,Σ, δ, q0, F 〉 DFA קלט:.Σ∗

אחרת. "לא" ,w ∈ L (A) אם "כן" פלט:

.q = q0 .1

.δ (q, ai)→ q :i = 1, 2, ..., n עבור .2

"לא". החזר אחרת "כן. החזר q ∈ F אם .3

הריקנות בעיית פתרון 9.2

|Q| = nו־ |w| < n כאשר w מילה איזושיה מקבל A אם בודקים.

"לא". מחזירים אחרת "כן", מחזירים אזי מקבל, הוא אם

הסופיות בעיית פתרון 9.3

.n ≤ |w| ≤ 2n כאשר w מילה מקבל A אם בודקים"לא". מחזירים לא, אם "כן", מחזירים ־ כן אם

האחרונה מהלמה נובעת האחרונים האלגוריתמים שני (נכונותשהראנו).

הנ"ל לאלגוריתמים יעלים פתרונות 9.4

.BFSב־ נשתמש כך לשם שהוצגו. לבעיות יעלים פתרונות נציג.q ∈ Q כאשר R (q)ו־ R0 (q) חשובים: מושגים שני עוד ונכיר

R (q)ו־ R0 (q) 9.4.1

נסמן: q ∈ Q עבור ,A = 〈Q,Σ, δ, q0, F 〉 DFA יהי

R0 (q) ={δ (q, w)

∣∣∣w ∈ Σ∗}

מילה באמצעות qמ־ אליהם להגיע שניתן המצבים כל קבוצת זוהיולכן הריקה המילה את גם כולל כמובן (שזה w ∈ Σ∗ כלשהיקיימת אזי p ∈ R0 (q)ש־ לנו נתון אם לכן, ,(q ∈ R0 (q) תמיד

.δ (q, w) = pש־ כך w ∈ Σ∗ מילה

R (q) ={δ (q, w)

∣∣∣w ∈ Σ∗, |w| > 0}

עם אבל qמ־ אליהם להגיע שניתן Qב־ המצבים כל קבוצת זוהיקיימת אזי p ∈ R (q) אם כלומר, הריקה, המילה מלבד מילה כל

.δ (q, w) = p שמתקיים: כך ε 6= w ∈ Σ∗ מילהחיובי9 מאורך מעגל קיים כי , q ∈ R (q) ייתכן כי לזכור חשוב

.qל־ בחזרה נגיע w = 0 עבור אזי q

0

11 למשל: לעצמו. qמ־

.qל־ pמ־ מסלול יש ⇐⇒ p ∈ R0 (q)

.pל־ qמ־ חיובי מאורך מסלול יש ⇐⇒ p ∈ R (q)

.R0 (q) = R (q) ∪ {q} נכון: תמידמאורך מעגל שיש (במקרה R0 (q)−{q} = R (q) נכון: תמיד לא

חיובי).

(R0 (q) של (או R (q) של יעיל חישוב 9.4.2

:A של q ומצב A בהינתן

.R (q) ={δ (q, a)

∣∣∀a ∈ Σ}

.1

:p ∈ R (q) ולכל a ∈ Σ לכל .2

.R (q)ל־ p את הוסף אזי δ (p, a) /∈ R (q) אם (א)

.2 לצעד חזור ־ חדש מצב R (q)ל־ התווסף 2 בצעד אם .3

.R (q) את החזר .4

עצמו q את נוסיף (פשוט דומה ממש באופן נעשה R0 (q) חישובונחזיר).

הריקנות לבעיית יעיל פתרון 9.4.3

ונבדוק: R0 (q0) נחשב A = 〈Q,Σ, δ, q0, F 〉 DFA בהינתןריקה. אינה השפה ־ "כן" נחזיר אזי ־ Ro (q0) ∩ F 6= ∅ אם

ריקה. השפה ־ "לא" נחזיר ־ לא אם

DFAב־ להשגה ניתנים שאינם מצבים הסרת 9.4.4

ב־ שאינו q מצב כל מהאוטומט משמיטים ־ R0 (q0) מחשביםיוצאות או מצב לאותו שנכנסות הקשתות כל עם יחד R0 (q0)

ממנו.

הקשתות. מספר = המעגל 9אורך

12

Page 13: סיכום של הקורס אוטומטים ושפות פורמליות

שיבאןאוטומטים פרג' ד"ר

הסופיות לבעיית יעיל פתרון 9.4.5

ניתנים מצביו שכל A = 〈Q,Σ, δ, q0, F 〉 DFA יהי למה.L = L (A) ותהי להשגה

q ∈ R (q) שמקיים q ∈ Q מצב קיים ⇐⇒ אינסופית L אזי:.R0 (q) ∩ F 6= ו־∅

־:A = 〈Q,Σ, δ, q0, F 〉 DFA בהינתן

להשגה. ניתנים שאינם המצבים את Aמ־ נשמיט .1

ו־ q ∈ R (q) אם ונבדוק q ∈ Q לכל R (q) את נחשב .2.R0 (q) ∩ F 6= ∅

ונעצור. "כן" נחזיר כזה נמצא אם (א)

"לא". נחזיר .3

השקילות בעיית פתרון 9.4.6

A2 = A1 = 〈Q1,Σ, δ1, q1, F1〉 DFA־ים: שני נתונים.〈Q2,Σ, δ2, q2, F2〉

התחלתי מצב עם A2ו־ A1 של A מכפלה אוטומט נבנה .1סופיים: מצבים וקבוצת (q1, q2).F = (F1 − F2) ∪ (F2 − F1)

ריקה. L (A) אם נבדוק .2

"כן". נחזיר כן אם (א)

"לא". נחזיר לא אם (ב)

V חלק

רגולריות לשפות אלגברי אפיון.Σ∗ על שקילות יחסי על נדבר

ע"י: Σ∗ על Sו־ R שקילות יחס נגדיר למשל::(Σ = {a, b}) x, y ∈ Σ∗ עבור

.|x| = |y| ⇐⇒ xRy .1

.#a (x) = #a (y) ⇐⇒ xSy .2

:R היחס של השקילות מחלקות:α ∈ Σ עבור

[ε] , [α] ,[α2],[α3], ...

:i ≥ 1 ולכל [ε] = {ε} ]כאןαi]

={w ∈ Σ∗

∣∣∣ |w| = i}

:S היחס של השקילות מחלקות:α ∈ Σ עבור

[ε] , [α] ,[α2],[α3], ...

[ε] ={w ∈ Σ∗

∣∣∣#α (w) = 0}

כאן:

:i ≥ 1 ]לכלαi]

={w ∈ Σ∗

∣∣∣#α (w) = i}

שקילות יחסי עידון 10

.Σ∗ על שקילות יחסי R,S יהיו.R ⊆ S אם S של עידון הוא Rש־ אומרים.(xRy ⇒ xSy :x, y ∈ Σ∗ עבור (כלומר,

היא S של שקילות מחלקת כל ⇐⇒ S של עידון הוא R הערה:.R של שקילות מחלקות של איחוד

השקילות מחלקות קבוצת 11

־ Σ∗/R מסומנת: Σ∗ב־ R של השקילות מחלקות קבוצת

Σ∗/R =

{[x]∣∣∣x ∈ Σ∗

}:x, y ∈ Σ∗ שעבור לב נשים

xRy ⇐⇒ [x] = [y]

.(Σ∗/Rב־ השוויון (משמעות

שלמעלה: הדוגמאות בשתי ולמשל,

Σ∗/R =

{[ai] ∣∣∣i ≥ 0

}

(rank) שקילות מחלקות של (האינדקס) הדרגה 11.1

R של האינדקס) (או הדרגה נקראת Σ∗/R הקבוצה עוצמת.rank (R) ומסומנת:

על סופי מאינדקס יחס הוא Rש־ אומרים ,rank (R) < ∞ אםאינסופי). מאינדקס יחס Rהוא (אחרת, Σ∗

מאינדקס הן S וגם R גם שלמעלה הדוגמאות בשתי למשלתאינסופיץ

.R היחס של השונות השקילות מחלקות מספר = rank (R)

עידון R) R ⊆ S אם .Σ∗ על שקילות יחסי Sו־ R יהיו 11.1 למהrank (S) ≤ rank (R) אזי: (S של

של שקילות מחלקות של איחוד היא S של שקילות מחלקת כל (כי.(R

אזי , S = S1 ∪ S2ו־ R =⋃8i=1 ri שקילות: יחסי R,S למשל:

הינו: אפשרי (עידון) R ⊆ S

אך ?,- ∈ S2 ,☼,, ∈ S1 כאן במקרה.Rב־ אינו מהללו אחד אף

.S1∪S2ב־ נמצא x ∈ R כל ־ זאת לעומת

S1 : S2 :

r1 r2 r5 r6

r3 r4 r7 r8

☼ , ? -

13

Page 14: סיכום של הקורס אוטומטים ושפות פורמליות

שיבאןאוטומטים פרג' ד"ר

מימין אינווריאנטי יחס 12

.Σ∗ על שקילות יחס R תהיכל עבור מקיים, הוא אם מימין אינווריאנטי Rש־ אומרים

:x, y, z ∈ Σ∗

xRy ⇒ xzRyz

מימין. אינוריאנטים 10R,S ־ ממקודם שלנו בדוגמאותמימין: אינוריאנטי שאינו ליחס דוגמא

ברוורס). w המילה זאת ־ wR) x = yR ∨ x = y ⇐⇒ xRyמימין, אינוריאנטי אינו הוא אבל , {a, b}∗ על שקילות יחס זהו

למשל: כי.aba�Rbaa אבל abRba

שפה משמר יחס 13

שפה. L ⊆ Σ∗ ותהי Σ∗ על שקילות יחס R יהיעבור אם (L את מעדן R (או L את משמר Rש־ אומרים

:x, y ∈ Σ∗

.y ∈ L ⇐ x ∈ L ∧ xRy(y ∈ L⇔ y ∈ L) ⇐ xRy כך: זאת לנסח גם אפשר

.R של שקילות מחלקות של איחוד היא L ⇐⇒ קורה זה

באוטומט q ∈ Q מצב של שפה 14

מסמנים: q ∈ Q עבור DFA A = 〈Q,Σ, δ, q0, F 〉 יהי

L (q) ={w ∈ Σ∗

∣∣∣δ (q0, w) = q}

מהמצב האוטומט את שמעבירות Σ∗ב־ המילים כל אלו כלומר,.q למצב ההתחלתי

.q המצב שפת נקראת: L (q)ניתן שאינו מצב הוא q אםם קורה (זה L (q) = ש־∅ יתכן

להשגה)..L (p) ∩ L (q) = ∅ אזי p 6= q אם

כי: לב נשים

L (A) =⋃q∈F

L (q)

האוטומט שאותה השפה האוטומט, שפת ־ L (A) (תזכורת:מקבל).

הבא: באוטומט נסתכל למשל,

// q0

0

��1 // q1

1 //

0

��q2

0 //

1

q3

0,1

��q4

0,1

UU

הקודם. שבדף בשירטוט ולא בהתחלה שהיו לאלו 10הכוונה

הנ"ל: האוטומט של המצבים שפות אזי

L (q0) = 0∗

L (q1) = 0∗10∗

L (q2) = 0∗10∗1

L (q3) = 0∗10∗1(0 ((0 + 1) (0 + 1))

∗+ 1 (0 + 1) ((0 + 1) (0 + 1))

∗)L (q4) = 0∗10∗1

(1 ((0 + 1) (0 + 1))

∗+ 0 (0 + 1) ((0 + 1) (0 + 1))

∗)

r1 = נסמן: אזי q2, q4 הינם המקבלים והמצבים היות כעת,אזי: L (q2) , r2 = L (q4)

L (A) = r1 + r2 = L (q2) ∪ L (q4)

RLו־ R

Aחשובים שקילות יחסי שני 15

RA־ ראשון שקילות יחס 15.1

Σ∗ על RA יחס נגדיר .Σ מעל DFA A = 〈Q,Σ, δ, q0, F 〉 יהיהבא: באופן

:x, y ∈ Σ∗ עבור

δ (q0, x) = δ (q0, y) ⇐⇒ xRAy

לאותו אותנו מביאות אשר Σ∗ב־ מילים שתי לנו יש אם כלומר,מחלקות כלומר, שקילות. מחלקת באותה נמצאות שתיהן אזי מצבמצב, לאותו אותנו מביאות אשר המילים כל הינן RA של השקילותδ (q0, w) = qש־ כך Σ∗ב־ המילים כל יהיו q במחלקה כלומר,

המילה. זאת w כאשרלבדוק). (קל Σ∗ על שקילות יחס זהו .1

מימין. אינווריאנטי יחס זהו .2הינן: R

Aהיחס של השקילות מחלקות .3

: x ∈ Σ∗ עבור

[x] ={y ∈ Σ∗

∣∣∣xRAy}

=

y ∈ Σ∗∣∣∣ δ (q0, x)︸ ︷︷ ︸

=q

= δ (q0, y)

={y ∈ Σ∗

∣∣∣δ (q0, y) = q}

= L (q)

של המצבים שפות הינן RA

היחס של השקילות מחלקות כלומר,האוטומט.

קיבלנו:

[x] = L (q)

q = δ (q0, x)

של המצבים שפות הן RA

היחס של השקילות מחלקות לכן:ריקות. Aשאינן

השקילות מחלקות אזי להשגה, ניתנים שאינם מצבים Aב־ אין אם.A של המצבים כל שפות הן A של

14

Page 15: סיכום של הקורס אוטומטים ושפות פורמליות

שיבאןאוטומטים פרג' ד"ר

שנאמר מה סמך על אזי, .nב־ A של המצבים מספר את נסמן .4ש־ יודעים אנחנו ב־3

rank (A) ≤ n

אזי: להשגה, הניתנים מצבים Aב־ אין ואם

rank (A) = n

היא L כי ,L את (מעדן) משמר RA אז L = L (A) נסמן: .5כי: RA היחס של שקילות מחלקות של איחוד

L = L (A) =⋃q∈F

L (q)

Σ∗ =⋃q∈Q

L (q)

דוגמא:

להיות: A את ניקח

// q0

1

��0 // q1

1

��0 // q2

0,1

��

הינן: RA היחס של השקילות מחלקות

[ε] = L (q0) = 1∗

[0] = L (q1) = 1∗01∗

[00] = L (q2) = 1∗01∗0 (0 + 1)∗

הכי במילה השקילות מחלקת את לסמן בוחרים אנחנו הערה:.[ε] , [0] , [00] את בחרנו לפיכך מחלקה, באותה שיש קצרה

RL־ שני שקילות יחס 15.2

הבא: באופן Σ∗ על RLיחס נגדיר L ⊆ Σ∗ שפה עבור

x, y ∈ Σ∗ עבור:

∀z ∈ Σ∗ : (xz ∈ L⇔ yz ∈ L) ⇐⇒ xRLy

מילה קיימת אםם שקילות מחלקת באותה נמצאים x, y כלומר:להיות שיכולת (כמובן yz ∈ L וגם xz ∈ L שגם כך z ∈ Σ∗

כאלו). מילים מספרנוספת: בדרך R

Lהגדרת את ננסח

של הימני ההקשר , x ∈ Σ∗ ומילה L ⊆ Σ∗ שפה עבור הגדרה:ע"י: ומוגדר rc

L(x) מסומן: Lב־ x

rcL

(x) ={z ∈ Σ∗

∣∣∣xz ∈ L}:x, y ∈ Σ∗ עבור לראות קל כעת,

rcL

(x) = rcL

(y) ⇐⇒ xRLy

שלמעלה). ליחס שקולה הגדרה (זוהימימין. אינווריאנטי ויחס שקילות יחס הוא R

L

דוגמאות מספר 15.3

סופיות לשפות דוגמאות 15.3.1

.L = {a, ba, baa}ו־ Σ = {a, b} ניקח::R

Lשל השקילות מחלקות את נחשב

RL

היחס של השקילות מחלקות יהיו (השמאלי) הראשון בטורבניהן שיבדיל מה ,Σ∗ב־ המילים על בעצם הוא שלהם שאיחודלאותה שתגרום z ∈ Σ∗ המילה ־ rc

Lה־ כלומר הסיפא, הוא

בשפה. להיות השמאלי שבטור מילה(Σ∗ב־ המילים (כל x rc

L(x)

ε a+ ba+ baaa+ baa ε

b a+ aaba ε+ a

(aש־ היכן כזאת, מחלקה כבר (יש baa εהמילים שאר כל ∅

הכי המילה את לוקחים (תזכורת, הינן השקילות מחלקות לכןהשמאלי]): [הטור מחלקה מכל קצרה

[ε] [a] [b] [ba] [aa]

⇓ ⇓ ⇓ ⇓ ⇓

{ε} {a, baa} {b} {ba} ⊕

. המילים שאר כל ־ ⊕למשל, הימני, הטור זה השקילות מחלקות את לנו שקובע מהאפשר לשניהם היא שיקילות מחלקת באותה baaו־ aש־ הסיבההקצרה המילה זאת a והיות בשפה, יהיו שהם כדי ε רק להוסיף

המחלקה. את שתייצג בחרנו אותהשאם Σ∗ב־ היחידה המילה היא כי [b] = {b} המחלקה למשל

בשפה. תהיה היא z = a+ aa לה נוסיףשאם היחידה המילה זאת ־ כנ"ל סיבה מאותה [ba] = {ba} או:

בשפה. תהיה היא z = ε+ a לה נוסיףהשקילות. חלקות בין להפריד לנו עוזר הימני) (הטור rc

Lה־

לזכור: חשובהמילה ,z) סיפא אותה זאת השקילות מחלקות בין שמבדיל מהלשפה. תיכנס שהיא כדי xל־ מוסיפים שאנחנו מוסיפים) שאנחנואם לשתיהן כי baa עם שקילות מחלקת באותה נמצאת a למשל:

לא. אחרת בשפה, תישאר המילה ε רק נוסיףa וגם ε גם להוסיף, יכולים אנחנו ba למילה זאת, לעומתלא היא לכן בשפה, תישאר היא המקרים ובשני (z = a+ ε)

.a את εל־ בנוסף לה כי ,[a] השקילות ממחלקת חלקמחלקות בין להפריד בשביל rc

Lב־ שונה אחת מילה שיש מספיק

השקילות!ב־ :a המילה היא [a] , [ba] המחלקות מחלקת בין ההבדל למשל,את או להוסיף אפשר [ba]ב־ זאת ולעומת ,ε רק להוסיף נוכל [a]בשפה. תישאר הנ"ל השיקלות שבמחלקת המילים וכל a את או ε

אינסופיות לשפות דוגמאות 15.3.2

.L = 10∗1∗ ,Σ = {0, 1}הוא כאן (ההבדל L1 = 10∗ + כ־∗11∗10 זאת שפה על נחשובב־0 שמסתיימות המילים כל היא אחת אפשרות ־ המילה סוף.Lב־ ב־1 שמתסיימות המילים כל היא נוספת אפשרות L בשפה

.(L = L1

15

Page 16: סיכום של הקורס אוטומטים ושפות פורמליות

שיבאןאוטומטים פרג' ד"ר

:RLהיחס של השקילות מחלקות את נחשב

(Σ∗ב־ המילים (כל x rcL

(x)

ε 10∗ + 10∗11∗

10∗ 0∗ + 0∗11∗

10∗11∗ 1∗

0 (0 + 1)∗

+ 10∗11∗0 (0 + 1)∗ ∅

:RLהיחס של שקילות מחלקות 4 ישנן על־ען

[ε] [1] [11] [0]

⇓ ⇓ ⇓ ⇓

{ε} {10∗} {10∗11}{

0 (0 + 1)∗

+ 10∗11∗0 (0 + 1)∗}

לפחות מפרידה שקילות מחלקת כל שבין לכך לב לשים חשובמילה שיש ובודקים rc

L(x)ה־ על מסתכלים (כלומר, אחת מילה

אזי ־ כזאת מילה אין אם ־ המחלקות בין שמפרידה לפחות אחתשקילות). מחלקת באותה מדובר

למצוא צריך :(x) המחלקות של המילים את בונים איך לגבילא ו־∗0 ε למשל: שונות. שקילות מחלקות לנו יתנו מילים אילוניתן לכן ,({ε} ∈ 0∗ (כי שונות שקילות מחלקות לנו יניבו בהכרח

ההבדל. את ליצור כדי 00∗ לשים למשל

נוספת: דוגמאשמקבלת השפה זאת ־ L = (0 + 1)

∗1 (0 + 1) ,Σ = {1, 0}

היא מהסוף) (השנייה אחרונה לפני האחת שהאות המילים כל את.”1”

:RLהיחס של השקילות מחלקות את נחשב

(Σ∗ב־ המילים (כל x rcL

(x)

ε+ 0 + (0 + 1)∗

00 (0 + 1)∗

1 (0 + 1)1 + (0 + 1)

∗01 0 + 1 + (0 + 1)

∗1 (0 + 1)

(0 + 1)∗

10 ε+ (0 + 1)∗

1 (0 + 1)(0 + 1)

∗11 ε+ 0 + 1 + (0 + 1)

∗1 (0 + 1)

הינן: RLהיחס של השקילות מחלקות ולכן,

ביטוי). מכל קצרה הכי המילה את (לוקחים [ε] , [1] , [10] , [11]

שקילות מחלקות אינסוף אם אינסופית לשפה דוגמא 15.3.3

. L ={w ∈ Σ∗

∣∣∣#a (w) = #b (w)}

,Σ = {a, b}:x ∈ Σ∗ מילה עבור

rcL

(x) ={z ∈ Σ∗

∣∣∣#a (x) + #a (z) = #b (x) + #b (z)}

={z ∈ Σ∗

∣∣∣#a (z)−#b (z) = #b (z)−#a (z)}

הינן: RLשל השקילות מחלקות לכן,

...,[b3],[b2], [b] , [ε] , [a] ,

[a2],[a3], ...

כאשר:

[ε] ={x ∈ Σ∗

∣∣∣#a (x) = #b (x)}:i ≥ 1 ]ולכל

ai]

={x ∈ Σ∗

∣∣∣#a (x)−#b (x) = i}

[bi]

={x ∈ Σ∗

∣∣∣#b (x)−#a (x) = i}

אינסופי. (מדרגה) מיחס היא RAזאת בדוגמא

A = 〈Q,Σ, δ, q0, F 〉 ויהי ,Σ מעל רגולרית Lשפה תהי 15.1 למהאזי: L את שמזהה DFA

RA⊆ R

L

הלמה: מנתוני מסקנה

rank (RA

) ≤ rank (RL

)

מייהיל־נרוד משפט 16

(Myhill�Nerode theorem)אזי: שפה. L ⊆ Σ∗ ותהי א"ב Σ ��יהי ��rank (RL) <∞ ⇐⇒ רגולרית L

רגולרית. היא ששפה להוכיח לנו עוזר זה משפט־ R

Lשקילות מחלקות של סופי מספר שישנם מראים אנחנו אם

רגולרית. היא השפה אזי

מינימלי DFA אוטומט בניית 16.1

השקילות, מחלקות את ומצאנו סופי האוטומט כי שגילינו אחרימצבים מספר עם L השפה את שמזהה DFA אוטומט לבנות ניתן

הבא: באופן מינימליסופית: בקבוצה מדובר כלומר ־ rank (R

L) <∞ כי לנו נתון

נבנה: אזי

AL

= 〈Q,Σ, δ, q0, F 〉

(קבוצה RL

של השקילות מחלקות קבוצת ־ Q = Σ∗/L •

סופית).

.ε של השקילות מחלקת ־ qo = [ε] •

שהנציג השקילות מחלקות כל כלומר, ־ F ={

[x]∣∣∣x ∈ L} •

.(x ∈ L) Lב־ x שלהם

המעברים: פונקציית •

δ : Q× Σ→ Q

δ ([x] , a) = [xa]

מילה: עבור גם תקף וזה

∀w ∈ Σ∗, [x] ∈ Q :

δ ([x] , w) = [xw]

16

Page 17: סיכום של הקורס אוטומטים ושפות פורמליות

שיבאןאוטומטים פרג' ד"ר

שהיו השפות של לדוגמאות המינמליים האוטומטים את נראה:(R

Lהיחס של השקילות מחלקות (ע"פ מקודם

:L = {a, ba, baa}

[a]aa // [aa]

0,1

��

// [ε]

a99

b %%[b]

a//

b

AA

[ba]

b

OO

a

]]

:L = 10∗1∗ = 10∗ + 10∗11

[1]1

&&

0

��

// [ε]

199

0 %%

[11]

1

��

0xx[0]

0,1

XX

:L = (0 + 1)∗

1 (0 + 1)

[10]

1ss// [ε]

0

��1 // [1]

033

1 &&[11]

0

OO

1

XX

מייהיל־נרוד משפט באמצעות להוכחה דוגמא 16.2רגולרית אינה ששפה

רגולרית. אינה L ={

0n1n∣∣∣n ≥ 0

}השפה כי נוכיח

שקילות מחלקות של אינסופי מספר שיש להראות מספיק הוכחה:ואכן: ,R

Lהיחס של

.bi /∈ rcL

(aj)אבל bi ∈ rc

L

(ai)(כי ai��RL

aj :i 6= j לכלו־[ai]השקילות מחלקות שתי בין מפרידה מילה היא bi כלומר,

.([aj]

ביחס שונות שקילות מחלקות הן [ε] , [a] ,[a2],[a3], ... לכן:

מייהיל־נרוד משפט ע"פ ולכן אינסופי מאינדקס הוא RLלכן ,R

L

רגולרית. אינה L

VI חלק

DFA אוטומט של מינימיזציהאת שבנינו כך ע"י L לשפה מינימלי אוטומט בנינו מקודםלבניית מסובכת פחות קצת דרך נראה כעת ,A

Lהאוטומט

.ALשל לזה זהה מצבים מספר עם L את שיזהה אוטומט

להפרדה ניתנים מצבים 17

.p, q ∈ Q כאשר כלשהו, DFA A = 〈Q,Σ, δ, q0, F 〉 יהיהבא: באופן 11Q על E יחס נגדיר

: ∀z ∈ Σ∗

(δ (p, z) ∈ F ⇔ δ (q, z) ∈ F ) ⇐⇒ : pEq

משנה זה אין z ∈ Σ∗ מילה כל שעבור היא שהמשמעות לב נשיםשלא. או משניהם תתקבל שהיא או ־ qב־ או pב־ אנחנו אם

שקולים). qו־ p) .qל־ שקול pש־ אומרים pEq אםשקילות. למחלקות אותו שמחלק Q על שקילות יחס הוא Eלהפרדה. ניתנים qו־ pש־ אומרים שקולים אינם qו־ p אם

כך w ∈ Σ∗ מילה קיימת ⇐⇒ להפרדה ניתנים qו־pלהפך). (או δ (q, w) /∈ L∧δ (p, w) ∈ Lש־

מפרידה. מילה נקראת כזאת w מילהדוגמא:

A = q1

1

��

1

&&// q0

088

1 &&

q3

0,1

��

q2

0

YY

1

88

:z ∈ Σ∗ עבור כי ־ q1Eq2

.(δ (q1, z) ∈ F ⇔ δ (q2, z) ∈ F ) ⇐⇒ z ∈ 0∗1 (0 + 1)∗

(למשל). ”1” מפרידה מילה ־ q0�Eq1

(למשל). ”1” מפרידה מילה ־ q0�Eq2

(למשל). ”ε” מפרידה מילה ־ q1�Eq3

ולקבל אחד למצב Aב־ השקולים המצבים שני את לצמצם ניתןיותר: קטן מצבים מספר עם Aל־ שקול אוטומט

// q00,1 // q1,2

0

��1 // q3

0,1

��

היא: שלהם השפה ־ שקולים האוטומטים שני.(0 + 1) 0∗1 (0 + 1)

מילים. על ולא מצבים על יחס שזהו לכך לב לשים 11חשוב

17

Page 18: סיכום של הקורס אוטומטים ושפות פורמליות

שיבאןאוטומטים פרג' ד"ר

A של הצימצום אוטומט בניית 18

A′ אוטומט נבנה ,A = 〈Q,Σ, δ, q0, F 〉 DFA אוטומט בהינתןהבא: באופן "A של "הצמצום הנקרא

A′ = 〈Q′,Σ, δ′, q′0, F ′〉

כאשר:

.E היחס של השקילות מחלקות קבוצת ־ Q′ = Q/E •.Q′ =

{[q]∣∣∣q ∈ Q}.q′0 = [q0] •

המקבלים המצבים כל לא (הערה: F ′ ={

[q]∣∣∣q ∈ F} •

מחלקות כל כלומר שקילות). מחלקת באותה להיות חייבים.F של השקילות

:δ′ לגבי •

δ′ : Q′ × Σ→ Q′

δ′ ([q] , a) = [δ (q, a)] , (∀a ∈ Σ)

:w ∈ Σ∗ מילה עבור גם δ′ את להרחיב שניתן וכמובן.δ′ ([q] , w) = [δ (q, w)]

נקרא שקולים שונים מצבים בו שאין DFA אוטומט 18.1 הגדרהמתקיים: אםם מצומצם הוא אוטומט מצומצם. אוטומט

.p = q ⇐ pEq :p, q ∈ Q כל עבור

DFAב־ שקולים מצבים לזוהי אלגוריתם 18.1

A = 〈Q,Σ, δ, q0, F 〉 נתוןנסמן: p, q ∈ Q שונים מצבים שני כל עבור מקדים: שלב

∆ (p, q) = ∅

אזי ההפך) (או p /∈ F ∧ q ∈ F אם :p 6= q לכל .1.∆ (p, q) = ε

ולכל ∆ (p, q) = ∅ שעבורם p, q שונים מצבים שני כל עבור .2האם: בודקים a ∈ Σ

∆ (δ (p, a) , δ (q, a)) 6= ∅

מסומן. זה ־ כלומר

(נפסיק הבא לזוג ונעבור ∆ (p, q) = a ־ נסמן כן: אם (א)הזה). הזוג עבור לחפש

חדש, מצבים זוג לפחות סומן 2 צעד של האחרון בביצוע אם .3ל־2. חזור אז

∆ (p, q) = ∅ שעבורם p, q שונים מצבים זוג כל על הכרז .4ועצור. שוקלים כמצבים

באלגוריתם לשימוש דוגמא 18.1.1

הבא: האוטומט את ניקח

q1

1

�� 0**q3

1

��

0

jj

// q0

066

1 ((q2

1

OO

0

YYq4

0oo

1

bb

אחד תא שמכילה טבלה שבונים בכך האלגוריתם את מיישמיםשכבר תאים זה השחור הריבוע עם (תאים שונים: מצבים זוג לכל∆ (p, q) כאשר ∅ פירושו ריק תא וכל בטבלה, תא שלהם לזוג יש

התא). תוכן =

q1 � � �q2 � �q3 �q4

q0 q1 q2 q3

ε ההפך) (או q /∈ F ו־ p ∈ F ש־ כך מצבים זוג לכל נשים כעתבתא:

q1 � � �q2 ε ε � �q3 �q4 ε ε ε

q0 q1 q2 q3

ש־ ונראה a = 0 ניקח :(q0, q1)מ־ נתחיל.∆ (δ (q0, 0) , δ (q1, 0)) = ∆ (q1, q3) = ∅

לחפש: להמשיך נצטרך האלגוריתם ע"פ לכן.∆ (δ (q0, 1) , δ (q1, 1)) = ∆ (q2, q1) = ε:∆ (q0, q1) = 1 ולכן ־ ריק אינו התא זהו!

q1 1 � � �q2 ε ε � �q3 �q4 ε ε ε

q0 q1 q2 q3

כי: לב נשים :(q0, q3)ל־ נעבור כעתלכן מצב לאותו והגענו ־ ∆ (δ (q0, 0) , δ (q3, 0)) = ∆ (q1, q1)

ריק. זה את נשאירלמצב הגענו כאן גם ־ ∆ (δ (q0, 1) , δ (q3, 1)) = ∆ (q2, q4) = ∅

ריק). (במצב ∆ (q0, q3) = ∅ את נשאיר לכן ריק.

18

Page 19: סיכום של הקורס אוטומטים ושפות פורמליות

שיבאןאוטומטים פרג' ד"ר

:(q1, q3)ל־ נעבור כעתנמשיך ולכן ־ ∆ (δ (q1, 0) , δ (q3, 0)) = ∆ (q3, q1) = ∅

הלאה...∆ (q1, q3) = 1 ולכן ∆ (δ (q1, 1) , δ (q3, 1)) = ∆ (q1, q4) = ε

הטבלה: את ונעדכן

q1 1 � � �q2 ε ε � �q3 1 �q4 ε ε ε

q0 q1 q2 q3

:(q2, q3)ל־ נעבור.∆ (q2, q3) = 0 ולכן ∆ (δ (q2, 0) , δ (q3, 0)) = ∆ (q2, q1) = ε

q1 1 � � �q2 ε ε � �q3 1 0 �q4 ε ε ε

q0 q1 q2 q3

:(q2, q4) הזוג על נסתכל כעת,q2ל־ בשניהם נגיע 0 עבור (כי ∅ נקבל המקרים בשני כי לב נשים

.(q1ל־ בשניהם נגיע 1 ועבורשהיא. כמו הטבלה את נשאיר אנחנו ולכן

הינה: הסופית הטבלה

q1 1 � � �q2 ε ε � �q3 1 0 �q4 ε ε ε

q0 q1 q2 q3

על E היחס של השקילות מחלקות כלומר ,q0Eq3, q2Eq4 ולכן:הינן: Q

. [q0] = {q0, q3} , {q1} = [q1] , {q2, q4} = [q2]:A של הצמצום אוטומט את נבנה כעת,

// [q0]1 //

0

[q2]

0

��

1

yy[q1]

1

XX

0

``

ולכן להשגה, ניתנים שאינם מצבים ישנם Aשב־ ייתכן 18.2 הערהשאינם מצבים ישנם (A של הצמצום (אוטומט A′ב־ שגם יתכןמורכבת A DFA אוטומט של מינימיזציה לכן, להשגה. ניתנים

שלבים: משני.Aב־ להשגה ניתנים שאינם מצבים הסרת א.

שנשאר. האוטומט צמצום ב.

L את שמזהה A′ DFA נותנת A DFA אוטומט של מינימיזציה.A את שמזהים האוטומטים כל מבין מינימלי והוא

.ALאת נותן זה למעשה

אוטומטים בין איזומורפיזם 19

יהיו הגדרה:

A1 = 〈Q1,Σ, δ1, q1, F1〉A2 = 〈Q2,Σ, δ2, q2, F2〉

DFA־ים. שניקיימת אם A1

∼= A2 ורושמים A2ל־ איזומופרי A1 ש אומריםההתחלתי, המצב על ששומרת f : Q1 → Q2 ועל חח"ע פונקציהכלומר, המעברים, פונקציית על ושומרת סופיים מצבים על שומרת

שמקיימת: פונקציה

.f (q1) = q2 .1

:q ∈ Q1 עבור .2.f (q) ∈ F2 ⇐⇒ q ∈ F1

.a ∈ Σ ולכל q ∈ Q1 לכל ,δ2 (f (q) , a) = f (δ1 (q, a)) .3

המינימלי האוטומט יחידות משפט 19.1

ניתנים מצביו שכל מצומצם DFA A = 〈Q,Σ, δ, q0, F 〉 יהיאזי: ,L = L (A) ותהי להשגה

A ∼= AL

של הנושא סוףאוטומטים!!

19

Page 20: סיכום של הקורס אוטומטים ושפות פורמליות

שיבאןאוטומטים פרג' ד"ר

VII חלק

ושפות הקשר חסרי דקדוקיםהקשר חסרות

(CFG) הקשר חסרי דקדוקים 20

הגדרות 20.1

כאשר: G = 〈V,Σ, P,A〉 רבייעיה: זוהי הקשר חסר דקדוק

משתנים נקראים שערכיה ריקה לא סופית קבוצה היא ־ V •ב: הקבוצה אברי את לסמן נהוג משתנים, או: דקדוקיים

.A,B,C, ...

נקראים שאריה V ל־ וזרה ריקה לא סופית, קבוצה היא ־ Σ •הקבוצה אברי את לסמן נהוג אותיות. או: טרמינליים סימנים

.a, b, c, ... ב:

,(G של השכתוב כללי (או: הגזירה כללי קבוצת היא ־ P •מדובר כלומר, ,V × (V ∪ Σ)

∗ לקבוצה חלקית קבוצה זוהיאת .α ∈ (V ∪ Σ)

ו־∗ A ∈ V כאשר (A,α) סדורים בזוגות.A→ α הבאה: בצורה לרשום נהוג (A,α) הגזירה כלל

ההתחלתי המשתנה נקרא אשר V ב־ מיוחד איבר הינו ־ S •.G של

:P לגבילהיות: יכולים P אברי אזי V = {S,A} ,Σ = {a, b, c} נניח אם

(S, aSa) ⇔ S → aSa

(A,AaS) ⇔ A→ AaS

(S, aAbc) ⇔ S → aAbc

(S, a) ⇔ S → a

אזי ,V ב־ כלשהו איבר עבור אפשרויות משתי יותר לנו יש כאשרהנ"ל: הדוגמא עבור למשל, ב־"או", זאת לציין נהוג

S → aSa∣∣∣aAbc∣∣∣a

אחת רק לבחור יכולים אנחנו (כלומר, "או" מסמל המפריד והקומהאפשרויות).

כללי ובאופן בדקדוק, סימן נקרא V ∪Σ הקבוצה של איבר •.X,Y, Z, ... ב: אותו מסמנים

(aAbSA (למשל: פסוקית תבנית נקראת (V ∪ Σ)ב־∗ מילה •

.(abaac (למשל: טרמינלית. מילה נקראת Σ∗ב־ ומילה.α, β, γ, ... ב: פסוקיות תבניות נסמן.u, v, w, ... ב: טרמינליות מילים נסמן

פסוקיות. תבניות הם טרמינלית מילה וכל סימן שכל כמובן

גזירה הגדרות 20.1.1

לגזירה ניתנת ψש־ אומרים .ϕ,ψ ∈ (V ∪ Σ)∗ תהיינה •

ורושמים: G בדקדוק ϕמ־ ישירה

ϕ⇒G

ψ

גזירה כלל הוא A→ α ו־ ψ = βαγו־ ϕ = βAγ אם.P ב־

הדקדוק, ידוע אם כמו־כן, בלבד, אחד מעבר על כאן (מדוברמהסימן Gה־ את להשמיט אפשר אזי למשל, אחד רק יש כי

הנ"ל).

ורושמים: G בדקדוק 12ϕמ־ גזירה ψש־ אומרים •

ϕ⇒G

∗ ψ

פסוקיות תבניות של סופית סדרה קיימת אםϕn = ψ ,ϕ = ϕ0ש־ כך ϕ1, ..., ϕn ∈ (V ∪ Σ)

:0 ≤ i < n ולכל

ϕi ⇒G

ϕi+1

(או: גזירה סדרת נקראת כזאת פסוקיות תבניות סדרת.G בדקדוק n מאורך גזירה)

צעדים nב־ ϕמ־ לגזירה) ניתנת (או: גזירה ψש־ נאמר •ונרשום:

ϕ⇒G

n ψ

ש־ כך ϕ1, . . . , ϕn :n מאורך גזירה סדרת קיימת אם.ψ = ϕnו־ ϕ = ϕ1

הנ"ל: ההגדרות שלפי לב נשים •

.ϕ = ψ ⇐⇒ ϕ⇒G

0 ψ J

.ϕ⇒G

ψ ⇐⇒ ϕ⇒G

1 ψ J

.n ≥ 0 עבור ϕ⇒G

∗ ψ ⇐⇒ ϕ⇒G

n ψ J

מהמשתנה לגזירה היתנת φ ∈ (V ∪ E)∗ פסוקית תבנית •

נקראת: S ⇒G

∗ φ כלומר: (G הדקדוק (של S ההתחלתי

.G של פסוקית תבנית

מקיימת: אשר w ∈ Σ∗ מילה היא G של טרמינלית מילה •.S ⇒

G

∗ w

ϕמ־ לגזירה ניתנת ψ 12או:

20

Page 21: סיכום של הקורס אוטומטים ושפות פורמליות

שיבאןאוטומטים פרג' ד"ר

מסומנת G = 〈V,Σ, P, S〉 הקשר חסר דקדוק של השפה •ע"י: ומוגדרת L (G)ב־

L (G) =

{w ∈ Σ∗

∣∣∣S ⇒G

∗ w

}

היא הכוונה אזי L את יוצר שהוא G דקדוק על שאומרים •.L (G) = Lש־

(CFL) הקשר חסרת שפה נקראת L ⊆ Σ∗ כאשר L שפה •אותה. שיוצר G = 〈V,Σ, P, S〉 הקשר חסר דקדוק קיים אם

אם שקולים דקדוקים הם G1, G2 שהדקדוקים אומרים •השפה. אותה את יוצרים הם כלומר, ־ L (G1) = L (G2)

ל־ חלקי דקדוק הוא G1 = 〈V1,Σ1, P1, S1〉ש־ אומרים •אם: G2 = 〈V2,Σ2, P2, S2〉

.V1 ⊆ V2 J

.Σ1 ⊆ Σ2 J

.P1 ⊆ P2 J

.S1 = S2 J. L (G1) ⊆ L (G2) מתקיים: זה שבמקרה כמובן

הקשר חסרות שפות של סגירות תכונות 20.2

שני G2 = 〈V2,Σ, P2, S2〉ו־ G1 = 〈V1,Σ, P1, S1〉 יהיו:L (G2) = L2 ,L (G1) = L1 נסמן: הקשר. חסרי דקודקים

..13V1 ∩ V2 = ∅ כי נניח בה"כ

השפות את שיוצרים הקשר חסרי דקודקים של בניות נתאר כעת.L∗1 ,L1L2 , L1 ∪ L2 הנ"ל:

כלומר, חדש, סימן הוא V ב־ שנגדיר Sה־ הסעיפים שלושת בכלעצמו. לדקדוק ספציפי סימן הוא

L1 ∪ L2 20.2.1

G = 〈V1 ∪ V2 ∪ {S} ,Σ, P1 ∪ P2 ∪ {S → S1, S → S2} , S〉

הינו: הנ"ל בדקודק P כלומר,

S → S1

∣∣∣S2

P1 → ...

P2 → ...

.L1 ∪ L2 את יוצר זה דקדוק

מהקבוצות באחת אותו נחליף פשוט הקבוצות בשתי שמופיע סימן ישנו 13אם

יתקיים. שהתנאי כך

L1L2 20.2.2

G = 〈V1 ∪ V2 ∪ {S} ,Σ, P1 ∪ P2 ∪ {S → S1S2} , S〉

הינו: הנ"ל בדקודק P כלומר,

S → S1S2

P1 → ...

P2 → ...

.L1L2 את יוצר זה דקדוק

L∗1 20.2.3

G = 〈V1 ∪ {S} ,Σ, P1 ∪ {S → S1S, S → ε} , S〉

הינו: הנ"ל בדקודק P כלומר,

S → S1S∣∣∣ε

P1 → ...

.L∗1 את יוצר זה דקדוק

סגורות ,Σ א"ב מעל ההקשר חסרות השפות משפחת 20.1 משפטהרגולריות). לפעולות (כלומר, ואיטרציה שירשור לאיחוד,

הקשר חסרות לשפות דוגמאות 20.3

הקשר: חסרות לשפות דוגמאות שתי על נסתכל.Σ = {a, b} המקרים: בשני

L = ־ כלומר ,aב־ שמסתיימות המילים כל ־ ראשונה דוגמה

:{w ∈ L

∣∣∣w = (a+ b)∗a}

G = 〈{S} , {a, b} , {S → a, S → aS, S → bS} , S〉

הינן: בשפה הגזירה כללי כלומר,

S → aS∣∣bS∣∣a

גזירה: כללי סדרת באמעצות bbaa המילה: את למשל נגזור

S ⇒ bS ⇒ bbS ⇒ bbaS ⇒ bbaa

.Sה־ במקום אותו ושמנו גזירה בכלל השתמשנו פעם בכל:N 3 n ≥ 0 עבור anbn ־ מהצורה המילים כל ־ שנייה דוגמא

G = 〈{S} , {a, b} , {S → ε, S → aSb, } , S〉

S → aSb∣∣ε

21

Page 22: סיכום של הקורס אוטומטים ושפות פורמליות

שיבאןאוטומטים פרג' ד"ר

גזירה עצי 21

סדרת באמצעות רק לא הקשר חסר בדקדוק מילה לגזור ניתןעץ. באמצעות למשל אלא גזירה

נוכל אזי הראשונה מהשפה aba המילה את לגזור נרצה למשל אםכזה: עץ ליצור

S

{{ ��a S

{{ ��b S

��a

המקרים: שני בין להבדל כללי באופן לב נשים

אזי B → abו־ A → a∣∣b הבאים: הגזירה כללי את לנו יש אם

כך: יראו הגזירה עצי

A

��

A

��

B

��a b ab

עץ איזה לבחור צריכים אנחנו A של שבמקרה לב לשים חשובהאפשרויות. משתי רוצים אנחנו

פורמליות הגדרות 21.1

גזירה עץ הקשר. חסר דקודק G = 〈V,Σ, P, S〉 יהי 21.1 הגדרהב־ נסמנו אשר הבאות הדרישות את המקיים מכוון14 עץ זהו Gב־

:T

או X ∈ V ∪ Σ הדקדוק של בסימן מסומן בעץ צומת כל .1.εב־

.(G של ההתחלתי (המשתנה Sב־ מסומן העץ של השורש .2

איבר הוא עלה) שאינו (קודקוד פנימי צומת כל של הסימן .3דקדוקי). (משתנה V של

כי ייתכן לא (כלומר, יחיד צומת הוא εב־ שמסומן צומת כל .4אח). יהיה מוצת לאותו

A של הבנים אם :(A ∈ V ) Aב־ המסומן פנימי צומת לכל .5(הוא A → X1X2 · · ·Xn ∈ P אזי X1, X2, · · · , Xn הם

גזירה). כלל

הערות: כמה

עלה. הוא טרמינלי בסימן או εב־ שמסומן בעץ צומת כל •טרמינלי. שאינו בסימן מסומן להיות יכול עלה אבל

העץ חזית 21.1.1

הסדר לפי T של העלים סימני שירשור ע"י המתקבלת המילה •העץ. חזית נקראת לימין) (משמאל שלהם הטבעי

(V ∪ Σ)ב־∗ מילה כלומר, פסוקית, תבנית היא העץ חזית •.Sמ־ לגזירה ב־Gהניתנת פסוקית תבנית גם וזוהי

מילה היא אזי דקדוקי, משתנה מכילה אינה העץ חזית אם •.w ∈ L (G)ו־ w ∈ Σ∗ טרמינלית

מלא. גזירה ־עץ נקרא טרמינלית מילה היא שלו שהחזית עץ •

שלו שהחזית T יחיד גזירה עץ קיים w ∈ L (G) מילה לכל •:w ∈ Σ∗ טרמינלית מילה עבור לכן, .w המילה היא

שילת G בדקדוק מלא גזירה עץ קיים ⇐⇒ w ∈ L (G).w היא שלו החזית

משמעיות ורב משמעיות חד 21.1.2

מילה, לאותה גזירה מעץ יותר יש מסוים שבדקדוק ייתכן •לכל אם חד־משמעי דקדוק נקרא G הקשר חסר דקדוק לכןהמילה היא שחזיתו T יחיד גזירה עץ קיים w ∈ L (G) מילה

רב־משמעי. נקרא הדקדוק אחרת .w

קנוניות גזירות 21.1.3

ותהיינה הקשר חסר דקדוק G = 〈V,Σ, P, S〉 יהי 21.2 הגדרהמ־ ψל־ להגיע ניתן (כלומר ϕ ⇒

G

ψ כי ונניח ϕ,ψ ∈ (V ∪ Σ)∗

ψ = χαρו־ ϕ = χAρ ההגדרה: לפי אזי (Gב־ אחת גזירה ϕע"י.χ, ρ ∈ (V ∪ Σ)

ו־∗ A→ α ∈ P כאשר,χ ∈ Σ∗ אם ביותר שמאלית גזירה היא ϕ⇒

G

ψש־ אומרים

.ρ ∈ Σ∗ אם ביותר ימנית גזירה היא ϕ⇒G

ψש־ ואומרים

"מבוא של בסיכום למצוא ניתן בפרט, מכוונים עצים ועל עצים על נוסף 14מידע

א'). (שנה המחשב" מדעי של לתאוריה

22

Page 23: סיכום של הקורס אוטומטים ושפות פורמליות

שיבאןאוטומטים פרג' ד"ר

רגולריים דקדוקים 22

ימני לינארי דקדוק 22.1

G = הקשר חסר דקדוק הוא ימני לינארי דקדוק 22.1 הגדרההבאות: מהצורות אחת הם בו הגזירה כללי ,V,Σ〉שכל P, S〉

:a ∈ Σו־ A,B ∈ V עבור:

.A→ aB .1

.A→ a .2

(וזה כמובן אחד כלל רק להיות יכול הזה מהסוג ־ S → ε .3.(ε ∈ L (G)ש־ אומר

א"ב. Σ יהי 22.2 משפטימני לינארי דקדוק קיים ⇐⇒ רגולרית שפה היא L ⊆ Σ∗ שפה

.L = L (G)ש־ כך G

למשל:הבאה: השפה את ניקח

המילים כל כלומר, L ={w ∈ (0 + 1)

∗∣∣∣w = 1 (0 + 1)

∗0}

.Σ = {0, 1} כאשר ב־0 ומסתיימות ב־1 שמתחילותהנ"ל: השפה של ימני רגולרי דקדוק

S → 1A

A→ 0A∣∣1A∣∣0

הקשר. חסרת שפה היא רגולרית שפה כל 22.3 מסקנה

הקשר חסרות לשפות הניפוח למת 23

הניפוח ללמת דומה מאוד הקשר חסרות לשפות הניפוח למתובניסוח. המילה של בפירוק קל שינוי עם אבל ,(3 (בחלק הקודמת

הלמה: ניסוחטבעי מספר קיים אזי .Σ א"ב מעל הקשר חסרת שפה L תהייש |w| ≥ n המקיימת w ∈ L מילה שלכל כך הניפוח) (קבוע nומתקיימות x, u, z, v, y ∈ Σ∗ כאשר w = xuvzy מהצורה פירוק

הבאות: הדרישות שלושת

.|uzv| ≤ n .1

.|uv| > 0 .2

.xuizviy ∈ L מתקיים: i ≥ 0 לכל .3

הבא: הדבר את לזכור כדאי המילה את לפרק איך לזכור בשבילוכעת xu− vy כלומר ,u− v לנו יש x− yה־ בתוך ,x− y לנו יש

.xuzvy סה"כ: ,z לנו יש אלה כל בתוךטוב...) זה את זוכרים זה את מתרגלים שקצת (אחרי

אינה ששפה להראות הוא כאן הרעיון הוקדמת הניפוח בלמת וכמושני בעוד מתקיים לא השלישי שהכלל מראים שאנחנו בכך ח"ה

מתקיימים. האחרים הכלליםכמו n עם ספציפית! (מילה בשפה כלשהי מילה בוחרים אנחנוומראים ח"ה שהשפה בשלילה מניחים ואז הקודמת) הניפוח בלמת

השלישית. הדרישה את סותר זה מסוים, i עבור כיצד,

הקשר חסרי דקדוקים פישוט 24

מיותרים סימנים הסרת 24.1

.X ∈ V ∪ E יהי 24.1 הגדרהמילה קיימת אם (G (בדקדוק טרמינלית מילה גוזר Xש־ אומרים

.X ⇒G

∗ wש־ כך w ∈ Σ∗

קיימות אם (G (בדקדוק להשגה ניתן סימן הוא Xש־ אומריםבאיזו מופיע X (כלומר, S ⇒

G

∗ αXβש־ כך α, β ∈ (V ∪ Σ)∗

הדקדוק) של פסוקית תבנית

טרמינלית. מילה גוזר טרמינלי סימן כל ־ ההגדרה לפי 24.2 הערההסימן Gב־ אם להשגה. הניתן סימן תמיד הוא S כמו־כן

.L (G) = ∅ אזי: טרמינלית מילה גוזר אינו S ההתחלתי

סימנים אותם להסיר הדרך את נציג הבאים באלגוריתם לכן,הדקדוק. את לנו יפשטו אשר מיותרים

מילה גוזרים שאינם סימנים להסרת אלגוריתם 24.2טרמינלית

מדובר לכן טרמינלית מילה גוזר טרמינלי סימן שכל נזכורמילה גוזרים שאינם דקדוקיים משתנים על רק הזה באלגוריתם

טרמינלית.a, b ∈ Σ (כאשר A→ aA

∣∣bA כזה גזירה כלל לנו יש אם למשל,אינו שהוא מכיוון להשגה ניתן שאינו סימן הוא A אזי (A ∈ V ו־

טרמינלית. מילה גוזר.G = 〈V,Σ, P, S〉 ח"ה דקדוק קלט:

הצגת או ריקה היא הדקדוק) (שפת L (G)ש־ הכרזה פלט:אשר טרמינלית מילה גוזר בו סימן שכל G′ = 〈V ′,Σ, P ′, S〉

.L (G′) = L (G) מקיים:

:V ′ חישוב .1

(כלומר, V ′ ={A ∈ V

∣∣∃w ∈ Σ∗, A→ w ∈ P}

(א)המשתנים כל את V ל־′ מכניסים אנחנו הזה בשלב

טרמינלית). מילה גוזרים אשר (∈ V ) הדקדוקיים

α ו־∋ B ∈ V \V ′ כאשר B → α ∈ P אם (ב)B /∈ V ′ לכל (כלומר, V ל־′ B את צרף (V ′ ∪ Σ)

מאותיות שמורכבת למילה מפנה הוא אם B ∈ V אבלל־ B את נצרף אזי V מ־′ דקדוקיים משתנים או Σמ־

.(V ′

.V ל־′ חדשים איבירם מתווסים עוד כל (ב) על נחזור (ג)

:S ∈ V ′ האם נבדוק לבסוף, (ד)

רוצת את ועוצרים L (G) = ש־∅ מכריזים ־ לא .iהבא). לשלב ממשיכים (לא האלגוריתם

הבא: לשל ממשיכים ־ כן .ii

:P ′ חישוב .2

משתנה בהם שמופיע הגזירה כללי כל את P מ־ נסיר (א)כלומר: B ∈ V \V ′

.P ′ ={A→ α ∈ P

∣∣∣A ∈ V ′, α (V ′ ∪ Σ)∗}

.G′ = 〈V ′,Σ, P ′, S〉 את החזר (ב)

23

Page 24: סיכום של הקורס אוטומטים ושפות פורמליות

שיבאןאוטומטים פרג' ד"ר

להשגה ניתנים שאינם סימנים להסרת אלגוריתם 24.3

Σ = {a, b, c} עבור למשל:

S → aS∣∣Aa

A→ a∣∣Ab∣∣b

B → aA∣∣c

בשום אליו להגיע ניתן לא (כי להשגה ניתן שאינו מצב הוא B אזי(כי להשגה ניתן שאינו טרמינלי סימן הוא c כן וכמו גזירה) סדרת

אותו). שמכילה מילה שום לגזור ניתן לא.G = 〈V,Σ, P, S〉 ח"ה דקדוק הקלט:

X ∈ סימן שכל כך G′ = 〈V ′,Σ′, P ′, S〉 ח"ה דקדוק הפלט:.L (G) = L (G′)ו־ להשגה ניתן V ′ ∪ Σ′

:Σ′ו־ V ′ בניית .1

.Σ = ∅ ,V ′ = {S} (א)

משתנה כל V ל־′ צרף A ∈ V ו־′ A → α ∈ P אם (ב)סימן כל Σ′ל־ וצרף V ב־′ ואינו αב־ המופיע דקדוקי

.Σ′ב־ שאינו αב־ טרמינליש־ כך α ∈ (V ∪ Σ)

∗ ו־ A ∈ V ′ כל עבור (כלומר,אינם αב־ סימנים אילו רואים אנחנו A → α ∈ P

בהתאם). Σ′ו־ V ל־′ אותם ונצרף V ′ ∪ Σ′ב־

חדשים איברים מתווספים עוד כל (ב) צעד על חוזרים (ג).V ל־′

:G′ו־ P ′ בניית .2

.P ′ ={A→ α ∈ P

∣∣A ∈ V ′} (א)

.G′ = {V ′,Σ′, P ′, S} את כפלט מחזירים (ב)

ε כללי להסרת אלגוריתם 24.4

A → ε מהצורה כללים להסיר הוא זה אלגוריתם של הרעיון.A ∈ V כאשר

אותו ישאר שהדקדוק כך אחרים בכללים ε כלל כל להחליף ניתןהנ"ל. מהצורה כללים ללא רק השפה) (מבחינת דקדוק

כלולה. אינה הריקה המילה החדשה שבשפה כמובןG = 〈V,Σ, P, S〉 הקשר חסר דקדוק בהניתן פורמלי: באופןבו שאין G′ = 〈V,Σ, P ′, S〉 ח"ה דקדוק נבנה ε כללי בו שיש

.L (G′) = L (G)− εש־ כך ε כללי.L (G′) = L (G) אזי: ε /∈ L (G) שאם לב לשים חשוב

לאיפוס הניתנים משתנים למציאת אלגוריתם 24.4.1

אשר נוסף באלגוריתם להשתמש נצטרך לאלגוריתם שניגש לפנילאיפוס. הניתנים משתנים אלו אשר ־ n (G) ⊆ V קבוצה: לנו יתן

A ∈ V משתנה ח"ה. דקדוק G = 〈V,Σ, P, S〉 יהי 24.3 הגדרהסדרת קיימת אם כלומר .A⇒

G

∗ ε אם לאיפוס ניתן משתנה נקרא

הריקה. המילה את נגזור שבסופה Aמ־ גזירה

n (G) =

{A ∈ V

∣∣∣A⇒G

∗ ε

}

.G בדקדוק לאיפוס הניתנים המשתנים קבוצת את n (G)ב־ נסמן

.G = 〈V,Σ, P, S〉 ח"ה דקדוק הקלט:.n (G) לאיפוס הניתנים המשתנים כל קבוצת הפלט:

את מוסיפים זה (בשלב n (G) ={A ∈ V

∣∣A→ ε ∈ P}

.1אחד). בצעד לאיפוס הניתנים המשתנים כל

(כל α ∈ n (G)ו־+ B ∈ V כאשר B → α ∈ P אם .2

B את צרף לאיפוס), הניתנים משתנים הם αב־ הסימניםשם). לא והוא (במידה n (G)ל־

.n (G)ל־ חדשים משתנים יתווספו שלא עד 2 צעד על נחזור .3

:ε כללי להסרת האלגוריתם את נראה כעת.ε כללי בו שיש G = 〈V,Σ, P, S〉 ח"ה דקדוק קלט:

מקיים: אשר ε כללי ללא G′ = 〈V,Σ, P ′, S〉 ח"ה דקדוק פלט:.L (G′) = L (G)− ε

הקודם. האלגוריתם לפי n (G) את נחשב .1

.P ′ = ∅ .2

נצרף ,ε כלל שאינו A → X1X2 · · ·Xn גזירה כלל לכל .3את המקיימים A → Y1Y2 · · ·Yn הגזירה כללי את P ל־′

הבאים: התנאים שלושת

. Xi = Yi אז Xi ∈ V − n (G) או Xi ∈ Σ אם (א)

.Yi = ε או Xi = Yi אז Xi ∈ n (G) אם (ב)

.Y1Y2 · · ·Yn 6= ε (ג)

.G′ = 〈V,Σ, P ′, S〉 את נחזיר .4

השלישי: לכל הסברΣ = {a, b} ,V = {A,B,C,D,E} כי נניח

מהצורה: כלל לנו יש אם אזי, ,n (G) = {B,C,E}ו־

A→ BCaD

הכלל: את P ל־′ נכניס

A→ BCaD∣∣CaD∣∣BaD∣∣aD

אליו מתייחסים אחת פעם אנחנו X ∈ n (G) כל עבור הסבר:האפשרויות, כל את P ב־′ ושמים שהוא מה כאל או ε כאל אולאף התייחסנו לא BCaD ־ הראשון בכלל שלמעלה: במקרהכאל Bל־ התייחסנו CaD ־ השני בכלל ,ε כלל כאל X ∈ n (G)התייחסנו האחרון ובכלל ההפך, בדיוק השלישי בכלל לא, C ואל εצריכים אנחנו אחרים בכללים גם כך, .εכ־ C אל וגם B אל גם

האפשרויות. כל את לכסותהיה: הכלל למשל אם או

A→ BCE

הוא: P ל־′ מכניסים שהיינו הכלל אזי

A→ BCE∣∣CE∣∣BE∣∣BC∣∣B∣∣C∣∣E

נקבל אז כי ε כאל לשלושתם נתייחס לא אנחנו (ג) כלל ובגלללהסיר... רוצים אנחנו הללו הכללים ואת A→ ε מהצורה כלל

24

Page 25: סיכום של הקורס אוטומטים ושפות פורמליות

שיבאןאוטומטים פרג' ד"ר

יחידה כללי להסרת אלגוריתם 24.5

A → B מהצורה גזירה כל G = 〈V,Σ, P, S〉 ח"ה בדקדוקיחידה. כלל נקרא A,B ∈ V כאשר

ע"י שמתקבל יחידה כללי ללא שקול דקדוק קיים ח"ה דקדוק לכלבלבד. הגזירה כללי שינוי

סדור זוג .G = 〈V,Σ, P, S〉 ח"ה דקדוק יהי 24.4 הגדרהAמ־ לגזירה Bניתן אם יחידה זוג נקרא A,B ∈ V כאשר (A,B)שמספר אפשרות שישנה (כמובן בלבד יחידה בכללי שימוש תוך

יחידה). זוג הוא (A,A) A ∈ V לכל ולכן, 0 יהיה הצעדים

יחידה זוג הוא (A,B) אזי ε כללי אין בדקדוק אם 24.5 הערהאחרת אפשרות אין ε כללי בהעדר (כי A ⇒

G

∗ B אם ורק אם

יחידה). בללי השימוש מלבד Aמ־ B לגזירת

u (G) היחידה זוגות קבוצת לחישוב אלגוריתם 24.5.1

את את לחשב נצטרך יחידה כללי להסרת לאלגוריתם שניגש לפני.u (G) ⊆ V × V :G בדקדוק היחידה זוגות קבוצות

.G = 〈V,Σ, P, S〉 ח"ה דקדוק קלט:.u (G) פלט:

.u (G) ={

(A,A)∣∣A ∈ V } .1

(A,C) את נצרף B → C ∈ P ו־ (A,B) ∈ u (G) אם .2שם). אינו הוא (אם u (G)ל־

.u (G)ל־ חדשים איברים מתווספים עוד כל 2 צעד על נחזור .3

.u (G) את נחזיר .4

היחידה: כללי להסרת לאלגוריתם ניגש כעת.G = 〈V,Σ, P, S〉 ח"ה דקדוק קלט:

יחידה כללי בו שאין G′ = 〈V,Σ, P ′, S〉 ח"ה דקדוק פלט:.L (G′) = L (G) ומתקיים:

יחידה. כלל אינו A→ αש־ פירושו A→ α? נסמן:

שלמעלה. האלגוריתם ע"פ u (G) את נחשב .1

.P ′ ={A→ α

∣∣A→ α?, (A,B) ∈ u (G) , B → α ∈ P}

.2

.G′ = 〈V,Σ, P ′, S〉 את נחזיר .3

ל־2: הסברהבא: הדקדוק את לנו ויש נניח

S → a∣∣A

A→ Bb∣∣c

B → a

כלל את לנו ויש u (G) = {(S, S) , (A,A) , (B,B) , (S,A)} אזי,S → A היחידה

שניהם יחידה, כללי אינם A → cו־ A → Bc כי לב נשים אזיהם: שנצרף הכללים ולכן ,(S,A) ∈ u (G)ו־ P ב־

...S את שמנו Aה־ במקום כלומר, ־ S → c ואת S → Bcזה: הוא כאן עושים אנחנו שבעצם מה יותר, פשוטות במילים

הכללים כל מסתכלים אנחנו אזי A → B יחידה כלל לנו יש אםAל־ אותם ו"מדביקים" B → α מהצורה יחידה כללי שאינם

.A→ B כלל באותו B במקום

כזה: משהו לנו יש אם לכן,

S → A

A→ B

B → a

הבא: הדקדוק את הוא שנקבל מה האלגוריתם את שנריץ אחרי.S → a

ב"שרשרת"). מדביקים פשוט (אנחנו

האלגוריתמים לביצוע הנכון הסדר 24.6

.ε כללי הסרת .1

יחידה. כללי הסרת .2

מיותרים. כללים הסדרת .3

לביצוע: ונוחה פשוטה יותר בצורה זה את לעשות אפשר אבל

מיותרים. סימנים הסרת .1

.ε כללי הסרת .2

מיותרים. סימנים הסרת .3

יחידה. כללי הסרת .4

מיותרים. סימנים הסרת .5

יותר ונוח לפשוט התהליך כל את תהפוך (השנייה) הנ"ל הדרךארוכה). יותר קצת שהיא (למרות

(CNF) חומסקי של הנורמלית הצורה 25

כללי שכל G = 〈V,Σ, P, S〉 הקשר חסר דקדוק 25.1 הגדרההבאות: מהצורות באחת הם בו הגזירה

.A→ BC .1

.A→ a .2

.a ∈ Σו־ A,B,C ∈ V כאשרחומסקי. של הנורמלית בצורה דקדוק נקרא

קיים ,ε את מכילה שאינה L הקשר חסרת שפה לכל 25.2 משפטשל הנורמלית בצורה G = 〈V,Σ, P, S〉 הקשר חסר דקדוק

.L = L (G)ש־ כך חומסקי

ח"ה מדקדוק CNF בניית 25.1

: ε /∈ L (G) שמקיים G = 〈V,Σ, P, S〉 ח"ה דקדוק הניתן

כללי ואין ε כללי אין בדקדוק כי נניח הכלליות הגבלת בלי .1שלמעלה). האלגוריתמים ע"פ אותם נסיר ־ ויש (במידה יחידה

:a ∈ Σ טרמינלי סימן לכל .2

.Sa שנסמנו חדש משתנה V ל־ נוסיף (א)

.Sa → a הבא: הכלל את P ל־ נוסיף (ב)

25

Page 26: סיכום של הקורס אוטומטים ושפות פורמליות

שיבאןאוטומטים פרג' ד"ר

עם A → X1 · · ·Xk מהצורה P ב־ גזירה כלל לכל (ג).Saב־ זה גזירה בכלל a של מופע כל נחליף k ≥ 2

.G′ = 〈V ′,Σ, P ′, S〉ב־ המתקבל הדקדוק את נסמןשני: שלב

:k ≥ 3 עם A→ X1 · · ·Xk מהצורה P ב־′ גזירה כלל לכל

להם ונקרא V ל־′ חדשים משתנים k − 2 נוסיף .1אחרים!). משתנים גזירה כלל (לכל Y1, Y2, ..., Yk−2

הבאים: הכללים k−1 ב־ A→ X1 · · ·Xk הכלל את נחליף .2....Y2 → X3Y3 ,Y1 → X2Y2 ,A→ X1Y1

,Yk−3 → Xk−2Yk−2ל־ נגיע שלבסוף עד.Yk−2 → Xk−1Xk

G′′ ב־= הזה השלב ביצוע אחרי המתקבל הדקדוק את נסמןאותו. ונחזיר 〈V ′′,Σ, P ′′, S〉

מהצורה: גזירה כלל יש ובו דקדקו לנו יש אם כלומר

A→ BCDa

להיות: יהפוך הוא הראשון בשלב אזי

A→ BCDSa

Sa → a

יהיה: הוא השני בשלב ולאחר־מכן

A→ BY1

Y1 → CY2

Y2 → DSa

Sa → a

חומסקי. של הנורמלית בצורה דקדוק וקיבלנו

שפות של סגירות לתכונות בקשר משפטים 26הקשר חסרות

סגורה ,Σ א"ב מעל ההקשר, חסרות השפות משפחת 26.1 משפטלפעולות סגורה היא (כלומר, ולאיטרציה לשירשור, לאיחוד,

רגולריות).

לחיתוך סגורה אינה ההקשר חסרות השפות משפחת 26.2 משפטולמשלים.

חסרת ושפה רגולרית שפה חיתוך על חשוב משפט 26.1הקשר

הקשר חסרת שפה עם רגולרית שפה של חיתוךהקשר. חסרת שפה נותן

כלומר:אזי: כמובן), ההפך (או הקשר חסרת L2ו־ רגורלית L1 אם

הקשר. חסרת שפה היא L1 ∩ L2

רגולריות בבעיות הכרעה בעיות פתרון 27

.G = 〈V,Σ, P, S〉 ח"ה דקדוק לנו נתון המקרים בכל

הריקנות בעיית 27.1

ריקה. אינה L (G) השפה האם להכיע ישטרמינלית מילה גוזרים שאנים המשתנים את Gמ־ מסירים פתרון:נשאר S ההתחלתי המתשנה אם למעלה) שראינו האלגוריתם (לפי

"לא". נחזיר אחרת "כן", ונחזיר ריקה לא השפה ־ בדקדוק

הסופיות בעיית 27.2

כוללת (כלומר, אינסופית היא L (G) השפה האם להכריע ישמילים). אינסוף

כללי או ε כללי מיותרים, סימנים ב־Gאין כי נניח בה"כ פתרון:הדקדוקיים המשתנים הם בו שהצמתים מכוון גרף נבנה יחידה.אשר (A,B) הסדורים הזוגות כל הן והקשתות (V (אברי G שלA → αBϕ מהצורה כלל בדקדוק וקיים A,B ∈ V מקיימים:

.α,ϕ ∈ (V ∪ Σ)∗ כאשר

היא השפה ־ כן אם ־ שבנינו בגרף מעגל מעגל יש אם נבדוק"לא". נחזיר אחרת "כן", ונחזיר אינסופית

26

Page 27: סיכום של הקורס אוטומטים ושפות פורמליות

שיבאןאוטומטים פרג' ד"ר

VIII חלק

(PDA) מחסנית אוטומט

מסעי כולל NFA אוטומט לנו שיש הוא מחסנית באוטומט הרעיוןתאים של אינסופי מספר עם מחסנית לו יש גם הפעם אבל εאחת אות לקרוא או מילה לדחוף או פעם כל יכול הוא שממנה

אותה). מסיר הוא (ואז

פורמלית הגדרה 28

שביעייה זוהי (PDA) מחסנית אוטומטכאשר: M = 〈Q,Σ,Γ, δ, q0,⊥, F 〉

מצבים. של סופית קבוצה ־ Q •

סופית). (קבוצה הקלט א"ב ־ Σ •

מחסנית באוטומט המחסנית. א"ב של סופית קבוצה ־ Γ •של מא"ב שונה שהוא א"ב למחסנית לדחות יכולים אנחנו

.(Σ) השפה של

.q0 ∈ Q ההתחלתי. המצב ־ q0 •

את מסמל ⊥והוא ∈ Γ המחסנית. תחתית הנקרא איבר ־ ⊥ •קראנו ולא במחסנית נגענו לא עוד כלך המסחנית. תחתית

.⊥ את זה במחסנית שיש היחיד הדבר ־ קלט אות שום

Fץ ⊆ Q המקבלים. המצבים קבוצת ־ F •

כאשר ,δ : Q × Σε × Γ → 2Q×Γ∗המעברים: פונקצית δ־ •

δ הפונקציה של הערכים כי מניחים אנח .Σε = Σ ∪ {ε}הזאת הפונקצהי (על .Q × Γ∗ של סופיות תת־קבוצות הן

בהמשך). קצת יוסבר

סימונים 29

.a, b, c.... ב־ נסמן הקלט) (אותיות Σ אברי את.σ, τ, ... ב־ נסמן (ε או קלט (אות Σε אברי את

.X,Y, Z, ... ב־ נסמן המחסנית) (א"ב Γ אברי את.w, u, v, ב־... יסומנו Σ∗ ב־ מילים.α, β, γ, ב־... יסיומנו Γ∗ב־ מילים

ופירושים הערות 30

המחסנית מבנה 30.1

כך: נראית ההתחלתית המסחנית

האות את מסיר הוא מהקלט אות קורא שהאוטומט פעם כלבראש שנמצאת האות תהיה זאת (תמיד המחסנית בראש שנמצאת

בלבד). אחת אות תהיה תמיד וזאת המחסניתכמובן (וזה A האות האות את למחסנית לדחוף שהחלטנו נניחיהיו כך על יותר נרחבים הסברים ,ε או קלט אות של קריאה אחריכך: תיראה המחסנית היא אזי ,(δ המעברים פונקצית על בהסברים

A

האות את הכניס הוא ⊥ האות את הסיר כל קודם שהוא מכיוון.A

שהסימן נרצה אם לכם ,Γ∗מ־ מילים גם לדחוף ניתן למחסניתשאנחנו מה את את ואז אותו כל קודם לדחוף נצטרך ישאר ⊥ה־⊥ סימן להשאיר נרצה לא אנחנו שלפעמים לציין, (חשוב רוציםנדחוף אם לכן, המילה), בסוף יהיה שהוא תמיד חייבים לא ולכן

כך: תיראה המחסנית אזי ־ A⊥ למחסנית

A ⊥

כך: תיראה המחסנית אזי BC נדחוף עכשיו ואם

B C ⊥

רק ונשארנו A את הסרנו ואז (ε (או כלשהי קלט אות קראנו כיאחד ⊥ את (והזיז למחסנית C את דחף האוטומט וכעת ⊥ עםקדימה. אחד C⊥ את ודחף B את הכניס האוטומט ואז קדימה)רק שהוא אומר זה ואז ־ ε את למחסנית לדחוף גם ניתן כמו־כן,במקום. אות שום מוסיף ולא המחסנית שבראש האות את מסיר

יש אם עם רק להתקדם יכול האוטומט ־ לזכור שחשוב נוסף דבריכול לא האוטומט ־ ריקה המחסנית אם ,Γמ־ אחת אות לפחות

נתקע. האוטומט אזי בקלט אותיות עוד ויש במידה להתקדם,בשפה תלוי זה ־ לא או המילה את יקבל הוא אם השאלה (לגבי

בהמשך). ידובר זה ועל

יכולים אנחנו כלומר אינסופי, בגודל היא המחסנית 30.1 הערהבאיזה שנרצה, מילים כמה (או שנרצה אותיות כמה אליה לדחוף

שנרצה). אורך

δ המעברים פונקצית 30.2

כך: מוגדרת המעברים פונקציית לראות שניתן כפי

δ : Q× Σε × Γ→ 2Q×Γ∗

σ ∈ Σε ,q ∈ Q כאשר (q, σ,X) מהשלשה עוברים אנחנו כלומר,:(p, α) סדור לזוג X ∈ Γו־

δ (q, σ,X)→ (p, α)

27

Page 28: סיכום של הקורס אוטומטים ושפות פורמליות

שיבאןאוטומטים פרג' ד"ר

הסבר:יכולה (שזה σ היא בקלט הבאה האות q במצב נמצאים אנחנו אםהסבר יהי [בהמשך ε מעבר ־ ריקה מילה או Σב־ אות להיותלמצב נעבור אנחנו אזי X האות נמצאת המחסנית ובראש לזה])האות את שהסרנו אחרי (וזה α המילה את למחסנית ונדחוף p

המחסנית). בראש שנמצאתדיאגרמה: באמצעות טוב יותר קצת זה את להביא ניתן

qσ,X→α // p

תנאים: בשני רק אם מתאפשר pל־ qמ־ המעבר

או a ∈ Σ האות היא לקרוא עומד שהאוטומט הבאה האות .1ישנה. בכלל אם הבאה האות מה משנה לא ואז ־ ε

.X האות את יש המחסנית בראש .2

.(q במצב כמובן (אנחנו .3

אנחנו: אזי הזה המעבר את מבצעים אנחנו אם

הקלט. ממילת אות עוד קוראים .1

.p למצב עוברים .2

שמים ובמקומה המחסנית בראש שנמצאת האות את מסירים .3.α את

באות תלוי אחד כל כאשר qל־ pמ־ מעברים כמה להיות יכוליםבראש שנמצאת באות תלוי או (NFAב־ כמו (בדיוק אחרת

המחסנית.ובראש a היא במילה הבאה האות ,q במצב אנחנו למשל אם

הוא: לנו שיש היחיד המעבר אבל ,B האות את יש המחסנית

qa,⊥→BA // p

וניתקע.... להמשיך נוכל לא אזיחייב pל־ qמ־ המעבר של מהכללים אחד להמשיך שנוכל לשם

.ε להיות יכול a במקום או a,A→ · · · מהצורה: להיותניתן שלא δה־ כל בעצם וזה ־ δ (q, σ,X) = ∅ כי ייתכן כמו־כן,שכתוב)ץ ממה אחרת δ ־ כל שלנו (במקרה הלאה מהם להמשיך

M של השפה 30.3

M = 〈Q,Σ,Γ, δ, q0,⊥, F 〉 מחסנית אוטומט של השפהשפות: לשתי מתחלקת

הקלט מילת מסתיימת כזאר השפה זאת ־ Lf (M) .1המחסנית אם לנו משנה לא מקבל. במצב נמצא והאוטומטבמצב ואנחנו הסתיימה הקלט מילת אם ־ מלאה או ריקההמילה שאם לזכור זאת עם חשוב התקבלה. המילה ־ מקבל

נתקעים. אנחנו אזי ־ ריק והאוטומט נגמרה לא

כך ע"י שמתקבלות המילים כל של השפה זאת ־ Le (M) .2מצב באיזה משנה ולא ריקה והמחסנית נגמרת שהמילה

מקבל. לא או מקבל אנחנו

־ מקרים ובהמון Lf (M) = Le (M) בהכרח שלא כמובן.Lf (M) 6= Le (M)

מחסנית אוטומט של החישוב 31

עובד מחסנית אוטומט שבה הדרך את פורמלי באופן נתאר כעתמילה. דוחה או מקבל הוא שבו האופן ואת

.M = 〈Q,Σ,Γ, δ, q0,⊥, F 〉 מחסנית לאוטומט כאן נתייחס

רגעי) תיאור (או: M של קונפיגורציה 31.1

C = (q, v, α) שלשה היא M של C רגעי) (תאירו קונפיגורציהכאשר:

הקונפיגורציות כל את c (M)ב־ נסמן .α ∈ Γ∗ו־ v ∈ Σ∗ ,q ∈ Q:M של

c (M) ={

(q, v, α)∣∣∣q ∈ Q, v ∈ Σ∗, α ∈ Γ∗

}כזאת: היא C = (q, v, α) של המשמעות

כרגע. נמצא האוטומט שבו המצב ־ q •

ממילת קרא לא עוד שהאוטומט (מה הקלט מילת יתרת ־ v •הקלט).

בראש מופיעה αב־ הראשונה (האות המחסנית תוכן ־ α •המחסנית).

האינפורמציה כל את מכילה האוטומט של הנוכיחת הקונפיגורציההחישוב. להמשך הדרושה

אותו להמשיך ואז החישוב את להפסיק ניתן כלומר,פחות היה שכבר (מה זמן פרק כל אחרי הנוכחית מהקונפיגורציה

"סימנייה"). כמו הוא הנוכחית והקונפיגורציה אותנו, מעניין

Cw0 התחלתית קונפיגורציה 31.1.1

על M של ההתחלתית הקונפיגורציה w ∈ Σ∗ קלט מילת בהינתןע"י: מוגדרת והיא Cw

0 ב־ תסומן w

Cw0 = (q0, w,⊥)

|=M היחס 31.1.2

הבא: באופן c (M) הקבוצה על |=M יחס נגדיר,c (M)ב־ C2 = (q2, v2, α2)ו־ C1 = (q1, v1α1) עבור:

ורושמים ,C1ל־ עוקבת קונפיגורציה (היא) C2 ש־ אומריםע"י (כלומר, אחד בצעד יכול M האוטומט אם C1 |=M C2

לעבור אחד) ε מעבר ביצוע ע"י או הקלט ממילת אחת אות קריאתלפי דטרמיניסטי בהכרח לא חוקי, (באופן C2ל־ C1 מקונפיגורציה

המעברים). פונקציית⇐⇒ C1 |=M C2 פורמלי: באופן

.X ∈ Γ ,α, β ∈ Γ∗ כאשר α2 = αβו־ α1 = Xβ .1

.σ ∈ Σε כאשר v1 = σv2 .2

ל־ למעלה שהוסבר כמו (כי (q2, α) ∈ δ (q1, σ,X) .3של בקבוצה מדובר כלומר, אפשרויות, כמה יש δ (q1, σ,X)

סדורים). זוגות

של חישוב צעד הוא עוקבת לקונפיגורציה מקונפיגורציה מעברעוקבת קונפיגורציה היא C2 שאם לב נשים מחסנית. אוטומטעשינו (אם |v2| = |v1| או |v2| = |v1| − 1 בהכרח: אז C1ל־

.(ε מעבר

28

Page 29: סיכום של הקורס אוטומטים ושפות פורמליות

שיבאןאוטומטים פרג' ד"ר

לב נשים

29

Page 30: סיכום של הקורס אוטומטים ושפות פורמליות

שיבאןאוטומטים פרג' ד"ר

עניינים תוכן

1 בסיסיות הגדרות I

1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ריקה מילה ועל ריקה שפה על הערות כמה 0.1

2 סופיים אוטומטיים II

2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . (אס"ד) דטרמיניסטי סופי אוטומט 12 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . פורמלית הגדרה 1.12 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . נוספות הגדרות 1.22 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . גרפי סימון 1.32 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . דוחה בור 1.42 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . δ הרחבת 1.53 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . רגולרית שפה 1.63 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . מסוים) א"ב (מעל הרגולריות השפות משפחת 1.73 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . מכפלה אוטומט 1.83 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . מכפלה באוטומט δ הרחבת 1.8.13 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . מכפלה לאטומט דוגמא 1.8.24 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . נוספים משפטים כמה 1.95 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . (אסל"ד) דטרמינסטי לא סופי אוטומט 25 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . NFA מסוג אוטומטים לכמה דוגמאות 2.16 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A לא־דטמינסטי סופי אוטומט של השפה 2.26 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . חזקה אוטומט 2.37 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ε (מעברי) מסעי עם סופי אוטומט 37 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . הגדרה 3.17 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . דוגמא 3.1.17 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . פורמלית הגדרה 3.27 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . למילים δ הרחבת 3.37 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . q של ε סגור 3.3.17 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . εNFA של השפה הגדרת 3.48 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . εNFAמ־ NFA בניית 3.58 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ε מעברי הסרת תהליך תיאור 3.5.18 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . שפות על רגולריות פעולות 3.6

8 רגולריים ביטויים III

8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . הגדרה 49 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . פעולות סדר 4.19 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Kleene משפט 59 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . לאוטומט רגולרי ביטוי הפיכת 5.19 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . רגולרי לביטוי DFA אוטומט הפיכת 5.29 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GNFAל־ DFA אוטומט הפיכת 5.2.110 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GNFAל־ פורמלית הגדרה 5.2.210 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GNFAב־ קשתות סימון 5.2.310 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GNFA של צימצום 5.2.411 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . רגולרי לביטוי DFA הפיכת אלגוריתם 5.2.511 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . קצר סיכום 611 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . הניפוח למת 711 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . הלמה) (ניסוח הגדרה 7.111 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . הניפוח בלמת לשימוש קצרה דוגמא 7.211 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . נוספת למה 8

30

Page 31: סיכום של הקורס אוטומטים ושפות פורמליות

שיבאןאוטומטים פרג' ד"ר

12 רגולריות לשפות הכרעה בעיות IV

12 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . שהוצגו הבעיות פתרונות 912 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . השייכות בעיית פתרון 9.112 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . הריקנות בעיית פתרון 9.212 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . הסופיות בעיית פתרון 9.312 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . הנ"ל לאלגוריתמים יעלים פתרונות 9.412 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . R (q)ו־ R0 (q) 9.4.112 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . (R0 (q) של (או R (q) של יעיל חישוב 9.4.212 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . הריקנות לבעיית יעיל פתרון 9.4.312 . . . . . . . . . . . . . . . . . . . . . . . . . . DFAב־ להשגה ניתנים שאינם מצבים הסרת 9.4.413 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . הסופיות לבעיית יעיל פתרון 9.4.513 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . השקילות בעיית פתרון 9.4.6

13 רגולריות לשפות אלגברי אפיון V

13 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . שקילות יחסי עידון 1013 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . השקילות מחלקות קבוצת 1113 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . (rank) שקילות מחלקות של (האינדקס) הדרגה 11.114 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . מימין אינווריאנטי יחס 1214 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . שפה משמר יחס 1314 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . באוטומט q ∈ Q מצב של שפה 1414 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . R

Lו־ R

Aחשובים שקילות יחסי שני 15

14 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . RA־ ראשון שקילות יחס 15.1

15 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . RL־ שני שקילות יחס 15.2

15 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . דוגמאות מספר 15.315 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . סופיות לשפות דוגמאות 15.3.115 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . אינסופיות לשפות דוגמאות 15.3.216 . . . . . . . . . . . . . . . . . . . . . . . שקילות מחלקות אינסוף אם אינסופית לשפה דוגמא 15.3.316 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . מייהיל־נרוד משפט 1616 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . מינימלי DFA אוטומט בניית 16.117 . . . . . . . . . . . . . . . . . . . . . . רגולרית אינה ששפה מייהיל־נרוד משפט באמצעות להוכחה דוגמא 16.2

17 DFA אוטומט של מינימיזציה VI

17 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . להפרדה ניתנים מצבים 1718 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A של הצימצום אוטומט בניית 1818 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DFAב־ שקולים מצבים לזוהי אלגוריתם 18.118 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . באלגוריתם לשימוש דוגמא 18.1.119 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . אוטומטים בין איזומורפיזם 1919 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . המינימלי האוטומט יחידות משפט 19.1

20 הקשר חסרות ושפות הקשר חסרי דקדוקים VII

20 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . (CFG) הקשר חסרי דקדוקים 2020 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . הגדרות 20.120 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . גזירה הגדרות 20.1.121 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . הקשר חסרות שפות של סגירות תכונות 20.221 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . L1 ∪ L2 20.2.121 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . L1L2 20.2.221 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . L∗1 20.2.321 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . הקשר חסרות לשפות דוגמאות 20.322 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . גזירה עצי 2122 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . פורמליות הגדרות 21.122 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . העץ חזית 21.1.122 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . משמעיות ורב משמעיות חד 21.1.222 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . קנוניות גזירות 21.1.323 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . רגולריים דקדוקים 22

31

Page 32: סיכום של הקורס אוטומטים ושפות פורמליות

שיבאןאוטומטים פרג' ד"ר

23 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ימני לינארי דקדוק 22.123 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . הקשר חסרות לשפות הניפוח למת 2323 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . הקשר חסרי דקדוקים פישוט 2423 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . מיותרים סימנים הסרת 24.123 . . . . . . . . . . . . . . . . . . . . . . . . . . . טרמינלית מילה גוזרים שאינם סימנים להסרת אלגוריתם 24.224 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . להשגה ניתנים שאינם סימנים להסרת אלגוריתם 24.324 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ε כללי להסרת אלגוריתם 24.424 . . . . . . . . . . . . . . . . . . . . . . . . . . . לאיפוס הניתנים משתנים למציאת אלגוריתם 24.4.125 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . יחידה כללי להסרת אלגוריתם 24.525 . . . . . . . . . . . . . . . . . . . . . . . . . . u (G) היחידה זוגות קבוצת לחישוב אלגוריתם 24.5.125 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . האלגוריתמים לביצוע הנכון הסדר 24.625 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . (CNF) חומסקי של הנורמלית הצורה 2525 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ח"ה מדקדוק CNF בניית 25.126 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . הקשר חסרות שפות של סגירות לתכונות בקשר משפטים 2626 . . . . . . . . . . . . . . . . . . . . . . . . . . הקשר חסרת ושפה רגולרית שפה חיתוך על חשוב משפט 26.126 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . רגולריות בבעיות הכרעה בעיות פתרון 2726 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . הריקנות בעיית 27.126 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . הסופיות בעיית 27.2

27 (PDA) מחסנית אוטומט VIII

27 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . פורמלית הגדרה 2827 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . סימונים 2927 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ופירושים הערות 3027 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . המחסנית מבנה 30.127 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . δ המעברים פונקצית 30.228 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . M של השפה 30.328 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . מחסנית אוטומט של החישוב 3128 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . רגעי) תיאור (או: M של קונפיגורציה 31.128 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Cw0 התחלתית קונפיגורציה 31.1.128 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . |=M היחס 31.1.2

32