אתה יכול לקרוא שם, א כי זה ברמה טיפה גבוהה.ננסה לתאר שיטת דחיסה פשוטה (שאני ממציא כעת מהראש בהשראת LZ)
בשביל להסביר את העקרון.
בתחילת המידע המקודד תופיע טבלת תרגום, בה יש שני שדות בשורה,
מחרוזת של מידע מקודד והמחרוזת של מידע מקור שתואמת לה.
אחר כך יש רצף כזה של מחרוזות מקודדות שהופיעו בטבלה.
המחרוזות המקודדות נבחרות כך שהם ניתנים לפיענוח חח"ע ביעילות
אף מחרוזת קידוד איננה prefix של מחרוזת קידוד אחרת.
הפיענוח הוא נאיבי קוראים את הטבלה ואז עבור כל מחרוזת קידוד
שקוראים בודקים בטבלה למה צריך לתרגם אותה.
לא כך בעת הכיווץ בכיווץ צריך להחליט איך בדיוק נבנה את הטבלה,
צריך לבדוק אילו מחרוזות חוזרות על עצמן הרבה, ובהתאם להחליט
לתת לחלק מהמחרוזות החוזרות קידוד קצר יותר, וכמובן לא ניתן
לתת לכל המחרוזות הקידוד הקצר ביותר, צריך להחליט איזה מחרוזת
תקבל קידוד באיזה אורך. אלו החלטות לא פשוטות בכלל, ולוקח
הרבה כוח חישוב לעשות אותם כראוי, בפועל תוכנות הדחיסה לא
מוצאות את הטבלה האידאלית אלה למעשה רק קירוב אליה, הרבה פעמים
בתוכנות דחיסה אפשר לבחור כמה חזק לכווץ כאשר כיווץ חזק יותר
לוקח יותר זמן, זה למעשה לחפש טבלה יותר טופטימלית.
בZiv Lemple הטבלה מופיעה באופן סמוי implictly בתוך המידע
המקודד וכך חוסכים כמעט את כל המקום שיוחס לטבלה.
DRYICE