Presentation is loading. Please wait.

Presentation is loading. Please wait.

צורה נורמלית של גרייבך הפקולטה למדעי המחשב אוטומטים ושפות פורמליות ( 236353) תרגיל מספר 11.

Similar presentations


Presentation on theme: "צורה נורמלית של גרייבך הפקולטה למדעי המחשב אוטומטים ושפות פורמליות ( 236353) תרגיל מספר 11."— Presentation transcript:

1 צורה נורמלית של גרייבך הפקולטה למדעי המחשב אוטומטים ושפות פורמליות ( 236353) תרגיל מספר 11

2 © אריאל 2 הצורה הנורמלית של גרייבך משפט : לכל דקדוק חופשי הקשר G ( כאשר  L(G)) קיים דקדוק חופשי הקשר שקול שכל כלליו הם מהצורה A  a  כש -A הוא משתנה, a הוא סימן טרמינלי, ו -  הוא  מילה  המורכבת  מאפס  או  יותר  משתנים 

3 © אריאל 3 פעולות שבהן נשתמש ( 1)  הצבה  אם  קיים  בדקדוק  כלל  A   B   וכל  כללי  B  הם      r  B אז אפשר להחליף את הכלל של A בסדרת כללים מתאימים, שבהם מוצבות התבניות הנגזרות מ- B: A                r  

4 © אריאל 4 פעולות שבהן נשתמש ( 2)  סילוק  רקורסיה  שמאלית  אם  כל  כללי  A  שאגף  ימין  שלהם  מתחיל  ב  A  הם  A  A    A    A  r ושאר  כללי  A  הם  A      s אז אפשר להוסיף משתנה חדש Â, ולהחליף את כללי A בכללים: A  i  i Â, s  i  1 Â  i  i Â, r  i  1

5 © אריאל 5 אלגוריתם המעבר לצנ"ג נניח כעת ש - V = {A 1, A 2,..., A n } שלב 1: נשנה את הכללים כך שלכל כלל : A i  A j  יתקיים ש  i < j. (בעזרת הצבה וסילוק רקורסיה שמאלית) שלב 2: נדאג שכל כללי A i יתחילו בסימן טרמינלי. (הצבה) שלב 3: נדאג שכל כללי משתני העזר Â i יתחילו בסימן טרמינלי. (הצבה) שלב 4: נטפל בסימנים טרמינלים שמופיעים לבד. (כמו במעבר לצנ"ח - הוספת משתנה עזר S a... ).

6 © אריאל 6 דוגמא - צנ"ג נתון הדקדוק : G = ({A 1, A 2, A 3 }, {a, b}, P, A 1 ) P: A 1  A 2 a | b A 2  A 1 ab | aA 3 A 3  A 1 bA 1 A 2

7 © אריאל 7 דוגמא - צנ"ג (המשך 1) שלב 1: שינוי הכללים כך שלכל כלל : A i  A j  יתקיים  i < j. A 1  A 2 a | b A 2  bab | bab  2 | aA 3 | aA 3  2 A 3  bbA 1 A 2 | bababA 1 A 2 | bab  2 abA 1 A 2 | aA 3 abA 1 A 2 | aA 3  2 abA 1 A 2  2  aab | aab  2 A 1  A 2 a | b A 2  A 1 ab | aA 3 A 3  A 1 bA 1 A 2

8 © אריאל 8 דוגמא - צנ"ג (המשך 2) שלב 2 : כל כללי A i צריכים להתחיל בסימן טרמינלי. כללי A 3 הם כבר בצורה הדרושה. כללי A 2 הם כבר בצורה הדרושה. את הכלל : A 1  A 2 a נחליף בכללים : A 1  baba | bab  2 a | aA 3 a | aA 3  2 a שלב 3 : כל כללי  i צריכים להתחיל בסימן טרמינלי. כל כללי  i הם כבר בצורה הדרושה. A 1  A 2 a | b A 2  bab | bab 2 | aA 3 | aA 3  2 A 3  bbA 1 A 2 | bababA 1 A 2 | bab 2 abA 1 A 2 | aA 3 abA 1 A 2 | aA 3  2 abA 1 A 2  2  aab | aab 2

9 © אריאל 9 דוגמא - צנ"ג (המשך 3) שלב 4: החלפת סימנים טרמינלים שמופיעים לבד, במשתנים. A 1  b | bS a S b S a | bS a S b  2 S a | aA 3 S a | aA 3  2 S a A 2  bS a S b | bS a S b  2 | aA 3 | aA 3  2 A 3  bS b A 1 A 2 | bS a S b S a S b A 1 A 2 | bS a S b  2 S a S b A 1 A 2 | aA 3 S a S b A 1 A 2 | aA 3  2 S a S b A 1 A 2  2  aS a S b | aS a S b  2 S a  a S b  b

10 © אריאל 10 דוגמא - צנ"ג (המשך 4) גזירה בדקדוק מקורי : A 1  A 2 a  A 1 aba  baba גזירה בדקדוק חדש : A 1  bS a S b S a  baS b S a  babS a  baba


Download ppt "צורה נורמלית של גרייבך הפקולטה למדעי המחשב אוטומטים ושפות פורמליות ( 236353) תרגיל מספר 11."

Similar presentations


Ads by Google