Document
Transcription
Document
פרק - 12שקילות מצבים וצמצום מכונות לעיתים ,תכנון מכונה עקיבה מתוך סיפור המעשה מביא להגדרה של מצבים יתירים ) , ( redundant statesכלומר מצבים שהפונקציה שהם ממלאים ניתנת להשגה באמצעות מצבים אחרים . מטרות המינימיזציה: .1מכיוון שמספר רכיבי הזיכרון הדרוש למימוש המכונה גדל עם מספר המצבים של המכונה ) אם nהוא מספר המצבים ,נדרשים log 2 n רכיבי זיכרון ( , צמצום מספר המצבים יביא למימוש זול יותר. .2כאשר ידוע ששתי מכונות נמצאות במצב מצומצם ,ניתן להשוות ביניהן ולהבחין האם הן שונות . לכן ,המטרה היא למצוא ,בהינתן מכונה סופית ,מכונה אחרת המבצעת אותה משימה בדיוק )עבור כל קלט תפיק אותו פלט ( אך בעלת מספר מינימלי של מצבים . 332 הגדרה : שני מצבים Siו Sjשל מכונה Mנקראים בני-הפרדה ) ( distinguishableאם קיימת סדרת קלט אחת לפחות ) סדרת הפרדה ( ל Mהמספקת יציאות שונות, פלט ,כאשר המצב ההתחלתי של Mהוא Siאו . Sj נשים לב :ההסתכלות על מכונה היא על פי ההתנהגות החיצונית שלה ,הקלט/פלט, ולא על המצבים הפנימיים שלה . Si אותה סדרת קלט סדרות פלט שונות Sj 333 1 הגדרה: שני מצבים Siו Sjייקראו k-בני-הפרדה ) ( k-distinguishableאם קיימת עבורם סדרת הפרדה באורך kולא קיימת סדרת הפרדה קצרה יותר . דוגמא :נתונה המכונה :M1 Z 334 NS, x=1 x=0 PS D, 1 E, 0 A D, 0 F, 0 B B, 1 E, 0 C B, 0 F, 0 D F, 1 C, 0 E C, 0 B, 0 F 0/0 0/0 0/0 F D E 1/1 0/0 1/0 335 2 0/0 1/1 C 1/0 1/0 0/0 A B 1/1 ) (A,Bהם -1בני-הפרדה שכן תחת הקלט 1תפיק M1פלט 1ממצב Aופלט 0ממצב . B ) (A,Eהם -3בני-הפרדה: C F F D F D 0/0 E 1/1 0/0 B 1/0 0/0 B 1/0 0/0 E C 1/1 B E 0/0 B B C 0/0 1/1 C E B 0/0 1/1 C F 1/0 F D 0/0 C 1/1 0/0 F 1/0 0/0 F 1/0 0/0 B 0/0 E 0/0 1/1 A 0/0 D 1/1 1/0 1/0 336 אין אף סדרה באורך 2המפרידה בין מצבים אלה ,אך הסדרה 111נותנת יציאה 100מ A -ו 101 -מ . E -זו סדרת ההפרדה היחידה באורך . 3 הגדרה: שני מצבים Siו Sj -של מכונה Mנקראים שקולים ) ( equivalentאם כל סדרת כניסה אפשרית אל Mמפיקה אותה סדרת יציאה ,בין אם המצב ההתחלתי הוא Siאו . Sj. נסמןSi ≡ Sj : ≡ הוא יחס שקילות .יחס שקילות מקיים את שלוש התכונות הבאות: (1 רפלקסיביות Si ≡ Si (2 סימטריות Sj ≡ Si ⇐ Si ≡ Sj (3 337 3 טרנזיטיביות Si ≡ Sk ⇐ Sj ≡ Sk , Si ≡ Sj יחס שקילות מחלק קבוצה ) במקרה זה קבוצת המצבים של המכונה ( למחלקות שקילות .כל חברי אותה מחלקה שקולים זה לזה ,ואינם שקולים לאף חבר בכל מחלקה אחרת .איחוד כל המחלקות נותן את כל הקבוצה ,וחיתוך כל שתי מחלקות הוא קבוצה ריקה ) כלומר ,המחלקות זרות הדדית( Siו– Sjשקולים ⇔ Siו Sj -אינם בני-הפרדה. נגדיר גם: מצבים Siו Sj -הם k-שקולים ⇔ Siו Sj -אינם k-בני הפרדה - kשקילות אף הוא יחס שקילות ומתקיים : Siו Sj -שקולים ⇔ Siו Sj -הם k-שקולים לכל . k וכן מתקיים : Siו Sj -הם k-שקולים ⇐ Siו Sj -הם - rשקולים לכל . r<k את הגדרת השקילות ניתן להרחיב לשני מצבים Siו Sj -משתי מכונות שונות M1ו M2 -עם אותו אלפביית של הקלט . 338 האלגוריתם של Mooreלצמצום מכונה ניקח כדוגמא את המכונה M1 . נפתח בקבוצת כל המצבים שהם -0שקולים ) P0 = ( ABCDEF נבצע חלוקה על P0למצבים -1שקולים ) ( ABCDEF x=1 פלט 1 פלט 0 )( ACE )( BDF 339 4 x=0 פלט 0 ) ( ABCDEF המצבים ב ( ACE )-נותנים אותה יציאה ) (0עבור כניסה , 0ואותה יציאה )(1 עבור כניסה . 1כמו כן ,המצבים ב ( BDF )-נותנים אותה יציאה ) (0עבור כניסה 0או . 1לכן ,כל המצבים ב ( ACE ) -הם -1בני-הפרדה מהמצבים ב . ( BDF ) -סדרת ההפרדה היא x=1והחלוקה החדשה היא מחלקה מחלקה ) P1 = ( ACE ) ( BDF שאלה :במכונה בעלת כניסה אחת ויציאה אחת ,כמה מחלקות יכולות להיות לכל היותר ב ? P1 - תשובה 4 :מחלקות . לדוגמא :הקלט ’ x=‘0מפריד לשתי מחלקות )פלט ‘ ’0ו ( ’1’-ולאחר מכן הקלט ’ x=‘1יכול להפריד את כל אחת משתי המחלקות לשתי מחלקות . 340 שאלה :נניח מכונה בעלת כניסה אחת ושתי יציאות .כמה מחלקות יכולות להיות עתה ב ? P1 - תשובה 16 :מחלקות . לדוגמא :הקלט ‘ ’0יכול להפריד ל 4 -מחלקות ) . ( 11 ,10 ,01 ,00הקלט ‘’1 יכול להפריד שוב כל מחלקה ל 4-מחלקות . הגדרות : מצב -0עוקב ) ( 0-successorשל - Siהמצב שעוברים אליו מ Si -בגין כניסה . 0 מצב - xעוקב ) ( x-successorשל מצב - Siהמצב שעוברים אליו מ Si-בגין סדרת הכניסה . x 341 5 איך מוצאים את , Pkמחלקות המצבים שהם -kשקולים ? לכל איברי מחלקה מסוימת ב Pk-1מציגים קלט ' '0ו ' . '1אם המצבים אליהם עוברים הם באותה מחלקה ב Pk-1אזי לא ניתן להפריד את המצבים על ידי סדרת קלט של Kסיביות ולכן הם -Kשקולים. למשל ,עבור P2נקבל חלוקה שהיא עידון של ) P1כלומר לא ניתן לאחד מחלקות קודמות או לערבב ביניהם ; מותר רק לפצל מחלקות( : )(BDF x=1 )(DB)(C )(ACE x=0 )(FFB x=1 )(DBF x=0 הביט הראשון של סדרת קלט )(EEC ולכן : )P2 = (ACE)(BD)(F 342 סדרת הפרדה היא . x=11כך נמשיך הלאה : )P3 = (AC)(E)(BD)(F )P4 = (AC)(E)(BD)(F עד אשר ") Pk+1 = Pkתנאי עצירה "( Pk .תיקרא חלוקת השקילות . נתבונן על המצבים Aו . E -סדרת ההבחנה הקצרה ביותר ביניהם היא באורך 3 כי רק ב P3 -מבחינים ביניהם . 343 6 משפט :חלוקת השקילות Pkהיא יחידה . הוכחה :בשלילה .נניח כי קיימות שתי חלוקות שקילות Paו Pb -שונות זו מזו. כי אז ,קיימים שני מצבים Siו Sj -הנמצאים באותה מחלקה בחלוקה אחת ) נניח ( Paובשתי מחלקות שונות בחלוקה . Pb מהחלוקה Pbנובע כי קיימת סדרת כניסה המפרידה בין Siו . Sj -מכאן, ש Si -ו Sj -אינם יכולים להיות באותה מחלקה ב. Pa - 344 משפט ) תכונת העצירה של אלגוריתם : ( Moore אם Siו Sj -שני מצבים בני-הפרדה במכונה Mבעלת nמצבים ,כי אז קיימת סדרת-הפרדה באורך של n-1לכל היותר . הוכחה: באלגוריתם של , Mooreאם Pt , k < tמכילה )לפחות ( מחלקה אחת יותר מ– ) Pkפרט לצעד האחרון ( .המשפט נובע מכך שמספר המחלקות הוא nלכל היותר . n-1מהווה חסם עליון .אפשר להראות שקיימות מכונות שבהן זהו חסם עליון מושג ,כלומר אכן יש צורך בסדרת הפרדה באורך . n-1 345 7 שקילות בין מכונות הגדרה : שתי מכונות Mו M’ -תיקראנה שקולות אמ”מ לכל מצב ב M -קיים מצב שקול מתאים ב M’ -ולהיפך . כאן המושג שקילות בין מצבים הוא כבמכונה בודדת :משני מצבים שקולים ,לכל סדרת קלט מתקבלת אותה סדרת פלט. בהינתן מכונה , Mנמצא מכונה * Mהשקולה ל M -ובעלת מספר מצבים מינימלי . * Mתיקרא הצורה המינימלית ,או המצומצמת ,של . M כל מצב במכונה * Mיתאים למחלקת שקילות של מצבים בחלוקת השקילות של . Mמכיוון שחלוקת השקילות יחידה ,לא ייתכן כי מצב ב M* -יהיה שקול לשני מצבים לא-שקולים ב! M - 346 נחזור למכונה : M1 Z 347 8 NS, x=1 x=0 PS D, 1 E, 0 A D, 0 F, 0 B B, 1 E, 0 C B, 0 F, 0 D F, 1 C, 0 E C, 0 B, 0 F נחליף כל מצב בטבלת המצבים במחלקת השקילות שלו : Z NS, x=0 x=1 PS (BD), 1 ( E), 0 )(AC (BD), 0 ( F), 0 )(BD (BD), 1 (E), 0 )(AC (BD), 0 (F), 0 )(BD (F), 1 (AC), 0 )(E (AC), 0 ( BD), 0 )(F רואים שיש שתי שורות מיותרות .נכנה את מחלקות השקילות כדלקמן : α β γ δ )P3 = (AC)(E)(BD)(F 348 ונקבל את טבלת המצבים הבאה עבור *: M1 Z1 NS, x=1 x=0 PS γ, 1 β, 0 α )(AC δ, 1 α, 0 β )(E γ, 0 δ, 0 γ )(BD α, 0 γ,0 δ )(F המכונה * M1שקולה למכונה M1 349 9 . : M2 דוגמא נוספת – מכונה NS, Z PS x=0 x=1 A E, 0 C, 0 B C, 0 A, 0 C B, 0 G, 0 D G, 0 A, 0 E F, 1 B, 0 F E, 0 D, 0 G D, 0 G, 0 350 A 1/0 0/0 1/0 1/0 B G 0/0 1/0 F 1/0 0/0 C 0/0 0/0 0/1 1/0 E 1/0 D 351 10 סדרת חלוקות השקילות היא ) בכל שלב מצוינת גם סדרת ההפרדה (: )P0 = (ABCDEFG )P1 = (ABCDFG)0(E )P2 = (AF)0(BCDG)(E )P3 = (AF)(BD)1(CG)(E )P4 = (A)1(F)(BD)(CG)(E )P5 = (A)(F)(BD)(CG)(E עבור ' '0מצב Eמוציא פלט ' '1ושאר המצבים מוציאים '. '0 עבור ' '1כל המצבים מוציאים '. '0 352 מכונה מצומצמת *M 2 Z 353 11 NS, x=1 x=0 PS δ,0 ε, 0 α )(A γ, 0 ε, 0 β )(F α, 0 δ, 0 γ )(BD δ, 0 γ,0 δ )(CG γ, 0 β, 1 ε )(E שתי מכונות זהות הנבדלות רק בשמות המצבים נקראות איזומורפיות ) שוות צורה(. כדי לוודא ששתי מכונות הן איזומורפיות זו לזו נגדיר צורה סטנדרטית או קנונית , בה נתחיל ממצב כלשהוא ושמות המצבים ייקבעו באותיות עוקבות על פי סדר הופעתם .בנוסף ,כניסות הקלט מופיעות בסדר בינארי ,כלומר ' x='0לפני ', x = '1 או אם יש 2כניסות אזי הסדר הוא 11 , 10 , 01 , 00וכו ’ . עתה ,אם למשל נבחר את האותיות A,B,C,D,Eבמקום האותיות γ , β , δ , ε , αבהתאמה ,נקבל מכונה איזומורפית לראשונה : NS, Z x=1 354 x=0 PS C, 0 B, 0 A E, 0 D, 1 B C, 0 E, 0 C E, 0 B, 0 D A, 0 C, 0 E A 1/0 0/0 1/0 B 1/0 E 0/0 1/0 0/1 C 0/0 D 1/0 מכונה המוצגת בצורה זו מוצגת ב”צורה סטנדרטית ” . 355 12 כדי להחליט האם שתי מכונות הן איזומורפיות ,מעבירים אותן לצורה סטנדרטית .אם המצבים ההתחלתיים של שתי המכונות מצוינים ,ומתחילים מהמצב ההתחלתי כמצב , Aהמכונות הן איזומורפיות אם הצורה הסטנדרטית שלהן זהה. אם המצבים ההתחלתיים אינם מצוינים ,המשימה קשה .ניתן לבחון את דיאגרמות המצבים שלהן ואם הן זהות עד כדי שמות ,אזי המכונות איזומורפיות. כמובן שאפשרות זו היא מעשית אם מכונות המצבים אינן גדולות. 356 הגדרה : מכונה Mנקראת מכונה קשורה היטב Strongly Connected Machine אם לכל זוג מצבים ) ( Si , Sjבמכונה קיימת סדרת כניסה המעבירה את M מ Siל . Sj המכונה *) M 2האחרונה( היא קשורה היטב .לעומתה ,המכונה Z x=1 B, 1 B, 0 357 13 NS, x=0 PS A, 0 A B, 0 B איננה כזו : 0,1/0 B 1/1 A 358 שקף ריק 359 14 0/0 שקף ריק 360 שקף ריק 361 15 שקף ריק 362 שקף ריק 363 16