1 / 78

דחיסת נתונים ואותות סמסטר ב' תשס"ז

דחיסת נתונים ואותות סמסטר ב' תשס"ז. שיטות דחיסה ללא עיוות לקבצי מידע האלגוריתמים של למפל ושל זיו. נועם פרסמן, presmann@eng.tau.ac.il , 30.5.2007. תוכנית. סימונים והגדרת הסכמה הכללית אלגוריתמי למפל-זיו יישומים העושים שימוש באלגוריתמים והשוואת ביצועים מדדי דחיסות ( סיבוכיות ) מחרוזות

beryl
Download Presentation

דחיסת נתונים ואותות סמסטר ב' תשס"ז

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. דחיסת נתונים ואותותסמסטר ב' תשס"ז שיטות דחיסה ללא עיוות לקבצי מידע האלגוריתמים של למפל ושל זיו נועם פרסמן, presmann@eng.tau.ac.il , 30.5.2007 דחיסת נתונים ואותות – סמסטר ב' תשס"ז

  2. תוכנית • סימונים והגדרת הסכמה הכללית • אלגוריתמי למפל-זיו • יישומים העושים שימוש באלגוריתמים והשוואת ביצועים • מדדי דחיסות ( סיבוכיות ) מחרוזות • הוכחת אוניברסליות LZ78 דחיסת נתונים ואותות – סמסטר ב' תשס"ז

  3. אריתמטיקה של מחרוזות נסמן מחרוזת סופית באורך n מעל א"ב סופי A : אורך המחרוזת: שרשור מחרוזות x ו – y : דחיסת נתונים ואותות – סמסטר ב' תשס"ז

  4. אריתמטיקה של מחרוזות עבור סדרת מחרוזת נסמן את שרשורן: המחרוזת הריקה תסומן באות . הבחינו כי לכל מחרוזת s : המחרוזת היא דחיסת נתונים ואותות – סמסטר ב' תשס"ז

  5. אריתמטיקה של מחרוזות פיסוק באורך m של מחרוזת x ( באורך n ) הוא סדרת תתי מחרוזות: ביחס לפיסוק נתון, נסמן את מספר תתי המחרוזות בפיסוק עד לתו ה k במחרוזת באופן הבא: דחיסת נתונים ואותות – סמסטר ב' תשס"ז

  6. אריתמטיקה של מחרוזות סדרת אורכי הפסקאות תסומן באות l : [!] לעיתים נתעניין בפיסוק של x המכיל מקסימום פסקאות שונות. נסמן את גודל הפיסוק הזה בסימון דחיסת נתונים ואותות – סמסטר ב' תשס"ז

  7. מבנה כללי של האלגוריתמים • נידרש לשני אלגוריתמים: • אלגוריתם המקודד (ממפה מחרוזות מא"ב A לא"ב B ) • אלגוריתם המפענח ( ממפה מחרוזות מא"ב Bלא"ב A ) דחיסת נתונים ואותות – סמסטר ב' תשס"ז

  8. הגדרת אלגוריתם המקודד קלט: מחרוזת x באורך n התוכנית : • המקודד יפסק את הקלט לסדרת הפיסוק הבאה ( פיסוק מקור) • לכל פסקת מקור המפענח יתאים פסקת קוד , כלומר פלט: y אורכי סדרת פסקאות המקור יסומנו ב lsource אורכי סדרת פסקאות הקוד יסומנו ב - lcode דחיסת נתונים ואותות – סמסטר ב' תשס"ז

  9. הגדרת אלגוריתם המפענח קלט: מחרוזת קוד y תוכנית: המפענח יפסק את הקלט לסדרת הפיסוק הבאה ( פיסוק קוד ): וימפה לכל פסקת קוד את פסקת המקור המתאימה לו: פלט: המחרוזת x דחיסת נתונים ואותות – סמסטר ב' תשס"ז

  10. סכמת מפענח סיבתית אם כדי למצוא את הפסקה ה - i בקלט ולפענחה נדרש המפענח לכל היותר למחרוזת של הקוד, נאמר שהסכמה סיבתית ( ביחס למפענח). דחיסת נתונים ואותות – סמסטר ב' תשס"ז

  11. 1 1 1 2 2 2 3 3 3 Encoder Decoder מודל שקול עבור סכמה סיבתית time דחיסת נתונים ואותות – סמסטר ב' תשס"ז

  12. קצב הדחיסה של הסכמה עבור מחרוזת x יוגדר קצב הדחיסה המושג ע"י סכמת אלגוריתמי מקודד-מפענח באופן הבא: עבור א"ב מקור וקוד בינארי מתקיים: דחיסת נתונים ואותות – סמסטר ב' תשס"ז

  13. הצגת האלגוריתמים • LZ77 - Sliding Window LZ • LZ78 – Tree Based LZ • LZW – שיפור של LZ78 דחיסת נתונים ואותות – סמסטר ב' תשס"ז

  14. קידוד מספרים טבעיים למה: קיים קוד prefix free עבור המספר הטבעיים כך שאורך הקוד לכל מספר טבעי k הוא דחיסת נתונים ואותות – סמסטר ב' תשס"ז

  15. קידוד מספרים טבעיים - הוכחה "איטרציה" ראשונה – נציע את המיפוי הבא: אורך מילת הקוד: דחיסת נתונים ואותות – סמסטר ב' תשס"ז

  16. קידוד מספרים טבעיים - הוכחה "איטרציה" שניה – נציע את המיפוי הבא: אורך מילת הקוד: דחיסת נתונים ואותות – סמסטר ב' תשס"ז

  17. LZ77 – Sliding Window LZ באלגוריתם זה קיים חוצץ ( buffer) השומר את תת המחרוזת שכבר קודדה. ה - buffer הוא "חלון" הסתכלות על העבר. ואפשר גם להבין אותו בתור "המילון" שלנו. דחיסת נתונים ואותות – סמסטר ב' תשס"ז

  18. תיאור האלגוריתם ( LZ77 ) אתחול ( מקודד ומפענח): ה buffer מלא בסדרה הידועה מראש גם למקודד וגם למפענח. דחיסת נתונים ואותות – סמסטר ב' תשס"ז

  19. אלגוריתם LZ77-המקודד דחיסת נתונים ואותות – סמסטר ב' תשס"ז

  20. אלגוריתם LZ77 – המפענח דחיסת נתונים ואותות – סמסטר ב' תשס"ז

  21. אלגוריתם LZ77 – דוגמא 1א' הנח שב bufferשמור המידע: ועליך לקודד מחרוזת המתחילה כך: אזי ההתאמה הבאה תהיה: 10 והפסקה הבאה היא: 100 כלומר: דחיסת נתונים ואותות – סמסטר ב' תשס"ז

  22. אלגוריתם LZ77 – דוגמא 1ב' הנח שב bufferשמור המידע: ועליך לקודד מחרוזת המתחילה כך: אזי ההתאמה הבאה תהיה: 1010 והפסקה הבאה היא: 01010 כלומר: דחיסת נתונים ואותות – סמסטר ב' תשס"ז

  23. אבחנות בסיסיות • הסכמה היא סיבתית • זהו אלגוריתם חמדן • פסקאות שונות • המחיר לקידוד הפסקה ה j הוא : • לכן קצב הדחיסה: דחיסת נתונים ואותות – סמסטר ב' תשס"ז

  24. LZ77 - גרסה עם bufferחסום דחיסת נתונים ואותות – סמסטר ב' תשס"ז

  25. אבחנות – גרסא עם bufferחסום • סכמה סיבתית; אלגוריתם חמדן • לא כל הפסקאות שונות זו מזו. • המחיר לקידוד הפסקה ה j הוא : • קצב הדחיסה הוא: דחיסת נתונים ואותות – סמסטר ב' תשס"ז

  26. LZ 78-Tree Based LZ בגרסה זו קיים מילון שנסמנו באות D, שהוא סדרה של מחרוזות. המילון בזמן ה - j יסומן ב – D(j) . דחיסת נתונים ואותות – סמסטר ב' תשס"ז

  27. LZ 78 - האלגוריתם אתחול המפענח והמקודד : המילון מכיל את המחרוזת הריקה. דחיסת נתונים ואותות – סמסטר ב' תשס"ז

  28. LZ78 המקודד דחיסת נתונים ואותות – סמסטר ב' תשס"ז

  29. LZ78 - המפענח דחיסת נתונים ואותות – סמסטר ב' תשס"ז

  30. Dictionary 11 9 7 6 10 8 3 0 2 4 1 5 1 שימוש בעץ כייצוג של המילון • מבנה נתונים אבסטרקטי לייצוג המילון הוא עץ מכוון: • לכל מילה במילון קיים צמת • המסלול המכוון מהשורש לצמת מגדיר את המילה דחיסת נתונים ואותות – סמסטר ב' תשס"ז

  31. עץ שחור לבן כייצוג של המילון עץ מכוון עם צמתים משני סוגים: • שחורים : צמתים אלו מייצגים מחרוזות שהן פסקאות שכבר מופו בתהליך הקידוד. • לבנים : צמתים אלו מייצגים פסקאות שטרם זוהו (ולכן אינן חלק מהמילון שלנו) אך הן הבאות בתור למיפוי. דחיסת נתונים ואותות – סמסטר ב' תשס"ז

  32. 1 1 0 1 2 1 3 4 4 1 5 1 6 6 7 8 עץ שחור לבן כייצוג של מחרוזות זיהוי מחרוזת יהיה טיול על העץ מהשורש לעלה לבן – לקבלת הפסקה הבאה. הפעם נשלח את המספר של העלה הלבן ( שוב בהתאם למקומו הלקסיקוגרפי ) . דחיסת נתונים ואותות – סמסטר ב' תשס"ז

  33. LZ78 עם חסמים • חלוקה לבלוקים קידוד בנפרד ושרשור ( שקף הבא) • מילון שאינו גדל מעבר לגודל מסוים: • הופך סטטי • מוחק רשומות לפי משטר מסוים • נמחק ומתחיל בנייה מחדש דחיסת נתונים ואותות – סמסטר ב' תשס"ז

  34. BLZ 78 . . . BLZ 78 BLZ 78 דחיסת נתונים ואותות – סמסטר ב' תשס"ז

  35. LZW – שיפור על LZ78 • Welch הבחין שניתן להימנע משליחת התו המחדש uncoded. • נותן שיפורים משמעותיים במקורות דחיסים. • תרם לפופולריות של האלגוריתם דחיסת נתונים ואותות – סמסטר ב' תשס"ז

  36. יישומי האלגוריתמים והשוואת ביצועים • יישומים : • gzip,zip ( LZ77( • compress ( LZW ) • gif ( LZW ) • מבחני השוואת ביצועים – קורפוס קנטרברי דחיסת נתונים ואותות – סמסטר ב' תשס"ז

  37. gzip,zip מימוש של deflate שהוא וריאנט של LZ77: • שימוש ב bufferבגודל 32KB וחלון בגודל 256B עבור המחרוזת הבאה שיש לקודד. • שימוש בטבלת hash לצורך ההתאמות • קידוד הפמן של המצביע, ושל המחדש+אורך המחרוזת. • חלוקה לבלוקים • look ahead –מיתון החמדנות. דחיסת נתונים ואותות – סמסטר ב' תשס"ז

  38. compress יישום הנפוץ בסביבת Unix והוא מימוש של LZW : • גודל המילון המקסימלי יכול להיקבע ע"י המשתמש • התנהגות היישום כאשר המילון מתמלא. דחיסת נתונים ואותות – סמסטר ב' תשס"ז

  39. gif (graphic interchange format) • פורמט הצגה לקבצי תמונות המכילים עד 256 צבעים . • משתמש ב LZW באופן דומה ל – compress. • הסריקה של התמונות נעשית שורה שורה. דחיסת נתונים ואותות – סמסטר ב' תשס"ז

  40. מבחני ביצועים ( Benchmark Tests ) • מוטיבציה • דרישות ממבחן ביצועים אמין • הקורפוס של קנטרברי דחיסת נתונים ואותות – סמסטר ב' תשס"ז

  41. תכולת הקורפוס של קנטרברי דחיסת נתונים ואותות – סמסטר ב' תשס"ז

  42. השוואת ביצועים דחיסת נתונים ואותות – סמסטר ב' תשס"ז

  43. מדדי דחיסות עבור סדרות גישה א' : הגישה הסטכוסטית המחרוזת חברה באנסמבל בעל מאפיינים סטטיסטיים ידועים ( רצוי: סטציונרי וארגודי ) תוצאות ניתנות בתוחלת על פני חברי האנסמבל. מדד הדחיסות: קצב האנטרופיה • חסרונות/בעיות: • מה ידוע על הדחיסות של מחרוזת ספציפית? • מה באשר למקורות שהסטטיסטיקה שלהם אינה ידועה? או שאינם סטציונרים או ארגודיים ? דחיסת נתונים ואותות – סמסטר ב' תשס"ז

  44. מדדי דחיסות עבור מחרוזות גישה ב' : הגישה הדטרמיניסטית : ניתוח מחרוזות אינדיבידואליות נמצא לכל מחרוזת את קצב הדחיסה הטוב ביותר שניתן להשיג עבורה. פעולת הדחיסה היא פעולה חישובית של מיפוי מחרוזות למחרוזות – ולכן נתעניין בקצבי הדחיסה הניתנים להשגה באמצעות מכונות חישוב. • מדדים מוצעים: • סיבוכיות קולמגורוב • קצב למפל זיו דחיסת נתונים ואותות – סמסטר ב' תשס"ז

  45. מכונת חישוב אוניברסלית אידיאלית • מכונת חישוב אוניברסלית אידיאלית היא מערכת המקבלת תוכנית וקלט לתוכנית ומריצה את התוכנית על הקלט . • דוגמאות למכונות אוניברסליות הן למשל: • מכונת טורינג אוניברסלית עם סרט באורך אין-סופי. • מכונת חישוב עם זיכרון Random Accessבגודל לא מוגבל המריצה תוכניות ב C • מכונת חישוב " " " " " " " בAJAV • כל הדוגמאות הנ"ל שקולות במובן, שכל בעיה חישובית שניתן לפתור באמצעות מימוש אלגוריתמי במערכת אחת ניתן לפתור באמצעות מימוש אלגורתמי ( אולי אחר ) בכל אחת מהמערכות האחרות. דחיסת נתונים ואותות – סמסטר ב' תשס"ז

  46. סיבוכיות קולמגורוב דחיסת נתונים ואותות – סמסטר ב' תשס"ז

  47. סבוכיות קולמגורוב: דוגמא א' x = 0n דחיסת נתונים ואותות – סמסטר ב' תשס"ז

  48. סבוכיות קולמגורוב: דוגמא ג' דחיסת נתונים ואותות – סמסטר ב' תשס"ז

  49. אוניברסליות סיבוכיות קולמגורוב דחיסת נתונים ואותות – סמסטר ב' תשס"ז

  50. חֲשיבות סיבוכיות קולמגורוב משפט ( חישוביות סיבוכיות קולמגורוב ) :לכל מכונת חישוב אוניברסלית ואידיאלית, סיבוכיות קולמגורוב – אינה חֲשִיבה. • לא ניתן לממש מקודד המשיג את סיבוכיות קולמגורוב לכל מחרוזת. • באופן כללי,לא ניתן לחשב את סיבוכיות קולמגורוב של מחרוזות, או אפילו להוכיח שסיבוכיות קולמגורוב של מחרוזות היא מספר מסוים. דחיסת נתונים ואותות – סמסטר ב' תשס"ז

More Related