תורת הקודים – הבדלי גרסאות

תוכן שנמחק תוכן שנוסף
Loveless (שיחה | תרומות)
מ רובוט מוסיף: zh:编码理论
שכתוב החלק על קודים לינאריים
שורה 16:
 
===קודים לינאריים===
{{ערך מורחב|קוד לינארי}}
באופן מפתיע, חלק גדול מהקודים הטובים (מבחינת גודל הקוד ומרחקו), הם דווקא קודים שמוגבליםהמקיימים עלדרישה ידינוספת עוד דרישה- הדרישההם שהקוד יהיהמהווים [[מרחב וקטורי|מרחבים וקטוריים]], מעל אוסף סימני האלפבית. קודים כאלו נקראים [[קוד לינארי|קודים לינאריים]].
 
משמעות הדרישה שקוד מסוים הוא מרחב וקטורי היא שהקוד סגור תחת פעולות חיבור וכפל בסקלר אשר יוגדרו להלן:
כדי לומר שקוד מסוים הוא מרחב וקטורי, צריך לפני הכול להגדיר בין מילות הקוד פעולות של חיבור וכפל בסקלר. לשם כך קובעים שאוסף האותיות שמהן מורכבות מילות הקוד יהיה [[שדה (מבנה אלגברי)|שדה]], ואפילו [[שדה סופי]]. אם נסמן את מספר האותיות של הקוד ב- q נקבל שתנאי הכרחי לכך שהקוד יהיה קוד לינארי הוא ש- q יהיה חזקה של [[מספר ראשוני]] (ראו בערך על [[שדה סופי|שדות סופיים]]). המקרה הנפוץ ביותר כיום הוא של קודים בינאריים - שמכילים רק את הספרות 0 ו-1, שבהם מספר האותיות הוא q=2, מספר ראשוני בעצמו.
* לכל שתי מילות קוד <math>\ (a_{1}, ..., a_{n}), (b_{1}, ..., b_{n}) \isin C</math>, שייכת גם המילה <math>\ (a_{1}+b_{1}, ..., a_{n}+b_{n})</math> לקוד.
* לכל מילת קוד <math>\ (a_{1}, ..., a_{n}) \isin C</math> וסימן <math>\ x\isin F</math> בא"ב, שייכת גם המילה <math>\ (xa_{1}, ..., xa_{n})</math> לקוד.
 
אחרייש שנזההלהעיר אתשעל אותיותמנת הקודשיוגדרו עםפעולות איבריהכפל השדהוהחיבור בןבצורה qנאותה, אבריםהא"ב נקבלהמגדיר זיהוי שלאת הקוד עצמוצריך עםלהיות תת[[שדה קבוצהסופי|שדה]], שלומכך המרחבנובע הווקטורישגודלו <math>\mathbb{F}_q ^nq</math>, כאשרחייב <math>\mathbb{F}_q</math>להיות הואחזקה השדהשל שמזוהה[[מספר עםראשוני]] אותיות הקוד, ו-n הוא אורך כל מילה בקודכלשהו. בצורהכאשר הזוהא"ב מוגדריםבינרי חיבור(מכיל וכפלשני בסקלרסימנים עלבלבד), איברי Cלמשל, ולכן ניתן לשאול האם C הוא מרחב וקטורי מעל <math>\mathbb{F}_q</math> או לא. אם הואמתקבל מרחבשדה וקטורי-עבור אזפעולות הואהכפל קודוהחיבור לינאריהרגילות. בקודים לינאריים נהוג לציין את [[ממד (אלגברה לינארית)|ממד]] הקוד כמרחב וקטורי, ולא את מספר המילים שבקוד (שהוא q בחזקה הממד).
 
יתרונות הקודים הלינאריים על קודים רגילים רבים: קל לייצגם באמצעות [[בסיס (אלגברה)|בסיס]] של הקוד, וקיימות שיטות פשוטות לקידוד ופענוח קודים כאלה. (ראה בערך המורחב)
היתרון הגדול של קודים לינאריים על פני קודים רגילים הוא בפשטות שלהם- כל המידע של הקוד (אלו מילים נמצאות בקוד ואלו לא), טמון בקבוצה קטנה שהיא ה[[בסיס (אלגברה)|בסיס]] של הקוד. ניתן לקחת בסיס של הקוד ולסדר אותו ב[[מטריצה]]. מטריצה זו נקראת מטריצה יוצרת כיוון שניתן ליצור את כל מילות הקוד על ידי הכפלת וקטור במטריצה הזו.
 
==ראו גם==