Galerija

Da li je moguće komprimovati neki fajl faktorom: beskonačno

Koliko god da nam je veliki hard disk, pre ili kasnije, više pre nego kasnije, postaće nam tesan i na kraju potpuno ispunjen. No što su diskovi veći, to su i apetiti veći. Nekada su to samo bili tekstualni fajlovi i programi, danas, predominiraju slike, muzika i filmovi. A oni veoma brzo popune sav slobodan prostor. Kada se to desi postoji samo dva izbora, brisati manje bitan sadžaj ili smanjiti sadržaj. Za korisnike računara bez informatičke kulture, to je veoma nov i interesantan koncept. Ljudi naviknuti na fizički prostor, znaju da ako postoji soba u nju se može staviti određen broj kubnih metara objekata i kada se to ispuni, gotovo je. Pa kako to da u informatici može i da se sažme? Dobra metafora bi bilo prepakovanje. Na primer, ako imate stolice one zauzimaju veliki kubni prostor, ali se između nogu nalazi velika praznina, dovoljno ju je rastaviti na elementarne delove i mnogo veći broj stolica će stati u istu sobu. Dakle, nije ta informatika baš sve iz početka izmislila. Kompresija fajlova se uvek zasniva na identifikovanju i ukljanjanju praznog ili reduntantnog pod-sadržaja. Razlika između informatike i realnog života je da biste stolicu koristili morali biste da potrošite par sati da je sklopite i isto toliko da je rasklopite svaki put kada bi vam zatrebala, e to vaš računar upravo i radi. Nakon što kliknete na fajl, vaš procesor će iz elemantarnih delova, na brzinu, sklopiti stolicu i vi je koristite, i čim fajl zatvorite, on ga brže bolje sklopi na elementarne delove ponovo i tako stalno. Koncept je identičan, ali brzina sklapanja i rasklapanja omogućava u računarskom svetu ono što je nemoguće ili veoma nepraktično u realnom svetu. No, uklanjanje praznina je samo jedna mogućnost, mnogo veći stepen kompresije se postiže uklanjanjem ponovljivih informacija. Na primer ako bi vaš fajl bio sadržan od milion slova A, on bi nekomprimovan bio oko jednog megabajta, ali komprimovan svega 5 bajtova. Prvih četiri bi imalo zapisano broj milion, a onda bi stajao simbol A. Dakle kompresija nekim faktorom od 200 hiljada puta. Realni fajlovi, međutim, retko su tako jednostavni, oni su kombinacija ponovljivog i neponovljivog sadržaja i sva veština kompresije sastoji se u prepoznavanju ponovljivih delova. I tako statistički stereo CD fajlovi se u MP3 format komprimuju najviše deset puta, bitmap slike u PNG sličnim faktorom. No nakom MP3, došao je i MP4, pa WMA, nakon JPGa došao je J2K (JPEG2000) i svaki novi, efikasniji način kompresije je u stvari identifikovanje boljeg matematičkog modela koji bi prepoznao duže sekvence ponovljivog materijala i njegove zamene nekin kratkim brojem. MP3 pokušava da otkloni frekvencije koje prosečno ljudsko uvo nije u stanju da čuje u određenoj sekvenci, JPG to isto čini, ali na vizuelnom polju, ukljanjaju se bogatstva različitosti nepristupačna našim čulima.

Evo još jednog prirodnog kompresora do beskonačno malog

Evo još jednog prirodnog kompresora do beskonačno malog: crna rupa

Međutim, da li je to dovoljno i da li je to kraj naših mogućnosti kompresije? Naravno da ne, već postoje drugi načini kompresije koji mogu i mnogo bolje da komprimuju, ali su spori čak i za današnje računare, pa se ne primenjuju, recimo da bi se sveli na dugotrajno montiranje stolice pre svakog korišćenja. No, to je samo pitanje vremena i svakako će ući u opticaj sa sledećim generacijama računara sa snažnijim procesorima.. Ali, da li možemo da odemo i korak dalje, i gde nas sve to može odvesti? Ako zamislimo neku složenu matematičku formulu, linearnu funkciju ili neku trigonometrijsku ili logaritamsku funkciju, one neretko imaju ne tako očigledan izgled. Radi jednostavnosti objašnjenja zamislimo sinosoidu, koja opisuje beskonačan broj znakova sa svega 3 slova SIN. Dakle beskonačnost se može svesti na 3 slova, dakle faktor kompresije je beskonačno. Kada bi računari imali dovoljno vremena da analiziraju mnogobrojne kombinacije elementarnih matematičkih funkcija, mogli bi vremenom možda da pronađu jednu ili mali broj koji bi opisao ceo fajl. No i tome nije kraj, umesto da se samo traže ponavljajuće informacije, zašto ne bismo imitirali neki biološki sistem. Početne genetske informacije su dovoljne da bi se razvio čitav kompleksan sistem od spermatozoida i jajne ćelije sve do odraslog čoveka. Dakle početni fajl bi bio odrasli čovek i onda bi računar trebalo da izračuna korake unazad, dakle da pronađe tačnu sekvencu generacijskih involucija koja bi tog odraslog čoveka svela na početne hromozome, i kada  to otkrije, umesto čoveka bi se memorisalo samo pregršt simbola, početnog genetskog materijala. Naravno sistem za dekompresiju bi morao da poznaje pravila pretvaranja i razmnožavanja jedne kombinacije gena u drugu. Uz dovoljnu komputacionu brzinu, to nije nezamisliv proces. Slično bi se moglo raditi i sa principom klatna sa laktom ili interakcijom elementarnih ćelija automata (kao na primer igra life). I jedno i drugo stvara na izgled neverovatno složene oblike, međutim ekperimentalno je utvrđeno da je moguće počevši od elementarnog polaznog stanja uz veoma jednostavna pravila stvoriti evolucijom veoma složene oblike, dakle na izgled ni malo simetrične, prazne ili sa puno ponovljenih informacija. Nešto kao naš fajl. E sad sva mudrost je izračunati koja su to pravila i koje početne vrednosti potrebne da se od svega pregršt simbola stvore dugačke i komplikovane sekvence simbola. Složenost, dakle, može da proističe iz jednostavnosti, sva mudrost je kako iz jednog stvoriti drugo. To računanje unazad je komplikovano, ali samo otkriće da jedna složenost ne proističe samo iz druge složenosti je veliki prvi korak. A to bi nas odvuklo i mnogo dalje, na primer, zašto je koncept Velikog Praska uopšte teorijski moguć. Iz malo prostora stvori se čitav svemir. Pa možda upravo zato što su početne informacije i početna pravila bila dovoljna da se vremenom iz male, hajde, nazovimo je, „kuglice“, stvore tako bezpregledna prostranstva. Jer i svemir nije nastao u jednom trenutku već traje već 13 milijardi godina, a za to vreme bi i sporiji računari nego onaj što ga ima Priroda uspeli mnogo toga da dekomprimuju.

Ako želite da odslušate, prilog počinje na 08 min 28 sek

Advertisements

One comment on “Da li je moguće komprimovati neki fajl faktorom: beskonačno

  1. Povratni ping: Teorija o pertlama | Markus Maki

Zatvoreno za komentare.