You are on page 1of 17

TEORIJA ALGORITAMA, AUTOMATA I JEZIKA

Uvod Jelena

Ignjatovic´

1 Uvod Logika i teorija skupova


TEORIJA ALGORITAMA, AUTOMATA I JEZIKA

LITERATURA:

M. C´ iric´, T. Petkovic´, S. Bogrdanovic´, Jezici i


autoMati, Prosveta Nisˇ, 2000.
M. C´ iric´, J. Ignjatovic´, Teorija
algoritaMa, autoMata i jezika-zbirka
zadataka, Prirodno-matematicˇki fakultet
Nisˇ, 2012.
Dexter C. Kozen, AutoMata and CoMputability,
Springer, 1997.
J. Ignjatovic´, M. C´ iric´, AutoMati i foMalni jezici,
Univerzitet u Nisˇu, to be published.

2 Uvod Logika i teorija skupova


TEORIJA ALGORITAMA, AUTOMATA I JEZIKA

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

3 Uvod Logika i teorija skupova


Intuitivni pojam algoritma

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.

4 Uvod Logika i teorija skupova


Intuitivni pojam algoritma

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.

5 Uvod Logika i teorija skupova


ALGORITAM

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.

6 Uvod Logika i teorija skupova


ALGORITAM

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

7 Uvod Logika i teorija skupova


Teorija izracˇunljivosti

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.

8 Uvod Logika i teorija skupova


Konacˇni automati

Regularni jezici i konacˇni autoMati


Regularni jezici cˇine najuzˇu od navedenih klasa formalnih jezika.
Oni se mogu predstaviti najjednostavnijom vrstom apstraktnih masˇina – konacˇnim automatima. Konacˇni
automati su se prvi put pojavili u radu McCullocha i Pittsa [1943], da bi se 1950-ih godina intenzivno
izucˇavali od strane niza autora: D. A. Huffman [1954], G. H. Mealy [1955], E. F. Moore
[1956], M. O. Rabin and D. Scott [1959] i drugi.
Konacˇni automati su najpre uvedeni da bi se njima modelirale funkcije mozga, ali su se kasnije pokazali
veoma efikasnim i u raznim drugim primenama.
Konacˇni automati predstavljaju koristan model za veoma vazˇne tipove hardvera i softvera, kao sˇto su:
Softver za dizajniranje i proveru ponasˇanja digitalnih kola;
Leksicˇki analizatori kod kompajlera, tj. delovi kompajlera koji vrsˇe analizu i podelu ulaznog
teksta na logicˇke jedinice;
Softver za skeniranje velikih porcija teksta, kao sˇto su kolekcije Web strana, radi pronalazˇenja
pojavljivanja izvesnih recˇi, fraza, i drugih sˇablona;
Softver za verifikovanje sistema svih tipova koji imaju konacˇan broj razlicˇitih stanja, kao sˇto su
komunikacioni protokoli ili protokoli za bezbednu razmenu informacija, itd.

9 Uvod Logika i teorija skupova


Automati sa izlazom

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.

10 Uvod Logika i teorija skupova


Automati bez izlaza

AutoMati bez izlaza


Automati bez izlaza se mogu zamisliti kao automati koji imaju izvesnu vrstu izlaza, koja se realizuje pomoc
´u samo dva izlazna signala: ”da” i ”ne”.
Ako ona dovodi do emitovanja signala ”da”, onda kazˇemo da automat prepoznaje ili da prihvata tu recˇ.
U suprotnom, ukoliko dovodi do emitovanja signala ”ne”, onda kazˇemo da automat ne prepoznaje ili da
odbacuje tu recˇ.
Videc´emo da se ovi izlazi mogu predstaviti pomoc´u posebne vrste stanja, koje nazivamo zavrsˇnim
stanjima automata.

Automati kao algebarske strukture


Jedna od najznacˇajnijih karakteristika automata bez izlaza je to sˇto se mogu razmatrati kao alge- barske strukt
Ako na nizove ulaznih simbola automata gledamo kao elemente slobodnog monoida generisanog alfabetom ula

11 Uvod Logika i teorija skupova


Automati kao algebarske strukture

AutoMati kao algebarske strukture


Takode je prirodno tretirati automate bez izlaza i kao algebre u kojima se svaki ulazni simbol realizuje
kao unarna operacija.
Taj pristup, koji su Bu¨ chi i Wright dali josˇ pedesetih godina, povezao je automate sa univerzalnom
algebrom i stvorio uslove da se u njihovom izucˇavanju koriste brojni koncepti, ideje i metodi
univerzalne algebre.
Postoji obostrano jednoznacˇna veza izmedu povezanih inicijalnih automata sa ulaznim alfabetom X i
desnih kongruencija na slobodnom monoidu X∗ , koju su prvi uocˇili Nerode [1958] i Myhill [1957], a
razmatrac´emo i osnovne osobine polugrupa prelaza automata.

Raspoznavanje jezika autoMatiMa


Glavni zadatak automata bez izlaza svakako je raspoznavanje jezika, a problem opisivanja jezika koji se
mogu raspoznati konacˇnim automatima, takozvanih raspoznatljivih jezika, jedan je od najvazˇnijih u
Teoriji automata.
Kada se bavimo dizajniranjem automata radi njihovih prakticˇnih primena, srec´emo se sa dva
osnovna problema:
Da li za dati jezik postoji konacˇan automat koji ga raspoznaje?
Kako konstruisati automat sa sˇto je moguc´e manje stanja koji raspoznaje dati jezik?

12 Uvod Logika i teorija skupova


Regularni izrazi

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.

PriMene regularnih izraza


Komande pretrazˇivanja kao sˇto je UNIX grep ili ekvivalentne komande kod Web browsera ili
sistema za formatiranje teksta (WinEdt). Ovi sistemi koriste regularne izraze za opis sˇablona koji
treba da bude pronaden u fajlu.
Leksicˇki-analizator (Lex ili Flex) je deo kompajlera koji razbija izvorni program na logicˇke jedinice
(tzv. tokene).
Regularni izrazi opisuju formu tokena koju prihvata leksicˇki-analizator kompajlera.

13 Uvod Logika i teorija skupova


Konteksno-nezavisni jezici

Raspoznatljivost regularnih jezika


U delu ovog kursa koji se bavi regularnim jezicima govoric´emo o njihovom raspoznavanju
konacˇnim deterministicˇkim i nedeterministicˇkim automatima, kao i o njihovom predstavljanju
regularnim izrazima.
Dokazac´emo da za svaki regularan jezik postoji minimalan konacˇan deterministicˇki automat koji ga
raspoznaje i koji je jedinstven do na izomorfizam.
U slucˇaju kada je regularan jezik zadat konacˇnim deterministicˇkim automatom dac´emo i algoritam za
njegovu minimizaciju, tj. za nalazˇenje minimalnog automata koji raspoznaje isti jezik.

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.

14 Uvod Logika i teorija skupova


Konteksno-nezavisni jezici

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

15 Uvod Logika i teorija skupova


Jezici tipova 0 i 1

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?

16 Uvod Logika i teorija skupova


Linearno ogranicˇeni automati

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

17 Uvod Logika i teorija skupova

You might also like