2 תשובות
אוקיי אז מה שיש בשאלה הראשונה אלו שפות מעל הא"ב {a,b} שהן רצף של a ואחר כך רצף של b.
בשפה הראשונה אורך הרצפים יכול להיות 0.
נתחיל מלמצוא את המילה הקצרה ביותר בשפה. המילה הריקה נמצאת בשפה כי יש בה רצף של a שאורכו 0 ואז רצף של b שאורכו 0.
אז נגדיר את q0 מצב מקבל.
עכשיו נחשוב על זה שאם מילה היא a שאחריה מילה שנמצאת בשפה (a*a^nb^n) אז כל המילה נמצאת בשפה.
וכל עוד אנחנו עדיין באותו רצף של הa הקלט הבא יכול להיות או a או b והמילה עדיין תהיה בשפה.
זה אומר שכל עוד אנחנו קולטים רק a זה לא משנה את המצב.
לכן נוסיף לq0 לולאה של a.
מה כן משנה את המצב?
אם קולטים b. כי אחרי b אי אפשר לקלוט a.
אז נוסיף מq0 מעבר למצב חדש, q1, כאשר מקבלים b.
גם q1 הוא מצב מקבל.
אם הקלט ממשיך להיות b זה לא משנה כלום, אז נוסיף לולאה של b לq1.
ועכשיו צריך לבדוק מה קורה עם אחרי q1 מתקבל קלט a.
המקרה הזה לא עומד בהגדרת השפה, אז צריך ליצור מצב חדש q2 ומעבר בקלט a מq1 לq2 .q2 הוא כמובן לא מצב מקבל.
אם מתקבל קלט a אחרי הרצף של הb המילה לא בשפה ואין שום דרך לגרום למילה כן להיות בשפה. זה אומר שq2 הוא מצב מלכודת, אז נוסיף לו לולאה של a,b.
וזהו זה האוטומט.

מקווה שזה מובן, שכחתי חלק מהמונחים כי סיימתי עם זה שנה שעברה.
שואל השאלה:
תודה רבה כן זה היה מובן
אנונימית