Web Analytics
Privacy Policy Cookie Policy Terms and Conditions משפט נרוד - ויקיפדיה

משפט נרוד

מתוך ויקיפדיה, האנציקלופדיה החופשית

בתורת השפות הפורמליות, משפט נרוד (הנקרא גם משפט מייהיל-נרוד) הוא משפט אשר מספק אפיון של מחלקת השפות הרגולריות ומסייע להבנת המבנה של האוטומט המינימלי אשר מקבל אותן. המשפט נקרא על שם אניל נרוד וג'ון מייהיל אשר הוכיחו אותו בשנת 1958.

תוכן עניינים

[עריכה] ניסוח פורמלי

המשפט מתבסס על יחס שקילות המוגדר בצורה הבאה: בהינתן שפה \ L מעל אלפבית \ \Sigma, היחס \ R_L מוגדר מעל \ \Sigma^* בצורה הבאה: \ xR_L y אם ורק אם לא קיים \ z\isin\Sigma^* כך שרק אחת מהמילים \ xz, yz שייכת ל-\ L. מילה שאינה מקיימת תנאי זה נקראת מילה המפרידה בין \ x,y.

משפט נרוד אומר כי מספר המצבים המינימלי באוטומט סופי דטרמיניסטי אשר מקבל את \ L הוא כמספר מחלקות השקילות של \ R_L. בפרט, אם קיימות אינסוף מחלקות שקילות לא קיים אוטומט שכזה, ולכן השפה אינה רגולרית. המשפט גם מספק דרך קונסטרוקטיבית לבניית אוטומט מינימלי המקבל את השפה במקרה שמספר מחלקות השקילות הוא סופי: מצבי האוטומט יהיו מחלקות השקילות (כשהמצב ההתחלתי הוא \ \left[\epsilon\right]), המצבים המקבלים יהיו מחלקות שמיוצגות בידי מילים השייכות לשפה \ L ופונקציית המעברים של האוטומט תוגדר על ידי \ \delta(\left[x\right],a)=\left[xa\right] (קל להראות כי פונקציה זו מוגדרת היטב)).

[עריכה] דוגמאות

[עריכה] שפה רגולרית

עבור שפת כל המילים שאורכן זוגי (כולל אורך אפס), קיימות עבור היחס \ R_L בדיוק שתי מחלקות שקילות - מחלקה אחת היא קבוצת כל המילים מאורך זוגי, והמחלקה השנייה היא קבוצת כל המילים מאורך אי זוגי. כדי לראות זאת די לשים לב כי אם הזוגיות של אורך המילים \ x,y זהה, היא נותרת כזו גם כאשר מוסיפים לשתיהן סיפא \ z כלשהי. לכן, עבור כל שתי מילים בעלות זוגיות זהה מתקיים היחס \ R_L. (ועבור מילים בעלות זוגיות שונה, לא מתקיים היחס)

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

[עריכה] שפה שאינה רגולרית

ישנן מספר הוכחות לכך שהשפה \ L=\left\{a^nb^n|n\isin\mathbb{N}\right\} אינה רגולרית. הוכחה המתבססת על משפט נרוד מראה כי עבור היחס \ R_L קיימות אינסוף מחלקות שקילות. לשם כך אין צורך למצוא את כל מחלקות השקילות או לכתוב אותן במפורש, אלא די להציג קבוצה אינסופית של מילים כך שאין שתי מילים מתוכה הנמצאות באותה מחלקת שקילות.

בהקשר של השפה הנוכחית, הקבוצה הזו היא \ \left\{a,a^2,a^3,\dots,\right\}. כדי לראות זאת די להראות כי עבור \ m,n שרירותיים השונים זה מזה, \ a^n ו-\ a^m אינם שייכים לאותה מחלקת שקילות - כלומר, קיימת מילה \ z שמפרידה בינן. דוגמה למילה \ z שכזו היא \ z=b^n, שכן \ a^nz=a^nb^n\isin L ואילו \ a^mz=a^mb^n\notin L.

[עריכה] רעיון ההוכחה

אם מספר מחלקות השקילות של \ R_L הוא סופי, האוטומט שהוצג לעיל שמצביו הם מחלקות השקילות של \ R_L מקבל את \ L. כדי לראות זאת די להוכיח באינדוקציה כי לאחר קריאת המילה \ w האוטומט יגיע למצב \ \left[w\right]. מכיוון שהמצבים המקבלים הוגדרו בתור המחלקות שמיוצגות על ידי המילים ששייכות לשפה, ומכיוון שאם במחלקה יש מילה השייכת לשפה כל המילים בה שייכות לשפה, הדבר מבטיח את נכונות האוטומט.

מינימליות מספר המצבים של האוטומט הזה מתבססת על שימוש ביחס שקילות נוסף. בהינתן אוטומט כלשהו \ A, היחס \ R_A מתקיים עבור כל שתי מילים שקריאתן מביאה את האוטומט לאותו המצב. מספר מצבי האוטומט \ A הוא לפחות כמספר מחלקות השקילות של היחס \ R_A, כי לכל מצב שניתן להגיע אליו באוטומט ניתן להתאים מחלקת שקילות שנציגתה היא מילה שמביאה את האוטומט למצב זה.

אם \ L היא שפה רגולרית ו-\ A אוטומט כלשהו עבורה, ניתן להראות כי היחס \ R_A מעדן את היחס \ R_L, כלומר \ R_A\subseteq R_L. מכך נובע שמספר מחלקות השקילות של \ R_L קטן ממספר מחלקות השקילות של \ R_A - בפרט, הוא סופי, ומספר מצבי האוטומט שמושרה על ידי \ R_L קטן או שווה למספר מצבי האוטומט \ A.

האבחנה לפיה \ R_A\subseteq R_L נובעת מכך שאם \ xR_A y אז לאחר קריאת שתי המילים יגיע האוטומט \ A לאותו מצב, ועל כן לכל סיפא \ z שקורא האוטומט לאחר מכן הוא יגיע גם כן לאותו מצב. כלומר, האוטומט יחזיר תשובה זהה על \ xz ועל \ yz לכל \ z.

[עריכה] לקריאה נוספת

שפות אחרות
THIS WEB:

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - be - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - closed_zh_tw - co - cr - cs - csb - cu - cv - cy - da - de - diq - dv - dz - ee - el - eml - en - eo - es - et - eu - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gd - gl - glk - gn - got - gu - gv - ha - haw - he - hi - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mg - mh - mi - mk - ml - mn - mo - mr - ms - mt - mus - my - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - rm - rmy - rn - ro - roa_rup - roa_tara - ru - ru_sib - rw - sa - sc - scn - sco - sd - se - searchcom - sg - sh - si - simple - sk - sl - sm - sn - so - sq - sr - ss - st - su - sv - sw - ta - te - test - tet - tg - th - ti - tk - tl - tlh - tn - to - tokipona - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu

Static Wikipedia 2008 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2007:

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - be - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - closed_zh_tw - co - cr - cs - csb - cu - cv - cy - da - de - diq - dv - dz - ee - el - eml - en - eo - es - et - eu - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gd - gl - glk - gn - got - gu - gv - ha - haw - he - hi - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mg - mh - mi - mk - ml - mn - mo - mr - ms - mt - mus - my - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - rm - rmy - rn - ro - roa_rup - roa_tara - ru - ru_sib - rw - sa - sc - scn - sco - sd - se - searchcom - sg - sh - si - simple - sk - sl - sm - sn - so - sq - sr - ss - st - su - sv - sw - ta - te - test - tet - tg - th - ti - tk - tl - tlh - tn - to - tokipona - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu

Static Wikipedia 2006:

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - be - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - closed_zh_tw - co - cr - cs - csb - cu - cv - cy - da - de - diq - dv - dz - ee - el - eml - en - eo - es - et - eu - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gd - gl - glk - gn - got - gu - gv - ha - haw - he - hi - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mg - mh - mi - mk - ml - mn - mo - mr - ms - mt - mus - my - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - rm - rmy - rn - ro - roa_rup - roa_tara - ru - ru_sib - rw - sa - sc - scn - sco - sd - se - searchcom - sg - sh - si - simple - sk - sl - sm - sn - so - sq - sr - ss - st - su - sv - sw - ta - te - test - tet - tg - th - ti - tk - tl - tlh - tn - to - tokipona - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu