1 Formal Specifications for Complex Systems (236368) Tutorial #3 Z introduction and notation (contd.); Birthday book example (Chapter 1 in the book)

Slides:



Advertisements
Similar presentations
Completeness and Expressiveness. תזכורת למערכת ההוכחה של לוגיקה מסדר ראשון : אקסיומות 1. ) ) (( 2. )) ) (( )) ( ) ((( 3. ))) F( F( ( 4. ) v) ( ) v ((
Advertisements

ממיבחניםC שאלות ++.
תוכנה 1 סמסטר א ' תשע " ב תרגול מס ' 7 * מנשקים, דיאגרמות וביטים * לא בהכרח בסדר הזה.
מבוא למדעי המחשב לתעשייה וניהול
1 Formal Specifications for Complex Systems (236368) Tutorial #4 Refinement in Z: data refinement; operations refinement; their combinations.
טבלאות סמלים נכתב ע"י אלכס קוגן סמסטר חורף, תשס"ח.
1 Formal Specifications for Complex Systems (236368) Tutorial #2 Z introduction and notation (contd.); Birthday book example (Chapter 1 in the book); Z.
Presentation by Dudu Yanay and Elior Malul 1.  מה משותף לכל אלגוריתם המשתמש ב -Bucket Elimination: ◦ נתון מודל הסתברותי ורשת ביסיאנית מתאימה. ◦ נתונה.
1 Formal Specifications for Complex Systems (236368) Tutorial #2 Z notation; Examples.
מתמטיקה בדידה תרגול 3.
רקורסיות נושאי השיעור פתרון משוואות רקורסיביות שיטת ההצבה
חורף - תשס " ג DBMS, Design1 שימור תלויות אינטואיציה : כל תלות פונקציונלית שהתקיימה בסכמה המקורית מתקיימת גם בסכמה המפורקת. מטרה : כאשר מעדכנים.
רקורסיות נושאי השיעור מהן רקורסיות פתרון רקורסיות : שיטת ההצבה שיטת איטרציות שיטת המסטר 14 יוני יוני יוני 1514 יוני יוני יוני 1514.
אוטומט מחסנית הפקולטה למדעי המחשב אוטומטים ושפות פורמליות ( ) תרגיל מספר 11.
מבוא לשפת C חידות ונקודות חשובות נכתב על-ידי יורי פקלני. © כל הזכויות שמורות לטכניון – מכון טכנולוגי לישראל.
מבוא למדעי המחשב תרגול 8 - מחרוזות שעת קבלה : יום שני 11:00-12:00 דוא " ל :
חורף - תשס " ג DBMS, צורות נורמליות 1 צורה נורמלית שלישית - 3NF הגדרה : תהי R סכמה רלציונית ותהי F קבוצת תלויות פונקציונליות מעל R. R היא ב -3NF.
1 Formal Specifications for Complex Systems (236368) Tutorial #1 Course site : T.A. :Emilia Katz.
1 Formal Specifications for Complex Systems (236368) Tutorial #5 Refinement in Z: data refinement; operations refinement; their combinations.
בהסתברות לפחות למצא בעיה במודל PAC עבור בהסתברות ε הפונקציה f טועה מודל ONLINE 1. אחרי כל טעות הפונקציה משתפרת 2. מספר הטעיות קטן.
עיבוד תמונות ואותות במחשב אלכסנדר ברנגולץ דואר אלקטרוני : שיטות קידוד שיטות קידוד אורך מלת קוד ואנטרופיה אורך מלת קוד ואנטרופיה קידוד.
א " ב, מילים, ושפות הפקולטה למדעי המחשב אוטומטים ושפות פורמליות ( ) תרגיל מספר 1.
א " ב, מילים, ושפות הפקולטה למדעי המחשב אוטומטים ושפות פורמליות ( ) תרגיל מספר 1.
Formal Specifications for Complex Systems (236368) Tutorial #6 appendix Statecharts vs. Raphsody 7 (theory vs. practice)
תורת הקבוצות חלק ב'. קבוצה בת מניה הגדרה: קבוצה אינסופית X היא ניתנת למניה אם יש התאמה חד-חד ערכית בין X לבין .
תכנות תרגול 6 שבוע : תרגיל שורש של מספר מחושב לפי הסדרה הבאה : root 0 = 1 root n = root n-1 + a / root n-1 2 כאשר האיבר ה n של הסדרה הוא קירוב.
1 Formal Specifications for Complex Systems (236368) Tutorial #1 Course site : T.A. :Emilia Katz.
תחשיב הפסוקים חלק ג'. צורות נורמליות א. DF – Disjunctive Form – סכום של מכפלות. דוגמא: (P  ~Q  R)  (R  P)  (R  ~Q  ~P) הגדרה: נוסחה השקולה לנוסחה.
Backpatching 1. תזכורת מתרגול קודם קוד ביניים - שפת הרביעיות שיטות לייצור קוד ביניים –שימוש בתכונת code –כתיבה ישירה ל-buffer של פקודות שיטות לתרגום מבני.
מודל ONLINE לומדמורה 1. כל ניתן לחישוב בזמן פולינומיאלי 2. אחרי מספר פולינומיאלי של טעיות ( ) הלומד לא טועה ז"א שווה ל- Littlestone 1988.
א " ב, מילים, ושפות הפקולטה למדעי המחשב אוטומטים ושפות פורמליות ( ) תרגיל מספר 1.
קורס תכנות – סימסטר ב ' תשס " ח שיעור שישי: מערכים
הפקולטה למדעי המחשב אוטומטים ושפות פורמליות (236353)
Ray 7 דוגמא אלגוריתם 1.קבל דוגמאות 2. פלט f a עבור הדוגמה a המינימלית החיובית ?
תחשיב הפסוקים חלק ד'. תורת ההיסק של תחשיב הפסוקים.
אלכסנדר ברנגולץ דואר אלקטרוני: אלכסנדר ברנגולץ דואר אלקטרוני: פעולות מורפולוגיות.
מערכים עד היום כדי לייצג 20 סטודנטים נאלצנו להגדיר עד היום כדי לייצג 20 סטודנטים נאלצנו להגדיר int grade1, grade2, …, grade20; int grade1, grade2, …, grade20;
מודל הלמידה מדוגמאות Learning from Examples קלט: אוסף של דוגמאות פלט: קונסיסטנטי עם פונקציה f ב- C ז"א קונסיסטנטי עם S ז"א מודל הלמידה מדוגמאות Learning.
עקרון ההכלה וההדחה.
יחס סדר חלקי.
מבוא למדעי המחשב תרגול 3 שעת קבלה : יום שני 11:00-12:00 דוא " ל :
Last time on Clang משתנה: "פתק" המשמש את המחשב לשמירת מידע. לכל משתנה יש שם וטיפוס כללים לשמות משתנים –חייבים להכיל רק אותיות, מספרים ו '_' –חייבים להתחיל.
תחשיב היחסים (הפרדיקטים)
מבוא למדעי המחשב, סמסטר א ', תשע " א תרגול מס ' 1 נושאים  הכרת הקורס  פסאודו - קוד / אלגוריתם 1.
Markov Decision Processes (MDP) תומר באום Based on ch. 14 in “Probabilistic Robotics” By Thrun et al. ב"הב"ה.
מודל הלמידה מדוגמאות Learning from Examples קלט: אוסף של דוגמאות פלט: קונסיסטנטי עם פונקציה f ב- C ז"א קונסיסטנטי עם S ז"א.
1 מבוא למדעי המחשב סיבוכיות. 2 סיבוכיות - מוטיבציה סידרת פיבונאצ'י: long fibonacci (int n) { if (n == 1 || n == 2) return 1; else return (fibonacci(n-1)
מבוא כללי למדעי המחשב תרגול 7. מבנים מטרת המבנים היא לאפשר למתכנת להגדיר טיפוסי משתנים חדשים אשר מתאימים ספציפית לבעיה שאותה התוכנית פותרת. מטרת המבנים.
Safari On-line books. מה זה ספארי ספארי זו ספריה וירטואלית בנושא מחשבים היא כוללת יותר מ כותרים כל הספרים הם בטקסט מלא ניתן לחפש ספר בנושא מסוים.
Points on a perimeter (Convex Hull) קורס – מבוא לעבוד מקבילי מבצעים – אריאל פנדלר יאיר ברעם.
Introduction to the Z Example Two. 2 Write Z specifications for the Birthday Book Problem  The Birthday Book system keeps track of people’s birthdays.
Presentation by Gil Perry Supervised by Amos Fiat 1.
פיתוח מערכות מידע Class diagrams Aggregation, Composition and Generalization.
מבוא למדעי המחשב לתעשייה וניהול הרצאה 7. סברוטינות subroutines.
מהי אפיסתזה ? Epistasis come from the Greek –Epistasis come from the Greek – –“epi” means “upon” (מעל) –“histani” means “to place” (לעמוד) So it means.
שיאון שחוריMilOSS-il מוטיבציה  python זה קל ו C זה מהיר. למה לא לשלב?  יש כבר קוד קיים ב C. אנחנו רוצים להשתמש בו, ולבסס מעליו קוד חדש ב python.
1 Formal Specifications for Complex Systems (236368) Tutorial #1 Course site:
ריקי דרורי דירקטורית שיווק איזורית, גוגל אירופה ומזה"ת
Formal Specifications for Complex Systems (236368) Tutorial #1
מבוא למדעי המחשב סיבוכיות.
SQL בסיסי – הגדרה אינדוקטיבית
תירגול 14: מבני נתונים דינאמיים
הפקולטה למדעי המחשב אוטומטים ושפות פורמליות (236353)
פרוקטוז, C6H12O6 , חד-סוכר מיוחד
ממשקים - interfaces איך לאפשר "הורשה מרובה".
תרגול 8 תחומי הכרה פונקציות
תזכורת על מה דיברנו שיעור שעבר? בנינו אתר אינטרנט עם כותרות
מערכים של מצביעים הקצאה דינאמית
תוכנה 1 תרגול 13 – סיכום.
NG Interpolation: Divided Differences
Presentation transcript:

1 Formal Specifications for Complex Systems (236368) Tutorial #3 Z introduction and notation (contd.); Birthday book example (Chapter 1 in the book)

2 מבוא כל דבר הוא קבוצה כל פעולה עובדת על המצב הנוכחי (ואולי משנה אותו) מעט סימונים – הרבה אינפורמציה עידון [נדבר עליו בהמשך הקורס]

3 פנקס ימי הולדת אנו רוצים מערכת ש: תתעד ימי הולדת של אנשים תוכל לתת תזכורות כאשר התאריך המיועד יגיע

4 העולם של המערכת נתונות לנו שתי קבוצות: אחת של שמות ואחת של תאריכי לידה. כרגע לא מעניין אותנו מה הפורמט של כל אחד מהפריטים (שם, תאריך לידה). Basic sets: [ NAME, DATE ]

5 The state space ┌─── BirthdayBook ──────── known: ℙ NAME birthday: NAME DATE ├──────────────────── known=dom birthday └──────────────────── תנאי שתמיד נכון (invariant) (כל פעולה חייבת לשמור עליו) מצב / משתנים פונקציה חלקית dom תחום (של פנק') למה כאן אין ℙ ?

6 לדוגמא known = { John, Mike, Susan } birthday = {John ↦ 25-Mar, Mike↦ 20-Dec, Susan↦ 20-Dec } זוג מתוך פונקציה

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

8 הוספת יום הולדת חדש ┌─── AddBirthday ─────────────── ├─────────────────────────── └───────────────────────────

9 הוספת יום הולדת חדש (המשך) הינו מצפים כי לאחר הפעולה יתקיים : known’ = known  { name? } למעשה ניתן להוכיח זאת. לטובת ההוכחה נשתמש בשני חוקים הישימים ל dom dom( f  g ) = ( dom f )  ( dom g ) dom { a ↦ b } = { a }

10 הוספת יום הולדת חדש (המשך) להלן ההוכחה ש known’ = known  { name? } : known’ =

11 חיפוש מציאת יום ההולדת של אדם מסוים ┌─── FindBirthday ─────────────── ├─────────────────────────── └───────────────────────────

12 הגדרת תזכורת (מציאת כל האנשים שיום הולדתם חל ביום מסויים) ┌─── Remind ────────────────── ├─────────────────────────── └───────────────────────────

13 המצב ההתחלתי ┌─── InitBirthdayBook ────── BirthdayBook ├──────────────────── known =  └──────────────────── למה כאן אין Δ ? ┌─── InitBirthdayBook ────── BirthdayBook’ ├──────────────────── known’ =  └──────────────────── טיפול בתור מצב טיפול בתור פעולה למה כאן אין Δ ?

14 סדרות סידרה היא למעשה פונקציה שהתחום שלה הוא תת קבוצה רציפה { 1.. N } של המספרים הטבעיים. seq(A) ≜ { f : N ↛ A | dom f = 1.. #f } (שימו לב שכאן אנו מגדירים אוסף של סדרות בהתאם לכל פונקציות המיפוי האפשריות) למשל הוא בעצם הפונקציה { 1↦m, 2 ↦i, 3↦f, 4↦r, 5↦a, 6↦t } ( או ברישום חלופי: { (1, m) (2, i) (3, f) (4, r) (5, a) (6, t) }) אם נסמן סידרה זו ב S אזי S(1) יחזיר את האות m, S(2) יחזיר את האות i וכך הלאה.

15 סדרות (המשך) חשוב: מאפשר מימוש מערכים מערך חד מימדי s(i) מערך דו מימדי s(i)(j) חשוב: tail ו front מחזירים סדרות ועל כן יש לשמור על תקינות ה domain שלהן (ב tail יש לתקן את ה "אינדקס")

16 פעולות על סדרות - המשך תהינה S ו T סדרות אזי: S~ייתן את הפונקציה ההפוכה של הסדרה ו S~(element) יחזיר את ה "אינדקס" שלו בסידרה S ⌢ Tיתן את איברי S ואחריהם את איברי T

17 פעולות על סדרות - דוגמאות נגדיר את הסדרות הבאות: S =, T = אזי: S(3) = head S = tail S = last S = front S = S ⌢ T = S~(c) =

18 פעולות מוגדרות מראש suc : ℕ → ℕsuc(n) = n+1{ (1, 2) (2 3), (3, 4) …. } suc k (n) = n+k pred : ℕ ↛ ℕpred(n) = n-1{ (1, 0) (2, 1) (3, 2) …. } pred k (n) = n-k למה פנק' חלקית?