TEORIJA ALGORITAMA I ALGORITMIKA – Miloš Tica

autor: Miloš Tica
broj stranica: 233
godina izdanja: 2021.
vrsta uveza:
jezik: srpski, latinica

2,100.00 din

Opis

Matematičke osnove računarstva
Miloša Tice, inžinjera računarstva u penziji

Knjiga koja je pred nama je neobična, ne samo zato što nam autor nije do sad bio poznat, niti zato što se odjednom predstavlja četvorotomnim obimnim djelom, gdje je ova knjiga drugi dio kompleta. Najneobičnije u ovoj knjizi je što ovaj autor, kojega nam je zadovoljstvo otkriti, posjeduje vrlo specifičan prikaz koji uspješno povezuje praktično i teoretsko računarstvo, diskretnu matematiku, te elemente filozofije i logike. Rijetki su ljudi kao ovaj autor, koji su proveli cijeli radni vijek na praktičnom radu u algoritmici, uključujući i odgovorne položaje rukovodilaca razvojnih odjeljenja računarskih centara i koji sada, sa nedotaknutim entuzijazmom za nauku, žele ne samo podijeliti svoje ogromno iskustvo, nego podvući potrebu za teorijskim osnovama u računarstvu.

Od prve stranice čitalac shvata da se ovdje radi o djelu koje direktno i otvoreno kaže da računarstvo nije lista nepovezanih programa u nekom od modernih jezika programiranja, nije samo sposobnost korištenja brzo naučenih metoda sa kurseva, nije samo mogućnost rješavanja problema iz privrede, onakvih kakvih ih vidimo danas. Naprotiv, računarstvo je osnovna konstrukcija sutrašnje privrede, sa novim fizičkim, ali prije svega novim teoretskim osnovama. Zbog toga mu treba prići ne samo sa praktične strane, nego prije svega sa teoretske. I ako to čujete od nekog profesora univerziteta, koji više voli teoreme o algoritmima nego algoritme u primjeni, možda ćete sumnjati u tačnost te teze; ali ako isto čujete od nekoga ko dolazi iz visoke prakse računarstva, ko vam pokazuje ovom knjigom šta zaista treba znati da bi se bilo uspješnim u toj struci, sigurno ćete obratiti pažnju.

Poglavlje A je posvećeno matematičkoj teoriji algoritama.

Prvi dio govori o vezi između prirodnih i formalnih jezika, obzirom da su formalni jezici jedan od najčešće korištenih načina da se definiše algoritam. Formalni jezici su lijepo uvedeni putem niza analogija sa prirodnim jezicima, kao i osnovnih razlika, od kojih je najvažnija ta da formalni jezik ne smije zavisiti od konteksta. Mislim da je ovaj pristup neobičan, jer se u literaturi obično počne direktno sa
formalnim logičkim definicijama, i dopada mi se jer daje motivaciju i intuiciju nadolazaćem formalnom pristupu. Prilika je to i da se diskutuje o (ne)mogućnosti jedinstvenog ljudskog jezika, mehaničkom prevodu i nezamjenjljivoj ulozi kreativnog čovjeka, kao u datom
primjeru prevoda Štihova Ogdena Neša koji je napravio Mika Antić. Diskusija onda prelazi na formalne matematičke jezike, koji su predstavljeni kroz razne klase koje su sve povezane raznim produkcionim sistemima stvaranja riječi, ili rekurzivnim definicajama. Dati su mnogi primjeri jezika i produkcija, uključujući finite state automate, Push-down automate, te Turingove mašine. To je i prilika da se govori o gramatici programskih jezika i BahusNaurovoj formi. To je takođe i prilika da se napravi mala digresija o budućnosti računarstva, uključujući interesantne napomene i primjere o tome kako je teško govoriti o budućnosti u ovom polju koje se razvija brže nego što je
iko mogao i slutiti.

Onda slijedi vrlo dobro motivisana i filozofski bogata diskusija o raznim vrstama problema i njihovih rješenja, sa mnogim primjerima, klasifikacijama i metodama. Zaista bogat materijal u cijelom poglavlju E, iz kojeg čitalac može naučiti kako praktično-teoretski materijal o algoritmima, jezicima i pristupima, tako i širu dimenziju rješavanja problema na metodički način. U ovom poglavlju se govori i o neodlučivim i o nerješivim problemima, te o tome kako se takve tvrdnje mogu dokazati. Dotiče se i pitanje trivalentne logike. Slijedi
dugačak i dobro motivisan dio o tome šta je algoritam. Mislim da je ovaj dio knjige najdublji matematički i zaista smatram da bi svaki
čitalac trebao da se koncentriše u ovom momentu, jer je upravo tu mjesto gdje ga pisac vodi sa apstraktnih pojmova na vrlo konkretne programski orijentirane mehanizme. Ovo je tačka na kojoj će čitalac koji je dobro shvatio „zašto“, lako razumjeti „kako“. To je i cijela poenta piščeve metode. Poglavlje F govori o složenosti algoritama. Naime, osnovna razlika između čisto matematičkog ili logičkog pristupa problematici odlučivosti i pristupa sa stanovišta računarskih nauka, je konačnost vremena. Ne samo konačnost, nego fizička ograničenost vremena.