אי-שוויון קראפט
בתורת האינפורמציה, אי-שוויון קראפט (Kraft's Inequality) מתאר תנאי מספיק והכרחי לשיוך קבוצת מילים לצמתי עץ, כך שלא תשוייך יותר ממילה אחת לאורך כל מסלול היוצא מהראש. לתכונת שיוך זו יישומים בבניית קודים.
תוכן עניינים |
[עריכה] הגדרה
נניח קבוצה סופית או אינסופית אך בת מניה של מילים
מעל א"ב כלשהו
. אי-שוויון קראפט אומר כי התנאי

הוא מספיק והכרחי לשיוך כל מילה ב-
לצומת עץ (אולי אינסופי) בעל דרגת יציאה
, כך ש:
- כל מילה משוייכת לצומת יחיד בעומק השווה לאורך המילה.
- אין שתי מילים המשוייכות לצומת וצאצא שלו.
[עריכה] דוגמה
נניח א"ב בעל שלוש אותיות, לדוגמה
. נניח שיש לנו קבוצה בת חמש מילים מעל א"ב זה, שאורכיהן הם
. עלינו למצוא שיוך לעץ המוצג בצד שמאל כך שארבעה צמתים בגובה 2 ישויכו, צומת אחד בגובה 1 ישוייך, ואף צומת משוייך לא יהיה צאצא של צומת משוייך אחר.
במקרה זה,

ולכן אי-שיוויון קראפט מבטיח שיש שיוך מתאים. ואכן, השיוך בתרשים בצד שמאל הוא שיוך מתאים.
[עריכה] אלגוריתם מקוון
נחשוב על תהליך כלשהו המייצר את מילות הקבוצה
אחת אחרי השניה. לעתים יש צורך, ברגע שמילה נוצרת, לשייך אותה לצומת בעץ. ישנו אלגוריתם מקוון פשוט מאד המתאים לאי-שוויון קראפט.
נסמן כל צומת בעץ כפנוי, משוייך, או תפוס.
- בתחילה, כל צומת יהיה פנוי.
- בכל פעם שצומת הופך להיות משוייך, כל אחד מאבותיו (עד השורש) נהיה תפוס (ייתכן שחלקם כבר היו תפוסים).
- אם בצעד כלשהו צריך לשייך צומת ברמה
, נמצא את הצומת הפנוי השמאלי ביותר ברמה זו, ונשייך אותו.
המשפט לעיל אומר שאי-שוויון קראפט מתקיים אמ"ם אין צעד שבו אי אפשר למצוא צומת פנוי.
[עריכה] חשיבות
כאשר מילים משוייכות לעצים, אפשר לבנות קוד למילים. בהנתן מילה, נמצא את הצומת המתאים למילה, ונתאר את המילה בעזרת המסלול המוביל מראש העץ למילה. בתרשים הקודם, לדוגמה, המילים השייכות לצמתים יתוארו, משמאל לימין, ע"י המחרוזות:
- 00 (רד שמאלה פעמיים)
- 1 (רד ישר פעם אחת)
- 20 (רד ימינה ואז שמאלה)
- 21 (רד ימינה ואז ישר)
- 22 (רד ימינה פעמיים)
כאשר משתמשים בשיטה זו לקידוד רצף מילים, עולה הבעיה היכן מסתיים קידוד מילה אחת ומתחיל קידוד המילה הבאה. לדוגמה, נניח שקידוד רצף המילים הוא 201002:
- רצף הקידודים עשוי להיות 20,10,02,
- רצף הקידודים עשוי להיות 201, 00, 2
- וכו'
אם השיוכים הם כאלה כך שאף צומת משוייך אינו צאצא של צומת משוייך אחר, אזי אין בעיה כזאת. מפענחים את התיאורים לפי השיטה הבאה:
- מתחילים בראש העץ.
- יורדים לפי הסימנים עד שמגיעים לצומת משוייך. מפענחים את המילה וחוזרים לשלב הקודם.
לפי הבניה, ההגעה לצומת משוייך מהווה אינדיקציה שאין טעם להמשיך במסלול - לא ייתכן צומת משוייך נוסף בהמשך.
, נמצא את הצומת הפנוי השמאלי ביותר ברמה זו, ונשייך אותו.