תורת האוטומטים - מונחים

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

==מושגי יסוד==
*א"ב פורמלי: קבוצה סופית של סימנים ("אותיות").
*מילה פורמלית: סדרה סופית של אותיות השייכות לא"ב <math>\Sigma</math> נתון.
*המילה הריקה: מילה שאורכה <math>0</math>. נהוג לסמן את מילה זו על ידי <math>\varepsilon</math>.
*שפה פורמלית: קבוצת מילים פורמליות.

==פעולות על מילים==
* אורך של מילה: האורך של מילה שווה למספר האותיות שבה. אורכה של מילה <math>w</math> מסומן ב-<math>|w|</math>.
* מס' מופעי אות במילה: מספר מופעי האות <math>\sigma</math> במילה <math>w</math> מסומן ב-<math>\#_{\sigma}(w)</math>.
*היפוך מילים: תהי <math>w={\sigma}_{1}{\sigma}_{2}...{\sigma}_{n}</math>. היפוכה מסומן ב-<math>w^{R}</math> ומקיים <math>w^{R}={\sigma}_{n}{\sigma}_{n-1}...{\sigma}_{1}</math>.
*שרשור מילים: תהיינה שתי מילים <math>w,z</math> כך ש<math>w={w}_{1}{w}_{2}...{w}_{n} , z={z}_{1}{z}_{2}...{z}_{n}</math>. שרשורן מסומן על ידי <math>w \cdot z</math> או <math>wz</math> ומוגדר כ-<math>{w}_{1}{w}_{2}...{w}_{n}{z}_{1}{z}_{2}...{z}_{n}</math>.
*חזקה של מילה: <math>w^{n}</math> מוגדרת רקורסיבית כשרשור של <math>w</math> לעצמה <math>n</math> פעמים: <math>w^n = \begin{cases} \varepsilon , & n=0 \\ w^{n-1}w, & n>0 \end{cases}</math>.

==פעולות על שפות==
*איחוד/חיתוך/השלמה: פעולות אלו זהות לפעולות איחוד חיתוך והשלמה מתורת הקבוצות, רק שאלו פועלות על שפות (כאשר העולם הוא <math>\Sigma^{*}</math>).
*שרשור שפות: שרשור של שתי שפות מוגדר כקבוצת כל המילים הנוצרות משרשור מילה אחת מהשפה הראשונה ומילה אחת מהשנייה. כלומר, יהיו <math>L_{1}, L_{2}</math> שפות, שרשורן מסומן ב-<math>L_{1}L_{2}</math> ומקיים <math>L_1 L_2 =\{wv \mid w \in L_1 \wedge v \in L_2 \} </math>.
*חזקה של שפה: החזקה ה-<math>n</math>-ית של שפה מוגדרת כשפת כל המילים הנוצרות על ידי שרשור של <math>n</math> מילים מאותה שפה. כלומר, תהי <math>L</math> שפה פורמלית. חזקתה מוגדרת כך: <math>\ L^{0}=\{\varepsilon\}</math>ולכל <math>n>0</math> מתקיים <math>L^{n}=LL^{n-1}</math>. כלומר, <math>L^n = \begin{cases} \{ \varepsilon \}, & n=0 \\ L^{n-1}L, & n>0 \end{cases}</math>.
*סגור קלין: סגור קלין של שפה <math>L</math> מסומן ב-<math>L^{*}</math> ומוגדר כך: <math>L^{*}=\bigcup_{i\ge 0}^{\infty } L^{i}</math>.
*סגור חיובי: הסגור החיובי של שפה <math>\ L</math> מוגדר בדומה לסגור קלין שלה. הוא מסומן ב-<math>L^{+}</math> ומוגדר כך: <math>L^{+}=\bigcup_{i>0}^{\infty } L^{i}</math>.

==ההיררכיה של חומסקי==
ההיררכיה של חומסקי מחלקת את השפות הפורמליות לארבעה סוגים לפי הדקדוקים היוצרים אותן (כל אחד מהדקדוקים בהיררכיה מוגבל יותר מאלו שמעליו):
*דקדוקים בלתי מוגבלים
*דקדוקים תלויי הקשר
*דקדוקים חופשיי הקשר
*דקדוקים רגולריים

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

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

==לקריאה נוספת==

* 
* 

קטגוריה:אוטומטים
קטגוריה:מונחונים