שינויים

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

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

נוספו 623 בתים, 17:27, 6 בינואר 2018
/* קודים פולינומיים */
*נקבע פולינום <math>g(x)\in\mathbb{Z}_2[x]</math> כלשהומדרגה n.
*עבור מידע <math>f(x)</math> נבצע חלוקה עם שארית <math>f(x)\cdot x^n =q(x)g(x)+r(x)</math>.
*המילה שנשלח היא <math>f(x)\cdot x^n + r(x)</math> (שימו לב כי <math>r(x)=-r(x)</math>).
*זהו קוד לינארי:
**אם <math>f(x),h(x)</math> מתאימים לוקטורי מידע, <math>f(x)=q_1(x)g(x)+r_1(x)</math> ו<math>h(x)=q_2(x)g(x)+r_2(x)</math> אז השארית של <math>f(x)+h(x)</math> היא <math>r_1(x)+r_2(x)</math>.
*קוד זה מוסיף n ביטים של יתירות למידע.
*דוגמא:
*נבחר את הפולינום <math>g(x)=x^3+x+1</math> (מוסיף 3 ביטי יתירות).
**נקודד מידע:***נניח כי המידע שלנו הוא <math>1010</math> כלומר הפולינום <math>f(x)=x^3+x</math>.***לכן עלינו לחלק את הפולינום <math>f(x)\cdot x^3=x^6+x^4</math> בפולינום <math>g(x)=x^3+x+1</math>.***לאחר אלגוריתם חלוקה עם שארית נקבל<math>x^6+x^4=(x^3+1)(x^3+x+1)+x+1</math>.***לכן סה"כ המידע שנשלח הוא <math>f(x)\cdot x^3 + r(x)=x^6+x^4+x+1</math> שזה בעצם <math>1010011</math>.**נבדוק תקינות מידע:***האם המידע <math>1101101</math> תקין?***זה בעצם הפולינום <math>x^6+x^5+x^3+x^2+1</math>, זה קוד תקין אם"ם הוא מתחלק ב<math>g(x)</math>.***נבצע חלוקה עם שארית ונקבל שארית <math>x^2+x+1</math>, לכן הקוד אינו תקין.
==הרצאה 13 קודים ציקליים; פרק 22 מ[http://abstract.ups.edu/aata/ הספר]==