17
TEORIJA ALGORITAMA, AUTOMATA I JEZIKA Uvod Jelena Ignjatovi´ c 1 Uvod Logika i teorija skupova

TEORIJA ALGORITAMA, AUTOMATA [2pt] I JEZIKA [2pt]...kao komponenete najmanjeg resˇenjasistema polinomnih jednacˇina, sˇto su nezavisno jedni od drugih pokazali Chomsky i Schu¨tzenberger

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: TEORIJA ALGORITAMA, AUTOMATA [2pt] I JEZIKA [2pt]...kao komponenete najmanjeg resˇenjasistema polinomnih jednacˇina, sˇto su nezavisno jedni od drugih pokazali Chomsky i Schu¨tzenberger

TEORIJA ALGORITAMA, AUTOMATA

I JEZIKA

Uvod

Jelena Ignjatovic

1 Uvod Logika i teorija skupova

Page 2: TEORIJA ALGORITAMA, AUTOMATA [2pt] I JEZIKA [2pt]...kao komponenete najmanjeg resˇenjasistema polinomnih jednacˇina, sˇto su nezavisno jedni od drugih pokazali Chomsky i Schu¨tzenberger

TEORIJA ALGORITAMA, AUTOMATA I JEZIKA

LITERATURA:

M. Ciric, T. Petkovic, S. Bogrdanovic, Jezici i

automati, Prosveta Nis, 2000.

M. Ciric, J. Ignjatovic, Teorija algoritama,

automata i jezika-zbirka zadataka,Prirodno-matematicki fakultet Nis, 2012.

Dexter C. Kozen, Automata and Computability,Springer, 1997.

J. Ignjatovic, M. Ciric, Automati i fomalni jezici,Univerzitet u Nisu, to be published.

2 Uvod Logika i teorija skupova

Page 3: TEORIJA ALGORITAMA, AUTOMATA [2pt] I JEZIKA [2pt]...kao komponenete najmanjeg resˇenjasistema polinomnih jednacˇina, sˇto su nezavisno jedni od drugih pokazali Chomsky i Schu¨tzenberger

TEORIJA ALGORITAMA, AUTOMATA I JEZIKA

Teorijsko raunarstvo

Danas – u prvi plan se istice razvoj tehnologija na kojima se baziraju racunari.

To jedna vrsta pojednostavljivanja, pa i zamagljivanja, stvari kojoj je sklona propaganda industrijeracunara i racunarskih programa potpomognuta popularnim medijima.

Teorijski rezultati su ono orude koje inspirise i usmerava rad u racunarstvu dajuci sasvim noveelegantnije postupke.

Poseban znacaj teorijskog racunarstva – verifkacija prakticnih resenja.

Do cuvenih gresaka u Intelovim procesorima verovatno ne bi doslo da su primenjeni postupcizasnovani na teorijskim dostignicima o kojima ce biti reci u ovom kursu.

Takvih i slicnih primera ima na pretek, tako da je sasvim izvesno da ce u buducnosti ovoj oblastibiti posvecena paznja i ona ce predstavljati glavni oslonac racunarskih nauka i sa prakticne i sateorijske strane.

Izracunljivost i odlucivost

Resavanje problema razvojem algoritama i pisanjem programa je jedan od osnovnih zadataka uracunarstvu.

Formalni modeli izracunavanja odreduju granice mogucnosti mehanickog izracunavanja kojerazdvajaju klase problema na one na za koje postoji mogucnost programskog resavanja i one zakoje to nije slucaj.

3 Uvod Logika i teorija skupova

Page 4: TEORIJA ALGORITAMA, AUTOMATA [2pt] I JEZIKA [2pt]...kao komponenete najmanjeg resˇenjasistema polinomnih jednacˇina, sˇto su nezavisno jedni od drugih pokazali Chomsky i Schu¨tzenberger

Intuitivni pojam algoritma

Algoritam

Pojam algoritama – osnovni matematicki koncept i kao takav se ne defnise.

Sledeci opsti uslovi se, prihvataju kao kriterijumi za nazivanje nekog postupka algoritmom (efek-tivnom procedurom):

postupak se opisuje konacnim nizom jednostavnih naredbi,

postoji idealna masina (racunar) koja izvrsava te naredbe prema unapred utvrdenimpravilima,

ta masina zapocinje izracunavanje u nekom inicijalnom stanju; primenjena na ulaznepodatke masina izvrsava naredbe u diskretnim koracima u kojima menja svoja stanja,

izvrsavanje svake naredbe se izvodi u konacnom vremenu pri cemu se koristi konacanmemorijski prostor,

izvrsavanje naredbe je deterministicko: iz jednog stanja izvrsavanjem iste naredbe masinauvek prelazi u isto stanje i

prelaskom u zavrsno stanje masina prestaje sa izracunavanjem.

4 Uvod Logika i teorija skupova

Page 5: TEORIJA ALGORITAMA, AUTOMATA [2pt] I JEZIKA [2pt]...kao komponenete najmanjeg resˇenjasistema polinomnih jednacˇina, sˇto su nezavisno jedni od drugih pokazali Chomsky i Schu¨tzenberger

Intuitivni pojam algoritma

Komentar

Osobina determinisanosti izvrsavanja naredbi se drugacije moze formulisati kao mogucnost pon-avljanja izvrsavanja algoritama. Ako ga prihvatimo, postupci koji ukljucuju slucajnost ne spadajuu algoritme. U pojedinim slucajevima mi cemo odbaciti ovaj uslov i razmatrati i nedeterministickealgoritme.

Algoritam predstavlja opis funkcije koja ulazne podatke preslikava u odgovor. Funkcije za kojepostoje algoritmi zato nazivamo algoritamskim funkcijama (efektivnim funkcijama, izracunljivimfunkcijama).

Algoritam

Poznat je veliki broj algoritama. Za probleme za koje poznajemo postupke resavanja lakoutvrdujemo da jesu algoritamski resivi. Kako se napreduje u razvoju matematike, nailazi sena probleme za koje nismo u stanju da damo resenje.

Da li je to posledica nase nesposobnosti ili je rec o principijelnoj nemogucnosti?

Da bi se na to pitanje odgovorilo potrebno je formalno precizirati pojmove algoritma i izracunljivihfunkcija.

5 Uvod Logika i teorija skupova

Page 6: TEORIJA ALGORITAMA, AUTOMATA [2pt] I JEZIKA [2pt]...kao komponenete najmanjeg resˇenjasistema polinomnih jednacˇina, sˇto su nezavisno jedni od drugih pokazali Chomsky i Schu¨tzenberger

ALGORITAM

Algoritam

Algoritam – efektivni postupak za resavanje problema, jedan od najznacajnijih matematickihpojmova, koji je u matematici prisutan jos od samog njenog nastanka.

Rec algoritam potice od latinskog zapisa arapskog matematicara al-Horezmija Algorithmi, prekocijih dela je do Evrope stigao indijski deseticni pozicioni sistem i racunanje u ovom sistemu.

Prvobitno se ovaj naziv koristio upravo za oznacavanje postupaka za racunanje u tom sistemu, akasnije je dobio danasnji opstiji smisao.

Pojam algoritma

”Al-dzebr” je kod el-Horezmija operacija prenosenja clanova sa jedne na drugu stranu jednakosti,uz promenu znaka, odakle se latinskim zapisom doslo do naziva algebra.

Vec vekovima se pojam algoritma u matematici koristi u svom neformalnom, intuitivnom smislu.

Mnogi matematicari smatraju da ovaj pojam spada u grupu primitivnih matematickih pojmova ida ne postoje jednostavniji, intuitivno jasniji matematicki pojmovi preko kojih bi se pojam algo-ritma definisao.

Prvi pokusaji preciznog matematickog definisanja pojma algoritma vezani su za problemodlucivosti matematickih teorija, koji je pocetkom dvadesetog veka bio veoma aktuelan umatematickoj logici i filozofiji matematike.

6 Uvod Logika i teorija skupova

Page 7: TEORIJA ALGORITAMA, AUTOMATA [2pt] I JEZIKA [2pt]...kao komponenete najmanjeg resˇenjasistema polinomnih jednacˇina, sˇto su nezavisno jedni od drugih pokazali Chomsky i Schu¨tzenberger

ALGORITAM

ISTORIJSKI PREGLED

Prve formalizacije pojma algoritma javljaju se tridesetih godina ovog veka, kroz razlicite tipovialgoritama:

rekurzivne funkcije (Kleene [1936,1943]);

Postovi sistemi-vrsta formalnih sistema u kojima se opisuju moguce transformacije(pravila izvodenja) jednih u druge reci na unapred fiksiranom alfabetu (Post [1936,1943]);

Churchov λ-racun-jednostavan formalni jezik za koji se defnise pojam redukcije kojipredstavlja izracunavanje (Church [1941]);

Turingove masine (A.Turing [1936]);

normalni algoritmi Markova (Markov [1954]);

neogranicene registarske masine (Shepherdson and Sturgis [1963]);

Komentar

Navedeni tipovi algoritama prvobitno su razmatrani u vezi sa izracunljivoscu aritmetickihfunkcija, dok su kasnije poceli da se razmatraju i u vezi izracunljivosti funkcija na recima(stringovima).

7 Uvod Logika i teorija skupova

Page 8: TEORIJA ALGORITAMA, AUTOMATA [2pt] I JEZIKA [2pt]...kao komponenete najmanjeg resˇenjasistema polinomnih jednacˇina, sˇto su nezavisno jedni od drugih pokazali Chomsky i Schu¨tzenberger

Teorija izracunljivosti

Teorija izracunljivosti

Tako je razvijena teorija izracunljivosti, disciplina racunarskih nauka koja se bavi

Modelima i oblicima izracunavanja, posebno izracunavanjima uz pomoc apstraktnihmatematickih masina,

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 americki lingvist, filozof i humanista Noam Comski (Noam Chomsky, 1928- ), koji jena osnovu formalnih svojstava gramatika koje ih generisu klasifikovao formalne jezike u sledeceklase:

regularni jezici;

konteksno-nezavisni jezici;

konteksno-zavisni jezici;

jezici generisani proizvoljnim gramatikama.

8 Uvod Logika i teorija skupova

Page 9: TEORIJA ALGORITAMA, AUTOMATA [2pt] I JEZIKA [2pt]...kao komponenete najmanjeg resˇenjasistema polinomnih jednacˇina, sˇto su nezavisno jedni od drugih pokazali Chomsky i Schu¨tzenberger

Konacni automati

Regularni jezici i konacni automati

Regularni jezici cine najuzu od navedenih klasa formalnih jezika.

Oni se mogu predstaviti najjednostavnijom vrstom apstraktnih masina – konacnim automatima.

Konacni automati su se prvi put pojavili u radu McCullocha i Pittsa [1943], da bi se 1950-ih godinaintenzivno izucavali 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.

Konacni automati su najpre uvedeni da bi se njima modelirale funkcije mozga, ali su se kasnijepokazali veoma efikasnim i u raznim drugim primenama.

Konacni automati predstavljaju koristan model za veoma vazne tipove hardvera i softvera, kaosto su:

Softver za dizajniranje i proveru ponasanja digitalnih kola;

Leksicki analizatori kod kompajlera, tj. delovi kompajlera koji vrse analizu i podeluulaznog teksta na logicke jedinice;

Softver za skeniranje velikih porcija teksta, kao sto su kolekcije Web strana, radipronalazenja pojavljivanja izvesnih reci, fraza, i drugih sablona;

Softver za verifikovanje sistema svih tipova koji imaju konacan broj razlicitih stanja, kaosto su komunikacioni protokoli ili protokoli za bezbednu razmenu informacija, itd.

9 Uvod Logika i teorija skupova

Page 10: TEORIJA ALGORITAMA, AUTOMATA [2pt] I JEZIKA [2pt]...kao komponenete najmanjeg resˇenjasistema polinomnih jednacˇina, sˇto su nezavisno jedni od drugih pokazali Chomsky i Schu¨tzenberger

Automati sa izlazom

Rad automata

– sastoji se iz niza uzastopnih prelaza iz stanja u stanje, pod dejstvom niza uzastopnih ulaznihsignala.

Sta je rezultat tog rada?

Automati su masine koje sluze za procesiranje informacija.

Informacije se obicno predstavljaju nizovima simbola (recima) nad nekim alfabetom, i tipicnamasina za procesiranje informacija to radi tako sto niz ulaznih simbola (ulaznu rec) transformiseu niz izlaznih signala (izlaznu rec).

Takav vid procesiranja informacija vrse takozvani automati sa izlazom.

Automati sa izlazom su apstraktne matematicke masine koje rade u diskretnoj vremenskoj skali,i koje tokom tog rada, pod uticajem ulaznih signala, menjaju svoja unutrasnja stanja i emitujuodgovarajuce izlazne signale.

Kakve se transformacije mogu realizovati pomocu 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 reci zadate takozvanim automatovnimpreslikavanjima.

Pri tome je Glushkov dokazao da za svaku takvu transformaciju postoji automat sa minimalnimbrojem stanja koji je realizuje.

10 Uvod Logika i teorija skupova

Page 11: TEORIJA ALGORITAMA, AUTOMATA [2pt] I JEZIKA [2pt]...kao komponenete najmanjeg resˇenjasistema polinomnih jednacˇina, sˇto su nezavisno jedni od drugih pokazali Chomsky i Schu¨tzenberger

Automati bez izlaza

Automati bez izlaza

Automati bez izlaza se mogu zamisliti kao automati koji imaju izvesnu vrstu izlaza, koja serealizuje pomocu samo dva izlazna signala: ”da” i ”ne”.

Ako ona dovodi do emitovanja signala ”da”, onda kazemo da automat prepoznaje ili da prihvatatu rec.

U suprotnom, ukoliko dovodi do emitovanja signala ”ne”, onda kazemo da automat ne prepoznajeili da odbacuje tu rec.

Videcemo da se ovi izlazi mogu predstaviti pomocu posebne vrste stanja, koje nazivamo zavrsnimstanjima automata.

Automati kao algebarske strukture

Jedna od najznacajnijih karakteristika automata bez izlaza je to sto se mogu razmatrati kao alge-barske strukture.

Ako na nizove ulaznih simbola automata gledamo kao elemente slobodnog monoida generisanogalfabetom ulaznih simbola, tada se automat moze posmatrati kao monoid transformacija skupastanja automata.

11 Uvod Logika i teorija skupova

Page 12: TEORIJA ALGORITAMA, AUTOMATA [2pt] I JEZIKA [2pt]...kao komponenete najmanjeg resˇenjasistema polinomnih jednacˇina, sˇto su nezavisno jedni od drugih pokazali Chomsky i Schu¨tzenberger

Automati kao algebarske strukture

Automati kao algebarske strukture

Takode je prirodno tretirati automate bez izlaza i kao algebre u kojima se svaki ulazni simbolrealizuje kao unarna operacija.

Taj pristup, koji su Buchi i Wright dali jos pedesetih godina, povezao je automate sa univerzalnomalgebrom i stvorio uslove da se u njihovom izucavanju koriste brojni koncepti, ideje i metodiuniverzalne algebre.

Postoji obostrano jednoznacna veza izmedu povezanih inicijalnih automata sa ulaznim alfabetomX i desnih kongruencija na slobodnom monoidu X∗, koju su prvi uocili Nerode [1958] i Myhill[1957], a razmatracemo i osnovne osobine polugrupa prelaza automata.

Raspoznavanje jezika automatima

Glavni zadatak automata bez izlaza svakako je raspoznavanje jezika, a problem opisivanja jezikakoji se mogu raspoznati konacnim automatima, takozvanih raspoznatljivih jezika, jedan je odnajvaznijih u Teoriji automata.

Kada se bavimo dizajniranjem automata radi njihovih prakticnih primena, srecemo se sa dvaosnovna problema:

Da li za dati jezik postoji konacan automat koji ga raspoznaje?

Kako konstruisati automat sa sto je moguce manje stanja koji raspoznaje dati jezik?

12 Uvod Logika i teorija skupova

Page 13: TEORIJA ALGORITAMA, AUTOMATA [2pt] I JEZIKA [2pt]...kao komponenete najmanjeg resˇenjasistema polinomnih jednacˇina, sˇto su nezavisno jedni od drugih pokazali Chomsky i Schu¨tzenberger

Regularni izrazi

Regularni izrazi

Jos jedan nacin predstavljanja regularnih jezika, pored konacnih automata je njihovo predstavljanjeregularnim izrazima.

Regularni izrazi kao i dokaz njihove ekvivalentnosti sa konacnim automatima prvi put se srecu uradu Kleenea [1956].

Ipak, regularni izrazi daju nesto sto automati ne mogu: obavestenje o nacinu procesiranja reci kojetreba da budu prihvacene.

Zato se regularni izrazi koriste kao ulazni jezici mnogih sistema koji vrse procesiranje informacija.

Primene regularnih izraza

Komande pretrazivanja kao sto je UNIX grep ili ekvivalentne komande kod Web browseraili sistema za formatiranje teksta (WinEdt). Ovi sistemi koriste regularne izraze za opissablona koji treba da bude pronaden u fajlu.

Leksicki-analizator (Lex ili Flex) je deo kompajlera koji razbija izvorni program na logickejedinice (tzv. tokene).

Regularni izrazi opisuju formu tokena koju prihvata leksicki-analizator kompajlera.

13 Uvod Logika i teorija skupova

Page 14: TEORIJA ALGORITAMA, AUTOMATA [2pt] I JEZIKA [2pt]...kao komponenete najmanjeg resˇenjasistema polinomnih jednacˇina, sˇto su nezavisno jedni od drugih pokazali Chomsky i Schu¨tzenberger

Konteksno-nezavisni jezici

Raspoznatljivost regularnih jezika

U delu ovog kursa koji se bavi regularnim jezicima govoricemo o njihovom raspoznavanjukonacnim deterministickim i nedeterministickim automatima, kao i o njihovom predstavljanjuregularnim izrazima.

Dokazacemo da za svaki regularan jezik postoji minimalan konacan deterministicki automat kojiga raspoznaje i koji je jedinstven do na izomorfizam.

U slucaju kada je regularan jezik zadat konacnim deterministickim automatom dacemo i algoritamza njegovu minimizaciju, tj. za nalazenje minimalnog automata koji raspoznaje isti jezik.

Konteksno-nezavisni jezici

– nastali su u cilju formalizacije gramatickih svojstava prirodnih jezika;

Konteksno-nezavisni jezici su se vrlo brzo pokazali veoma pogodnim za formalno opisivanjesintakse 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 cijoj je osnovi konteksno-nezavisna gramatikakoja opisuje dozvoljene komande (tagove) i nacine pisanja teksta u okviru tih komandi, sto usustini nema veze sa formatiranjem teksta, vec sa njegovim znacenjem.

Siroka primena konteksno-nezavisnih jezika dovela je do razvoja teorije konteksno-nezavisnihjezika kao jedne od najznacajnijih oblasti Teorije formalnih jezika.

14 Uvod Logika i teorija skupova

Page 15: TEORIJA ALGORITAMA, AUTOMATA [2pt] I JEZIKA [2pt]...kao komponenete najmanjeg resˇenjasistema polinomnih jednacˇina, sˇto su nezavisno jedni od drugih pokazali Chomsky i Schu¨tzenberger

Konteksno-nezavisni jezici

Definicije

Postoji vise razlicitih, medusobno ekvivalentnih definicija konteksno-nezavisnih jezika:

kao jezici koji se mogu generisati konteksno-nezavisnim gramatikama;

kao komponenete najmanjeg resenja sistema polinomnih jednacina, sto su nezavisno jedniod drugih pokazali Chomsky i Schutzenberger [1963] i Ginsburg i Rice [1962].

potisnim automatima ciji je matematicki model uveden u radu Schutzenbergera [1963], aciju su ekvivalentnost sa konceptom generisanja jezika konteksno-nezavisnomgramatikom u svojim radovima dokazali Chomsky [1962] i Evey [1963].

Potisni automati

Uvescemo pojam potisnog automata (automata sa potiskujucom memorijom (stekom)), pojmoveraspoznavanja jezika skupom stanja potisnog automata i raspoznavanja jezika praznim stekom ipokazacemo da su ova dva nacina raspoznavanja ekvivalentna.

Model generisanja jezika potisnim automatima ekvivalentan je generisanju konteksno-nezavisnimgramatikama i jezici koji se mogu raspoznati potisnim automatima tacno konteksno-nezavisnijezici.

15 Uvod Logika i teorija skupova

Page 16: TEORIJA ALGORITAMA, AUTOMATA [2pt] I JEZIKA [2pt]...kao komponenete najmanjeg resˇenjasistema polinomnih jednacˇina, sˇto su nezavisno jedni od drugih pokazali Chomsky i Schu¨tzenberger

Jezici tipova 0 i 1

Jezici tipova 0 i 1

Konteksno-zavisni jezici drugacije se nazivaju jezicima tipa 1, dok su jezici generisani proizvoljnimgramatikama jezici tipa 0.

Da li se navedeni tipovi jezika mogu okarakterisati pomocu nekih modela apstraktnihmatematickih masina koje raspoznaju te jezike?

Za raspoznavanje jezika tipa 0 koristi se apstraktna masina koju je, jos pre pojave elektronskihracunara, 1930-ih godina, definisao britanski matematicar-informaticar Alan Tjuring (Alan Tur-ing, 1912-1954), i koja, u pogledu onoga sto moze izracunati, poseduje sve mogucnosti danasnjihracunara.

U njegovu cast, tu masinu danas nazivamo Tjuringova masina.

Komentar

Tjuringov cilj bio je da precizno opise granice izmedu onoga sto racunske masine mogu i onogasto ne mogu, odnosno, da odgovori na pitanja

Koji problemi su algoritamski resivi?

Koji problemi su algoritamski neresivi?

16 Uvod Logika i teorija skupova

Page 17: TEORIJA ALGORITAMA, AUTOMATA [2pt] I JEZIKA [2pt]...kao komponenete najmanjeg resˇenjasistema polinomnih jednacˇina, sˇto su nezavisno jedni od drugih pokazali Chomsky i Schu¨tzenberger

Linearno ograniceni automati

Jezici tipova 0 i 1

Sa druge strane, jezici tipa 1, odnosno konteksno-zavisni jezici, raspoznaju se specijalnim tipomTuringovih masina uvedenim u radu Myhilla [1960], koje se nazivaju linearno ogranicenim au-tomatima.

Landweber [1963] i Kurod [1964] su dokazali da klasa jezika koji se mogu raspoznati nedetermin-istickim linearno ogranicenim automatima jeste upravo klasa konteksno-zavisnih jezika.

17 Uvod Logika i teorija skupova