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

תוכן שנמחק תוכן שנוסף
מ clean up, replaced: הינה ← היא, הינו ← הוא באמצעות AWB
Matanyabot (שיחה | תרומות)
מ בוט החלפות: \1ליניארי
שורה 15:
מכאן מתקבלת אפשרות להעריך קוד על פי מספר קריטריונים בסיסיים - מספר האותיות שבהן משתמשים בקוד, אורך כל מילה בקוד, מספר המילים בקוד (עושר השפה) ומרחק הקוד (היכולת לתקן שגיאות). למעט מספר האותיות בקוד, הקשור לאמצעי הטכנולוגי בו משתמשים לתקשורת (למשל, האם מעבירים מסרים בשפה [[בסיס בינארי|בינארית]] או דווקא בשפה [[טרינרי|טרינרית]]), שאר המאפיינים ניתנים לשינוי ולשליטה מסוימת על ידי יוצרי הקוד. מאפיינים אלו עומדים אחד מול השני - הגדלת המרחק של הקוד מצמצמת את מספר המילים האפשריות, ואמנם על ידי הגדלת אורך המילים בקוד ניתן להגדיל הן את המרחק והן את מספר המילים אך בכך גם מגדילים את הסרבול של הקוד ואת מספר השגיאות הממוצע שהוא סופג בעת העברתו. כאשר קובעים את אורך הקוד ואת המרחק שלו, מספר המילים האפשריות בקוד הוא מוגבל. קודים שמספר המילים בהם הוא מקסימלי, עבור אורך מילה ומרחק קוד קבועים, נקראים קודים אופטימליים, ועיקר תורת הקודים הוא בחיפוש וחקירה של קודים כאלו.
 
===קודים לינארייםליניאריים===
{{ערך מורחב|קוד לינאריליניארי}}
חלק גדול מהקודים הטובים (מבחינת גודל הקוד ומרחקו), הם דווקא קודים המקיימים דרישה נוספת - הם מהווים [[מרחב וקטורי|מרחבים וקטוריים]] מעל אוסף סימני האלפבית. קודים כאלו נקראים [[קוד לינאריליניארי|קודים לינארייםליניאריים]].
 
משמעות הדרישה שקוד מסוים הוא מרחב וקטורי היא שהקוד סגור תחת פעולות חיבור וכפל בסקלר אשר יוגדרו להלן:
שורה 23:
* לכל מילת קוד <math>\ (a_{1}, ..., a_{n}) \isin C</math> וסימן <math>\ x\isin F</math> בא"ב, שייכת גם המילה <math>\ (xa_{1}, ..., xa_{n})</math> לקוד.
 
יש להעיר שעל מנת שיוגדרו פעולות הכפל והחיבור בצורה נאותה, הא"ב המגדיר את הקוד צריך להיות [[שדה סופי|שדה]], ומכך נובע שגודלו <math>\ q</math> חייב להיות חזקה של [[מספר ראשוני]] כלשהו. בקודים לינארייםליניאריים נהוג לציין את [[ממד (אלגברה לינאריתליניארית)|ממד]] הקוד כמרחב וקטורי, ולא את מספר המילים שבקוד (שהוא q בחזקה הממד).
 
יתרונות הקודים הלינארייםהליניאריים על קודים רגילים רבים: קל לייצגם באמצעות [[בסיס (אלגברה)|בסיס]] של הקוד, וקיימות שיטות פשוטות לקידוד קודים כאלה, ולבדיקת טעויות. פענוח קודים כאלה הוא לאו דווקא יעיל מבחינה חישובית, אולם יש דוגמאות רבות בהן הפענוח יעיל ומשתמש בתכונות האלגבריות של הקוד (ראו בערך המורחב).
 
==ראו גם==