מבוא
עם יותר מ-9 מיליארד גיגה-בייט של מידע שעוברים באינטרנט מדי יום, החוקרים מחפשים כל הזמן דרכים חדשות לדחוס נתונים לחבילות קטנות יותר. טכניקות חדשניות מתמקדות בגישות חסרות הפסד, המשיגות דחיסה על ידי "איבוד" מכוון של מידע משידור. גוגל, למשל, חשפה לאחרונה אסטרטגיה הפסדית שבה המחשב השולח משחרר פרטים מתמונה והמחשב המקבל משתמש בבינה מלאכותית כדי לנחש את החלקים החסרים. אפילו נטפליקס משתמשת בגישה הפסדית, ומשדרגת לאחור את איכות הווידאו בכל פעם שהחברה מזהה שמשתמש צופה במכשיר ברזולוציה נמוכה.
לעומת זאת, מעט מאוד מחקרים מתנהלים כיום על אסטרטגיות נטולות אובדן, שבהן השידורים מצטמצמים, אבל שום חומר לא מוקרב. הסיבה? גישות ללא אובדן כבר יעילות להפליא. הם מפעילים הכל, החל מתקן התמונות JPEG ועד לתוכנה הקיימת בכל מקום PKZip. והכל בגלל סטודנט לתואר שני שפשוט חיפש מוצא מבחינת גמר קשה.
לפני שבעים שנה, פרופסור במכון הטכנולוגי של מסצ'וסטס בשם רוברט פאנו הציע לתלמידים בשיעור תורת המידע שלו לבחור: לגשת לבחינת גמר מסורתית, או לשפר אלגוריתם מוביל לדחיסת נתונים. יכול להיות שפאנו הודיע לתלמידיו שהוא מחבר של האלגוריתם הקיים הזה, או שהוא מחפש שיפור במשך שנים. מה שאנחנו כן יודעים הוא שפאנו הציע לתלמידיו את האתגר הבא.
שקול הודעה המורכבת מאותיות, מספרים וסימני פיסוק. דרך פשוטה לקודד הודעה כזו תהיה להקצות לכל תו מספר בינארי ייחודי. לדוגמה, מחשב עשוי לייצג את האות A כ-01000001 וסימן קריאה כ-00100001. זה גורם לקודים שקל לנתח - כל שמונה ספרות, או סיביות, מתאימות לתו ייחודי אחד - אבל לא יעיל להחריד, כי אותו מספר של ספרות בינאריות משמש הן עבור ערכים נפוצים והן עבור ערכים לא שכיחים. גישה טובה יותר תהיה משהו כמו קוד מורס, שבו האות E התכופה מיוצגת על ידי נקודה אחת בלבד, בעוד שה-Q הפחות נפוץ דורש את המקף הארוך והעמלני יותר.
עם זאת, גם קוד מורס אינו יעיל. בטח, חלק מהקודים קצרים ואחרים ארוכים. אבל מכיוון שאורכי הקוד משתנים, לא ניתן להבין הודעות בקוד מורס אלא אם כן הן כוללות תקופות קצרות של שקט בין כל שידור תו. ואכן, ללא ההפסקות היקרות הללו, לא תהיה לנמענים דרך להבחין בין ההודעה של מורס מקף נקודה-מקף-נקודה נקודה-נקודה מקף נקודה ("נדושה") לבין מקף נקודה-מקף-נקודה נקודה-נקודה-מקף נקודה ("נכון" ).
פאנו פתר את החלק הזה של הבעיה. הוא הבין שהוא יכול להשתמש בקודים באורכים שונים מבלי להזדקק לרווחים יקרים, כל עוד הוא מעולם לא השתמש באותה דפוס של ספרות גם בתור קוד שלם וגם בתור התחלה של קוד אחר. לדוגמה, אם האות S הייתה כל כך נפוצה בהודעה מסוימת עד ש-Fano הקצה לה את הקוד הקצר ביותר 01, אז שום אות אחרת בהודעה הזו לא הייתה מקודדת עם כל דבר שמתחיל ב-01; קודים כמו 010, 011 או 0101 יהיו כולם אסורים. כתוצאה מכך, ניתן היה לקרוא את ההודעה המקודדת משמאל לימין, ללא כל אי בהירות. לדוגמה, כאשר האות S מוקצית 01, האות A מוקצית 000, האות M מוקצית 001, והאות L מוקצית 1, פתאום ניתן לתרגם את ההודעה 0100100011 מיד למילה "קטן" למרות ש-L מיוצג על ידי אחד ספרה, S בשתי ספרות, ושאר האותיות בשלוש כל אחת.
כדי לקבוע בפועל את הקודים, פאנו בנה עצים בינאריים, והציב כל אות הכרחית בסוף ענף ויזואלי. הקוד של כל אות הוגדר אז על ידי הנתיב מלמעלה למטה. אם השביל הסתעף שמאלה, פאנו הוסיף 0; ענפים נכונים קיבלו 1. מבנה העץ הקל על פאנו להימנע מהחפיפות הבלתי רצויות הללו: ברגע שפאנו הניח אות בעץ, הענף הזה יסתיים, כלומר שום קוד עתידי לא יוכל להתחיל באותה צורה.
מבוא
כדי להחליט אילו אותיות יגיעו לאן, פאנו יכול היה לבדוק באופן ממצה כל דפוס אפשרי ליעילות מקסימלית, אבל זה לא היה מעשי. אז במקום זאת הוא פיתח קירוב: עבור כל הודעה, הוא היה מארגן את האותיות הרלוונטיות לפי תדירות ולאחר מכן מקצה אותיות לענפים כך שהאותיות משמאל בכל זוג ענפים נתון היו בשימוש בהודעה בערך באותו מספר פעמים כמו ה- אותיות מימין. בדרך זו, תווים בשימוש תכוף יגיעו לענפים קצרים יותר וצפופים פחות. מספר קטן של אותיות בתדירות גבוהה תמיד יאזן מספר גדול יותר של אותיות בתדירות נמוכה יותר.
מבוא
התוצאה הייתה דחיסה יעילה להפליא. אבל זה היה רק הערכה; אסטרטגיית דחיסה טובה יותר הייתה צריכה להתקיים. אז פאנו אתגר את תלמידיו למצוא אותו.
פאנו בנה את העצים שלו מלמעלה למטה, תוך שמירה על סימטריה רבה ככל האפשר בין הענפים המזווגים. תלמידו דיוויד האפמן הפך את התהליך על ראשו, בנה את אותם סוגי עצים אבל מלמטה למעלה. התובנה של האפמן הייתה שבכל מה שיקרה, בקוד יעיל לשני התווים הפחות נפוצים צריכים להיות שני הקודים הארוכים ביותר. אז האפמן זיהה את שתי הדמויות הפחות נפוצות, קיבץ אותן יחד כזוג מסועף, ואז חזר על התהליך, והפעם חיפש את שני הערכים הפחות נפוצים מבין הדמויות הנותרות והזוג שזה עתה בנה.
שקול הודעה שבה גישת פאנו מדשדשת. ב"חדר בית ספר", O מופיע ארבע פעמים, ו-S/C/H/L/R/M כל אחד מופיע פעם אחת. גישת האיזון של פאנו מתחילה בהקצאת ה-O ואות אחת נוספת לענף השמאלי, כאשר חמשת השימושים הכוללים באותיות אלו מאזנים את חמש ההופעות של האותיות הנותרות. ההודעה המתקבלת דורשת 27 סיביות.
האפמן, לעומת זאת, מתחיל עם שתיים מהאותיות הלא נפוצות - נניח, R ו-M - ומקבץ אותן יחד, ומתייחס לזוג כמו לאות אחת.
מבוא
טבלת התדרים המעודכנת שלו מציעה לו אז ארבע אפשרויות: ה-O המופיע ארבע פעמים, צומת ה-RM המשולב החדש שבו נעשה שימוש פונקציונלי פעמיים, והאותיות הבודדות S, C, H ו-L. האפמן שוב בוחר את שתי האפשרויות הפחות נפוצות, תואמות (נגיד) H עם ל.
מבוא
התרשים מתעדכן שוב: ל-O עדיין יש משקל של 4, ל-RM ול-HL יש כעת משקל של 2 לכל אחד, והאותיות S ו-C עומדות בפני עצמו. האפמן ממשיך משם, בכל שלב מקבץ את שתי האפשרויות הפחות תכופות ולאחר מכן מעדכן גם את העץ וגם את טבלת התדירות.
מבוא
בסופו של דבר, "חדר בית ספר" הופך ל-11101111110000110110000101, ומגלח קצת את גישת פאנו מלמעלה למטה.
מבוא
קטע אחד אולי לא נשמע כמו הרבה, אבל אפילו חיסכון קטן גדל בצורה עצומה כשהיא מוגדלת במיליארדי ג'יגה-בייט.
ואכן, הגישה של האפמן התבררה כעוצמתית כל כך, שכיום, כמעט כל אסטרטגיית דחיסה ללא אובדן משתמשת בתובנות של האפמן באופן מלא או חלקי. צריך PKZip כדי לדחוס מסמך וורד? השלב הראשון כולל אסטרטגיה חכמה נוספת לזיהוי חזרות ובכך לדחיסת גודל ההודעה, אך השלב השני הוא לקחת את ההודעה הדחוסה שהתקבלה ולהפעיל אותו בתהליך האפמן. לאחסן תמונה בתור JPEG? המחשב שלך מתרגם תחילה את התמונה לייצוג מבוסס טקסט ולאחר מכן, שוב, משתמש בקידוד האפמן כדי לדחוס את הטקסט הזה.
לא רע לפרויקט שמונע במקור על ידי רצונו של סטודנט לתואר שני לדלג על מבחן גמר.
- הפצת תוכן ויחסי ציבור מופעל על ידי SEO. קבל הגברה היום.
- PlatoAiStream. Web3 Data Intelligence. הידע מוגבר. גישה כאן.
- הטבעת העתיד עם אדריאן אשלי. גישה כאן.
- קנה ומכירה של מניות בחברות PRE-IPO עם PREIPO®. גישה כאן.
- מקור: https://www.quantamagazine.org/how-lossless-data-compression-works-20230531/
- :יש ל
- :הוא
- :לֹא
- :איפה
- ][עמ'
- $ למעלה
- 000
- 1
- 27
- 9
- a
- להשיג
- למעשה
- הוסיף
- שוב
- לִפנֵי
- אַלגוֹרִיתְם
- תעשיות
- לבד
- כְּבָר
- תמיד
- דו משמעות
- בין
- an
- ו
- אחר
- כל
- דבר
- לְהוֹפִיעַ
- הופעות
- מופיע
- גישה
- גישות
- ARE
- מלאכותי
- בינה מלאכותית
- AS
- שהוקצה
- At
- מחבר
- לְהִמָנַע
- רע
- איזון
- איזון
- BE
- כי
- הופך להיות
- היה
- להתחיל
- להיות
- מוטב
- בֵּין
- B
- מיליארדים
- קצת
- שניהם
- תַחתִית
- סניף
- ענפים
- בִּניָן
- נבנה
- אבל
- by
- CAN
- לא יכול
- לאתגר
- תיגר
- אופי
- תווים
- תרשים
- בחירה
- בחירות
- בכיתה
- קוד
- מקודד
- משולב
- Common
- חברה
- להשלים
- המחשב
- תמיד
- ממשיך
- לעומת זאת
- יקר
- יכול
- כיום
- שיא הטכנולוגיה
- לזנק
- נתונים
- דוד
- יְוֹם
- להחליט
- מוגדר
- פרטים
- לקבוע
- מפותח
- מכשיר
- ספרות
- לְהַבחִין
- do
- מסמך
- נקודה
- מטה
- טיפות
- e
- כל אחד
- קל
- אפקטיבי
- יְעִילוּת
- יעיל
- אחר
- סוף
- מְאוֹד מְאוֹד
- אֲפִילוּ
- כל
- כל יום
- הכל
- בחינה
- דוגמה
- להתקיים
- קיימים
- מאוד
- מקרטע
- סופי
- ראשון
- להתמקד
- הבא
- בעד
- ארבע
- תדר
- תכוף
- בתדירות גבוהה
- החל מ-
- פונקציונלי
- עתיד
- נתן
- Go
- בוגר
- קבוצה
- לגדול
- היה
- קורה
- יש
- he
- ראש
- תדר גבוה
- לו
- שֶׁלוֹ
- איך
- HTTPS
- ציד
- מזוהה
- זיהוי
- if
- תמונה
- מיד
- לשפר
- השבחה
- in
- לכלול
- לֹא יָעִיל
- מידע
- הודעה
- תובנה
- למשל
- במקום
- מכון
- מוֹדִיעִין
- בכוונה
- אינטרנט
- אל תוך
- IT
- שֶׁלָה
- רק
- לדעת
- גדול יותר
- מוביל
- הכי פחות
- עזבו
- פחות
- מכתב
- כמו
- קְצָת
- ארוך
- עוד
- הסתכלות
- עשוי
- מגזין
- שמירה
- מסצ'וסטס
- המכון הטכנולוגי של מסצ'וסטס
- תואם
- מקסימום
- מאי..
- משמעות
- הודעה
- הודעות
- יכול
- חסר
- יותר
- מוטיבציה
- הרבה
- שם
- כמעט
- הכרחי
- צורך
- צורך
- נטפליקס
- לעולם לא
- חדש
- לא
- צומת
- עַכשָׁיו
- מספר
- מספרים
- of
- כבוי
- מוצע
- המיוחדות שלנו
- on
- פעם
- ONE
- יחידות
- רק
- אפשרויות
- or
- בְּמָקוֹר
- אחר
- אחרים
- הַחוּצָה
- חבילות
- זוג
- מְזוּוָג
- חלק
- מסוים
- חלקים
- נתיב
- תבנית
- תקופות
- מבחר
- הַצָבָה
- אפלטון
- מודיעין אפלטון
- אפלטון נתונים
- נקודה
- אפשרי
- כּוֹחַ
- חזק
- בעיה
- תהליך
- פרופסור
- פּרוֹיֶקט
- איכות
- חומר עיוני
- הבין
- טעם
- קבלה
- לאחרונה
- נמענים
- רלוונטי
- נותר
- חזר
- לייצג
- נציגות
- מיוצג
- דורש
- מחקר
- חוקרים
- תוצאה
- וכתוצאה מכך
- תוצאות
- תקין
- רוברט
- בערך
- הפעלה
- s
- אותו
- חיסכון
- לומר
- שְׁנִיָה
- שליחה
- קצר
- צריך
- שתיקה
- בפשטות
- יחיד
- מידה
- קטן
- קטן יותר
- So
- תוכנה
- כמה
- משהו
- קול
- רווחים
- לעמוד
- תֶקֶן
- התחלה
- החל
- התחלות
- שלב
- עוד
- חנות
- פשוט
- אסטרטגיות
- אִסטרָטֶגִיָה
- מִבְנֶה
- סטודנט
- סטודנטים
- חומר
- כזה
- לקחת
- טכניקות
- טכנולוגיה
- מֵאֲשֶׁר
- זֶה
- השמיים
- אותם
- אז
- התאוריה
- שם.
- בכך
- הֵם
- זֶה
- אלה
- אם כי?
- שְׁלוֹשָׁה
- דרך
- זמן
- פִּי
- ל
- היום
- יַחַד
- גַם
- חלק עליון
- סה"כ
- מסורתי
- נסיעה
- בטיפול
- עץ
- עצים
- הסתובב
- פעמים
- שתיים
- סוגים
- נמצא בכל מקום
- נדיר
- הבין
- ייחודי
- חשף
- מְעוּדכָּן
- עדכונים
- עדכון
- להשתמש
- מְשׁוּמָשׁ
- משתמש
- שימושים
- תועלת
- וִידֵאוֹ
- היה
- צופה
- דֶרֶך..
- דרכים
- we
- webp
- מִשׁקָל
- היו
- מה
- כלשהו
- מתי
- בכל פעם
- אשר
- מי
- כל
- עם
- לְלֹא
- Word
- עובד
- היה
- שנים
- עוד
- זפירנט