אוטומטים ושפות פורמליות מבוא לתורת החישוביות

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "אוטומטים ושפות פורמליות מבוא לתורת החישוביות"

Transcript

1 אוטומטים ושפות פורמליות מבוא לתורת החישוביות סמי זעפרני המחלקה להנדסת חשמל ואלקטרוניקה מכללת אורט בראודה כרמיאל מוקדש לזכרו של משה בנסל חבר, עמית, ומורה דרך מהדורה March 24,2.2

2 הקדשה הספר מוקדש לזכרו היקר של משה בנסל (955-2), אשר במהלך שלושים שנות עבודתו בחברת אינטל היה תמיד מקור השראה לערכי אנושיות, חברות, ומצוינות. יהי זכרו ברוך Moshe Bensal כל הזכויות שמורות c All rights reserved למחברים to the authors 23 אין להעתיק, לצלם, או לתרגם את הספר או כל חלק ממנו בצורה כלשהי או באמצעים כלשהם, לרבות הקלטה ואיחסון במאגר מידע, אלא באישור בכתב מבעלי זכויות היוצרים. No part of this book may be reproduced by any mechanical, photographic, or electronic process, transmitted or otherwise copied for public or private use, without written permission from the authors.

3 הקדמה הספר הזה מנסה להקיף את הנושאים העיקריים הנלמדים בקורס אקדמי ראשון בתורת החישוביות או "אוטומטים ושפות פורמליות" (כפי שהוא נקרא לפעמים). קורס כזה נלמד לרוב בפקולטות למדעי המחשב או הנדסת חשמל ואלקטרוניקה, ומהווה בסיס הכרחי עבור מרבית קורסי ההמשך התאורטיים בתורת האלגוריתמים ושפות תיכנות. מטרת הספר היא לספק הסברים תמציתיים ודוגמאות יסודיות בנושאים השונים. קיימים ספרים רבים וטובים המספקים פירוט רב ומעמיק יותר, וספר זה אינו מתיימר להחליפם. הפורמט של הספר מוכוון בעיקר עבור קריאה נוחה באמצעות טבלטים וקוראים אלקטרוניים למיניהם הרבים (ובכך אולי להציל מספר עצים על כדור הארץ). הגופן הגדול והתימצות אמורים גם להקל על הקריאה באמצעים אלקטרוניים, ולסייע למרצים או מתרגלים להשתמש בדפי הספר כשקפים בכיתת הלימוד (ולספק לתלמידים יותר פרטים במקומות בהם הדברים הובאו בתימצות יתר). הספר אכן מבוסס על סדרת שקפים שניתנו בקורס זה בעבר, ונעשה מאמץ רב לשמור על הפורמט המקורי. זוהי הגירסה הראשונה של הספר,ובגירסאות הבאות יעשה מאמץ נוסף להתאים את הספר לקוראים אלקטרוניים באמצעות הוספת קישורים שיאפשרו לקורא מעברים מהירים בין הנושאים השונים. סמי זעפרני, מרץ 24

4 4 תוכן עניינים מבוא 8 2 רקע מתמטי 2. קבוצות סדרות פונקציות (העתקות) גרפים גרפים מכוונים גרפים מסומנים טכניקות הוכחה מחרוזות ושפות 2 4 אוטומטים סופיים מונחי יסוד שפות רגולריות אוטומטים לא דטרמיניסטיים 29 6 שקילות בין אוטומטים דטרמיניסטיים ולא דטרמיניסטיים 37 7 אוטומטים עם מעברי 42 ε 8 ביטויים רגולריים הגדרה דרגת המורכבות של ביטוי רגולרי שקילות בין ביטויים רגולריים ואוטומטים סופיים אוטומטים מוכללים תכונות של שפות רגולריות 75

5 5 תוכן עניינים 9. משפט הניפוח עבור שפות רגולריות הוכחת משפט הניפוח תכונות סגירות של השפות הרגולריות אלגוריתמי הכרעה עבור קבוצות רגולריות 94 משפט מייהיל נרוד (Myhill-Nerode). אוטומטים ויחסי שקילות המשפט של. Myhill-Nerode אלגוריתם למציאת אוטומט מינימלי 3 3 דיקדוק חסר הקשר תכונות נוספות של יחס הגזירה עצי גזירה 44 5 הקשר שבין עצי גזירה ומסלולי גזירה 48 6 רב משמעות 53 7 משתנים שמושיים ומשתנים מיותרים 59 8 פרודוקציות 7 ε 9 פרודוקציות יחידה 76 2 הצורה הנורמלית של חומסקי 8 2. הוכחה דוגמא אלגוריתם לקביעת התקבלות אוטומט מחסנית לא דטרמיניסטי קבלה על ידי מצב סופי הבהרות דוגמא

6 6 תוכן עניינים אוטומטים ושפות פורמליות מטרתהקורס: הבנתמושגהאוטומטהסופיעלכלצורותיווהקשרשלולשפות פורמליות ולשפות תיכנות. היקף הקורס: סמסטר אחד, שעתיים הרצאה ושעתיים תירגול. דרישות קדם: נדרש ידע אקדמי בסיסי בנושאי לוגיקה,תורת הקבוצות,תורת הגרפים, וקומבינטוריקה נושאי הלימוד תווים. מחרוזות. שפות פורמליות. אוטומט סופי: דטרמיניסטי ולא דטרמיניסטי. דיאגרמות מעבר. שפות רגולריות וביטויים רגולריים. שקילות בין אוטומטים דטרמיניסטיים ולא דטרמיניסטיים. שקילות בין אוטומטים סופיים וביטויים רגולריים. תכונות של שפות רגולריות. משפט הניפוח עבור שפות רגולריות Lemma).(Pumping משפט.Myhill-Nerode טכניקות לזיהוי ותאור שפות רגולריות ולהוכחה כי שפות מסוימות אינן רגולריות. שפות חסרות הקשר. דיקדוק רגולרי ודיקדוק חסר הקשר.

7 7 תוכן עניינים מסלולי גזירה ועצי סריקה. שפות דו משמעיות. תכונות של שפות חסרות הקשר. הצורה הנורמלית של חומסקי. הצורה הנורמלית של גרייבך. משפט הניפוח עבור שפות נטולות הקשר. אוטומט מחסנית. ספרי לימוד מומלצים. אוטומטים ושפות פורמליות. פרופסור שמול זקס, פרופסור נסים פרנסיז, הטכניון, כרכים א, ב. הוצאת האוניברסיטה הפתוחה. 2. תורת החישוביות, עודד גולדרייך, הטכניון, חיפה. 3. Introduction to the Theory of Computation. Michael Sipser. 4. Introduction to Automata Theory, Languages, and Computation. John E. Hopcroft, Jefferey D. Ulman. Addison-Weseley series in computer science, ISBN X. 5. Introduction to the Theory of Computation. Michael Sipser, PWS Publishing Company, Thomson Publishing, 7625 Empire Drive Florence, KY An Introduction to Formal Languages and Automata. Peter Linz, Lexington, Massachusettes : D.C. Heath, c99, QA267.3, L56, Computational Complexity. Papadimitriou C. H., Addison-Wessley 994, Reading Massachusettes. ISBN/ISN Structural Complexity I, Jose Luis Balcasar, Josep Diaz, and Joaquim Gabarro, Springer-Verlag 988.

8 8 פרק מבוא תורת האוטומטים היא החלק הראשון של תורת החישוביות התאוריה המתמטית של מדעי המחשב. אחת ממטרות הקורס היא להקנות הרגלי חשיבה מתמטית קפדנית יכולת לספק נימוקים מתמטיים מדויקים לנכונותם של פתרונות תוכנה או חומרה לבעיות חישוב. עניין זה חיוני במיוחד עבור תיכנון,ניתוח,ואימות של מערכות תוכנה גדולות ומורכבות. מכונות חישוב לסוגיהם הרבים הן מימוש בחומרה של מודלים מתמטיים טהורים שניתן להגדיר, לחקור, ולנתח בצורה לוגית מתמטית בלתי תלויה באופן המימוש שלהם בחומרה. הדבר נכון גם לגבי תוכנות מורכבות כמו קומפיילרים וסורקים למיניהם הרבים. שלב מוקדם והכרחי הבא לפני המימוש (באמצעות חומרה או תוכנה בשפת תכנות מתאימה) הוא השלב האנליטי של ניסוח הבעייה, בדיקת היתכנות של פיתרונות תאורטיים, והוכחת הנכונות של הפיתרון האופטימלי (אם הוא קיים). לפעמים,בשלב הניתוח התאורטי מתברר כי בעייה נתונה אינה ניתנת לפיתרון על ידי מחשב (מכל סוג קיים או שיהיה קיים בעתיד) או שהפיתרון קיים אך זמן החישוב הוא בלתי מעשי. לפעמים מתברר כי בעייה נתונה ניתן

9 9 פרק.מבוא לפתורבכמה דרכים, כאשרדרך אחתיותרקצרה (בזמן חישוב) מדרך שניה. במקרים כאלה תשאל השאלה האם דרך מסוימת היא הכי קצרה? וכיצד ניתן להוכיח טענה מסוג זה? בתורת החישוביות, שהיא המסגרת היותר כללית של תורת האוטומטים נשאלות שאלות יותר בסיסיות כגון: מה זה חישוב? מה ניתן לחשב ומה לא? האם קיימות בעיות אשר לא ניתן לפתור על ידי מחשב? ואם כן, איך מוכיחים שבעיות כאלה בלתי פתירות? איך מוכיחים שתוכנית מחשב (או אלגוריתם) אכן פותר את הבעייה שהוא אמור לפתור? איך נוכיח שפיתרון תוכנה מסוים הוא הפיתרון המהיר ביותר שניתן להשיג? מהי שפה פורמלית? מהי שפת תיכנות? וכיצד מגדירים ומנתחים שפות כאלה? כל השאלות הנ"ל מודגמות בצורה יותר בהירה וחדה ומקבלות מענה מתאים גם בתורת האוטומטים הסופיים. מוטיבציה: מרבית הנושאים שיילמדו בקורס חיוניים עבור תיכנון וניתוח של מערכות מורכבת של תוכנה או חומרה. לדוגמא,תורת האוטומטים הסופיים והביטויים הרגולריים דרושה עבור תיכנון של מעגלים לוגיים, קומפיילרים, סורקים, מעבדי פקודות, עורכי תמלילים, ומנועים לוגיים כגון.Prolog

10 פרק.מבוא אוטומטים ושפות פורמליות מהווים בסיס חשוב עבור תחומים לא מתמטיים כגון עבוד שפות טבעיות, בלשנות, וחקר המוח. שימוש חשוב מאוד של תורת הביטויים הרגולריים קיים בתחומי התקשורת והאינטרנט. עבור תיכנון פרוטוקולים של תקשורת ואלגוריתמים ליצירה דינמית וסריקה של דפי,HTML כתיבת תוכניות,CGI וכדומה. כל אלה בלתי אפשריים ללא שליטה מלאה בנושא האוטומטים והביטויים הרגולריים. במסגרת הקורס יובאו דוגמאות מתאימות. הגדרה לוגית מוצקה של שפות תיכנות, קומפיילרים, וסורקים מהירים אפשרית הודות לתורה המתמטית של השפות חסרות ההקשר (החלק השני של הקורס). מכאן שהבנה מעמיקה של נושאי הקורס שלפנינו היא חיונית (ולמעשה הבסיס התאורטי) עבור קורסי המשך במדעי המחשב.

11 פרק 2 רקע מתמטי להלן סקירה מהירה של מושגים יסודיים מתורת הקבוצות, תורת הגרפים, וקומבינטוריקה, הדרושים לנו. המטרה כאן היא לרענן את זכרונו של הקורא באמצעות תזכורות ודוגמאות קצרות, ולכן לא נתעכב על הגדרות מלאות ומפורטות. הקורא הזקוק לריענון יסודי יותר, יימצא פירוט רחב ומעולה בספר של האוניברסיטה הפתוחה: "אוטומטים ושפות פורמליות" כרך ראשון. 2. קבוצות לסדר האיברים בקבוצה אין שום חשיבות: {7,,4} = {,4,7}. יש להבחין בין קבוצות סופיות וקבוצות אינסופיות. קבוצה סופית: {2,4,6}. קבוצה אינסופית: n} מספר זוגי {n =.{2,4,6,...} תת קבוצה:.A B,A B איחוד: B} A B = {x x A or x חיתוך: B} A B = {x x A and x

12 2 פרק 2.רקעמתמטי חיסור: B} A B = {x x A and x / קבוצת החזקה של קבוצה A היא קבוצת כל תתי הקבוצות של A: P(A) = {X X A} דוגמא: אם } 2 A = {q,q,q אז P(A) = {,{q },{q },{q 2 },{q 3 },{q,q },{q,q 2 },{q,q 2 },A} 2.2 סדרות לסדר יש חשיבות: (7,,4).(,4,7) סדרה סופית נקראת n יה. סדרה בת שני איברים נקראת זוג סדור. מכפלה קרטזית של שתי קבוצות: A B = {(a,b) a A and b B} באופן דומה נגדיר את הקבוצות: A, 3 A, 2... A 2 = A A = {(a,b) a,b A} A 3 = A A A = {(a,b,c) a,b,c A}

13 3 פרק 2.רקעמתמטי 2.3 פונקציות (העתקות) פונקציה במובנה המלא נתונה על ידי שלושה רכיבים: f. : A B f שם הפונקציה. A תחום הפונקציה: קבוצת כל הארגומנטים עליהם הפונקציה יכולה לפעול. B טווח הפונקציה: קבוצת הכוללת את כל האיברים שעשויים להתקבל כפלט של הפונקציה (אך עשויה להיות גדולה יותר). תחום הפונקציה היא קבוצת כל ערכי הקלט של f, וטווח הפונקציה היא קבוצת ערכים העשויים להתקבל כפלט של f. הערה: לא כל איברי B חייבים להתקבל כפלט של f! 2.4 גרפים גרף פשוט (או גרף לא מכוון) (V,E) G: = V קבוצת קודקודים (או צמתים) E {{a,b} a,b V} קבוצת צלעות, E V = {,2,3,4,5} E = {{,3},{,4},{2,4},{2,5},{3,5}} דוגמא: נאמר כי צלע {a,b} e = מחברת את הקודקוד a לקודקוד b, ושהקודקוד a מחובר לקודקוד b על ידי e. דרגה של קודקוד היא מספר הצלעות היוצאות ממנו.

14 4 פרק 2.רקעמתמטי נתיב (path) בגרף פשוט הוא סדרת קודקודים שונים ) n (v,v 2,...,v כך שכל שני קודקודים סמוכים מהווים צלע בגרף. כלומר, לכל i, < n.{v i,v i+ } E מסלול (walk) בגרף פשוט הוא סדרת קודקודים ) n (v,v 2,...,v כך שלכל.{v i,v i+ } E,i < n הקודקודים אינם חייבים להיות שונים זה מזה. מחזור בגרף פשוט הוא נתיב ) n v) v, 2 v,..., אשר בו הקודקוד האחרון מחובר לקודקוד הראשון:.{v n,v } E גרף קשיר הוא גרף אשר בו בין כל שני קודקודים שונים קיים נתיב המתחיל בקודקוד אחד ומסתיים בקודקוד השני. עץ (לא מכוון) הוא גרף קשיר ללא מחזורים. 2.5 גרפים מכוונים גרף מכוון (V,E) :G = V קבוצת צמתים (או קודקודים) E V V קבוצת צלעות מכוונות, E V = {,2,3,4,5} E = {(,3),(,4),(2,4),(4,2),(2,5),(3,5)} דוגמא: בצורה דומה נגדיר את המושגים הבאים: נתיב מכוון, מסלול מכוון, מחזור מכוון, עץ מכוון.

15 5 פרק 2.רקעמתמטי 2.6 גרפים מסומנים גרף מסומן (V,E,Σ) G = מורכב מהדברים הבאים: V קבוצת צמתים (או קודקודים) Σ היא קבוצת תווים המשמשים לסימון צלעות בגרף E (V Σ V) קבוצת צלעות מסומנות, E כל צלע בגרף מיוצגת על ידי שלשה מכוונת ) 2 v),,a,v כאשר v v, 2 הם שני קודקודים מתוך V, ואילו a הוא תו המסמן את הצלע. בניגוד לגרף מכוון רגיל, בין שני קודקודים בגרף מסומן עשויות לעבור כמה צלעות שונות! ההבדלים בין הצלעות מתבטא בתווים. יתר על כן: בגרף מסומן עשויות לעבור כמה צלעות שונות מקודקוד לעצמו! השונות תתבטא בתווים שונים על כל צלע. דוגמא: V = {q,q,q 2,q 3,q 4 } Σ = {,,2} E = {(q,,q ), (q,,q ), (q,,q ), (q,2,q 2 ), (q,2,q 3 ), (q 2,,q ), (q 2,,q 3 ), (q 3,,q 3 ), (q 3,,q 2 ), (q 3,,q 4 )} ייצוג גרפי: q 2 q3 q q2 q4

16 6 פרק 2.רקעמתמטי בכדי לתאר מסלולים בגרף מסומן חובה לכלול את התווים המסמנים את צלעות המסלול! אחרת תתכן רב משמעות. דוגמאות למסלולים בגרף הנ"ל: q q 2 q 3 א. q2 q q q q 2 ב. q 2 q 2 q 2 q 2 q 2 ג. q 2.7 טכניקות הוכחה במהלך הקורס נוכיח משפטים שונים באחת מדרכי ההוכחה הבאות: א. הוכחה באינדוקציה ב. הוכחה על ידי בנייה ג. הוכחה על דרך השלילה הוכחות רבות בתורת החישוביות מתבססות על שיטת האינדוקציה. נביא דוגמא מקדימה לכל שיטת הוכחה. מחרוזת תווים תקרא כפולה אם כל אחד מהתווים של האלפבית מופיע בה פעמיים בדיוק. למשל אם האלפבית שלנו הוא {a,b,c} Σ = אז המחרוזות הבאות הן מחרוזות כפולות: abbacc, cabcba, cbcaba שאלה: כמה מחרוזות כפולות קיימות באלפבית בעל n תווים?

17 7 פרק 2.רקעמתמטי משפט: בכל אלפבית בעל n תווים, מספר המחרוזות הכפולות הוא (2n)! הוכחה על ידי אינדוקציה: 2 n נסמן ב ( F(n את מספר המחרוזות הכפולות מעל אלפבית בעל n תווים. בסיס האינדוקציה: ) = (n ברור כי באלפבית בעל תו אחד ויחיד ניתן ליצור מחרוזת כפולה אחת בלבד.. = (2 )! כלומר =.F() זה מתאים לנוסחה: 2 F(n) = (2n)! הנחת האינדוקציה: 2 n F(n+) = (2n+2)! צריך להוכיח: +n 2 ראשית כל נציין כי כל מחרוזת כפולה מעל אלפבית של n סימנים חייבת להיות באורך 2n. באלפבית של + n סימנים, כל מחרוזת כפולה היא באורך 2+2n וברור כי היא מתקבלת ממחרוזת כפולה של n תווים על ידי הוספת פעמיים תו חדש בשדות שבשירטוט הבא: a a a a a n field field 2 field 3 field 4 field 2n+ בכדילקבלמילהכפולהבאלפביתשלn+ תוויםממילהכפולה a a 2 a 2n באלפבית של n תווים יש לשבץ את התו החדש, שנקרא לו x, בתוך שתי משבצות ריקות. קיימות שתי דרכים עקריות לעשות זאת: דרך א : לשבץ את x באותו שדה כמו בציור הבא: a a x x a a a n field field 2 field 3 field 4 field 2n+ ברור כי יש בדיוק +2n אפשרויות לעשות זאת.

18 8 פרק 2.רקעמתמטי דרך ב : לשבץ את x בשני שדות שונים כמו בציור הבא: a a x a a a n x field field 2 field 3 field 4 field 2n+ ) ( אפשרויות לעשות זאת. כזכור 2n+ ברור כי יש בדיוק 2 ( ) 2n+ = (2n+)! 2 2 (2n )! = (2n+)2n = (2n+)n 2 לסיכום, מכל מילה כפולה באלפבית של n תווים ניתן ליצור (2n+)n+(2n+) מילים כפולות באלפבית של +n תווים. הסכום נותן.(2n+)(n+) לכן F(n+) = (2n+)(n+)F(n) = (2n+)(n+) (2n)! 2 n = (2n+2)(2n+) (2n)! 2 2 n = (2n+2)! 2 n+ תרגיל: כמה מילים משולשות ישנן באלפבית של n תווים? המשפט הבא מדגים מהי הוכחה על ידי בניה: משפט: לכל n זוגי קיים גרף פשוט אשר לכל קודקודיו דרגה 3 הוכחה על ידי בניה: נוכיח את המשפט על ידי כך שנבנה את הגרף המבוקש V = {v,v 2,...,v n } { } E = {v i,v j } j = i+ (j = n i = ) j = i+ n 2

19 9 פרק 2.רקעמתמטי למשל, עבור = 8 n, הגרף יראה כך: v v2 v8 v3 v7 v4 v6 v5

20 2 פרק 3 מחרוזות ושפות אלפבית היא קבוצה סופית Σ של תווים (סימנים). מחרוזת: סדרה סופית של תווים. למשל אם {a,b,c} Σ = אז w = aacbcca היא מחרוזת (או מילה) מעל האלפבית Σ. אורך המחרוזת: מספר התווים במחרוזת יסומן על ידי w. בדוגמא הנ"ל: = 7. w המחרוזת הריקה: ε. אורך המחרוזת הריקה הוא. היפוך: ההיפוך של המחרוזת w הוא,accbcaa והוא מסומן לרוב על ידי w. R תת מחרוזת: המחרוזת abb היא תת מחרוזת של.aabbbc רישא: המחרוזת aab היא רישא של.aabbbc סיפא: המחרוזת bbc היא סיפא של.aabbbc רישא וסיפא הם שני מקרים מיוחדים של תתי מחרוזות! שירשור או חיבור מחרוזות: החיבור של המחרוזות aab ו bc הוא.aabbc

21 2 פרק 3.מחרוזות ושפות המחרוזת aaaaa תסומן בקיצור על ידי a. 5 המחרוזת a 3 bc 4 היא לכן.aaabcccc שפה היא קבוצת מחרוזות L מעל אלפבית Σ. דוגמאות: Σ = {,,2,3,4,5,6,7,8,9} L = {,5,55,555,...} Σ = {,,2,3,4,5,6,7,8,9} L = {3,3,34,34,345,3459,...} Σ = {,,+,=} L = {+=,+=,+=,+=} 4 החומצות האמיניות= {A,C,G,T} Σ = L = {w DNA שרשרת w} א. ב. ג. ד. תווים מתוך האלפבית יסומנו בדרך כלל על ידי האותיות c, b, a,... מחרוזות יסומנו על ידי האותיות,z,y,x,w,v,u... Σ. קבוצת כל המחרוזות מעל האלפבית Σ + Σ קבוצת כל המחרוזות מעל האלפבית Σ ללא המחרוזת הריקה. פעולות בין שפות: L L 2 = {w w L or w L 2 } א. איחוד

22 22 פרק 3.מחרוזות ושפות L L 2 = {w w L and w L 2 } L L 2 = {uv u L and v L 2 } ב. חיתוך ג. שירשור L = {ε} L = L L 2 = LL L n+ = L n L ד. חזקה אם Σ הוא האלפבית שלנו, מהן השפות Σ, 2 Σ,...? ה. סגור תחת שירשור L = n= Ln L + = n= Ln ההבדל היחידי בין L ו + L הואש L ε אך + L ε רקאם.ε L במילים אחרות אם ε / L אז {ε}.l + = L דוגמאות: אם {,} = L 2 = {,},L אז L L 2 = {,,,} L L 2 = L L 2 = {,,} L 2 = {,,,} L = {ε,,,,,,,,...} אם {,} = L אז אם בשפה L יש לפחות מחרוזת אחת אז השפות L ו + L אינסופיות.

23 23 פרק 4 אוטומטים סופיים 4. מונחי יסוד אוטומט סופי היא מכונת חישוב תאורטית המתאפיינת על ידי הדברים הבאים: Q קבוצת מצבים בהן המכונה עשויה להיות. Σ האלפבית שמעליו מוגדרות המחרוזות המוזנות לאוטומט. δ : Q Σ Q פונקציית מעבר δ F. Q קבוצת מצבי קבלה (או מצבי סיום), F q מצבההתחלהשלהאוטומט. זהומצבאשרבוהאוטומטנמצאבתחילתו של כל תהליך חישוב. M = (Q,Σ,δ,F,q ) סימון מקוצר: בכל פעם שמדברים על אוטומט יש לציין בבירור (אם זה לא ברור מתוך ההקשר) את כל חמשת הדברים הנ"ל. נוכל לדמות אוטומט סופי למכונת חישוב בעלת סרט בלתי מוגבל באורכו וראש קורא הנע מעל תאי הסרט בכוון אחד (משמאל לימין). כאשר המכונה נמצאת במצב q וראש המכונה קורא תו מסוים a ראש המכונה יעבור לתא

24 24 פרק 4.אוטומטים סופיים הבא (מימין) והמכונה תעבור למצב חדש q בהתאם לפונקציית המעבר.q = δ(q,a) ) 2) state state q q q q 3) 4) state state q q q q מחרוזת שהוזנה לאוטומט מתקבלת על ידי האוטומט אם לאחר שראש האוטומט הגיע לסוף המחרוזת, האוטומט נמצא באחד ממצבי הקבלה. מבחינה מתמטית מספיקה ההגדרה הבאה בכדי לתאר את האוטומט M הנ"ל: Q = {q,q } δ Σ = {,} q q q q = Start q q q F = {q } הגדרה: אוטומט M מקבל מחרוזת w אם לאחר סריקת כל התווים של w האוטומט מגיע לאחד ממצבי הקבלה שלו. נאמר גם שהמחרוזת w מתקבלת על ידי האוטומט M. למשל, האוטומט M הנ"ל מקבל את המחרוזת.

25 25 פרק 4.אוטומטים סופיים q q q q סדרת חישוב: המילה לעומת זאת אינה מתקבלת על ידי M q q q q גם המילה אינה מתקבלת על ידי M. הגדרה: השפה המתקבלת על ידי אוטומט M היא קבוצת כל המחרוזות המתקבלות על ידי M. שפה זו מסומנת על ידי.L(M) בעייה שכיחה: למצוא תאור מילולי פשוט ככל האפשר של.L(M) למשל, מהי בדיוק השפה המתקבלת על ידי האוטומט M מהדוגמא הנ"ל? מורכבות ההגדרה של אוטומט סופי מחייבת את הבנתו באמצעות מודלים מתמטיים נוספים. המודל הקרוב ביותר: גרף מסומן קבוצת קודקודים: Q קבוצת צלעות: } q E = {(q,a,q ) δ(q,a) = קבוצת התווים המשמשים לסימון צלעות הגרף היא כמובן Σ. מאחר ו δ היא פונקציה, לגרף שלנו תהיה התכונה המיוחדת: מכל קודקוד q ולכל תו a קיימת בדיוק צלע יוצאת אחת המסומנת a. דיאגרמות מעבר קל יותר לתאר ולהבין אוטומטים באמצעות דיאגרמות מעבר. את האוטומט

26 26 פרק 4.אוטומטים סופיים שלנו M נתאר כך: Start q q לכל מצב q של האוטומט M מתאים קודקוד אחד בגרף המיוצג על ידי מעגל שבמרכזו רשום שם המצב. אם q הוא מצב קבלה של האוטומט אז נציין עובדה זו על ידי מעגל כפול. פונקציית המעבר המורחבת δ δ : Q Σ Q א. δ (q,ε) = q ב. δ(q,a) a Σ,δ (q,a) = ג. (q,w),a) w Σ,δ (q,wa) = δ (δ הערה: זוהי הגדרה רקורסיבית! דוגמא: נחשב מספר ערכים של δ עבור האוטומט M הנ"ל δ (q,) = q δ (q,) = δ (δ (q,),) = δ (q,) = q δ (q,) = δ (δ (q,),) = δ (q,) = δ (q,) = q הפונקציה δ חשובה מאוד לשם הגדרת מושגים נוספים וניתוח אוטומטים.

27 27 פרק 4.אוטומטים סופיים למשל, את השפה המתקבלת על ידי אוטומט M נוכל להגדיר בצורה מדויקת L(M) = {w Σ δ (q,w) F} יותר נוכללהשתמשבפונקציה δ גםבכדילהוכיחטענות. נחזורלאוטומטהדוגמא L(M) = { w {,} w מסתיימת בתו } שלנו M. טענה: הוכחה: להוכחה שני כוונים. כוון ראשון: תהי w מחרוזת בינארית המסתיימת בתו. אזי u w, = u מחרוזת בינארית. δ (q,w) = δ (q,u) = δ (δ (q,u),) = { δ (q,) = q δ (q,) = q הערך של (u, δ q) יכול להיות q או q ובשני המקרים האוטומט יעבור למצב קבלה q. כוון שני: נניח ש L(M).w נסמן,w = ua כאשר {,},u.a =, נוכיח שבהכרח = a. נניח בשלילה ש = a. אזי { δ δ (q,w) = δ (q,u) = δ (δ (q,) = q (q,u),) δ (q,) = q הגדרה: שני אוטומטים M 2 M, נקראים שקולים אם L(M ) = L(M 2 ) סימון:.M M 2

28 28 פרק 4.אוטומטים סופיים דוגמא: יהיו M 2 M, שני האוטומטים הבאים: M M2 q Start q q Start q q2 לא קשה להוכיח כי האוטומט M 2 מקבל את שפת כל המחרוזות הבינאריות המסתיימות באפס, ולכן.M M שפות רגולריות הגדרה:שפהL נקראתשפהרגולריתאםקייםאוטומט M כךש ( L(M.L = בשלב הזה נציג רשימת שאלות שיעסיקו אותנו בהמשך: א. האם קיימת דרך (אלגוריתם) לקבוע אם שפה נתונה L היא רגולרית? ואם כן, האם קיים אלגוריתם למציאת אוטומט M שמקבל את השפה?L ב. האם קיים אלגוריתם שבאמצעותו ניתן לקבוע אם?M 2 עבור כל שני אוטומטים,M L(M ) = L(M 2 ) ג. בהינתן אוטומט מורכב M, האם קיים אוטומט פשוט יותר השקול לו? והאם קיים אלגוריתם מעשי למציאת אוטומט שקול קטן ביותר?

29 29 פרק 5 אוטומטים לא דטרמיניסטיים אוטומט סופי רגיל נקרא לפעמים גם אוטומט דטרמיניסטי משום שמכל מצב q ולכלתו a ישנה בדיוק דרך אחת לעבורלמצב הבא. מגבלה זו אינה קיימת באוטומט לא דטרמיניסטי. כלומר ממצב נתון q ותו a ייתכנו אפס או יותר מצבים שאליהם יוכל לעבור האוטומט כפי שרואים בדיאגרמת המעבר הבאה: NPDA Start q q3 q4 q q2 אוטומט לא דטרמיניסטי סופי היא מכונת חישוב תאורטית המתאפיינת על ידי הדברים הבאים: Q קבוצת מצבים בהן המכונה עשויה להיות. Σ האלפבית שמעליו מוגדרות המחרוזות המוזנות לאוטומט. δ : Q Σ P(Q) פונקציית מעבר δ

30 3 פרק 5.אוטומטים לא דטרמיניסטיים F. Q קבוצת מצבי קבלה (או מצבי סיום), F q מצבההתחלהשלהאוטומט. זהומצבאשרבוהאוטומטנמצאבתחילתו של כל תהליך חישוב. תזכורת: P(Q) היא קבוצת כל תתי הקבוצות של Q. ההגדרה של אוטומט לא דטרמיניסטי זהה בכל להגדרת אוטומט דטרמיניסטי מלבד בפונקציית המעבר שמעתיקה זוג (q,a) לקבוצת מצבים.δ(q,a) Q משמעות הדבר היא שאם אוטומט לא דטרמיניסטי נמצא במצב q כאשר הוא קורא תו a הוא יוכל לעבור לכל אחד מהמצבים בקבוצה.δ(q,a) M = (Q,Σ,δ,F,q ) סימון מקוצר: בכל פעם שמדברים על אוטומט לא דטרמיניסטי יש לציין בבירור (אם זה לא ברור מתוך ההקשר) את כל חמשת הדברים הנ"ל. בניגוד לאוטומט דטרמיניסטי, עבור כל מחרוזת w, קיימות בדרך כלל מספר גדול של סדרות חישוב שונות, ובמקרים מסוימים אף לא סדרת חישוב אחת. למשל, באוטומט הנ"ל, קיימות ארבע סדרות חישוב שונות עבור המחרוזת q q q q q q q q q q3 q4 q 4 q q q q q q q q q 2 q2 q2 q 2 :w = הגדרה: אנו נאמר כי מחרוזת w מתקבלת על ידי אוטומט לא דטרמיניסטי M אם לפחות אחת מסדרות החישוב של w מסתיימת במצב קבלה.

31 3 פרק 5.אוטומטים לא דטרמיניסטיים המחרוזת מתקבלת על ידי M. מבחינה מתמטית מספיקה ההגדרה הבאה בכדי לתאר את האוטומט M הנ"ל: Q = {q,q,q 2,q 3,q 4 } Σ = {,} q = Start F = {q 2,q 4 } δ q {q,q 3 } {q,q } q {q 2 } q 2 {q 2 } {q 2 } q 3 {q 4 } q 4 {q 4 } {q 4 } הגדרה: השפה המתקבלת על ידי אוטומט לא דטרמיניסטי M היא קבוצת כל המחרוזות המתקבלות על ידי M. שפה זו מסומנת על ידי.L(M) בעייה שכיחה: למצוא תאור מילולי פשוט ככל האפשר של.L(M) למשל, מהי בדיוק השפה המתקבלת על ידי האוטומט M מהדוגמא הנ"ל? כמו במקרה של אוטומט דטרמיניסטי, נוח מאוד לייצג אל"ד באמצעות גרף מסומן אשר קבוצת קודקודיו: Q קבוצת צלעותיו: δ(q,a)} E = {(q,a,q ) q קבוצת התווים המשמשים לסימון צלעות הגרף היא כמובן Σ. באוטומט דטרמיניסטי, לכל מצב q ולכל תו a קיים בדיוק מצב אחד q כך ש E.(q,a,q ) באוטומט לא דטרמיניסטי, לעומת זאת, ייתכן יותר ממצב אחד q כזה, או אפילו שום q כזה.

32 32 פרק 5.אוטומטים לא דטרמיניסטיים δ : Q Σ P(Q) פונקציית המעבר המורחבת δ א. {q} δ (q,ε) = w Σ ב. δ(q,a) a Σ,δ (q,a) =,δ (q,wa) = ג. (r,a) δ r δ (q,w) או באופן שקול: δ (q,wa) = {p Q r δ (q,w)[p δ(r,a)]} שוב, זוהי הגדרה רקורסיבית! תנאי א אוסר שינוי מצב ללא קלט! במילים פשוטות: (q,w) δ היא קבוצת כל המצבים בהם סדרות החישוב של המחרוזת w מסתיימות, בתנאי שהחישוב מתחיל במצב q. באופן נורמלי, כל סדרת חישוב מתחילה במצב ההתחלה q, ולכן לרוב נפגוש בביטוי,w).δ (q בדוגמא שלנו, סדרות החישוב של המחרוזת מסתיימות במצבים } 4 {q,q,q 2,q ולכן δ (q,) = {q,q,q 2,q 4 } אך אין זו הדרך הקצרה ביותר לחישוב (,!δ(q

33 33 פרק 5.אוטומטים לא דטרמיניסטיים הרחבה מועילה נוספת של פונקציית המעבר δ היא: δ : P(Q) Σ P(Q), δ(p,a) = q P δ(q, a) אין סכנת דו משמעות בשימוש בסימן δ עבור הרחבה זו. לכל קבוצת מצבים השייכים ל ( δ(p,a q היא קבוצת כל המצבים δ(p,a) a, ולכל תו P, Q עבור.p P הרחבה זו מאפשרת לנו לתת הגדרה משופרת של δ: δ (q,wa) = δ(δ(q,w),a) דוגמא: נחשב את,) δ (q עבור האוטומט M הנ"ל δ (q,) = {q,q } δ (q,) = δ(δ(q,),) = δ({q,q },) = δ(q,) δ(q,) = {q,q } {q 2 } = {q,q,q 2 } δ (q,) = δ(δ(q,),) = δ({q,q,q 2 },) = δ(q,) δ(q,) δ(q 2,) = {q,q 3 } {q 2 } = {q,q 2,q 3 }

34 34 פרק 5.אוטומטים לא דטרמיניסטיים δ (q,) = δ(δ(q,),) = δ({q,q 2,q 3 },) = δ(q,) δ(q 2,) δ(q 3,) = {q,q 3 } {q 2 } {q 4 } = {q,q 2,q 3,q 4 } δ (q,) = δ(δ(q,),) = δ({q,q 2,q 3,q 4 },) = δ(q,) δ(q 2,) δ(q 3,) δ(q 4,) = {q,q } {q 2 } {q 4 } = {q,q,q 2,q 4 } הפונקציה δ חשובה מאוד לשם הגדרת מושגים נוספים וניתוח אוטומטים. למשל, את השפה המתקבלת על ידי אוטומט M נוכל להגדיר בצורה מדויקת יותר L(M) = {w Σ δ (q,w) F } על ידי שימוש בפונקציה δ נוכל לתת הגדרות מדויקות למושגים שהגדרנו קודם בצורה לא פורמלית: א. מחרוזת w מתקבלת על ידי אוטומט לא דטרמיניסטי M אם ורק אם הקבוצה (w, δ q) כוללת בתוכה לפחות מצב קבלה אחד. L(M) = {w Σ δ (q,w) F } ב. נוכל להשתמש בפונקציה δ גם בכדי להוכיח טענות.

35 35 פרק 5.אוטומטים לא דטרמיניסטיים תרגיל: הוכח שלכל שתי מחרוזות Σ,u,v δ (q,uv) = δ (δ (q,u),v) רמז: אינדוקציה על אורך המחרוזת v. סימון: נרשום q q w אם קיימת סדרת חישוב של המחרוזת w שמתחילה במצב q ומסתיימת במצב q..q 3 למשל, בדוגמא שלנו, q 4.q uv q אז q v טענה: אם q q u ו q L(M) = נחזור לאוטומט הדוגמא שלנו M. { w {,} w מכילה תת מחרוזת או } טענה: הוכחה: להוכחה שני כוונים. כוון ראשון: תהי w מחרוזת בינארית המכילה בתוכה את תת המחרוזת u (או.( נוכל לרשום.w = uv ברור כי לכל מחרוזת u מתקיים.q q w v כמו כן q q 4 ו.q 4 q 4 לכן,q q4 ומכאן ש ( L(M.w כנ"ל לגבי.w = uv כוון שני: נניח ש L(M).w אזי,w) q 2 δ (q או,w).q 4 δ (q נניח למשל ש ( w, q. 4 δ q) אזי קיימת לפחות סדרת חישוב אחת של w המתחילה במצב q ומסתיימת במצב q. 4 סדרת חישוב זו חייבת להכיל.q q3 בתוכה את המסלול q4 הגדרה: שני אוטומטים M 2 M, (מכל סוג שהוא) נקראים שקולים אם L(M ) = L(M 2 )

36 36 פרק 5.אוטומטים לא דטרמיניסטיים סימון:.M M 2 הגדרת האוטומט הלא דטרמיניסטי כוללת בתוכה גם את האוטומט הרגיל. אוטומט רגיל הוא אוטומט לא דטרמיניסטי בעל התכונה המיוחדת: לכל מצב q ולכל תו a, קבוצת המצבים δ(q,a) מכילה בדיק מצב אחד. לכן: כל שפה הניתנת להגדרה על ידי אוטומט רגיל ניתן להגדיר גם על ידי אוטומט לא דטרמיניסטי. שאלה: האם קיימות שפות שניתן להגדיר באמצעות אוטומטים לא דטרמיניסטיים אך לא ניתנות להגדרה על ידי אוטומטים רגילים? התשובהלשאלהזוהיאמפתיעה: כלשפהשניתןלהגדירבאמצעותאוטומטים לא דטרמיניסטי ניתן להגדיר גם על ידי אוטומט רגיל! אם כך, לשם מה צריך אוטומטים לא דטרמיניסטיים? א. סיבות תאורטיות: מושגים מסוימים קלים יותר להגדרה ולהבנה על ידי אוטומטים לא דטרמיניסטיים. הוכחות רבות בתורת החישוביות הן פשוטות יותר כאשר משתמשים באוטומטים לא דטרמיניסטיים. ב. קל יותר להוכיח ששפה נתונה היא רגולרית על ידי בניית אוטומט לא דטרמיניסטי. במקרים רבים, שפות המוגדרות על ידי אוטומטים דטרמיניסטיים מסובכים, ניתן להגדיר על ידי אוטומטים לא דטרמיניסטיים פשוטים בהרבה.

37 37 פרק 6 שקילות בין אוטומטים דטרמיניסטיים ולא דטרמיניסטיים משפט: תהי L שפה המתקבלת על ידי אוטומט סופי לא דטרמיניסטי M. אזי קיים אוטומט דטרמיניסטי M המקבל את L. הוכחה: יהי (F, M = (Q,Σ,δ,q אוטומט לא דטרמיניסטי המקבל את השפה L. נציג שיטה להפוך כל אוטומט לא דטרמיניסטי M לאוטומט דטרמיניסטי ),F M = (Q,Σ,δ,q המקבל את אותה השפה בדיוק! האוטומט הדטרמיניסטי המתקבל על ידי שיטה זו הוא לרוב מסובך (מספר גדול מדי של מצבים) אך בינתיים קיומו חשוב לנו מהבחינה התאורטית. לאחרשנבנהאותו, יהיה אפשרי לפשט אותו על ידי סילוק מצבים מיותרים מתוכו. א. קבוצת המצבים Q של M תהיה מורכבת מכל תתי הקבוצות של Q. כלומר P(Q) Q. = פירוש הדבר הוא שאם באוטומט M יש n מצבים אז באוטומט M יהיו 2 n מצבים. לרוב, חלק גדול מהמצבים האלה

38 38 פרק 6.שקילות בין אוטומטים דטרמיניסטיים ולא דטרמיניסטיים יהיה מיותר ובפועל מספר המצבים של M יהיה קטן בהרבה. כל מצב של Q יסומן על ידי ] i [q,q 2,...,q (תת קבוצה של.(Q נדגיש שוב ש [ [q,q 2,...,q i זה מצב יחיד של!Q הרעיון מאחורי בחירה זו הוא שעל האוטומט M לזכור, במצב יחיד, את כל המצבים האפשריים בהם יכול להיות M בכל רגע נתון. ב. קבוצת התווים Σ זהה עבור שני האוטומטים ג. המצב התחלתי של M הוא ].q = [q ד. קבוצת מצבי הקבלה F של האוטומט M תהיה מורכבת מכל תתי הקבוצות של Q המכילים לפחות מצב קבלה אחד של M: F = {P Q P F } ה. פונקציית המעבר δ של M תוגדר כך: δ ([q,q 2,...,q i ],a) = [p,p 2,...,p j ] אם ורק אם δ({q,q 2,...,q i },a) = {p,p 2,...,p j } ביתר פירוט δ ([q,q 2,...,q i ],a) = δ(q,a) δ(q 2,a) δ(q i,a) הנוסחה האחרונה תהיה חשובה לנו עבור דוגמאות מעשיות. נעבור עכשיו לגוף ההוכחה. טענת עזר: לכל מחרוזת w δ (q,w) = [q,q 2,...,q i ] δ(q,w) = {q,q 2,...,q i } ( )

39 39 פרק 6.שקילות בין אוטומטים דטרמיניסטיים ולא דטרמיניסטיים הוכחה: באינדוקציה על אורך המחרוזת. בסיס: הטענה ברורה אם = w כי אז w = ε ועל פי ההגדרה של הרחבת δ δ(q,ε) = {q } מצד שני, על פי הגדרת δ, δ (q,ε) = δ({q },ε) = {δ(q,ε)} = {q } הנחת האינדוקציה: נניח שהטענה ( ) מתקיימת לכל מחרוזת w באורך n ומטה. נוכיח שהיא מקיימת עבור כל מחרוזת באורך +n. תהי u מחרוזת באורך.n+ אזי a Σ, w = n,u = wa δ (q,wa) = δ (δ (q,w),a) על פי הנחת האינדוקציה δ ([q,q 2,...,q i ],w) = [p,p 2,...,p j ] δ({q,q 2,...,q i },w) = {p,p 2,...,p j } אם ורק אם δ ([p,p 2,...,p j ],a) = [r,r 2,...,r k ] אבל על פי ההגדרה של δ, δ({p,p 2,...,p j },a) = {r,r 2,...,r k } δ (q,wa) = [r,r 2,...,r k ] אם ורק אם ומכאן ש

40 4 פרק 6.שקילות בין אוטומטים דטרמיניסטיים ולא דטרמיניסטיים δ(q,wa) = {r,r 2,...,r k } אם ורק אם ובכך הושלמה הוכחת הטענה. תהי L השפה המתקבלת על ידי האוטומט M. בכדי להשלים את הוכחת המשפט, עלינו להוכיח כי L.L = לכל מחרוזת Σ,w w L δ (q,w) F נניח כי δ (q,w) = [q,q 2,...,q i ] ( ) מהגדרת F נובע כי {q,q 2,...,q i } F ועל פי הטענה לעיל, השוויון ( ) שקול לטענה δ(q,w) = {q,q 2,...,q i } קיבלנו כי L w אם ורק אם קבוצת המצבים (w, δ(q מכילה מצב קבלה של.M כלומר: L w אם ורק אם.w L לכן L.L =

41 4 פרק 6.שקילות בין אוטומטים דטרמיניסטיים ולא דטרמיניסטיים דוגמא: נהפוך את האוטומט הלא דטרמיניסטי הבא לאוטומט דטרמיניסטי NPDA Start q q3 q4 q q2 PDA [q,q3] [q,q3,q4] Start [q] [q,q] [q,q,q4] [q,q,q2] [q,q,q2,q4] [q,q2,q3] [q,q2,q3,q4]

42 42 פרק 7 אוטומטים עם מעברי ε כל היצמדות למודל יחיד של חישוביות מתבררת מהר כטעות חמורה. ריבוי מודלים תאורטיים של חישוביות בדרך כלל מועיל לשם הבנת טבעו המורכב של מושג החישוביות ומספק לנו אלטרנטיבות רבות להתמודד עם בעיות שונות. מודל מסוים של חישוביות עשוי להתאים בצורה טבעית לסוג מסוים של בעיות, אך לא להתאים לסוג אחר של בעיות. בפרק זה נציג מודל מורחב של אוטומט לא דטרמיניסטי שמתאים במיוחד לטיפול בביטויים רגולריים השכיחים מאוד בשפות מעטפת או שפות סקריפט כגון:.python,perl,grep,awk,csh הגדרה: אוטומט לא דטרמיניסטי עם מעברי ε מתאפיין על ידי חמשת המרכיבים הרגילים M = (Q,Σ,δ,q,F) עם הבדל קטן (אך משמעותי) בפונקציית המעבר: δ : Q (Σ {ε}) P(Q) לרשימת התווים Σ נוספת המחרוזת הריקה ε. פירוש הדבר הוא שניתן במצבים מסוימים לעבור ממצב אחד למצב שני ללא קליטת תו מעבר כזה נקרא מעבר ε. מבחינה גרפית, הדבר מתבטא

43 43 פרק 7.אוטומטיםעםמעבריε בכך שמותר לנו לסמן צלעות בדיאגרמת המעבר על ידי המחרוזת הריקה ε. המעבר בין שני המצבים בצלע כזו יעשה ללא קריאת תו. דוגמא: 2 ε ε Start q q q2 אוטומט זה כולל שני מעברי ε, ולא קשה לראות כי הוא מגדיר את שפת כל המחרוזות באלפבית {,,2} = Σ המורכבות מסדרת אפסים שלאחריה באה סדרת ים ולבסוף סדרת 2 ים (כל אחת מהסדרות הללו עשויה להיות ריקה!). האוטומט יקבל מחרוזות כגון 222, 2, ε, 2222, וכו כמו קודם, יתברר לנו כי אוטומטים עם מעברי ε אינם מסוגלים להגדיר שפות חדשות שלא יכולנו להגדיר באמצעות אוטומט רגיל או אוטומט לא דטרמיניסטי, אך אוטומט לא דטרמיניסטי רגיל ללא מעברי ε המגדיר את אותה השפה עשוי להיות מורכב הרבה יותר! להלן מספר דוגמאות של סדרות חישוב q q q ε q q ε q2 q ε q q q q ε q2 q ε q ε q2 כל הסדרות מסתיימות במצב קבלה q. 2 הסדרה הראשונה מוכיחה כי M מקבל את המחרוזת, הסדרה השניה את, והאחרונה את ε.

44 44 פרק 7.אוטומטיםעםמעבריε להלן הגדרה פורמלית מלאה של M: Q = {q,q,q 2 } Σ = {,,2} q = Start F = {q 2 } δ 2 ε q {q } {q } q {q } {q 2 } q 2 {q 2 } יש לשים לב לכך שבטבלת המעבר נוספה עמודה חדשה עבור ε! מטרתנו העקרית בפרק זה היא להוכיח כי כל אוטומט לא דטרמיניסטי עם מעברי ε שקול לאוטומט לא דטרמיניסטי רגיל. לשם כך נזדקק למושגים הבאים. (ε-closure) ε סגור לכל מצב q נסמן על ידי (q) C ε את קבוצת כל המצבים p כך שקיים מסלול מהמצב q למצב p אשר כל צלעותיו מסומנות ε. } C ε (q) = {p Q q ε ε ε ε קיים מסלול r ri p הקבוצה (q) C ε תמיד תכלול בתוכה את q. לדוגמא, באוטומט הנ"ל C ε (q ) = {q,q,q 2 } C ε (q ) = {q,q 2 } C ε (q 2 ) = {q 2 } עכשיו נרחיב, בצורה טבעית לגמרי, את הגדרת האופרטור C ε כך שיפעל לא רק על מצב בודד אלא גם על קבוצת מצבים P Q C ε (P) = C ε (q) q P

45 45 פרק 7.אוטומטיםעםמעבריε הרחבת פונקציית המעבר δ לפונקציה δ כפי שעשינו זאת עבור אוטומט רגיל ואוטומט לא דטרמיניסטי, גם במקרה זה יש צורך להגדיר את ההרחבה δ. אלא שכאן מעברי ה ε מוסיפים קושי מסוים, שבכדי להתגבר עליו היה עלינו ראשית כל להגדיר את האופרטור C. ε δ (q,ε) = C ε (q) א. לכל מצב q נגדיר ב. לכל מחרוזת w ב Σ, ולכל תו a δ (q,wa) = C ε (P) כאשר P = δ(r, a) r δ (q,w) במילים אחרות: אם במהלך הרקורסיה מצאנו כי δ (q,w) = {r,r 2,...,r k } אז נעשה קודם כל את צעד הביניים P = δ(r,a) δ(r 2,a) δ(r k,a) ולבסוף ניקח את ε סגור של P.

46 46 פרק 7.אוטומטיםעםמעבריε דוגמא: c a ε ε q b ε ε q4 a a Start q q3 c a b a b q2 ε q5 b c המחרוזות,aaa,acb,babb מתקבלות על ידי האוטומט הזה כפי שסדרות q ε q b q3 a q 5 b q5 b q5 q a q2 ε q5 c q 2 b q3 ε q4 ε q ε q q a q a q a q החישוב הבאות מוכיחות: נוכל גם להדגים את הפונקציה δ באוטומט זה.

47 47 פרק 7.אוטומטיםעםמעבריε נחשב למשל את,ac) :δ (q δ (q,ε) = {q,q } P = δ(q,a) δ(q,a) = {q,q 2 } = {q,q 2 } δ (q,a) = C ε ({q,q 2 }) = C ε (q ) C ε (q 2 ) = {q,q } {q 2,q 5 } = {q,q,q 2,q 5 } P = δ(q,c) δ(q,c) δ(q 2,c) δ(q 5,c) = {q 4 } {q 2,q 4 } = {q 2,q 4 } δ (q,ac) = C ε ({q 2,q 4 }) = C ε (q 2 ) C ε (q 4 ) = {q 2,q 5 } {q 4,q,q } = {q,q,q 2,q 4,q 5 } לשם נוחות נרחיב את הפונקציות δ δ, גם לקבוצות של מצבים δ : P(Q) (Σ {ε}) P(Q), δ : P(Q) Σ P(Q) באופן הטבעי הבא: δ(p,a) = q P δ(q,a) δ (P,w) = q P δ (q,w) תרגיל: חשב את δ(p,a) ואת (P,ε) δ כאשר } 3 P = {q,q ו M הוא האוטומט מהדוגמא השניה.

48 48 פרק 7.אוטומטיםעםמעבריε שאלה: האם (P,a)?δ(P,a) = δ הערה: שלא כמו במקרים הקודמים, במקרה של אוטומט עם מעברי ε, (q,a) δ אינו חייב להיות זהה ל ( δ(q,a. מאחר ו ( q,a ) δ היא קבוצת כל המצבים אשר ניתן להגיע אליהם ממצב q על ידי צלעות המסומנות a או ε, בעוד ש ( δ(q,a היא קבוצת כל המצבים אשר ניתן להגיע אליהם ממצב q על ידי צלעות המסומנות a בלבד! באופן דומה, (q,ε) δ לא שווה בהכרח ל ( δ(q,ε. לכן, כשמדובר באוטומט עם מעברי ε, יש להבחין היטב בין δ ו δ. הגדרה: השפה L(M) המתקבלת על ידי אוטומט לא דטרמיניסטי עם מעברי ε היא L(M) = {w Σ F מכילה מצב של δ (q,w) } משפט: אם L היא שפה המתקבלת על ידי אוטומט לא דטרמיניסטי עם מעברי ε, אז L מתקבלת גם על ידי אוטומט לא דטרמיניסטי ללא מעברי ε. הוכחה: נציג שיטה שימושית להמרת אוטומט עם מעברי ε לאוטומט ללא מעברי ε. יהי M = (Q,Σ,δ,q,F) אוטומט עם מעברי ε המקבל את השפה L. נבנה אוטומט חדש M = (Q,Σ,δ,q,F ) ללא מעברי ε אשר יקבל את אותה השפה L. האוטומט M יהיה זהה בכל לאוטומט M מלבד בפונקציית המעבר δ ובקבוצת מצבי הקבלה.

49 49 פרק 7.אוטומטיםעםמעבריε הגדרת :F אם( C ε (q כוללתבתוכהמצבקבלהשל F אזנגדיר{.F = F {q אחרת, נגדיר.F = F הגדרת פונקציית המעבר δ: נתבסס על פונקציית המעבר המורחבת δ של M אשר הגדרנו בסעיפים הקודמים. לכל q Q ולכל a Σ נגדיר δ (q,a) = δ (q,a) שים לב כי באוטומט M אין מעברי ε! מאחר ובשום שלב לא הגדרנו את (ε,.δ(q לכן אין סכנה בשימוש בסימן δ גם עבור פונקציית המעבר המורחבת δ של M (אך עדיין צריך להבחין בין δ ו δ!). בשלב הזה סיימנו להציג את האלגוריתם שבאמצעותו אנו ממירים אוטומט עם מעברי ε לאוטומט שקול ללא מעברי ε. ניגש עכשיו להוכחת הנכונות של האלגוריתם. כלומר: עלינו להוכיח ש L.L(M ) = למטרה זו היינו מעוניינים להוכיח, באינדוקציה על אורך מחרוזת w, טענה יותר חזקה: ω Σ : δ (q,w) = δ (q,w) המשפט שלנו יינבע מייד מטענה זו. אך טענה זו עשויה להיכשל עבור,w = ε מאחר ו { δ (q,ε) = {q אך ).δ (q,ε) = C ε (q נתחיל לכן את האינדוקציה שלנו מהשלב = n. בסיס האינדוקציה: אם = w אז,w = a עבור תו.a Σ מקרה זה נובע מיד מהגדרת δ: δ (q,a) = δ (q,a)

50 5 פרק 7.אוטומטיםעםמעבריε הנחת האינדוקציה: לכל מחרוזת u באורך n, δ (q,u) = δ (q,u) אינדוקציה: תהי w מחרוזת באורך +n. עלינו להוכיח כי δ (q,w) = δ (q,w) w = ua קודם כל נרשום את w כך כאשר u היא מחרוזת באורך n, ו a הוא התו האחרון של w. אזי δ (q,w) = δ (q,ua) = δ (δ (q,u),a) על פי הנחת האינדוקציה,u).δ (q,u) = δ (q נסמן P = δ (q,u) δ (P,a) = δ (q,ua) לכן עלינו להוכיח כי δ (P,a) = q P δ (q,a) = q P δ (q,a) = C ε (P) אבל C ε (P) = δ (q,w) δ (q,w) = δ (q,w) על פי ההגדרה של δ, ולכן קיבלנו כי

51 5 פרק 7.אוטומטיםעםמעבריε בכדי להשלים את ההוכחה נוכיח את הטענה הבאה: לכלמחרוזת Σ δ (q,w),w מכילהמצב F אםורקאם( w, δ (q מכילה מצב F. אם w = ε אז הטענה נובעת מייד מההגדרה של F. פירוט: } δ (q,ε) = {q ואם q F אז על פי הגדרת,F.q F להיפך: אם,ε) δ (q מכילה מצב F אז מצב זה ימצא אוטומטית ב F כי F.F עכשיו נניח כי.w ε אזי w = ua עבור Σ a Σ,u מתאימים. אם( w, δ (q מכילהמצב F אזמאחרו ( w, δ,גם( w, (q,w) = δ (q δ (q תכיל מצב זה. להיפך: אם (w, δ q) מכילה מצב F שאינו q (ולכן ב F ) אז השוויון,w) δ (q,w) = δ (q מחייב כי מצב זה נמצא גם ב ( w,.δ (q אם מצב זה הוא q אך q / F (כלומר,w) F q δ (q אך,(q / F אז נסמן P = δ(δ (q,u),a) δ (q,w) = C ε (P) על פי הגדרת δ מהשוויון,w) δ (q,w) = δ (q נובע כי (P).q C ε לכן (P),C ε (q ) C ε ולכן גם,w).C ε (q ) δ (q הסיבה היחידה לכך שהמצב q נכנס ל F היא שהקבוצה ) C ε (q מכילה מצב,q f F ולכן בהכרח,w).q f δ (q דוגמא: נמיר את האוטומט הבא לאוטומט ללא מעברי ε. 2 ε ε Start q q q2

52 52 פרק 7.אוטומטיםעםמעבריε את טבלת המעבר של δ נחשב על פי הנוסחה (q,a).δ (q,a) = δ Q = {q,q,q 2 } Σ = {,,2} q = Start F = {q,q,q 2 } δ 2 q {q,q,q 2 } {q,q 2 } {q } q {q,q 2 } {q 2 } q 2 {q 2 } להלן התוצאה המתקבלת: 2 Start q q 2 q2 2

53 53 פרק 8 ביטויים רגולריים בפרק זה נציג דרך נוספת לתאר (או לייצר) את השפות הרגולריות, אך הפעם המודל הוא תחבירי ולא חישובי. העובדה שכל המודלים של החישוביות שפגשנו עד עכשיו התבררו כשקולים ומגדירים אותה מחלקה של שפות השפות הרגולריות מצביעה על כך שמחלקה זו היא טבעית במובן מסוים וראויה לתשומת לב מיוחדת. 8. הגדרה מתברר שכל שפה רגולרית ניתן לייצג באמצעות ביטוי קצר בעל צורה תחבירית פשוטה. ביטויים אלה נקראים ביטויים רגולריים והם מופיעים לרוב בשפות סקריפט כגון,python,perl,awk,csh ועוד. יהי Σ אלפבית נתון (קבוצה סופית של תווים) ויהיו L, 2 L, L, שפות באלפבית זה. כזכור, האיחוד של השפות L 2 L, מוגדר על ידי L L 2 = {w w L or w L 2 } השרשור של השפות L 2 L, מוגדר על ידי L L 2 = {uv u L and v L 2 }

54 54 פרק 8.ביטויים רגולריים החזקה של שפה L מוגדרת על ידי L = {ε} L = L L 2 = LL L n+ = L n L הסגור Closure) (Kleene מוגדר על ידי L = n= L n הסגור החיובי Closure) (Positive מוגדר על ידי L + = n= L n נזכור גם שההבדל היחידי בין L ו + L הוא ש L ε אך + L ε רק אם.ε L הגדרת הביטויים הרגולריים א. הוא ביטוי רגולרי המתאר את השפה הריקה. ב. ε הוא ביטוי רגולרי המתאר את השפה {ε} (זוהי אינה שפה ריקה!). ג. לכל תו a a, Σ הוא ביטוי רגולרי המתאר את השפה {a}. ד. אם r ו s שני ביטויים רגולריים המתארים את השפות L ו L 2 בהתאמה, אז (r+s) הוא ביטוי רגולרי המתאר את השפה L. L 2 ה. אם r ו s שני ביטויים רגולריים המתארים את השפות L ו L 2 בהתאמה, אז (rs) הוא ביטוי רגולרי המתאר את השפה L. L 2

55 55 פרק 8.ביטויים רגולריים ו. אם r ביטוי רגולרי המתאר את השפה L אז ) r) הוא ביטוי רגולרי המתאר את השפה L. סדר פעולות השירשור, האיחוד, והסגור הוא חשוב. למשל, יש הבדל גדול בין השפה המתוארת על ידי הביטוי הרגולרי ab לבין השפה המתוארת על ידי!(ab) כנ"ל לגבי הביטויים b+a ו.(b+a) לכן, בכדי להימנע מבלבול יש להקפיד על שימוש זהיר בסוגריים בכל מקום בו הדבר מתבקש. למרות זאת,הגזמה בשימוש בסוגריים עשויה לסרבל את הביטויים הרגולריים ולהפוך אותם קשים לקריאה. מקובל להשמיט את הסוגריים במקרים בהם פעולת הסגור קודמת לפעולת השירשור, ופעולת השירשור קודמת לפעולת האיחוד. לא כללנו ברשימת הביטויים הרגולריים את פעולת הסגור החיובי + r משום שניתן להגדיר אותה בקלות על ידי.rr כמו כן, נוכל להגדיר חזקה של ביטוי רגולרי כך: אם r הוא ביטוי רגולרי המתאר את השפה L אז r n הוא ביטוי רגולרי המתאר את השפה L. n למשל את הביטוי הרגולרי ((( (b+(aa(b נוכל לרשום בצורה נוחה יותר ע"י.b+aab דוגמאות נוספות: א. הביטוי הרגולרי (+) מתאר את שפת כל המחרוזות הבינאריות המסתיימות ב. ב. הביטוי הרגולרי ( ) + ( ) + מתאר את שפת כל המחרוזות הבינאריות המכילות בתוכן (בכל מקום במחרוזת).

56 56 פרק 8.ביטויים רגולריים ג. הביטוי הרגולרי (+)+ (+) מתאר את שפת כל המחרוזות הבינאריות המסתיימות ב או מתחילות ב. ד. הביטוי הרגולרי ab) a) + מתאר את שפת כל המחרוזות באלפבית.bb אינן מכילות אך אשר מתחילות ב a Σ = {a,b} ניתן בקלות להוכיח באינדוקציה על n שבביטוי הרגולרי (a+ab) n אין הופעה שך המחרוזת.bb ה. הביטויהרגולרי () 99 (+) מתאראתשפתכלהמחרוזותהבינאריות המסתיימות במחרוזת (). 99 ו. הביטוי הרגולרי 2 מתאר את שפת כל המחרוזות באלפבית = Σ {,,2} המתחילותבמספרכלשהושלאפסיםולאחרמכןמספרכלשהו של ים ולבסוף מספר כלשהו של 2 ים. ז. הביטוי הרגולרי 22 מתאר את שפת כל המחרוזות באלפבית {,,2} = Σ המתחילות בסדרת אפסים כלשאחריה באה סדרת ים, ולבסוף סדרת 2 ים. כל אחת מהסדרות מכילה לפחות איבר אחד. 8.2 דרגת המורכבות של ביטוי רגולרי כפי שראינו בדוגמאות לעיל, ביטויים רגולריים עשויים להיות פשוטים או מורכבים. לכל ביטוי רגולרי נתאים מספר טבעי n, =...,,,2 n, אשר ישקף את דרגת המורכבות של הביטוי. א. ביטויים רגולריים בעלי דרגת מורכבות :, ε, a

57 57 פרק 8.ביטויים רגולריים ב. אם s r, ביטויים רגולריים בעלי דרגת מורכבות n, m, בהתאמה, אז דרגת המורכבות של rs ו r+s תהיה.max{m,n}+ ג. אם r ביטוי רגולרי בעל דרגת מורכבות n, אז דרגת המורכבות של r תהיה +n. סימון: את דרגת המורכבות של ביטוי רגולרי r נסמן על ידי deg[r] על ידי שימוש בסימון הזה נוכל לרשום את כללים הבאים: deg[r ] = deg[r]+ deg[rs] = max(deg[r], deg[s]) + deg[r+s] = max(deg[r],deg[s])+ דוגמאות: א. דרגת הביטוי הרגולרי (a+ab) היא 3. ב. דרגת הביטוי הרגולרי bba היא 2. ג. דרגת הביטוי הרגולרי (bbaa) היא 4. הוכחה: deg[(bbaa) ] = deg[bbaa]+ = (max(deg[bba],deg[a])+)+ = (max(2,)+)+ = 3+ = 4

58 58 פרק 8.ביטויים רגולריים ד. דרגת הביטוי הרגולרי (bbaa) (a+ab) היא 5. הוכחה: deg[(a+ab) (bbaa) ] = = max{deg[(a+ab) ],deg[(bbaa) ]}+ = max(3,4)+ = 5 קל ופשוט לשרטט עץ גזירה עבור הביטוי הרגולרי שלנו: (a+ab)*(bbaa)* (a+ab)* (bbaa)* a+ab bbaa a ab bba a a b bb a b b לאחר מכן, ניתן לחשב את דרגת הביטוי על ידי התאמת דרגה לכל הביטויים

59 59 פרק 8.ביטויים רגולריים בעץ בסדר עולה מעלי העץ ועד לשורשו (שהוא הביטוי שלנו): 5 (a+ab)*(bbaa)* 3 4 (a+ab)* (bbaa)* 2 3 a+ab bbaa 2 a ab bba a a b bb a b b 8.3 שקילות בין ביטויים רגולריים ואוטומטים סופיים משפט: כל שפה L שניתן לתאר על ידי ביטוי רגולרי ניתן להגדיר גם על ידי אוטומט לא דטרמיניסטי עם מעברי ε. הוכחת המשפט תעשה באינדוקציה על דרגת המורכבות של ביטוי רגולרי r. כמו במקרים קודמים, הוכחת המשפט מהווה למעשה אלגוריתם שימושי להמרת ביטוי רגולרי לאוטומט, ולכן הבנתה חשובה מאוד גם עבור בעיות מעשיות נוספות. בכדי להוכיח את המשפט הנ"ל, אנו נוכיח משפט כללי יותר אשר ממנו הוא

60 6 פרק 8.ביטויים רגולריים נובע מיד: לכל ביטוי רגולרי r קיים אוטומט נורמלי המקבל את השפה.L(r) הגדרה:אוטומט נורמלי זה אוטומט לא דטרמיניסטי עם מעברי ε אשר עבורו א. קיים בדיוק מצב התחלה אחד אשר שום צלע אינה נכנסת אליו. ב. קיים בדיוק מצב קבלה אחד אשר שום צלע אינה יוצאת ממנו. בסיס האינדוקציה: אם = deg[r] אז = r או r = ε או.a Σ,r = a עבור כל אחד מביטויים אלה קל לבנות אוטומט נורמלי r=ε r=φ r=a Start q Start q qf a Start q qf הנחת האינדוקציה: לכל ביטוי רגולרי בעל דרגת מורכבות n ומטה, קיים אוטומט נורמלי המקבל את השפה.L(r) עלינו להוכיח: לכל ביטוי רגולרי בעל דרגת מורכבות +n, קיים אוטומט נורמלי המקבל את השפה.L(r) יהי r ביטוי רגולרי בעל דרגת מורכבות +n. אזי אחד מהמקרים הבאים חייב להתקיים: א.,r = r +r 2 כאשר r 2,r ביטויים רגולריים מדרגה n ומטה. ב.,r = r r 2 כאשר r 2,r ביטויים רגולריים מדרגה n ומטה.

61 6 פרק 8.ביטויים רגולריים ג. r,r = כאשר r ביטוי רגולרי מדרגה.n מקרה א : 2 r = r +r על פי הנחת האינדוקציה קיימים אוטומטים נורמליים M = (Q,Σ,δ,q,f ) M 2 = (Q 2,Σ,δ 2,q 2,f 2 ) המקבלים את השפות ) L(r 2 ),L(r בהתאמה. כאשר q 2,q הם מצבי ההתחלה של,M 2,M ו f 2,f הם מצבי הקבלה של.M 2,M נוכל להניח כי קבוצות המצבים Q 2 Q, זרות, שכן תמיד אפשר להחליף את שמות המצבים. על פי הגדרת הביטויים הרגולריים L(r) = L(r ) L(r 2 ) נשתמש באוטומטים M 2 M, כאבני בניין בכדי לבנות אוטומט נורמלי M עבור השפה ) 2,L(r ) L(r על פי הסכימה הבאה: ε q M f ε Start q f ε q2 M2 f2 ε ההגדרה הפורמלית של M תהיה M = (Q Q 2 {q,f },Σ,δ,q,f ) קבוצת המצבים של M היא האיחוד של מצבי M ו M, 2 בתוספת של שני מצבים חדשים f. q, המצב q יהיה מצב ההתחלה של M, והמצב f יהיה

62 62 פרק 8.ביטויים רגולריים מצב הקבלה של M. המצבים f 2,q 2,f,q יהיו מצבים רגילים של האוטמט.M פונקציית המעבר δ של M מוגדרת כך: δ(q,ε) = {q,q 2 } { δ (q,a), q Q {f } δ(q,a) = δ 2 (q,a), q Q 2 {f 2 } δ(f,ε) = {f } δ(f 2,ε) = {f } כאשר Σ {ε}.a מקרה ב : 2 r = r r יהיו M 2 M, כמו במקרה הקודם. נגדיר את האוטומט הנורמלי M: M = (Q Q 2,Σ,δ,q,f 2 ) במקרה זה: קבוצת המצבים של M היא האיחוד של מצבי M 2 M, בלבד. מצב ההתחלה של M הוא q (שהוא גם מצב ההתחלה של M). מצב הקבלה של M הוא f 2 (שהוא גם מצב הקבלה של M). 2 פונקציית המעבר δ של M מוגדרת כך: { δ (q,a), q Q {f } δ(q,a) = δ 2 (q,a), q Q 2 δ(f,ε) = {q 2 } כאשר Σ {ε}.a ε Start q f q2 M M2 f2

63 63 פרק 8.ביטויים רגולריים L(M) = {uv u L(M ) and v L(M 2 )} לא קשה לראות כי L(M) = L(M )L(M 2 ) = L(r )L(r 2 ) = L(r) כלומר מקרה ג : r r = יהי M כמו קודם. נגדיר את האוטומט הנורמלי M: M = (Q {q,f },Σ,δ,q,f ) כאשר פונקציית המעבר δ נתונה על ידי δ(q,ε) = {q,f } δ(f,ε) = {q,f } δ(q,a) = δ (q,a), q Q {f }, a Σ {f } ε ε ε Start q q f f M ε על פי הדיאגרמה לא קשה לקבוע כי L(M) w אם ורק אם ) w. L(M מאחר ש (,L(M ) = L(r נקבל כי ).L(M) = L(r ובזאת מסתיימת הוכחת המשפט.

64 64 פרק 8.ביטויים רגולריים דוגמא: על ידי שימוש באלגוריתם שהוצג בהוכחת המשפט, נמצא את האוטומט המתאים עבור הביטוי הרגולרי (ab) +bb a a Start q q2 b b Start q3 q4 ab a ε b Start q q2 q3 q4 (ab)* ε ε ε a b ε Start q5 q q2 q3 q4 q6 ε (ab)*+bb Start q ε ε ε ε ε a b q5 q q2 q3 q4 ε b ε b q7 q8 q9 q ε ε q6 ε f 8.4 אוטומטים מוכללים בכדי לסיים את התוכנית שלנו, נשאר לנו להוכיח את המשפט ההפוך למשפט הקודם. משפט: כל שפה L המתקבלת על ידי אוטומט דטרמיניסטי ניתן לתאר על ידי ביטוי רגולרי. למטרה זו נציג מודל נוסף של אוטומט: אוטומט מוכלל. הגדרה: אוטומט מוכלל הוא אוטומט אשר בו

65 65 פרק 8.ביטויים רגולריים א. כל צלע מסומנת על ידי ביטוי רגולרי באלפבית Σ. ב. קיים מצב התחלה אחד ויחיד q s אשר אליו לא נכנסת שום צלע. ג. קיים מצב קבלה אחד ויחיד q f אשר ממנו לא יוצאת שום צלע. ד. המעבר ממצב q i למצב q j הוא אפשרי רק על ידי קליטה של מחרוזת התואמת את הביטוי הרגולרי המסמן את הצלע היוצאת מ q i ל q. j ה. מחרוזת w מתקבלת על ידי האוטומט אם ורק אם קיים פירוק של w ל k מחרוזות w = w w 2 w k וקיימת סדרת חישוב w q s = p w p 2 w p k 2 p k q f = p k כך שבכל שלב w i, i k תואמת את הביטוי הרגולרי המסמן את הצלע היוצאת מהמצב i q למצב q. i דוגמא: * q ε Start qs qf (+)* q2 דוגמא לכמה מחרוזות המתקבלות על יד אוטומט זה הן,,, למשל סדרת חישוב עבור = w היא q s q q q ε qf

66 66 פרק 8.ביטויים רגולריים למרות שממבט ראשון נראה שסוג זה של אוטומט מסוגל להגדיר שפות יותר מסובכות מהשפות הרגולריות, מתברר שלא כך הדבר. נוכיח כי כל אוטמט מוכלל ניתן להפוך (על ידי אלגוריתם מתאים) לביטוי רגולרי. הוכחנו כי כל שפה הנוצרת על ידי ביטוי רגולרי, מתקבלת גם על ידי אוטומט דטרמיניסטי מתאים. לכן כל שפה המתקבלת על ידי אוטומט מוכלל מתקבלת גם על ידי אוטומט דטרמיניסטי רגיל. אולםברורשכלאוטומטדטרמיניסטי רגילהואלמעשהאוטומטמוכלל, אשר בו כל הביטויים הרגולריים הם תווים פשוטים (זכור כי כל תו a הוא ביטוי רגולרי המתאר את עצמו בלבד). הטענה הקודמת אינה מדויקת לגמרי! באוטמט דטרמיניסטי רגיל, עשויים להיות צלעות הנכנסות למצב ההתחלה q, יותר ממצב קבלה אחד, או צלעות היוצאות מאחד ממצבי הקבלה. כל הדברים האלה אינם מותרים באוטומט מוכלל! אך על כל הבעיות האלה ניתן להתגבר בקלות על ידי הוספת שני מצבים חדשים q s ו q, f כפי שרואים בדוגמא הבאה: Start q q q2 q3

67 67 פרק 8.ביטויים רגולריים ε Start qs q q q2 q3 ε ε qf יוצא שכל אוטומט דטרמיניסטי רגיל ניתן להפוך לאוטומט מוכלל שקול. אנו נוכיח כי כל אוטומט מוכלל ניתן להפוך לביטוי רגולרי, ובכך נוכיח את החצי השני של משפט השקילות (בין אוטומטים דטרמיניסטיים וביטויים רגולריים). לאחר שנוכיח כי כל אוטמט מוכלל ניתן להמיר לביטוי רגולרי שקול, נוכל לסכם את כל התוצאות שהוכחנו בדיאגרמה הבאה: Nondeterministic Finite Automata Deterministic Finite Automata Nondeterministic Finite Automata with ε-transitions Generalized Finite Automata Regular Expressions משפט: קיים אלגוריתם אשר באמצעותו ניתן להמיר כל אוטומט מוכלל בעל

68 68 פרק 8.ביטויים רגולריים n מצבים, > 2 n, לאוטומט מוכלל שקול בעל n מצבים. הוכחה: יהי M אוטומט מוכלל בעל n מצבים, > 2 n. נציג אלגוריתם להקטנת מספר המצבים של M באחד. נבחר, באופן שרירותי, מצב q k השונה ממצבי ההתחלה והקבלה. לגבי כל זוג מצבים (i j,i,j k) q j,q i אשר הקשר שלהם למצב q k תואם את המקרה שבצד שמאל של הדיאגרמות הבאות נבצע את הפעולה שבצד ימין: qk r s rs qi qj qi qj qk r s qi rs+t qj qi t qj u qk r s ru*s qi qj qi qj

69 69 פרק 8.ביטויים רגולריים u qk r s qi (ru*s)+t qj qi t qj u כמו כן, לכל מצב i, k q, i אשר הקשר שלו עם המצב q k תואם את צד שמאל בדיאגרמות הבאות, נבצע את הפעולה שבצד ימין qk rs qk ru*s r s qi r s qi qi qi נדגיש כי לשם סילוק המצב q k מהאוטומט M עשויים להדרש מספר גדול מאוד של פעולות מהסוג הנ"ל. יש לוודא כי כולן בוצעו בזהירות המירבית. נסמן ב M אתהאוטומט המוכלל המתקבלכתוצאהמהפרוצדורה הנ"ל. לא קשה להוכיח כי לכל מחרוזת Σ w w, מתקבלת על ידי M אם ורק אם M. מתקבלת על ידי w לכן האוטומט M שקול לאוטומט M. לפרוצדורההנ"לנקראבקיצורReduce. לכןאם M הואהאוטומטהמתקבל מהאוטומט M עלידיסילוקהמצב q,אזנוכללרשוםזאתבצורהיותרנוחה k על ידי M = Reduce(M,q k )

70 7 פרק 8.ביטויים רגולריים דוגמא: נסלק, למשל, את המצב q מתוך האוטומט המוכלל הבא: ε Start qs q q q2 q3 ε ε qf ε Start qs q * * * qf q2 *+ q3 *+ε * יש לשים לב לכך שסילוק המצב היחיד q השפיע באופן משמעותי על כל המבנה של האוטומט הסימונים של מרבית הקשתות השתנו. מסקנה מיידית מהמשפט הקודם היא: משפט: כל אוטומט מוכלל שקול לאוטומט מוכלל בעל שני מצבים בלבד q s ו.q f

71 7 פרק 8.ביטויים רגולריים הוכחה: יהי M אוטומט מוכלל בעל n מצבים. אם = 2 n אז סיימנו. אם > 2 n אז הפעלת הפרוצדורה 2 n Reduce פעמים תביא אותנו בסופו של דבר לאוטומט מוכלל מינימלי בעל שני מצבים בלבד. עכשיו נוכל לנסח את האלגוריתם להמרת אוטומט דטרמיניסטי רגיל לביטוי רגולרי: א. הפוך את M לאוטומט מוכלל על ידי הוספת שנימצבים חדשים q s ו q f והעברת צלאעות (מסומנות על ידי ε) מתאימות. ב. בחר מצב q k השונה מ q s ו q f והסר את q: k M := Reduce(M,q k ) לאוטומט המתקבל כתוצאה מכך נמשיך לקרוא M. ג. אםבאוטמט M נשארורקשנימצבים q s ו q f עבורלשלבהבא. אחרת, חזור לשלב הקודם. ד. חבר את כל הביטויים הרגולריים המסמנים את כל הצלעות היוצאות מהצב q s למצב q f וקבל אוטומט מוכלל מינימלי. ה. הביטוי הרגולרי המסמן את הצלע היחידה הוא הביטוי הרגולרי המבוקש.

72 72 פרק 8.ביטויים רגולריים דוגמא: q q3 Start q q2 q4 נעבור לאוטומט בעל מצב סיום יחידי: ε q q3 ε qf Start q q2 q4 לאחר סילוק המצב q: ε q3 ε qf *+ Start q q2 q4

73 73 פרק 8.ביטויים רגולריים לאחר סילוק המצב q: 2 ε (*+) q3 ε qf Start q (*+) + q4 ()* לאחר סילוק המצב q: 3 (*+) qf ()*(+)+ε Start q q4 (*+)(+)+(*+) ((+)(+)()*)* ניתןלפשטאתהביטויהרגולרישלהקשת( (q,q 4 באמצעותאלגברהפשוטה: ( +)(+)+( +) = ( +)(+)+( +) = ( +)[(+)+] = ( +)(++) לאחר הפישוט האוטומט יראה כך: (*+) qf ()*(+)+ε Start q q4 (*+)(++) ((+)(+)()*)*

74 74 פרק 8.ביטויים רגולריים לבסוף נסלק את המצב q: 4 (*+) qf Start q (*+)(++)(((+)(+)()*)*)*(()*(+)+ε) תוצאה סופית: (*+)+(*+)(++)(((+)(+)()*)*)*(()*(+)+ε) Start q qf הערה: בדוגמא הנ"ללאטרחנולהוסיףלאוטומטאתהמצב q s מאחרוהמצב q ממלא ממילא אחר תנאי האוטומט המוכלל. במקרים דומים זה חוסך לנו טרחה. הערה זהה חלה על מצב הקבלה: אם באוטומט המקורי יש רק מצב קבלה יחיד, ללא צלעות היוצאות ממנו, אז אין טעם בהוספת המצב q. f כפי שרואים,הביטוי הרגולרי המתקבל כתוצאה מהאלגוריתם שלנו אינו פשוט במיוחד. במקרים רבים יש יסוד להניח כי קיים ביטוי רגולרי שקול יותר פשוט. השאלה כיצד למצוא את הביטוי הרגולרי הכי פשוט עבור שפה L, תעלה בהמשך ביחד עם עוד כמה שאלות דומות אחרות.

75 75 פרק 9 תכונות של שפות רגולריות ציטוט מהרצאה קודמת: העובדה שכל המודלים של החישוביות שפגשנו עד עכשיו התבררו כשקולים ומגדירים אותה מחלקה של שפות השפות הרגולריות מצביעה על כך שמחלקה זו היא טבעית במובן מסוים וראויה לתשומת לב מיוחדת. בשלב הזה נעסוק בתכונות המאפיינות את השפות הרגולריות באופן בלתי תלוי במודלים השונים של חישוביות שיוצרים את השפות הללו. לפתיחה, ניתן לשאול כמה שאלות על מחלקת השפות הרגולריות: א. אם L היא שפה נתונה. האם L שפה רגולרית? האם קיימות שפות לא רגולריות? ואם כן, האם קיימת דרך סבירה להוכיח ששפה נתונה אינה רגולרית? ב. אם L היא שפה רגולרית, האם השפה המשלימה L גם היא שפה רגולרית? ג. אם L 2 L, הן שפות רגולריות, האם האיחוד שלהן L L 2 גם הוא שפה רגולרית? האם החיתוך L L 2 שפה רגולרית? האם השירשור L L 2 שפה רגולרית? וכו ד. כפי שראינו בשיעורים הקודמים, קיימות דרכים רבות להגדיר (או

76 76 פרק 9.תכונותשלשפותרגולריות לייצור) שפות רגולריות: על ידי אוטומטים מסוגים שונים, ביטויים רגולריים, ובהמשך נלמד גם על דיקדוקים חסרי הקשר. האם קיימת שיטה (אלגוריתם) בכדי לקבוע אם שתי הגדרות שונות מגדירות את אותה השפה? קיימות עוד שאלות שנפגוש בהמשך. נתחילעםהשאלההראשונה. התשובהלשאלהזוולעודמספרשאלותתתקבל כתוצאה של משפט מתמטי חשוב בתורת החישוביות אשר מקובל לקרוא לו בשם משפט הניפוח או למת הניפוח. משפט הניפוח שימושי גם עבור שאלות כגון: האם השפה L המוגדרת על ידי אוטומט (מכל סוג שהוא) היא סופית? אינסופית? ריקה? שווה ל Σ? אך אנו נשתמש במשפט הניפוח בדרך כלל בכדי להוכיח כי שפות מסוימות אינן רגולריות. 9. משפט הניפוח עבור שפות רגולריות משפט: תהי L שפה רגולרית. אזי קיים מספר טבעי n כך שלכל מחרוזת w בשפה L, אם w n אז ניתן לפרק את w לשלושה מחרוזות w = xyz באופן כזה ש n y,, xy ולכל מספר טבעי i, xy i z L כלומר, ניתן לנפח את המחרוזת y מספר בלתי מוגבל של פעמים והמחרוזת שתתקבל תשאר תמיד בתוך השפה L.

לדוגמה: במפורט: x C. ,a,7 ו- 13. כלומר בקיצור

לדוגמה: במפורט: x C. ,a,7 ו- 13. כלומר בקיצור הרצאה מס' 1. תורת הקבוצות. מושגי יסוד בתורת הקבוצות.. 1.1 הקבוצה ואיברי הקבוצות. המושג קבוצה הוא מושג בסיסי במתמטיקה. אין מושגים בסיסים יותר, אשר באמצעותם הגדרתו מתאפשרת. הניסיון והאינטואיציה עוזרים להבין

Διαβάστε περισσότερα

אוטומטים ושפות פורמליות מבוא לתורת החישוביות

אוטומטים ושפות פורמליות מבוא לתורת החישוביות אוטומטים ושפות פורמליות מבוא לתורת החישוביות ד ר סמי זעפרני מוקדש לזכרו של משה בנסל חבר, עמית, ומורה דרך מהדורה June 27,2.3 הקדשה הספר מוקדש לזכרו היקר של משה בנסל (955-2), אשר במהלך שלושים שנות עבודתו

Διαβάστε περισσότερα

אוטומט סופי דטרמיניסטי מוגדר ע"י החמישייה:

אוטומט סופי דטרמיניסטי מוגדר עי החמישייה: 2 תרגול אוטומט סופי דטרמיניסטי אוטומטים ושפות פורמליות בר אילן תשעז 2017 עקיבא קליינרמן הגדרה אוטומט סופי דטרמיניסטי מוגדר ע"י החמישייה: (,, 0,, ) כאשר: א= "ב שפת הקלט = קבוצה סופית לא ריקה של מצבים מצב

Διαβάστε περισσότερα

Logic and Set Theory for Comp. Sci.

Logic and Set Theory for Comp. Sci. 234293 - Logic and Set Theory for Comp. Sci. Spring 2008 Moed A Final [partial] solution Slava Koyfman, 2009. 1 שאלה 1 לא נכון. דוגמא נגדית מפורשת: יהיו } 2,(p 1 p 2 ) (p 2 p 1 ).Σ 2 = {p 2 p 1 },Σ 1 =

Διαβάστε περισσότερα

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

ביטויים רגולריים הפקולטה למדעי המחשב אוטומטים ושפות פורמליות (236353) הרצאה 5 הפקולטה למדעי המחשב אוטומטים ושפות פורמליות (236353) ביטויים רגולריים הרצאה 5 המצגת מבוססת על ספרם של פרופ' נסים פרנסיז ופרופ' שמואל זקס, "אוטומטים ושפות פורמליות", האוניברסיטה הפתוחה, 1987. גרסה ראשונה

Διαβάστε περισσότερα

חורף תש''ע פתרון בחינה סופית מועד א'

חורף תש''ע פתרון בחינה סופית מועד א' מד''ח 4 - חורף תש''ע פתרון בחינה סופית מועד א' ( u) u u u < < שאלה : נתונה המד''ח הבאה: א) ב) ג) לכל אחד מן התנאים המצורפים בדקו האם קיים פתרון יחיד אינסוף פתרונות או אף פתרון אם קיים פתרון אחד או יותר

Διαβάστε περισσότερα

פתרון תרגיל 5 מבוא ללוגיקה ותורת הקבוצות, סתיו תשע"ד

פתרון תרגיל 5 מבוא ללוגיקה ותורת הקבוצות, סתיו תשעד פתרון תרגיל 5 מבוא ללוגיקה ותורת הקבוצות, סתיו תשע"ד 1. לכל אחת מן הפונקציות הבאות, קבעו אם היא חח"ע ואם היא על (הקבוצה המתאימה) (א) 3} {1, 2, 3} {1, 2, : f כאשר 1 } 1, 3, 3, 3, { 2, = f לא חח"ע: לדוגמה

Διαβάστε περισσότερα

פתרון תרגיל מרחבים וקטורים. x = s t ולכן. ur uur נסמן, ur uur לכן U הוא. ur uur. ur uur

פתרון תרגיל מרחבים וקטורים. x = s t ולכן. ur uur נסמן, ur uur לכן U הוא. ur uur. ur uur פתרון תרגיל --- 5 מרחבים וקטורים דוגמאות למרחבים וקטורים שונים מושגים בסיסיים: תת מרחב צירוף לינארי x+ y+ z = : R ) בכל סעיף בדקו האם הוא תת מרחב של א } = z = {( x y z) R x+ y+ הוא אוסף הפתרונות של המערכת

Διαβάστε περισσότερα

יסודות לוגיקה ותורת הקבוצות למערכות מידע (סמסטר ב 2012)

יסודות לוגיקה ותורת הקבוצות למערכות מידע (סמסטר ב 2012) יסודות לוגיקה ותורת הקבוצות למערכות מידע (סמסטר ב 2012) דף פתרונות 6 נושא: תחשיב הפסוקים: הפונקציה,val גרירה לוגית, שקילות לוגית 1. כיתבו טבלאות אמת לפסוקים הבאים: (ג) r)).((p q) r) ((p r) (q p q r (p

Διαβάστε περισσότερα

מודלים חישוביים תרגולמס 5

מודלים חישוביים תרגולמס 5 מודלים חישוביים תרגולמס 5 30 במרץ 2016 נושאי התרגול: דקדוקים חסרי הקשר. למת הניפוח לשפות חסרות הקשר. פעולות סגור לשפות חסרות הקשר. 1 דקדוקים חסרי הקשר נזכיר כי דקדוק חסר הקשר הוא רביעיה =(V,Σ,R,S) G, כך

Διαβάστε περισσότερα

Regular Expressions (RE)

Regular Expressions (RE) Regular Expressions (RE) ביטויים רגולריים עד כה דנו במספר מודלים חישוביים להצגת (או ליצור) שפות רגולריות וראינו שכל המודלים האלה הם שקולים מבחינת כוח החישובי שלהם. בסעיף זה נראה עוד דרך להצגת (או ליצור)

Διαβάστε περισσότερα

( )( ) ( ) f : B C היא פונקציה חח"ע ועל מכיוון שהיא מוגדרת ע"י. מכיוון ש f היא פונקציהאז )) 2 ( ( = ) ( ( )) היא פונקציה חח"ע אז ועל פי הגדרת

( )( ) ( ) f : B C היא פונקציה חחע ועל מכיוון שהיא מוגדרת עי. מכיוון ש f היא פונקציהאז )) 2 ( ( = ) ( ( )) היא פונקציה חחע אז ועל פי הגדרת הרצאה 7 יהיו :, : C פונקציות, אז : C חח"ע ו חח"ע,אז א אם על ו על,אז ב אם ( על פי הגדרת ההרכבה )( x ) = ( )( x x, כךש ) x א יהיו = ( x ) x חח"ע נקבל ש מכיוון ש חח"ע נקבל ש מכיוון ש ( b) = c כך ש b ( ) (

Διαβάστε περισσότερα

brookal/logic.html לוגיקה מתמטית תרגיל אלון ברוק

brookal/logic.html לוגיקה מתמטית תרגיל אלון ברוק יום א 14 : 00 15 : 00 בניין 605 חדר 103 http://u.cs.biu.ac.il/ brookal/logic.html לוגיקה מתמטית תרגיל אלון ברוק 29/11/2017 1 הגדרת קבוצת הנוסחאות הבנויות היטב באינדוקציה הגדרה : קבוצת הנוסחאות הבנויות

Διαβάστε περισσότερα

[ ] Observability, Controllability תרגול 6. ( t) t t קונטרולבילית H למימדים!!) והאובז' דוגמא: x. נשתמש בעובדה ש ) SS rank( S) = rank( עבור מטריצה m

[ ] Observability, Controllability תרגול 6. ( t) t t קונטרולבילית H למימדים!!) והאובז' דוגמא: x. נשתמש בעובדה ש ) SS rank( S) = rank( עבור מטריצה m Observabiliy, Conrollabiliy תרגול 6 אובזרווביליות אם בכל רגע ניתן לשחזר את ( (ומכאן גם את המצב לאורך זמן, מתוך ידיעת הכניסה והיציאה עד לרגע, וזה עבור כל צמד כניסה יציאה, אז המערכת אובזרוובילית. קונטרולביליות

Διαβάστε περισσότερα

חלק 1 כלומר, פונקציה. האוטומט. ) אותיות, אלפבית, א"ב (.

חלק 1 כלומר, פונקציה. האוטומט. ) אותיות, אלפבית, אב (. תוכן עניינים תקציר מודלים חישוביים ערך יגאל הינדי 2 2 2 3 4 6 6 6 7 7 8 8 9 11 13 14 14 15 16 17 17 18 19 20 20 20 20 - האוטומט הסופי - אוטומט סופי דטרמניסטי 2 פרק - מושגים ומילות מפתח 2.1 - הגדרת אוטומט

Διαβάστε περισσότερα

מתמטיקה בדידה תרגול מס' 13

מתמטיקה בדידה תרגול מס' 13 מתמטיקה בדידה תרגול מס' 13 נושאי התרגול: תורת הגרפים. 1 מושגים בסיסיים נדון בגרפים מכוונים. הגדרה 1.1 גרף מכוון הוא זוג סדור E G =,V כך ש V ו E. V הגרף נקרא פשוט אם E יחס אי רפלקסיבי. כלומר, גם ללא לולאות.

Διαβάστε περισσότερα

{ : Halts on every input}

{ : Halts on every input} אוטומטים - תרגול 13: רדוקציות, משפט רייס וחזרה למבחן E תכונה תכונה הינה אוסף השפות מעל.(property המקיימות תנאים מסוימים (תכונה במובן של Σ תכונה לא טריביאלית: תכונה היא תכונה לא טריוויאלית אם היא מקיימת:.

Διαβάστε περισσότερα

שפות פורמאליות אוטומטים

שפות פורמאליות אוטומטים הנושאים שנעבור שפות פורמאליות אוטומטים שפות פורמאליות מכונות/אוטומטים דקדוקים תורת הקומפילציה אהרון נץ מבוסס על השקפים של עומר ביהם שמבוססים על שקפי הרצאה מהקורס אוטומטים ושפות פורמאליות בטכניון, פרופ'

Διαβάστε περισσότερα

ניתן לקבל אוטומט עבור השפה המבוקשת ע "י שימוששאלה 6 בטכניקתשפה המכפלה שנייה כדי לבנות אוטומט לשפת החיתוך של שתי השפות:

ניתן לקבל אוטומט עבור השפה המבוקשת ע י שימוששאלה 6 בטכניקתשפה המכפלה שנייה כדי לבנות אוטומט לשפת החיתוך של שתי השפות: שאלה 1 בנה אוטומט המקבל את שפת כל המילים מעל הא"ב {,,} המכילות לפחות פעם אחת את הרצף ומיד אחרי כל אות מופיע הרצף. ניתן לפרק את השפה לשתי שפות בסיס מעל הא"ב :{,,} שפת כל המילים המכילות לפחות פעם אחת את

Διαβάστε περισσότερα

תרגיל 13 משפטי רול ולגראנז הערות

תרגיל 13 משפטי רול ולגראנז הערות Mthemtics, Summer 20 / Exercise 3 Notes תרגיל 3 משפטי רול ולגראנז הערות. האם קיים פתרון למשוואה + x e x = בקרן )?(0, (רמז: ביחרו x,f (x) = e x הניחו שיש פתרון בקרן, השתמשו במשפט רול והגיעו לסתירה!) פתרון

Διαβάστε περισσότερα

אוטומטים- תרגול 8 שפות חסרות הקשר

אוטומטים- תרגול 8 שפות חסרות הקשר אוטומטים- תרגול 8 שפות חסרות הקשר דקדוק חסר הקשר דקדוק חסר הקשר הנו רביעיה > S

Διαβάστε περισσότερα

ל הזכויות שמורות לדפנה וסטרייך

ל הזכויות שמורות לדפנה וסטרייך מרובע שכל זוג צלעות נגדיות בו שוות זו לזו נקרא h באיור שלעיל, הצלעות ו- הן צלעות נגדיות ומתקיים, וכן הצלעות ו- הן צלעות נגדיות ומתקיים. תכונות ה כל שתי זוויות נגדיות שוות זו לזו. 1. כל שתי צלעות נגדיות

Διαβάστε περισσότερα

פתרון תרגיל 8. מרחבים וקטורים פרישה, תלות \ אי-תלות לינארית, בסיס ומימד ... ( ) ( ) ( ) = L. uuruuruur. { v,v,v ( ) ( ) ( ) ( )

פתרון תרגיל 8. מרחבים וקטורים פרישה, תלות \ אי-תלות לינארית, בסיס ומימד ... ( ) ( ) ( ) = L. uuruuruur. { v,v,v ( ) ( ) ( ) ( ) פתרון תרגיל 8. מרחבים וקטורים פרישה, תלות \ אי-תלות לינארית, בסיס ומימד a d U c M ( יהי b (R) a b e ל (R M ( (אין צורך להוכיח). מצאו קבוצה פורשת ל. U בדקו ש - U מהווה תת מרחב ש a d U M (R) Sp,,, c a e

Διαβάστε περισσότερα

שפות פורמאליות אוטומטים

שפות פורמאליות אוטומטים שפות פורמאליות אוטומטים תורת הקומפילציה אהרון נץ מבוסס על השקפים של עומר ביהם שמבוססים על שקפי הרצאה מהקורס אוטומטים ושפות פורמאליות בטכניון, פרופ' שמואל זקס 1 הנושאים שנעבור שפות פורמאליות מכונות/אוטומטים

Διαβάστε περισσότερα

שדות תזכורת: פולינום ממעלה 2 או 3 מעל שדה הוא פריק אם ורק אם יש לו שורש בשדה. שקיימים 5 מספרים שלמים שונים , ראשוני. שעבורם

שדות תזכורת: פולינום ממעלה 2 או 3 מעל שדה הוא פריק אם ורק אם יש לו שורש בשדה. שקיימים 5 מספרים שלמים שונים , ראשוני. שעבורם תזכורת: פולינום ממעלה או מעל שדה הוא פריק אם ורק אם יש לו שורש בשדה p f ( m i ) = p m1 m5 תרגיל: נתון עבור x] f ( x) Z[ ראשוני שקיימים 5 מספרים שלמים שונים שעבורם p x f ( x ) f ( ) = נניח בשלילה ש הוא

Διαβάστε περισσότερα

לוגיקה ותורת הקבוצות פתרון תרגיל בית 8 חורף תשע"ו ( ) ... חלק ראשון: שאלות שאינן להגשה נפריד למקרים:

לוגיקה ותורת הקבוצות פתרון תרגיל בית 8 חורף תשעו ( ) ... חלק ראשון: שאלות שאינן להגשה נפריד למקרים: לוגיקה ותורת הקבוצות פתרון תרגיל בית 8 חורף תשע"ו ( 2016 2015 )............................................................................................................. חלק ראשון: שאלות שאינן להגשה.1

Διαβάστε περισσότερα

צעד ראשון להצטיינות מבוא: קבוצות מיוחדות של מספרים ממשיים

צעד ראשון להצטיינות מבוא: קבוצות מיוחדות של מספרים ממשיים מבוא: קבוצות מיוחדות של מספרים ממשיים קבוצות של מספרים ממשיים צעד ראשון להצטיינות קבוצה היא אוסף של עצמים הנקראים האיברים של הקבוצה אנו נתמקד בקבוצות של מספרים ממשיים בדרך כלל מסמנים את הקבוצה באות גדולה

Διαβάστε περισσότερα

משוואות רקורסיביות רקורסיה זו משוואה או אי שוויון אשר מתארת פונקציה בעזרת ערכי הפונקציה על ארגומנטים קטנים. למשל: יונתן יניב, דוד וייץ

משוואות רקורסיביות רקורסיה זו משוואה או אי שוויון אשר מתארת פונקציה בעזרת ערכי הפונקציה על ארגומנטים קטנים. למשל: יונתן יניב, דוד וייץ משוואות רקורסיביות הגדרה: רקורסיה זו משוואה או אי שוויון אשר מתארת פונקציה בעזרת ערכי הפונקציה על ארגומנטים קטנים למשל: T = Θ 1 if = 1 T + Θ if > 1 יונתן יניב, דוד וייץ 1 דוגמא נסתכל על האלגוריתם הבא למציאת

Διαβάστε περισσότερα

מינימיזציה של DFA מינימיזציה של הקנוני שאותה ראינו בסעיף הקודם. בנוסף, נוכיח את יחידות האוטומט המינימלי בכך שנראה שכל אוטומט על ידי שינוי שמות

מינימיזציה של DFA מינימיזציה של הקנוני שאותה ראינו בסעיף הקודם. בנוסף, נוכיח את יחידות האוטומט המינימלי בכך שנראה שכל אוטומט על ידי שינוי שמות מינימיזציה של DFA L. הוא אוטמומט מינימלי עבור L של שפה רגולרית A ראינו בסוף הסעיף הקודם שהאוטומט הקנוני קיים A DFA בכך הוכחנו שלכל שפה רגולרית קיים אוטומט מינמלי המזהה אותה. זה אומר שלכל נקרא A A לאוטומט

Διαβάστε περισσότερα

לוגיקה ותורת הקבוצות פתרון תרגיל בית 4 אביב תשע"ו (2016)

לוגיקה ותורת הקבוצות פתרון תרגיל בית 4 אביב תשעו (2016) לוגיקה ותורת הקבוצות פתרון תרגיל בית 4 אביב תשע"ו (2016)............................................................................................................. חלק ראשון: שאלות שאינן להגשה 1. עבור

Διαβάστε περισσότερα

דף פתרונות 7 נושא: תחשיב הפסוקים: צורה דיסיונקטיבית נורמלית, מערכת קשרים שלמה, עקביות

דף פתרונות 7 נושא: תחשיב הפסוקים: צורה דיסיונקטיבית נורמלית, מערכת קשרים שלמה, עקביות יסודות לוגיקה ותורת הקבוצות למערכות מידע (סמסטר ב 2012) דף פתרונות 7 נושא: תחשיב הפסוקים: צורה דיסיונקטיבית נורמלית, מערכת קשרים שלמה, עקביות 1. מצאו צורה דיסיונקטיבית נורמלית קנונית לפסוקים הבאים: (ג)

Διαβάστε περισσότερα

מתמטיקה בדידה תרגול מס' 5

מתמטיקה בדידה תרגול מס' 5 מתמטיקה בדידה תרגול מס' 5 נושאי התרגול: פונקציות 1 פונקציות הגדרה 1.1 פונקציה f מ A (התחום) ל B (הטווח) היא קבוצה חלקית של A B המקיימת שלכל a A קיים b B יחיד כך ש. a, b f a A.f (a) = ιb B. a, b f או, בסימון

Διαβάστε περισσότερα

gcd 24,15 = 3 3 =

gcd 24,15 = 3 3 = מחלק משותף מקסימאלי משפט אם gcd a, b = g Z אז קיימים x, y שלמים כך ש.g = xa + yb במלים אחרות, אם ה כך ש.gcd a, b = xa + yb gcd,a b של שני משתנים הוא מספר שלם, אז קיימים שני מקדמים שלמים כאלה gcd 4,15 =

Διαβάστε περισσότερα

הגדרה: מצבים k -בני-הפרדה

הגדרה: מצבים k -בני-הפרדה פרק 12: שקילות מצבים וצמצום מכונות לעי תים קרובות, תכנון המכונה מתוך סיפור המעשה מביא להגדרת מצבים יתי רים states) :(redundant הפונקציה שהם ממלאים ניתנת להשגה באמצעו ת מצבים א חרים. כיוון שמספר רכיבי הזיכרון

Διαβάστε περισσότερα

גבול ורציפות של פונקציה סקלרית שאלות נוספות

גבול ורציפות של פונקציה סקלרית שאלות נוספות 08 005 שאלה גבול ורציפות של פונקציה סקלרית שאלות נוספות f ( ) f ( ) g( ) f ( ) ו- lim f ( ) ו- ( ) (00) lim ( ) (00) f ( בסביבת הנקודה (00) ) נתון: מצאו ) lim g( ( ) (00) ננסה להיעזר בכלל הסנדביץ לשם כך

Διαβάστε περισσότερα

תרגול 1 חזרה טורי פורייה והתמרות אינטגרליות חורף תשע"ב זהויות טריגונומטריות

תרגול 1 חזרה טורי פורייה והתמרות אינטגרליות חורף תשעב זהויות טריגונומטריות תרגול חזרה זהויות טריגונומטריות si π α) si α π α) α si π π ), Z si α π α) t α cot π α) t α si α cot α α α si α si α + α siα ± β) si α β ± α si β α ± β) α β si α si β si α si α α α α si α si α α α + α si

Διαβάστε περισσότερα

I. גבולות. x 0. מתקיים L < ε. lim אם ורק אם. ( x) = 1. lim = 1. lim. x x ( ) הפונקציה נגזרות Δ 0. x Δx

I. גבולות. x 0. מתקיים L < ε. lim אם ורק אם. ( x) = 1. lim = 1. lim. x x ( ) הפונקציה נגזרות Δ 0. x Δx דפי נוסחאות I גבולות נאמר כי כך שלכל δ קיים > ε לכל > lim ( ) L המקיים ( ) מתקיים L < ε הגדרת הגבול : < < δ lim ( ) lim ורק ( ) משפט הכריך (סנדוויץ') : תהיינה ( ( ( )g ( )h פונקציות המוגדרות בסביבה נקובה

Διαβάστε περισσότερα

אלגברה ליניארית (1) - תרגיל 6

אלגברה ליניארית (1) - תרגיל 6 אלגברה ליניארית (1) - תרגיל 6 התרגיל להגשה עד יום חמישי (12.12.14) בשעה 16:00 בתא המתאים בבניין מתמטיקה. נא לא לשכוח פתקית סימון. 1. עבור כל אחד מתת המרחבים הבאים, מצאו בסיס ואת המימד: (א) 3)} (0, 6, 3,,

Διαβάστε περισσότερα

תרגול פעולות מומצאות 3

תרגול פעולות מומצאות 3 תרגול פעולות מומצאות. ^ = ^ הפעולה החשבונית סמן את הביטוי הגדול ביותר:. ^ ^ ^ π ^ הפעולה החשבונית c) #(,, מחשבת את ממוצע המספרים בסוגריים.. מהי תוצאת הפעולה (.7,.0,.)#....0 הפעולה החשבונית משמשת חנות גדולה

Διαβάστε περισσότερα

חישוביות הרצאה 4 לא! זיהוי שפות ע''י מכונות טיורינג הוכחה: הגדרת! : f r

חישוביות הרצאה 4 לא! זיהוי שפות ע''י מכונות טיורינג הוכחה: הגדרת! : f r ל' ' פונקציות פרימיטיביות רקורסיביות חישוביות הרצאה 4 האם כל פונקציה מלאה היא פרימיטיבית רקורסיבית? לא נראה שתי הוכחות: פונקציות רקורסיביות (המשך) זיהוי שפות ע''י מכונות טיורינג הוכחה קיומית: קיימות פונקציות

Διαβάστε περισσότερα

תשובות מלאות לבחינת הבגרות במתמטיקה מועד ג' תשע"ד, מיום 0/8/0610 שאלונים: 315, מוצע על ידי בית הספר לבגרות ולפסיכומטרי של אבירם פלדמן

תשובות מלאות לבחינת הבגרות במתמטיקה מועד ג' תשעד, מיום 0/8/0610 שאלונים: 315, מוצע על ידי בית הספר לבגרות ולפסיכומטרי של אבירם פלדמן תשובות מלאות לבחינת הבגרות במתמטיקה מועד ג' תשע"ד, מיום 0/8/0610 שאלונים: 315, 635865 מוצע על ידי בית הספר לבגרות ולפסיכומטרי של אבירם פלדמן שאלה מספר 1 נתון: 1. סדרה חשבונית שיש בה n איברים...2 3. האיבר

Διαβάστε περισσότερα

מודלים חישוביים פתרון תרגיל 5

מודלים חישוביים פתרון תרגיל 5 מודלים חישוביים פתרון תרגיל 5 כתוב אוטומט דטרמיניסטי לשפות הבאות מעל הא"ב.Σ={,} א. *Σ. q, ב. q, ג. {ε}, q, q ד. } = 3 {w w mod, q, q,, ה. ''} {w w does not contin the sustring q 4 q 3 q q כתוב אוטומט דטרמיניסטי

Διαβάστε περισσότερα

אוטומטים, שפות פורמליות ו ח ישוּב יוּת

אוטומטים, שפות פורמליות ו ח ישוּב יוּת אוטומטים, שפות פורמליות וחישוביות (202-1-2011) סיכום מאת תומר גודינגר אוטומטים, שפות פורמליות ו ח ישוּב יוּת פרטים אדמיניסטרטיביים המרצים בקורס: ברנד, ברפמן, קנטורוביץ' ואבו-עפאש אתר הקורס: http://csbguacil/~auto141/ain

Διαβάστε περισσότερα

סיכום בנושא של דיפרנציאביליות ונגזרות כיווניות

סיכום בנושא של דיפרנציאביליות ונגזרות כיווניות סיכום בנושא של דיפרנציאביליות ונגזרות כיווניות 25 בדצמבר 2016 תזכורת: תהי ) n f ( 1, 2,..., פונקציה המוגדרת בסביבה של f. 0 גזירה חלקית לפי משתנה ) ( = 0, אם קיים הגבול : 1 0, 2 0,..., בנקודה n 0 i f(,..,n,).lim

Διαβάστε περισσότερα

לוגיקה ותורת הקבוצות מבחן סופי אביב תשע"ב (2012) דפי עזר

לוגיקה ותורת הקבוצות מבחן סופי אביב תשעב (2012) דפי עזר לוגיקה ותורת הקבוצות מבחן סופי אביב תשע"ב (2012) דפי עזר תורת הקבוצות: סימונים.N + = N \ {0} קבוצת המספרים הטבעיים; N Z קבוצת המספרים השלמים. Q קבוצת המספרים הרציונליים. R קבוצת המספרים הממשיים. הרכבת

Διαβάστε περισσότερα

הרצאה נושאי הקורס 0.2 א"ב ומילים 0.3 שפות 1. מהו חישוב? 2. מהו מחשב? 3. מהו אלגוריתם? 4. מה ניתן לחשב? מה לא ניתן?

הרצאה נושאי הקורס 0.2 אב ומילים 0.3 שפות 1. מהו חישוב? 2. מהו מחשב? 3. מהו אלגוריתם? 4. מה ניתן לחשב? מה לא ניתן? הרצאה 1 0.1 נושאי הקורס 1. מהו חישוב? 2. מהו מחשב? 3. מהו אלגוריתם? 4. מה ניתן לחשב? מה לא ניתן? בקורס זה נעסוק בבעיות חישוב הנקראות בעיות הכרעה. בהינתן קלט, אנו נבצע "חישוב" ובסופו נחזיר תשובה האם הקלט

Διαβάστε περισσότερα

x a x n D f (iii) x n a ,Cauchy

x a x n D f (iii) x n a ,Cauchy גבולות ורציפות גבול של פונקציה בנקודה הגדרה: קבוצה אשר מכילה קטע פתוח שמכיל את a תקרא סביבה של a. קבוצה אשר מכילה קטע פתוח שמכיל את a אך לא מכילה את a עצמו תקרא סביבה מנוקבת של a. יהו a R ו f פונקציה מוגדרת

Διαβάστε περισσότερα

logn) = nlog. log(2n

logn) = nlog. log(2n תכנוןוניתוחאלגוריתמים סיכוםהתרגולים n log O( g( n)) = Ω( g( n)) = θ ( g( n)) = תרגול.3.04 סיבוכיות { f ( n) c> 0, n0 > 0 n> n0 0 f ( n) c g( n) } { f ( n) c> 0, n0 > 0 n> n0 0 c g( n) f ( n) } { f ( n)

Διαβάστε περισσότερα

אוטומטים ושפות פורמליות תרגולים

אוטומטים ושפות פורמליות תרגולים אוטומטים ושפות פורמליות תרגולים מבוסס על תרגולים של מר גולדגביכט עומר, אוניברסיטת בר אילן 2012. שיעור 1 הגדרות: א"ב: אוסף סופי ולא ריק של סימנים/אותיות/תווים. נסמן אותו באות. דוגמאות: 9},... 1,,{0, {א,..,.

Διαβάστε περισσότερα

לוגיקה ותורת הקבוצות מבחן סופי אביב תשע"ד (2014) דפי עזר

לוגיקה ותורת הקבוצות מבחן סופי אביב תשעד (2014) דפי עזר לוגיקה ותורת הקבוצות מבחן סופי אביב תשע"ד (2014) דפי עזר תורת הקבוצות: סימונים.N + = N \ {0} קבוצת המספרים הטבעיים; N Z קבוצת המספרים השלמים. Q קבוצת המספרים הרציונליים. R קבוצת המספרים הממשיים. הרכבת

Διαβάστε περισσότερα

קבוצה היא שם כללי לתיאור אוסף כלשהו של איברים.

קבוצה היא שם כללי לתיאור אוסף כלשהו של איברים. א{ www.sikumuna.co.il מהי קבוצה? קבוצה היא שם כללי לתיאור אוסף כלשהו של איברים. קבוצה היא מושג יסודי במתמטיקה.התיאור האינטואיטיבי של קבוצה הוא אוסף של עצמים כלשהם. העצמים הנמצאים בקבוצה הם איברי הקבוצה.

Διαβάστε περισσότερα

שאלה 1 V AB פתרון AB 30 R3 20 R

שאלה 1 V AB פתרון AB 30 R3 20 R תרגילים בתורת החשמל כתה יג שאלה א. חשב את המתח AB לפי משפט מילמן. חשב את הזרם בכל נגד לפי המתח שקיבלת בסעיף א. A 60 0 8 0 0.A B 8 60 0 0. AB 5. v 60 AB 0 0 ( 5.) 0.55A 60 א. פתרון 0 AB 0 ( 5.) 0 0.776A

Διαβάστε περισσότερα

מודלים חישוביים כריעות R זוהי מחלקת השפות הכריעות. מחלקה זו סגורה תחת פעולת המשלים. רדוקציה בעיית ההכרעה רדוקציית מיפוי.

מודלים חישוביים כריעות R זוהי מחלקת השפות הכריעות. מחלקה זו סגורה תחת פעולת המשלים. רדוקציה בעיית ההכרעה רדוקציית מיפוי. מודלים חישוביים סיכום כריעות טענה: לא כל הפונקציות חשיבות. מספר התוכניות הוא בן מניה. כל תוכנית מגדירה פונקציה מספרית אחת לכל היותר. לכן מספר האלגוריתמים הוא בן מניה בעוד שמספר הפונקציות המספריות אינו

Διαβάστε περισσότερα

תרגול מס' 6 פתרון מערכת משוואות ליניארית

תרגול מס' 6 פתרון מערכת משוואות ליניארית אנליזה נומרית 0211 סתיו - תרגול מס' 6 פתרון מערכת משוואות ליניארית נרצה לפתור את מערכת המשוואות יהי פתרון מקורב של נגדיר את השארית: ואת השגיאה: שאלה 1: נתונה מערכת המשוואות הבאה: הערך את השגיאה היחסית

Διαβάστε περισσότερα

מודלים חישוביים, חישוביות וסיבוכיות (חישוביות) 67521

מודלים חישוביים, חישוביות וסיבוכיות (חישוביות) 67521 מודלים חישוביים, חישוביות וסיבוכיות (חישוביות) 67521 22 ביוני 2012 מרצה: גיא קינדלר מתרגל: שאול אלמגור "...one TM to rule them all..." באדיבות בן מאירי איני לוקחת אחריות על מה שכתוב כאן, so tread lightly

Διαβάστε περισσότερα

סדרות - תרגילים הכנה לבגרות 5 יח"ל

סדרות - תרגילים הכנה לבגרות 5 יחל סדרות - הכנה לבגרות 5 יח"ל 5 יח"ל סדרות - הכנה לבגרות איברים ראשונים בסדרה) ) S מסמן סכום תרגיל S0 S 5, S6 בסדרה הנדסית נתון: 89 מצא את האיבר הראשון של הסדרה תרגיל גוף ראשון, בשנייה הראשונה לתנועתו עבר

Διαβάστε περισσότερα

פרק 8: עצים. .(Tree) במשפטים הגדרה: גרף ללא מעגלים נקרא יער. דוגמה 8.1: תרגילים: הקודקודים 2 ו- 6 בדוגמה הוא ).

פרק 8: עצים. .(Tree) במשפטים הגדרה: גרף ללא מעגלים נקרא יער. דוגמה 8.1: תרגילים: הקודקודים 2 ו- 6 בדוגמה הוא ). מבוא לפרק: : עצים.(ree) עצים הם גרפים חסרי מעגלים. כך, כיוון פרק זה הוא מעין הפוך לשני הפרקים הקודמים. עץ יסומן לרב על ידי במשפטים 8.1-8.3 נפתח חלק מתכונותיו, ובהמשך נדון בהיבטים שונים של "עץ פורש" של

Διαβάστε περισσότερα

אימות חומרה תוכנה אלי דיין 1 6 בדצמבר

אימות חומרה תוכנה אלי דיין 1 6 בדצמבר אימות חומרה תוכנה אלי דיין 1 6 בדצמבר 2013 1 תקציר מסמך זה יביא את סיכומי השיעורים מהקורס אימות חומרה תוכנה, שהועבר על ידי פרופ אלכסנדר רבינוביץ בסמסטר א בשנה ל תשע ד. תוכן עניינים

Διαβάστε περισσότερα

קובץ שאלות ופתרונות של שאלות ממבחנים מנושאים שונים

קובץ שאלות ופתרונות של שאלות ממבחנים מנושאים שונים אוטומטים ושפות פורמליות 236353 סמסטר אביב 2016 קובץ שאלות ופתרונות של שאלות ממבחנים מנושאים שונים קובץ ונערך ע"י אורן אשכנזי ומיכל הורוביץ תכונות סגור ודקדוקים רגולריים. עבור שפות L 1, L 2 מעל א"ב Σ נגדיר

Διαβάστε περισσότερα

בעיות חשיבות: :(State transition system) STS מושגים: רדוקציה: f אינה חשיבה g אינה חשיבה; בבעיות הכרעה: f לא כריעה g לא כריעה.

בעיות חשיבות: :(State transition system) STS מושגים: רדוקציה: f אינה חשיבה g אינה חשיבה; בבעיות הכרעה: f לא כריעה g לא כריעה. 1 סיכומים למבחן בקורס מודלים חישוביים סמסטר א' 2008-9 (פרופ' נחום דרשוביץ) חלק ראשון: חישוביות בעיות חשיבות: דוגמאות לפוקנציות לא חשיבות: פונקציה תיאור הערות, הבונה החרוץ בהינתן מספר n, מה הוא הפלט הגדול

Διαβάστε περισσότερα

מכונת טיורינג אוטומט מחסנית לא דטרמיניסטי שפות חופשיות הקשר (שפת ראי לא מסומנת)

מכונת טיורינג אוטומט מחסנית לא דטרמיניסטי שפות חופשיות הקשר (שפת ראי לא מסומנת) מכונת טיורינג אוטומט מחסנית לא דטרמיניסטי שפות חופשיות הקשר (שפת ראי לא מסומנת) אוטומט מחסנית דטרמיניסטי שפות חופשיות הקשר (שפת ראי מסומנת) סגירות:איחוד,שרשור,היפוך, חיתוך עם שפה רגולרית אוטומט סופי דטרמיניסטי

Διαβάστε περισσότερα

3-9 - a < x < a, a < x < a

3-9 - a < x < a, a < x < a 1 עמוד 59, שאלהמס', 4 סעיףג' תיקוני הקלדה שאלון 806 צריך להיות : ג. מצאאתמקומושלאיברבסדרהזו, שקטןב- 5 מסכוםכלהאיבריםשלפניו. עמוד 147, שאלהמס' 45 ישלמחוקאתהשאלה (מופיעהפעמיים) עמוד 184, שאלהמס', 9 סעיףב',תשובה.

Διαβάστε περισσότερα

מבני נתונים ואלגוריתמים תרגול #11

מבני נתונים ואלגוריתמים תרגול #11 מבני נתונים ואלגוריתמים תרגול # התאמת מחרוזות סימונים והגדרות: P[,,m] כך Σ * טקסט T )מערך של תווים( באורך T[,,n] n ותבנית P באורך m ש.m n התווים של P ו T נלקחים מאלפבית סופי Σ. לדוגמא: {a,b,,z},{,}=σ.

Διαβάστε περισσότερα

רשימת משפטים והגדרות

רשימת משפטים והגדרות רשימת משפטים והגדרות חשבון אינפיניטיסימאלי ב' מרצה : למברג דן 1 פונקציה קדומה ואינטגרל לא מסויים הגדרה 1.1. (פונקציה קדומה) יהי f :,] [b R פונקציה. פונקציה F נקראת פונקציה קדומה של f אם.[, b] גזירה ב F

Διαβάστε περισσότερα

אלגברה מודרנית פתרון שיעורי בית 6

אלגברה מודרנית פתרון שיעורי בית 6 אלגברה מודרנית פתרון שיעורי בית 6 15 בינואר 016 1. יהי F שדה ויהיו q(x) p(x), שני פולינומים מעל F. מצאו פולינומים R(x) S(x), כך שמתקיים R(x),p(x) = S(x)q(x) + כאשר deg(q),deg(r) < עבור המקרים הבאים: (תזכורת:

Διαβάστε περισσότερα

כלליים זמן: S מחסנית, top(s) ראש המחסנית. (Depth First Search) For each unmarked DFS(v) / BFS(v) רקורסיבי. אלגוריתם :BFS

כלליים זמן: S מחסנית, top(s) ראש המחסנית. (Depth First Search) For each unmarked DFS(v) / BFS(v) רקורסיבי. אלגוריתם :BFS כלליים שיטות חיפוש בבגרפים שיטה 1: חיפוש לרוחב S (readth irst Search) זמן: ) Θ( V + הרעיון: שימוש בתור.O שיטה 2: חיפוש לעומק S (epth irst Search) Θ( V + ) יהי =(V,) גרף כלשהו, V הוא צומת התחלת החיפוש.

Διαβάστε περισσότερα

= 2. + sin(240 ) = = 3 ( tan(α) = 5 2 = sin(α) = sin(α) = 5. os(α) = + c ot(α) = π)) sin( 60 ) sin( 60 ) sin(

= 2. + sin(240 ) = = 3 ( tan(α) = 5 2 = sin(α) = sin(α) = 5. os(α) = + c ot(α) = π)) sin( 60 ) sin( 60 ) sin( א. s in(0 c os(0 s in(60 c os(0 s in(0 c os(0 s in(0 c os(0 s in(0 0 s in(70 מתאים לזהות של cos(θsin(φ : s in(θ φ s in(θcos(φ sin ( π cot ( π cos ( 4πtan ( 4π sin ( π cos ( π sin ( π cos ( 4π sin ( 4π

Διαβάστε περισσότερα

תורת הקבוצות תרגיל בית 2 פתרונות

תורת הקבוצות תרגיל בית 2 פתרונות תורת הקבוצות תרגיל בית 2 פתרונות חיים שרגא רוזנר כ"ה בניסן, תשע"ה תזכורות תקציר איזומורפיזם סדר, רישא, טרנזיטיביות, סודרים, השוואת סודרים, סודר עוקב, סודר גבולי. 1. טרנזיטיבות וסודרים קבוצה A היא טרנזיטיבית

Διαβάστε περισσότερα

מתמטיקה בדידה תרגול מס' 12

מתמטיקה בדידה תרגול מס' 12 מתמטיקה בדידה תרגול מס' 2 נושאי התרגול: נוסחאות נסיגה נוסחאות נסיגה באמצעות פונקציות יוצרות נוסחאות נסיגה באמצעות פולינום אופייני נוסחאות נסיגה לעתים מפורש לבעיה קומבינטורית אינו ידוע, אך יחסית קל להגיע

Διαβάστε περισσότερα

תורת הקבוצות יובל קפלן סיכום הרצאות פרופ ארז לפיד בקורס "תורת הקבוצות" (80200) באוניברסיטה העברית,

תורת הקבוצות יובל קפלן סיכום הרצאות פרופ ארז לפיד בקורס תורת הקבוצות (80200) באוניברסיטה העברית, תורת הקבוצות יובל קפלן סיכום הרצאות פרופ ארז לפיד בקורס "תורת הקבוצות" (80200) באוניברסיטה העברית, 7 2006. תוכן מחברת זו הוקלד ונערך על-ידי יובל קפלן. אין המרצה אחראי לכל טעות שנפלה בו. סודר באמצעות L

Διαβάστε περισσότερα

i שאלות 8,9 בתרגיל 2 ( A, F) אלגברת יצירה Α היא זוג כאשר i F = { f קבוצה של פונקציות {I קבוצה לא ריקה ו A A n i n i מקומית מ ל. A נרשה גם פונקציות 0 f i היא פונקציה n i טבעי כך ש כך שלכל i קיים B נוצר

Διαβάστε περισσότερα

בחינה בסיבוכיות עמר ברקמן, ישי חביב מדבקית ברקוד

בחינה בסיבוכיות עמר ברקמן, ישי חביב מדבקית ברקוד בחינה בסיבוכיות עמר ברקמן, ישי חביב מדבקית ברקוד סמסטר: א' מועד: א' תאריך: יום ה' 0100004 שעה: 04:00 משך הבחינה: שלוש שעות חומר עזר: אין בבחינה שני פרקים בפרק הראשון 8 שאלות אמריקאיות ולכל אחת מהן מוצעות

Διαβάστε περισσότερα

לוגיקה ותורת הקבוצות אביבתשס ז מבחןסופי מועדב בהצלחה!

לוגיקה ותורת הקבוצות אביבתשס ז מבחןסופי מועדב בהצלחה! הטכניון מכון טכנולוגי לישראל הפקולטה למדעי המחשב 24/10/2007 מרצה: פרופ אורנה גרימברג מתרגלים: גבי סקלוסוב,קרן צנזור,רותם אושמן,אורלי יהלום לוגיקה ותורת הקבוצות 234293 אביבתשס ז מבחןסופי מועדב הנחיות: משךהבחינה:

Διαβάστε περισσότερα

מכונת טיורינג אוטומט מחסנית לא דטרמיניסטי שפות חופשיות הקשר (שפת ראי לא מסומנת)

מכונת טיורינג אוטומט מחסנית לא דטרמיניסטי שפות חופשיות הקשר (שפת ראי לא מסומנת) מכונת טיורינג לא דטרמיניסטי שפות חופשיות הקשר (שפת ראי לא מסומנת) דטרמיניסטי שפות חופשיות הקשר (שפת ראי מסומנת) סגירות:איחוד,שרשור,היפוך, חיתוך עם שפה רגולרית אוטומט סופי דטרמיניסטי שפות רגולריות סגירות:חיתוך,איחוד,שרשור,משלים,היפוך

Διαβάστε περισσότερα

1 תוחלת מותנה. c ארזים 3 במאי G מדיד לפי Y.1 E (X1 A ) = E (Y 1 A )

1 תוחלת מותנה. c ארזים 3 במאי G מדיד לפי Y.1 E (X1 A ) = E (Y 1 A ) הסתברות למתמטיקאים c ארזים 3 במאי 2017 1 תוחלת מותנה הגדרה 1.1 לכל משתנה מקרי X אינטגרבילית ותת סיגמא אלגברה G F קיים משתנה מקרי G) Y := E (X המקיים: E (X1 A ) = E (Y 1 A ).G מדיד לפי Y.1.E Y

Διαβάστε περισσότερα

פתרון תרגיל בית 6 מבוא לתורת החבורות סמסטר א תשע ז

פתרון תרגיל בית 6 מבוא לתורת החבורות סמסטר א תשע ז פתרון תרגיל בית 6 מבוא לתורת החבורות 88-211 סמסטר א תשע ז הוראות בהגשת הפתרון יש לרשום שם מלא, מספר ת ז ומספר קבוצת תרגול. תאריך הגשת התרגיל הוא בתרגול בשבוע המתחיל בתאריך ג טבת ה תשע ז, 1.1.2017. שאלות

Διαβάστε περισσότερα

c ארזים 26 בינואר משפט ברנסייד פתירה. Cl (z) = G / Cent (z) = q b r 2 הצגות ממשיות V = V 0 R C אזי מקבלים הצגה מרוכבת G GL R (V 0 ) GL C (V )

c ארזים 26 בינואר משפט ברנסייד פתירה. Cl (z) = G / Cent (z) = q b r 2 הצגות ממשיות V = V 0 R C אזי מקבלים הצגה מרוכבת G GL R (V 0 ) GL C (V ) הצגות של חבורות סופיות c ארזים 6 בינואר 017 1 משפט ברנסייד משפט 1.1 ברנסייד) יהיו p, q ראשוניים. תהי G חבורה מסדר.a, b 0,p a q b אזי G פתירה. הוכחה: באינדוקציה על G. אפשר להניח כי > 1 G. נבחר תת חבורה

Διαβάστε περισσότερα

התפלגות χ: Analyze. Non parametric test

התפלגות χ: Analyze. Non parametric test מבחני חי בריבוע לבדיקת טיב התאמה דוגמא: זורקים קוביה 300 פעמים. להלן התוצאות שהתקבלו: 6 5 4 3 2 1 תוצאה 41 66 45 56 49 43 שכיחות 2 התפלגות χ: 0.15 התפלגות חי בריבוע עבור דרגות חופש שונות 0.12 0.09 0.06

Διαβάστε περισσότερα

(ספר לימוד שאלון )

(ספר לימוד שאלון ) - 40700 - פתרון מבחן מס' 7 (ספר לימוד שאלון 035804) 09-05-2017 _ ' i d _ i ' d 20 _ i _ i /: ' רדיוס המעגל הגדול: רדיוס המעגל הקטן:, לכן שטח העיגול הגדול: / d, לכן שטח העיגול הקטן: ' d 20 4 D 80 Dd 4 /:

Διαβάστε περισσότερα

אינפי - 1 תרגול בינואר 2012

אינפי - 1 תרגול בינואר 2012 אינפי - תרגול 4 3 בינואר 0 רציפות במידה שווה הגדרה. נאמר שפונקציה f : D R היא רציפה במידה שווה אם לכל > 0 ε קיים. f(x) f(y) < ε אז x y < δ אם,x, y D כך שלכל δ > 0 נביט במקרה בו D הוא קטע (חסום או לא חסום,

Διαβάστε περισσότερα

הגדרה: קבוצת פעילויות חוקית היא קבוצה בה כל שתי פעילויות

הגדרה: קבוצת פעילויות חוקית היא קבוצה בה כל שתי פעילויות אלגוריתמים חמדניים אלגוריתם חמדן, הוא כזה שבכל צעד עושה את הבחירה הטובה ביותר האפשרית, ולא מתחרט בהמשך גישה זו נראית פשטנית מדי, וכמובן שלא תמיד היא נכונה, אך במקרים רבים היא מוצאת פתרון אופטימאלי בתרגול

Διαβάστε περισσότερα

תורת הקבוצות ניר אדר ניר אדר.

תורת הקבוצות ניר אדר ניר אדר. גירסה 101 2432010 גירסה 100 6122003 תורת הקבוצות מסמך זה הורד מהאתר http://wwwunderwarcoil אין להפיץ מסמך זה במדיה כלשהי, ללא אישור מפורש מאת המחבר מחבר המסמך איננו אחראי לכל נזק, ישיר או עקיף, שיגרם עקב

Διαβάστε περισσότερα

תכנון אלגוריתמים 2016 עבודה 1 שאלה 1 פתרון נתונות שתי בעיות. יש למצוא: אורך מסלול קצר ביותר המתחיל באחד מן הקודקודים s 1,..., s k ומסתיים ב t.

תכנון אלגוריתמים 2016 עבודה 1 שאלה 1 פתרון נתונות שתי בעיות. יש למצוא: אורך מסלול קצר ביותר המתחיל באחד מן הקודקודים s 1,..., s k ומסתיים ב t. תכנון אלגוריתמים 2016 עבודה 1 פתרון שאלה 1 נזכר כי בגרף (E G, =,V) עבור שני קודקודים d(u, (v,u, v הוא אורך מסלול קצר ביותר מ u ל v. אם אין מסלול מ u ל.d(u, v) =,v נתונות שתי בעיות. בעיה א' מופע: גרף מכוון

Διαβάστε περισσότερα

פתרון תרגיל 6 ממשוואות למבנים אלגברה למדעי ההוראה.

פתרון תרגיל 6 ממשוואות למבנים אלגברה למדעי ההוראה. פתרון תרגיל 6 ממשוואות למבנים אלגברה למדעי ההוראה. 16 במאי 2010 נסמן את מחלקת הצמידות של איבר בחבורה G על ידי } g.[] { y : g G, y g כעת נניח כי [y] [] עבור שני איברים, y G ונוכיח כי [y].[] מאחר והחיתוך

Διαβάστε περισσότερα

תרגילים באמצעות Q. תרגיל 2 CD,BF,AE הם גבהים במשולש .ABC הקטעים. ABC D נמצאת על המעגל בין A ל- C כך ש-. AD BF ABC FME

תרגילים באמצעות Q. תרגיל 2 CD,BF,AE הם גבהים במשולש .ABC הקטעים. ABC D נמצאת על המעגל בין A ל- C כך ש-. AD BF ABC FME הנדסת המישור - תרגילים הכנה לבגרות תרגילים הנדסת המישור - תרגילים הכנה לבגרות באמצעות Q תרגיל 1 מעגל העובר דרך הקודקודים ו- של המקבילית ו- חותך את האלכסונים שלה בנקודות (ראה ציור) מונחות על,,, הוכח כי

Διαβάστε περισσότερα

מודלים חישוביים תרגולמס 7

מודלים חישוביים תרגולמס 7 מודלים חישוביים תרגולמס 7 13 באפריל 2016 נושאי התרגול: מכונת טיורינג. 1 מכונת טיורינג נעבור לדבר על מודל חישוב חזק יותר (ובמובן מסוים, הוא מודל החישוב הסטנדרטי) מכונות טיורינג. בניגוד למודלים שראינו עד

Διαβάστε περισσότερα

אלגברה לינארית (1) - פתרון תרגיל 11

אלגברה לינארית (1) - פתרון תרגיל 11 אלגברה לינארית ( - פתרון תרגיל דרגו את המטריצות הבאות לפי אלגוריתם הדירוג של גאוס (א R R4 R R4 R=R+R R 3=R 3+R R=R+R R 3=R 3+R 9 4 3 7 (ב 9 4 3 7 7 4 3 9 4 3 4 R 3 R R3=R3 R R 4=R 4 R 7 4 3 9 7 4 3 8 6

Διαβάστε περισσότερα

co ארזים 3 במרץ 2016

co ארזים 3 במרץ 2016 אלגברה לינארית 2 א co ארזים 3 במרץ 2016 ניזכר שהגדרנו ווקטורים וערכים עצמיים של מטריצות, והראינו כי זהו מקרה פרטי של ההגדרות עבור טרנספורמציות. לכן כל המשפטים והמסקנות שהוכחנו לגבי טרנספורמציות תקפים גם

Διαβάστε περισσότερα

תורת הגרפים - סימונים

תורת הגרפים - סימונים תורת הגרפים - סימונים.n = V,m = E בהינתן גרף,G = V,E נסמן: בתוך סימוני ה O,o,Ω,ω,Θ נרשה לעצמנו אף להיפטר מהערך המוחלט.. E V,O V + E כלומר, O V + E נכתוב במקום אם כי בכל מקרה אחר נכתוב או קשת של גרף לא

Διαβάστε περισσότερα

סיכום- בעיות מינימוםמקסימום - שאלון 806

סיכום- בעיות מינימוםמקסימום - שאלון 806 סיכום- בעיות מינימוםמקסימום - שאלון 806 בבעיותמינימום מקסימוםישלחפשאתנקודותהמינימוםהמוחלטוהמקסימוםהמוחלט. בשאלות מינימוםמקסימוםחובהלהראותבעזרתטבלה אובעזרתנגזרתשנייהשאכן מדובר עלמינימוםאומקסימום. לצורךקיצורהתהליך,

Διαβάστε περισσότερα

קיום ויחידות פתרונות למשוואות דיפרנציאליות

קיום ויחידות פתרונות למשוואות דיפרנציאליות קיום ויחידות פתרונות למשוואות דיפרנציאליות 1 מוטיבציה למשפט הקיום והיחידות אנו יודעים לפתור משוואות דיפרנציאליות ממחלקות מסוימות, כמו משוואות פרידות או משוואות לינאריות. עם זאת, קל לכתוב משוואה דיפרנציאלית

Διαβάστε περισσότερα

פתרונות , כך שאי השוויון המבוקש הוא ברור מאליו ולכן גם קודמו תקף ובכך מוכחת המונוטוניות העולה של הסדרה הנתונה.

פתרונות , כך שאי השוויון המבוקש הוא ברור מאליו ולכן גם קודמו תקף ובכך מוכחת המונוטוניות העולה של הסדרה הנתונה. בחינת סיווג במתמטיקה.9.017 פתרונות.1 סדרת מספרים ממשיים } n {a נקראת מונוטונית עולה אם לכל n 1 מתקיים n+1.a n a האם הסדרה {n a} n = n היא מונוטונית עולה? הוכיחו תשובתכם. הסדרה } n a} היא אכן מונוטונית

Διαβάστε περισσότερα

מתמטיקה בדידה תרגול מס' 2

מתמטיקה בדידה תרגול מס' 2 מתמטיקה בדידה תרגול מס' 2 נושאי התרגול: כמתים והצרנות. משתנים קשורים וחופשיים. 1 כמתים והצרנות בתרגול הקודם עסקנו בתחשיב הפסוקים, שבו הנוסחאות שלנו היו מורכבות מפסוקים יסודיים (אשר קיבלו ערך T או F) וקשרים.

Διαβάστε περισσότερα

אלגוריתמים בתורת הגרפים חלק ראשון

אלגוריתמים בתורת הגרפים חלק ראשון גירסה 1. 11.11.22 אלגוריתמים בתורת הגרפים חלק ראשון מסמך זה הינו הראשון בסדרת מסמכים אודות תורת הגרפים, והוא חופף בחלקו לקורס "אלגוריתמים בתורת הגרפים" בטכניון (שאינו מועבר יותר). ברצוני להודות תודה מיוחדת

Διαβάστε περισσότερα

תרגיל 7 פונקציות טריגונומטריות הערות

תרגיל 7 פונקציות טריגונומטריות הערות תרגיל 7 פונקציות טריגונומטריות הערות. פתרו את המשוואות הבאות. לא מספיק למצוא פתרון אחד יש למצוא את כולם! sin ( π (א) = x sin (ב) = x cos (ג) = x tan (ד) = x) (ה) = tan x (ו) = 0 x sin (x) + sin (ז) 3 =

Διαβάστε περισσότερα

ניהול תמיכה מערכות שלבים: DFfactor=a-1 DFt=an-1 DFeror=a(n-1) (סכום _ הנתונים ( (מספר _ חזרות ( (מספר _ רמות ( (סכום _ ריבועי _ כל _ הנתונים (

ניהול תמיכה מערכות שלבים: DFfactor=a-1 DFt=an-1 DFeror=a(n-1) (סכום _ הנתונים ( (מספר _ חזרות ( (מספר _ רמות ( (סכום _ ריבועי _ כל _ הנתונים ( תכנון ניסויים כאשר קיימת אישביעות רצון מהמצב הקיים (למשל כשלים חוזרים בבקרת תהליכים סטטיסטית) נחפש דרכים לשיפור/ייעול המערכת. ניתן לבצע ניסויים על גורם בודד, שני גורמים או יותר. ניסויים עם גורם בודד: נבצע

Διαβάστε περισσότερα

תורת הקבוצות מושגי יסוד בתורת הקבוצות קבוצה אוסף של אלמנטים הנקראים אברי הקבוצה. אין חשיבות לסדר האיברים בקבוצה. אין חשיבות לחזרות.

תורת הקבוצות מושגי יסוד בתורת הקבוצות קבוצה אוסף של אלמנטים הנקראים אברי הקבוצה. אין חשיבות לסדר האיברים בקבוצה. אין חשיבות לחזרות. תורת הקבוצות מושגי יסוד בתורת הקבוצות קבוצה אוסף של אלמנטים הנקראים אברי הקבוצה. אין חשיבות לסדר האיברים בקבוצה. אין חשיבות לחזרות. A = 1,4,7,17,20 B = 1, a, b, c 2 נאמר ש x שייך ל A ונסמן x A אם x הוא

Διαβάστε περισσότερα

מודלים חישוביים, חישוביות וסיבוכיות

מודלים חישוביים, חישוביות וסיבוכיות מודלים חישוביים, חישוביות וסיבוכיות סשה גולדשטיין, sashag@cs 20 ביוני 2011 תקציר הסיכום להלן מהווה תקציר של חומר הקורס ואיני נוטל עליו כל אחריות. אתם יכולים להיעזר גם בהקלטות השיעורים וכמובן בספר הלימוד.

Διαβάστε περισσότερα

תרגול מס' 1 3 בנובמבר 2012

תרגול מס' 1 3 בנובמבר 2012 תרגול מס' 1 3 בנובמבר 2012 1 מערכת המספרים השלמים בשיעור הקרוב אנו נעסוק בקבוצת המספרים השלמים Z עם הפעולות (+) ו ( ), ויחס סדר (>) או ( ). כל התכונות הרגילות והידועות של השלמים מתקיימות: חוק הקיבוץ (אסוציאטיביות),

Διαβάστε περισσότερα

מתכנס בהחלט אם n n=1 a. k=m. k=m a k n n שקטן מאפסילון. אם קח, ניקח את ה- N שאנחנו. sin 2n מתכנס משום ש- n=1 n. ( 1) n 1

מתכנס בהחלט אם n n=1 a. k=m. k=m a k n n שקטן מאפסילון. אם קח, ניקח את ה- N שאנחנו. sin 2n מתכנס משום ש- n=1 n. ( 1) n 1 1 טורים כלליים 1. 1 התכנסות בהחלט מתכנס. מתכנס בהחלט אם n a הגדרה.1 אומרים שהטור a n משפט 1. טור מתכנס בהחלט הוא מתכנס. הוכחה. נוכיח עם קריטריון קושי. יהי אפסילון גדול מ- 0, אז אנחנו יודעים ש- n N n>m>n

Διαβάστε περισσότερα