ViewWiki

שיעור 3 מתוך 5

דחיסה.

כ־25 דקות · 5 שאלות תרגול

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

שלב 1 מתוך 5 · מילים קצרות למה שנפוץ

שלב 1 מתוך 5

מילים קצרות למה שנפוץ

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

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

לשאלה

שלב 2 מתוך 5

אין על מה להמר

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

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

לשאלה

שלב 3 מתוך 5

גושים ארוכים יותר

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

לשאלה

שלב 4 מתוך 5

אף מילה אינה התחלה של אחרת

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

לכלל הזה יש מחיר. מילה של סיבית אחת „תופסת” חצי מכל המילים האפשריות, וכל הגושים האחרים צריכים להסתדר בחצי השני.

לשאלה

שלב 5 מתוך 5

הגבול

שאנון הוכיח שהאנטרופיה היא לא רק ממוצע: היא מספר הסיביות להטלה הקטן ביותר שקוד כלשהו יכול להסתפק בו בממוצע בלי לאבד מידע. קוד האפמן על גושים של kk⁠ הטלות נוחת תמיד בין HH⁠ לבין H+1kH + \tfrac{1}{k}⁠. בגושים של שש הטלות, כמו עכשיו, הוא כבר על הגבול.

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

לשאלה

תמונה של הסצנה התלת־ממדית „מידע ואנטרופיה”
סצנה אינטראקטיבית

הגרסה האינטראקטיבית נטענת…

כל שלב מכין לכם את הסצנה, ובקר שמסומן „קבוע” נשאר במקומו בשלב הזה.

לניסוי

תרגול · חשבו

הסיכוי לעץ 90% וגודל גוש הקוד שתי הטלות. קוד האפמן נותן לכל זוג מילת קוד: עץ־עץ 0, עץ־פלי 10, פלי־פלי 110, פלי־עץ 111. ההסתברויות של הזוגות הן 0.810.81⁠, 0.090.09⁠, 0.010.01⁠ ו־0.090.09⁠, באותו סדר. כמה סיביות עולה זוג, בממוצע?

לניסוי

תרגול · נבאו, ואז הסתכלו

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

לניסוי

תרגול · הגיעו למטרה

הסיכוי לעץ קבוע על 90%. בגושים של הטלה אחת הקוד לא חוסך כלום: סיבית להטלה. שנו את גודל גוש הקוד עד שהקוד עולה בערך 0.490.49⁠ סיביות להטלה, ולחצו על בדיקה.

לניסוי

תרגול · בחרו

בקוד האפמן לגושים של ארבע הטלות של מטבע 90%, הגוש ארבעה עץ, הנפוץ מכולם, מקבל מילת קוד של סיבית אחת. מה מקבל הגוש ארבעה פלי, הנדיר מכולם?

לניסוי

תרגול · בחרו

מטבע של 90% עץ. מישהו מציע קוד חכם שרושם את ההטלות שלו, בלי לאבד אף אחת, ב־0.40.4⁠ סיביות להטלה בממוצע, על פני מיליוני הטלות. מה דעתכם?