שינויים

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

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

נוספו 1,392 בתים, 11:46, 21 בדצמבר 2017
/* מרחק המינג */
*מרחק המינג- המרחק בין שני וקטורים ב<math>\mathbb{Z}_2^n</math> הוא כמות העמודות בהן הם נבדלים.
**דוגמא: <math>d((1,0,1,0),(0,1,1,0))=2</math>.
 
*נסמן ב<math>d_{min}</math> את המרחק הקטן ביותר בין שתי מילים חוקיות כלשהן <math>Gx_1,Gx_2</math>.
**אם כמות השגיאות קטנה או שווה ל<math>n</math> יש בדיוק מילה חוקית אחת שיכולה להיות המקור.
**אחרת, ניתן להגיע ע"י n שגיאות משתי מילים חוקיות למילה שקיבלנו, כלומר המרחק בין שתי המילים החוקיות קטן או שווה ל<math>2n</math>, בסתירה.
 
 
*דוגמא: בקוד ביט parity מתקיים כי <math>d_{min}=2</math> והקוד יכול לזהות שגיאה אחת ולא לתקן בכלל.
 
 
*טענה:
*הקוד מסוגל לזהות לפחות שגיאה אחת אם ורק אם ב<math>H</math> אין עמודת אפסים.
**הוכחה:
**תהי מילה חוקית <math>v</math> ונוסיף לה שגיאה אחת בדיוק <math>v+e_i</math>.
**אזי <math>H(v+e_i)=Hv+He_i=0+C_i(H)</math>.
 
*טענה:
*<math>d_{min}\geq 3</math> אם ורק אם ב<math>H</math> אין שתי עמודות זהות.
*במקרה זה ניתן לזהות לפחות שתי שגיאות, ותקן לפחות שגיאה אחת.
**הוכחה:
**תהי מילה חוקית <math>v</math> ונוסיף לה שתי שגיאות <math>v+e_i+e_j</math>.
**אזי <math>H(v+e_i+e_j)=C_i(H)+C_j(H)</math>.
**זה שווה אפס (כלומר המילה החדשה חוקית) אם ורק אם <math>C_i(H)=C_j(H)</math>.
 
 
*הערה:
*נניח שהוספנו <math>n-k</math> ביטים למידע, זה משאיר ל<math>A</math> כמות של <math>2^{n-k}-(n-k)-1</math> עמודות שיכולות להיות שונות מאפס, ושונות מהעמודות של <math>I_{n-k}</math>.
*כלומר על מנת לתקן שגיאה אחת, כמות הביטים שעלינו להוסיף לוגריתמית ביחס לכמות המידע.
checksum בפרוטוקולי IP, TCP, UDP.