יתירות

יתירות (Redundancy) היא ביטוי כללי המתאר מצב או תכונה של כפילות; עודפות; תוספת מעבר לנדרש או הנורמלי. פרשנות המילה יכולה להיות בהקשר שלילי כגון ברטוריקה: מילוליות-יתר; כפל לשון, או בהקשר חיובי כגון בהנדסה: כפילות המשמשת למניעת כשל או קריסת המערכת. הביטוי יתירות משמש בתחומים רבים בהם: תורת האינפורמציה, הנדסה, שפות דיבור, שפות תכנות וקריפטוגרפיה.

יתירות בהנדסה

יתירות הנדסית מתפקדת בשני אופנים, יתירות פסיבית ויתרות אקטיבית. שניהם מתאפיינים בכפילות או עודף כושר יצור או תפוקה מעבר לדרישות המינימליות או מגבלות בטיחות הדרושות ונועדו למנוע מצב של ירידה פתאומית בביצועים או השבתה מוחלטת עקב תקלה ופועלים באופן אוטומטי ללא צורך בהתערבות חיצונית. בכך משפרים את אמינות ויציבות המערכת.
יתירות פסיבית מנצלת עודף בכושר או תפוקה לצימצום מידת ההשפעה של כשל. מקרה טיפוסי כזה הוא השימוש העודף בכבלים המחברים גשר תלוי כדי להפחית את הסיכון שבקריסת הגשר כולו, במקרה שאחד מהם ניתק או נקרע. הצבת שני פנסי דרך ברכב, כך שבמקרה של תקלה באחד מהם, לא נותר הנוהג ברכב ללא ראות כלל. דוגמה נוספת היא RAID קיצור של redundant array of independent disks, תצורת אחסון של כוננים קשיחים הנהוגה בשרתים, באופן המאפשר שחזור מידע שאבד בעת תקלה. בדוגמאות אילו, נוצלה תכונה הנדסית מובנית ולא נעשתה כל פעולת בדיקה או תהליך קבלת החלטות כלשהו לטיפול בתקלה. שיטה כזו של תכנון הנדסי נקראת גם "שולי ביטחון".
יתירות אקטיבית מתמודדת עם כשל ביצועי במערכת על ידי ניטור המרכיבים הקריטיים ובדיקה שגרתית שלהם על ידי מערכות בקרה וניתוב אוטומטיות - תוך שימוש ב"לוגיקת הצבעה" - המעבירה את החיבור למרכיב גיבוי ללא התערבות חיצונית. חלק מתשתיות החשמל של ספקי החשמל פועלות על עיקרון לוגיקת הצבעה, כאשר מאותר עומס יתר באחד הקווים, מתבצע ניתוק של הקו העמוס וחיבור מחדש של קווים אחרים וכל זאת ללא מגע או התערבות חיצונית. ישנן מערכיות קריטיות הפועלות על עיקרון דומה כגון גנרטור חשמלי שנכנס לפעולה אוטומטית כאשר רשת החשמל הכללית נופלת כפי שנהוג במקומות כמו בתי חולים או מערכת אל-פסק, וכן בלמי חרום במשאית או רכבת. כיום חלק גדול מהמערכות האמורות נעזר בבקרת מחשב. בהקשר זה היתירות מתפקדת כמצב אל-כשל (fail-safe).

דחיסת מידע

דחיסת מידע היא בעצם דרך מתמטית לצימצום או סילוק יתירות בלתי רצויה מהמידע על ידי סידור מחדש של המידע בצורה המייצגת את כולו ביעילות הרבה ביותר תוך שמירה על שטח אחסון המינימלי ביותר. היתירות במידע משמשת כ"סדר" שמטרתו להקל על הבנת המידע לבני אדם. אולם כשמדובר במחשבים סידור כזה בזבזני וגוזל נפח אחסון יקר.
במחשב מידע מיוצג על ידי סיביות, אותיות מיוצגות בקידוד ASCII לפיו כל אות מאכלסת שמונה סיביות, מצב המאפשר לייצג בעזרת בית אחד 256 תווים אפשריים. לא כל התווים מאכלסים את שטח הבית במלואו התווים הראשונים בטבלה ניתנים לייצוג בפחות סיביות מאשר האחרונים למשל. אולם למען הקריאות עבור בני אדם לא ניתן לנצל רווחים אילו, בהקשר זה הרווחים (קרי אפסים) בייצוג המידע משמשים כיתירות טבעית הנחוצה לצורך קריאותו. מחשב אינו זקוק לרווחים ועל כן ניתן לנצל שטח זה לאחסון מידע נוסף. הופמן למפל וזיו ואחרים הראו שיטות שונות כיצד לנצל רווחים אילו לייצוג התווים באופן החסכוני ביותר המתאים למחשב.

סכום ביקורת

לעומת זאת סכום ביקורת הוא אמצעי להוספה מכוונת של יתירות לצורך איתור שגיאות הנובעות משיבושים בשידור עקב רחשי רקע או תקלות בקריאה וכתיבה של הנתונים על גבי מדיה דיגיטלית. בדיקת יתירות מחזורית או בקיצור CRC היא פונקציית איתור שגיאות הנפוצה בשימוש בתקשורת דיגיטלית ובהתקני אחסון לאיתור תקלות מידע הגולמי המועבר בערוץ או בתוכן המאוחסן על גבי המדיה, עקב שיבושים, הפרעות או תקלות. הפונקציה מייצרת מחרוזת קצרה של n סיביות שהיא פונקציה כלשהי המבוססת על שארית מחילוק בפולינומים של התוכן, הנקראת סכום ביקורת אותה משרשרים בסוף התוכן. בבדיקה של המידע לאחר מכן ניתן לזהות שיבושים אם ישנם ולנקוט בפעולה המתאימה אם מחרוזת סכום הביקורת אינה תואמת את הצפוי. קוד תיקון שגיאות הוא אלגוריתם המוסיף יתירות מלאכותית למידע באופן המאפשר שחזור המידע בסביבה בה הערוץ או המדיה בה עובר המידע בלתי יציב או משובש. ככל שנדרש דיוק רב יותר כן יש צורך ביתירות גבוהה יותר. למשל שיטת הצריבה של כונני תקליטורים המקובלת כיום, היא לפי אלגוריתם קוד תיקון שגיאות ריד-סולומון (Reed-Solomon). בשיטה זו המידע הצרוב על גבי הכונן מכיל יתירות מוספת בכמות העולה על כמות המידע עצמו יותר מכפליים.

יתירות לשונית ויתירות רטורית

יתירות היא מאפיין חיוני בחקר שפות ופונולוגיה (תורת ההיגוי). יתירות מסייעת למאזין בהבנת משמעות המילים ומסייעת במניעת בלבול, אי-בהירות ודו-משמעיות העלול לנבוע עקב הפרעה או רעשי רקע ולמעשה אף מגבירה את הסיכוי לניחוש משמעות המסר מבלי לשמוע את כולו בבירור. לדוגמה: בשטח עבודה, עם רעשי רקע חזקים, צועק פועל אל חברו: "בור!" כדי להזהירו מבור שנפער בשטח. השומע עלול לטעות ולשמוע "בוא" ולהתקרב אל הבור במקום להתרחק ממנו. אולם אם המזהיר לא יסתפק במילה אחת המעבירה את המסר, אלא יוסיף מילים "מיותרות" ויצעק: "זהירות! יש כאן בור." הרי שסביר להניח שהשומע יבין שהמילה היא "בור" ולא "בוא", וגם אם לא - ידע שנצעקה אזהרה ויזהר.
יתירות רטורית היא כפילות לשון; מילים לא נחוצות שאין בהן צורך להבהרת המסר ולעיתים אף סותרות ומונעות את הבנתו. כמו כן יתירות ברטוריקה משמעותה גם טאוטולוגיה; משפטים החוזרים על עצמם במילים אחרות אך במשמעות זהה. לדוגמה (דרושה דוגמה).

יתירות בתכנות

בשפות תכנות קוד יתיר הוא ביטוי המתאר קוד שאין לו השפעה כלל על פלט התוכנית. לעיתים מכונה גם dead code (קוד שאינו מבוצע לעולם). ישנם מפתחים שמייחסים ביטוי זה גם לקטעי קוד דומים בעלי פונקצונליות זהה, בטענה כי ניתן היה לכמס קטעים אילו או חלקם תחת פונקציה אחת ובכך למנוע כפילות ולחסוך מקום.

יתירות בקריפטוגרפיה

המושג יתירות בקריפטוגרפיה עלה לראשונה בהקשר של ניתוח תדירויות של צופנים קלאסיים כגון צופן החלפה או צופן ויז'נר. ההצלחה בניתוח הצופנים הקלאסיים נזקפה לא מעט לזכות היתירות הטבעית של השפה, זאת משום שיתירות טקסט המקור זלגה לתוך הטקסט המוצפן ואפשרה למנתח הצופן להבחין בדפוסים ייחודיים בטקסט המוצפן ובעזרת ניתוח סטטיסטי של תדירויות ניתן היה לחשוף חלק נכבד מטקסט המקור ואף את המפתח עצמו. שאנון טבע לראשונה את המונח Unicity distance שהוא מדד הכמות המינימלית של טקסט מוצפן הדרושה למנתח בעל עצמת חישוב בלתי מוגבלת כדי לפרוץ את הצופן או לחלץ את מפתח ההצפנה שבו נעשה שימוש. למשל לחילוץ מפתח ההצפנה בצופן החלפה חד-אלפביתי נדרשות לפחות 28 אותיות. הצופנים הסימטריים המודרניים פועלים על גושי מידע גדולים (כ-64 סיביות לפחות) משום כך אינם חשופים ליתירות הטבעית של שפת הטקסט המיועד להצפנה. לכן ניתוח סטטיסטי מסוג זה אינו ישים כנגדם.