Teoria informacji/TI Wykład 13: Różnice pomiędzy wersjami

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
Niwinski (dyskusja | edycje)
Niwinski (dyskusja | edycje)
Linia 39: Linia 39:


A jednak - po lepszym zrozumieniu - idea najktótszego opisu prowadzi do
A jednak - po lepszym zrozumieniu - idea najktótszego opisu prowadzi do
sensownej miary złożoności, którą zajmiemy się na tym wykładzie.
sensownej miary złożoności, którą przedstawimy na tym wykładzie.


Przyjmiemy, że obiekty, które chcemy opisywać, to słowa
Przyjmiemy, że obiekty, które chcemy opisywać, to słowa

Wersja z 17:28, 22 sie 2006

Andriej Nikołajewicz Kołmogorow (1903-1987)

Złożonośc informacyjna Kołmogorowa

Odwołajmy się do codziennego doświadczenia. Chyba każdy się zgodzi, że niektóre liczby można zapamiętać łatwiej niż inne i nie zależy to tylko od wielkości liczby. Bez trudu zapamiętamy liczbę 1000100 czy nawet

100100100100

natomiast zapamietanie 20 ,,losowych" cyfr sprawi nam kłopot. No, chyba, że to będą np.

31415926535897932384

wtedy, nawet jeśli nie ,,trzymamy" tych cyfr w pamięci, możemy je w razie potrzeby odtworzyć, np. korzystając z formuły Leibniza 1113+1517+19=π4.

Nie inaczej ma się sprawa z tekstami. Mamy swiadomość, że przy odpowiednim nakładzie pracy i czasu potrafilibyśmy się nauczyć na pamięć wybranej księgi ,,Pana Tadeusza" (a może nawet całego poematu), natomiast zapamietanie -- powiedzmy -- 10 stron ,,losowych" symboli wydaje się przekraczać możliwości zwykłego człowieka. No chyba, że znowu -- znaleźlibyśmy jakiś ,,klucz", na przykład okazałoby się, ze jest to tekst w obcym języku, którego jednak jesteśmy w stanie się nauczyć.

Jakie pojęcia matematyczne kryją się za tym zjawiskiem? W przypadku liczb odpowiedź jest stosunkowo prosta: niektóre liczby całkowite można opisać znacznie krócej niż podając ich rozwinięcia dziesiętne; wystarczy wtedy zapamiętać ów krótszy ,,opis". W pierwszym przybliżeniu, za złożoność liczby bylibysmy więc skłonni uznać długość jej najkrótszego opisu. Jednak widzieliśmy już na pierwszym wykładzie, że takie postawienie sprawy prowadzi do paradoksu Berry'ego, dlatego też wprowadziliśmy wtedy pojęcie notacji.

A jednak - po lepszym zrozumieniu - idea najktótszego opisu prowadzi do sensownej miary złożoności, którą przedstawimy na tym wykładzie.

Przyjmiemy, że obiekty, które chcemy opisywać, to słowa nad alfabetem {0,1}; zarówno liczby naturalne, jak też słowa nad większymi alfabetami można łatwo sprowadzić do tego przypadku.

Ideą Kołmogorowa było, by za złożoność słowa w przyjąć długość najkrótszego programu generującego to słowo, przy wybranym języku programowania, np. języku Pascal. W istocie Kołmogorow nie użył języka Pascal, lecz pojęcia maszyny Turinga, jednak -- jak wkrótce się przekonamy -- wybór ten nie ma większego znaczenia, podobnie jak zresztą wybór innego języka programowania (np. C++ zamiast Pascala).