שינויים

קפיצה אל: ניווט, חיפוש

מבנים אלגבריים למדעי המחשב - ארז שיינר

נוספו 291 בתים, 15:02, 12 בינואר 2019
/* קידוד פולינומי ציקלי */
*נתאר את ההזה הציקלית באמצעות פעולה אלגברית.
**יהי <math>f(x)=a_{n-1}x^{n-1}+...+a_0</math>
**אזי <math>x\cdot f(x) \equiv a_{n-2}x^{n-1}+...+a_0x+a_{n-1}</math> מודולו הפולינום <math>\mod x^n-1</math>
**הוכחה:
***אכן <math>x\cdot f(x)= a_{n-1}x^n+...+a_0x=a_{n-1}(x^n-1) + a_{n-1} + a_{n-2}x^{n-1}+...+a_0x</math>
*טענהמשפט: הפולינום <math>g(x)</math> מחלק את <math>x^n-1</math> אם ורק אם הקוד לעיל הינו ציקלי.**הוכחה:**ראשית נסמן ב<math>I</math> את אוסף כל המילים החוקיות, כלומר כל הפולינומים מהצורה <math>f(x)g(x)</math> כאשר <math>\deg(f)<k</math>.**כעת, בכיוון ראשון, נניח כי הקוד הינו ציקלי:***נחלק את <math>x^n-1</math> ב<math>g(x)</math> עם שארית, ונוכיח כי השארית היא אפס.***<math>formulax^n-1=h(x)g(x)+r(x)</math>***שימו לב ש<math>h(x)g(x)\not\in I</math> כיוון ש<math>\deg(h)=k</math>.**בכיוון השני, נניח כי <math>x^n-1=t(x)g(x)</math> ונוכיח כי מדובר בקוד ציקלי.***נוכיח כי לכל מילה חוקית <math>h(x)g(x)\in I</math> גם <math>xh(x)g(x)\in I</math> כאשר הכפל האחרון נעשה ב<math>R</math>.***נבצע חלוקה עם שארית <math>xh(x)=q(x)t(x)+r(x)</math> בחוג הפולינומים הרגיל.***נכפול את שני הצדדים ב<math>g(x)</math> ונקבל <math>xh(x)g(x)=q(x)(x^n-1)+r(x)g(x)</math>.***לכן ב<math>R</math> מתקיים כי <math>xh(x)g(x)=r(x)g(x)</math>, ואכן <math>r(x)g(x)\in I</math>, כיוון ש<math>\deg(r(x)g(x))<n</math>.   
*טענהמשפט: קוד פולינומי ציקלי עם פולינום <math>g(x)</math> מדרגה <math>m</math> מסוגל לזהות כל כמות של שגיאות, בתנאי שכולן נמצאות בתוך טווח של <math>m</math> ביטים.
*הוכחה:
**נניח שקרו טעויות בתוך טווח של <math>m</math> ביטים.
**אם המילה החדשה חוקית, גם כל הזזה ציקלית שלה היא חוקית.
**נזיז את <math>m</math> הביטים כך שיהיה שיהיו בקצה הימני במקום של היתירות.
**כיוון שהיתירות היא יחידה, בוודאות המילה אינה חוקית, סתירה.