םיללכומו םיטסינימרטד Büchi יטמוטואfvm111/wiki.files/l11.pdfסייו...
Transcript of םיללכומו םיטסינימרטד Büchi יטמוטואfvm111/wiki.files/l11.pdfסייו...
גרא וייס
המחלקה למדעי המחשב
גוריון-אוניברסיטת בן
דטרמיניסטים ומוכללים Büchiאוטומטי
TexPoint fonts used in EMF.
Read the TexPoint manual before you delete this box.: AAAAAAAAAAAAAAAAAAAAAAAA
10דצמבר 20
ראשי פרקים
10דצמבר 20
2
בדיקה אם שפת האוטומט ריקה
(DBA)דטרמיניסטים Büchiאוטומטי
(GNBA)מוכללים Büchiאוטומטי
!
Büchiאוטומט : תזכורת
10דצמבר 20
3
hQ, §, ±, Q0, Fi:הוא ( NBA)לא דטרמיניסטי Büchiאוטומט
Q סופית מצביםהיא קבוצת
§ האלפביתהוא
±: Q £ § 2Q פונקציית מעבריםהיא
Q0 µ Q מצבים התחלתייםהיא קבוצת
F µ Q מצבים מקבליםהיא קבוצת
:גודל האוטומט
jAj = jQj+X
q2Q
X
A2§j±(q; A)j
אינסוף פעמים במצב מקבל" המבקרות" אינסופית מילים
NBAשפה של : תזכורת
10דצמבר 20
4
ים-i אינסוףעבור qi 2 Fאם מקבלת היא ...q0q1 אינסופיתריצה
w 2 § Aב wמקבלת של אינסופית אם יש ריצה Aי "ע מתקבלת !
אוטומטים שקולים
10דצמבר 20
5
p0 p1
p2p3
true
a
true
b
true
true
q0
q1q2
true
:a
a
:b
b
bוגם אינסוף פעמים aאינסוף פעמים : שני האוטומטים מגדירים
כדי להכריע אם שני אוטומטים שקולים צריך אלגוריתם לבדיקה אם השפה ריקה
רגולריות-!ושפות NBA: תזכורת
10דצמבר 20
6
זההNBA מחלקת השפות שאפשר להגדיר באמצעות
רגולריים-!למחלקת השפות שאפשר להגדיר באמצעות ביטויים
רגולרית-!היא L!(A)השפה , Aבור כל אוטומט ע1.
NBAי אוטומט "ערגולרית מתקבלת -!ל שפה כ2.
בשיעור הקודם( באופן קונסטרוקטיבי)הוכחנו את שתי הטענות
פונקציית מעברים מורחבת: תזכורת
10דצמבר 20
7
י"ע Q £ §* 2Q :*± -ל ±מרחיבים את פונקציית המעברים
±*(q, ²) = fqg ו±
*(q, A) = ±(q, A)
±*(q, A1A2An) = p2±(q, A1) ±
*(p, A2An)
±*(q, w) =המצבים שהאוטומט מגיע אליהם מ-q כשהוא קורא אתw
q0 q1a
b a,b
±¤(q0; bbab) ! ±(±¤(q0; q0±¤(q0; bbab) ! q0
ריקות השפה-תנאי שקול לאי
10דצמבר 20
8
9q0 2 Q0; q 2 F;w 2 §¤; v 2 §+ : q 2 ±¤(q0; w)^ q 2 ±¤(q; v)
L!(A) 6= ;
אם ורק אם
ריקות השפה-תנאי שקול לאי
10דצמבר 20
9
9q0 2 Q0; q 2 F;w 2 §¤; v 2 §+ : q 2 ±¤(q0; w)^ q 2 ±¤(q; v)
q
q0
w
v
:הוכחה 𝑣ו 𝑤ומילים 𝑞0ו 𝑞אם השפה אינה ריקה אז קיימים מצבים : כיוון ראשון
אז השפה אינה ריקה 𝑞ו 𝑞0ומצבים 𝑣ו 𝑤אם קיימות מילים : כיוון שני
של אוטומט ריקה 𝜔-בדיקה אם שפת ה
10דצמבר 20
10
אם מתעלמים מהאותיות על המעברים אפשר להתייחס לאוטומטA כגרףGA = hVA, EAi כאשר
VA = S ו-hs,s’i 2 EA אם ורק אם קייםa כך ש-hs,a,s’i 2 ±
קבוצת צמתיםX בין כל זוג אםםרכיב קשירות חזק בגרף היאv, v’ 2 X מחבר מסלול בגרף
רכיב קשירות חזק אינו טריוויאלי אם הוא מכיל לפחות קשת אחת .
הוא מקסימאלי אם אין רכיב קשירות חזק המכיל אותו.
כל מעגל נמצא ברכיב קשירות חזק לא טריוויאלי וכל רכיב קשירות לא טריוויאלי מכיל מעגל דרך כל
צמתיו
מקבלים :L!(A) קיים רכיב קשירות חזק לא טריוויאלי ב אםםאינה ריקה-𝐺𝒜 הנגיש ממצב התחלתי
.רכיבי קשירות חזקים מקסימאלייםמספיק לבדוק . ומכיל מצב מקבל
כל אחת, מציאת רכיבי הקשירות המקסימאליים ובדיקת נגישות לוקחות ,O(jAj) צעדים
O(jAj2)היא ריקה בזמן Aשפה של -!-ניתן לבדוק אם ה: מסקנה
אוטומט שאינו חוסם
10דצמבר 20
11
,𝛿(𝑞אינו חוסם אם 𝒜אוטומט 𝐴) ∅ לכל𝑞 ∈ 𝑆 ולכל𝐴 ∈ Σ
לכל מילת קלט יש ריצה אינסופית
נניח אוטומט שאינו חוסם: בלי הגבלת הכלליות
10דצמבר 20
12
לכל אוטומטNBA 𝒜 , קיים אוטומט לא חוסם𝑡𝑟𝑎𝑝(𝒜) כך ש: |𝑡𝑟𝑎𝑝 𝒜 | = 𝒪 (|𝒜|)
וגם𝒜 ≡ 𝑡𝑟𝑎𝑝(𝒜)
עבור𝒜 = ⟨𝑄, Σ, 𝛿, 𝑄0, 𝐹⟩ נגדיר𝑡𝑟𝑎𝑝(𝐴) = ⟨𝑄′, Σ, 𝛿′, 𝑄0, 𝐹⟩
Q’ = Q [ fqtrapg (בהנחה ש-qtrap איננו איבר ב-Q)
±0(q; A) =
(±(q; A) if q 2 Q and ±(q; A) 6= ;fqtrapg otherwise
ראשי פרקים
10דצמבר 20
13
בדיקה אם שפת האוטומט ריקה
(DBA)דטרמיניסטים Büchiאוטומטי
(GNBA)מוכללים Büchiאוטומטי
!
דטרמיניסטי ואוטומט מלאאוטומט : תזכורת
10דצמבר 20
14
אםדטרמיניסטי נקרא 𝒜אוטומט
jQ0j = 1 וגםj±(q,A)j · 1 לכלq 2 Q ולכלA 2 §
אם( total)שלם נקרא Aאוטומט דטרמיניסטי
jQ0j = 1 וגםj±(q,A)j = 1 לכלq 2 Q ולכלA 2 §
באוטומט שלם עוקב יחיד ולכן ריצה יחידה לכל מילת קלט
שקילות אוטומטים דטרמיניסטים
10דצמבר 20
17
:אז דטרמיניסטים A2ו A1אם
A1 ´NFA A2 גורר שגםA1 ´NBA A2
כפי שמודגם , גם אם האוטומטים דטרמיניסטים, ההיפך לא נכון בשקף הקודם
לתכונה ליניארית DBAדוגמה של
10דצמבר 20
18
:a ^ b
a ^ b
a ^ b:a ^ b
b
b
a ^ ba ^ b
"aואינסוף פעמים bתמיד : "שני האוטומטים מייצגים את תכונת הזמן הליניארי
NBA DBA
שני האוטומטים חוסמים
NBA יותר עשירים מ-DBA
10דצמבר 20
19
עבור מילים סופיות :
NFA וDFA מתארים את אותה משפחת שפות
לא תופס למילים אינסופיות :
NBA ו-DBA אינם מתארים את אותן השפות
דוגמה נגדית:
המקבל את השפה DBAלא קיים
𝐴 + 𝐵 ∗𝐵𝜔
המקבל אותה NBAאבל קיים אוטומט
אוטומט לא דטרמיניסטי שלא ניתן לחקות באמצעות אוטומט דטרמיניסטי
10דצמבר 20
20
ים-𝐵-באופן לא דטרמיניסטי מתי מתחיל רצף ה" מנחש"האוטומט
!לא ניתן לחקות ניחוש כזה באמצעות אוטומט דטרמיניסטי
𝐴 + 𝐵 ∗𝐵𝜔
הוכחה
10דצמבר 20
21
w1=ABBBBBBBBBBBB...
w2=w1(1,...,n1)ABBBBBBBBBBB...
w3=w2(1,...,n2)ABBBBBBBBBBBBBB...
w1(1,...,n1)
w2(1,...,n2)
w3(1,...,n3)
qi = ±*(q0, wi(1,...,ni)): נסמן
qi 2 Fעבורם n1 < n2 < n3 < > 0קיימים : בגלל שכל המילים בשפה
wj(1,...,ni) wj(ni+1,...,nj)המילה :qi=qj-כך ש j > iבגלל שחייבים להיות מתקבלת שאינה בשפה !
B*(A+B)המקבל את השפה A=hQ, §, ±, q0,Fiדטרמיניסטי Büchiשקיים אוטומט בשלילה נניח !.
:נגדיר את המילים n1 < n2 < n3 < >0מספרים טבעיים עבור
אותה ההוכחה במילים אחרות
10דצמבר 20
22
נניח בשלילה שקיים אוטומט דטרמיניסטי המקבל את השפה(A+B)*B!
נזין אותו במילה𝐴𝐵𝐵𝐵𝐵 ים עד שנגיע למצב מקבל-𝐵עם מספיק …
נמשיך ב-𝐴 ואחריו מספיק𝐵-ים עד שנגיע שוב למצב מקבל
(שובך היונים )נחזור על התהליך עד שנבקר באותו המצב המקבל פעמיים )
קיבלנו את התמונה הבאה:
𝐴𝐵 … 𝐵𝐴𝐵 … 𝐵𝐴𝐵 … 𝐵𝐴𝐵 … 𝐵𝐴𝐵 … 𝐵𝐴𝐵 … 𝐵
זה אומר שיש מילה עם אינסוף𝐴-בסתירה להגדרת השפה, ים שהאוטומט מקבל
מצב מקבל
אותו המצב המקבל
מצב התחלתי
?למה בניית אוטומט החזקה לא עובדת
10דצמבר 20
23
מתרגמים אוטומט לא דטרמיניסטי : עבור אוטומטים לשפות סופיות לדטרמיניסטי שמצביו הן קבוצות מצבים
אוטומט החזקה מאפשר לעקוב לאיזה מצבים יכול האוטומט האי- דטרמיניסטי להגיע לאחר קריאת רישא של המילה
מקבלים את המילה אם אחד המצבים : עבור מילים סופיות דטרמיניסטי יכול היה להגיע אליהם הוא מקבל-שהאוטומט האי
למה זה לא עובד עבור שפות אינסופיות?
?למה בניית אוטומט החזקה לא עובדת
10דצמבר 20
24
הבעיה היא תנאי הקבלה :
מספיק לדעת אם יש ריצה המגיעה למצב מקבל, עבור קבלת מילים סופיות, בעוד
שעוברת אינסוף פעמים במצב מקבל ריצה אחתתנאי הקבלה למילים אינסופיות הוא שיש
המגיעה למצב מקבל פעם אחת ואחר ריצה שונהאוטומט החזקה יקבל גם אם לכל רישא יש כך מסתיימת
עבור האוטומט למטה והמילה המצב זה𝐴𝐵 𝜔
אוטומט לא דטרמיניסטי להגדרת תכונה: דוגמה
10דצמבר 20
25
true
a
a
:a
true
B = fagו A= fgעבור 2AP = fA,Bgאז AP = fag: ניקח למשל B*(A+B)שקול לביטוי "יתקיים כל הזמן 𝑎, בסופו של דבר"
! = (fg + fag)* fag
!
eventually always 𝑎 תכונת התמדה
תכונות ַחּיּותתכונות התמדה הן סוג מעניין של
10דצמבר 20
26
2𝐴𝑃 𝜔
תכונות ַחּיּות תכונות בטיחות
תכונות התמדה תכונות שמורה
...
"מתקיימת כל הזמן ©, אחרי רישה סופית"""always eventually Φ
ראשי פרקים
10דצמבר 20
27
בדיקה אם שפת האוטומט ריקה
(DBA)דטרמיניסטים Büchiאוטומטי
(GNBA)מוכללים Büchiאוטומטי
!
מוכללים Büchiאוטומטי
10דצמבר 20
28
קיימים וריאנטים שלNBA בעלי יכולת תיאור דומה:
אוטומטיMuller ,Rabin ו-Street
Generalized Büchi Automata (GNBA)
GNBA דומים ל- NBA תנאי קבלה שוניםעם:
ב-GNBA קבוצות מספרדורשים לבקרF1, … , Fk אינסוף פעמים
כאשרk=1 מקבליםNBA
GNBA שימושיים לקשר לוגיקת זמנים(Temporal Logic )ואוטומטים
הם בעלי יכולת תיאור זהה ל-NBA - רק נוחות, לא מוסיפים כוח ביטוי
מוכללים Büchiאוטומטי
10דצמבר 20
29
𝒢 הוא חמישייה ( GNBA) מוכלל Büchiאוטומט =hQ, §, ±, Q0, Fi
Q המצבים ההתחלתיים המכילה את קבוצת מצביםקבוצה סופית שלQ0
§ אלפביתהוא ה
± : Q £ § 2Q פונקצית המעבריםהיא
ℱ = *𝐹1, … , 𝐹𝑘+ קבוצות של -הן תתQ המייצגות את תנאי הקבלה
: גודל האוטומט
jGj = jQj+X
q2Q
X
A2§j±(q; A)j
אינסוף פעמים" המבקרות" אינסופית מילים מהקבוצות המקבלותבכל אחת
GNBAשל שפה
10דצמבר 20
30
,𝑞0ריצה 𝑞1, 𝑞2, :היא מקבלת אם …
GNBAשל שפה
10דצמבר 20
31
עבור אוטומט מוכללG=hQ,§, ±, Q0,Fi ומילה w=A1A2 2 §!
של ריצהw בG היא רצף מצביםq0 q1 ... כך שאינסופי:
q0 2 Q0 0לכל ו · i
ריצה q0 q1... לכל , אםמקבלת היאF 2 F, qi 2 F עבור אינסוףi-ים
w 2 § Gב wאם יש ריצה מקבלת של Gי "ע מתקבלת !
י "עהשפה המתקבלתG:
g יש ריצה מקבלת שלw בG L!(G) = f w 2 §! :
G וG’ אם שקוליםהםL!(G) = L!(G’)
qiAi+1¡¡¡! qi+1
דוגמה
10דצמבר 20
32
q0q1 q2
true
crit1
crit2true
true
GNBA שני התהליכים חייבים להיות אינסוף פעמים בקטע הקריטי שלהם"עבור הדרישה"
F = f f q1 g, f q2 g g
NBA-ל GNBA-מ
10דצמבר 20
33
:כך ש NBA Aקיים GNBA G עבור כל
L!(G) = L!(A)
jAj = O(jGj ¢ jFj)
G-מסמן את קבוצת הקבוצות המקבלות ב Fכאשר
GNBA וNBA בעלי אותה יכולת ביטוי
רעיון ההוכחה
10דצמבר 20
34
F1
F2 Fk Q0
𝑖)-לעותק ה 𝑖-עותקים של האוטומט ועוברים מהעותק ה 𝑘בונים + .𝐹𝑖לקבוצה לאחר שמגיעים (1
.בעותק הראשון 𝑄0ההתחלתיים הם . בעותק הראשון 𝐹1המצבים המקבלים הם
וחוזר חלילה 𝐹1-ושוב ב 𝐹𝑘עד 𝐹2-כ ב"אח 𝐹1-מבקרים ב ⇔אינסוף פעמים 𝐹𝑖מבקרים בכל
לביקור 𝑭𝟏ייתכן שבין הביקור ב נבקר גם בקבוצות אחרות 𝑭𝟐-ב
תיאור פורמאלי של הבניה מהשקף הקודם
10דצמבר 20
35
Aונגדיר את k > 1עבור F = fF1,F2,…,Fk gנניח
QA = QG £ f1,2, … ,kg
Q0A = Q0G £ f1g
hhs,ii, a, hs’,jii 2 ±A iff hs,a,s’i 2 ±G and
((sFi Æ j=i) Ç (s2Fi Æ j=(i mod k)+1)
FA = F1 £ f1g
𝑘 עותקים של האוטומט
של העותק הראשון 𝑄0ב מתחילים
של העותק הראשון 𝐹1עוברים אינסוף פעמים ב
𝐹𝑖לאחר שמגיעים ל עוברים לעותק הבא
𝐹𝑖כל עוד לא הגענו ל ממשיכים באותו העותק
דוגמה
10דצמבר 20
36
hq0; 1ihq1; 1i hq2; 1i
true
crit1
crit2
true
hq0; 2ihq1; 2i hq2; 2i
true
crit1
crit2true
true true
? Büchiחיתוך שפות של אוטומטי
10דצמבר 20
37
:עובדת אינהבניית המכפלה הרגילה
q1 q2
A
A
r1 r2
A
A
hq1; r1i hq2; r1i
hq2; r2ihq1; r2i
A
A
A1
A2
A1 £ A2
L!(A1) = L!(A2)=fA!g אבלL!(A1 £ A2) = ;
אוטומט לחיתוך השפות שהוצגו בשקף הקודם: דוגמה
10דצמבר 20
38
q1 q2
A
A
r1 r2
A
A
hq1; r1i hq2; r1i
hq2; r2ihq1; r2i
A
A
𝐴
𝐴
𝐴
𝐴
GNBA עבור החיתוך NBA עבור החיתוך
חיתוך
10דצמבר 20
39
:כך ש Gקיים G2ו GNBA G1עבור אוטומטי
L!(G) = L!(G1) Å L!(G2)
jGj = O(jG1j + jG2j)
הוכחה
10דצמבר 20
40
G2= hQ2,§2, ±2, Q0,2, F2iו G1= hQ1,§1, ±1, Q0,1, F1iעבור האוטומטים
:נגדירG = G1 £ G2 = h Q1£Q2, §, ±, Q0,1£Q0,2, F i
:י כלל ההיסק"מוגדר ע± כאשר יחס המעברים
:י"ותנאי הקבלה מוגדר ע
q1A¡!1 q01 ^ q2
A¡!2 q02
hq1; q2iA¡! hq01; q02i
F = fF1 £Q2 : F1 2 F1g [ fQ1 £F2 : F2 2 F2g
דוגמת לחיתוך
10דצמבר 20
42
q0 q1
A
B
B
A
q2 q3
A
B
B
A
ים-Bאינסוף ים-Aאינסוף
q0; q2 q0; q3
q1; q2 q1; q3
B
A
A
B
GNBA עבור החיתוך NBA עבור החיתוך
𝑞0, 𝑞2, 1 𝑞1, 𝑞3, 1
𝑞0, 𝑞2, 2 𝑞1, 𝑞3, 2
B A
B A
B
B A
A