שינויים

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

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

נוספו 2,106 בתים, 13:18, 19 בדצמבר 2017
/* הרצאה 10 קידוד; פרק 8 מהספר */
*ראשית נביט בכפל ב2
**הספרות <math>\{0,1,2,3,4\}</math> נשלחות לספרות <math>\{0,2,4,6,8\}</math> בהתאמה.
**הספרות <math>\{0,1,2,3,4\}</math> נשלחות לספרות <math>\{1,3,5,7,9\}</math> בהתאמה.**הספרות <math>\{5,6,7,8,9\}</math> כפול 2 שוות ל <math>10+x</math> ונשלחות ל<math>1+x</math>. **נשים לב כי פעמיים הספרה שקול ל <math>x</math> מודולו 10.
**סה"כ הגדרנו את הפונקציה הבאה על הספרות <math>f(a)=\begin{cases}2a & a\leq 4 \\ 2a+1 & a\geq 5\end{cases}</math>.
*שימו לב שכפל רגיל ב2 לא היה עובד, כיוון ש<math>2\cdot 5 = 2\cdot 0</math>.
 
 
*מדוע אם כך בחרנו דווקא במשקל 2 שאינו זר ל 10 (ולכן אינו הפיך)?
**ההפיכים מודולו 10 הם אי זוגיים.
**ההפרש בין כל שניים מהם הוא זוגי, ולכן כל חילוף של שתי ספרות בהפרש 5 לא היה מתגלה.
** לדוגמא נניח כי המשקלים הם 1 ו3.
**<math>1\cdot a+3\cdot (a+5)=a+3a+15=1\cdot(a+5)+3\cdot a</math>.
 
*נניח שספרות תעודת הזהות הן <math>x_9,...,x_1</math>כאשר <math>x_1</math> היא ספרת הביקורת והימנית ביותר.
*לפי החישוב לעיל ספרת הביקורת נבחרה כך ש <math>x_9+f(x_8)+x_7+...+f(x_2)+x_1=0</math>.
*נעביר אגף ונקבל נוסחא לספרת הביקורת.
 
 
*קל לראות שתעודת זהות שנפלה בה טעות בספרה אחת אינה תקינה יותר.
**אם הספרה השונה היא במקום אי זוגי אז <math>1\cdot x_i\neq 1\cdot yi</math>.
**אם הספרה השונה היא במקום אי זוגי אז <math>f(x_i)\neq f(y_i)</math> כיוון ש<math>f</math> חח"ע.
*אם החלפנו את הספרות 0,9 במקומות סמוכים לא נזהה את השגיאה.
**אכן, <math>1\cdot 0 + f(9) = 9 = 1\cdot 9 + f(0)</math>.
*אם החלפנו שתי ספרות שונות במקומות סמוכים שאינן הזוג 0,9 אז נזהה את השגיאה.
**אם שתי הספרות קטנות או שוות ל4, נקבל <math>x_i+2x_j-x_j-2x_i=x_j-x_i\neq 0</math>.
**אם שתי הספרות גדולות או שוות ל5 נקבל <math>x_i+2x_j+1-x_j-2x_i-1=x_j-x_i\neq 0</math>.
**אם <math>0\leq x_i\leq 4</math> אבל <math>5\leq x_j\leq 9</math> נקבל <math>x_i+2x_j+1-x_j-2x_i=x_j-x_i+1</math>.
**הדרך היחידה ש<math>x_j-x_i+1=0</math>היא אם <math>x_j-x_i=9</math> וזה בדיוק הזוג 0,9.
 
קידוד, ספרת ביקורת של תעודת זהות, קוד לינארי, קוד המינג.