קראתי את השאלות בפורום, ואני עדיין לא בטוחה שהבנתי :\
זה נשמע כמו משהו שעובר על רשימה, בודק אם המספר זוגי או אי זוגי, ונותן לי TRUE או FALSE בהתאם למספר האחרון. ואם זה נכון, למה לא פשוט לבדוק את המספר האחרון וזהו?
אז כן, אני ממש חושבת שאני לא מבינה משהו.
לייק 1
orronai
מדובר פה על דוגמה של אוטומט סופי דטרמיניסטי.
תעקוב אחרי הדוגמא הנוספת ותראה שזה כן משנה שאר ה"מספרים" המופיעים ב-inputs.
aviadamar
דמייני תמשחק ים יבשה.
תמיד מתחילים ביבשה
ואז אומרים ים ואת עוברת לים
ואז אומרים שוב ים ואז נשארת בים
ואז אומרים יבשה ואת עוברת ליבשה
וכו… וכו …
למה אני אומר את זה ? כי בעצם הקוד שצריך לכתוב הוא לא אמור לטפל רק בדוגמא שנתנו עבור מספר זוגי או אי זוגי
אלא הוא אמור לטפל בכל מקרה כלשהו עם הנתונים המוגדרים בקובץ.
כלומר:
תמיד יהיה לנו מצב התחלתי כלשהו נתון (יכול להיות אחד כזה - במשחק שלנו למשל יבשה)
יהיו לנו המצבים (יכולים להיות אינסוף כאלה - במשחק שלנו אז 2 ים ויבשה)
ויהיו לנו “הנחיות” למעבר בין מצב למצב (במשחק שלנו - אם מישהו אומר ים, עוברים לים, אלא אם כן את כבר בים אז את נשארת במקום)
הקובץ מכיל בעצם את ההנחיות - inputs את צריכה לבנות את המערכת הזו ואז להריץ בהם את ההנחיות ולראות באיזה מצב את מסיימת את המשחק ולהחזיר אמת \ שקר אם המצב הזה הוא מצב מקבל או לא.
מקווה שעזרתי
15 לייקים
alex
מהמם, כן, הבנתי!
תודה רבה!
לייק 1
Matan
דוגמה מעולה. לא אתפלא אם בקורסים הבאים ים ינסח את השאלה בהתאם לים יבשה.
3 לייקים
Yam
גם אני לא
5 לייקים
imimouni
אחת הדוגמאות אם לא ה- , סחטיין!
לייק 1
bhalamish10
האם יש טעות בדוגמא?
Leveraging Simple Dictionaries
עבור ה INPUT
2, 2, 2, 2
היא אמורה להיתקע על q1
שזה מצב מקבל
המכומה צריכה להחזיר TRUE
ובדוגמא היא מחזירה FALSE
לייק 1
orpazf
chikoshay
היי, אשמח לדעת מה השימוש של תוכנה כזו בעולם האמיתי.
תודה
Felixmn
אוטומטים הם יותר נחלת התחום התיאורטי של מדעי המחשב.
מהמעט שאני מכיר, יש שימוש באוטומטים בקומפיילר (מהדר בעברית), הכלי שמבצע תרגום של הקוד שאתה כותב בשפת תכנות כלשהי לשפה שקרובה יותר למחשב. בלי קשר לזה, אוטומטים כרעיון מחשבתי ותיאורטי הם כלי חזק שנועד לייצג חישוב ואופן ביצועו. זה סיפתח למבנים מורכבים יותר שמייצגים חישובים ובכלל את הרעיון של מחשב ומתקשרים לתחום מחקר שנקרא תורת החישוביות והסיבוכיות. מבנה אחד כזה הוא למשל מכונות טיורינג (ע"ש אלן טיורינג, שאני חושב כבר די מוכר מחוץ לעולם מדעי המחשב) שמייצגות מודל אבסטרקטי של מחשב שאיננו מוגבל בשטח אחסון או היקף פעולות.
זה אולי נשמע כמו הרבה דיבורים רמים באוויר, אבל לתוצאות בתחום הזה יש השלכות רחבות היקף על יישומים פרקטיים. למשל קיימת הוכחה הנשענת על שימוש במכונות טיורינג לכך שישנן בעיות שלא רק שלא ניתן לתאר אותן, אלא שאפילו לא נוכל לפתור אותן!
אף פעם.
לעולם לא.
שווה בנפשך, להגיע לכזו תובנה. זה מאוד humbling ושם אותך בפרופורציות לגבי טיב היקום ומקומך בו.
יש דוגמאות אפילו יותר פשוטות ויותר נגישות.
נניח שאתה עובר על טקסט גדול ורוצה לחפש את כל המיילים שמופיעים בטקסט. איך תעשה את זה? אתה תרצה לייצר רצף חוקים שאם תת־הטקסט הזה עומד בו (מתחיל בסדרת תווים מ־a עד z או קו תחתון, ואז @, ואז … ומסתיים ב־.com) הוא יחשב מייל.
אוטומטים זה הפתרון המושלם
ואכן משתמשים במשהו שנקרא Regular Expressions במקרה הזה, משהו שאנחנו הולכים ללמוד