מקביליות

מסמכים קשורים
מקביליות

מקביליות

Microsoft Word - tutorial Dynamic Programming _Jun_-05.doc

תכנון אלגוריתמים עבודת בית 4: תכנון אלגוריתמים תאריך הגשה: 02: , בצהריים,תא מספר 66 בקומת כניסה של בניין 003 מתרגל אחראי: אורי 0

הטכניון מכון טכנולוגי לישראל אלגוריתמים 1 )443432( סמסטר חורף הפקולטה למדעי המחשב תרגול 9 מסלולים קלים ביותר תרגיל APSP - 1 עד כה דנו באלגור

שיעור 1

מבחן 7002 פרטים כלליים מועד הבחינה: בכל זמן מספר השאלון: 1 משך הבחינה: 3 שעות חומר עזר בשימוש: הכל )ספרים ומחברות( המלצות: קרא המלצות לפני הבחינה ובדי

תכנות דינמי פרק 6, סעיפים 1-6, ב- Kleinberg/Tardos סכום חלקי מרחק עריכה הרעיון: במקום להרחיב פתרון חלקי יחיד בכל צעד, נרחיב כמה פתרונות אפשריים וניקח

מבוא למדעי המחשב

תורת החישוביות תרגול הכנה לוגיקה ותורת הקבוצות מה יש כאן? בקורס תורת החישוביות נניח ידע בסיסי בתורת הקבוצות ובלוגיקה, והכרות עם מושגים בסיסיים כמו א"ב

מבוא למדעי המחשב

תכנון אלגוריתמים, אביב 1021, תרגול מס' 4 תכנון דינאמי תכנון דינאמי בתרגול זה נדון בבעיית הכפלת סדרת מטריצות (16.1.(CLR ראשית נראה דוגמא: דוגמא: תהינה

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

בחן במערכות הפעלה

שעור 6

מהוא לתכנות ב- JAVA מעבדה 3

מבוא לתכנות ב- JAVA תרגול 11

תרגול מס' 7 – חזרה על MST ואלגוריתם Dijkstra

Algorithms Tirgul 1

מבחן סוף סמסטר מועד א 15/02/08 מרצה אחראית: דר שירלי הלוי גינסברג מתרגלים: גלעד קותיאל, דניאל גנקין הוראות: א. בטופס המבחן 7 עמודים ו 4 דפי נוסחאות. ב

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

מבחן סוף סמסטר מועד ב 28/10/08 מרצה אחראית: דר שירלי הלוי גינסברג מתרגלים: גלעד קותיאל, גדי אלכסנדרוביץ הוראות: א. בטופס המבחן 6 עמודים (כולל דף זה) ו

פקולטה: מחלקה: שם הקורס: קוד הקורס: מדעי הטבע מדעי המחשב ומתמטיקה מתמטיקה בדידה תאריך בחינה: _ 07/07/2015 משך הבחינה: 3 שעות סמ' _ב' מועד

תרגיל 9 מבוא ללוגיקה ותורת הקבוצות, סתיו תשע"ד 1. תהי L השפה בעלת סימן פונקצייה דו מקומי G, סימן פונקציה חד מקומי T, סימן יחס תלת מקומי.c, d וקבועים L

מבוא לתכנות ב- JAVA תרגול 7

מבוא למדעי המחשב

מבוא ללוגיקה ולתורת הקבוצות

מטלת מנחה (ממ"ן) 11 הקורס: חשבון אינפיניטסימלי II חומר הלימוד למטלה: יחידות 2,1 4 מספר השאלות: 7 משקל המטלה: נקודות סמסטר: ב 2007 מו

מספר זהות: סמסטר ב' מועד א' תאריך: 11102/4// שעה: 9:22 משך הבחינה: 3 שעות חומר עזר: אין מותר השימוש במחשבון פשוט בחינה בקורס: מבני נתונים מרצה: הדר בי

Untitled

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

תרגול 1

תרגול 1

Microsoft Word - Questions Booklet Spring 2009

מבוא למדעי המחשב

Microsoft Word - ExamA_Final_Solution.docx

ex1-bash

Homework Dry 3

עיצוב אוניברסלי

מועד: א בחינה סופית במתמטיקה דיסקרטית משך הבחינה: 2 1 שעות מרצה: פרופ' תאופיק מנסור תאריך: סמסטר: א תשע"ח m 2 הוראות לנבחן: )1( הבחינה מו

הגשה תוך שבוע בשעת התרגול

Slide 1

תוכן העניינים

מבוא למדעי המחשב

Microsoft Word - SDAROT 806 PITRONOT.doc

Slide 1

עב 001 ינואר 12 מועד חורף פתרונות עפר

. [1,3] ו = 0 f(3) f(1) = עמוד 1 מתוך 6 דר' ז. אולחא מס' הקורס 9711 חדו''א הנ מכונות 1 f ( x) = ( x 1)( x 2)( x 3) c= f c = c (1,3), c תשובות I 1) פונ

תוכן העניינים: פרק צמצומים ומימושים של פונקציות בוליאניות... 2 צמצומים של פונקציות באמצעות מפת קרנו:...2 שאלות:... 2 תשובות סופיות:... 4 צמצום

PRESENTATION NAME

תוכן העניינים

<4D F736F F D20FAF8E2E5EC20E0ECE2E1F8E420EEF2E5F8E D F9E0ECE5FA2E646F63>

אנליזה מתקדמת

תוכן הגדרת שאלת רב-ברירה ]אמריקאית[...2 הגדרת שאלת נכון\לא נכון...8 שאלות אמריקאיות 1

PowerPoint Presentation

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

<4D F736F F D20F4FAF8E5EF20EEE5F2E320E020F1EEF1E8F820E120FAF9F2E3>

PowerPoint Presentation

áñéñ åîéîã (ñéåí)

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

אוניברסיטת חיפה החוג למדעי המחשב מרצה: שולי וינטנר מתרגלים: נעמה טוויטו, מחמוד שריף מבוא למדעי המחשב סמסטר א' תשע"ב בחינת סיום, מועד א', הנחי

פתרון וחקירת מערכות של משוואות לינאריות שאלות: 1( מצא אילו מהמערכות הבאות הן מערכות שקולות: 2x+ y= 4 x+ y= 3 x y = 0 2x+ y = 3 x+ 10y= 11 א. 2x 2y= 0

תרגול מס' 1

Microsoft Word - Sol_Moedb10-1-2,4

Microsoft PowerPoint - 10_threads.ppt

Microsoft Word ACDC à'.doc

פתרון 2000 א. טבלת מעקב אחר ביצוע האלגוריתם הנתון עבור הערכים : פלט num = 37, sif = 7 r האם ספרת האחדות של sif שווה ל- num num 37 sif 7 שורה (1)-(2) (

Microsoft PowerPoint - Lecture1

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

מבוא למדעי המחשב - חובלים

Microsoft Word - c_SimA_MoedB2005.doc

PowerPoint Presentation

מספר מחברת: עמוד 1 מתוך 11 ת"ז: תשע"א מועד ב סמסטר א' תאריך: 00:11 שעה: 0 שעות הבחינה: משך כל חומר עזר אסור בשימוש בחינה בקורס: מבוא למדעי ה

PowerPoint Presentation

חשבון אינפיניטסימלי מתקדם 1

פייתון

Yoni Nazarathy

PowerPoint Presentation

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

Eliashiv Fraenkel Phd..pdf

<4D F736F F D20EEF9E5E5E0E5FA20E3E9F4F8F0F6E9E0ECE9E5FA2E646F63>

2013/14 אוניברסיטת חיפה מבוא למדעי מחשב, מעבדה מטרת המעבדה: לתרגל את המעבר מאלגוריתם לקוד C כמה שיותר. הוראות:.1.2 ניתן לעבוד ביחידים או בזוגות. (יש מ

Overview of new Office 365 plans for SMBs

משוואות דיפרנציאליות מסדר ראשון

PowerPoint Presentation

תאריך הבחינה 30

Microsoft PowerPoint - T-10.ppt [Compatibility Mode]

PowerPoint Presentation

מבוא למדעי המחשב

Microsoft Word - c_SimA_MoedA2006.doc

Slide 1

Microsoft Word - 01 difernziali razionalit

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

5-PhysicsFormula.indd

ðñôç 005 î

תורת הקומפילציה

Microsoft Word B

תמליל:

תכונות שמורה Invariant Properties גרא וייס המחלקה למדעי המחשב אוניברסיטת בן-גוריון

2 בדיקות מודל Checking( )Model מערכת דרישות מידול פירמול בדיקות מודל )Model Checking( מודל של המערכת תכונות פורמליות סימולציה דוגמה נגדית התכונות הוכחה

3 תזכורת: מריצות לתכונות s 0 ריצה! s1! s2! s 0 s 1 s 2 מסלול ) 2 L(s 0 )L(s 1 )L(s עקבות שפה פורמאלית מעל האלף-בית 2 AP תכונה

4 )semaphore( דוגמה רצה: מניעה הדדית מבוססת סמפור noncrit 1 noncrit 2 y = y + 1 wait 1 y = y + 1 wait 2 y > 0 y = y 1 y > 0 y = y 1 crit 1 crit 2 מסמל "המנעול בשימוש" מסמל ו = 1 y "המנעול חופשי" y = 0

5 מערכת המעברים ) 2 TS(PG 1 PG hn 1, n 2, y=1i hw 1, n 2, y=1i hn 1, w 2, y=1i hc 1, n 2, y=0i hw 1, w 2, y=1i hn 1, c 2, y=0i hc 1, w 2, y=0i hw 1, c 2, y=0i

6 תכונות זמן ליניארי Linear Time Properties הגדרה: תכונת זמן ליניארי P היא תת קבוצה של P 2 AP ω להשאיר - העקבות שהתוכנית עלולה התכונה מתארת מהן עקבות שגיאה בתוכנית "חוקיות" מבחינתנו ואילו עקבות נחשבות אנחנו מכוונים ללוגיקה שבה ניתן יהיה לתאר התנהגויות חוקיות של מערכות ושאפשר לבקש, למשל מ- SPIN, לבדוק אם מערכת מעברים נתונה מקיימת תכונה רצויה מערכת מקיימת תכונה אם כל העקבות שהיא עלולה להשאיר הן חוקיות נראה דרכים שונות לתאר תכונות

7 הסימונים TS P ו- s P נסמן ע"י TS P את העובדה שמערכת המעברים TS מקיימת את תכונת הזמן הליניארי P: Traces TS P אם ורק אם TS P באופן דומה, נסמן ב s S את העובדה שכל הריצות המתחילות במצב P: מקיימות את תכונת הזמן הליניארי s S Traces s P אם ורק אם s P

8 דוגמה: רמזורים מסונכרנים {red 1 } {green 2 } {red 1, green 2 } red 1 green 2 red, green green 1 red 2 {green 1 } {red 2 } green, red {green 1, red 2 } "הרמזור הראשון יהיה ירוק אינסוף פעמים" = P 2 AP כך ש green 1 A i עבור אינסוף i םי-. {red 1, green 2 }{green 1, red 2 }{red 1, green 2 }{green 1, red 2 } green green 1 1 green 1 green 1 {red 1, green 1 } {red 1, green 1 } {red 1, green 1 } {green 1, green 2 } {green 1, green 2 }{green 1, green 2 } כל המילים האינסופיות מהצורה 3 A 1 A 2 A מעל למשל, P מכילה את המילים:

9 דוגמה: רמזורים מסונכרנים {red 1 } {green 2 } {red 1, green 2 } red 1 green 2 red, green green 1 red 2 {green 1 } {red 2 } green, red {green 1, red 2 } "אף פעם לא מדליקים אור ירוק בשני הרמזורים ביחד" = P green 2 A i green 1 A i,i כל המילים האינסופיות מהצורה 3 A 1 A 2 A מעל 2 AP למשל, P מכילה את המילים: כך שלכל או red 1, green 2 green 1, red 2 red 1, green 2 green 1, red 2... green 1 green 1 green 1 green 1 {red 1, green 1 } {red 1, green 1 } {red 1, green 1 }

10 איך נגדיר מניעה הדדית? "תמיד נמצא לכל היותר אחד מהתהליכים בקטע הקריטי" נניח } 2 AP = {crit 1, crit הפסוקים האטומיים האחרים אינם רלוונטיים לתכונה הזאת תאור כתכונת זמן ליניארי: P mutex = A 0 A 1 crit 1, crit 2 A i for all i דוגמאות למילים אינסופיות ב- P: mutex crit 1 crit 2 ω crit 1 crit 1 ω דוגמאות למילים אינסופיות שאינן ב- P: mutex crit 1 crit 1, crit 2 ω crit 1, crit 2 crit 1, crit 2 ω

11? האם האלגוריתם שהצגנו מקיים P mutex hn 1, n 2, y=1i hw 1, n 2, y=1i hn 1, w 2, y=1i hc 1, n 2, y=0i {crit 1 } hw 1, w 2, y=1i hn 1, c 2, y=0i {crit 2 } hc 1, w 2, y=0i {crit 1 } hw 1, c 2, y=0i {crit 2 } crit 1 כן, מכיוון שאין מצב נגיש המכיל גם את וגם את crit 2

12 איך נגדיר מניעת הרעבה? "תהליך הרוצה להיכנס לקטע הקריטי ייכנס בסופו של דבר" נגדיר } 2 AP = {wait 1, crit 1, wait 2, crit כתיבה כתכונת זמן ליניארי: P nostarve = {A 0 A 1 j. wait i A j ( j. crit i A j ) for each i = 1,2} סימון: "קיימים אינסוף אינדקסים כך ש..." j. wait i A j ( k > 0. j > k. wait i A j )? האם האלגוריתם מקיים את התכונה P nostarve

13 איך נגדיר מניעת הרעבה? "תהליך הרוצה להיכנס לקטע הקריטי ייכנס בסופו של דבר" נגדיר } 2 AP = {wait 1, crit 1, wait 2, crit כתיבה כתכונת זמן ליניארי: P nostarve = A 0 A 1 j. wait 1 A j j. crit 1 A j A 0 A 1 j. wait 2 A j j. crit 2 A j סימון: "קיימים אינסוף אינדקסים כך ש..." j. wait 1 A j ( k > 0. j > k. wait 1 A j )? האם האלגוריתם מקיים את התכונה P nostarve

14 האם האלגוריתם מבטיח חוסר הרעבה? hn 1, n 2, y=1i hw 1, n 2, y=1i {wait 1 } hn 1, w 2, y=1i {wait 2 } hc 1, n 2, y=0i {crit 1 } hw 1, w 2, y=1i {wait 1, wait 2 } hn 1, c 2, y=0i {crit 2 } hc 1, w 2, y=0i {crit 1, wait 2 } hw 1, c 2, y=0i {wait 1, crit 2 } לא: wait 2 wait 1, wait 2 crit 1, wait 2 ω Traces TS P nostarve

15 עידון דרישות ושקילות עקבות כשבונים מערכת: במהלך הפיתוח מתחילים בהגדרת דרישות כלליות ומפרטים את הדרישות מבחינה פורמאלית: מתחילים במודל המגדיר ריצות ומעדנים אותו ככל שמבינים יותר איך המערכת צריכה לפעול עד שמגיעים למימוש מתמטית: ) H Traces TS L Traces(TS י ת רו נו ת של הגישה הפורמאלית: אפשר לבדוק תכונות בכל שלב של הפיתוח אפשר לוודא שהמימוש הוא עידון של הדרישות אפשר לוודא, מול הלקוח, כבר בשלב מוקדם, שהדרישות הובנו

16 דוגמה: אלגוריתם מניעה הדדית hn 1, n 2, y=1i hw 1, n 2, y=1i hn 1, w 2, y=1i hc 1, n 2, y=0i hw 1, w 2, y=1i hn 1, c 2, y=0i hc 1, w 2, y=0i hw 1, c 2, y=0i האלגוריתם מקיים את התכונה P mutex

17 דוגמה: עידון אלגוריתם המניעה ההדדית hn 1, n 2, y=1i hw 1, n 2, y=1i hn 1, w 2, y=1i hc 1, n 2, y=0i hw 1, w 2, y=1i hn 1, c 2, y=0i hc 1, w 2, y=0i hw 1, c 2, y=0i P mutex לא צריך לבדוק: גם הגרסה הזאת )הורדנו קשת( מקיימת את התכונה

18 שקילות עקבות ותכונות זמן ליניארי TS עבור מערכות מצבים TS ו בלי מצבים ללא מוצא: Traces TS Traces(TS ) אם ורק אם TS P TS P לכל תכונת זמן ליניארי P אם מתקיים: אז Traces(TS) = Traces(TS ) אם ורק אם TS ו TS מקיימות את אותן תכונות זמן ליניארי

19 דוגמה: שתי מכונות שתייה pay pay sprite select beer select 1 sprite beer select 2 AP = { pay, sprite, beer } אין תכונת זמן ליניארי שיכולה להבדיל בין שתי המכונות האלה

20 תכונות בטיחות properties( )safety תכונות בטיחות properties( )safety ¼ "שום דבר רע לא יקרה" תכונת בטיחות אופיינית: מתהליך אחד בקטע הקריטי( תכונת המניעה ה ה ד ד ית לעולם לא קורה )יותר הרע הדבר )deadlock( דוגמה טיפוסית נוספת: הימנעות מק פ או ן שתי התכונות האלה הן שמורות )invariants( נתון תנאי φ למצבים דורשים ש φ יתקיים לכל מצב נגיש φ crit 1 crit 2 דוגמה: עבור תכונת המניעה ההדדית דוגמה: תכונת הק פ או ן של הפילוסופים הסועדים φ wait 0 wait 1 wait 2 wait 3 wait 4

21 תכונות ש מ ור ה )invariants( תכונת זמן ליניארי P inv היא ש מ ור ה אם קיימת נוסחה φ כך ש- P inv = { A 0 A 1 j 0. A j φ } )invariant condition( נקרא תנאי השמורה φ TS P inv אם ורק אם TS של π לכל מסלול trace π P inv TS לכל מצב s L s השייך למסלול של φ s Reach(TS) לכל מצב L s φ חייב להתקיים בכל מצב התחלתי, נכונות φ נשמרת תחת כל מעבר )בתחום הנגיש( אינדוקציה: φ

22 בדיקת שמורות בדיקת שמורה עבור פסוק = φ האם התכונה מתקיימת בכל מצב נגיש? שימוש בגרסה של אלגוריתם סריקת גרף BFS( או )DFS בהנחה שמערכת המעברים סופית ביצוע חיפוש DFS אם מצאנו מצב s קדימה מסיקים ש φ אינו שמורה כך ש s φ אפשרות אחרת: חיפוש אחורה מתחילים מהמצבים בהם φ אינה מתקיימת )φ s( מחשבים את המצבים הקודמים (s) Pre באמצעות DFS או BFS אם הגענו למצב התחלתי ) s I( Pre מסיקים ש φ אינה שמורה

23 בדיקת שמורה באמצעות DFS קלט: פלט: מערכת מעברים סופית TS ונוסחה Á Á", מקיימת את השמורה "תמיד TS אם true אחרת false *( קבוצת המצבים בהם ביקרנו )* ;; := R set of states *( מחסנית מצבים "לטיפול" )* ²; := U stack of states *( כל המצבים ב R מקיימים את boolean b := true; )* Á for all s 2 I do od if s R then fi )* מתחילים DFS מכל מצב התחלתי *( visit(s)

24 בדיקת שמורה באמצעות DFS procedure visit(state s) )* פרוצדורה לביקור במצב *( push(s, U); )* דוחפים את המצב למחסנית *( R := R [ {s}; )* ומוסיפים אותו לקבוצת המצבים שכבר ביקרנו *( repeat s := top(u); if Post(s ) µ R then pop(u); *( בודקים אם s מקיימת את b := b Æ (s ² Á); )* Á else take s 2 Post(s ) n R; push(s, U); *( גילינו מצב נגיש חדש s R := R [ {s }; )* fi until ((U = ²) Ç :b) endproc

25 זמן סיבוכיות נניח שניתן למצוא s Post(s) בזמן θ( Post(s) ) הנחה תקפה כאשר מייצגים את Post(s) ע"י רשימות סמיכות )adjacency lists( TS סיבוכיות זמן בדיקת שמורה: O(N φ + M) N מסמל את מספר המצבים הנגישים Post(s) M = s S מסמל את מספר המעברים בחלק הנגיש של בדרך כלל לא מייצגים את רשימות הסמיכות באופן מפורש למשל: ניתן להשתמש בתיאור סינטקטי של התהליכים המקביליים כגרפי תוכנית Post(s) מתקבל מהכללים של יחס המעברים

26 אלגוריתם שנותן גם דוגמה נגדית *( קבוצת המצבים בהם ביקרנו )* ;; := R set of states *( מחסנית מצבים "לטיפול" )* ²; := U stack of states boolean b := true; )* כל המצבים ב R מקיימים את Á *( while (I R b ) do let s I R visit(s) od if b then return yes Else return no, reverse(u) Fi