Presentation is loading. Please wait.

Presentation is loading. Please wait.

הפקולטה למדעי המחשב אוטומטים ושפות פורמליות (236353)

Similar presentations


Presentation on theme: "הפקולטה למדעי המחשב אוטומטים ושפות פורמליות (236353)"— Presentation transcript:

1 הפקולטה למדעי המחשב אוטומטים ושפות פורמליות (236353)
א"ב, מילים, ושפות תרגיל מספר 1 © אריאל ירושביץ'

2 מילים, מילים - הגדרות אות הינה סימן כלשהו, לדוגמא: a, 3, $,
מילה (string) הינה קבוצה סדורה וסופית של אותיות. aaa, 132, 13d3$$# אם w מילה אזי מסמנים ב|w| את אורכה, כלומר את מספר האותיות שבה מסמנים ב  את המילה הריקה, ||=0 אלף-בית הינו קבוצה סופית של אותיות, מסומן בד"כ ב  בד"כ נתייחס למילים מעל א"ב נתון, כלומר מילים שאותיותיהן שייכות לקבוצה נתונה משתני אותיות - יווניות קטנות, משתני מילים – לטיניות מסוף הא"ב אפסילון הוא מילה מעל כל א"ב © אריאל & רותם © אריאל ירושביץ'

3 פעולות על מילים היפוך של מילה wR: מספר המופעים של האות  במילה w
(1…n)R = (n … 1) מספר המופעים של האות  במילה w #(w) שרשור (concatenation) צירוף מילים ע"י חיבורן זו לזו לכדי מילה אחת: 1…n  1…m = 1…n1…m w, w = w = w שרשור הוא אסוציאטיבי, אך לא קומוטטיבי בד"כ מוותרים על הנקודה © אריאל & רותם © אריאל ירושביץ'

4 פעולות על מילים רישא (prefix) של מילה: בדומה סיפא (suffix)
u היא רישא של w אמ"מ v, uv = w בדומה סיפא (suffix) חזקה של מילה: w0 =  wn=wn-1w בדרך אחרת: wn = ww…w n © אריאל & רותם © אריאל ירושביץ'

5 שפות אוסף של מילים מעל א"ב נתון נקרא שפה שרשור של שפות: חזקה של שפה:
דוגמאות לשפות מעל הא"ב {a,b} {aab,b},{aaaa,}, {w|#a(w) = #b(w) }, {},  שרשור של שפות: L1L2 = {wv|wL1  v L2} חזקה של שפה: L0={} Li=Li-1L סגור קלין: נשים לב כי שפות יכולות להיות אין-סופיות <>  ({ }) מה הוא איבר היחידה ביחס לשרשור שפות? ({ }) למה שווה L ? (שרשור של השפה הריקה עם שפה כלשהי)?. האם (L1L2)L3 = L1L3 L2L3 ? – (כן) האם (L1  L2)L3 = L1L3 L2L3 ? – (לא) {a},{e},{a,e} האם (L1L2)* = L1*L2*? - לא L1 = {a}, L2={b}. בהינתן א"ב , מסמנים את שפת כל המילים מעל א"ב זה ב* הסגור החיובי: © אריאל & רותם © אריאל ירושביץ'

6 תכונות קרדינליוּת של שפות
אנו מעוניינים לבחון את הקרדינליות של שפה, ושל קבוצת שפות תזכורת - קבוצה A היא בת-מניה אם ניתן להגדיר מיפוי חח"ע f: A  N באופן כללי, מוכיחים שקילות בין קבוצות ע"י מציאת התאמה חח"ע ועל מקבוצה אחת לשניה או מציאת התאמה חח"ע לשני הכיוונים © אריאל & רותם © אריאל ירושביץ'

7 שפת כל המילים מעל א"ב נתון 
שפת כל המילים מעל א"ב נתון  טענה - הקבוצה * היא בת מנייה הוכחה: נגדיר סדר על אותיות  נגדיר סדר על המילים ב * כלהלן: קודם לפי האורך. מילים באותו אורך עפ"י סדר לקסיקוגרפי © אריאל & רותם © אריאל ירושביץ'

8 המיפוי f: {a,b}*  N נגדיר g(a) = 0, g(b) = 1
f(a1…an)=2n+g(a1)2n-1…g(an)20 דוגמאות f()=1, f(a)=21=2,f(ba)=22+21  מסקנה, הקבוצה {a,b}* בת מנייה, ולכן כל שפה L מעל {a,b} בת מנייה. ובדומה גם מעל כל א"ב (סופי). © אריאל & רותם © אריאל ירושביץ'

9 קבוצת כל השפות מעל א"ב  טענה: קבוצת כל השפות מעל א"ב  אינה בת מנייה.
עלינו להראות כי אין התאמה חח"ע מהשפות מעל  ל N. הרעיון - נניח כי קיימת כזאת, ונביא לסתירה על ידי לכסון. הוכחה נניח כי L1, L2, … מנייה כלשהי של השפות מעל , ונוכיח כי קיימת בהכרח שפה שאינה שייכת למנייה. למעשה הקבוצה היא קבוצת חזקה של קבוצה בת-מנייה ולכן עפ"י משפט קנטור אינה בת מנייה © אריאל & רותם © אריאל ירושביץ'

10 הוכחה - המשך A = 1, wiLj aij= 0, wiLj
נבנה מטריצה אין סופית בשני הממדים: ( מנייה של כל המילים ב * )  ( מנייה של כל השפות ) כך: L1 L2 L w1 w2 w3 . A = aij= 1, wiLj 0, wiLj מה קורה באלכסון??? © אריאל & רותם © אריאל ירושביץ'

11 לא קיימת מנייה של כל השפות ב P(*) כלומר הקבוצה אינה בת מנייה!
הוכחה - סוף נגדיר שפה L ע"פ האפסים באלכסון המטריצה: L = {wi|aii=0} ={wi|wii Li} נראה כי שפה זו אינה נמנית במנייה שלעיל לכל i, L  Li כי: wi  Li  aii = 1  wi  L wi  Li  aii = 0  wi  L מסקנה לא קיימת מנייה של כל השפות ב P(*) כלומר הקבוצה אינה בת מנייה! © אריאל & רותם מ.ש.ל © אריאל ירושביץ'

12 שאלה לדוגמא נתונות שתי מילים * x,y, כך ש xy=yx. הוכח באינדוקציה כי קיימים i,jN ו * z כך ש x = zi ו- y = zj. הוכחה נוכיח באינדוקציה על |xy|. עבור |xy|= 0 הטענה מתקיימת טריוויאלית. נניח כי הטענה מתקיימת עבור כל |xy| < n. יהיו עתה * xy, כך ש xy=yx, |xy| = n אם x= או y= אזי שוב הטענה מתקיימת טריויאלית. נניח אפוא כי  x,y , ונניח ללה"כ כי |x||y|. © אריאל & רותם © אריאל ירושביץ'

13 שאלה לדוגמא (המשך) xy = yx  |x| |y|  u*, x = yu  yuy = yyu  yu = uy (*) אנו משתמשים בעובדה ששתי מילים הן שוות אמ"מ כל שתי רישות (סיפות) שלהן, באותו אורך, שוות הנחנו ש  x   y ולכן |x|=|yu|<n. מ * ומהנחת האינדוקציה נקבל כי z* , i,j N כך ש y = zi, u = zj. ומכאן גם x = zi zj = zi+j מ.ש.ל © אריאל & רותם © אריאל ירושביץ'


Download ppt "הפקולטה למדעי המחשב אוטומטים ושפות פורמליות (236353)"

Similar presentations


Ads by Google