םיללכומו םיטסינימרטד Büchi יטמוטואfvm111/wiki.files/l11.pdfסייו...

42
גרא וייס המחלקה למדעי המחשב אוניברסיטת בן- גוריון אוטומטיBüchi דטרמיניסטים ומוכללים

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 §

באוטומט שלם עוקב יחיד ולכן ריצה יחידה לכל מילת קלט

DFAמול NBA: תזכורת

10דצמבר 20

15

a

a

a

a

L(A1) = L(A2) אבלL!(A1) L!(A2)

DFAמול NBA: תזכורת

10דצמבר 20

16

a

a

L!(A1) = L!(A2) אבלL(A1) L (A2)

a

a

שקילות אוטומטים דטרמיניסטים

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

Büchiסיכום עובדות לגבי אוטומטי

10דצמבר 20

43

רגולריות-!שפות בעלי יכולת ביטוי כמו

חיתוך, השלמה, איחוד: סגורים תחת הפעולות

אוטומטיBüchi מאשר אוטומטי לא דטרמיניסטים יכולים לבטא יותרBüchi דטרמיניסטים

שניתן לחזרהבדיקה אם קיים מצב מקבל = בדיקת ריקות

אפשר לחשב בזמןO(jAj2)