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

Save this PDF as:
 WORD  PNG  TXT  JPG

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

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

Transcript

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

2 הקדשה הספר מוקדש לזכרו היקר של משה בנסל (955-2), אשר במהלך שלושים שנות עבודתו בחברת אינטל היה תמיד מקור השראה לערכי אנושיות, חברות, ומצוינות. יהי זכרו ברוך. Moshe Bensal All rights reserved c כל הזכויות שמורות to the authors 23,27 למחבר אין להעתיק, לצלם, או לתרגם את הספר או כל חלק ממנו בצורה כלשהי או באמצעים כלשהם, לרבות הקלטה ואיחסון במאגר מידע, אלא באישור בכתב מבעלי זכויות היוצרים. 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, יוני 27,

4 4 תוכן עניינים 9 מבוא רקע מתמטי קבוצות סדרות פונקציות (העתקות) גרפים גרפים מכוונים גרפים מסומנים טכניקות הוכחה 22 מחרוזות ושפות אוטומטים סופיים מונחי יסוד דיאגרמות מעבר שפות רגולריות 32 אוטומטים לא דטרמיניסטיים שקילות בין אוטומטים דטרמיניסטיים ולא דטרמיניסטיים אוטומטים עם מעברי. ε ביטויים רגולריים הגדרה

5 5 תוכן עניינים דרגת המורכבות של ביטוי רגולרי שקילות בין ביטויים רגולריים ואוטומטים סופיים אוטומטים מוכללים 78 תכונות של שפות רגולריות משפט הניפוח עבור שפות רגולריות הוכחת משפט הניפוח תכונות סגירות של השפות הרגולריות אלגוריתמי הכרעה עבור קבוצות רגולריות תאור בעייה אלגוריתם להכרעה אם L(M) אלגוריתם להכרעה האם L(M) אינסופית או סופית.4 אלגוריתם להכרעה האם ) 2. L(M ) = L(M משפט מייהיל נרוד (Myhill-Nerode) אוטומטים ויחסי שקילות המשפט של Myhill-Nerode 2 אלגוריתם למציאת אוטומט מינימלי איזומורפיזם בין שני אוטומטים קיום ויחידות של אוטומט מינימלי שקול דוגמא הוכחת הנכונות של האלגוריתם 3 דיקדוק חסר הקשר שפות חסרות הקשר תכונות נוספות של יחס הגזירה עצי גזירה

6 6 תוכן עניינים 5 הקשר שבין עצי גזירה ומסלולי גזירה רב משמעות משתנים שמושיים ומשתנים מיותרים פרודוקציות. ε פרודוקציות יחידה הצורה הנורמלית של חומסקי הוכחה דוגמא 2 אלגוריתם לקביעת התקבלות אוטומט מחסנית לא דטרמיניסטי קבלה על ידי מצב סופי הבהרות דוגמא תם אך לא נשלם...

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

8 8 תוכן עניינים דיקדוק רגולרי ודיקדוק חסר הקשר. מסלולי גזירה ועצי סריקה. שפות דו משמעיות. תכונות של שפות חסרות הקשר. הצורה הנורמלית של חומסקי. הצורה הנורמלית של גרייבך. משפט הניפוח עבור שפות נטולות הקשר. אוטומט מחסנית. ספרי לימוד מומלצים. אוטומטים ושפות פורמליות. פרופסור שמול זקס, פרופסור נסים פרנסיז, הטכניון, כרכים א, ב. הוצאת האוניברסיטה הפתוחה. 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.

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

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

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

12 2 פרק 2 רקע מתמטי להלן סקירה מהירה של מושגים יסודיים מתורת הקבוצות, תורת הגרפים, וקומבינטוריקה, הדרושים לנו. המטרה כאן היא לרענן את זכרונו של הקורא באמצעות תזכורות ודוגמאות קצרות, ולכן לא נתעכב על הגדרות מלאות ומפורטות. הקורא הזקוק לריענון יסודי יותר, יימצא פירוט רחב ומעולה בספר של האוניברסיטה הפתוחה: אוטומטים ושפות פורמליות כרך ראשון. 2. קבוצות מושג הקבוצה (set) הוא מושג יסוד שעליו מושתתת המתמטיקה המודרנית על כל תחומיה הרבים והרב גוניים. הנחת יסוד כי מדובר במושג בסיסי ברור מאליו שאינו דורש הגדרה. אנו מניחים כי לקורא יש רקע בסיסי בתורת הקבוצות מלימודיו הקודמים. למרות זאת, בכדי להסיר ספקות ומכשלות נחזור על מספר עובדות יסוד הנוגעות למושג זה. אין כפילויות: איבר a עשוי להשתייך או לא להשתייך לקבוצה A אך לא תיתכן השתייכות מרובה (כפילות) של a (כמו במבני נתונים מסוימים במדעי המחשב). לסדר האיברים בקבוצה אין שום חשיבות: 4} {7,, = 7}.{, 4, יש להבחין בין קבוצות סופיות וקבוצות אינסופיות.

13 3 פרק 2. רקע מתמטי קבוצות סופיות ניתן להגדיר באמצעות רשימת איבריהם (בכל סדר נוח A = {2, 4, 6, 8} B = {3, 6, 9, 2,..., 3} להצגה) כמו בדוגמאות הבאות: C = {n N 2 n < 2 n < 3} כמו כן, קבוצות אינסופיות ניתן להגדיר בדרכים מגוונות כמו בדוגמאות A = {2, 4, 6,...} A = {n N מספר זוגי n} הבאות: A = {n N k N[n = 2k]} { [ B = q Q ( m N)( n N) q = m n ]} m 2 + n 2 N תת קבוצה: קבוצה A תיקרא תת קבוצה של קבוצה B, ונרשום A, B אם כל איברי הקבוצה A כלולים בקבוצה B. בשפה לוגית, טענה כזו מובעת על ידי: x[x A x B] לפעמים אומרים גם כי הקבוצה A כלולה או מוכלת בקבוצה B או שהקבוצה B מכילה או כוללת את הקבוצה A. במידה והקבוצה B אינה זהה לקבוצה (A B (או A B נרשום A האיחוד של שתי קבוצות A ו B היא הקבוצה הכוללת את כל איברי A ואיברי B. A B = {x x A or x B}

14 4 פרק 2. רקע מתמטי A B = {x x A and x B} חיתוך של שתי קבוצות מוגדר על ידי: חיסור: 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, 3, 7,,, 7, 5, 3, 2, לסדר יש חשיבות: 4) (7,, 7).(, 4, סדרה סופית נקראת n יה. סדרה בת שני איברים נקראת זוג סדור. מכפלה קרטזית של שתי קבוצות: A B = {(a, b) a A and b B}

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

16 6 פרק 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 גרפים מכוונים גרף מכוון E) :G = (V, V קבוצת צמתים (או קודקודים) E V V קבוצת צלעות מכוונות, E V = {, 2, 3, 4, 5} E = {(, 3), (, 4), (2, 4), (4, 2), (2, 5), (3, 5)} דוגמא: בצורה דומה נגדיר את המושגים הבאים: נתיב מכוון, מסלול מכוון, מחזור מכוון, עץ מכוון.

17 7 פרק 2. רקע מתמטי 2.6 גרפים מסומנים גרף מסומן Σ) G = (V, E, מורכב מהדברים הבאים: 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 איור 2.: גרף מסומן

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

19 9 פרק 2. רקע מתמטי משפט: בכל אלפבית בעל n תווים, מספר המחרוזות הכפולות הוא (2n)! הוכחה על ידי אינדוקציה: 2 n נסמן ב (n) F את מספר המחרוזות הכפולות מעל אלפבית בעל 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+ איור 2.2: הוכחה על ידי אינדוקציה בכדי לקבל מילה כפולה באלפבית של n+ תווים ממילה כפולה a a 2 a 2n באלפבית של n תווים יש לשבץ את התו החדש, שנקרא לו x, בתוך שתי משבצות ריקות. קיימות שתי דרכים עקריות לעשות זאת: דרך א :

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

21 2 פרק 2. רקע מתמטי תרגיל: כמה מילים משולשות ישנן באלפבית של n תווים? המשפט הבא מדגים מהי הוכחה על ידי בניה: משפט: לכל n זוגי קיים גרף פשוט אשר לכל קודקודיו דרגה 3 הוכחה על ידי בניה: נוכיח את המשפט על ידי כך שנבנה את הגרף המבוקש V = {v {, v 2,..., v n } } E = {v i, v j } j = i + (j = n i = ) j = i + n 2 למשל, עבור = 8 n, הגרף יראה כך: v v2 v8 v3 v7 v4 v6 v5 איור 2.5: הוכחה על ידי בניה

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

23 23 פרק 3. מחרוזות ושפות a 3 bc 4 היא לכן המחרוזת a. 5 המחרוזת aaaaa תסומן בקיצור על ידי.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 החומצות האמיניות = } T Σ = {A, C, G, L = {w DNA שרשרת w} א. ב. ג. ד. תווים מתוך האלפבית יסומנו בדרך כלל על ידי האותיות c, b, a,... מחרוזות יסומנו על ידי האותיות,z,y,x,w,v,u... Σ. קבוצת כל המחרוזות מעל האלפבית Σ + Σ קבוצת כל המחרוזות מעל האלפבית Σ ללא המחרוזת הריקה. פעולות בין שפות: L L 2 = {w w L or w L 2 } א. איחוד

24 24 פרק 3. מחרוזות ושפות L L 2 = {w w L and w L 2 } L L 2 = {uv u L and v L 2 } ב. חיתוך ג. שירשור L L L 2 L n+ = {ε} = L = LL = 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 אינסופיות.

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

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

27 27 פרק 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.

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

29 29 פרק 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 )

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

31 3 פרק 4. אוטומטים סופיים ג. בהינתן אוטומט מורכב M, האם קיים אוטומט פשוט יותר השקול לו? והאם קיים אלגוריתם מעשי למציאת אוטומט שקול קטן ביותר?

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

33 33 פרק 5. אוטומטים לא דטרמיניסטיים Σ האלפבית שמעליו מוגדרות המחרוזות המוזנות לאוטומט. δ : Q Σ P (Q) פונקציית מעבר δ F. Q קבוצת מצבי קבלה (או מצבי סיום), F q מצב ההתחלה של האוטומט. זהו מצב אשר בו האוטומט נמצא בתחילתו של כל תהליך חישוב. תזכורת: (Q) P היא קבוצת כל תתי הקבוצות של Q. ההגדרה של אוטומט לא דטרמיניסטי זהה בכל להגדרת אוטומט דטרמיניסטי מלבד בפונקציית המעבר שמעתיקה זוג (a,q) לקבוצת מצבים.δ(q, (a Q משמעות הדבר היא שאם אוטומט לא דטרמיניסטי נמצא במצב q כאשר הוא קורא תו a הוא יוכל לעבור לכל אחד מהמצבים בקבוצה (a.δ(q, 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 מסתיימת במצב קבלה.

34 34 פרק 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 קבוצת צלעותיו: a)} E = {(q, a, q ) q δ(q, קבוצת התווים המשמשים לסימון צלעות הגרף היא כמובן Σ. באוטומט דטרמיניסטי, לכל מצב q ולכל תו a קיים בדיוק מצב אחד q כך ש E,q).,a q ) באוטומט לא דטרמיניסטי, לעומת זאת, ייתכן יותר ממצב אחד q כזה, או אפילו שום q כזה. פונקציית המעבר המורחבת δ δ : Q Σ P (Q)

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

36 36 פרק 5. אוטומטים לא דטרמיניסטיים הרחבה זו מאפשרת לנו לתת הגדרה משופרת של δ: δ (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 } δ (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 }

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

38 38 פרק 5. אוטומטים לא דטרמיניסטיים 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 ) סימון:.M M 2 הגדרת האוטומט הלא דטרמיניסטי כוללת בתוכה גם את האוטומט הרגיל. אוטומט רגיל הוא אוטומט לא דטרמיניסטי בעל התכונה המיוחדת: לכל מצב q ולכל תו a, קבוצת המצבים (a δ(q, מכילה בדיק מצב אחד. לכן: כל שפה הניתנת להגדרה על ידי אוטומט רגיל ניתן להגדיר גם על ידי אוטומט לא דטרמיניסטי. שאלה: האם קיימות שפות שניתן להגדיר באמצעות אוטומטים לא דטרמיניסטיים אך לא ניתנות להגדרה על ידי אוטומטים רגילים? התשובה לשאלה זו היא מפתיעה: כל שפה שניתן להגדיר באמצעות אוטומטים לא דטרמיניסטי ניתן להגדיר גם על ידי אוטומט רגיל! אם כך, לשם מה צריך אוטומטים לא דטרמיניסטיים?

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

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

41 4 פרק 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 } ( )

42 42 פרק 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 ] אם ורק אם ומכאן ש

43 43 פרק 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 =

44 44 פרק 6. שקילות בין אוטומטים דטרמיניסטיים ולא דטרמיניסטיים דוגמא: נהפוך את האוטומט הלא דטרמיניסטי הבא לאוטומט דטרמיניסטי NPDA Start q q3 q4 q q2 איור 6.: אוטומט לא דטרמיניסטי 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] איור 6.2: אוטומט דטרמיניסטי שקול

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

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

47 47 פרק 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

48 48 פרק 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.

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

50 5 פרק 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) תרגיל: חשב את a) δ(p, ואת ε) δ (P, כאשר } 3 P = {q, q ו M הוא האוטומט מהדוגמא השניה.

51 5 פרק 7. אוטומטים עם מעברי ε שאלה: האם a)?δ(p, a) = δ (P, הערה: שלא כמו במקרים הקודמים, במקרה של אוטומט עם מעברי ε, (a δ,q) אינו חייב להיות זהה ל (a.δ(q, מאחר ו (a δ,q) היא קבוצת כל המצבים אשר ניתן להגיע אליהם ממצב q על ידי צלעות המסומנות a או ε, בעוד ש (a δ(q, היא קבוצת כל המצבים אשר ניתן להגיע אליהם ממצב 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 מלבד בפונקציית המעבר δ ובקבוצת מצבי הקבלה.

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

53 53 פרק 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) על פי ההגדרה של δ, ולכן קיבלנו כי

54 54 פרק 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),δ (q, w) = δ (q, גם w) δ (q, תכיל מצב זה. להיפך: אם w) δ (q, מכילה מצב F שאינו q (ולכן ב (F אז השוויון w) δ (q, w) = δ (q, מחייב כי מצב זה נמצא גם ב w).δ (q, אם מצב זה הוא q אך q / F (כלומר F q δ (q, w) אך,(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 איור 7.3: אוטומט לא דטרמיניסטי עם מעברי ε

55 55 פרק 7. אוטומטים עם מעברי ε את טבלת המעבר של δ נחשב על פי הנוסחה a).δ (q, a) = δ (q, 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 איור 7.4: אוטומט לא דטרמיניסטי שקול ללא מעברי ε

56 56 פרק 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 }

57 57 פרק 8. ביטויים רגולריים החזקה של שפה L מוגדרת על ידי L L L 2 L n+ = {ε} = L = LL = 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 בהתאמה, אז (s r) + הוא ביטוי רגולרי המתאר את השפה L. L 2 ה. אם r ו s שני ביטויים רגולריים המתארים את השפות L ו L 2 בהתאמה, אז (rs) הוא ביטוי רגולרי המתאר את השפה L. L 2

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

59 59 פרק 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 ב. אם s r, ביטויים רגולריים בעלי דרגת מורכבות n, m, בהתאמה, אז דרגת המורכבות של rs ו s r + תהיה + n}.max{m,

60 6 פרק 8. ביטויים רגולריים ג. אם 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]) + דוגמאות: א. דרגת הביטוי הרגולרי ab) a) + היא 3. ב. דרגת הביטוי הרגולרי bba היא 2. ג. דרגת הביטוי הרגולרי (bbaa) היא 4. הוכחה: deg[(bbaa) ] = deg[bbaa] + = (max(deg[bba], deg[a]) + ) + = (max(2, ) + ) + = 3 + = 4 ד. דרגת הביטוי הרגולרי (bbaa) (a + ab) היא.5 הוכחה: deg[(a + ab) (bbaa) ] = = max{deg[(a + ab) ], deg[(bbaa) ]} + = max(3, 4) + = 5

61 6 פרק 8. ביטויים רגולריים קל ופשוט לשרטט עץ גזירה עבור הביטוי הרגולרי שלנו: (a+ab)*(bbaa)* (a+ab)* (bbaa)* a+ab bbaa a ab bba a a b bb a b b איור 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.2: רמת מורכבות (degree) של ביטוי רגולרי

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

63 63 פרק 8. ביטויים רגולריים עלינו להוכיח: לכל ביטוי רגולרי בעל דרגת מורכבות + n, קיים אוטומט נורמלי המקבל את השפה.L(r) יהי r ביטוי רגולרי בעל דרגת מורכבות + n. אזי אחד מהמקרים הבאים חייב להתקיים: א.,r = r + r 2 כאשר r 2,r ביטויים רגולריים מדרגה n ומטה. ב.,r = r r 2 כאשר r 2,r ביטויים רגולריים מדרגה n ומטה. ג. 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

64 64 פרק 8. ביטויים רגולריים עבור השפה ) 2,L(r ) L(r על פי הסכימה הבאה: ε q M f ε Start q f ε q2 M2 f2 ε איור :8.4 אוטומט נורמלי עבור השפה ) 2 L(r ) L(r ההגדרה הפורמלית של M תהיה M = (Q Q 2 {q, f }, Σ, δ, q, f ) קבוצת המצבים של M היא האיחוד של מצבי M ו M, 2 בתוספת של שני מצבים חדשים f. q, המצב q יהיה מצב ההתחלה של M, והמצב f יהיה מצב הקבלה של 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

65 65 פרק 8. ביטויים רגולריים יהיו 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 איור :8.5 אוטומט נורמלי עבור השפה ) 2 L(r )L(r 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 )

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

67 67 פרק 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.7: אוטומט נורמלי עבור הביטוי הרגולרי (ab) + bb 8.4 אוטומטים מוכללים בכדי לסיים את התוכנית שלנו, נשאר לנו להוכיח את המשפט ההפוך למשפט הקודם. משפט: כל שפה L המתקבלת על ידי אוטומט דטרמיניסטי ניתן לתאר על ידי ביטוי רגולרי. למטרה זו נציג מודל נוסף של אוטומט: אוטומט מוכלל. הגדרה: אוטומט מוכלל הוא אוטומט אשר בו א. כל צלע מסומנת על ידי ביטוי רגולרי באלפבית Σ. ב. קיים מצב התחלה אחד ויחיד q s אשר אליו לא נכנסת שום צלע.

68 68 פרק 8. ביטויים רגולריים ג. קיים מצב קבלה אחד ויחיד 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 2 p k k q f = p k כך שבכל שלב w i, i k תואמת את הביטוי הרגולרי המסמן את הצלע היוצאת מהמצב i q למצב q. i דוגמא: * q ε Start qs qf (+)* q2 איור 8.8: אוטומט מוכלל automata) (generalized דוגמא לכמה מחרוזות המתקבלות על יד אוטומט זה הן,,, למשל סדרת חישוב עבור = w היא q s q q q ε qf

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

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

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

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

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

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

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

אוטומט סופי דטרמיניסטי מוגדר עי החמישייה: 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. גרסה ראשונה

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

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

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

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

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

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

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

Regular Expressions (RE)

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

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

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

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

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

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

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

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

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

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

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

[ ] 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 - הגדרת אוטומט

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

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

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

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

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

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

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

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 הגדרת קבוצת הנוסחאות הבנויות היטב באינדוקציה הגדרה : קבוצת הנוסחאות הבנויות

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

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

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

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

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

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

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

{ : Halts on every input}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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 =

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

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

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

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

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

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

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

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

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

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

מתמטיקה בדידה תרגול מס' 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 או, בסימון

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

מודלים חישוביים פתרון תרגיל 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 כתוב אוטומט דטרמיניסטי

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

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 פונקציות המוגדרות בסביבה נקובה

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

לוגיקה ותורת הקבוצות מבחן סופי אביב תשעד (2014) דפי עזר לוגיקה ותורת הקבוצות מבחן סופי אביב תשע"ד (2014) דפי עזר תורת הקבוצות: סימונים.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. מה ניתן לחשב? מה לא ניתן? בקורס זה נעסוק בבעיות חישוב הנקראות בעיות הכרעה. בהינתן קלט, אנו נבצע "חישוב" ובסופו נחזיר תשובה האם הקלט

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

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)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

שאלה 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

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

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

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

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

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

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

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

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

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

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

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. נבחר תת חבורה

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

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

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

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

כלליים זמן: 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 הוא צומת התחלת החיפוש.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

תכנון אלגוריתמים 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 נתונות שתי בעיות. בעיה א' מופע: גרף מכוון

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

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 סעיףב',תשובה.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

מתכנס בהחלט אם 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

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

חידה לחימום. כתבו תכappleית מחשב, המקבלת כקלט את M ו- N, מחליטה האם ברצוappleה להיות השחקן הפותח או השחקן השappleי, ותשחק כך שהיא תappleצח תמיד.

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

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

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

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

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

חישוביות, אוטומטים ושפות מכונה סיכומי הרצאות

חישוביות, אוטומטים ושפות מכונה סיכומי הרצאות חישוביות, אוטומטים ושפות מכונה סיכומי הרצאות 6 ביוני 2011 מרצה: גיא קינדלר מתרגל: רועי פוקס סוכם ע י: אור שריר פניות לתיקונים והערות: tnidtnid@gmail.com אתר הסיכומים שלי: http://bit.ly/huji_notes 1 תוכן

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

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

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

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

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

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

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

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

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

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

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

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

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

טענה חשובה : העתקה לינארית הינה חד חד ערכית האפס ב- הוא הוקטור היחיד שמועתק לוקטור אפס של. נקבל מחד חד הערכיות כי בהכרח.

טענה חשובה : העתקה לינארית הינה חד חד ערכית האפס ב- הוא הוקטור היחיד שמועתק לוקטור אפס של. נקבל מחד חד הערכיות כי בהכרח. 1 תשע'א תירגול 8 אלגברה לינארית 1 טענה חשובה : העתקה לינארית הינה חד חד ערכית האפס ב- הוא הוקטור היחיד שמועתק לוקטור אפס של וקטור אם הוכחה: חד חד ערכית ויהי כך ש מכיוון שגם נקבל מחד חד הערכיות כי בהכרח

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

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

מודלים חישוביים, חישוביות וסיבוכיות 67521 מודלים חישוביים, חישוביות וסיבוכיות 67521 חיים שחור סיכומי שיעורים של ד"ר גיא קינדלר 21 ביוני 2012 תוכן עניינים 2.................................................. אוטומטים ושפות רגולריות 1 3........................................................

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

תורת הקבוצות בפברואר 2012 תקציר סיכום הרצאות של פרופסור רון לבנה בשנת לימודים 2012

תורת הקבוצות בפברואר 2012 תקציר סיכום הרצאות של פרופסור רון לבנה בשנת לימודים 2012 תורת הקבוצות 80200 אור דגמי, ÓÖ Ñ ºÓÖ 11 בפברואר 2012 אתר אינטרנט: ØØÔ»» Ñ ºÓÖ תקציר סיכום הרצאות של פרופסור רון לבנה בשנת לימודים 2012 1 תוכן עניינים תוכן עניינים תוכן עניינים מבוא.............................................

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

סיכום חקירת משוואות מהמעלה הראשונה ומהמעלה השנייה פרק זה הינו חלק מסיכום כולל לשאלון 005 שנכתב על-ידי מאיר בכור

סיכום חקירת משוואות מהמעלה הראשונה ומהמעלה השנייה פרק זה הינו חלק מסיכום כולל לשאלון 005 שנכתב על-ידי מאיר בכור סיכום חקירת משוואות מהמעלה הראשונה ומהמעלה השנייה פרק זה הינו חלק מסיכום כולל לשאלון 5 שנכתב על-ידי מאיר בכור. חקירת משוואה מהמעלה הראשונה עם נעלם אחד = הצורה הנורמלית של המשוואה, אליה יש להגיע, היא: b

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

חישוביות הרצאה 6 אותה מ M תקודד ע''י מחרוזת רווח ! מכונת טיורינג אוניברסלית

חישוביות הרצאה 6 אותה מ M תקודד ע''י מחרוזת רווח ! מכונת טיורינג אוניברסלית לשיה ספציפית ול ל שיה כללית חישוביות הרצאה 6 כונת טיורינג כונת טיורינג אוניברסלית פונקציות שאינן ניתנות לחישוב עד כה נקטנו בגישה שלכל שיה יש לבנות שלה שבצעת את השיה הספציפית הזו אך בציאות לא בונים חשב

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

אוטומטים מעל עצמים אינסופיים 67663

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

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

אלגברה לינארית 1 יובל קפלן

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

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

1 סכום ישר של תת מרחבים

1 סכום ישר של תת מרחבים אלמה רופיסה :הצירטמ לש ןדרו'ג תרוצ O O O O O O ןאבצ זעוב סכום ישר של תת מרחבים פרק זה כולל טענות אלמנטריות, שהוכחתן מושארת לקורא כתרגיל הגדרה: יהיו V מרחב וקטורי, U,, U k V תת מרחבים הסכום W U + U 2 +

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

מבחן במודלים חישוביים + פתרון מוצע

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

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

A-PDF Merger DEMO : Purchase from to remove the watermark

A-PDF Merger DEMO : Purchase from  to remove the watermark A-PDF Merger DEMO : Purchase from wwwa-pdfcom to remove the watermark סוכם על ידי אבי שוע shuaav@gmalcom http://wwwcshujacl/~shuaav אני מקווה שהסיכומים יעזרו לכם ולעוד רבים טעויות אני (ואף אחד אחר) לא

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

אלגברה ליניארית 1 א' פתרון 2

אלגברה ליניארית 1 א' פתרון 2 אלגברה ליניארית א' פתרון 3 4 3 3 7 9 3. נשתמש בכתיבה בעזרת מטריצה בכל הסעיפים. א. פתרון: 3 3 3 3 3 3 9 אז ישנו פתרון יחיד והוא = 3.x =, x =, x 3 3 הערה: אפשר גם לפתור בדרך קצת יותר ארוכה, אבל מבלי להתעסק

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

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

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

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

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

הגדרה 0.1 טיעון הוא תקף אם בכל פעם שההנחות נכונות גם המסקנה נכונה. 1 לוגיקה סיכום הגדרות משפטים ודברים חשובים אחרים תודה רבה לניצן פומרנץ על הסיכום הכולל של החומר הקדמה הגדרה 0.1 טיעון הוא תקף אם בכל פעם שההנחות נכונות גם המסקנה נכונה. הערה 0.2 נשים לב שלכל שפה יש רובד

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

r. כלומר התחיל במצב ההתחלתי, סיים במצב מקבל, ובדרך עבר בצורה חוקית. ניתן להגדיר

r. כלומר התחיל במצב ההתחלתי, סיים במצב מקבל, ובדרך עבר בצורה חוקית. ניתן להגדיר מודלים חישוביים סיכום למבחן אוטומטים: שפות / מחרוזות / הגדרות בסיסיות: א"ב: Σ הוא אוסף סופי של תווים, סימנים. מחרוזת / מילה: רצף סופי של אותיות מא"ב מסוים, כאשר מספר האותיות הוא אורכה המחרוזת הריקה: ε

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

xpy xry & ~yrx xiy xry & yrx

xpy xry & ~yrx xiy xry & yrx האם קיים קשר בין העדפה ובחירה? ההנחה שקיים קשר הדוק בין מערכת ההעדפות של היחידה הכלכלית ובין התנהגותה המתבטאת בבחירה בין האפשרויות העומדות בפניה מקובלת מאד בתיאוריה הכלכלית. למעשה הנחת העבודה הבלעדית בניתוח

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

2 שאלות )בחירה מ - 4( סה"כ 25 נקודות לכל שאלה 22 נקודות

2 שאלות )בחירה מ - 4( סהכ 25 נקודות לכל שאלה 22 נקודות מבחן 0225 פרטים כלליים מועד הבחינה: בכל זמן מספר השאלון: 1 משך הבחינה: 3 שעות חומר עזר בשימוש: הכל )ספרים ומחברות( המלצות: קרא המלצות לפני הבחינה ובדיקות אחרונות לפני מסירה )עמודים 7-9( מבנה השאלון פרק

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

אלגוריתמים ללכסון מטריצות ואופרטורים

אלגוריתמים ללכסון מטריצות ואופרטורים אלגוריתמים ללכסון מטריצות ואופרטורים לכסון מטריצות יהי F שדה ו N n נאמר שמטריצה (F) A M n היא לכסינה אם היא דומה למטריצה אלכסונית כלומר, אם קיימת מטריצה הפיכה (F) P M n כך ש D P AP = כאשר λ λ 2 D = λ n

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

נספח לפרק 10 דוגמא לאנליזה של מכונת מצבים ננסה להבין את פעולתה של מ כונת המצבים הבאה : Input X. q 0 q 1. output D FF-0 D FF-1. clk

נספח לפרק 10 דוגמא לאנליזה של מכונת מצבים ננסה להבין את פעולתה של מ כונת המצבים הבאה : Input X. q 0 q 1. output D FF-0 D FF-1. clk נספח לפרק 10 דוגמא לאנליזה של מכונת מצבים ננסה להבין את פעולתה של מ כונת המצבים הבאה : Input X D FF-0 q 0 q 1 Z D FF-1 output clk 424 מצב המכונה מוגדר על ידי יציאות רכיבי הזיכרון. נסמן את המצב הנוכחי q

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

הרצאה. α α פלוני, וכדומה. הזוויות α ל- β שווה ל-

הרצאה. α α פלוני, וכדומה. הזוויות α ל- β שווה ל- מ'' ל'' Deprmen of Applied Mhemics Holon Acdemic Insiue of Technology PROBABILITY AND STATISTICS Eugene Knzieper All righs reserved 4/5 חומר לימוד בקורס "הסתברות וסטטיסטיקה" מאת יוג'ין קנציפר כל הזכויות

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

תורת הקומפילציה הרצאה 4 ניתוח תחבירי )Parsing( של דקדוקי LR(0) ו-( LR(1 )חזרה + המשך(

תורת הקומפילציה הרצאה 4 ניתוח תחבירי )Parsing( של דקדוקי LR(0) ו-( LR(1 )חזרה + המשך( תורת הקומפילציה 236360 הרצאה 4 ניתוח תחבירי )Parsing( של דקדוקי LR(0) ו-( LR(1 )חזרה + המשך( 1 תזכורת: סוגי הניתוח התחבירי )predictive מהשורש לעלים )נקרא גם s "ניתוח תחזית" top-down x y bottom-up מהעלים

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

מבני נתונים ואלגוריתמים תרגול #8-9

מבני נתונים ואלגוריתמים תרגול #8-9 מבני נתונים ואלגוריתמים תרגול #89 מציאת מסלולים קצרים הבעיה: נתון גרף ממשוקל רוצים למצוא את המסלול הקצר בין זוג קודקודים עיקרון הרלקסציה של קשת: בדיקה האם ניתן לשפר מסלול מ s ל v ע"י מעבר דרך קודקוד u:?

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

תורת המספרים 1 פירוק לגורמים ראשוניים סיכום הגדרות טענות ומשפטים אביב הגדרות 1.2 טענות

תורת המספרים 1 פירוק לגורמים ראשוניים סיכום הגדרות טענות ומשפטים אביב הגדרות 1.2 טענות תורת המספרים סיכום הגדרות טענות ומשפטים אביב 017 1 פירוק לגורמים ראשוניים 1.1 הגדרות חוג A C נקראת חוג אם: היא מכילה את 0 ואת 1 סגורה תחת חיבור, חיסור, וכפל הפיך A חוג. a A נקרא הפיך אם 0,a.a 1 A קבוצת

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

אוסף שאלות מס. 3 פתרונות

אוסף שאלות מס. 3 פתרונות אוסף שאלות מס. 3 פתרונות שאלה מצאו את תחום ההגדרה D R של כל אחת מהפונקציות הבאות, ושרטטו אותו במישור. f (x, y) = x + y x y, f 3 (x, y) = f (x, y) = xy x x + y, f 4(x, y) = xy x y f 5 (x, y) = 4x + 9y 36,

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