uvodno_predavanje

40

Upload: nenad-gligoric

Post on 20-Nov-2015

10 views

Category:

Documents


2 download

DESCRIPTION

Predavanje

TRANSCRIPT

  • AlgoritamAlgoritamAlgoritam

    Algoritam (efektivni postupak) predstavlja jedan od najznacajnijih ma-

    tematickih pojmova, koji je u matematici prisutan jos od samog njenog

    nastanka.

    Naziv algoritam potice od Algorithmi latinskog zapisa arapskog mate-

    maticara al-Horezmija, preko cijih dela je do Evrope stigao indijski dese-

    ticni pozicioni sistem i racunanje u ovom sistemu.

    Prvobitno se ovaj naziv koristio upravo za oznacavanje postupaka za

    racunanje u tom sistemu, a kasnije je dobio danasnji opstiji smisao.

    Zanimljivo je da je kod el-Horezmija operacija prenosenja clanova sa

    jedne na drugu stranu jednakosti, uz promenu znaka, nazivana al-

    dzebr, odakle se latinskim zapisom doslo do naziva algebra.

    Teorija algoritama,jezika i automata 2 Uvodni deoTeorija algoritama,jezika i automata 2 Uvodni deoTeorija algoritama,jezika i automata 2 Uvodni deo

  • AlgoritamAlgoritamAlgoritam

    Vec vekovima se pojam algoritma u matematici koristi u svom nefo-

    rmalnom, intuitivnom smislu.

    Mnogi matematicari smatraju da ovaj pojam spada u grupu primitivnih

    matematickih pojmova i da ne postoje jednostavniji, intuitivno jasniji

    matematicki pojmovi preko kojih bi se pojam algoritma definisao.

    Prvi pokusaji preciznog matematickog definisanja pojma algoritma ve-

    zani su za problem odlucivosti matematickih teorija, koji je pocetkom

    dvadesetog veka bio veoma aktuelan u matematickoj logici i filozofiji

    matematike.

    Teorija algoritama,jezika i automata 3 Uvodni deoTeorija algoritama,jezika i automata 3 Uvodni deoTeorija algoritama,jezika i automata 3 Uvodni deo

  • AlgoritamAlgoritamAlgoritam

    Prve formalizacije pojma algoritma javljaju se tridesetih godina ovog

    veka. Ti prvi tipovi algoritama bili su:

    rekurzivne funkcije (Kleene [1936,1943]);

    Postovi sistemi (Post [1936,1943]);

    Churchov -racun (Church [1941]);

    Turingove masine (A.Turing [1936]);

    normalni algoritmi Markova (Markov [1954]);

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

    itd.

    Teorija algoritama,jezika i automata 4 Uvodni deoTeorija algoritama,jezika i automata 4 Uvodni deoTeorija algoritama,jezika i automata 4 Uvodni deo

  • Teorija izra cunljivostiTeorija izra cunljivostiTeorija izra cunljivosti

    Navedeni tipovi algoritama prvobitno su razmatrani u vezi sa izracu-

    nljivoscu aritmetickih funkcija, dok su kasnije poceli da se razmatraju i

    u vezi izracunljivosti funkcija na recima (stringovima).

    Tako je razvijena teorija izracunljivosti, disciplina racunarskih nauka

    koja se bavi

    Modelima i oblicima izracunavanja, posebno izracunavanjima uz

    pomoc apstraktnih matematickih masina,

    Analizom algoritama i problemima kompleksnosti algoritama,

    Formalnim gramatikama i formalnim jezicima,

    i drugim pitanjima.

    Teorija algoritama,jezika i automata 5 Uvodni deoTeorija algoritama,jezika i automata 5 Uvodni deoTeorija algoritama,jezika i automata 5 Uvodni deo

  • Hijararhija ChomskogHijararhija ChomskogHijararhija Chomskog

    Koncept generativne gramatike prvi put se pojavio 1950-ih godina.

    Uveo ga je americki lingvist, filozof i humanista Noam Comski (Noam

    Chomsky, 1928- ), koji je na osnovu formalnih svojstava gramatika koje

    ih generisu klasifikovao formalne jezike u sledece klase:

    regularni jezici;

    konteksno-nezavisni jezici;

    konteksno-zavisni jezici;

    jezici generisani proizvoljnim gramatikama.

    Teorija algoritama,jezika i automata 6 Uvodni deoTeorija algoritama,jezika i automata 6 Uvodni deoTeorija algoritama,jezika i automata 6 Uvodni deo

  • Kona cni automatiKona cni automatiKona cni 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 godina intenzivno 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 kasnije pokazali veoma efikasnim i u raznim drugim

    primenama.

    Teorija algoritama,jezika i automata 7 Uvodni deoTeorija algoritama,jezika i automata 7 Uvodni deoTeorija algoritama,jezika i automata 7 Uvodni deo

  • Kona cni automatiKona cni automatiKona cni automati

    Konacni automati predstavljaju koristan model za veoma vazne tipove

    hardvera i softvera, kao sto su:

    Softver za dizajniranje i proveru ponasanja digitalnih kola;

    Leksicki analizatori kod kompajlera, tj. delovi kompajlera koji vrse

    analizu i podelu ulaznog teksta na logicke jedinice;

    Softver za skeniranje velikih porcija teksta, kao sto su kolekcije Web

    strana, radi pronalazenja pojavljivanja izvesnih reci, fraza, i drugih

    sablona;

    Softver za verifikovanje sistema svih tipova koji imaju konacan broj

    razlicitih stanja, kao sto su komunikacioni protokoli ili protokoli za

    bezbednu razmenu informacija, itd.

    Teorija algoritama,jezika i automata 8 Uvodni deoTeorija algoritama,jezika i automata 8 Uvodni deoTeorija algoritama,jezika i automata 8 Uvodni deo

  • Automati sa izlazomAutomati sa izlazomAutomati sa izlazom

    Rad automata sastoji se iz niza uzastopnih prelaza iz stanja u stanje,

    pod dejstvom niza uzastopnih ulaznih signala.

    Medutim, prirodno se namece pitanje:

    Sta je rezultat tog rada?

    Automati su masine koje sluze za procesiranje informacija.

    Informacije se obicno predstavljaju nizovima simbola (recima) nad nekim

    alfabetom, i tipicna masina za procesiranje informacija to radi tako

    sto niz ulaznih simbola (ulaznu rec) transformise u niz izlaznih signala

    (izlaznu rec).

    Takav vid procesiranja informacija vrse takozvani automati sa izlazom

    ili transduktori.

    Teorija algoritama,jezika i automata 9 Uvodni deoTeorija algoritama,jezika i automata 9 Uvodni deoTeorija algoritama,jezika i automata 9 Uvodni deo

  • Automati sa izlazomAutomati sa izlazomAutomati 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 emituju odgovarajuce izlazne

    signale.

    Kakve se transformacije mogu realizovati pomocu automata sa izla-

    zom?

    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 automatovnim preslikavanjima.

    Pri tome je Glushkov dokazao da za svaku takvu transformaciju postoji

    automat sa minimalnim brojem stanja koji je realizuje.

    Teorija algoritama,jezika i automata 10 Uvodni deoTeorija algoritama,jezika i automata 10 Uvodni deoTeorija algoritama,jezika i automata 10 Uvodni deo

  • Automati sa izlazomAutomati sa izlazomAutomati sa izlazom

    Ovi rezultati inicirali su intenzivno izucavanje uslova pod kojima su dva

    automata ekvivalentna.

    Pod ekvivalentnim automatima podrazumevamo automate koji rea-

    lizuju iste transformacije ulaznih u izlazne reci.

    Pod uticajem ovih rezultata je poceo i rad na pronalazenju postupaka

    za minimizaciju automata, tj. za nalazenje automata sa minimalnim

    brojem stanja ekvivalentnog datom automatu.

    U ovom delu kursa predstavicemo algoritam za minimizaciju automata

    koji su dali Aufenkamp i Hohn [1957].

    Teorija algoritama,jezika i automata 11 Uvodni deoTeorija algoritama,jezika i automata 11 Uvodni deoTeorija algoritama,jezika i automata 11 Uvodni deo

  • Automati sa izlazomAutomati sa izlazomAutomati sa izlazom

    Dokazacemo poznatu teoremu Gilla i Bloha [1960] koja kaze da je

    svaki automat Mealyevog tipa ekvivalentan nekom automatu Moore-

    ovog tipa.

    Na kraju price o automatima sa izlazom bice prikazano i nekoliko

    metoda za kompoziciju automata, odnosno za konstrukciju automata

    polazeci od unapred datih jednostavnijih automata.

    Teorija algoritama,jezika i automata 12 Uvodni deoTeorija algoritama,jezika i automata 12 Uvodni deoTeorija algoritama,jezika i automata 12 Uvodni deo

  • Automati bez izlazaAutomati bez izlazaAutomati bez izlaza

    Automati bez izlaza se mogu zamisliti kao automati koji imaju izvesnu

    vrstu izlaza, koja se realizuje pomocu samo dva izlazna signala: da i

    ne.

    Naime, moze se uzeti da svaka ulazna rec dovodi do toga da automat

    emituje jedan od ta dva izlazna signala.

    Ako ona dovodi do emitovanja signala da, onda kazemo da automat

    prepoznaje ili da prihvata tu rec.

    U suprotnom, ukoliko dovodi do emitovanja signala ne, onda kazemo

    da automat ne prepoznaje ili da odbacuje tu rec.

    Medutim, i ovde se postavlja pitanje: Kako se ovi izlazi predstavljaju

    u strukturi automata kakvu smo zadali njihovom definicijom?

    Videcemo da se to moze uciniti pomocu posebne vrste stanja, koje nazi-

    vamo zavrsnim stanjima automata.

    Teorija algoritama,jezika i automata 13 Uvodni deoTeorija algoritama,jezika i automata 13 Uvodni deoTeorija algoritama,jezika i automata 13 Uvodni deo

  • Automati bez izlazaAutomati bez izlazaAutomati bez izlaza

    Jedna od najznacajnijih karakteristika automata bez izlaza je to sto

    postoje dva dobro poznata prirodna nacina da se ti automati razmatraju

    kao algebarske strukture.

    Ako na nizove ulaznih simbola automata gledamo kao elemente slo-

    bodnog monoida generisanog alfabetom ulaznih simbola, tada je pri-

    rodno tretirati automat kao monoid transformacija skupa stanja au-

    tomata.

    Takav pristup izucavanju automata pokazao se veoma uspesnim.

    Polugrupe i monoidi transformacija pridruzeni automatima, koje nazi-

    vamo polugrupama i monoidima prelaza automata, predstavljaju po-

    laznu tacku u teoriji Eilenberga [1976] koja daje klasifikaciju regu-

    larnih jezika baziranu na sintaksickim monoidima i pseudo-varijetetima

    monoida.

    Teorija algoritama,jezika i automata 14 Uvodni deoTeorija algoritama,jezika i automata 14 Uvodni deoTeorija algoritama,jezika i automata 14 Uvodni deo

  • Automati bez izlazaAutomati bez izlazaAutomati bez izlaza

    Ovakva interpretacija je osnova cuvene teorije Khrona i Rhodesa [1962,

    1965] o kaskadnim razlaganjima automata.

    Takode je prirodno tretirati automate bez izlaza i kao algebre u kojima

    se svaki ulazni simbol realizuje kao unarna operacija.

    Taj pristup, koji su Buchi i Wright dali jos pedesetih godina, povezao je

    automate sa univerzalnom algebrom i stvorio uslove da se u njihovom

    izucavanju koriste brojni koncepti, ideje i metodi univerzalne algebre.

    U ovom delu predavanja pokazacemo da postoji obostrano jednoznacna

    veza izmedu povezanih inicijalnih automata sa ulaznim alfabetom X i

    desnih kongruencija na slobodnom monoidu X, koju su prvi uocili

    Nerode [1958] i Myhill [1957], a razmatracemo i osnovne osobine polu-

    grupa prelaza automata.

    Teorija algoritama,jezika i automata 15 Uvodni deoTeorija algoritama,jezika i automata 15 Uvodni deoTeorija algoritama,jezika i automata 15 Uvodni deo

  • Automati bez izlazaAutomati bez izlazaAutomati bez izlaza

    Glavni zadatak automata bez izlaza svakako je raspoznavanje jezika, a

    problem opisivanja jezika koji se mogu raspoznati konacnim automa-

    tima, takozvanih raspoznatljivih jezika, jedan je od najvaznijih u Teoriji

    automata.

    Kada se bavimo dizajniranjem automata radi njihovih prakticnih pri-

    mena, srecemo se sa dva osnovna problema:

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

    Kako konstruisati automat sa sto je moguce manje stanja koji ras-

    poznaje dati jezik?

    Prvi problem je bitan jer u prakticnim primenama automata ucestvuju

    samo konacni automati.

    Teorija algoritama,jezika i automata 16 Uvodni deoTeorija algoritama,jezika i automata 16 Uvodni deoTeorija algoritama,jezika i automata 16 Uvodni deo

  • Automati bez izlazaAutomati bez izlazaAutomati bez izlaza

    Beskonacni automati imaju samo teoretski znacaj, i izucavaju se iz

    metodoloskih razloga, jer je lakse raditi u teoriji u kojoj nismo sputani

    uslovom konacnosti skupa stanja automata.

    Drugi problem je bitan iz razloga sto veci broj stanja automata znaci

    veci broj hardverskih komponenti, kada se radi o primeni automata

    u dizajniranju hardvera,

    glomaznije i sporije programe, kada se radi o primeni automata u

    dizajniranju softvera.

    Mi cemo ovde dokazati da medu svim automatima koji raspoznaju dati

    jezik postoji automat najmanje kardinalnosti, odnosno, automat sa na-

    jmanjim brojem stanja, ako se radi o konacnom automatu i dacemo

    algoritme za konstrukciju minimalnog automata jezika i minimizaciju

    automata.

    Teorija algoritama,jezika i automata 17 Uvodni deoTeorija algoritama,jezika i automata 17 Uvodni deoTeorija algoritama,jezika i automata 17 Uvodni deo

  • Regularni izraziRegularni izraziRegularni izrazi

    Jos jedan nacin predstavljanja regularnih jezika, pored konacnih au-

    tomata je njihovo predstavljanje regularnim izrazima.

    Regularni izrazi kao i dokaz njihove ekvivalentnosti sa konacnim au-

    tomatima prvi put se srecu u radu Kleenea [1956].

    Ipak, regularni izrazi daju nesto sto automati ne mogu: obavestenje o

    nacinu procesiranja reci koje treba da budu prihvacene.

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

    procesiranje informacija.

    Teorija algoritama,jezika i automata 18 Uvodni deoTeorija algoritama,jezika i automata 18 Uvodni deoTeorija algoritama,jezika i automata 18 Uvodni deo

  • Regularni izraziRegularni izraziRegularni izrazi

    Regularni izrazi imaju mnoge primene od kojih su najvaznije:

    Komande pretrazivanja kao sto je UNIX grep ili ekvivalentne ko-

    mande kod Web browsera ili sistema za formatiranje teksta (WinEdt).

    Ovi sistemi koriste regularne izraze za opis sablona koji treba da

    bude pronaden u fajlu.

    Leksicki-analizator (Lex ili Flex) je deo kompajlera koji razbija izvorni

    program na logicke jedinice (tzv. tokene).

    Regularni izrazi opisuju formu tokena koju prihvata leksicki-analizator

    kompajlera.

    Teorija algoritama,jezika i automata 19 Uvodni deoTeorija algoritama,jezika i automata 19 Uvodni deoTeorija algoritama,jezika i automata 19 Uvodni deo

  • Regularni izraziRegularni izraziRegularni izrazi

    U delu ovog kursa koji se bavi regularnim jezicima govoricemo o nji-

    hovom raspoznavanju konacnim deterministickim i nedeterministickim

    automatima, kao i o njihovom predstavljanju regularnim izrazima.

    Takode, dokazacemo da za svaki regularan jezik postoji minimalan

    konacan deterministicki automat koji ga raspoznaje i koji je jedinstven

    do na izomorfizam.

    U slucaju kada je regularan jezik zadat konacnim deterministickim au-

    tomatom dacemo i algoritam za njegovu minimizaciju, tj. za nalazenje

    minimalnog automata koji raspoznaje isti jezik.

    Teorija algoritama,jezika i automata 20 Uvodni deoTeorija algoritama,jezika i automata 20 Uvodni deoTeorija algoritama,jezika i automata 20 Uvodni deo

  • Konteksno-nezavisni jeziciKonteksno-nezavisni jeziciKonteksno-nezavisni jezici

    U cilju formalizacije gramatickih svojstava prirodnih jezika nastali su

    konteksno-nezavisni jezici.

    Konteksno-nezavisni jezici su se vrlo brzo pokazali veoma pogodnim za

    formalno opisivanje sintakse programskih jezika. Zato su nasli znacajne

    primene u definisanju programskih jezika (Fortran je definisao Backus

    [1959], a Algol Naur [1960]), kao i u sintaksnoj analizi jezika i ko-

    nstrukciji kompajlera.

    Razvoj XML-a (Extensible Markup Language) u mnogome je olaksao

    elektronsku trgovinu, jer je omogucio ucesnicima da lakse naprave ko-

    nvencije o visini cena, dokumenta sa opisom proizvoda i mnoga druga

    dokumenta.

    Teorija algoritama,jezika i automata 21 Uvodni deoTeorija algoritama,jezika i automata 21 Uvodni deoTeorija algoritama,jezika i automata 21 Uvodni deo

  • Konteksno-nezavisni jeziciKonteksno-nezavisni jeziciKonteksno-nezavisni jezici

    Osnovni deo XML-a je Definicija tipa dokumenta u cijoj je osnovi

    konteksno-nezavisna gramatika koja opisuje dozvoljene komande (ta-

    gove) i nacine pisanja teksta u okviru tih komandi, sto u sustini nema

    veze sa formatiranjem teksta, vec sa njegovim znacenjem.

    Siroka primena konteksno-nezavisnih jezika dovela je do razvoja teorije

    konteksno-nezavisnih jezika kao jedne od najznacajnijih oblasti Teorije

    formalnih jezika.

    Teorija algoritama,jezika i automata 22 Uvodni deoTeorija algoritama,jezika i automata 22 Uvodni deoTeorija algoritama,jezika i automata 22 Uvodni deo

  • Konteksno-nezavisni jeziciKonteksno-nezavisni jeziciKonteksno-nezavisni jezici

    Konteksno-nezavisni jezici se mogu definisati ne vise razlicitih, medu-

    sobno ekvivalentnih nacina:

    kao jezici koji se mogu generisati konteksno-nezavisnim gramatikama;

    kao komponenete najmanjeg resenja sistema polinomnih jednacina,

    sto su nezavisno jedni od drugih pokazali Chomsky i Schutzenberger

    [1963] i Ginsburg i Rice [1962].

    potisnim automatima ciji je matematicki model uveden u radu Schu-

    tzenbergera [1963], a ciju su ekvivalentnost sa konceptom gener-

    isanja jezika konteksno-nezavisnom gramatikom u svojim radovima

    dokazali Chomsky [1962] i Evey [1963].

    Teorija algoritama,jezika i automata 23 Uvodni deoTeorija algoritama,jezika i automata 23 Uvodni deoTeorija algoritama,jezika i automata 23 Uvodni deo

  • Konteksno-nezavisni jeziciKonteksno-nezavisni jeziciKonteksno-nezavisni jezici

    Tokom ovog kursa pokazacemo da je moguce izvrsiti redukciju konteksno-

    nezavisne gramatike do takozvane ciste gramatike i gramatike u Nor-

    malnoj formi Chomsky koje prepoznaju isti jezik.

    Potom cemo uvesti pojam potisnog automata, tj. automata sa po-

    tiskujucom memorijom (stekom), pojmove raspoznavanja jezika skupom

    stanja potisnog automata i raspoznavanja jezika praznim stekom i po-

    kazacemo da su ova dva nacina raspoznavanja ekvivalentna.

    Konacno, dokazacemo da je model generisanja jezika potisnim automa-

    tima ekvivalentan generisanju konteksno-nezavisnim gramatikama, odno-

    sno da su jezici koji se mogu raspoznati potisnim automatima tacno

    konteksno-nezavisni jezici.

    Teorija algoritama,jezika i automata 24 Uvodni deoTeorija algoritama,jezika i automata 24 Uvodni deoTeorija algoritama,jezika i automata 24 Uvodni deo

  • Jezici tipova 0 i 1Jezici tipova 0 i 1Jezici tipova 0 i 1

    Konteksno-zavisni jezici drugacije se nazivaju jezicima tipa 1, dok su

    jezici generisani proizvoljnim gramatikama jezici tipa 0.

    Prirodno se namece pitanje:

    Da li se navedeni tipovi jezika mogu okarakterisati pomocu nekih mo-

    dela apstraktnih matematickih masina koje raspoznaju te jezike?

    Odgovor na ovo pitanje je pozitivan.

    Za raspoznavanje jezika tipa 0 koristi se apstraktna masina koju je,

    jos pre pojave elektronskih racunara, 1930-ih godina, definisao britan-

    ski matematicar-informaticar Alan Tjuring (Alan Turing, 1912-1954), i

    koja, u pogledu onoga sto moze izracunati, poseduje sve mogucnosti

    danasnjih racunara.

    Teorija algoritama,jezika i automata 25 Uvodni deoTeorija algoritama,jezika i automata 25 Uvodni deoTeorija algoritama,jezika i automata 25 Uvodni deo

  • Jezici tipova 0 i 1Jezici tipova 0 i 1Jezici tipova 0 i 1

    U njegovu cast, tu masinu danas nazivamo Tjuringova masina.

    Tjuringov cilj bio je da precizno opise granice izmedu onoga sto racunske

    masine mogu i onoga sto ne mogu, odnosno, da odgovori na pitanja

    Koji problemi su algoritamski resivi?

    Koji problemi su algoritamski neresivi?

    Zakljucci do kojih je tom prilikom Tjuring dosao primenljivi su ne samo

    na apstraktne Tjuringove masine, vec i na danasnje realne racunare.

    Tokom ovog kursa uvescemo pojmove deterministicke i nedetermin-

    isticke Tjuringove masine i raspoznavanja jezika tim masinama. Pri

    tome cemo pokazati da oba ova tipa Turingovih masina raspoznaju

    istu klasu jezika.

    Teorija algoritama,jezika i automata 26 Uvodni deoTeorija algoritama,jezika i automata 26 Uvodni deoTeorija algoritama,jezika i automata 26 Uvodni deo

  • Jezici tipova 0 i 1Jezici tipova 0 i 1Jezici tipova 0 i 1

    Sa druge strane, jezici tipa 1, odnosno konteksno-zavisni jezici, raspo-

    znaju se specijalnim tipom Turingovih masina uvedenim u radu Myhilla

    [1960], koje se nazivaju linearno ogranicenim automatima.

    Landweber [1963] i Kurod [1964] su dokazali da klasa jezika koji se

    mogu raspoznati nedeterministickim linearno ogranicenim automatima

    jeste upravo klasa konteksno-zavisnih jezika.

    Smatrajuci da Turingova masina ispunjava tacno one uslove za koje se

    smatra da ih intuitivni pojam algoritma treba imati, Church [1936] je

    izneo tezu da se svaki algoritam moze realizovati nekom Turingovom

    masinom.

    Ova teza poznata je pod nazivom Churchova teza i do danas nije

    opovrgnuta i opste je prihvacena.

    Teorija algoritama,jezika i automata 27 Uvodni deoTeorija algoritama,jezika i automata 27 Uvodni deoTeorija algoritama,jezika i automata 27 Uvodni deo

  • Izracunljivost i odlu civostIzracunljivost i odlu civostIzracunljivost i odlu civost

    U ovom delu kursa bice reci o neformalnim pojmovima izracunljivosti i

    odlucivosti i njihovim formalnim ekvivalentima Turing-izracunljivosti i

    Turing-odlucivosti.

    Dacemo zatim karakterizaciju rekurzivnih i rekurzivno nabrojivih jezika,

    kao i rezultat do koga su prvi dosli Davis [1958] i Chomsky [1959] da

    je jezik rekurzivno nabrojiv ako i samo ako je generisan proizvoljnom

    gramatikom (jezik tipa 0).

    Takode se dokazuje da su konteksno-nezavisni jezici rekurzivni jezici.

    Teorija algoritama,jezika i automata 28 Uvodni deoTeorija algoritama,jezika i automata 28 Uvodni deoTeorija algoritama,jezika i automata 28 Uvodni deo

  • Izracunljivost i odlu civostIzracunljivost i odlu civostIzracunljivost i odlu civost

    Klasu algoritamski resivih problema je 1969. godine americki infor-

    maticar Stefan Kuk (Stephen Cook, 1939- ) podelio u dve podklase:

    Problemi koji se zaista mogu prakticno realizovati racunarima;

    Problemi koji su u principu algoritamski resivi, ali njihovo prakticno

    resavanje zahteva toliko mnogo vremena, da su racunari beskorisni u

    svim, osim u malom broju najjednostavnijih slucajeva tih problema.

    Problemi iz ove druge klase nazivaju se neobradivi problemi (engleski

    intractable), ili NP-teski problemi.

    Teorija algoritama,jezika i automata 29 Uvodni deoTeorija algoritama,jezika i automata 29 Uvodni deoTeorija algoritama,jezika i automata 29 Uvodni deo

  • Izracunljivost i odlu civostIzracunljivost i odlu civostIzracunljivost i odlu civost

    Cak ni danasnji eksponencijalni rast brzine racunara, poznat kao Murov

    zakon, nece imati znacajan uticaj na nasu mogucnost da resavamo veli-

    ke slucajeve neobradivih problema.

    Na ovoj konstataciji temelji se i danasnja kriptografija.

    Sva ova pomenuta teorijska dostignuca imaju veliki uticaj na ono sta

    informaticari (computer scientists) danas rade.

    Neki koncepti, kao sto su konacni automati ili neke vrste formalnih

    gramatika, koriste se u dizajniranju i konstrukciji vaznih tipova softvera.

    Drugi koncepti, poput Tjuringovih masina, pomazu nam da razumemo

    sta mozemo ocekivati od naseg softvera.

    Teorija algoritama,jezika i automata 30 Uvodni deoTeorija algoritama,jezika i automata 30 Uvodni deoTeorija algoritama,jezika i automata 30 Uvodni deo

  • Novi trendovi u ra cunarstvu: Natural ComputingNovi trendovi u ra cunarstvu: Natural ComputingNovi trendovi u ra cunarstvu: Natural Computing

    Vec smo pomenuli da su zadaci ovog kursa:

    Da se upoznamo sa najvaznijim tipovima apstraktnih masina;

    Da vidimo kakvi se problemi mogu resavati odredenim tipom masina;

    Da se upoznamo sa prakticnim primenama tih masina;

    Pored pomenutih zadataka treba i da uocimo gde su granice mogucnosti

    danasnjih apstraktnih masina i realnih racunara, kao i da nazremo kako

    se te granice u buducnosti eventualno mogu pomeriti.

    Teorija algoritama,jezika i automata 31 Uvodni deoTeorija algoritama,jezika i automata 31 Uvodni deoTeorija algoritama,jezika i automata 31 Uvodni deo

  • Novi trendovi u ra cunarstvu: Natural ComputingNovi trendovi u ra cunarstvu: Natural ComputingNovi trendovi u ra cunarstvu: Natural Computing

    Turingov rad predstavlja ogroman korak u standardizaciji pojma racunar-

    skih masina u matematickim terminima.

    U poslednje vreme, predmet izucavanja sve vise postaju nove nekonven-

    cionalne metode izracunavanja.

    Postoje dva osnovna razloga za to:

    veoma progresivna minijaturizacija koja ce u narednih dvadesetak

    godina doseci do atomskog kvantnog nivoa

    potreba za kvalitativno novim algoritmima kojima bi se napali stari,

    nesavladivi, teski problemi

    Osnovna ideja koja se krije iza svega toga je masovni paralelizam.

    Teorija algoritama,jezika i automata 32 Uvodni deoTeorija algoritama,jezika i automata 32 Uvodni deoTeorija algoritama,jezika i automata 32 Uvodni deo

  • Novi trendovi u ra cunarstvu: Natural ComputingNovi trendovi u ra cunarstvu: Natural ComputingNovi trendovi u ra cunarstvu: Natural Computing

    Racunarske nauke sada trpe vaznu transformaciju nastojanjem da se

    kombinuju izracunavanja koja se obavljaju u racunarskim naukama sa

    izracunavanjima koja se opazaju u prirodi, svuda oko nas.

    Kao rezultat toga, rodeno je novo polje izucavanja koje je nazvano

    Prirodna izracunavanja (Natural Computing).

    Prirodna izracunavanja je opsti pojam koji upucuje na to da se racunar-

    stvo sve vise oslanja na prirodu i da je inspirisano prirodom.

    Teorija algoritama,jezika i automata 33 Uvodni deoTeorija algoritama,jezika i automata 33 Uvodni deoTeorija algoritama,jezika i automata 33 Uvodni deo

  • Novi trendovi u ra cunarstvu: Natural ComputingNovi trendovi u ra cunarstvu: Natural ComputingNovi trendovi u ra cunarstvu: Natural Computing

    Prirodna izracunavanja pokusavaju da imitiraju izracunavanja onako

    kako se ona odvijaju u prirodi:

    Izucavanjem modela izracunavanja i racunarskih paradigmi sa ko-

    jima je priroda eksperimentisala milijardama godina

    njihovim implementiranjem u izracunavanjima koja se obavljaju u

    laboratorijskim uslovima (in vitro), ili

    njihovim implementiranjem u izracunavanjima koja se vrse u infor-

    matici (in info), simbolickim izrazima, i eventualno implementiranim

    u silicijumskim medijima.

    Teorija algoritama,jezika i automata 34 Uvodni deoTeorija algoritama,jezika i automata 34 Uvodni deoTeorija algoritama,jezika i automata 34 Uvodni deo

  • Novi trendovi u ra cunarstvu: Natural ComputingNovi trendovi u ra cunarstvu: Natural ComputingNovi trendovi u ra cunarstvu: Natural Computing

    Prirodna izracunavanja obuhvataju cetiri osnovne oblasti:

    neuronska izracunavanja, koja su inspirisana medusobnopovezanim neuronskim strukturama u mozgu i nervnom sistemu

    evolucionarna izracunavanja, koja koriste koncepte mu-tacije, rekombinacije gena i prirodne selekcije iz biologije

    kvantna izracunavanja, koja su zasnovana na kvantnojfizici i koriste kvantni paralelizam

    molekularna izracunavanja, koja su zasnovana na paradig-mama iz molekularne biologije

    Teorija algoritama,jezika i automata 35 Uvodni deoTeorija algoritama,jezika i automata 35 Uvodni deoTeorija algoritama,jezika i automata 35 Uvodni deo

  • Novi trendovi u ra cunarstvu: Natural ComputingNovi trendovi u ra cunarstvu: Natural ComputingNovi trendovi u ra cunarstvu: Natural Computing

    Evolucionarni algoritmi i algoritmi koji se zasnivaju na neuronskim mre-

    zama su u ovom trenutku implementirani i u konvencijalnim racunarima.

    Kvantna izracunavanja su usmerena ka netradicionalnom hardveru koji

    bi bio baziran na kvantnim efektima

    Molekularna izracunavanja nastoje da postanu alternativa za silicijumski

    hardver, implementirajuci algoritme u bioloskom hardveru (bioware), uz

    koriscenje DNK molekula i enzima.

    Teorija algoritama,jezika i automata 36 Uvodni deoTeorija algoritama,jezika i automata 36 Uvodni deoTeorija algoritama,jezika i automata 36 Uvodni deo

  • Novi trendovi u ra cunarstvu: Natural ComputingNovi trendovi u ra cunarstvu: Natural ComputingNovi trendovi u ra cunarstvu: Natural Computing

    Analiza racunarskih modela pokazuje da se tradicionalni modeli izracu-

    navanja mogu uspesno objasniti pomocu uredaja koji se opisuju korisce-

    njem klasicne fizike.

    Feynman (1982) je postavio hipotezu da je nemoguce simulirati fenome-

    ne kvantne fizike klasicnim racunarom bez eksponencijalnog smanjenja

    brzine efikasnosti simulacije.

    On je sugerisao da bi koriscenjem kvantnog racunara koji radi prema

    zakonima kvantne fizike bila moguca efektivna simulacija.

    Drugim recima, Feynman je prvi predlozio kvantni racunar koji bi imao

    eksponencijalno vecu efikasnost racunanja od bilo kog klasicnog racunara.

    Teorija algoritama,jezika i automata 37 Uvodni deoTeorija algoritama,jezika i automata 37 Uvodni deoTeorija algoritama,jezika i automata 37 Uvodni deo

  • Novi trendovi u ra cunarstvu: Natural ComputingNovi trendovi u ra cunarstvu: Natural ComputingNovi trendovi u ra cunarstvu: Natural Computing

    Ne primer, veca efikasnost je potvrdena poznatim kvantnim algoritmi-

    ma koje je otkrio Peter W. Shor, 1994. godine:

    za faktorizaciju celih brojeva, i

    za nalazenje diskretnih logaritama.

    Shorov kvantni algoritam za faktorizaciju brojeva nudi znacajno pobo-

    ljsanje u odnosu na poznate, tradicionalne tehnike.

    Problemi faktorizacije celih brojeva i nalazenja diskretnih logaritama

    imaju veliki teorijski, ali i prakticni znacaj.

    Oni igraju kljucnu ulogu u kriptografiji sa javnim kljucem.

    Naime, sigurnost cuvenog RSA kriptosistema zasniva se na cinjenici da

    su ova dva problema nesavladiva.

    Medutim, Shor je pokazao da to ne bi bio slucaj ukoliko bi se jednog

    dana konstruisao prakticno upotrebljiv kvantni racunar.

    Teorija algoritama,jezika i automata 38 Uvodni deoTeorija algoritama,jezika i automata 38 Uvodni deoTeorija algoritama,jezika i automata 38 Uvodni deo

  • Novi trendovi u ra cunarstvu: Natural ComputingNovi trendovi u ra cunarstvu: Natural ComputingNovi trendovi u ra cunarstvu: Natural Computing

    DNK izracunavanja su oblast istrazivanja koja se brzo razvija i bavi se

    koriscenjem DNK molekula za implementaciju u procesu racunanja.

    Jedno od najvaznijih dostignuca u ovoj oblasti je dizajn racunara koji

    ce se zasnivati na DNK molekulima (radije nego na silicijumu), koji ce

    u buducnosti ili zameniti ili uspesno dopuniti silicijumske racunare.

    Konstruisanje racunara iz molekula predlozio je R. Feynman [1961], i

    do danas je publikovan veliki broj teorijskih ideja.

    Stvarni pocetak ove oblasti je rad Adlemana [1994].

    Adleman je bio prvi koji je stvarno implementirao izracunavanje u zivim

    celijama i izvrsio prvi eksperiment koji je potvrdio osnovne principe

    DNK izracunavanja.

    Teorija algoritama,jezika i automata 39 Uvodni deoTeorija algoritama,jezika i automata 39 Uvodni deoTeorija algoritama,jezika i automata 39 Uvodni deo

  • Novi trendovi u ra cunarstvu: Natural ComputingNovi trendovi u ra cunarstvu: Natural ComputingNovi trendovi u ra cunarstvu: Natural Computing

    Iako je jos prerano predvideti da li ce racunarski hardver da se promeni

    iz silicijuma u ugljenik i od mikrocipova u DNK molekule, teoretske

    pretpostavke se vec opsezno postavljaju.

    Nezavisno od tehnoloskog napretka DNK racunarstva u buducnosti, ova

    oblast nas je vec dovela do novih racunskih paradigmi koje su sigurno

    obogatile razumevanje prirode izracunavanja.

    Teorija algoritama,jezika i automata 40 Uvodni deoTeorija algoritama,jezika i automata 40 Uvodni deoTeorija algoritama,jezika i automata 40 Uvodni deo

    Uvodni deoAlgoritamTeorija izracunljivostiHijararhija Chomskog