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

Slides:



Advertisements
Similar presentations
מבוא למדעי המחשב לתעשייה וניהול
Advertisements

1 Formal Specifications for Complex Systems (236368) Tutorial #4 Refinement in Z: data refinement; operations refinement; their combinations.
תרגול 11: Backpatching שלבים בפתרון Backpatch דוגמא : SWITCH שאלה ממבחן 1.
מבוסס על הרצאות של יורם זינגר, האוניברסיטה העברית י"ם
טבלאות סמלים נכתב ע"י אלכס קוגן סמסטר חורף, תשס"ח.
גרף מכוון Directed Graph a b c f g ed h צמתים חוג עצמי קשתות.
צורה נורמלית של גרייבך הפקולטה למדעי המחשב אוטומטים ושפות פורמליות ( ) תרגיל מספר 11.
ניתוח תחבירי (Parsing)
1 Formal Specifications for Complex Systems (236368) Tutorial #2 Z introduction and notation (contd.); Birthday book example (Chapter 1 in the book); Z.
Theory of Compilation Erez Petrank Lecture 2: Syntax Analysis, Top-Down Parsing 1.
מתמטיקה בדידה תרגול 3.
ניתוח תחבירי Top-Down.
מנתח LL(1) נכתב ע"י אלכס קוגן סמסטר חורף, תשס"ח.
רקורסיות נושאי השיעור פתרון משוואות רקורסיביות שיטת ההצבה
מסדי נתונים תשס " ג 1 תכנון סכמות (Design Theory) מסדי נתונים.
תרגול 5 רקורסיות. רקורסיה קריאה של פונקציה לעצמה –באופן ישיר או באופן עקיף היתרון : תכנות של דברים מסובכים נעשה ברור ונוח יותר, מכיוון שזו למעשה צורת.
תכנות תרגול 4 שבוע : לולאות while לולאות while while (condition) { loop body } במקרה של קיום התנאי מתבצע גוף הלולאה ברגע שהתנאי לא מתקיים נצא.
רקורסיות נושאי השיעור מהן רקורסיות פתרון רקורסיות : שיטת ההצבה שיטת איטרציות שיטת המסטר 14 יוני יוני יוני 1514 יוני יוני יוני 1514.
עבודה סמינריונית Prelude to Ukkonen algorithm ON-LINE CONSTRUCTION OF SUFFIX TREES מגישים : עיד מוחמד טיבי פיראס.
ניתוח תחבירי (Parsing) Wilhelm, and Maurer – Chapter 8 Aho, Sethi, and Ullman – Chapter 4 Cooper and Torczon – Chapter 3.
אוטומט מחסנית הפקולטה למדעי המחשב אוטומטים ושפות פורמליות ( ) תרגיל מספר 11.
חורף - תשס " ג DBMS, צורות נורמליות 1 צורה נורמלית שלישית - 3NF הגדרה : תהי R סכמה רלציונית ותהי F קבוצת תלויות פונקציונליות מעל R. R היא ב -3NF.
1 Formal Specifications for Complex Systems (236368) Tutorial #5 Refinement in Z: data refinement; operations refinement; their combinations.
משפט ההרכבה Composition Theorem תהי C מחלקה של פונקציות בוליניות תהי נגדיר סדרת פונקציות שניתנות לחישוב בזמן פולינומיאלי.
בהסתברות לפחות למצא בעיה במודל PAC עבור בהסתברות ε הפונקציה f טועה מודל ONLINE 1. אחרי כל טעות הפונקציה משתפרת 2. מספר הטעיות קטן.
פישוט דקדוקים הפקולטה למדעי המחשב אוטומטים ושפות פורמליות ( ) תרגיל מספר 10.
א " ב, מילים, ושפות הפקולטה למדעי המחשב אוטומטים ושפות פורמליות ( ) תרגיל מספר 1.
א " ב, מילים, ושפות הפקולטה למדעי המחשב אוטומטים ושפות פורמליות ( ) תרגיל מספר 1.
ניתוח תחבירי (Parsing) - המשך. תזכורת : סוגי הניתוח התחבירי top-down – מהשורש לעלים ( נקרא גם – " ניתוח תחזית " – predictive) bottom-up – מהעלים לשורש.
Formal Specifications for Complex Systems (236368) Tutorial #6 appendix Statecharts vs. Raphsody 7 (theory vs. practice)
תורת הקבוצות חלק ב'. קבוצה בת מניה הגדרה: קבוצה אינסופית X היא ניתנת למניה אם יש התאמה חד-חד ערכית בין X לבין .
תכנות תרגול 6 שבוע : תרגיל שורש של מספר מחושב לפי הסדרה הבאה : root 0 = 1 root n = root n-1 + a / root n-1 2 כאשר האיבר ה n של הסדרה הוא קירוב.
מנפה שגיאות - DEBUGGER מבוא למדעי המחשב (234114) רועי מלמד
תחשיב הפסוקים חלק ג'. צורות נורמליות א. DF – Disjunctive Form – סכום של מכפלות. דוגמא: (P  ~Q  R)  (R  P)  (R  ~Q  ~P) הגדרה: נוסחה השקולה לנוסחה.
Backpatching 1. תזכורת מתרגול קודם קוד ביניים - שפת הרביעיות שיטות לייצור קוד ביניים –שימוש בתכונת code –כתיבה ישירה ל-buffer של פקודות שיטות לתרגום מבני.
מודל ONLINE לומדמורה 1. כל ניתן לחישוב בזמן פולינומיאלי 2. אחרי מספר פולינומיאלי של טעיות ( ) הלומד לא טועה ז"א שווה ל- Littlestone 1988.
א " ב, מילים, ושפות הפקולטה למדעי המחשב אוטומטים ושפות פורמליות ( ) תרגיל מספר 1.
Present Simple הווה פשוט
מבוא כללי למדעי המחשב תרגול 3. לולאות while לולאות while while (condition) { loop body } במקרה של קיום התנאי מתבצע גוף הלולאה ברגע שהתנאי לא מתקיים נצא.
הפקולטה למדעי המחשב אוטומטים ושפות פורמליות (236353)
The Cyclic Multi-peg Tower of Hanoi מעגלי חד-כווני סבוכיות הפתרון בגרסאות עם יותר מ-3 עמודים.
Ray 7 דוגמא אלגוריתם 1.קבל דוגמאות 2. פלט f a עבור הדוגמה a המינימלית החיובית ?
תחשיב הפסוקים חלק ד'. תורת ההיסק של תחשיב הפסוקים.
תכנות תרגול 5 שבוע : הגדרת פונקציות return-value-type function-name(parameter1, parameter2, …) הגדרת סוג הערכים שהפונקציה מחזירה שם הפונקציהרשימת.
מערכים עד היום כדי לייצג 20 סטודנטים נאלצנו להגדיר עד היום כדי לייצג 20 סטודנטים נאלצנו להגדיר int grade1, grade2, …, grade20; int grade1, grade2, …, grade20;
מודל הלמידה מדוגמאות Learning from Examples קלט: אוסף של דוגמאות פלט: קונסיסטנטי עם פונקציה f ב- C ז"א קונסיסטנטי עם S ז"א מודל הלמידה מדוגמאות Learning.
עקרון ההכלה וההדחה.
יחס סדר חלקי.
מבוא למדעי המחשב תרגול 3 שעת קבלה : יום שני 11:00-12:00 דוא " ל :
תחשיב היחסים (הפרדיקטים)
מודל הלמידה מדוגמאות Learning from Examples קלט: אוסף של דוגמאות פלט: קונסיסטנטי עם פונקציה f ב- C ז"א קונסיסטנטי עם S ז"א.
ניתוח תחבירי Top-Down נכתב ע"י אלכס קוגן סמסטר חורף, תשס"ח 1.
מתמטיקה בדידה תרגול 2.
1 מבוא למדעי המחשב סיבוכיות. 2 סיבוכיות - מוטיבציה סידרת פיבונאצ'י: long fibonacci (int n) { if (n == 1 || n == 2) return 1; else return (fibonacci(n-1)
מבנה מחשבים תרגול מספר 3. טענה על עצים משפט: בעץ שדרגת כל קודקודיו חסומה ב-3, מספר העלים ≤ מספר הקודקודים הפנימיים + 2. הוכחה: באינדוקציה על n, מספר הקודקודים.
1 מבוא למדעי המחשב backtracking. 2 מוטיבציה בעיית n המלכות: נתון: לוח שחמט בגודל. המטרה: לסדר על הלוח n מלכות כך שאף אחת לא תאיים על השנייה. דוגמא: עבור.
מנתח LL(1) נכתב ע"י אלכס קוגן סמסטר חורף, תשס"ח 1.
ניתוח תחבירי (Parsing) של דקדוקי LL(1)
בנייה ופישוט דקדוקים הפקולטה למדעי המחשב אוטומטים ושפות פורמליות ( ) תרגיל מספר 9.
- אמיר רובינשטיין מיונים - Sorting משפט : חסם תחתון על מיון ( המבוסס על השוואות בלבד ) של n מפתחות הינו Ω(nlogn) במקרה הגרוע ובממוצע. ניתן לפעמים.
הגדרת משתנים יום שישי 18 ספטמבר 2015 יום שישי 18 ספטמבר 2015 יום שישי 18 ספטמבר 2015 יום שישי 18 ספטמבר 2015 יום שישי 18 ספטמבר 2015 יום שישי 18 ספטמבר.
Theory of Compilation Erez Petrank Lecture 2: Syntax Analysis, Top-Down Parsing 1.
פיתוח מערכות מידע Class diagrams Aggregation, Composition and Generalization.
Practice session 3 תחביר ממשי ( קונקרטי ) ותחביר מופשט ( אבסטרקטי ) שיטות חישוב : Applicative & Normal Evaluation Partial Evaluation.
מבוא למדעי המחשב סיבוכיות.
תירגול 14: מבני נתונים דינאמיים
הפקולטה למדעי המחשב אוטומטים ושפות פורמליות (236353)
Marina Kogan Sadetsky –
תזכורת מתרגולים אחרונים
Present Simple הווה פשוט
Presentation transcript:

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

© אריאל 2 קיימות שתי צורות נורמליות Chomsky Normal Form CNF קללים מהצורה : A  BC A  a Greibach Normal Form GNF קללים מהצורה : A  a  שימושי בלמת הניפוח לשפות חסרות הקשר שימושי באוטומט מחסנית

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

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

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

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

© אריאל 7 GNF: דוגמא נתון הדקדוק : 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

© אריאל 8 GNF: דוגמא (המשך 1) שלב 1: שינוי הכללים כך שלכל כלל : A i  A j  יתקיים  i < j. A 1  A 2 a | b A 2  bab | babA’ 2 | aA 3 | aA 3 A’ 2 A’ 2  aab | aabA’ 2 A 3  bbA 1 A 2 | bababA 1 A 2 | babA’ 2 abA 1 A 2 | aA 3 abA 1 A 2 | aA 3 A’ 2 abA 1 A 2

© אריאל 9 GNF: דוגמא (המשך 2) שלב 2 : כל כללי A i צריכים להתחיל בסימן טרמינלי. כללי A 3 הם כבר בצורה הדרושה. כללי A 2 הם כבר בצורה הדרושה. את הכלל : A 1  A 2 a נחליף בכללים : A 1  baba | babA’ 2 a | aA 3 a | aA 3 A’ 2 a שלב 3 : כל כללי A’ i צריכים להתחיל בסימן טרמינלי. כל כללי A’ i הם כבר בצורה הדרושה.

© אריאל 10 GNF: דוגמא (המשך 3) שלב 4: החלפת סימנים טרמינלים שמופיעים לבד, במשתנים. A 1  b | bS a S b S a | bS a S b A’ 2 S a | aA 3 S a | aA 3 A’ 2 S a A 2  bS a S b | bS a S b A’ 2 | aA 3 | aA 3 A’ 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 A’ 2 S a S b A 1 A 2 | aA 3 S a S b A 1 A 2 | aA 3 A’ 2 S a S b A 1 A 2 A’ 2  aS a S b | aS a S b A’ 2 S a  a S b  b

© אריאל 11 הצורה הנורמלית של חומסקי משפט : כל שפה חופשית הקשר שאינה מכילה את  אפשר ליצור באמצעות דקדוק שכל כלליו הם מהצורה A  BC או A  a כש - A, B, C הם משתנים ו - a הוא סימן טרמינלי.

© אריאל 12 אלגוריתם המעבר ל- CNF שלב 1: לכל a  T נוסיף משתנה S a ואת הכלל S a  a. בכל כלל, לכל סימן טרמינלי a  T, שמופיע לא לבדו באגף ימין, נחליף כל מופע שלו ב - S a. שלב 2: לכל כלל עם t  2 משתנים באגף ימין, נוסיף (t - 2) משתנים חדשים ובעזרתם נחליף את הכלל בשרשרת שקולה של כללים.

© אריאל 13 CNF: דוגמא נתון הדקדוק : G = ({S, A, B}, {a, b}, P, S) P: S  Aa | a A  Ab | b | BBAb | BAa | Aa | BBa | Ba | a | aab B  BBAa | BAa | Aa | BBa | Ba | a | aab

© אריאל 14 CNF: דוגמא (המשך 1) שלב 1: החלפת סימנים טרמינליים במשתנים : S  AS a | a A  AS b | b | BBAS b | BAS a | AS a | BBS a | BS a | a | S a S a S b B  BBAS a | BAS a | AS a | BBS a | BS a | S a | S a S a S b S a  a S b  b

© אריאל 15 CNF: דוגמא (המשך 2) שלב 2 : קיצור תבניות ארוכות : S  AS a | a A  AS b | b | BY 1 | BY 3 | AS a | BY 4 | BS a | a | S a Y 5 B  BY 6 | BY 8 | AS a | BY 9 | BS a | S a | S a Y 10 S a  a S b  b Y 1  BY 2,Y 6  BY 7 Y 2  AS a,Y 7  AS a Y 3  AS a,Y 8  AS a Y 4  BS a,Y 9  BS a Y 5  S a S b,Y 10  S a S b