The Space Complexity of Approximating the Frequency Moments Noga Alon Yossi Matias Mario Szegedy
הצגת הבעיה תהי A=(a1,a2,…,am) סדרת מספרים טבעיים, אשר מקיימים ajN={1,2,…,n} לכל 1≤j≤m. נגדיר את mi להיות מספר המופעים של המספר i בסדרה A, כלומר: mi=│{j : aj=i}│. מומנט התדירות מסדר k יוגדר כך: (k≥0)
הצגת הבעיה - המשך מספר האיברים השונים ב-A. אורך הסדרה, m. A=(a1,a2,…,am), ajN={1,2,…,n} לכל 1≤j≤m. mi - מספר המופעים של המספר i בסדרה A, כלומר: mi=│{j : aj=i}│. מומנט השכיחות / תדירות מסדר k יוגדר כך: מהו F0 ? מהו F1 ? מהו F∞ ? מספר האיברים השונים ב-A. אורך הסדרה, m. .F∞ = max {mi : 1≤i≤n{
הצגת הבעיה - המשך Fk ניתן לחישוב דטרמיניסטי עם זיכרון O(nlogm). Fk ניתן לחישוב לא דטרמיניסטי עם זיכרון O(nloglogm). אלגוריתם הסתברותי, אשר ידמה משתנה מקרי Z, שיהיה קירוב למומנט הנדרש. ציפיות: תוחלת Fk. שונות קטנה. Z יהיה רחוק מ- Fk בלא יותר מאשרλ·Fk בהסתברות של לפחות 1-є. מעבר בודד על סדרת המספרים A. אני קובע את λ ואת є
האלגוריתם הבסיסי נבחר בהתפלגות אחידה מספר p מבין {1,…,m}. נסמן ב-b את האיבר בסדרה המתאים לאינדקס p, כלומר: ap= b. נסמן ב-r את מספר המופעים של b החל מהמקום ה-p (כולל), כלומר: r=│{q : q≥p, aq= b │. האלגוריתם ישיב את הערך X=m(rk-(r-1)k). O(logn) לשמירת b כמה מקום נחוץ לנו כדי לחשב את X ? O(logm) לשמירת p, r בסה"כ: O(logn+logm)
תוחלת X נבחר בהתפלגות אחידה מספר p מבין {1,…,m}. נסמן ב-b את האיבר בסדרה המתאים לאינדקס p, כלומר: ap= b. נסמן ב-r את מספר המופעים של b החל מהמקום ה-p (כולל). האלגוריתם ישיב את הערך X=m(rk-(r-1)k).
שונות X נבחר בהתפלגות אחידה מספר p מבין {1,…,m}. נסמן ב-b את האיבר בסדרה המתאים לאינדקס p, כלומר: ap= b. נסמן ב-r את מספר המופעים של b החל מהמקום ה-p (כולל). האלגוריתם ישיב את הערך X=m(rk-(r-1)k).
הצעה לשיפור את האלגוריתם שהוצג נבצע s1 פעמים באופן בלתי-תלוי. נקבל את X1, X2, … , Xs1 שהם s1 משתנים מקריים בלתי תלויים, שווי-התפלגות ונחזיר את Y הממוצע שלהם. E(Y)=E(Xi)=Fk מה תוחלת האלגוריתם החדש? מה שונות האלגוריתם החדש? הוכחה על הלוח!
הצעה לשיפור - ניתוח נבחן את ההסתברות: אי-שוויון Chebyshev: נקבל: בכמה זיכרון השתמשנו?
עוד הצעה לשיפור את האלגוריתם שהוצג (לאחר השיפור) נבצע s2 פעמים באופן בלתי-תלוי. נקבל את Y1, Y2, … , Ys2 שהם s2 משתנים מקריים בלתי תלויים, שווי-התפלגות ונחזיר את Z החציון שלהם. השתמשנו ב- O(s1·s2· (logn+logm)) ביטים בזיכרון. נרצה לאמוד את:
הצעה שנייה לשיפור - ניתוח אי-שוויון Chernoff אם X הוא סכום משתנים מקריים אינדיקטורים בלתי-תלויים ותוחלת X היא μ, אזי לכל 0<β מתקיים: כדי שתשובת האלגוריתם תהיה רחוקה מ- Fk בלא יותר מאשר λ·Fk צריך הדבר להתקיים עבור לפחות ½·s2 מהמשתנים Yi. איך נבחר את s2 ? β=3
כשמחליפים את p מאתחלים את r ל-1 ואם m אינו ידוע מראש... ניתן לממש את האלגוריתם, גם אם m אינו ידוע מראש. m=1 p=1 m=2 p=2 בהסתברות ½ m=3 p=3 בהסתברות 1/3 m p=m בהסתברות 1/m כשמחליפים את p מאתחלים את r ל-1
מה הוכחנו? משפט: לכל 1≤k, 0<λ, 0<є קיים אלגוריתם רנדומי, שבהינתן A=(a1,a2,…,am) סדרת מספרים טבעיים, כך ש- ajN={1,2,…,n} ל- 1≤j≤m מחשב במעבר אחד תוך שימוש ב- סיביות זיכרון, מספר Z, כך שההסתברות ש-Z רחוק מ- Fk בלא יותר מאשר λ·Fk היא לכל היותר є.
חישוב F2 הרעיון – כמו באלגוריתם הקודם: בשימוש נרחב ביישומים סטטיסטיים. הפלט Y הוא החציון של Y1, Y2, … , Ys2, אשר כל אחד מהם הוא ממוצע של s1 משתנים מקריים Xij: 1≤j≤s1 כולם שווי-התפלגות ובלתי-תלויים.
ניתן לחישוב במעבר יחיד על A חישוב F2 - המשך יהי H אוסף של k=O(n2) פונקציות Hash: h : {1,2,…,n} {+1,-1}. האלגוריתם לחישוב X בחר p מספר טבעי בין 1 ל-k בהתפלגות אחידה. נניח h פונקצית ה-Hash המתאימה למספר הטבעי p: h(i)=єi. נחשב את נחזיר את X=Z2. ניתן לחישוב במעבר יחיד על A O(logm) לשמירת Z כמה מקום נחוץ לנו כדי לחשב את X ? O(logn) לשמירת p בסה"כ: O(logn+logm)
חישוב F2 - ניתוח תוחלת X: שונות X: אי-תלות ברביעיות אי-תלות בזוגות
חישוב F2 – ניתוח הראינו: מאי-שוויון Chebyshev נקבל: נבחר את s1 להיות: קיבלנו: אי-שוויון Chernoff. הראינו: מאי-שוויון Chebyshev נקבל: נבחר את s1 להיות: קיבלנו: אי-שוויון Chernoff. משפט: לכל 0<λ, 0<є קיים אלגוריתם רנדומי, שבהינתן A=(a1,a2,…,am) סדרת מספרים טבעיים, כך ש- ajN={1,2,…,n} ל- 1≤j≤m מחשב במעבר אחד תוך שימוש ב- סיביות זיכרון, מספר Y, כך שההסתברות ש-Y רחוק מ- F2 בלא יותר מאשר λ·F2 היא לכל היותר є.
חישוב F0 תזכורת: F0 הוא מספר האיברים השונים ב-A. כמו מקודם: N={1,2,…,n}, A=(a1,a2,…,am). נסמן ב-d את ה-d המינימלי, כך ש- 2d>n. נתייחס לאיברי N כאל איברי השדה F=GF(2d). ניתן להתייחס אל השדה F=GF(2d) כאל אוסף הפולינומים מדרגה d-1 מעל Z2, עם פעולות חיבור וכפל מודולו 2. באופן שקול - אוסף הוקטורים בגודל d מעל {0,1}.
חישוב F0 - המשך האלגוריתם נבחר a,bєF אקראיים, בהתפלגות אחידה באופן בלתי-תלוי. לכל ai ב-A, נגדיר: zi=a·ai+b. נסמן ב-r(z) את המספר הגדול ביותר r, כך ש-r הביטים הימניים ביותר ב-z הם כולם 0. נסמן: ri=r(zi). יהי R המקסימום של ri (1≤i≤m). החזר את Y=2R.
חישוב F0 - ניתוח תכונות הפונקציה f(x)=ax+b: מיפוי אקראי P[r(zi)≥r]=(½)r אי-תלות בזוגות P[r(zi)≥r and r(zj)≥r]=(½)2r יהי r כלשהו. לכל xєN, אשר מופיע ב-A נגדיר אינדיקטור Wx. Wx=1 אם r(ax+b)≥r, ו-0 אחרת. נסמן: Zr=ΣWx (הסכום הוא על כל ה-x-ים שב-A).
חישוב F0 – המשך הניתוח תוחלת: E(Zr)=F0·(½)r יהי c>3. לכל xєN, אשר מופיע ב-A נגדיר אינדיקטור Wx. Wx=1 אם r(ax+b)≥r, ו-0 אחרת. נסמן: Zr=ΣWx (הסכום הוא על כל ה-x-ים שב-A). תוחלת: E(Zr)=F0·(½)r יהי c>3. יהי r’ ה-r הקטן ביותר המקיים 2r>c·F0. אי-שוויון Markov: יהי X מ"מ אי-שלילי
חישוב F0 – המשך הניתוח יהי r’’ ה-r הגדול ביותר המקיים c·2r<F0. לכל xєN, אשר מופיע ב-A נגדיר אינדיקטור Wx. Wx=1 אם r(ax+b)≥r, ו-0 אחרת. נסמן: Zr=ΣWx (הסכום הוא על כל ה-x-ים שב-A). שונות: Var(Zr)= F0·(½)r·[1- (½)r] < F0·(½)r יהי r’’ ה-r הגדול ביותר המקיים c·2r<F0. Chebyshev
מה הוכחנו? משפט: לכל c>3 קיים אלגוריתם, אשר בהינתן A=(a1,a2,…,am) סדרת מספרים טבעיים, מחשב במעבר אחד מספר Y תוך שימוש ב-O(logn) סיביות זיכרון, כך שההסתברות לכך שהיחס בין Y לבין F0 אינו בין 1/c לבין c היא לכל היותר 3/c.
Є-error Probabilistic Communication Complexity f:{0,1}n×{0,1}n{0,1} y x ……….. ……….. התשובה נכונה בהסתברות 1-є לכל x,y ! f(x,y)=? Cє(f) – תוחלת מספר הביטים המועברים במקרה הרע ביותר, תחת הפרוטוקול הטוב ביותר.
Disjointness function DISn(x,y) : {0,1}n×{0,1}n {0,1} x,y מייצגים תת-קבוצות Ax, Ay של N={1,2,…,n}. DISn(x,y)=1 אם ורק אם Ax ∩ Ay ≠ . משפט: לכל є<½ - Cє(DISn) ≥ Ω(n) דוגמה: N={1,2,3,4,5,6} x=010100 y=110011 Ax ∩ Ay = {2,4} ∩ {1,2,5,6} ≠ DISn(x,y)=1 1 2 3 4 5 6 Ax Ay
חסם תחתון לחישוב F∞ A=(a1,a2,…,a│x│,…, a│x│+│y│) Ax Ay טענה: נניח קיים אלגוריתם M כנ"ל שמשתמש ב-s סיביות זיכרון. נסמן ב- │y│,│x│ את מספר הכניסות שהן 1 ב- x,y בהתאמה. נגדיר רצף A באורך │y│+│x│ שמכיל את איברי N שמייצגים x ו-y. A=(a1,a2,…,a│x│,…, a│x│+│y│) Ax Ay טענה: כל אלגוריתם רנדומי, אשר בהינתן רצף A של לכל היותר 2n איברים מבין N={1,2,…,n} מחשב במעבר אחד מספר X כך ש- F∞/3)<є P(│X-F∞│≥ עבור є<½ כלשהו, מצריך בהכרח Ω(n) סיביות זיכרון. תודה! x y אני מריץ את האלגוריתם M על x אני ממשיך להריץ את M. אם קיבלתי ערך ≥ 4/3 אני מחזיר 1. קח את מה שיש לי בזיכרון: ................ זיכרון
חסם תחתון לחישוב F∞ - המשך דוגמה ב': N={1,2,3,4,5,6} x=011100 y=100011 A = (2,3,4,1,5,6) F∞=1 דוגמה א': N={1,2,3,4,5,6} x=011100 y=110011 A = (2,3,4,1,2,5,6) F∞=2 F∞ יכול להיות רק 1 או 2. בהסתברות של 1-є התשובה נכונה. P(│X-F∞│< F∞/3)≥1-є למעשה: Ω(n+lglgm)
חישוב דטרמיניסטי – חסם תחתון משפט: לכל k≠1 אי-שלילי, כל אלגוריתם דטרמיניסטי שבהינתן רצף A של ½n איברים מתוך N={1,2,…,n} מחשב במעבר אחד מספר X, כך ש-X רחוק מ- Fk בלא יותר מאשר 0.1·Fk עושה שימוש בלפחות Ω(n) סיביות זיכרון. נגדיר G – אוסף של t=2Ω(n) תתי-קבוצות של N. כל קבוצה מעוצמה ¼n. לכל שתי קבוצות יש לכל היותר ⅛·n איברים משותפים. קיימת G כזאת?
חישוב דטרמיניסטי - המשך נגדיר G – אוסף של t=2Ω(n) תתי-קבוצות של N. כל קבוצה מעוצמה ¼n. לכל שתי קבוצות יש לכל היותר ⅛·n איברים משותפים. נניח בשלילה קיום אלגוריתם שמחזיר X כך ש- │X-Fk│≤ 0.1·Fk. עבור g1,g2єG, נסמן ב- A(g1,g2) את הרצף של ½n האיברים אשר ב-g1 וב-g2. לאחר ריצת האלגוריתם על ¼n האיברים הראשונים של A(g1,g2) מצב הזיכרון תלוי אך ורק ב-g1. אם בזיכרון יש פחות מ- lgt ביטים, אז קיים g2 שמצב הזיכרון לאחר מעבר עליו זהה למצב הזיכרון לאחר מעבר על g1. האלגוריתם נותן אותו פלט עבור A(g1,g1) , A(g2,g1) .
חישוב דטרמיניסטי - המשך נגדיר G – אוסף של t=2Ω(n) תתי-קבוצות של N. כל קבוצה מעוצמה ¼n. לכל שתי קבוצות יש לכל היותר ⅛·n איברים משותפים. │X-Fk│≤ 0.1·Fk האלגוריתם נותן אותו פלט עבור A(g1,g1) , A(g2,g1) . מדוע זו סתירה? לכן המקום שהאלגוריתם משתמש בו הוא לפחות lgt=Ω(n). A(g2,g1) F0 Fk A(g1,g1) F0 Fk ≥ ⅜·n ≤ ¼n + 2k ·⅛·n = ¼n = 2k ·¼n
חסם תחתון לחישוב Fk עבור s,t טבעיים נגדיר משחק DIS(s,t) עם s שחקנים: A1 A2 A3 A4 A5 ................................................ As Ai תת-קבוצות בגודל t של N={1,2,…,n} עבור n=(2t-1)·s+1. מטרת המשחק היא להכריע האם: הקבוצות (A1,A2,…,As) זרות בזוגות. הקבוצות (A1,A2,…,As) נחתכות באופן אחיד. כלומר - חולקות איבר משותף x ו- Ai\{x} זרות בזוגות.
חסם תחתון לחישוב Fk - המשך s=n1/k t=Θ(n1-1/k) אני מריץ את A על t האיברים שלי ושולח את מצב הזיכרון לשחקן השני. יהי k>5. נניח A הוא אלגוריתם רנדומי לקירוב Fk לכל סדרה באורך לכל היותר n של איברים מ-{1,2,…,n} עבור n=(2t-1)·s+1, שעושה שימוש ב-M ביטים בזיכרון. נתאר פרוטוקול לפתרון DIS(s,t): אני מריץ את A על t האיברים שלי. אם קיבלתי ערך ≤ 1.1st אני עונה: "הקבוצות זרות בזוגות" אחרת – "הקבוצות נחתכות באופן אחיד". אני מריץ את A על t האיברים שלי ושולח את מצב הזיכרון לשחקן השלישי. A1 A2 A3 A4 A5 ................................................ As זיכרון
חסם תחתון לחישוב Fk - המשך s=n1/k t=Θ(n1-1/k) n=(2t-1)·s+1 אם הקבוצות זרות בזוגות, אז: Fk=s·t. אם הקבוצות נחתכות באופן אחיד, אז: Fk=sk+s·(t-1)=n+s·(t-1)>(3t-2)·s=(1½+o(1))·n. כמה ביטים עברו בפרוטוקול? s·M>(s-1)·M טענה: לכל є<½ ולכל t≥s4, האורך של כל פרוטוקול רנדומי שנכון עד כדי є עבור הבעיה DIS(s,t) הוא לפחות Ω(t/s3). לכן: M≥Ω(t/s4)=Ω(n/s5)=Ω(n1-5/k). k>5
מה "הוכחנו"? משפט: לכל k>5, β<½כל אלגוריתם רנדומי, שבהינתן סדרת מספרים טבעיים A של לכל היותר n איברים מ- N={1,2,…,n} מחשב במעבר אחד מספר Zk, כך ש- משתמש בלפחות Ω(n1-5/k) סיביות זיכרון.
סוף !