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

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

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

Transcript

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

2 תוכן עניינים תוכן עניינים Overview מנהלות מקורות הרכב הציון פניות, בקשות, טענות תוכן עניינים 5 שיעורים I שפות 1 5 אוטומטים הגדרות בסיסיות אוטומטים סופיים דטרמיניסטיים DF A תכונות הסגירות של REG אוטומטים סופיים לא דטרמיניסטיים NF A שקילות Myhill-Nerode ביטויים רגולריים מכונת טיורינג מכונת טיורינג כקלט קידוד של מכונת טיורינג מכונת טיורינג אוניברסלית רדוקציית מיפוי רדוקציה בשפות שאינן מתוארות כמכונות טיורינג משפחות מוגבלות משאבים משאב הזמן מכונות טיורינג לא דטרמניסטיות רדוקצית מיפוי פולינומית הגדרות דוגמאות היררכיית הזמן מודלים נוספים של מכונת טיורינג הוספת עצה Advice אלגוריתמים רנדומיים בעיית בדיקת זהות עבור נוסחאות Identity Testing for Arithmetic Forumlas פולינומים נוסחאות הצגת הבעיה Amplification 4.3 II תרגולים 50 III תשובות לשאלות מבחינות משנים קודמות 73 2

3 Overview 0.1 תוכן עניינים Overview 0.1 קורס זה במובן מסויים הוא קורס במתמטיקה יותר מבמדעי המחשב. מה אנחנו מנסים לעשות בקורס? במבוא למדעי המחשב, dast ואלגוריתמים ראינו אלגוריתמים לחישובים שונים. בקורס זה נראה מהו חישוב בצורה יותר פורמלית. חישוב הוא תהליך שפותר בעיה חישוביות. נראה כמה דוגמאות לבעיות חישוביות: 1. נתון גרף G. האם יש בו מסלול אוילר? 1.2 בהנתן קבוצה מספרים } n A = {a 1, a 2,..., a (נחשוב עליהם בתור מספרים מאוד גדולים), ומספר נוסף,t האם ניתן להציג את t כסכום של תת קבוצה של A? ( ) ( ) ( ) x1 x2 xn.3 בהנתן n זוגות של מילים מעל הא"ב b} :{a,...,,,, האם יש סדרה סופית a 1, a 2,..., a k y 1 y 2 y n (של מספרים) כך שהשרשור x a1, x a2,..., x ak (כאשר a 1,.., a k משמש כאן כאינדקס) שווה לשרשור: y a1, y a2,..., y ak נשים לב שזה לא בהכרח אומר ש y, a1 = x a1 שכן במקרה כזה פתרנו את הבעיה פשוט ניקח את הסדרה = 1 1 a, וסיימנו. המטרה כאן היא למצוא שרשורים שווים זה לזה (בעיית הכרעה האם קיים כזה). למשל: x 1 = aba, y 1 = ab x 2 = b, y 2 = ab a 1 = 1, a 2 = 2 x 1 x 2 = abab = y 1 y 2, x 1 y 1, x 2 y 2 כעת נדבר על חישובים: 1. אם נרצה חישוב שעונה על שאלה 1 האם קיים חישוב כזה? אם כן, האם קיים חישוב יעיל כזה? כן קיים משפט: בגרף יש מסלול אוילר אמ"מ מספר הצמתים שדרגתם אי זוגית הוא לא יותר מ 2. אזי, כדי למצוא חישוב מתאים לשאלה 1, מספיק לבדוק מהו מספר הצמתים שדרגתם אי זוגית. קיים חישוב יעיל הלינארי (?!) בגודל הקלט. 2. לגבי שאלה 2 קיים, למשל, אלגוריתם דינמי: לחשב את קבוצת כל המספרים שניתן להגיע אליהם כסכום של a, 1, a 2 לאחר מכן לקחת את המספרים האלו ולהוסיף או לא להוסיף את a, 3 ולהוסיף את התוצאות לקבוצת המספרים המקורית, וכך הלאה. במקום תכנון דינמי, אפשר לבדוק את כל הסכומים: a i, S {1,..., n} i S יש 2 n סכומים כאלו (כי יש 2 n תת קבוצות), ולכן בעוד שהחישוב עצמו מאוד פשוט, הוא ארוך מאוד (אקספוננציאלי) ולא יעיל במיוחד. לא ידוע לנו על חישוב יעיל לבעיה זו. 3. לגבי שאלה 3, אפשר לפעול בצורה מאוד נאיבית לנסות את כל הסידורים האפשריים (כאן יש חשיבות לסדר). כאן יכול להיות שאי אפשר לסדר תת קבוצה של הזוגות האלו, אולם אפשר אם חלק מהזוגות חוזרים בסדרה. לכן, אין גבול אורך הסדרה, ולכן יש אינסוף אפשרויות, לכן לא ניתן לעבור על כל האפשרויות. היינו רוצים אם כך אלגוריתם אחר, אבל מתברר שאין כזה כלומר, אין חישוב שפותר את הבעיה הזו. נוכיח זאת במסגרת הקורס. ראינו אם כך שיש בעיות חישוביות שהן קלות, יש בעיות חישוביות שהן קשות, וישנן בעיות חישוביות שאין אף אלגוריתם שפותר אותן. יש גם בעיה אחרת שהרבה מאיתנו נתקלים בה: בהנתן תוכנית מחשב M בשפת C, האם היא נכנסת ללולאה אינסופית (כשמריצים אותה בלי שום קלט, אפשר גם לדבר על קלט ספציפי, או האם קיים קלט שמכניס אותה ללופ, וכו'), כלומר האם היא תסיים או לא תסיים? אין שום קומפיילר שנכניס לתוכו את התוכנית ויוכל לומר לנו שהתוכנה תסיים\לא תסיים. בעיה זו היא גם באותו מעמד כמו בעיה 3 מעלה. גם את זה נראה במסגרת הקורס. זה בעצם יותר עמוק ממדעי המחשב בלבד אפשר לשאול, למשל, בהנתן משפט מתמטי, האם קיימת הוכחה שמסתמכת על קבוצת אקסיומות מסויימת? גם שאלה זו לא ניתנת לפיתרון בעזרת מחשב. שלושת חלקי הקורס יהיו: 1 תזכורת: מסלול אוילר הוא מסלול שמתחיל באחד הקודקודים והולך על כל קשתות הגרף פעם אחד, ולא יותר מפעם אחת. יש כמובן גרפים שאין בהם מסלול אוילר. 3

4 תוכן עניינים 0.2 מנהלות 1. אוטומטיים סופיים: כדי להראות שלא קיים אלגוריתם, צריך להגדיר את המושג "אלגוריתם". מסתבר שההגדרה הזו לא פשוטה. נלמד את המודל של אוטומטיים סופיים, שקל יותר להשתמש בו מאשר להגדיר מההתחלה את המושג אלגוריתם. 2. חישוביות: אילו בעיות הכרעה ניתן להכריע בעזרת מחשב? ניתן כאן תשובה חלקית אך מספקת. 3. סיבוכיות: מה ניתן לפתור בצורה יעילה בעזרת מחשב? לדוגמא, את שאלה מס' 2 אנו לא יודעים אם אפשר לפתור אותה בצורה יעילה (בזמן פולינומיאלי). באופן כללי, "יעילה" יכול להתייחס לזמן, לזיכרון, וגורמים נוספים. כלומר, אילו משאבים נדרשים כדי לפתור שאלות. לגבי שאלה 2, נראה את ההשערה המפורסמת,NP? = P וכן אם,NP P אז לשאלה 2 אלגוריתם יעיל (במקרה זה פולינומי). 0.2 מנהלות מקורות חשוב להגיע לשיעורים, אי אפשר ללמוד רק מהספרים. ספר הקורס הוא (למרות שלא מתחייב שכל דבר שילמד יהיה על פיו, אולי הכל לא יהיה מכוסה בו): Sipser: Introduction to theory of computing ממליץ לא ללמוד מהמהדורה העברית, אלא מהמקורית. הוא מקור טוב מאוד כמעט לכל החומר. חוץ מממנו יש המון סיכומים משנים קודמות (מופיע בדפי הקורס של שנים קודמות של איילת מזרחי מצויין). סיכומים מהשנה הנוכחית. הקלטות השיעור משנה שעברה הרכב הציון כרגע יש שביתה של הסגל הזוטר. במידה והשביתה לא תגמר עד שבוע הבא, נתמודד עם זה אז. תרגילים: מבחן: 20%, לא מגן, 2 הגרועים לא יחשבו (מתוך בערך תרגיל תוך שבוע, בהתחשב במצב השביתה). השנה אין ראיונות יש "ראיונות כתובים", כלומר בחנים: כל אחד יכול לבחור מתי הוא מגיע מתוך כמה אפשרויות, ונבחן על כמה שאלות מתוך שיעורי הבית. זה "רשות" כלומר אם לא מעוניינים לגשת ל"ראיונות הכתובים", אפשר לקבל חומר רשות מהמרצה במקום לעשות את הראיונות הכתובים, ולהבחן אליו בשאלה נוספת בבחינה 2 (נניח כרגע שיהיה עוד זמן במבחן לשאלה הזו). 3 בבחנים יופיעו השאלות כפי שהופיעו בתרגיל עצמו (לא וריאציות). שני "הגרועים" הם הדרך לעקוף את בקשות הפטור למיניהן (מלבד מילואים שלא יחשבו שם). 20% לא עוזרים למי שלא עובר את המבחן..80% פניות, בקשות, טענות לרב, המתרגלים הם הכתובת הראשונה. לטענות כלליות (לא אישיות) אפשר לפנות לנציגות האגודה. 4 2 כאן המרצה השתמש במונח "הפתרון הסופי". נשמע מעודד. 3 "למה אמרתי את זה? אני לא בדיוק זוכר"... "אם הציונים יהיו נורא טובים, גם זה לא ממש יעזור לכם". 4 "אין לי אינטרס שאף אחד יכשל". נחזור לציטוט הזה בסוף הקורס. 4

5 1 שפות חלק I שיעורים 1 שפות 1.1 אוטומטים הגדרות בסיסיות אוטומט הוא מודל חישובי מוגבל הוא לא יכול לעשות את כל מה שהמחשב יכול לעשות, אך הוא יכול לפתור בעיות הכרעה מסויימות. נסמן את הא"ב שלנו ב { b Σ. =,a} קלט עבור האוטומט יהיה מילה מעל הא"ב הזה כלומר, שרשור של אותיות. נסמן ב Σ את אוסף המילים מעל הא"ב.abba Σ למשל,.Σ הבעיה שהאוטומט יפתור: האם מילה מ Σ מקיימת איזשהיא תכונה? דוגמא לבעיה חישובית שהאוטומט יכול לפתור האם מילה נתונה מכילה רצף באורך 3 של אחת האותיות? למשל, המילה abba אינה מכילה רצף באורך 3, ולכן האוטומט אמור לדחות המילה הזו. לעומת זאת, המילה baaa תתקבל ע"י האוטומט כבעלת התכונה הזו. הבה נבנה אוטומט שימצא את התכונה הזו: האוטומט פועל בגרף: *להכניס גרף* זהו אוטומט מאוד פשוט לבעיה חישובית מאוד פשוטה, ואם זאת, להוכיח זאת בצורה פורמלית זה לא דבר פשוט בכלל. התיאור של האוטומט בו דנו בשיעור הקודם סופי. בכך זה דבר שמאוד דומה למה שאנחנו חושבים על חישוב משהו שמכונה עושה בצורה סופית. כמו כן, המכונה שלנו פועלת בצורה מקומית (במקום תיאור של פונקציה למשל), ולכן הדבר הזה דומה למה שאנחנו חושבים באינטואיציה על חישוב. זהו מודל שהוא חלש ממה שהמחשב באמת יכול לעשות, אבל הוא שימושי. היום נרצה להגיד את המודל הזה מההתחלה עד הסוף תיאור האוטומט, ריצת האוטומט, ומה הוא עושה. הגדרה 1.1 א"ב הוא Σ קבוצה לא ריקה, סופית. לאיברי Σ קוראים אותיות\תווים. הגדרה 1.2 מילה 5 איבר של Σ n עבור n N (כל מילה היא באורך סופי), או ε המילה הריקה (מילה באורך אפס). הערה 1.3 נניח ש ε לא בא"ב, כלומר סימן זה יהיה שמור תמיד למילה הריקה. aba Σ 3, abba Σ 4,... למשל: סדרה אינסופית של אותיות לא נקרא מילה. הגדרה 1.4 Σ הוא אוסף כל המילים מעל הא"ב Σ. למשל, Σ.aba Σ,ε הגדרה 1.5 כל תת קבוצה Σ L נקראת שפה מעל Σ. לדוגמא, אוסף המילים מעל {b Σ =,a} המכילות רצף של לפחות 3 אותיות זהות הוא שפה. האוטומט מהשיעור הקודם בדיוק מזהה את השפה הזו. בהמשך נראה את הקשר בין אוטומטים לשפות (האם אוטומט יכול להכריע שפה או לא). השפה הזו היא אינסופית, אך יכולה גם להיות סופית יכולה להכיל למשל מילה אחת, שתיים או אפס מילים. עוד דוגמאות לשפות בא"ב{ b Σ: =,a} השפות הטריוויאליות: φ Σ L = השפה הריקה..Σ L = Σ.L = {aba}. 6 L = {ε} 5 בשונה ממה שאנחנו מכירים על שפה, כאן לא יהיו לנו "משפטים". 6 נשים לב ששפה זו היא אינה השפה הריקה! 5

6 1 שפות 1.1 אוטומטים הגדרות בסיסיות שפת המילים שבהן מספר המופעים של a הוא: מתחלק ב 3 עם שארית. 7 1 ראשוני. 8 מעל א"ב אחר כלומר שאינו {b,a}: שפת כל המשפטים המתמטיים הניתנים להוכחה מהאקסיומות אוטומטים סופיים דטרמיניסטיים DF A הגדרה 1.6 אוטומטון סופי דטרמיניסטי (Deterministic Finite Automaton) DFA הוא חמישיה סדורה ) F,(Q, Σ, δ, q 0, כאשר: Q היא קבוצה סופית של מצבים. Q q 0 הוא האיבר ההתחלתי. 10 Q F היא קבוצת המצבים המקבלים 11 בדוגמא מהשיעור הקודם קבוצה זו מכילה רק מצב אחד הסופי. δ היא פונקציה הנקראת פונקציית המעברים, המקיימת: δ : Q Σ Q כלומר, המקור שלה מכפלה קרטזית בין קבוצת המצבים והא"ב (האות שכרגע האוטומט מקבל), והטווח שלה קבוצת המצבים, כאשר המצב שיתקבל הוא זה שהאוטומט יעבור אליו אם במצב הנוכחי הוא מקבל אות מסויימת. בדוגמא מהשיעור הקודם, הפונקציה הזו מיוצגת ע"י החצים בציור. במילים אחרות, אם האוטומט נמצא במצב q וקורא את האות α, אז המצב הבא של האוטומט יהיה (α δ.,q) δ : Q Σ Q δ (q, ε) = q הגדרה 1.7 יהא ) F A = (Q, Σ, δ, q 0, אוטומט ד' ס'. נגדיר את פונקצית ההרחבה של δ δ המקיימת: 12 באינדוקציה על מילים באורך... 2, = 0, 1, n :N עבור מילים באורך 0 ומצב :q Q δ (q, a) = δ (q, a) עבור מילים באורך,1 כלומר,a Σ ומצב :q Q נניח שהגדרנו את δ עבור מילה באורך n. עבור מילה w באורך + 1 n ומצב q (עוברים על מילה "כמנהג הגויים" משמאל לימין), נכתוב,w = za כאשר,a Σ, z = n ונגדיר: δ (q, w) = δ (q, za) = δ (δ (q, z), a) מהו אוסף המילים שהאוטומט מקבל? 7 שפה זו כן אפשר להכריע בעזרת אוטומט סופי. 8 שפה זו אי אפשר להכריע בעזרת אוטומט סופי נראה בהמשך. 9 שפה זו אי אפשר להכריע בעזרת אוטומט סופי נראה זו בהמשך. 10 יש אוטומטים שיש בהם רק איבר אחד. 11 יכולה להיות גם ריקה ממנה נקבל את השפה הריקה. זה לא נראה מעניין במיוחד, אבל אולי נרצה לשנות את האוטומט הזה בהמשך. יש לכך שימושים. 12 כלומר (w δ,q) זה מצב שאליו נגיד אם נתחיל במצב q ונעבור על המילה w. 6

7 1.1 אוטומטים הגדרות בסיסיות 1 שפות הגדרה 1.8 נגיד שמילה Σ w מתקבלת ע"י,A אם.δ (q 0, w) F הגדרה 1.9 השפה המתקבלת ע"י A תסומן ע"י (A) L, ומוגדרת ע"י: L (A) = {w Σ δ (q 0, w) F } דוגמא:.#a = 1 (mod3) היא אוסף המילים שבהם Σ = {a, b} מעל L איך נבנה אוטומט לשפה הזו? מצב ההתחלתי q, 0 "כי כך זה בכל אוטומט". המצב של האוטומט ייצג איכשהוא את מספר ה a שהיו במילה עד עכשיו: *ציור של האוטומט* q 1 הוא המצב אליו יגיעו כל המילים שמספר ה a בהם מחלק את 3 בשארית 1, ולכן הוא יהיה המצב המקבל, והוא בלבד. נרצה לתת ייצוג פורמלי של האוטומט הנ"ל לפי ההגדרה שלנו: :(Q, Σ, δ, q 0, F ).Q = {q 0, q 1, q 2 }.Σ = {a, b} q 0 (הוא פשוט עצמו)..F = {q 1 } נגדיר את.δ : Q Σ Q נייצג את הפונקציה בעזרת טבלה: a b q 0 q 1 q 0 q 1 q 2 q 1 q 2 q 0 q 2 השלב הבא הינו להוכיח שהשפה של האוטומט שהגדרנו היא בדיוק השפה שרצינו לייצג. כיצד עושים על זה? בשיעור הבא! הגדרה REG 1.10 הוא אוסף כל השפות L שקיים A DF A המקבל אותן: REG = {L A, A is DF A, L (A) = L} הסיבה לכך שהאוסף נקרא REG (רגולרית) תתגלה לנו בהמשך. יהא A האוטומט: A = (Q, Σ, δ, q 0, F ) Q = {q 0, q 1, 1 2 }, Σ = {a, b}, F = {q 1 } כאשר: ו δ נתון ע"י הטבלה: a b q 0 q 1 q 0 q 1 q 2 q 1 q 2 q 0 q 2 טענה 1.11 L (A) = {w Σ # a (w) = 1 (mod3)} 7

8 1 שפות 1.1 אוטומטים הגדרות בסיסיות הוכחה: נוכיח באינדוקציה. בהוכחות כאלו האינדוקציה עצמה תמיד קלה, החלק הקשה הוא למצוא את טענת האינדוקציה המתאימה: החוכמה היא לדבר על איזה מצב מגיעה כל מילה, ולא רק לדבר על המילים המגיעות למצב מקבל. נוכיח באינדוקציה על אורך המילה w נסמנו ב n, את הטענה הבאה: δ (q 0, w) = q #a(w)(mod3) δ (q 0, ε) def = q 0 בסיס האינדוקציה: = 0 :n ואכן = 0 (ε).# a נניח נכונות הטענה עבור n, ונראה את נכונות הטענה עבור + 1 n. תהא 13 wτ מילה באורך + 1 n. עפ"י הנחת האינדוקציה: δ (q 0, w) = q #a(w)(mod3) אם :τ = a אז (mod3).# a (wτ) (mod3) = (# a (w) + 1) ואכן: δ (q 0, wt) = δ (q 0, wa) = δ (δ (q 0, w), a) ind. = δ ( q #a(w)(mod3)a ) def δ = q ((#a(w)+1)(mod3)) δ (q 0, wτ) אם :τ = b אז (mod3),# a (wτ) (mod3) = # a (w) ואמנם: like before = δ ( q #a(w)(mod3), b ) def δ = q #a(w)(mod3) כנדרש. לא לכל שפה יש אוטומט תכונות הסגירות של REG יהיו L 1, L 2 שפות רגולריות מעל א"ב Σ. האם: L 1 L 2 בהכרח רגולרית? REG L 1 L 2 בהכרח? REG Σ \L 1 בהכרח? (בתרגיל הבית). פעולת השרשור: יהיו Σ.w = w 1 w 2...w n, x = x 1 x 2...x m,w, x אזי השרשור: wx = w 1...w n x 1...x m וכן.εx = x, εε = ε אזי, עבור Σ L, 1, L 2 פעולת השרשור של שתי השפות תוגדר להיות: L 1 L 2 = {wx w L 1, x L 2 } האם בהכרח?L 1 L 2 REG 14/3/2012 על השאלות האלו התשובה היא כן. כדי להוכיח את זה צריך להרכיב מהאוטומטים הנתונים אוטומט חדש. נראה אלגוריתם לזה. טענה 1.12 יהיו L, M שפות רגולריות מעל א"ב.Σ אזי.REG L M 13 "שתי חברות נכבדות בא"ב היווני, שצריכות עכשיו את כל התמיכה שאפשר לתת להן בגלל המצב הכלכלי" 8

9 1.1 אוטומטים הגדרות בסיסיות 1 שפות הערה 1.13 זוהי למעשה שאלה אלגוריתמית. תרגום: בהנתן שני אוטומטים (אחד של השפה M ושני של השפה L), מצא אוטומט של השפה L. M הוכחה: הרעיון לעשות "אוטומט מכפלה" להריץ את שני האוטומטים הנתונים במקביל. כל מצב באוטומט חדש יתאים לזוג מצבים משני האוטומטים המקוריים. הוכחה: יהיו ) F A = (Q, Σ, δ, q 0, ו ( G B = (P, Σ, λ, p 0, אוטומטים A) (DF המזהים את השפות L, M בהתאמה :L (C) = L כך ש M C נבנה מהם אוטומט.(L A, M B) מצבי Q P C: (כל איבר בקבוצת המצבים הוא זוג סדור של מצב מאוטומט A ומצב מאוטומט B). ϕ : (Q P ) Σ (Q P ) ϕ ((q, p), α) = (δ (q, α), λ (p, α)) א"ב:.Σ מצב התחלתי: ) 0.(q 0, p קבוצת המצבים המקבלים:.F G פונקציית המעברים: היא תוגדר ע"י השיוויון הבא: נותר להוכיח שהשפה המתקבלת מהאוטומט החדש הינה השפה המבוקשת, כלומר כי L. (C) = L M כבר ראינו איך עושים את זה בשיעור הקודם מבינים לאן כל מילה מגיעה באוטומט (כל מילה, לא רק המילים המגיעות למצב מקבל זה החלק הקשה), ואז להוכיח באינדוקציה. ϕ ((q 0, p 0 ), w) = (δ (q 0, w), λ (p 0, w)) טענה 1.14 לכל מילה Σ w, מתקיים: ϕ ((q 0, p 0 ), ε) def = (q 0, p 0 ) def = (δ (q 0, ε), λ (p 0, ε)) הוכחה: באינדוקציה על w : = n בסיס: = 0 w, כלומר w היא המילה הריקה. אזי: נניח נכונות הטענה עבור מילים עד אורך, 14 n נוכיח עבור + 1 n: נביט במילה w, = uα עבור u. = n אז: ( ) w {}}{ ϕ (q 0, p 0 ), uα = ϕ ((ϕ (q 0, p 0 ), u), α) induction = ϕ ((δ (q 0, u), λ (p 0, u)), α) def ϕ = (δ (δ (q 0, u), α), λ (λ (p 0, u), α)) def δ,λ = (δ (q 0, w), λ (p 0, w)) 15 וכאן מסתיימת הוכחת האינדוקציה. לסיום, במקום להוכיח את שני צידי הטענה, נוכיח את השניים יחדיו! (δ (q 0, w), λ (p 0, w)) (δ (q 0, w) F ) (λ (p 0, w) G) w L (A) W L (B) w L M.w L (C) ϕ ((q 0, p 0 ), w) F G מטענת העזר F G טענה.L, M REG 1.15 אז.L M REG 14 אינדוקציה שלמה 15 "ובטוקבקים היו שואלים: "למה לא דיברת על המצב בסוריה?"". 9

10 1 שפות 1.1 אוטומטים הגדרות בסיסיות הוכחה: יהיו ) F A = (Q, Σ, δ, q 0, ו ( G B = (P, Σ, λ, p 0, אוטומטים A) (DF המזהים את השפות L, M בהתאמה (B L).,A M נבנה אוטומט C כמו קודם, למעט קבוצת המצבים המקבלים, שתהיה: (F P Q G) אזי, יש להראות כי w L M אמ"מ G).ϕ ((q 0, p 0 ), w) (F P Q ההכוחה עצמה נשארת כתרגיל לקורא החרוץ (נשים לב כי טענת העזר מההוכחה הקודמת עדיין נכונה, גם עבור האוטומט הזה, שכן היא לא התייחסה כלל לקבוצת המצבים המקבלים). באיזשהוא שלב נבין איזו תכונה הופכת שפה לרגולרית, ואז נראה את הטענות הנ"ל בעזרת הקריטריון שנמצא. הסיבה שאנחנו עושים את העבודה הזו בכל זאת, היא כדי לקבל ניסיון בכל מיני דברים: הוכחות פורמליות, ובכל מיני שיטות של בניית מודלים חישוביים או "מכונות" חישוב. אחד העקרונות החשובים הוא זה שעשינו עכשיו עקרון המכפלה. עד עכשיו הראינו את הסגירות של REG לאיחוד וחיתוך. הדבר הבא הטבעי לדבר עליו הוא השלמה Σ L\ הוא מקרה קל והוא בתרגיל הבית. המקרה הבא פחות טריוויאלי L M שרשור של שתי שפות רגולריות: שאלה:.L, M REG האם בהכרח L M = {uw u L, w M} רגולרית? נביט בשתי שפות פשוטות בא"ב {a}.l = {a n n = 2 (mod7)}, M = {a n n = 1 (mod31)},σ = איך יראה אוטומט עבור השפה L? *ציור של אוטומט* יהיו לו מצב התחלתי q, 0 האות היחידה שמתקבלת היא a, המצב q 2 תהיה המצב המקבל היחידי. לגבי q 0 M, שוב מצב התחלתי, a מוביל ל q 1 מצב מקבל, דומה מאוד לקודם, רק כאן אורך המעגל הוא 31 מצבים. איך אפשר להרכיב משני האוטומטים הללו אוטומט שמקבל את השרשור? הצעה אחת היתה: "הולכים" עד מצב מקבל של האוטומט הראשון (בפעם הראשונה!!), ומשם "קופצים" למצב ההתחלתי של המצב השני, עד שמגיעים למצב מקבל של האוטומט השני. אבל זה לא עובד, למשל שרשור של,aa L ולאחריה a: 32 המילה המתקבלת היא.aaa 32 = a 34 זה בסדר. אבל את השרשור a 9 a 32 = a 41 האוטומט הזה ידחה, למרות ש M.a 41 L הצעת פתרון: לבנות אוטומט עם 31 7 מצבים, ואז בכל צעד נוכל לדעת מה השארית של 7 ושל 31, ולכן פתרון זה יעבוד. אבל יעבוד ספציפית לדוגמא הזו של שרשור, ולאו דווקא לדוגמאות אחרות. נרצה למצוא פתרון כללי. נראה פתרון "מפוקפק", בעזרת הוספת הגדרה. זה לא ממש יענה לנו אם L, M REG אבל לאחר מכן נעשה שלב נוסף נראה שאם יש אוטומט לא דטרמיניסטי מזהה שפה כלשהיא, אפשר לבנות אוטומט דטרמיניסטי שיזהה את השפה הזו, ואז נסיים את מה שאנו רוצים להראות אוטומטים סופיים לא דטרמיניסטיים N F A נוסיף חץ לאוטומט שיצרנו מ q 1 ב A ל q 0 ב B לא סביר לממש אותה, שכן יש למכונה זו שתי אפשרויות מ q 1 לעבור ל q. 2 לאוטומט לא דטרמיניסטי יש כמה דרכים לרוץ, אולם לעיתים לא יהיו לו אף דרכים לרוץ. 16 אוטומט לא דטרמיניסטי,NF A הוא חמישיה ) F,A = (Q, Σ, δ, Q 0, כאשר: הגדרה 1.16 Q היא קבוצת מצבים סופית. Σ הוא א"ב. Q Q 0 היא קבוצת המצבים ההתחלתיים. Q F הוא אוסף המצבים המקבלים. δ היא פונקציית המעברים: δ : Q Σ P (Q) כאשר P (Q) Q היא קבוצה של מצבים. הערה 1.17 יכול להיות ש δ תיתן קבוצה ריקה במצב כזה המילה לא יכולה לרוץ על האוטומט עד הסוף. 16 שימו לעדכון בהגדרה בתאריך 19/03 שהוסף להגדרה זו ולהגדרה הבאה. 10

11 1.1 אוטומטים הגדרות בסיסיות 1 שפות הגדרה 1.18 בהנתן NF A כנ"ל, נגדיר את פונקציית המעברים המורחבת δ: δ : P (Q) Σ P (Q) נרצה כי בהנתן (w δ,,s) מה שיתקבל הוא כל המצבים שנוכל להגיע אליהם במידה והתחלנו ב S יכול להיות ו"נתקע" ולא נגיע לסוף. כדי לעמוד בדרישה זו, עבור S Q ו Σ w, נגדיר באינדוקציה על w את (w δ,s) באופן הבא: δ (S, ε) = S עבור = 0 : w נניח שהגדרנו את δ עבור מילים באורך.n עבור + 1 n, w = נסמן,w = uα כאשר : u = n,α Σ δ (S, uα) = q δ (S,u) δ (q, α) נשים כאן לב כי הסיבה לשינוי כאן מההגדרה של DF A הוא מכך ש δ מוגדרת על מצב יחיד, ולא על קבוצת מצבים, ועל כן יש כאן צורך באיחוד ע"מ לבטא את הביטוי (α δ. δ),s) (u, תהי L מעל b} {a, = : מילים שאורכן מתחלק ב 5 עם שארית 1: *ציור של אוטומט* בעזרת המצבים נספור את מספר האותיות במילה, כאשר המצב q 1 הוא המצב המקבל, מכל מצב יוצאים שני חצים, אחד לכל אות בא"ב. נוסיף קריטריון: שלוש האותיות האחרונות בהן שוות: *ציור של אוטומט משופצר* בתור התחלה נשכח מהמצב המקבל הקודם. נוציא מ q 3 שני מסלולים שונים שיביאו לשני המצבים מקבלים של האוטומט החדש, אחד לכל אות בא"ב, כאשר בשני המסלולים נמשיך קדימה רק אם האות החדשה שווה לאות הקודמת: q 5 q 7 ל a, q 8 q 10 ל b. עתה קיבלנו אוטומט שאינו דטרמיניסטי, שכן מהמצב q 3 אפשר להמשיך לאחד משני מסלולים להמשיך ל q, 4 או להמשיך ל q 5 או q, 8 בהתאם לאות שהתקבלה. הקביעה אם מילה בשפה תנבע מהתשובה לשאלה, האם קיימת ריצה כלשהיא בה המילה תגיע למצב מקבל? נביט למשל במילה a 21 אורכה מתחלק ב 5 עם שארית 1, וכן היא בשפה, שכן יש ריצה של האוטומט בה היא מגיעה למצב מקבל. זו איננה מכונת חישוב, אפשר לחשוב עליה ככלי שיעזור למישהו אחר להחליט\להוכיח אם המילה בשפה. נביט כעת במילה b 19 a 2 היא גם מילה באורך 21, אבל היא מילה שלא ניתן לקבלה ע"י האוטומט הזה. הבה נשכלל את השפה L: מילים שאורכן מתחלק ב 5 עם שארית 1 ושלוש האותיות האחרונות בהן שוות, או שמספר האותיות בהן מתחלק ב 4. כיצד כעת נעדכן את האוטומט? *אוטומט עוד יותר מעודכן* לעשות את q 4 למצב מקבל לא יעבוד לא יעבוד עבור למשל מילה באורך 8. במקום זאת, ניקח אוטומט חדש בעל 4 מצבים,r 0, r 1, r 2, r 3 כאשר עוברים ממצב r i למצב i+1 r ומ r 3 ל r 0 ע"י שני חצים, כל אחד לאות בא"ב, והמצב המקבל הוא r. 0 אוטומט זה לכשעצמו הוא אוטומט סופי דטרמיניסטי. נוסיף אותו לאוטומט הקודם בצורה הבאה: נכריז על קבוצת מצבי ההתחלה כ { q}, 0, r 0 כלומר, ניתן להתחיל בכל אחד משני המצבים הללו. איך נוכיח שזה באמת אוטומט של השפה הזו? אם המילה בקטגוריה הראשונה, ראינו שקיים לה מסלול מקבל באוטומט הראשון. אם המילה בקטגוריה השניה, ראינו שקיים לה מסלול מקבל באוטומט השני. מצד שני, יש להראות כי מילים שאינן באף אחד מהקטגוריות לא מתקבלות אבל, ראינו שאם מילה לא בקטגוריה הראשונה, היא אינה מתקבלת באוטומט הראשון, וכן באוטומט הראשון מתקבלות רק מילים בקטגוריה הראשונה, ולכן לא יתקבלו בה מילים נוספות, כלומר מילים שאינן בקטגוריה השניה או בראשונה. עבור הקטגוריה השניה כנ"ל אם מילה אינה בקטגוריה השניה, היא אינה מתקבלת באוטומט השני, וכן באוטומט זה מתקבלות רק מילים בקטגוריה השניה, ולכן לא יתקבלו בה מילים נוספות, כלומר מילים שאינן בקטגוריה הראשונה או השניה. לכן, האוטומט שבנינו אכן מקבל את השפה L שהגדרנו, כנדרש. 11

12 1 שפות 1.1 אוטומטים הגדרות בסיסיות 21/03/2012 נחזור לבעיה המקורית שלנו נביט בשתי שפות רגולריות,L. M אזי לכל אחת מהן יש אוטומט המכריע אותן (A.(DF כיצד נמצא אוטומט לא דטרמיניסטי שמוצא את השרשור שלהן L? M נביט באוטומט A המקבל את L, והאוטומט B המקבל את M. אזי, נגדיר אוטומט חדש לא דטרמיניסטי בצורה הבאה: לכל קשת שנכנסת למצב מקבל ב A, נשכפל קשת שעוברת למצב ההתחלתי ב B (זה DF A ולכן יש רק מצב התחלתי יחיד). טענה 1.19 יהיו L, M REG מעל.Σ אזי קיים NF A שמזהה את השפה.L M הוכחה: יהיו,A B אוטומטים דטרמיניסטיים המזהים את השפות,L M בהתאמה. נבנה אוטומט NF A המזהה את L: M הא"ב Σ. קב' המצבים: האיחוד הזר בה"כ (אם לא היה זר מראש, אפשר היה לשנות את שמות המצבים כדי להפוך את האיחוד לזר) של קב' מצבי A וקבוצת מצבי B. קב' המצבים המקבלים: אוסף המצבים המקבלים של B. קב' מצבי ההתחלה: הקבוצה המכילה את מצב ההתחלה של A, וכמו כן, אם ε L נוסיף גם את מצב ההתחלה של B. פונקציית המעברים: נגדיר את (α δ C,q) לכל מצב q של C ולכל α Σ באופן הבא: אם q הוא מצב של B, נגדיר: δ C (q, α) = {δ B (q, α)} אם q הוא מצב של,A נגדיר את הקבוצה α) δ C (q, להכיל את המצב α).δ A (q, כמו כן, אם δ A (q, α) F A (כלומר מצב מקבל באוטומט A), נוסיף ל ( α δ C,q) את המצב ההתחלתי של האוטומט B. נשים לב כי בהגדרה זו, אם ε, M אז המצב ההתחלתי של B הוא מצב מקבל, ואז אין בעיה עם שרשורים מסוג {ε} L, 1 שכן בסוף של מילה אחד המצבים האפשריים להמשך הוא המצב ההתחלתי של B, והוא כאמור מקבל. השלב הבא הוא להוכיח כי האוטומט שבנינו באמת מזהה את שפת השרשור. עשינו כבר דברים כאלה באינדוקציה, ולכן לא נעשה את זה בכיתה (אולי בתרגיל). משפט ) 1.20 A A = (Q A, Σ, δ A, Q 0, F הוא.NF A אזי, קיים B = (Q B, Σ, δ B, q 0, F B ) DF A כך ש ( B ).L (A) = L כמו כן, A. Q B 2 Q הערה 1.21 החסם הזה הוא אפילו די הדוק אולי נראה בתרגול דוגמא שאכן כדי לבנות NF A מתאים לשפה רגולרית B, מתקבל שיוויון. הוכחה: הרעיון מצבי B יהיו תת קבוצות של מצבי A. נגדיר את B כדלהלן: (Q (A Q, B = P דהיינו קבוצת המצבים של B היא תת קבוצות של מצבים מ Q. A אכן מספר המצבים שמתקבל הוא.2 Q A קבוצת המצבים ההתחלתיים ב B. הוא דהיינו מצב ההתחלה ב B q, 0 = Q 0.F B = {S Q A S F A φ}.(q A והוא גם תת קבוצה של,B מצב של S לב כי (נשים δ B (S, α) = δ A (S, α) = δ A (q, α) q S הערה 1.22 מה זה אומר שM,L נתונות? אחת הדרכים הפורמליות היא ע"י אוטומט. לכן, אין בעיה להכריע שמילה בשפה, במידה ושפה נתונה ע"י אוטומט. 12

13 1.2 שקילות 1 Myhill-Nerode שפות הערה 1.23 "זה קצת מבלבל" שאוסף המצבים של B הוא אוסף של קבוצות של מצבים מ A. אפשר גם להגדיר את קבוצת המצבים של B בצורה הבאה: {q S S Q A } אבל אנחנו "צריכים להתרגל לדברים מבלבלים". כדי להוכיח ש ( A ) L (B) = L נראה תחילה את למה העזר הבאה: δ B (S, w) = δ A (S, w) למה 1.24 לכל S Q A ולכל Σ,w מתקיים : 17 לפני הוכחת למת העזר, נראה כי למת העזר (B) L: (A) = L תהי Σ δ A (Q 0, w) F A φ w L (A).w מלמת העזר w) δ B (Q 0, w) = δ A (Q 0, =q o {}}{.w L (B) δ B Q 0, w F B נותר אם כך רק להוכיח את למת העזר: הוכחה: נוכיח באינדוקציה על w : בסיס: אם = 0 : w δ B (S, ε) = S = δ A (S, ε) נניח נכונות עבור מילים באורך,n ונוכיח עבור + 1 n : w = נרשום. u = n,w = uα אזי: δ B (S, uα) = δ B (δ B (S, u), α) ind. = δ B (δ A (S, u), α) def = δ A (δ A (S, u), α) = δ A (q, α) = δ A (S, uα) q δ A (S,u) מסקנה REG 1.25 סגור לפעולת השרשור, שכן הראינו שהשרשור של שתי שפות ב REG ניתן לזיהוי ע"י אוטומט לא דטרמיניסטי, ומהמשפט מעלה אפשר לזהות את האוטומט הזה עם אוטומט דטרמיניסטי, כנדרש. 1.2 שקילות Myhill-Nerode הגדרה 1.26 תהי L שפה מעל,Σ ויהיו Σ.u, w נאמר ש v u, שקולות ביחס ל L, ונסמן,u L v אמ"מ לכל Σ.(uw L) (vw L),w נראה דוגמא: נשאל, האם הן שקולות ב L?.v = a 22, u = a 7,Σ = {a}, L = {a n n = 1 (mod5)} תחילה, נשים לב כי שתי המילים הללו אינם ב L. אבל, ההגדרה כלל לא מתייחסת לזה..a 22 w L w = 4 (mod5) a 7 w L על כן, u, v שקולות. יחס זה הוא אכן יחס שקילות, אם כי לא נוכיח זאת (רפלקסיבי, סימטרי וטרנזיטיבי)..[w] L את מחלקת השקילות של מילה w ביחס לשפה L נסמן ב טענה 1.27 אם u L v ו Σ,w אזי.uw L vw הטענה נכונה, כי uwz L vwz L לכל Σ.z הכיוון השני 18 לא נכון למשל, תהי L מעל {b Σ =,a} אוסף המילים שבהן כל האותיות חוץ מהראשונה הן b, יהיו.u / L אבל v L הן אינן שקולות, שכן אם נוסיף להן את המילה הריקה,.v = ab, u = ba אם נביט ב aaa,,uw L vw שכן לא משנה מהי המילה שנוסיף z, המילים שיתקבלו לא יהיו בשפה. 13

14 1 שפות 1.2 שקילות Myhill-Nerode כתרגיל (נוכיח כמשפט בפעם הבאה) הראה כי אם L שפה רגולרית, אזי מספר מחלקות השקילות הוא סופי. גם הכיוון ההפוך של טענה זו הינה נכון. זה נותן לנו תנאי הכרחי ומספיק להיות שפה רגולרית. מכיוון וזהו יחס שקילות, נוכל להביט במחלקת השקילות המתאימה עבור Σ w: [w] L = {u Σ u L v} [u] L = [v] L # a (w) = 1 (mod3) מתקיים: אם,u L v אזי: ישירות מההגדרה של מחלקת שקילות. דוגמאות 1. תהא L מ על {b Σ =,a} שפת המילים w כך ש: [bb] L = {w Σ # a = 0 (mod3)} טענה 1.28 הוכחה: תהי (mod3) #. a (u) = 0 נראה הכלה דו כיוונית: לכל מילה Σ,w אם,bbw L אזי (mod3) # a (w) = 1 (שכן ב bb אין כלל a אים). לכן (mod3),# a (uw) = 1 ולכן.uw L מתקיים גם שאם,uw L אזי,bbw L בדיוק באותה הצורה. לכן: {u Σ # a 0 (mod3)} [bb] L,(u L bb) u [bb] L אז בהכרח (mod3),# a (u) = 0 כי אחרת, מתקיים אחד משני הדברים הבאים: כמו כן, אם (mod3) :# a (u) = 1 אזי, uε L אבל,bbε / L בסתירה. (mod3) :# a (u) = 2 אזי, ua / L אבל,bba L בסתירה. [bb] L = {w Σ # a = 0 (mod3)} לכן בסה"כ מהכלה דו כיוונית, קיבלנו: כפי שרצינו להוכיח. קל לראות כי בשפה זו ישנן בדיוק 3 מחלקות שקילות המילים בהן מספר ה a מתחלק בשלוש ללא שארית, עם שארית 1 ושארית 2..2 תהי L מעל b} Σ = {a, שפת המילים u שבהן (u).# a (u) > # b למשל,,aab L אבל.bba / L מהן מחלקות השקילות ביחס? L עבור שתי מילים Σ u L v,u, v אמ"מ מספר (v).# a (u) # b (u) = # a (v) # b L q := {u Σ δ (q 0, u) = q} דוגמא כללית: יהא.A = (Q, Σ, δ, q 0, F ),DF A A נגדיר לכל :q Q 17 אין כאן בעיה, שכן מצד שמאל יש קבוצה יחידה של מצבים ב A, ובצד ימין של קבוצה של מצבים ב A. 18 במקום "אזי" נשים "אמ"מ". 14

15 1.2 שקילות 1 Myhill-Nerode שפות טענה 1.29 לכל,q Q אם,u, v L q אזי.u L(A) v q {}}{ הוכחה: תהא Σ.w אזי L(A) δ (q 0, vw) = δ (δ (q 0, v), w) = δ δ (q 0, u), w = δ (q 0, uw) F uw.vw L (A) נשים לב כי הטענה אינה אומרת שכל מצב מגדיר מחלקת שקילות יכול להיות שמחלקת שקילות מתקבלת מיותר ממצב אחד. למשל, אם נביט באוטומט DF A בו יש כמה מצבים וכולם מקבלים, אזי כולם שקולים זה לזה. עוד דוגמא: אוטומט בעל 6 מצבים מחוברים במעגל, ועוברים מאחד לשני כאשר נכנסת האות a, כאשר q 1, q 4 מקבלים. אזי: L q2 = {a n n = 2 (mod6)}, L q5 = {a n n = 5 (mod6)} במקרה הזה נקבל כי המילים בשפות הללו שקולות זו לזו ביחס לשפה של האוטומט (A) L. מסקנה 1.30 אם L שפה רגולרית, אזי מספר מחלקות השקילות לפי L הוא סופי. יתר על כן, אם A הוא DF A המקיים אזי מספר מחלקות השקילות חסום ע"י מספר המצבים ב A. L, (A) = L מסקנה זו בעצם נותנת לנו מבחן בנוגע להיות שפה רגולרית ראינו בשפה בדוגמא 2 כי מספר מחלקות השקילות הוא אינסופי, ולכן שפה זו לא יכולה להיות רגולרית. בשיעור הקודם ראינו כי אם A הוא,DF A ו ( w,δ (q 0, w) = δ (q 0, אז w,w L(A) ולכן אם A אוטומט בעל t מצבים, אז ב ( A ) L = L יש לכל היותר t מחלקות שקילות.M.N. היום נראה את המשפט ההפוך: משפט 1.31 אם L מעל Σ היא בעלת < t מחלקות שקילות עבור, L אזי קיים אוטומט A DF A בעל t מצבים כך ש:.L (A) = L מסקנה L REG 1.32 אמ"מ היחס L מגדיר מספר סופי של מחלקות שקילות. יתרה מזו, משפט זה נותן מספר מינימלי t של מצבים באוטומט שמזהה את L, שכן מהמשפט הקודם, יש t מילים שכשהאוטומט ירוץ עליהן נגיע למצבים שונים זה מזה, ולכן לא ניתן לבנות אוטומט שיזהה את השפה שיהיה בעל מספר מצבים קטן מ t. נוכיח את המשפט: הוכחה: נגדיר אוטומט A DF A באופן הבא: ) F A = (Q, Σ, δ, q 0, כאשר: Σ הוא הא"ב שמעליו L מוגדרת.. L ביחס ל M לכל מחלקת שקילות q M מצב יהיה ב Q Q נרצה להגדיר את,δ q 0, F כך שיתקיים: δ (q 0, w) = q [w]l נגדיר את.q 0 = q [ε]l ב L. אינן שכל המילים ב M או או שכל המילים בה שייכות ל L, M, נשים לב שלכל מחלקת שקילות F F = {q M Q all the words in M are in L} :δ תהא M מחלקת שקילות ותהא. α Σ תהא,w M ונגדיר: δ (q M, α) = q [wα]l, q M = q [w]l יש לבדוק שהרשום מעלה מוגדר היטב, שכן ההגדרה תלויה בנציג w שבחרנו ו δ אכן מוגדרת היטב, שכן אם w M,[wα] L ועל כן: = [w α] L מילה אחרת, אזי w,w L ולכן wα L w α (אף הוכחנו זאת), כלומר q [wα]l = q [w α] L 15

16 1 שפות 1.3 ביטויים רגולריים נותר להוכיח כי.L (A) = L טענה 1.33 לכל Σ,w δ (q 0, w) = q [w]l [w] L שייכות ל L,w L ולכן q [w]l כל המילים ב F claim מסקנה (A) 1.34 δ (q 0, w) F w L. L (A) = L הוכחת טענת העזר נותרת לקורא השקדן באינדוקציה על אורך המילה w. המצב שהגענו אליו הוא די אוטופי הגדרנו מודל חישובי אוטומט, ואז הגדרנו מודל שקל יותר לעבוד איתו DF A (לפחות עם חלק מהדברים), ומודל יותר חזר,NF A הראינו שכל דבר שאפשר לעשות עם NF A אפשר לעשות גם עם,DF A ולסיום הגדרנו יחס שקילות שנותן לנו זיהוי מלא האם שפה היא רגולרית או לאו. כמו כן, מצאנו בדיוק את מספר המצבים המינימלי ל A DF של השפה. בתרגול אף ראינו אלגוריתם למציאת האוטומט המינימלי ומחלקות השקילות. אנחנו נראה בהמשך שבמודלים מורכבים יותר, אפילו קצת יותר מורכבים מ A,DF אין קריטריון מפורש כפי שמצאנו כאן. המשפט אמ"מ נקרא משפט מייהיל נרוד, והם הגדירו את יחס השקילות כדי להוכיח המשפט. 1.3 ביטויים רגולריים עד כה הגדרנו שפה ע"י האוטומט שלה. עם זאת, דרך הייצוג הזו לא נתנה לנו דרך לבנות מילים בשפה נתונה. באופן כללי, ישנן שתי דרכים לייצוג שפה: מודל חישובי אוטומט שמזהה את השפה דקדוק בדר"כ נותן לנו דרך לבנות מילים בשפה. דרך דקדוקית שנכיר היא ביטויים רגולריים. הגדרה 1.35 ביטוי רגולרי מעל א"ב Σ יוגדר בצורה הבאה:.1 הביטוי φ r = מתאר את השפה L r = L φ = φ.2 הביטוי ε r = מתאר את השפה {ε}.l r = L ε =.3 עבור,α Σ הביטוי α r = מתאר את השפה {α}.l α =.4 עבור r 1, r 2 ביטויים רגולריים מעל :Σ (א) הביטוי ) 2 r = (r 1 ) (r מתאר את השפה.L r = L r1 L r2 (ב) הביטוי ) 2 r = (r 1 ) (r מתאר את השפה.L r = L r1 L r2 (ג) הביטוי ) 1 r = (r מתאים ל ) r1. 19 L r = (L.5 הביטוי + ) 1 r = (r מתאר את ) r1.l r = L r1 (L 19 נזכיר כי: L = {w k N and x 1,..., x k, 1 i k, x i L, and w = x 1,..., x k } 16

17 1.3 ביטויים רגולריים 1 שפות דוגמאות יהי b}.σ = {a,.a, ε מגדירה את השפה שמכילה את r = (a) (ε) b. מגדירה את השפה של המילים שהן רצף של האות (b) + עבור + (b) rst letter },r = (a) (ε) the.l r = {w # b (w) 1. all letters are b other than בדר"כ נכתוב זאת בצורה הבאה: (a ε) b + נשאלה השאלה, מדוע אין סימן בדקדוק שלנו, כאשר עבור ) 2?L r = L r1 L r2,r = (r 1 ) (r כדי ליצור מילה כזו, היינו צריכים למצוא מהי השפה שמתארת r, 1 השפה שמתארת את r, 2 ואז להבין איך נראה ביטוי בשפה הנ"ל, וזוהי לא בנייה קונסטרוקטיבית כמו בהגדרה המקורית שלנו. מתוך ההגדרה המקורית אנו כבר יודעים איך לבנות ישירות מילה בשפה מבלי להסתבך. נרצה להראות כי הכלי שהגדרנו חזק, דהיינו, אפשר לתאר בעזרתו הרבה שפות. ראינו בתרגול: לכל ביטוי רגולרי r מעל Σ מתקיים L. r REG נרצה להראות את הכיוון השני: משפט 1.36 תהי L שפה מעל Σ רגולרית. אזי יש ביטוי רגולרי r כך ש L L. r = הוכחה: נגדיר "אוטומט ביטויים רגולריים" 20 באופן הבא: אוטומט כזה A הוא חמישייה ) F A, =,Q),Σ,δ q 0, כאשר.Σ ביטוי רגולרי מעל הוא ו r,q 1, q 2 Q כאשר (q 1, r, q 2 ) אוסף של שלשות היא כמו באוטומט רגיל, ו δ Q, Σ, q 0, F שתי דוגמאות: נביט ב: + b.r = (a ε) אוטומט ביטויים רגולריים שמתאים לו יהיה: *ציור* כאשר המצבים הם q 1 q, 0, q 1 מצב מקבל, ומעל המעבר ביניהם מופיע + b a), (ε כלומר אפשר לעבור בין המצב הראשון לשני אם המילה היא מהצורה הזו. במקרה הזה, } 1.δ = {(q 0, (a ε)) b +, q אפשר לצייר אוטו גם בצורה שונה המצבים כמו בקודם, אולם מ q 0 יוצאים שני חצים ל q 1 מעל הראשון מופיע הביטוי + b,a ומעל השני +.b כל אוטומט כזה מקבל בדיוק את השפה שמתאימה לביטוי הערה 1.37 נרצה למצוא דרך לצאת מאוטומט רגיל, בעזרת סדרה של אוטומטים ביטויים רגולריים להקטין את המצבים, עד שנגיע לאוטומט בעל שני מצבים כאשר מעל החץ למצב המקבל יופיע הביטוי הרגולרי המתאים לשפה. נגדיר ריצה חוקית על מילה Σ w להיות סדרה: u q 1 u 0 r1 q 2 1 r2... u k q k rk u i+1 כאשר המצב הראשון q, 0 ובכל מעבר מהצורה 1+i q i q מתקיים: r i+1 u i+1 L i+1 (q i, r i+1, q i+1 ) δ u 1 u 2... u k = w הריצה היא מקבלת אם q k הוא מצב מקבל. 20 הייבריד של אוטומט וביטויים רגולריים, שכן לא נוכל לעבור מיד מהאוטומט של השפה לביטוי רגולרי. 17

18 1 שפות 1.3 ביטויים רגולריים נביא דוגמא, ונקווה שנדע להכליל אותה להוכחה פורמלית: *ציור* תחילה, נמצא קשתות מקבילות מתחילות באותה צומת ומגיעות לאותה הצומת. נרצה להחליפן בקשת שמתארת את איחוד הביטויים נחליף את שתי הלולאות בציור הראשוני בלולאה עם הביטוי (b a). פעולה נוספת להיפטר מצומת. קל להפטר מצמתים שאין עליהן לולאות. נביט על קשתות שנכנסות לצומת ויוצאות מהצומת. נמחק הצומת (מצב) ונכתוב קשתות נוספות המתארות את המעבר בציור מחקנו צומת והוספתנו שני מעברים מהמצב הראשוני מעבר שמעליו מופיע,ab ומעבר שני עם הביטוי.aa נמשיך לבטל צמתים. נביט בצומת שאינו מקבל נביט בכל הדרכים להכנס אליו ע"י קשת ולצאת מהן ע"י קשת. אם היתה קשת שיוצאת מהצומת ע"י הביטוי r, היינו מוסיפים קשתות מקוצרות עם השרשורים. יש בצומת שאנו מביטים בה לולאה, לכן נחליף ב r.aa (a b) אבל לצומת הזו אין קשת שיוצאת ממנה, ולכן אין בעיה פשוט למחוק אותו שכן אם מילה מגיעה לצומת הזו, היא לא מקבלת. נשאר עם צומת כניסה עם קשתות שיוצאות ממנה לשני מצבים מקבלים בעלי לולאות. הלולאות מהוות בעיה כיצד נטפל בה? נמחק את הלולאה, ובכל קשת שנכנסת למצב המקבל נוסיף את הביטוי שהיה בלולאה עם כוכבית עליו במקרה שלנו (b).ab נשארנו עם מצב התחלתי ואוסף קשתות שמחברת אותו למצבים מקבלים. אפשר לחבר את שתי הקשתות לאותו מצב מקבל ולמחוק את השני. לכן נותרנו עם אוסף קשתות מקבילות. עם מצב זה אנו יודעים להתמודד נחליף את אוסף הקשתות בקשת אחת עם "או" בין הביטויים שעל הקשתות, ונסיים. 18

19 2 מכונת טיורינג 2 מכונת טיורינג עד כה, הצלחנו להבין מיהי שפה רגולרית, הכרנו,DF A הוספנו חוסר דטרמיניזם, ראינו וריאציות שונות שתמיד יצאו שקולות למה להגדרה של שפה רגולרית, הכרנו דקדוק של שפה... נרצה למצוא מודל חישובי שכן יוכל לזהות שפות אחרות, כמו למשל a n b n שאינה רגולרית, אך מאוד פשוטה. הגדרה פורמלית של שפה זו: L = {a n b n n N} מה DF A עשה? קיבל מילה רצף של אותיות, ולפי המצב הנוכחי והאות הבאה החליט לאיזה מצב לעבור. שאלנו, אילו חיזוקים אפשר להוסיף למודל הזה? ראינו כבר הוספת אי דטרמיניזם, אבל זה לא שינה את משפחת השפות שזיהינו: 1. דו צידיות: כלומר, אפשרות לקרוא לא רק משמאל לימין אלא גם מימין לשמאל (כלומר אחורה). במקרה שכזה יהיה אפשר לבסס את בחירת המצב הבא לפי אותיות קודמות (פשוט ללכת אחורה ולבדוק מה היה). לכאורה, מצב כזה יכולנו לפתור עם אוטומט רגיל ע"י "זיכרון" של האות הרלוונטית. אזי, לא ברור שתוספת זו מוסיפה כוח למודל (בחלק מהתרגולים הראינו שזה לא מוסיף). כדי לעשות את זה, פשוט על כל קשת נוסיף כיוון. 2. זיכרון: (א) ע"י הוספת מחסנית על הקשתות נכתוב (מלבד את האות שמובילה למצב הבא) גם אות נוספת, וכן H בשביל push ו p בשביל.pop אם כתוב אות ואז H, נעבור למצב הבא, ולמחסנית נדחוף את האות שהיתה כתובה. לא נגדיר את המודל הזה עד הסוף, כאן נחליט שבחלק מהמצבים מותר לנו לא לעשות push ולא לעשות.pop אם כתוב,pop נעשה,pop ונוכל להמשיך אך ורק אם האות שיצאה היא אכן האות שכתבנו על הקשת. אוטומט שכזה נקרא "אוטומט מחסנית", והוא חשוב "לכל מני דברים". נוסיף סולמית למחסנית כדי שנוכל לזהות כאשר המחסנית מתרוקנת. בעזרת אוטומט זה אפשר לזהות את השפה a: n b n נעשה push ל a עד שנגיע ל b, ובכל פעם שנגיע ל b נעשה.pop אם נראה a אחרי b האוטומט לא יקבל. כדי לוודא שמספר ה a שווה למספר ה b נעשה pop עד סוף המחסנית, אם יש יותר מידי b לא נוכל לעשות pop שנצטרך, ואז נדע לא לקבל את המילה, אם יש פחות מידי b לא נרוקן את המחסנית נבדוק בסוף הריצה אם pop נוסף נותן סולמית, אם יש יותר מידי b יעשה pop ל a. נשאלת השאלה, האם אפשר לזהות בעזרת אוטומט מחסנית את השפה a? n b n c n לא בעזרת אוטומט מחסנית (שהיא לא ממש מסובכת), אלא בעזרת אוטומט מחסניות אוטומט עם 2 מחסניות (יותר על סוג אוטומט זה בהמשך). אזי, אוטומט מחסנית חזק מהאוטומט הרגיל שלנו, אבל לא בהרבה. נמטרך להוסיף לו משהו נוסף: i. אוטומט מחסנית + אי דטרמיניזם מכל מצב ניתן להוסיף כמה קשתות, אפילו אם יש עליהן את אותה האות. מסתבר שאוטומט זה חזק יותר מאוטומט מחסנית בלבד. בעזרת אוטומט זה אפשר לזהות משפחת שפות בשם.CF L עם זאת, השפה a. n b n c n / CF L מצד שני, כל שפות התכנות הן ב L,CF לכן המשפחה הזו חשובה אי אפשר להבין קומפילציה מבלי להבין משפחה זו, ויש לאוטומט זה כח מסויים (בדר"כ מדברים על משפחה זו ביתר אריכות, אולם השנה בשל השביתה נאלץ לוותר). (ב) סרט דו צידי :R/W לתת לאוטומט לרשום מחדש על האותיות של המילה עצמה. אפשר לתת לו גם לרשום על אותיות אפילו הן לא של המילה עצמה כלומר לפני, אחרי, וכו'. אם אנחנו לא יכולים לחזור אחורה עם זאת אנחנו למעשה לא יכולים לקרוא, ואז לא שיפרנו כלום הגדרה 2.1 (לא פורמלית) מכונת טיורינג היא אוטומט שמוסיפים לו דו צידיות וסרט דו צדדי.R/W אז אפשר כאמור לכתוב וגם לקרוא את מה שכתבנו. נחליט שבמכונת טיורינג גם מותר לנו להשאר במקום. על הצלעות נכתוב את האות,,L/R ואות שנכתוב אם לא נרצה לכתוב על, פשוט נכתוב את אותה האות שנקראה. כמו כן נחליט שבסוף הקלט יש לנו תו בעזרתו נוכל לזהות שהקריאה הסתיימה. נשאלת השאלה, אילו שפות ניתן לזהות בעזרת מכונת טיורינג? REG נקבע מעברים רק שמאלה, וכשנסיים לקרוא את המילה, בהתאם למצב שהגענו אליו נקבע אם לקבל או לדחות את המילה. a n b n נקרא a, נמחק אותה, נלך קדימה עד שנמצא b, אם מצאנו אחד נמחוק אותו, ונמשיך בתהליך זה, וכך נוכל לזהות אם יש יותר b מ a או להפך. 19

20 2 מכונת טיורינג למעשה מכונת טיורינג יכולה לזהות כל שפה (שאינה משתמשת באנרגיה אינסופית?!) היא יכולה לעשות כל דבר שמחשב יכול לעשות. 18/4/2012 בשלב הבא נגדיר את המודל באופן פורמלי, ונדבר על עוד דברים שהמודל הזה יכול לעשות, ונשתכנע שהוא אכן יכול לעשות את כל הדברים האלו. נגדיר את מכונת טיורינג בצורה פורמלית: הגדרה 2.2 מכונת טיורינג היא שביעיה ) rej,(q, Σ, Γ, δ, q 0, q acc, q כאשר:.q acc q rej,q 0, q acc, q rej Q קבוצת מצבים סופית, Q Σ א"ב הקלט, סופי, ולא מכיל את הסימן _.._ Γ\Σ,Σ Γ א"ב העבודה (הסרט), Γ δ פונקציית המעברים: δ : (Q\ {q acc, q rej }) Γ Q Γ {R, L} פונקציית המעברים מתוארת באמצעות טבלה. הגדרה 2.3 קונפיגורציה של מכונת טיורינג ) rej M = (Q, Σ, Γ, δ, q 0, q acc, q היא רצף x (q, α) y כאשר: Q q המצב הנוכחי של האוטומט..α Γ Γ y מחרוזת שהאות האחרונה בה (אם קיימת, כלומר אפשר ש y היא מחרוזת ריקה) איננה _. Γ x מחרוזת שהאות הראשונה בה (אם קיימת) אינה _. הגדרה 2.4 בהנתן קונפיגורציה x,,q) (α y הקונפיגורציה הבאה מחושבת כדלהלן: 1. אם } acc q, q} rej, q אז זו קונפיגורציה סופית, ואין לה קונפיגורציה עוקבת..2 נכתוב d).( d {R, L}) δ (q, α) = (q, β, (א) אם,d = R הקונפיגורציה הבאה היא,xβ (q, γ) z כאשר אם y אינה ריקה, נכתוב,y = y 1 z ונגדיר.γ = y 1 אם,y = ε נגדיר _ =,γ.z = ε (ב) אם d, = L הקונפיגורציה הבאה היא xβ q), (γ z "נפעל באופן דומה רק הפוך". נביט בדוגמא הבאה: δ a b _ q 0 q 0, #, R q 0, #, R q 0, #, R כל קונפיגורציה שנגיע אליה לא תהיה סופית תמיד נוכל להמשיך הלאה! כמו כן, היא לא חוזרת על אף קונפיגורציה פעמיים, כי לאחר זמן t הראש נמצא אחרי t # אים, כלומר לאחר זמנים שונים נקבל מספר שונה, על כן הקונגפוגורציות אינן זהות. הגדרה 2.5 ריצה חלקית של M היא סדרת קונפיגורציות סופית C 1, C 2,,... C k שבה כל קונפיגורציה היא עוקבת של קודמתה. הגדרה 2.6 נגיד שריצה חלקית היא ריצה מלאה אם בקונפיגורציה האחרונה q C, k הוא q rej או q. acc אם אין ריצה מלאה אשר הקונפיגורציה הראשונה בה היא C, 1 נגיד ש M אינה מסיימת את ריצתה כאשר הקונפיגורציה הראשונה שלה היא C. 1 הגדרה 2.7 ריצה חלקית של M על קלט x היא ריצה חלקית שבה הקונפיגורציה הראשונית היא x ε (q 0, x 1 ) x 2... x (אם.(ε (q 0, _) ε אז,x = ε 20

21 2 מכונת טיורינג אתנחתא: נדבר מעט על הציונים של הבחנים. "הם סבירים, אפילו קצת יותר מידי גבוהים לטעמי", יש הבדלים לפי הגרסאות של הבחנים. הצוות מודע לזה. כרגע לא יעשה שום שינוי לציון. אם יהיה צורך בסוף, אז נראה מה יעשה. הגדרה 2.8 נגיד ש M מקבלת מילה Σ x אם יש לה ריצה מלאה על x, וריצה זו מסתיימת בקונפיגורציה שבה מצב האוטומט הוא q. acc q. rej וריצה זו מסתיימת בקונפיגורציה שבה מצב האוטומט הוא x, אם יש לה ריצה מלאה על x Σ דוחה M הערה 2.9 מההגדרה מעלה אנו מקבלים כי יש מילים שאינן מתקבלות ואינן נדחות. זה מעלה בפנינו בעיה איך נסמן את השפה של M? או, מה נעשה עם המילים האלו ש"נופלות באמצע"? אחד הדברים שנוכיח בשיעורים הקרובים הוא שאם מכונה לא עוצרת בריצה על מילה מסויימת בשלב כלשהוא, אנחנו לא יודעים אם היא תעצור בכלל (יכול להיות שהיא תעצור בשלב הבא, עוד שניים... או שלא תעצור בכלל). הגדרה 2.10 השפה Σ L המזוהה ע"י המכונה M היא אוסף המילים x שאותן M מקבלת. מסמנים אותה (M) L. הגדרה 2.11 נגיד ש M מכריעה את (M) L אם לכל קלט Σ M x, מקבלת או דוחה את x (כלומר, אם לכל קלט Σ x יש ריצה מלאה). הערה 2.12 נשים לב כי מן ההגדרה, M יכולה להכריע רק את השפה שהיא מקבלת דהיינו (M) L. כשדנו באוטומטים, שאלנו, איזו משפחה מזוהה ע"י האוטומטים? כאן יש לנו שתי שפות רלוונטיות: הגדרה R 2.13 היא משפחת השפות הניתנות להכרעה ע"י מכונת טיורינג. הגדרה RE 2.14 היא משפחת השפות הניתנות לזיהוי ע"י מכונת טיורינג.,R=Recursive, RE=Recursively Enumerable מדוע? נראה את זה בהמשך. הערה 2.15 מההגדרות ברור כי R. RE שאלה מעניינת:.RE? R בשיעורים הקרובים נראה כי אין הכלה בכיוון השני, דהיינו קיימות שפות ב RE שאינן ב R. שאלה נוספות: הם קיימות שפות? L / RE L, תשובה: כן! עוצמת קבוצת מכונות הטיורינג היא בת מניה. מדוע? כל מכונת טיורינג אפשר לתאר בעזרת מחרוזת סופית של הא"ב העברי (פלוס אולי הספרות העשרוניות). כמה מחרוזות כאלו יש? מספר בן מניה. לכן עוצמת קבוצת מכונות הטיורינג היא בת מניה. מצד שני, בשביל לתאר שפות יש צורך במספר אינסופי של ביטים, לכן מספר השפות אינו בן מניה בגודל ℵ. זהו הנושא בו נעסוק בשיעורים הקרובים. בתור התחלה, נרצה לדבר על השפות המעניינות ב R : a n b n c n R,a n b n R { x#y#z x, y, z {0, 1}, x + y = z } מההגדרה של,x,y z אפשר לחשוב עליהם כמספרים בינאריים. האם השפה הזו ב R? כן! נזכור שיחסית קל להוסיף 1 למספר בינארי: למשל, כדי להוסיף 1 ל x, נקרא אותו עד #, ואז נתחיל לחזור שמאלה כל פעם שרואים 1 מחליפים אותו ב 0, עד שרואים 0 ומחליפים אותו ב 1. לא רואים 0 מחליפים את ה _ ב 1. להוריד 1 מ y זה גם אפשרי בצורה דומה והפוכה מחפשים את ה 1 הכי ימני ב y, הופכים אותו ל 0, והופכים את השאר... רק צריך לוודא ש y אינו אפס. כך אפשר לחבר את x ו y : לחבר ל x אחד עד ש 0 = y. כלומר, אפשר לחבר במכונת טיורינג. אפשר גם לבצע כפל לכתוב עותק (או כמה עותקים) של x משמאל ל x, מוסיפים את x ל x, ואז מורידים ל y אחד, מעתיקים את האיקס למקום המקורי, ושוב נחבר. אז נוריד אחד מ y, נשלים את x למה שהיה, נחבר שוב, וחוזר חלילה. העלאה בחזקה גם כן אפשר לעשות. 21

22 2 מכונת טיורינג מה עם הבעיה הבאה: נתונה מערכת משוואות לינאריות, והשמה למשתנים במערכת. צריך לקבל את המערכת יחד עם ההשמה, אמ"מ ההשמה מהווה פתרון למערכת המשוואות. האם ניתן לזהות את השפה הזו? נענה על השאלה הזו בפעם הבאה. 23/4/2012 ומה עם בעיית SAT?3 אפשר לדבר גם על מכונת טיורינג עם שני סרטים ושני ראשים קוראים. אז פונקציית ה δ מקבלת שתי אותיות של קלט אחד עבור הקלט שעליו הראש הראשון, השני על השני. אפשר לדבר על מכונה על k סרטים. אפשר לדבר על מכונה עם שני סרטים אולם אחד מהם רק קריאה, השני הוא סרט העבודה עליו אפשר לקרוא ולכתוב. יש הרבה מאוד ורסטיות של מודלים של מכונת טיורינג. אחד מהם (נראה בתרגול) שיש סרט אחד אבל הוא דו כיווני (?). לכל מודל כזה אפשר למצוא את אוסף השפות הניתנות לזיהוי על ידו, ואוסף השפות המוכרעות על ידו. הדבר היפה הוא, שהמודלים לא משנים את אוסף השפות המזוהות ולא את אוסף השפות המוכרעות! זוהי תוצאה מפתיעה למשל, במעבר ממכונה בעלת שני סרטים למכונה בעלת סרט אחד במקרה זה למשל אפשר לתכנן את המכונה החדשה כך ש"תחלק" את הסרט לשניים למשל כל התאים האי זוגיים יכילו את המידע של סרט אחד, והתאים הזוגיים יכילו את המידע של הסרט השני. נראה מסובך לראות מה עושים במקרה זה לגבי קריאת הנתונים (קריאת שתי אותיות לעומת קריאה של אחת), אבל ניתן לסמלץ גם את זה נריץ על הסרט עד שנמצא את המיקום של הראש הראשון, ואז נריץ שוב עד שנמצא את המקיום של הראש השני, ואז ניתן לתכנן בהתאם. כלומר,למרות שלמדנו רק הגדרה אחת, עם הגדרות אחרות היינו מקבלים את אותן המשפחות,R, RE ויתרה מזו הסימלוץ גורר תשלום, אולם הוא פולינומיאלי (גם לגבי המקום וגם לגבי זמן הריצה). הרבה מהדוגמאות הללו נראה בתרגולים. מכונות טיורינג גם יכולות לחשב פונקציות של הקלט: 1. מספר עוקב, מספר קודם. 2. חיבור, כפל, חזקות (גם ברציונליים מכיוון ומכונת טיורינג היא גמישה מאוד, יש הרבה דרכים למשל בעזרת חזקות של בינאריים למשל עם תו מפריד. רב הדרכים הסבירות להצגה "יעלו" בערך אותו הדבר יהיה אפשר לבנות מכונת טורינג שמסמלצת פורמט אחד לשני). בעיית השורש המשותף של פולינומים: קלט: משתנים x, 1,,... x n ומשוואות מהצורה: x x 2 x = 0. שאלה: האם יש השמה x 1,,... x n Z כך שכל המשוואות מתקיימות? השאלה הזו שקולה להגדרת שפת המשוואות שיש להן פתרון שלם השאלה: האם השפה הזו ניתנת לזיהוי באמצעות מכונת טיורינג? תחילה, האם זו בכלל שאלה שניתן לתת למכונת טיורינג כפלט? כדי שזה יהיה נכון, נצטרך דרך הצגה של משוואות מעל n משתנים. בה"כ מדובר במערכת מעל משתנים שלמים עם מקדמים שלמים. זה אפשרי! תחילה יש להגיד למכונה כמה משתנים יש אפשר לתת את המספר הזה כקלט. כיצד נעביר את המשוואות? נגדיר סימן המפריד בין משוואות שונות. כל משוואה היא אוסף של מונומים עם מקדמים. נותר להגיד איך מייצגים מונום וכל אחד כזה מכיל מקדם, ומשתנים בחזקות שונות לכן ניתן לייצג אותו כסדרה של + 1 n של מספרים שלמים הראשון הוא המקדם, n האחרים הם המקדמים של המשתנים. על כן, זוהי דרך להעביר את מערכת המשוואות למכונת טיורינג. עכשיו נשאל, האם זו שפה הניתנת לזיהוי ע"י מכונת טיורינג? כן! הפתרון: לעבור על כל האפשרויות, אם נמצאה השמה המכונה תחזיר "כן", אחרת תחזיר לא. כיצד עושים זאת? ישנן הרבה דרכים. לדוגמא, אפשר קודם כל לעבור על כל ההשמות בהן {1,1 },0 n x, 1,,.. x לאחר מכן נעלה מונה כלשהוא באחד ונעבור על כל ההשמות כך ש { 2,1,0,1,2 } n x, 1,,.. x וכן הלאה. על כן, השפה הזו אכן ב RE. נשאל, האם השפה הזו ב R? שאלה זו נשארת כרגע בסימן שאלה. השאלה הזו לא נוסחה כך, אבל בעצם נשאלה בשנת 1900 בגרסא אחרת ע"י הילברט זוהי בעצם השאלה העשירית של הילברט: האם ניתן להכריע אם יש או אין פתרון למערכת משוואות פולינומיות? שאלה זו ושאלות דומות הן הסיבה להמצאת מכונות טיורינג. עוד שאלה אפילו עוד יותר חשובה שהטרידה את הילברט ורבים לפניו (ולא מעטים אחריו) שהיא אולי הבסיס של המתמטיקה המספרים הממשיים הם קבוצה, אבל כל מספר ממשי בעצמו ניתן לייצג כקבוצה של רציונליים, כל רציונלי הוא בעצם זוג של שלמים, כל שלם אפשר לייצג כקבוצה של זוגות של טבעיים, וטבעיים גם ניתן לייצג ע"י קבוצות של קבוצות ריקות. כלומר, כולם בנויים על תורת הקבוצות בלבד. ישנן אוסף האקסיומות של המתמטיקה (C).ZF כל מה שניתן להוכיח מהאקסיומות הוא משפט, וכל מה שניתן להוכיח שאינו נכון מהאקסיומות הוא משפט שהשלילה שלו נכונה. 22

23 2 מכונת טיורינג 2.1 מכונת טיורינג כקלט קידוד של מכונת טיורינג 1. האם אוסף המשפטים הנובעים מ ( C ) ZF היא ב RE? כלומר, האם אפשר להכניס את משפט למכונת טיורינג והיא תגיד אם הוא נכון. 2. האם אוסף המשפטים הללו הוא ב R? כלומר, האם אפשר למצוא מכונה שתעצור גם אם המשפט לא נכון ותגיד שאינו נכון. 3. שאלה דומה אך שונה באופיה האם לכל משפט p מתקיים (C) p ZF או (C) p ZF (כלומר האם (C) ZF שלמה?). אבחנה: אם השאלה לשלוש ולאחד היא כן, אזי התשובה לשתיים היא כן זאת כי אם המשפט אינו נכון, אזי המכונה יכולה למצוא אם המשפט לא נכון: אפשר להריץ שתי מכונות המוצאות הוכחות בו זמנית, לאחת מהן להזין את המשפט, לשניה את שלילת המשפט, ואז אחת מהן תסיים לפני השניה, ולפיה נדע מהי התשובה הנכונה. התשובות לשאלות: התשובה לשאלה העשירית של הילברט איננה ב R (יכול להיות שלא נדע שהמערכת אינה פתירה). לגבי שלוש השאלות הנוספות שהצגנו: 1. כן לפי המערכת של פייגה (עוד על כך בקורס "לוגיקה מתמטית") יש אלגוריתם לבדיקת נכונות של הוכחה. נרוץ פשוט על כן הוכחה אפשרית, וכך נדע עם המשפט ב RE (ברגע שיש הוכחה לוקח זמן פולינומי לבדוק את נכונותה). 2. לא! בעצם לכל מערכת לוגית עשירה מספיק אי אפשר להכריע מה היא משפחת השפות המוכרעות על ידה. 3. לא! לכל מערכת אקסיומות עשירה מספיק (וקונסיסטנטית) יהיו טענות שלא נובעות ממנה, וגם שלילתן אינה נובעת ממנה. מי שהוכיח לראשונה את התשובות לשאלות,2 3 הוא גדל. טיורינג ניסח את השאלות הללו במובן של,R, RE ואז בעזרת מכונת טיורנג ענה עליהן. בשיעור הבא נוכיח על איזשהן בעיות שאינן ב R. 2.1 מכונת טיורינג כקלט קידוד של מכונת טיורינג נחשוב על אלגוריתם כמכונת טיורינג במשך הזמן נראה כי באמת כל אלגוריתם בסיסי שנחשוב עליו ניתן לממש כמכונת טיורינג. אולם כעת, נראה כיצד ניתן לקודד מכונת טיורינג כדי שתוכל להתקבל כקלט ע"י מכונת טיורינג אחרת D. נסמן: M = (Q, Σ, Γ, δ,...) מהי הבעיה? הא"ב של המכונה M יכול להיות הרבה יותר גדול מזה של D, ואז מה נעשה כאשר הראש הקורא של M הוא על אות שאיננה ב D? התשובה עם זאת די פשוטה מה שחשוב הוא למעשה מספר האותיות: נחשוב על Σ ועל Γ כעל שני מספרים טבעיים מהן האותיות עצמן זה משנה. נחליט שכאשר יש למשל 10 אותיות ב Σ, הן,... 10,2,1, ואם יש למשל 15 אותיות ב Γ הן הספרות,... 14,2,1, כאשר ה _ הוא 0. כמו כן, אפשר לייצג את המצבים כמספרים, ואז ע"י א"ב של שלוש אותיות 21 אפשר להביע את כל העושר הזה אפשר פשוט לייצג כל מספר מהמכונה המקורית כמספר בינארי ועוד אות שמבדילה בין המספרים. ישנן עוד הרבה דרכים לייצג זאת (מספרים מיוחדים ל q acc, q rej למשל), הדרך עצמה לא מעניינת אותנו, אלא רק העובדה שאת כל הדברים הללו ניתן כאמור להציג כמספרים בינאריים ואות שתבדיל בין המספרים. בהנתן מ"ט M, נסמן ב M את הקידוד של M בא"ב של שלוש אותיות. אם w הוא קלט למ"ט M, נסמן ב w את הקידוד של w (יש צורך לקדד, שוב, מכיוון ואולי הא"ב של D קטן מזה של M. הקידוד נעשה באותה הדרך). כעת שבידינו היכולת לקודד מכונת טיורינג, נוכל לדון בשאלות הכרעה של המכונה. נתחיל עם השאלה הבאה: בהנתן מכונת טיורינג וקלט עבורה, האם מכונת הטיורינג עוצרת על הקלט? נגדיר את הבעיה ע"י הגדרת השפה A: T M A T M היא שפת כל המכונות והקלטים כך שהמכונה עוצרת על הקלט במצב מקבל, דהיינו: הגדרה 2.16 A T M = { M, w M accepts w, meaning w L (M)} 21 אפשר גם ע"י א"ב של שתי אותיות, ואפילו ע"י א"ב של אות אחת אבל במקרה זה יש הבדל אקספוננציאלי באורך הקוד. כעת אנו לא מתעניינים ביעילות של האלגוריתמים שלנו, אבל זה יעניין אותנו בהמשך, לכן אנו נשאר עם הייצוג ע"י א"ב של שלוש אותיות. 23

24 2.1 מכונת טיורינג כקלט קידוד של מכונת טיורינג 2 מכונת טיורינג נשאל:.1 האם?A T M RE תחילה, נבין משמעות השאלה הזו האם קיימת מכונת טיורינג D שמקבלת קידוד של מכונת טיורינג אחרת וקלט, והיא עוצרת ומקבלת אמ"מ המכונה הנתונה עוצרת ומקבלת את הקלט הנתון? הפתרון הנאיבי "ש D תריץ את M" כאמור נחשוב על M כאלגוריתם, אז פשוט D תריץ את האלגוריתם M עם הקלט w, אם M יקבל יחזיר כן נחזיר כן, אם ידחה נחזיר לא, ואם יכנס ללופ גם אנחנו ניכנס ללופ, ואז הכל חוקי וטוב. לצורך דיון זה, נגדיר מכונת טיורינג מיוחדת: מכונת טיורינג אוניברסלית הגדרה 2.17 מכונת טיורינג U נקראת אוניברסלית, אם היא מקיימת את כל התנאים הבאים: 1. בהנתן קלט w,m, אם M עוצרת בריצתה על w ומקבלת, אז U גם עוצרת ומקבלת. 2. בהנתן קלט w,m כך ש M עוצרת על w ודוחה, אז U גם. 3. אם M אינה עוצרת בריצתה על w, אז בהנתן הקלט w U,M, גם אינה עוצרת. 4. אם הקלט ל U אינו קידוד חוקי של מכונת טיורינג וקלט עבורה, אז U עוצרת ודוחה. נשאל, האם קיימת מכונת טיורינג אוניברסלית? משפט 2.18 קיימת מכונת טיורינג אוניברסלית. 2/5/2012 לא נוכיח את המשפט, כי הוא פשוט, ו"מצד שני, להוכיח אותו באופן פורמלי זה פשוט נורא" ארוך. יש כאן כל מיני שאלות תיכנותיות "בשפה העלובה של מכונת טיורינג", אולם המרצה בטוח שאנו יכולים לעמוד בהן. האם המכונה האוניברסלית עוזרת לנו עם שאלה 1? כן! נכניס את w,m למכונה האוניברסלית, U והיא תחזיר כן אמ"מ M מקבלת את הקלט לכן השפה של U היא בדיוק.AT M יתרה מזו, אם M דוחה את w, מותר או לדחות או אף פעם לא לעצור במקרה של מכונה אוניברסלית U, אם M דוחה, גם U תדחה. אם M לא עוצרת, גם U לא תעצור. אולם לפעמים אלו בדיוק המקרים שהכי מעניינים אותנו, מה שמביא אותנו לשאלה השניה:.2 האם?A T M R כלומר, האם קיימת מכונת טיורינג D המקבלת w,m כקלט, אשר מקבלת אם M מקבלת את הקלט D w, תקבל, ואם M לא מקבלת את D w, דוחה אותה. התשובה לשאלה הזו לא! הרעיון: מה אנחנו דורשים מ D? "זה קצת כמו לחזות את העתיד" אם M עוצרת על w זה פשוט. אם M לא עוצרת, D צריכה לדעת ש M לא תעצור על w. חיזוי העתיד אינו אפשרי: בהנתן אדם שחוזה את העתיד, אפשר לשאול אותו אם "נביא לו סטירה" עוד חמש דקות, אפשר להשתמש במידע שיתן לנו כדי לסתור את ההנחה שלו על העתיד אם יגיד שנסטור לו, לא נסטור לו, אם יגיד שלא נסטור לו נסטור. דבר דומה נעשה כאן נאמר שאם היתה קיימת כזו, אפשר לשאול אותה מה היא היתה עושה אם היינו נותנים לה את הקלט D. אם היא תגיד "אני אעצור", נתכנת אותה ככה שלא תעצור, ואם היא תגיד "אני אעצור", נבנה אותה בצורה שתכנס ללופ אינסופי. נעשה זאת בצורה פורמלית בשיעור הבא. משפט.A T M / R 2.19 הוכחה: נניח בשלילה כי A, T M R כלומר קיימת מ"ט D המכריעה אותה. אזי, בהנתן קלט w,m : 1. אם M עוצרת במצב מקבל בריצתה על D w, עוצרת במצב מקבל. 2. אם M אינה עוצרת, או עוצרת במצב דוחה בריצתה על D w, עוצרת במצב דוחה. נבנה מ"ט D כבציור: ** היא פועלת בצורה הבאה: D מקבלת קידוד של מכונת מ"ט M, M: ומריצה את D על הקלט M,M אם D מקבלת, D דוחה, אם D דוחה, D מקבלת. נריץ את D על D. D עוצרת על D, שכן D תמיד עוצרת מהנחתנו. נבדוק את האפשרויות: אם D מקבלת, אזי D דוחה את D D., מכאן ש D אינה מקבלת בריצתה על D לא יכול להיות. אזי, בהכרח D דוחה בריצתה על D. מכאן נובע ש D עוצרת ומקבלת בריצתה על D, בסתירה. סיכום ביניים: 24

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

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

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

{ : Halts on every input}

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

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

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

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

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

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

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

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

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

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

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 =

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

חלק 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 - הגדרת אוטומט

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

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

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

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

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

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

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

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

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

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

= 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 שפות חסרות הקשר

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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 =

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

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

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

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

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

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

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

Regular Expressions (RE)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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 הוא קטע (חסום או לא חסום,

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

מודלים חישוביים מבחן מועד א', סמסטר א' תשע''ה (2015)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

. {e M: x e} מתקיים = 1 x X Y

. {e M: x e} מתקיים = 1 x X Y שימושי זרימה פרק 7.5-13 ב- Kleinberg/Tardos שידוך בגרף דו-צדדי עיבוד תמונות 1 בעיית השידוך באתר שידוכים רשומים m נשים ו- n גברים. תוכנת האתר מאתרת זוגות מתאימים. בהינתן האוסף של ההתאמות האפשריות, יש לשדך

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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)

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

תרגול משפט הדיברגנץ. D תחום חסום וסגור בעל שפה חלקה למדי D, ותהי F פו' וקטורית :F, R n R n אזי: נוסחת גרין I: הוכחה: F = u v כאשר u פו' סקלרית:

תרגול משפט הדיברגנץ. D תחום חסום וסגור בעל שפה חלקה למדי D, ותהי F פו' וקטורית :F, R n R n אזי: נוסחת גרין I: הוכחה: F = u v כאשר u פו' סקלרית: משפט הדיברגנץ תחום חסום וסגור בעל שפה חלקה למדי, ותהי F פו' וקטורית :F, R n R n אזי: div(f ) dxdy = F, n dr נוסחת גרין I: uδv dxdy = u v n dr u, v dxdy הוכחה: F = (u v v, u x y ) F = u v כאשר u פו' סקלרית:

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

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

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

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

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 אני מקווה שהסיכומים יעזרו לכם ולעוד רבים טעויות אני (ואף אחד אחר) לא

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

מבוא ללוגיקה מתמטית 80423

מבוא ללוגיקה מתמטית 80423 מבוא ללוגיקה מתמטית 80423 24 במרץ 2012 איני לוקחת אחריות על מה שכתוב כאן, so tread lightly אין המרצה או המתרגל קשורים לסיכום זה בשום דרך. הערות יתקבלו בברכה.noga.rotman@gmail.com אהבתם? יש עוד! www.cs.huji.ac.il/

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

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

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

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

אוטומטים- תרגול 10: מכונות טיורינג.

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

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

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

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

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