Redundancja

Z Wikipedii, wolnej encyklopedii
Przejdź do nawigacji Przejdź do wyszukiwania

Redundancja (łac. redundantia – 'powódź', 'nadmiar', 'zbytek') – nadmiarowość w stosunku do tego, co konieczne lub zwykłe. Określenie może odnosić się zarówno do nadmiaru zbędnego lub szkodliwego, niecelowo zużywającego zasoby, jak i do pożądanego zabezpieczenia na wypadek uszkodzenia części systemu.

Zrównoleglone styki czujnika temperatury

Inżynieria[edytuj | edytuj kod]

W celu zmniejszenia prawdopodobieństwa załamania pracy systemu stosuje się zdublowanie krytycznych elementów systemu. W systemach, w których w przypadku awarii zagrożone jest życie ludzi, niektóre części występują potrójnie. W konstrukcjach takich jak samoloty używające całkowicie skomputeryzowanego systemu sterowania – fly-by-wire – element generujący błędną decyzję zostaje przegłosowany przez dwa pozostałe. Inna możliwość to równoległa praca trzech komponentów, ponieważ oczekuje się, że jeśli awarie podsystemów będą rzadkie i niezależne w każdym, to prawdopodobieństwo jednoczesnej awarii trzech jest znikomo małe.

Nadmiarowość danych w bazach danych[edytuj | edytuj kod]

Bazy danych są zwykle normalizowane, czyli doprowadzane do postaci bez nadmiarowości. W szczególności w odniesieniu do relacyjnych baz danych dąży się do sytuacji, gdy każda relacja zawiera unikalne informacje oraz klucze łączące z innymi relacjami. W szczególnych przypadkach, w celu przyspieszenia obróbki danych, relacje bywają denormalizowane, jednak może to być źródłem błędów i wewnętrznej niespójności bazy.

Programowanie[edytuj | edytuj kod]

W programowaniu często można się spotkać z pojęciem nadmiarowego kodu (ang. redundant code). Jest to:

  • kod, który jest wykonywany, ale nie ma żadnego wpływu na wynik końcowy;
  • tak zwany kod zombie, który znajduje się w programie, ale nigdy nie jest wykonywany;
  • tak zwany kod zdublowany – zawarty wielokrotnie taki sam fragment kodu, pełniący tę samą funkcję (lub bardzo zbliżony), a dający się zredukować przez zastąpienie go funkcją lub procedurą.

Niektórzy nie uznają kodu nadmiarowego za kategorię nadrzędną i nie zaliczają do niego kodu zombie i kodu zdublowanego, traktując je jako osobne kategorie. Nadmiarowy kod, oprócz tego, że zwiększa objętość programu oraz obniża jego czytelność, może prowadzić do wielu błędów (zwłaszcza kod zdublowany).

Nadmiarowość informacji w teorii informacji[edytuj | edytuj kod]

W teorii informacji redundancja to ilość informacji przekraczająca wymagane do rozwiązania problemu minimum. Bardziej formalnie – liczba bitów w wiadomości minus liczba bitów faktycznej informacji.

Celowa redundancja danych jest stosowana w celu ułatwienia odtworzenia danych po ich częściowej utracie czy uszkodzeniu lub też do wykrycia takiego uszkodzenia (CRC, Suma kontrolna).

Redundancja ma zastosowanie głównie w przypadku bardzo ważnych, strategicznych dla danego systemu informacji. Szczególnie często mamy do czynienia z redundancją danych w systemach telekomunikacyjnych, gdzie niezawodność przesyłania odgrywa kluczową rolę podczas transmisji. W dzisiejszych czasach nadmiarowość jest cechą większości systemów informacyjnych przesyłających dane w postaci cyfrowej.

Usuwanie nieprzydatnej redundancji to kompresja danych. Paradoksalnie, wiele programów kompresujących może dodawać niewielkie informacje nadmiarowe, pozwalające wykryć uszkodzenie skompresowanych danych (sumy kontrolne).

Język[edytuj | edytuj kod]

Zarówno mowa, jak i pismo zawierają redundantne informacje. Obecność w języku elementów nadmiarowych pozwala na efektywniejszą komunikację, szczególnie w przypadku, gdy przekaz jest zakłócony przez czynniki zewnętrzne (tzw. szum). Przykładem zjawiska redundancji jest powtarzanie informacji o rodzaju, liczbie i przypadku gramatycznym w połączeniach takich jak wysoki dom[1]. Nadmiarowość bywa niekiedy stosowana również do podkreślenia znaczenia komunikatu. Niecelowa nadmiarowość, jak okres czasu czy miesiąc lipiec, uważana jest za niezręczność językową (zobacz też pleonazm, tautologia).

Komunikacja[edytuj | edytuj kod]

Redundancja w komunikacji umożliwia definiowanie nadmiarowych tras komunikacyjnych, które mogą być używane wzajemnie zamiennie (rodzaj gorącej rezerwy) przy dostępie do danych czasu rzeczywistego (procesowych) w urządzeniach przemysłowych (np. PLC, DCS) przez stacje klienckie warstwy sterowania i zarządzania procesem (np. HMI, SCADA). Przesył danych przez różne trasy komunikacyjne wiąże się ze zróżnicowaniem kosztów, co musi być uwzględnione w algorytmie wyboru trasy. Ponadto wszystkie trasy muszą być okresowo sprawdzane, aby zapobiec sytuacjom, kiedy droga zapasowa jest z jakiegoś powodu niedostępna, a system o tym nie wie.

Zobacz też[edytuj | edytuj kod]

Przypisy[edytuj | edytuj kod]

  1. redundancia, nadbytočnosť [w:] Jozef Mistrík, Encyklopédia jazykovedy, wyd. 1, Bratysława: Obzor, 1993, s. 364, ISBN 80-215-0250-9, OCLC 29200758 (słow.).

Linki zewnętrzne[edytuj | edytuj kod]