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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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 =

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

פתרון תרגיל 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

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

פתרון תרגיל מרחבים וקטורים. 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+ הוא אוסף הפתרונות של המערכת

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

Regular Expressions (RE)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

{ : Halts on every input}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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 =

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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 חזרה טורי פורייה והתמרות אינטגרליות חורף תשע"ב זהויות טריגונומטריות

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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)

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

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

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

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

= 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π

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

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

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

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

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

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

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

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

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

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

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

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

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

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

מבני נתונים ואלגוריתמים תרגול #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

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

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

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

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

אלגברה מודרנית פתרון שיעורי בית 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) < עבור המקרים הבאים: (תזכורת:

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

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

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

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

כלליים זמן: 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 פתרונות

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

התפלגות χ: 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

חידה לחימום. כתבו תכ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ים משחקים במשחק.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

מבחן מועד ב' בהצלחה! אנא קיראו היטב את ההוראות שלהלן: ודאו כי כל עמודי הבחינה נמצאים בידכם.

מבחן מועד ב' בהצלחה! אנא קיראו היטב את ההוראות שלהלן: ודאו כי כל עמודי הבחינה נמצאים בידכם. 7.8.2017 מבחן מועד ב' תאריך הבחינה: שמות המרצים: מר בועז ארד פרופ' עמוס ביימל מר יהונתן כהן דר' עדן כלמטץ' גב' מיכל שמש אנא קיראו היטב את ההוראות שלהלן: שם הקורס: תכנון אלגוריתמים מספר הקורס: 202-1-2041

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

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

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

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

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

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

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

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

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

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

רשימת בעיות בסיבוכיות

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

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

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

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

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