Professional Documents
Culture Documents
Teorija Algoritama, Automata I Jezika
Teorija Algoritama, Automata I Jezika
Uvod Jelena
Ignjatovic´
LITERATURA:
Teorijsko raunarstvo
Danas – u prvi plan se isticˇe razvoj tehnologija na kojima se baziraju racˇunari.
To jedna vrsta pojednostavljivanja, pa i zamagljivanja, stvari kojoj je sklona propaganda industrije
racˇunara i racˇunarskih programa potpomognuta popularnim medijima.
Teorijski rezultati su ono orude koje inspirisˇe i usmerava rad u racˇunarstvu dajuc´i sasvim nove elegantnije
postupke.
Poseban znacˇaj teorijskog racˇunarstva – verifkacija prakticˇnih resˇenja.
Do cˇuvenih gresˇaka u Intelovim procesorima verovatno ne bi dosˇlo da su primenjeni postupci
zasnovani na teorijskim dostignic´ima o kojima c´e biti recˇi u ovom kursu.
Takvih i slicˇnih primera ima na pretek, tako da je sasvim izvesno da c´e u buduc´nosti ovoj oblasti biti
posvec´ena pazˇnja i ona c´e predstavljati glavni oslonac racˇunarskih nauka i sa prakticˇne i sa teorijske
strane.
Izracˇunljivost i odlucˇivost
Resˇavanje problema razvojem algoritama i pisanjem programa je jedan od osnovnih zadataka u racˇunarstvu.
Formalni modeli izracˇunavanja odreduju granice moguc´nosti mehanicˇkog izracˇunavanja koje razdvajaj
AlgoritaM
Pojam algoritama – osnovni matematicˇki koncept i kao takav se ne defnisˇe.
Sledec´i opsˇti uslovi se, prihvataju kao kriterijumi za nazivanje nekog postupka algoritmom (efek- tivnom
procedurom):
postupak se opisuje konacˇnim nizom jednostavnih naredbi,
postoji idealna masˇina (racˇunar) koja izvrsˇava te naredbe prema unapred utvrdenim pravilima,
ta masˇina zapocˇinje izracˇunavanje u nekom inicijalnom stanju; primenjena na ulazne podatke
masˇina izvrsˇava naredbe u diskretnim koracima u kojima menja svoja stanja,
izvrsˇavanje svake naredbe se izvodi u konacˇnom vremenu pri cˇemu se koristi konacˇan memorijski
prostor,
izvrsˇavanje naredbe je deterministicˇko: iz jednog stanja izvrsˇavanjem iste naredbe masˇina uvek
prelazi u isto stanje i
prelaskom u zavrsˇno stanje masˇina prestaje sa izracˇunavanjem.
KoMentar
Osobina determinisanosti izvrsˇavanja naredbi se drugacˇije mozˇe formulisati kao moguc´nost pon-
avljanja izvrsˇavanja algoritama. Ako ga prihvatimo, postupci koji ukljucˇuju slucˇajnost ne spadaju u
algoritme. U pojedinim slucˇajevima mi c´emo odbaciti ovaj uslov i razmatrati i nedeterministicˇke
algoritme.
Algoritam predstavlja opis funkcije koja ulazne podatke preslikava u odgovor. Funkcije za koje postoje
algoritmi zato nazivamo algoritamskim funkcijama (efektivnim funkcijama, izracˇunljivim funkcijama).
AlgoritaM
Poznat je veliki broj algoritama. Za probleme za koje poznajemo postupke resˇavanja lako
utvrdujemo da jesu algoritamski resˇivi. Kako se napreduje u razvoju matematike, nailazi se na
probleme za koje nismo u stanju da damo resˇenje.
Da li je to posledica nasˇe nesposobnosti ili je recˇ o principijelnoj nemoguc´nosti?
Da bi se na to pitanje odgovorilo potrebno je formalno precizirati pojmove algoritma i izracˇunljivih
funkcija.
AlgoritaM
Algoritam – efektivni postupak za resˇavanje problema, jedan od najznacˇajnijih matematicˇkih
pojmova, koji je u matematici prisutan josˇ od samog njenog nastanka.
Recˇ algoritam poticˇe od latinskog zapisa arapskog matematicˇara al-Horezmija Algorithmi, preko cˇijih
dela je do Evrope stigao indijski deseticˇni pozicioni sistem i racˇunanje u ovom sistemu.
Prvobitno se ovaj naziv koristio upravo za oznacˇavanje postupaka za racˇunanje u tom sistemu, a kasnije je
dobio danasˇnji opsˇtiji smisao.
PojaM algoritMa
”Al-dzˇebr” je kod el-Horezmija operacija prenosˇenja cˇlanova sa jedne na drugu stranu jednakosti, uz
promenu znaka, odakle se latinskim zapisom dosˇlo do naziva algebra.
Vec´ vekovima se pojam algoritma u matematici koristi u svom neformalnom, intuitivnom smislu. Mnogi
matematicˇari smatraju da ovaj pojam spada u grupu primitivnih matematicˇkih pojmova i da ne postoje
jednostavniji, intuitivno jasniji matematicˇki pojmovi preko kojih bi se pojam algo-
ritma definisao.
Prvi pokusˇaji preciznog matematicˇkog definisanja pojma algoritma vezani su za problem
odlucˇivosti matematicˇkih teorija, koji je pocˇetkom dvadesetog veka bio veoma aktuelan u
matematicˇkoj logici i filozofiji matematike.
ISTORIJSKI PREGLED
Prve formalizacije pojma algoritma javljaju se tridesetih godina ovog veka, kroz razlicˇite tipovi algoritama:
rekurzivne funkcije (Kleene [1936,1943]);
Postovi sistemi-vrsta formalnih sistema u kojima se opisuju moguc´e transformacije (pravila
izvodenja) jednih u druge recˇi na unapred fiksiranom alfabetu (Post [1936,1943]);
Churchov λ-racˇun-jednostavan formalni jezik za koji se defnisˇe pojam redukcije koji predstavlja
izracˇunavanje (Church [1941]);
Turingove masˇine (A.Turing [1936]); normalni
algoritmi Markova (Markov [1954]);
neogranicˇene registarske masˇine (Shepherdson and Sturgis [1963]);
Komentar
Navedeni tipovi algoritama prvobitno su razmatrani u vezi sa izracˇunljivosˇc´u aritmeticˇkih funkcija, d
Teorija izracˇunljivosti
Tako je razvijena teorija izracˇunljivosti, disciplina racˇunarskih nauka koja se bavi
Modelima i oblicima izracˇunavanja, posebno izracˇunavanjima uz pomoc´ apstraktnih matematicˇkih
masˇina,
Analizom algoritama i problemima kompleksnosti algoritama, Formalnim
gramatikama i formalnim jezicima,
i drugim pitanjima.
Hijararhija ChoMsky
Koncept generativne gramatike prvi put se pojavio 1950-ih godina.
Uveo ga je americˇki lingvist, filozof i humanista Noam Cˇ omski (Noam Chomsky, 1928- ), koji je na
osnovu formalnih svojstava gramatika koje ih generisˇu klasifikovao formalne jezike u sledec´e klase:
regularni jezici;
konteksno-nezavisni jezici;
konteksno-zavisni jezici;
jezici generisani proizvoljnim gramatikama.
Rad autoMata
– sastoji se iz niza uzastopnih prelaza iz stanja u stanje, pod dejstvom niza uzastopnih ulaznih signala.
Sˇ ta je rezultat tog rada?
Automati su masˇine koje sluzˇe za procesiranje informacija.
Informacije se obicˇno predstavljaju nizovima simbola (recˇima) nad nekim alfabetom, i tipicˇna
masˇina za procesiranje informacija to radi tako sˇto niz ulaznih simbola (ulaznu recˇ) transformisˇe u niz
izlaznih signala (izlaznu recˇ).
Takav vid procesiranja informacija vrsˇe takozvani automati sa izlazom.
Automati sa izlazom su apstraktne matematicˇke masˇine koje rade u diskretnoj vremenskoj skali, i koje
tokom tog rada, pod uticajem ulaznih signala, menjaju svoja unutrasˇnja stanja i emituju odgovarajuc´e
izlazne signale.
Kakve se transformacije mogu realizovati pomoc´u automata sa izlazom?
Odgovor na ovo pitanje dali su, nezavisno jedan od drugog, Raney [1958] i Glushkov [1961], koji su
pokazali da su to transformacije ulaznih u izlazne recˇi zadate takozvanim automatovnim preslikavanjima.
Pri tome je Glushkov dokazao da za svaku takvu transformaciju postoji automat sa minimalnim brojem
stanja koji je realizuje.
Regularni izrazi
Josˇ jedan nacˇin predstavljanja regularnih jezika, pored konacˇnih automata je njihovo predstavljanje
regularnim izrazima.
Regularni izrazi kao i dokaz njihove ekvivalentnosti sa konacˇnim automatima prvi put se srec´u u radu
Kleenea [1956].
Ipak, regularni izrazi daju nesto sto automati ne mogu: obavestenje o nacˇinu procesiranja recˇi koje treba da
budu prihvac´ene.
Zato se regularni izrazi koriste kao ulazni jezici mnogih sistema koji vrsˇe procesiranje informacija.
Konteksno-nezavisni jezici
– nastali su u cilju formalizacije gramaticˇkih svojstava prirodnih jezika;
Konteksno-nezavisni jezici su se vrlo brzo pokazali veoma pogodnim za formalno opisivanje sintakse
programskih jezika.
Primene: u definisanju programskih jezika (Fortran je definisao Backus [1959], a Algol Naur [1960]), kao
i u sintaksnoj analizi jezika i konstrukciji kompajlera.
Osnovni deo XML-a je Definicija tipa dokumenta u cˇijoj je osnovi konteksno-nezavisna gramatika koja
opisuje dozvoljene komande (tagove) i nacˇine pisanja teksta u okviru tih komandi, sˇto u susˇtini
nema veze sa formatiranjem teksta, vec´ sa njegovim znacˇenjem.
Sˇ iroka primena konteksno-nezavisnih jezika dovela je do razvoja teorije konteksno-nezavisnih jezika
kao jedne od najznacˇajnijih oblasti Teorije formalnih jezika.
Definicije
Postoji visˇe razlicˇitih, medusobno ekvivalentnih definicija konteksno-nezavisnih jezika: kao jezici
koji se mogu generisati konteksno-nezavisnim gramatikama;
kao komponenete najmanjeg resˇenja sistema polinomnih jednacˇina, sˇto su nezavisno jedni od
drugih pokazali Chomsky i Schu¨ tzenberger [1963] i Ginsburg i Rice [1962].
potisnim automatima cˇiji je matematicˇki model uveden u radu Schu¨ tzenbergera [1963], a cˇiju
su ekvivalentnost sa konceptom generisanja jezika konteksno-nezavisnom gramatikom u svojim
radovima dokazali Chomsky [1962] i Evey [1963].
Potisni automati
Uvesˇc´emo pojam potisnog automata (automata sa potiskujuc´om memorijom (stekom)), pojmove raspoznava
Model generisanja jezika potisnim automatima ekvivalentan je generisanju konteksno-nezavisnim gramatikama
Jezici tipova 0 i 1
Konteksno-zavisni jezici drugacˇije se nazivaju jezicima tipa 1, dok su jezici generisani proizvoljnim
gramatikama jezici tipa 0.
Da li se navedeni tipovi jezika mogu okarakterisati pomoc´u nekih modela apstraktnih
matematicˇkih masˇina koje raspoznaju te jezike?
Za raspoznavanje jezika tipa 0 koristi se apstraktna masˇina koju je, josˇ pre pojave elektronskih
racˇunara, 1930-ih godina, definisao britanski matematicˇar-informaticˇar Alan Tjuring (Alan Tur- ing,
1912-1954), i koja, u pogledu onoga sˇto mozˇe izracˇunati, poseduje sve moguc´nosti danasˇnjih
racˇunara.
U njegovu cˇast, tu masˇinu danas nazivamo Tjuringova masˇina.
Komentar
Tjuringov cilj bio je da precizno opisˇe granice izmedu onoga sˇto racˇunske masˇine mogu i onoga sˇto ne m
Koji problemi su algoritamski resˇivi? Koji problemi su algoritamski neresˇivi?
Jezici tipova 0 i 1
Sa druge strane, jezici tipa 1, odnosno konteksno-zavisni jezici, raspoznaju se specijalnim tipom Turingovih
Landweber [1963] i Kurod [1964] su dokazali da klasa jezika koji se mogu raspoznati nedetermin- isticˇkim