SVEUČILIŠTE U ZAGREBU FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA ZAVRŠNI RAD br Optimizacija Booleovih funkcija za kriptografske postupke Marina Krče

Величина: px
Почињати приказ од странице:

Download "SVEUČILIŠTE U ZAGREBU FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA ZAVRŠNI RAD br Optimizacija Booleovih funkcija za kriptografske postupke Marina Krče"

Транскрипт

1 SVEUČILIŠTE U ZAGREBU FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA ZAVRŠNI RAD br Optimizacija Booleovih funkcija za kriptografske postupke Marina Krček Zagreb, lipanj 2015.

2

3 Zahvala Ovaj rad izrađen je pod vodstvom mentora prof. dr. sc. Domagoja Jakobovića. Zahvaljujem mentoru na uloženom vremenu i trudu, sugestijama, prijedlozima i svoj ostaloj pomoći koju je pružio pri izradi ovog rada.

4 Sadržaj 1. Uvod Optimizacija Booleovih funkcija za kriptografske postupke Booleove funkcije Booleove funkcije u kriptografiji Programsko rješenje Korištene tehnologije Prikaz pomoću vektora kontinuiranih varijabli Prikaz pomoću vektora cjelobrojnih varijabli Konfiguracijska datoteka i način upotrebe programskog rješenja Rezultati Jednostavni primjeri Svojstva Booleovih funkcija Rezultati s vektorom realnih brojeva Rezultati s vektorom cijelih brojeva Zaključak Literatura... 32

5 1. Uvod Booleove funkcije imaju veliku ulogu u kriptografiji, te trebaju zadovoljavati određena svojstva kako bi bile pogodne za upotrebu u kriptografskim postupcima. Booleove funkcije treba optimirati, tj. pronaći one funkcije koje najbolje zadovoljavaju određena svojstva. Za optimizaciju funkcija koriste se različiti evolucijski algoritmi. Evolucijski algoritmi najčešće koriste vektore kontinuiranih ili cjelobrojnih varijabli. Iz tog razloga željeli bismo Booleove funkcije prikazati takvim vektorima. U ovom radu istražit će se način interpretacije navedenih vektora kao tablice istinitosti, tj. kao interpretacije Booleovih funkcija te će se kroz ispitivanja proučiti dobiveni rezultati. U sljedećim poglavljima objašnjen je problem rada i ideja njegovog rješenja te je opisano programsko rješenje. Nadalje, prikazan je pregled i analiza dobivenih rezultata te zaključak koji je donesen iz njih. Brojnim ispitivanjima željelo se pronaći parametre kojima će se postići najbolji rezultati. 1

6 2. Optimizacija Booleovih funkcija za kriptografske postupke 2.1 Booleove funkcije Booleove funkcije su funkcije oblika f B k B, gdje je B = {0, 1} domena i k nenegativni cijeli broj. Prikaz Booleovih funkcija je pomoću tablice istinitosti (engl. truth table) koja se u programima najčešće zapisuje kao niz bitova. Booleova funkcija s n ulaznih varijabli ima tablicu istinitosti od 2 n elemenata. Cilj ovog rada je isprobati različite prikaze Booleovih funkcija, točnije vektorima s kontinuiranim varijablama te vektorima s cjelobrojnim varijablama kako bi se za optimizaciju mogli koristiti brojni evolucijski algoritmi koji koriste navedene vektore. 2.2 Booleove funkcije u kriptografiji Tri su osnovna načina za generiranje Booleovih funkcija za korištenje u kriptografiji: algebarska konstrukcija, nasumično generiranje i heuristička konstrukcija te razne kombinacije navedena tri načina. Algebarske konstrukcije koriste matematičke metode za kreiranje Booleovih funkcija s dobrim kriptografskim svojstvima. Nasumično generiranje Booleovih funkcija jednostavna je i brza metoda, pa se zato često koristi, ali nerijetko se njome generiraju Booleove funkcije s neoptimalnim svojstvima za kriptografsku upotrebu. Heurističke metode su jednostavne i učinkovite za kreiranje velikog broja Booleovih funkcija s vrlo dobrim kriptografskim svojstvima. Evolucijski algoritmi postižu dobre rezultate u generiranju Booleovih funkcija za kriptografiju. Isprobavani su mnogi evolucijski algoritmi sa zapisom Booleovih funkcija kao tablice istinitosti u nizu bitova, a u ovom radu nastoji se prikazivati Booleove funkcije kao realne vektore i vektore cijelih brojeva kako bi bilo moguće iskoristiti što više evolucijskih algoritama koji postoje u ECF-u (engl. Evolutionary Computation Framework). 2

7 3. Programsko rješenje 3.1 Korištene tehnologije Rad je podijeljen na dva dijela, pa su napravljena dva projekta stvorena u Visual Studiu s ECF bibliotekom. Prvi projekt koristi genotip koji već postoji u ECF-u FloatingPoint, a u drugom projektu je korišten novi genotip IntGenotype. Projekti su pisani programskim jezikom C++ u kojem je pisan i sam ECF, ali u pisanom dijelu ovog rada prikazani su samo pseudokodovi određenih dijelova programskog rješenja radi boljeg objašnjenja. Konfiguracijske datoteke imaju strukturu XML datoteke te su jednostavne za korisnika, dijelovi konfiguracijskih datoteka su umetnuti u ovaj rad kako bi se bolje objasnio način korištenja ovog rada. 3.2 Prikaz pomoću vektora kontinuiranih varijabli Booleove funkcije se najčešće prikazuju pomoću niza bitova koji su zapravo tablica istinitosti. Tablicu istinitosti želimo prikazati pomoću kontinuiranih varijabli. Ideja je da se koristi genotip FloatingPoint koji predstavlja vektor realnih varijabli. Zadatak ovog rada bio je osmisliti neki odnos između niza bitova tablice istinitosti i kontinuiranih brojeva. Ideja jednog takvog odnosa objašnjena je u ovom radu i dio je programskog rješenja. Korisnik zadaje broj varijabli Booleove funkcije te broj varijabli u FloatingPoint genotipu. Iz tih podataka saznaje se veličina tablice istinitosti te koliko bitova će predstavljati jedan element, tj. broj iz vektora realnih vrijednosti. Broj elemenata tablice istinitosti jednak je 2 broj varijabli Booleove funkcije, dok broj bitova koji predstavlja jednu vrijednost iz vektora iznosi decode = 3 veličina tablice istinitosti. broj varijabli realnog vektora Evolucijski algoritmi koji se koriste stvaraju početnu populaciju realnih vektora, što znači da je prije slanja u neku funkciju svojstva potrebno dobivene realne vrijednosti dekodirati u bitove, tj. u polje cijelih brojeva, u ovom slučaju zapravo samo 0 i 1. Iz realne vrijednosti prvo se dobiva cijeli broj u dekadskom sustavu koji se potom pretvara u binarni zapis. Svaka vrijednost realnog vektora pripada određenom

8 intervalu između 0 i 1, taj interval računa se kao interval = 2 1 decode. Intervali predstavljaju određene cjelobrojne brojeve. U implementaciji svaki element realnog vektora podijeli se s izračunatim intervalom i uzme najmanje cijelo od rezultata vrijednost iz realnog vektora interval pretvoriti u binarni zapis., te se na taj način izračunaju cijeli brojevi koje potom treba Funkcije koje opisuju svojstva Booleovih funkcija kao argumente primaju vektor, tj. polje s elementima cjelobrojnih vrijednosti, pa iz tog razloga cijele brojeve pretvaramo u binarni sustav. Implementirane su dvije opcije dekodiranja vektora realnih brojeva binarno i grayevo kodiranje. Opciju koju želi bira korisnik u konfiguracijskoj datoteci pod encoding. Za primjer pretpostavimo da je korisnik za vektor realnih brojeva zadao donju granicu na 0, gornju na 1 i dimenziju, tj. broj varijabli na 4. Zatim neka je zadao broj Booleovih varijabli na 3, što nam daje tablicu istinitosti od 2 3 = 8 elemenata. Iz dobivenih podataka izračunat će se da svaki element realnog vektora treba prikazati s decode = interval = veličina tablice istinitosti broj varijabli realnog vektora = 8 4 = 2 bita, 1 2 decode = 1 2 te da će interval biti jednak 2 = Dakle, za navedeni primjer vrijednosti iz realnog vektora koje su između 0 i 0.25 označavat će cijeli broj 0, vrijednosti između 0.25 i 0.5 označavat će cijeli broj 1, između 0.5 i 0.75 broj 2, te između 0.75 i 1 broj 3. Slika 3.1 prikazuje objašnjeno razmišljanje. Slika 3.1 Vizualno objašnjenje odnosa između vektora realnih i cijelih brojeva Funkcija koja obavlja ovu pretvorbu, tj. od primljenog vektora realnih vrijednosti stvara novi u kojem će biti odgovarajuće cjelobrojne vrijednosti u pseudokodu izgleda ovako: 4

9 void Binary_FP_to_INT(individual, numoffpvar, interval) { dohvati vektor realnih brojeva za svaki element iz dohvaćenog vektora pom = najmanje_cijelo(vrijednost_elementa/interval) spremi pom u vektor cijelih brojeva } U ovom trenutku dekodiranja postoji vektor čiji su elementi diskretne vrijednosti u dekadskom sustavu koje je potrebno pretvoriti u binarni sustav. Pretvorbom u binarni sustav stvara se vektor s vrijednostima 0 i 1 koji će predstavljati tablicu istinitosti koja se šalje u funkcije svojstava za kriptografiju i time je dekodiranje završeno. Slijedi pseudokod za binarno dekodiranje. vektor<int> BinaryTruthTable(vel_TT, numfpvar, dekod) { inicijaliziraj vektor binarno na veličinu vel_tt k = 0 od zadnjeg do prvog elementa cjelobrojnog vektora { za svaki od 0 do dekod { ako element_polja % 2 == 1 { podijeli element polja s 2 binarno[k] = 1 k++ } inače { podijeli element polja s 2 binarno[k] = 0 k++ } } ako k == vel_tt izadi iz petlje } invertirati elemente vektora binarno vrati binarno } Grayevo kodiranje implementirano je uz pomoć binarnog jer vrijedi da ako se nad binarnim kodom posmaknutim u desno za 1 i početnim binarnim kodom (bez pomaka u desno) napravi isključivo ili (engl. xor) dobije grayev kod, tj. vrijedi jednakost: grayev kod = (binarni kod 1 ) XOR binarni kod. Pseudokod koji koristi navedenu jednakost prikazan je u nastavku. vektor<int> GrayTruthTable(binarno, vel_tt, numfpvar, dekod) { inicijaliziraj vektor gray na veličinu vel_tt 5

10 } inicijaliziraj pomoćni vektor na veličinu dekod za i od 0 do veličine binarno uz i+=dekod { za j od 0 do dekod { ako i + j == dekod + i - 1 pomoćni[j] = 0 inače pomoćni[j] = binarno[i + j + 1] ako binarno[i + j] == pomoćni[j] gray[i + j] = 0 inače ako bin[i + j]!= pom[j] gray[i + j] = 1 } } invertirati elemente gray vektora vrati gray Kako bi bilo jasnije, svi koraci pretvorbe od vektora realnih brojeva do tablice istinitosti prikazani su na konkretnom primjeru. Neka ostanu isti zadani podaci kao u prošlom primjeru, dakle realne vrijednosti generiraju se iz intervala između 0 i 1, a dimenzija vektora neka je 4. Booleova funkcija neka ima 3 varijable, dakle tablica istinitosti bit će veličine 2 3 = 8 elemenata. Argumenti funkcija pretvorbe u tablicu istinitosti su decode = = veličina tablice istinitosti = 8 = 2 bita, i interval = 1 = broj elemenata realnog vektora 4 2 decode U populaciji neka je generiran realni vektor s vrijednostima , , i (redom po indeksima od 0 do 3) te će se na tom vektoru pokazati koraci objašnjenog dekodiranja. Dakle, prvi korak je pretvorba realnih vrijednosti u diskretne cjelobrojne vrijednosti dijeljenjem s intervalom te uzimanjem najmanjeg cijelog. Vektor cjelobrojnih vrijednosti za ovaj slučaj iznosit će: = = 2, = = 2, = = 0 i = = 1. Sada je potrebno napraviti tablicu istinitosti tako da se brojevi 2, 2, 0 i 1 pretvore u binarni sustav i zapišu u vektor cijelih brojeva koji će sadržavati samo brojeve 0 i 1. U binarnom kodiranju vektor tablice istinitosti će redom od indeksa 0 do indeksa 7 izgledati: Ukoliko je zadano grayevo kodiranje, dobiveni vektor poslat će se u funkciju za dobivanje tablice istinitosti u grayevom kodiranju. Nakon te obrade tablica istinitosti će slijedno od indeksa 0 do 7 biti: Tako stvorena 6

11 tablica istinitosti šalje se na obradu u funkcije svojstava po kojima se optimiraju Booleove funkcije za upotrebu u kriptografskim postupcima. 3.3 Prikaz pomoću vektora cjelobrojnih varijabli Za prikaz tablice istinitosti pomoću cijelih brojeva, napravljen je novi genotip koji umjesto realne vrijednosti varijabli koje sadrži FloatingPoint genotip koristi cjelobrojne vrijednosti. Dakle, novi genotip nazvan IntGenotype je vektor s vrijednostima varijabli tipa integer (cijeli broj). Za novi genotip treba također odrediti broj varijabli, tj. elemenata u vektoru, te gornju i donju granicu između kojih se biraju vrijednosti koje će popuniti vektor. U IntGenotype uključene su jednostavne funkcije križanja i mutacije koje koriste neki evolucijski algoritmi. Pseudokod za funkciju križanja izgleda ovako: bool mate(gen1, gen2, child) { za i od 0 do veličine gen1 { a = nasumična realna vrijednost iz intervala [0,1] ako a manje od 0.5 child[i] = gen1[i] inače child[i] = gen2[i] } vrati true } Funkcija mutacije zapisana pseudokodom: bool mutate(gen) { size = veličina vektora a = nasumičan cijeli broj iz intervala [0,size) d = donja granica vektora g = gornja granica vektora gen[a] = nasumičan cijeli broj iz intervala [d,g] vrati true } U ovom slučaju, algoritmi će stvarati populaciju vektora s cjelobrojnim vrijednostima te sada nema potrebe za posebnim dekodiranjem iz realne vrijednosti u cijeli broj, nego se odmah pristupa pretvorbi u binarni sustav, što čini dekodiranje jednostavnijim od prošlog potrebno je manje koraka do konačne tablice istinitosti. Broj bitova koji će označavati pojedinu vrijednost iz vektora cijelih brojeva računa se na isti način kao kod prikaza pomoću vektora kontinuiranih varijabli: decode = 7

12 broj elemenata tablice istinitosti broj elemenata cjelobrojnog vektora. Također, postoje dva načina kodiranja, binarno i grayevo kodiranje koje odabire korisnik. Pseudokodovi za funkcije u kojima dobivene vektore cijelih brojeva iz populacije pretvaramo u tablicu istinitosti predstavljenu poljem cijelih brojeva (0 i 1 su jedine vrijednosti koje će to polje sadržavati), tj. binarni sustav jednake su kao i kod prikaza pomoću realnog vektora. 3.4 Konfiguracijska datoteka i način upotrebe programskog rješenja Konfiguracijska datoteka služi da se njome odabere algoritam kojim će se optimirati Booleove funkcije te za zadavanje parametara odabranog algoritma, genotipa i same Booleove funkcije. Parametre odabranog algoritma korisnik mora proučiti u dokumentaciji izabranog algoritma. Ovaj rad istražuje različite prikaze Booleovih funkcija, pa su detaljnije objašnjeni parametri koji određuju Booleove funkcije i njihov prikaz. U prvom slučaju kada koristimo FloatingPoint genotip treba se zadati: lbound, ubound i dimension. Dimension je broj varijabli vektora, tj. veličina vektora, a lbound i ubound su donja i gornja granica koje označavaju interval iz kojeg se odabiru realni brojevi koji će se upisati u vektor. Primjer upisivanja objašnjenih parametara u konfiguracijsku datoteku izgleda: <Genotype> <FloatingPoint> <Entry key="lbound">0</entry> <Entry key="ubound">1</entry> <Entry key="dimension">8</entry> </FloatingPoint> </Genotype> Za korištenje drugog genotipa IntGenotype, zapis u konfiguracijskoj datoteci treba izgledati: <Genotype> <IntGenotype> <Entry key="lbound">0</entry> <Entry key="ubound">15</entry> <Entry key="size">8</entry> </IntGenotype> </Genotype> 8

13 Jedina razlika je što se kod genotipa IntGenotype zadaje veličina vektora pod drugačijim nazivom size, umjesto dimesion koji je bio kod FloatingPoint genotipa. Ostali parametri koji se trebaju upisati su bool_variables i encoding. Bool_variables je zapravo broj varijabli Booleove funkcije, to je n u veličini tablice istinitosti koja iznosi 2 n. Kako je prije napomenuto, implementirana su dva načina kodiranja brojeva dekadskog sustava u binarni uobičajeno binarno (težinsko) i grayevo kodiranje (Hammingova udaljenost susjednih brojeva je 1). Korisnik bira želi li binarno ili grayevo kodiranje tako da u konfiguracijskoj datoteci pod encoding upiše ili binary ili gray. Sljedećim odsječkom korisnik je odabrao Booleovu funkciju s 8 varijabli, te binarno kodiranje tablice istinitosti. <Registry> <Entry key="bool_variables">8</entry> <Entry key="encoding">binary</entry> </Registry> S obzirom da želimo optimirati Booleove funkcije za potrebe u kriptografiji, one trebaju zadovoljiti neka svojstva koja su programski ostvarena, te će se koristiti u ovom radu. Kako bi se navedeno programsko ostvarenje moglo koristiti potrebno ga je uključiti u projekte ovoga rada. Korišteno ostvarenje zapravo je niz funkcija svojstava te se određena funkcija bira putem konfiguracijske datoteke pod function. <Registry> <Entry key="function">5</entry> </Registry> 9

14 4. Rezultati 4.1 Jednostavni primjeri Programsko rješenje prvo je ispitano na vrlo jednostavnim primjerima radi provjere programskog rješenja i saznanja o tome kako zadati što bolje parametre za teže optimizacijske probleme. Jednostavni primjer je zapravo bilo zadavanje određene Booleove funkcije te pronalaženje zadane funkcije zapisane u FloatingPoint ili IntGenotype genotipu koja će imati najmanju razliku u bitovima. Genotipom FloatingPoint isprobani su algoritmi SteadyStateTournament (SST), RouletteWheel (RW), GenHookeJeeves (GHJ), OptIA (OIA), Clonalg (CA), DifferentialEvolution (DE), ArtificialBeeColony (ABC) i ParticleSwarmOptimization (PSO). Za mali broj varijabli, na primjer 4 varijable realnog vektora i 4 Booleove varijable, svi algoritmi odmah nađu zadanu funkciju, osim ArtificialBeeColony i ParticleSwarmOptimization koji u evaluacija uspiju naći Booleovu funkciju s razlikom u jednom ili dva bita. Jednako je koristili binarno ili grayevo kodiranje. Recimo da je u kodu zadana Booleova funkcija s tablicom istinitosti: [ ] što je u prikazu polja s cijelim brojevima jednako - [ ] jer koristimo binarno kodiranje. U ovom primjeru jedan cijeli broj predstavljen je s 4 bita tablici istinitosti. Jedno od mogućih rješenja koje je dobiveno ispitivanjem je vektor [ ]. Provjerimo: interval = 1 2 decode = = , dakle ovaj vektor realnih brojeva pretvaramo u vektor s cjelobrojnim vrijednostima i dobijemo [ upravo tražena Booleova funkcija ] = [ ] što je Na primjeru s malo varijabli nisu se vidjele razlike, pa je sljedeći korak u ispitivanju bio povećanje broja varijabli, tj. veličine vektora koji se optimiraju. Zadali smo broj Booleovih varijabli na 8, te veličinu realnog vektora na 16 kako bi mogli rezultate usporediti s genotipom IntGenotype, što znači da u tom slučaju 16 bitova odgovara jednoj varijabli, tj. jednoj vrijednosti iz realnog vektora. Veličina 10

15 populacije je 500, a uvjet zaustavljanja Svako ispitivanje ponovljeno je 5 puta. Rezultati u ovom primjeru predstavljaju broj bitova u kojima se pronađena funkcija razlikuje od zadane. Binarnim kodiranjem dobili smo rezultate zapisane u tablici 4.1. U ovoj i svim sljedećim tablicama prikazane su kratice algoritama, te oznake min (engl. minimum) kao najmanje, avg (engl. average) kao prosječne i max (engl. maximum) kao najveće dobivene vrijednosti, radi preglednosti tablice i samih rezultata. Također, kratice algoritama koriste se i na vizualnim prikazima rezultata. Tablica 4.1 Rezultati za 8 Booleovih i 16 realnih varijabli FP,binary SST RW GHJ PSO ABC DE CA OIA min avg max Iz tablice 4.1 i slike 4.1 vidi se da su algoritmi Clonalg i SteadyStateTournament pronašli najbolje rezultate dok su algoritmi ParticleSwarmOptimization i DifferentialEvolution bili najlošiji. Slika 4.1 Rezultati za 8 Booleovih i 16 realnih varijabli dobiveni binarnim kodiranjem 11

16 Tablica 4.2 prikazuje rezultate dobivene s istim brojem varijabli, ali grayevim kodiranjem. Za algoritme SteadyStateTournament, RouletteWheel i GenHookeJeeves grayevo kodiranje pokazalo se bolje nego binarno, dok je za ostale algoritme binarno kodiranje bio bolji odabir. Tablica 4.2 Rezultati za 8 Booleovih i 16 realnih varijabli FP, gray SST RW GHJ PSO ABC DE CA OIA min avg max Sa slike 4.2 uočavamo da su i grayevim kodiranjem algoritmi Clonalg i SteadyStateTournament pronašli bolje rezultate od ostalih, te su algoritmi ParticleSwarmOptimization i DifferentialEvolution opet bili najlošiji. Slika 4.2 Rezultati za 8 Booleovih i 16 realnih varijabli dobiveni grayevim kodiranjem 12

17 IntGenotype je novi genotip i ne mogu se ispitati svi navedeni algoritmi koje smo isprobavali s podržanim FloatingPoint genotipom. No, SteadyStateTournament (SST) i RouletteWheel (RW) ne ovise o tipu genotipa, pa se ta dva algoritma ispituju s vektorom cijelih brojeva. Broj varijabli zadaje se kao i kod ispitivanja s FloatingPoint genotipom, dakle broj Booleovih varijabli stavljen je na 8, dok je veličina vektora cijelih brojeva bila 16, što je ista veličina koje je bio i realni vektor. Tablica 4.3 prikazuje rezultate s binarnim kodiranjem gdje uočavamo da se i kod IntGenotype genotipa SteadyStateTournament pokazao bolji od algoritma RouletteWheel. No, uspoređujući rezultate vidimo da algoritmi koristeći FloatingPoint genotip pronalaze bolje funkcije, tj. funkcije s manjom razlikom u bitovima od zadane Booleove funkcije. Slika 4.3 vizualizira dobivene rezultate iz tablice 4.3. Tablica 4.3 Rezultati za 8 Booleovih i 16 cjelobrojnih varijabli INT,binary SST RW min avg max Slika 4.3 Vizualizirani rezultati za 8 Booleovih i 16 cjelobrojnih varijabli uz binarno kodiranje 13

18 Isprobano je i grayevo kodiranje te su rezultati zapisani u tablici 4.4 i vizualizirani slikom 4.4. Iz rezultata se vidi da je u oba algoritma binarno kodiranje pronašlo bolje funkcije, što je dakle za ova dva algoritma u slučaju s FloatingPoint genotipom obrnuto, gdje je grayevo kodiranje pokazalo bolje rezultate. Također, opet se potvrđuje da su rezultati s IntGenotype genotipom lošiji od onih s FloatingPoint genotipom. Tablica 4.4 Rezultati za 8 Booleovih i 16 cjelobrojnih varijabli INT,gray SST RW min avg max Slika 4.4 Vizualizirani rezultati za 8 Booleovih i 16 cjelobrojnih varijabli uz grayevo kodiranje 14

19 4.2 Svojstva Booleovih funkcija Neka od svojstava Booleovih funkcija koja su ispitana za provjeru pomoću programskog ostvarenja koje koristimo u radu su balansiranost, korelacijski imunitet, algebarski stupanj i imunitet, nelinearnost i drugi. Svojstva ispitana u ovom radu su nelinearnost, karakteristika propagacije i funkcija koja kombinira korelacijski imunitet, algebarski stupanj i balansiranost. Nelinearnost se izražava kao najmanja Hammingova udaljenost između Booleove funkcije i najbolje afine aproksimacije funkcije. Hammingova udaljenost između dva niza bitova jednake duljine je broj bitova u kojima se dva niza razlikuju. Afina funkcija je funkcija oblika f(x) = Ax + b. Dakle, afine funkcije su zapravo pravci. Tangenta je primjer afine funkcije koja aproksimira funkciju čija je tangenta u točki u kojoj se dodiruju. Gornja granica za svojstvo nelinearnosti određena je sljedećim izrazom: N f 2 n 1 2 n 2 1, gdje je n broj varijabli Booleove funkcije. Za ovo svojstvo dobrota (engl. fitness) bit će: fitness = N f. Svojstvo nelinearnosti u ovom radu označavati ćemo s f1, radi lakšeg snalaženja u prikazu rezultata. Karakteristiku propagacije označavat ćemo kao f2. Ovim svojstvom traži se balansirana funkcija s najvećom mogućom nelinearnošću i korelacijskim imunitetom jednakim nuli. Izraz izgleda: fitness = BAL + N f, gdje BAL predstavlja stupanj balansiranosti funkcije. Dobrota za svojstvo koje kombinira korelacijski imunitet, algebarski stupanj i balansiranost bit će označavana kao f3 u ovom radu i izgleda: fitness = BAL + t + δ t,2 (N f + AI + d), gdje je t stupanj korelacijskog imuniteta za koji vrijedi 15

20 t n d 1, ako je funkcija balansirana, a ako nije onda na desnoj strani ove nejednakosti stoji samo n d. S time da d predstavlja algebarski stupanj, a n broj ulaza. Algebarski imunitet ograničen je odozgo brojem ulaznih varijabli, točnije: AI n, 2 a δ t,2 znači da se izraz u zagradi dodaje samo ako je t = Rezultati s vektorom realnih brojeva Prije navedeni algoritmi isprobani su s FloatingPoint genotipom na funkcijama svojstava nelinearnosti, karakteristike propagacije i funkciji koja kombinira korelacijski imunitet, algebarski stupanj i balansiranost. Za te funkcije traže se najveće vrijednosti (engl. maximum) za razliku od prijašnjih jednostavnijih primjera gdje se tražila najmanja razlika u bitovima (engl. minimum). Za sva ispitivanja veličina populacije je 500, a uvjet zaustavljanja postavljen je na evaluacija. Rezultati provedenih ispitivanja prikazani su u jednakim tablicama kao i kod rezultata za jednostavne primjere, dakle uvedene su kratice algoritama te su ispisane najveća, najmanja i prosječna dobivena vrijednost u 5 ponavljanja. Prva ispitana funkcija je funkcija f1 (svojstvo nelinearnosti), dobivene rezultate prikazuju tablica 4.5 i tablica 4.6. U konfiguracijskoj datoteci zadan je broj varijabli Booleove funkcije na 8, te broj elemenata realnog vektora također na 8. Interval za odabir vrijednosti realnog vektora je [0, 1]. Radi usporedbe ispitana su oba načina kodiranja binarno i grayevo. U tablicama je naznačeno koje kodiranje je korišteno, te funkcija čije rezultate prikazuje. Za svojstvo nelinearnosti funkciju f1 najveću vrijednost 113 dobili su algoritmi GenHookeJeeves i Clonalg, ali različitim kodiranjem. Za algoritme ParticleSwarmOptimization i Clonalg grayevim kodiranjem pronađena je bolja funkcija, dok je ostalim algoritmima binarnim kodiranjem postignuto bolje ili jednako rješenje. 16

21 Tablica 4.5 Rezultati za 8 Booleovih i 8 realnih varijabli f1,binary SST RW GHJ PSO ABC DE CA OIA min avg max Slika 4.5 prikazuje rezultate funkcije f1 s binarnim kodiranjem gdje uočavamo da su najlošije rezultate postigli algoritmi ParticleSwarmOptimization i DifferentialEvolution, dok su ostali zapravo pronašli podjednako dobre rezultate, u skladu s prijašnjim istraživanjima. Može se primijetiti da su navedena dva algoritma bila najlošija i kod ispitivanja jednostavnih primjera. Slika 4.5 Rezultati funkcije f1 uz binarno kodiranje realnog vektora Kod ispitivanja funkcije f1 grayevim kodiranjem algoritam Clonalg pronašao je bolje rezultate te se pokazao najboljim što vidimo u tablici 4.6. Na slici 4.6 jasno se vidi da se algoritam ParticleSwarmOptimization grayevim kodiranjem približio rezultatima 17

22 ostalih algoritama dok je DifferentialEvolution dobio jednake rezultate binarnim i grayevim kodiranjem te je najlošiji. Tablica 4.6 Rezultati za 8 Booleovih i 8 realnih varijabli f1, gray SST RW GHJ PSO ABC DE CA OIA min avg max Slika 4.6 Rezultati funkcije f1 uz grayevo kodiranje realnog vektora Za funkciju f2 binarno kodiranje pokazalo se bolje za GenHookeJeeves algoritam, a lošije za algoritme DifferentialEvolution i OptIA. Ostalim algoritmima dobiveni su identični rezultati što se vidi sa slika 4.7 i 4.8. Opet se može uočiti činjenica da su ParticleSwarmOptimization i DifferentialEvolution dobivali najlošije rezultate, dok algoritam Clonalg pokazuje najbolje. 18

23 Tablica 4.7 Rezultati za 8 Booleovih i 8 realnih varijabli f2,binary SST RW GHJ PSO ABC DE CA OIA min avg max Slika 4.7 Rezultati funkcije f2 uz binarno kodiranje realnog vektora U tablici 4.8 su zapisani rezultati ispitivanja funkcije f2 (karakteristika propagacije) grayevim kodiranjem koje se pokazalo bolje samo za GenHookeJeeves algoritam. Tablica 4.8 Rezultati za 8 Booleovih i 8 realnih varijabli f2, gray SST RW GHJ PSO ABC DE CA OIA min avg max

24 Slika 4.8 Rezultati funkcije f2 uz grayevo kodiranje realnog vektora Istraživanja provedena prije ovog rada koja su za slične probleme optimirali funkciju f3 (kombinira korelacijski imunitet, algebarski stupanj i balansiranost) evolucijskim algoritmima dobili su slične rezultate kao u ovom radu. No, ta su istraživanja pokazala da su za ovu funkciju neke druge metode optimizacije pronašle puno bolje rezultate. U tablicama 4.9 i 4.10 uočavamo da su svi algoritmi dobili jednake rezultate i binarnim i grayevim kodiranjem. Tablica 4.9 Rezultati za 8 Booleovih i 8 realnih varijabli f3,binary SST RW GHJ PSO ABC DE CA OIA min avg max

25 Kod ispitivanja moglo se primijetiti da zapravo većina algoritama pronađe svoj krajnji rezultat u prvoj generaciji, te da je problem što tijekom evaluiranja nema napretka. Grayevo kodiranje nije poboljšalo rezultate što vidimo iz tablice Tablica 4.10 Rezultati za 8 Booleovih i 8 realnih varijabli f3, gray SST RW GHJ PSO ABC DE CA OIA min avg max Pomoću vektora realnih brojeva ispitano je na algoritmima SteadyStateTournament i RouletteWheel ponašanje kada korisnik zada broj Booleovih varijabli na 8, a veličinu realnog vektora na 16, kada će manji broj bitova predstavljati jednu varijablu realnog vektora, radi usporedbe s korištenjem vektora cijelih brojeva. Interval je ostavljen isti - [0, 1]. Ispitana je funkcija f1 te su dobiveni rezultati prikazani u tablicama 4.11 i U ovom slučaju za algoritam SteadyStateTournament grayevo kodiranje se pokazalo boljim odabirom, dok je za algoritam RouletteWheel suprotna situacija. Također, može se primijetiti da su u ovom slučaju kada imamo 8 Booleovih i 16 realnih varijabli bolji rezultati nego kada se ispitivalo s 8 Booleovih i 8 realnih varijabli. Slika 4.9 prikazuje rezultate za funkciju f1 dobivene binarnim kodiranjem. Tablica 4.11 Rezultati za 8 Booleovih i 16 realnih varijabli f1,binary SST RW min avg max

26 Slika 4.9 Rezultati funkcije f1 uz binarno kodiranje realnog vektora Grayevim kodiranjem algoritam SteadyStateTournament je pronašao rezultate koje u prijašnjem ispitivanju s 8 Booleovih i 8 realnih vektora nije pronašao niti jedan ispitani algoritam. Tablica 4.12 Rezultati za 8 Booleovih i 16 realnih varijabli f1, gray SST RW min avg max Slika 4.10 prikazuje rezultate funkcije f1 dobivene grayevim kodiranjem gdje jasno vidimo kako je algoritam SteadyStateTournament pronašao puno bolje rezultate od algoritma RouletteWheel. 22

27 Slika 4.10 Rezultati funkcije f1 uz grayevo kodiranje realnog vektora Kod ispitivanja funkcije f2 oba algoritma binarnim kodiranjem dobila su malo bolje rezultate nego grayevim kodiranjem. No, ovo ispitivanje je pokazalo da za funkciju f2 bolje odgovara odabir 8 Booleovih i 8 realnih varijabli za oba kodiranja binarno i grayevo. Rezultati su prikazani u tablicama 4.13 i Tablica 4.13 Rezultati za 8 Booleovih i 16 realnih varijabli f2,binary SST RW min avg max

28 Slika 4.11 Rezultati funkcije f2 uz binarno kodiranje realnog vektora Na slikama 4.13 i 4.14 vidimo izjednačenost oba ispitana algoritma prema dobivenim rezultatima. Tablica 4.14 Rezultati za 8 Booleovih i 16 realnih varijabli f2, gray SST RW min avg max

29 Slika 4.12 Rezultati funkcije f2 uz grayevo kodiranje realnog vektora 4.4 Rezultati s vektorom cijelih brojeva S obzirom da algoritmi SteadyStateTournament (SST) i RouletteWheel (RW) ne ovise o tipu genotipa, ta se dva algoritma ispituju s vektorom cijelih brojeva. U ovom slučaju korisnik treba paziti da interval iz kojeg se stvaraju novi vektori (ubound i lbound) odgovara izabranim brojevima varijabli. Na primjer, ako zadamo 8 Booleovih varijabli tablica istinitosti će imati 256 bita i ako zadamo da vektor cijelih brojeva ima 32 varijable (size = 32), tada bi trebalo staviti lbound = 0 i ubound = 255, jer će 8 bita predstavljati jednu vrijednost iz IntGenotype vektora, što znači da najviše mogu imati vrijednost 255. Ukoliko ovo nije zadovoljeno, korisnik će dobiti upozorenje da to treba ispraviti u konfiguracijskoj datoteci. Iste funkcije svojstava f1, f2 i f3 ispitane su i ovim genotipom, također s oba kodiranja (binarno i grayevo). Broj Booleovih funkcija postavljen je na 8, a broj cjelobrojnih varijabli na 16, te donja granica intervala na 0 i gornja na zbog spomenutog razloga. Rezultati dobiveni ispitivanjem funkcije f1 prikazani su u tablicama 4.15 i Za algoritam SteadyStateTournament uočavamo da nije došlo do razlike u rezultatima 25

30 kod ispitivanja binarnim i grayevim kodiranjem, dok je za RouletteWheel algoritam u jednom pokušaju pronađen bolji rezultat binarnim kodiranjem. Tablica 4.15 Rezultati za 8 Booleovih i 16 cjelobrojnih varijabli f1,binary SST RW min avg max Slika 4.13 prikazuje da je SteadyStateTournament algoritam pronašao malo bolje funkcije od algoritma RouletteWheel. Slika 4.13 Rezultati funkcije f1 uz binarno kodiranje vektora cijelih brojeva 26

31 Tablica 4.16 Rezultati za 8 Booleovih i 16 cjelobrojnih varijabli f1, gray SST RW min avg max Sa slike 4.16 može se uočiti da je SteadyStateTournament grayevim kodiranjem pronašao jednake rezultate, dok je RouletteWheel algoritam pronašao još lošije. Slika 4.14 Rezultati funkcije f1 uz grayevo kodiranje vektora cijelih brojeva Ispitivanjem algoritama na funkciji f2 uočavamo da se ponovno binarno kodiranje pokazalo boljim za RouletteWheel algoritam, dok kod SteadyStateTournament algoritma nema razlike. U tablicu 4.17 i tablicu 4.18 upisani su rezultati dobiveni ispitivanjem. 27

32 Tablica 4.17 Rezultati za 8 Booleovih i 16 cjelobrojnih varijabli f2,binary SST RW min avg max Sa slike 4.17 vidimo da su zapravo oba algoritma dobila vrlo slične rezultate. Slika 4.15 Rezultati funkcije f2 uz binarno kodiranje vektora cijelih brojeva Tablica 4.18 Rezultati za 8 Booleovih i 16 cjelobrojnih varijabli f2, gray SST RW min avg max

33 Usporedbom slika 4.17 i 4.18 vidimo da je algoritam SteadyStateTournament dobio jednake rezultate binarnim i grayevim kodiranjem, dok je algoritam RouletteWheel grayevim kodiranjem pronašao lošije funkcije. Slika 4.16 Rezultati funkcije f2 uz grayevo kodiranje vektora cijelih brojeva Ispitivanjem funkcija f1 i f2 ispitivanjem primjećujemo da se korištenje vektora cijelih brojeva pokazalo lošije od korištenja realnog vektora, što se vidi usporedbom tablica 4.15 i 4.16 s tablicama 4.11 i 4.12 za funkciju f1, te usporedbom tablica 4.17 i 4.18 s tablicama 4.13 i 4.14 za funkciju f2. Binarnim i grayevim kodiranjem bolji rezultati postignuti su FloatingPoint genotipom iako je razlika manja kod funkcije f2, nego kod funkcije f1 gdje se FloatingPoint genotip pokazao puno boljim odabirom. Rezultati ispitivanja provedenih nad funkcijom f3 prikazani su u tablicama 4.19 i Oba algoritma u prvim generacijama pronađu vrijednost 0 i dalje ne napreduju, osim u jednom pokušaju gdje je SteadyStateTournament algoritam grayevim kodiranjem uspio pronaći vrijednost 1 što vidimo u tablici

34 Tablica 4.19 Rezultati za 8 Booleovih i 16 cjelobrojnih varijabli f3,binary SST RW min 0 0 avg 0 0 max 0 0 Tablica 4.20 Rezultati za 8 Booleovih i 16 cjelobrojnih varijabli f3, gray SST RW min 0 0 avg max

35 5. Zaključak S obzirom na prijašnja istraživanja, rezultati u ovom radu ne odstupaju, tj. očekivana su. Činjenica da rezultati nisu ispod prosjeka je pozitivna jer to znači da se zapis tablice istinitosti pomoću vektora realnih i cijelih brojeva može koristiti kod optimizacije Booleovih funkcija za kriptografske postupke. Kroz analizu rezultata uočavamo da za FloatingPoint genotip za funkciju f1 bolje rezultate dobivamo kada koristimo kombinaciju s 8 Booleovih i 16 realnih varijabli nego kombinaciju s 8 Booleovih i 8 realnih varijabli, dok je za funkciju f2 slučaj obrnut. Iz toga može se zaključiti da brojevi varijabli ovise o funkcijama koje se ispituju. Također, je li bolje koristiti binarno ili grayevo kodiranje iz dobivenih rezultata nije moguće zaključiti jer na primjer algoritam SteadyStateTournament s 8 Booleovih i 16 realnih varijabli za funkciju f1 grayevim kodiranjem pronalazi bolje rezultate, a kod funkcije f2 to čini binarnim kodiranjem. No, ipak za RouletteWheel algoritam kroz ispitivanja se može uočiti da je uvijek pronalazilo ili iste rezultate ili malo bolje binarnim kodiranjem. Dakle, za RouletteWheel algoritam grayevo kodiranje donosilo je samo lošije rezultate. S obzirom da su za funkciju 12 svi algoritmi prikazivali jednake rezultate, možemo zaključiti da za tu funkciju ispitani evolucijski algoritmi općenito ne daju dobre rezultate. Isključivši sada rezultate za funkciju 12, možemo uočiti da za sva ispitivanja algoritmi SteadyStateTournament i Clonalg pronalaze najbolje rezultate. Ispitivanjima kojima smo htjeli usporediti rezultate prikaza Booleovih funkcija pomoću vektora realnih i cijelih brojeva zaključujemo da je genotip FloatingPoint u svim ispitivanjima pokazao da je bolji od IntGenotype genotipa, tj. da je prikaz realnim vektorom korisniji za optimizaciju Booleovih funkcija u kriptografiji. Ideja prikaza Booleovih funkcija realnih vektorom ili vektorom cijelih brojeva objašnjena u ovom radu vrlo je jednostavna, te se zasigurno mogu pronaći drugačiji načini pretvorbe realnog vektora ili vektora cijelih brojeva u tablicu istinitosti koji bi mogli pronalaziti i bolja rješenja. No, sigurno je da je to veliko područje koje se može istraživati, te je korisno zbog velikog broja optimizacijskih algoritama koji bi se mogli iskoristiti. 31

36 6. Literatura [1] S. Picek (2015), Applications of Evolutionary Computation to Cryptology [2] [3] [predavanje] 32

37 Optimizacija Booleovih funkcija za kriptografske postupke Sažetak S obzirom da se Booleove funkcije najčešće prikazuju nizom bitova koji čine tablicu istinitosti, radi većih mogućnosti upotrebe raznih optimizacijskih algoritama koji koriste vektore realnih ili cijelih brojeva, ovaj rad opisuje prikaz Booleovih funkcija pomoću tih vektora. Booleove funkcije prikazane takvim vektorima optimirale su se evolucijskim algoritmima. Dobiveni rezultati prikazani su tablicama i vizualizirani grafovima, te su detaljno analizirani. Ključne riječi: optimizacija, Booleove funkcije, vektor realnih brojeva, vektor cijelih brojeva Optimization of Boolean functions for cryptographic applications Abstract Considering that Boolean functions are most often presented as series of bits that make up a truth table, for greater possibilities of using various optimization algorithms using vectors of real or integer numbers, this paper describes interpretation of Boolean functions using these vectors. Boolean functions presented with such vectors are optimized with evolutionary algorithms. Obtained results are shown in tables and graphs and are analyzed in detail. Keywords: optimization, Boolean functions, vector of real numbers, vector of integer numbers

23. siječnja od 13:00 do 14:00 Školsko natjecanje / Osnove informatike Srednje škole RJEŠENJA ZADATAKA S OBJAŠNJENJIMA Sponzori Medijski pokrovi

23. siječnja od 13:00 do 14:00 Školsko natjecanje / Osnove informatike Srednje škole RJEŠENJA ZADATAKA S OBJAŠNJENJIMA Sponzori Medijski pokrovi 3. siječnja 0. od 3:00 do 4:00 RJEŠENJA ZADATAKA S OBJAŠNJENJIMA Sponzori Medijski pokrovitelji Sadržaj Zadaci. 4.... Zadaci 5. 0.... 3 od 8 Zadaci. 4. U sljedećim pitanjima na pitanja odgovaraš upisivanjem

Више

ALIP1_udzb_2019.indb

ALIP1_udzb_2019.indb Razmislimo Kako u memoriji računala prikazujemo tekst, brojeve, slike? Gdje se spremaju svi ti podatci? Kako uopće izgleda memorija računala i koji ju elektronički sklopovi čine? Kako biste znali odgovoriti

Више

MAZALICA DUŠKA.pdf

MAZALICA DUŠKA.pdf SVEUČILIŠTE JOSIPA JURJA STROSSMAYERA U OSIJEKU ELEKTROTEHNIČKI FAKULTET Sveučilišni studij OPTIMIRANJE INTEGRACIJE MALIH ELEKTRANA U DISTRIBUCIJSKU MREŽU Diplomski rad Duška Mazalica Osijek, 2014. SADRŽAJ

Више

Neuronske mreže

Neuronske mreže Neuronske mreže: Genetički algoritmi Prof. dr. sc. Sven Lončarić Fakultet elektrotehnike i računarstva sven.loncaric@fer.hr http://ipg.zesoi.fer.hr 1 Uvod U mnogim primjenama pojavljuje se problem optimizacije

Више

Matematika 1 - izborna

Matematika 1 - izborna 3.3. NELINEARNE DIOFANTSKE JEDNADŽBE Navest ćemo sada neke metode rješavanja diofantskih jednadžbi koje su drugog i viših stupnjeva. Sve su te metode zapravo posebni oblici jedne opće metode, koja se naziva

Више

Sveučilište u Zagrebu

Sveučilište u Zagrebu SVEUČILIŠTE U ZAGREBU FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA DIPLOMSKI RAD br. 1484 Problemi i algoritmi kombinatoričke optimizacije Marina Krček Zagreb, lipanj 2017. Sadržaj 1. Uvod... 1 2. Kombinatorička

Више

Microsoft Word - 6ms001

Microsoft Word - 6ms001 Zadatak 001 (Anela, ekonomska škola) Riješi sustav jednadžbi: 5 z = 0 + + z = 14 4 + + z = 16 Rješenje 001 Sustav rješavamo Gaussovom metodom eliminacije (isključivanja). Gaussova metoda provodi se pomoću

Више

Test ispravio: (1) (2) Ukupan broj bodova: 21. veljače od 13:00 do 14:00 Županijsko natjecanje / Osnove informatike Osnovne škole Ime i prezime

Test ispravio: (1) (2) Ukupan broj bodova: 21. veljače od 13:00 do 14:00 Županijsko natjecanje / Osnove informatike Osnovne škole Ime i prezime Test ispravio: () () Ukupan broj bodova:. veljače 04. od 3:00 do 4:00 Ime i prezime Razred Škola Županija Mentor Sadržaj Upute za natjecatelje... Zadaci... Upute za natjecatelje Vrijeme pisanja: 60 minuta

Више

Microsoft Word - 15ms261

Microsoft Word - 15ms261 Zadatak 6 (Mirko, elektrotehnička škola) Rješenje 6 Odredite sup S, inf S, ma S i min S u skupu R ako je S = { R } a b = a a b + b a b, c < 0 a c b c. ( ), : 5. Skratiti razlomak znači brojnik i nazivnik

Више

Рачунарска интелигенција

Рачунарска интелигенција Рачунарска интелигенција Генетско програмирање Александар Картељ kartelj@matf.bg.ac.rs Ови слајдови представљају прилагођење слајдова: A.E. Eiben, J.E. Smith, Introduction to Evolutionary computing: Genetic

Више

(Microsoft Word - Dr\236avna matura - studeni osnovna razina - rje\232enja)

(Microsoft Word - Dr\236avna matura - studeni osnovna razina - rje\232enja) 1. C. Imamo redom: I. ZADATCI VIŠESTRUKOGA IZBORA 9 + 7 6 9 + 4 51 = = = 5.1 18 4 18 8 10. B. Pomoću kalkulatora nalazimo 10 1.5 = 63.45553. Četvrta decimala je očito jednaka 5, pa se zaokruživanje vrši

Више

8 2 upiti_izvjesca.indd

8 2 upiti_izvjesca.indd 1 2. Baze podataka Upiti i izvješća baze podataka Na početku cjeline o bazama podataka napravili ste plošnu bazu podataka o natjecanjima učenika. Sada ćete izraditi relacijsku bazu u Accessu o učenicima

Више

Numerička matematika 11. predavanje dodatak Saša Singer web.math.pmf.unizg.hr/~singer PMF Matematički odsjek, Zagreb NumMat 2019, 11. p

Numerička matematika 11. predavanje dodatak Saša Singer web.math.pmf.unizg.hr/~singer PMF Matematički odsjek, Zagreb NumMat 2019, 11. p Numerička matematika 11. predavanje dodatak Saša Singer singer@math.hr web.math.pmf.unizg.hr/~singer PMF Matematički odsjek, Zagreb NumMat 2019, 11. predavanje dodatak p. 1/46 Sadržaj predavanja dodatka

Више

Microsoft Word - predavanje8

Microsoft Word - predavanje8 DERIVACIJA KOMPOZICIJE FUNKCIJA Ponekad je potrebno derivirati funkcije koje nisu jednostavne (složene su). Na primjer, funkcija sin2 je kompozicija funkcija sin (vanjska funkcija) i 2 (unutarnja funkcija).

Више

Programiranje 2 0. predavanje Saša Singer web.math.pmf.unizg.hr/~singer PMF Matematički odsjek, Zagreb Prog2 2019, 0. predavanje p. 1/4

Programiranje 2 0. predavanje Saša Singer web.math.pmf.unizg.hr/~singer PMF Matematički odsjek, Zagreb Prog2 2019, 0. predavanje p. 1/4 Programiranje 2 0. predavanje Saša Singer singer@math.hr web.math.pmf.unizg.hr/~singer PMF Matematički odsjek, Zagreb Prog2 2019, 0. predavanje p. 1/48 Sadržaj predavanja Ponavljanje onog dijela C-a koji

Више

Sveucilište u Zagrebu

Sveucilište u Zagrebu Proširivanje Pythona programskim jezicima C/C++ Ivo Majić Mentor: Doc. dr. sc. Domagoj Jakobović Sveučilište u Zagrebu Fakultet elektrotehnike i računarstva Ak. god. 2011/12 Ivo Majić (FER) Sveučilište

Више

Numeričke metode u fizici 1, Projektni zadataci 2018./ Za sustav običnih diferencijalnih jednadžbi, koje opisuju kretanje populacije dviju vrs

Numeričke metode u fizici 1, Projektni zadataci 2018./ Za sustav običnih diferencijalnih jednadžbi, koje opisuju kretanje populacije dviju vrs Numeričke metode u fizici, Projektni zadataci 8./9.. Za sustav običnih diferencijalnih jednadžbi, koje opisuju kretanje populacije dviju vrsta životinja koje se nadmeću za istu hranu, dx ( dt = x x ) xy

Више

Grupiranje podataka: pristupi, metode i primjene, ljetni semestar 2013./ Standardizacija podataka Predavanja i vježbe 8 Ako su podaci zadani

Grupiranje podataka: pristupi, metode i primjene, ljetni semestar 2013./ Standardizacija podataka Predavanja i vježbe 8 Ako su podaci zadani Grupiranje podataka: pristupi, metode i primjene, ljetni semestar 2013/2014 1 5 Standardizacija podataka Predavanja i vježbe 8 Ako su podaci zadani s više obilježja (atributa), ta se obilježja mogu međusobno

Више

SVEUČILIŠTE U ZAGREBU PRIRODOSLOVNO MATEMATIČKI FAKULTET MATEMATIČKI ODSJEK Ivana Šore REKURZIVNOST REALNIH FUNKCIJA Diplomski rad Voditelj rada: doc.

SVEUČILIŠTE U ZAGREBU PRIRODOSLOVNO MATEMATIČKI FAKULTET MATEMATIČKI ODSJEK Ivana Šore REKURZIVNOST REALNIH FUNKCIJA Diplomski rad Voditelj rada: doc. SVEUČILIŠTE U ZAGREBU PRIRODOSLOVNO MATEMATIČKI FAKULTET MATEMATIČKI ODSJEK Ivana Šore REKURZIVNOST REALNIH FUNKCIJA Diplomski rad Voditelj rada: doc.dr.sc. Zvonko Iljazović Zagreb, rujan, 2015. Ovaj diplomski

Више

(Microsoft Word - Dr\236avna matura - kolovoz ni\236a razina - rje\232enja)

(Microsoft Word - Dr\236avna matura - kolovoz ni\236a razina - rje\232enja) 1. C. Imamo redom: I. ZADATCI VIŠESTRUKOGA IZBORA. B. Imamo redom: 0.3 0. 8 7 8 19 ( 3) 4 : = 9 4 = 9 4 = 9 = =. 0. 0.3 3 3 3 3 0 1 3 + 1 + 4 8 5 5 = = = = = = 0 1 3 0 1 3 0 1+ 3 ( : ) ( : ) 5 5 4 0 3.

Више

Орт колоквијум

Орт колоквијум II колоквијум из Основа рачунарске технике I - 27/28 (.6.28.) Р е ш е њ е Задатак На улазе x, x 2, x 3, x 4 комбинационе мреже, са излазом z, долази четворобитни BCD број. Ако број са улаза при дељењу

Више

Classroom Expectations

Classroom Expectations АТ-8: Терминирање производно-технолошких ентитета Проф. др Зоран Миљковић Садржај Пројектовање флексибилних ; Математички модел за оптимизацију флексибилних ; Генетички алгоритми у оптимизацији флексибилних

Више

Postojanost boja

Postojanost boja Korištenje distribucije osvjetljenja za ostvaranje brzih i točnih metode za postojanost boja Nikola Banić 26. rujna 2014. Sadržaj Postojanost boja Ubrzavanje lokalnog podešavanja boja Distribucija najčešćih

Више

Programiranje 1 drugi kolokvij, 2. veljače Ime i prezime: JMBAG: Upute: Na kolokviju je dozvoljeno koristiti samo pribor za pisanje i brisanje,

Programiranje 1 drugi kolokvij, 2. veljače Ime i prezime: JMBAG: Upute: Na kolokviju je dozvoljeno koristiti samo pribor za pisanje i brisanje, Upute: Na kolokviju je dozvoljeno koristiti samo pribor za pisanje i brisanje, te službeni podsjetnik. Kalkulatori, mobiteli, razne neslužbene tablice, papiri i sl., nisu dozvoljeni! Sva rješenja napišite

Више

Slide 1

Slide 1 OSNOVNI POJMOVI Naredba je uputa računalu za obavljanje određene radnje. Program je niz naredbi razumljivih računalu koje rješavaju neki problem. Pisanje programa zovemo programiranje. Programski jezik

Више

PowerPoint Presentation

PowerPoint Presentation Колоквијум # задатак подељен на 4 питања: теоријска практична пишу се програми, коначно решење се записује на папиру, кодови се архивирају преко сајта Инжењерски оптимизациони алгоритми /3 Проблем: NLP:

Више

Državna matura iz informatike

Državna matura iz informatike DRŽAVNA MATURA IZ INFORMATIKE U ŠK. GOD. 2013./14. 2016./17. SADRŽAJ Osnovne informacije o ispitu iz informatike Područja ispitivanja Pragovi prolaznosti u 2014./15. Primjeri zadataka po područjima ispitivanja

Више

Algoritmi SŠ P1

Algoritmi SŠ P1 Županijsko natjecanje iz informatike Srednja škola 9. veljače 2018. RJEŠENJA ZADATAKA Napomena: kodovi za većinu opisanih algoritama dani su u Pythonu radi jednostavnosti i lakše čitljivosti. Zbog prirode

Више

Upute - JOPPD kreiranje obrasca

Upute - JOPPD kreiranje obrasca Verzija uputa: 1.0 - JOPPD obrazac IPIS-PLAĆE, IPIS-UGOVORI O DJELU Ove upute će se još nadopunjavati, pa molim korisnike da redovito provjere da li imaju zadnje upute. Verzija uputa prikazana je na početku!

Више

JMBAG IME I PREZIME BROJ BODOVA MJERA I INTEGRAL 2. kolokvij 29. lipnja (Knjige, bilježnice, dodatni papiri i kalkulatori nisu dozvoljeni!) 1. (

JMBAG IME I PREZIME BROJ BODOVA MJERA I INTEGRAL 2. kolokvij 29. lipnja (Knjige, bilježnice, dodatni papiri i kalkulatori nisu dozvoljeni!) 1. ( MJERA I INTEGRAL. kolokvij 9. lipnja 018. (Knjige, bilježnice, dodatni papiri i kalkulatori nisu dozvoljeni! 1. (ukupno 6 bodova Neka je (, F, µ prostor s mjerom, neka je (f n n1 niz F-izmjerivih funkcija

Више

Univerzitet u Novom Sadu Tehnički fakultet Mihajlo Pupin Zrenjanin Seminarski rad Predmet: Konkuretno programiranje doc. dr Dejan Lacmanovic Zorica Br

Univerzitet u Novom Sadu Tehnički fakultet Mihajlo Pupin Zrenjanin Seminarski rad Predmet: Konkuretno programiranje doc. dr Dejan Lacmanovic Zorica Br Univerzitet u Novom Sadu Tehnički fakultet Mihajlo Pupin Zrenjanin Seminarski rad Predmet: Konkuretno programiranje doc. dr Dejan Lacmanovic Zorica Brkić SI 29/15 Zrenjanin 2018. Softversko inženjerstvo

Више

(Microsoft Word - Dr\236avna matura - svibanj osnovna razina - rje\232enja)

(Microsoft Word - Dr\236avna matura - svibanj osnovna razina - rje\232enja) I. ZADATCI VIŠESTRUKOGA IZBORA 1. A. Svih pet zadanih razlomaka svedemo na najmanji zajednički nazivnik. Taj nazivnik je najmanji zajednički višekratnik brojeva i 3, tj. NZV(, 3) = 6. Dobijemo: 15 1, 6

Више

Microsoft Word - AIDA2kolokvijumRsmerResenja.doc

Microsoft Word - AIDA2kolokvijumRsmerResenja.doc Konstrukcija i analiza algoritama 2 (prvi kolokvijum, smer R) 1. a) Konstruisati AVL stablo od brojeva 100, 132, 134, 170, 180, 112, 188, 184, 181, 165 (2 poena) b) Konkatenacija je operacija nad dva skupa

Више

(Microsoft Word - MATB - kolovoz osnovna razina - rje\232enja zadataka)

(Microsoft Word - MATB - kolovoz osnovna razina - rje\232enja zadataka) . B. Zapišimo zadane brojeve u obliku beskonačno periodičnih decimalnih brojeva: 3 4 = 0.7, = 0.36. Prvi od navedenih četiriju brojeva je manji od 3 4, dok su treći i četvrti veći od. Jedini broj koji

Више

1 Polinomi jedne promenljive Neka je K polje. Izraz P (x) = a 0 + a 1 x + + a n x n = n a k x k, x K, naziva se algebarski polinom po x nad poljem K.

1 Polinomi jedne promenljive Neka je K polje. Izraz P (x) = a 0 + a 1 x + + a n x n = n a k x k, x K, naziva se algebarski polinom po x nad poljem K. 1 Polinomi jedne promenljive Neka je K polje. Izraz P (x) = a 0 + a 1 x + + a n x n = n a k x k, x K, naziva se algebarski polinom po x nad poljem K. Elementi a k K su koeficijenti polinoma P (x). Ako

Више

vjezbe-difrfv.dvi

vjezbe-difrfv.dvi Zadatak 5.1. Neka je L: R n R m linearni operator. Dokažite da je DL(X) = L, X R n. Preslikavanje L je linearno i za ostatak r(h) = L(X + H) L(X) L(H) = 0 vrijedi r(h) lim = 0. (5.1) H 0 Kako je R n je

Више

Državno natjecanje / Osnove informatike Srednje škole Zadaci U sljedećim pitanjima na odgovore odgovaraš upisivanjem slova koji se nalazi ispred

Državno natjecanje / Osnove informatike Srednje škole Zadaci U sljedećim pitanjima na odgovore odgovaraš upisivanjem slova koji se nalazi ispred Zadaci. 8. U sljedećim pitanjima na odgovore odgovaraš upisivanjem slova koji se nalazi ispred točnog odgovora, u za to predviđen prostor. Odgovor Ako želimo stvoriti i pohraniti sliku, ali tako da promjenom

Више

Microsoft Word - 12ms121

Microsoft Word - 12ms121 Zadatak (Goran, gimnazija) Odredi skup rješenja jednadžbe = Rješenje α = α c osα, a < b < c a + < b + < c +. na segmentu [ ], 6. / = = = supstitucija t = + k, k Z = t = = t t = + k, k Z t = + k. t = +

Више

(Microsoft Word - Rje\232enja zadataka)

(Microsoft Word - Rje\232enja zadataka) 1. D. Svedimo sve razlomke na jedinstveni zajednički nazivnik. Lako provjeravamo da vrijede rastavi: 85 = 17 5, 187 = 17 11, 170 = 17 10, pa je zajednički nazivnik svih razlomaka jednak Tako sada imamo:

Више

kriteriji ocjenjivanja - informatika 8

kriteriji ocjenjivanja - informatika 8 8. razred Nastavne cjeline: 1. Osnove informatike 2. Pohranjivanje multimedijalnih sadržaja, obrada zvuka 3. Baze podataka - MS Access 4. Izrada prezentacije 5. Timska izrada web stranice 6. Kritički odnos

Више

1 jmbag ime i prezime Programiranje 2 prvi kolokvij, Rezultati i uvidi u kolokvije: Rezultati u petak, 3.5., navečer na webu, a uvidi u p

1 jmbag ime i prezime Programiranje 2 prvi kolokvij, Rezultati i uvidi u kolokvije: Rezultati u petak, 3.5., navečer na webu, a uvidi u p 1 Rezultati i uvidi u kolokvije: Rezultati u petak 3.5. navečer na webu a uvidi u ponedjeljak 6.5. u 16 sati. Upute: Na kolokviju je dozvoljeno koristiti samo pribor za pisanje i brisanje te službeni podsjetnik.

Више

Hej hej bojiš se matematike? Ma nema potrebe! Dobra priprema je pola obavljenog posla, a da bi bio izvrsno pripremljen tu uskačemo mi iz Štreberaja. D

Hej hej bojiš se matematike? Ma nema potrebe! Dobra priprema je pola obavljenog posla, a da bi bio izvrsno pripremljen tu uskačemo mi iz Štreberaja. D Hej hej bojiš se matematike? Ma nema potrebe! Dobra priprema je pola obavljenog posla, a da bi bio izvrsno pripremljen tu uskačemo mi iz Štreberaja. Donosimo ti primjere ispita iz matematike, s rješenjima.

Више

PRIRODNO MATEMATIČKI FAKULTET U NIŠU DEPARTMAN ZA RAČUNARSKE NAUKE Utorak, godine PRIJEMNI ISPIT IZ INFORMATIKE 1. Koja od navedenih ekste

PRIRODNO MATEMATIČKI FAKULTET U NIŠU DEPARTMAN ZA RAČUNARSKE NAUKE Utorak, godine PRIJEMNI ISPIT IZ INFORMATIKE 1. Koja od navedenih ekste PRIRODNO MATEMATIČKI FAKULTET U NIŠU DEPARTMAN ZA RAČUNARSKE NAUKE Utorak, 5.06.019. godine PRIJEMNI ISPIT IZ INFORMATIKE 1. Koja od navedenih ekstenzija se najčešće koristi za tekstualne datoteke? a)

Више

Skalarne funkcije više varijabli Parcijalne derivacije Skalarne funkcije više varijabli i parcijalne derivacije Franka Miriam Brückler

Skalarne funkcije više varijabli Parcijalne derivacije Skalarne funkcije više varijabli i parcijalne derivacije Franka Miriam Brückler i parcijalne derivacije Franka Miriam Brückler Jednadžba stanja idealnog plina uz p = nrt V f (x, y, z) = xy z x = n mol, y = T K, z = V L, f == p Pa. Pritom je kodomena od f skup R, a domena je Jednadžba

Више

Natjecanje 2016.

Natjecanje 2016. I RAZRED Zadatak 1 Grafiĉki predstavi funkciju RJEŠENJE 2, { Za, imamo Za, ), imamo, Za imamo I RAZRED Zadatak 2 Neka su realni brojevi koji nisu svi jednaki, takvi da vrijedi Dokaži da je RJEŠENJE Neka

Више

2015_k2_z12.dvi

2015_k2_z12.dvi OBLIKOVANJE I ANALIZA ALGORITAMA 2. kolokvij 27. 1. 2016. Skice rješenja prva dva zadatka 1. (20) Zadano je n poslova. Svaki posao je zadan kao vremenski interval realnih brojeva, P i = [p i,k i ],zai

Више

Programiranje 2 popravni kolokvij, 15. lipnja Ime i prezime: JMBAG: Upute: Na kolokviju je dozvoljeno koristiti samo pribor za pisanje i brisanj

Programiranje 2 popravni kolokvij, 15. lipnja Ime i prezime: JMBAG: Upute: Na kolokviju je dozvoljeno koristiti samo pribor za pisanje i brisanj Upute: Na kolokviju je dozvoljeno koristiti samo pribor za pisanje i brisanje, te službeni šalabahter. Kalkulatori, mobiteli, razne neslužbene tablice, papiri i sl., nisu dozvoljeni! Sva rješenja napišite

Више

Smjernice za korištenje sustava online prijava Ukoliko imate pristupno korisničko ime i lozinku ili ste navedeno dobili nakon zahtjeva za otvaranje no

Smjernice za korištenje sustava online prijava Ukoliko imate pristupno korisničko ime i lozinku ili ste navedeno dobili nakon zahtjeva za otvaranje no Smjernice za korištenje sustava online prijava Ukoliko imate pristupno korisničko ime i lozinku ili ste navedeno dobili nakon zahtjeva za otvaranje novog korisničkog računa (poslati zahtjev na javnipoziv.opp@havc.hr

Више

Logičke izjave i logičke funkcije

Logičke izjave i logičke funkcije Logičke izjave i logičke funkcije Građa računala, prijenos podataka u računalu Što su logičke izjave? Logička izjava je tvrdnja koja može biti istinita (True) ili lažna (False). Ako je u logičkoj izjavi

Више

Matrice. Algebarske operacije s matricama. - Predavanje I

Matrice. Algebarske operacije s matricama. - Predavanje I Matrice.. Predavanje I Ines Radošević inesr@math.uniri.hr Odjel za matematiku Sveučilišta u Rijeci Matrice... Matrice... Podsjeti se... skup, element skupa,..., matematička logika skupovi brojeva N,...,

Више

PLAN I PROGRAM ZA DOPUNSKU (PRODUŽNU) NASTAVU IZ MATEMATIKE (za 1. razred)

PLAN I PROGRAM ZA DOPUNSKU (PRODUŽNU) NASTAVU IZ MATEMATIKE (za 1. razred) PLAN I PROGRAM ZA DOPUNSKU (PRODUŽNU) NASTAVU IZ MATEMATIKE (za 1. razred) Učenik prvog razreda treba ostvarit sljedeće minimalne standarde 1. SKUP REALNIH BROJEVA -razlikovati brojevne skupove i njihove

Више

Microsoft Word - Lekcija 11.doc

Microsoft Word - Lekcija 11.doc Лекција : Креирање графова Mathcad олакшава креирање x-y графика. Треба само кликнути на нови фајл, откуцати израз који зависи од једне варијабле, например, sin(x), а онда кликнути на дугме X-Y Plot на

Више

Maretić M., Vrhovski Z., Purković, D. Multikriterijska optimizacija putanje četveropolužnog mehanizma zasnovana na genetičkim algoritmima ISSN

Maretić M., Vrhovski Z., Purković, D. Multikriterijska optimizacija putanje četveropolužnog mehanizma zasnovana na genetičkim algoritmima ISSN ISSN 1846-6168 UDK 531.1 MULTIKRITERIJSKA OPTIMIZACIJA PUTANJE ČETVEROPOLUŽNOG MEHANIZMA ZASNOVANA NA GENETIČKIM ALGORITMIMA MULTIPLE-CRITERIA OPTIMIZATION OF A FOURBAR MECHANISM TRAJECTORY BASED ON GENETIC

Више

Teorija skupova - blog.sake.ba

Teorija skupova - blog.sake.ba Uvod Matematika je jedan od najomraženijih predmeta kod većine učenika S pravom, dakako! Zapitajmo se šta je uzrok tome? Da li je matematika zaista toliko teška, komplikovana? Odgovor je jednostavan, naravno

Више

I колоквијум из Основа рачунарске технике I СИ- 2017/2018 ( ) Р е ш е њ е Задатак 1 Тачка А Потребно је прво пронаћи вредности функција f(x

I колоквијум из Основа рачунарске технике I СИ- 2017/2018 ( ) Р е ш е њ е Задатак 1 Тачка А Потребно је прво пронаћи вредности функција f(x I колоквијум из Основа рачунарске технике I СИ- / (...) Р е ш е њ е Задатак Тачка А Потребно је прво пронаћи вредности функција f(x, x, x ) и g(x, x, x ) на свим векторима. f(x, x, x ) = x x + x x + x

Више

Sveučilište u Zagrebu

Sveučilište u Zagrebu SVEUČILIŠTE U ZAGREBU FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA ZAVRŠNI RAD br. 4833 PRONALAŽENJE STRATEGIJE U IGRAMA S VIŠE IGRAČA UZ POMOĆ EVOLUCIJSKIH ALGORITAMA Ivona Škorjanc Zagreb, lipanj 2017. Sadržaj

Више

SVEUČILIŠTE U ZAGREBU

SVEUČILIŠTE U ZAGREBU SVEUČILIŠTE U ZAGREBU FAKULTET STROJARSTVA I BRODOGRADNJE ZAVRŠNI RAD Zagreb, 2017. godina. SVEUČILIŠTE U ZAGREBU FAKULTET STROJARSTVA I BRODOGRADNJE ZAVRŠNI RAD Mentori: Prof. dr. sc. Dragutin Lisjak,

Више

INF INFORMATIKA INF.27.HR.R.K1.20 INF D-S INF D-S027.indd :50:41

INF INFORMATIKA INF.27.HR.R.K1.20 INF D-S INF D-S027.indd :50:41 INF INFORMATIKA INF.7.HR.R.K..indd 7.7.6. 3:5:4 Prazna stranica 99.indd 7.7.6. 3:5:4 OPĆE UPUTE Pozorno pročitajte sve upute i slijedite ih. Ne okrećite stranicu i ne rješavajte zadatke dok to ne odobri

Више

Celobrojno programiranje Rešavamo sledeći poblem celobrojnog programiranja: min c T x Ax = b x 0 x Z n Gde pretpostavljamo da je A celobrojna matrica

Celobrojno programiranje Rešavamo sledeći poblem celobrojnog programiranja: min c T x Ax = b x 0 x Z n Gde pretpostavljamo da je A celobrojna matrica Celobrojno programiranje Rešavamo sledeći poblem celobrojnog programiranja: min c T x Ax = b x 0 x Z n Gde pretpostavljamo da je A celobrojna matrica dimenzije m n, b Z m, c Z n. Takođe, očekuje se da

Више

My_P_Red_Bin_Zbir_Free

My_P_Red_Bin_Zbir_Free БИНОМНА ФОРМУЛА Шт треба знати пре почетка решавања задатака? I Треба знати биному формулу која даје одговор на питање чему је једнак развој једног бинома када га степенујемо са бројем 0 ( ) или ( ) 0!,

Више

Algoritmi SŠ P1

Algoritmi SŠ P1 Državno natjecanje iz informatike Srednja škola Prvi dan natjecanja 2. ožujka 219. ime zadatka BADMINTON SJEME MANIPULATOR vremensko ograničenje 1 sekunda 1 sekunda 3 sekunde memorijsko ograničenje 512

Више

Skripte2013

Skripte2013 Chapter 2 Algebarske strukture Preslikivanje f : A n! A se naziva n-arna operacija na skupu A Ako je n =2, kažemo da je f : A A! A binarna operacija na A Kažemo da je operacija f arnosti n, u oznaci ar

Више

DRŽAVNO NATJECANJE IZ MATEMATIKE Primošten, 4.travnja-6.travnja razred-rješenja OVDJE SU DANI NEKI NAČINI RJEŠAVANJA ZADATAKA. UKOLIKO UČENIK

DRŽAVNO NATJECANJE IZ MATEMATIKE Primošten, 4.travnja-6.travnja razred-rješenja OVDJE SU DANI NEKI NAČINI RJEŠAVANJA ZADATAKA. UKOLIKO UČENIK RŽVNO NTJENJE IZ MTEMTIKE Primošten, 4travnja-6travnja 016 7 razred-rješenja OVJE SU NI NEKI NČINI RJEŠVNJ ZTK UKOLIKO UČENIK IM RUGČIJI POSTUPK RJEŠVNJ, ČLN POVJERENSTV UŽN JE I TJ POSTUPK OOVTI I OIJENITI

Више

JMBAG IME I PREZIME BROJ BODOVA MJERA I INTEGRAL završni ispit 6. srpnja (Knjige, bilježnice, dodatni papiri i kalkulatori nisu dozvoljeni!) 1.

JMBAG IME I PREZIME BROJ BODOVA MJERA I INTEGRAL završni ispit 6. srpnja (Knjige, bilježnice, dodatni papiri i kalkulatori nisu dozvoljeni!) 1. MJERA I INTEGRAL završni ispit 6. srpnja 208. (Knjige bilježnice dodatni papiri i kalkulatori nisu dozvoljeni!). (8 bodova) Kao na predavanjima za d N sa P d : a b ] a d b d ] : a i b i R a i b i za i

Више

PowerPoint Presentation

PowerPoint Presentation SVEUČILIŠTE U ZAGREBU Fakultet prometnih znanosti Zavod za inteligentne transportne sustave Vukelićeva 4, Zagreb, HRVATSKA Računalstvo Operatori, pisanje izraza i osnove pseudokôda Izv. prof. dr. sc. Edouard

Више

Microsoft Word - ASIMPTOTE FUNKCIJA.doc

Microsoft Word - ASIMPTOTE FUNKCIJA.doc ASIMPTOTE FUNKCIJA Naš savet je da najpre dobro proučite granične vrednosti funkcija Neki profesori vole da asimptote funkcija ispituju kao ponašanje funkcije na krajevima oblasti definisanosti, pa kako

Више

MATEMATIKA viša razina MATA.29.HR.R.K1.24 MAT A D-S MAT A D-S029.indd :30:29

MATEMATIKA viša razina MATA.29.HR.R.K1.24 MAT A D-S MAT A D-S029.indd :30:29 MATEMATIKA viša razina MAT9.HR.R.K.4.indd 9.9.5. ::9 Prazna stranica 99.indd 9.9.5. ::9 OPĆE UPUTE Pozorno pročitajte sve upute i slijedite ih. Ne okrećite stranicu i ne rješavajte zadatke dok to ne odobri

Више

ПРИРОДА И ЗНАК РЕШЕЊА 2 b ax bx c 0 x1 x2 2 D b 4ac a ( сви задаци су решени) c b D xx 1 2 x1/2 a 2a УСЛОВИ Решења реална и различита D>0 Решења реалн

ПРИРОДА И ЗНАК РЕШЕЊА 2 b ax bx c 0 x1 x2 2 D b 4ac a ( сви задаци су решени) c b D xx 1 2 x1/2 a 2a УСЛОВИ Решења реална и различита D>0 Решења реалн ПРИРОДА И ЗНАК РЕШЕЊА ax x c 0 x x D 4ac a ( сви задаци су решени) c D xx x/ a a УСЛОВИ Решења реална и различита D>0 Решења реална D Двоструко решење (реална и једнака решења) D=0 Комплексна решења (нису

Више

Osnovi programiranja Beleške sa vežbi Smer Računarstvo i informatika Matematički fakultet, Beograd Jelena Tomašević i Sana Stojanović November 7, 2005

Osnovi programiranja Beleške sa vežbi Smer Računarstvo i informatika Matematički fakultet, Beograd Jelena Tomašević i Sana Stojanović November 7, 2005 Osnovi programiranja Beleške sa vežbi Smer Računarstvo i informatika Matematički fakultet, Beograd Jelena Tomašević i Sana Stojanović November 7, 2005 2 Sadržaj 1 5 1.1 Specifikacija sintakse programskih

Више

ТЕОРИЈА УЗОРАКА 2

ТЕОРИЈА УЗОРАКА 2 ТЕОРИЈА УЗОРАКА 2 12. 04. 13. ВЕЖБАЊА Написати функције за бирање елемената популације обима N у узорак обима n, код простог случајног узорка, користећи алгоритме: Draw by draw procedure for SRS/SRSWOR

Више

Tutoring System for Distance Learning of Java Programming Language

Tutoring System for Distance Learning of Java Programming Language Niz (array) Nizovi Niz je lista elemenata istog tipa sa zajedničkim imenom. Redosled elemenata u nizovnoj strukturi je bitan. Konkretnom elementu niza pristupa se preko zajedničkog imena niza i konkretne

Више

KORISNIČKE UPUTE APLIKACIJA ZA POTPIS DATOTEKA

KORISNIČKE UPUTE APLIKACIJA ZA POTPIS DATOTEKA KORISNIČKE UPUTE APLIKACIJA ZA POTPIS DATOTEKA SADRŽAJ 1. UVOD... 3 1.1. Cilj i svrha... 3 1.2. Područje primjene... 3 2. POJMOVI I SKRAĆENICE... 4 3. PREDUVJETI KORIŠTENJA... 5 4. PREGLED APLIKACIJE...

Више

LAB PRAKTIKUM OR1 _ETR_

LAB PRAKTIKUM OR1 _ETR_ UNIVERZITET CRNE GORE ELEKTROTEHNIČKI FAKULTET STUDIJSKI PROGRAM: ELEKTRONIKA, TELEKOMUNIKACIJE I RAČUNARI PREDMET: OSNOVE RAČUNARSTVA 1 FOND ČASOVA: 2+1+1 LABORATORIJSKA VJEŽBA BROJ 1 NAZIV: REALIZACIJA

Више

Programiranje 1 9. predavanje Saša Singer web.math.pmf.unizg.hr/~singer PMF Matematički odsjek, Zagreb Prog1 2018, 9. predavanje p. 1/6

Programiranje 1 9. predavanje Saša Singer web.math.pmf.unizg.hr/~singer PMF Matematički odsjek, Zagreb Prog1 2018, 9. predavanje p. 1/6 Programiranje 1 9. predavanje Saša Singer singer@math.hr web.math.pmf.unizg.hr/~singer PMF Matematički odsjek, Zagreb Prog1 2018, 9. predavanje p. 1/60 Sadržaj predavanja Osnovni algoritmi na cijelim brojevima:

Више

Newtonova metoda za rješavanje nelinearne jednadžbe f(x)=0

Newtonova metoda za rješavanje nelinearne jednadžbe f(x)=0 za rješavanje nelinearne jednadžbe f (x) = 0 Ime Prezime 1, Ime Prezime 2 Odjel za matematiku Sveučilište u Osijeku Seminarski rad iz Matematičkog praktikuma Ime Prezime 1, Ime Prezime 2 za rješavanje

Више

s2.dvi

s2.dvi 1. Skup kompleksnih brojeva 1. Skupovibrojeva.... Skup kompleksnih brojeva................................. 6. Zbrajanje i množenje kompleksnih brojeva..................... 9 4. Kompleksno konjugirani

Више

Microsoft Word - rad.doc

Microsoft Word - rad.doc SVEUČILIŠTE U ZAGREBU FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA ZAVRŠNI RAD broj 517. Optimizacijski algoritmi zasnovani na klonskoj selekciji Krešimir ðuretec voditelj: doc. dr. sc. Marin Golub Zagreb, lipanj

Више

Microsoft Word - 09_Frenetove formule

Microsoft Word - 09_Frenetove formule 6 Frenet- Serret-ove formule x : 0,L Neka je regularna parametrizaija krivulje C u prostoru parametru s ) zadana vektorskom jednadžbom: x s x s i y s j z s k x s, y s, z s C za svaki 0, L Pritom je zbog

Више

(Microsoft Word - Dr\236avna matura - kolovoz osnovna razina - rje\232enja)

(Microsoft Word - Dr\236avna matura - kolovoz osnovna razina - rje\232enja) 5 5: 5 5. B. Broj.5 možemo zapisati u obliku = =, a taj broj nije cijeli broj. 0 0 : 5 Broj 5 je iracionalan broj, pa taj broj nije cijeli broj. Broj 5 je racionalan broj koji nije cijeli broj jer broj

Више

JMBAG IME I PREZIME BROJ BODOVA 1. (ukupno 20 bodova) MJERA I INTEGRAL Popravni ispit 7. rujna (Knjige, bilježnice, dodatni papiri i kalkulatori

JMBAG IME I PREZIME BROJ BODOVA 1. (ukupno 20 bodova) MJERA I INTEGRAL Popravni ispit 7. rujna (Knjige, bilježnice, dodatni papiri i kalkulatori 1. (ukuno 20 bodova) MJERA I INTEGRAL Poravni isit 7. rujna 2018. (Knjige, bilježnice, dodatni airi i kalkulatori nisu dozvoljeni!) (a) (4 boda) Neka je nerazan sku. Precizno definirajte ojam σ-rstena

Више

GLAZBENA UČILICA Marko Beus Filozofski fakultet u Zagrebu 098/ Sažetak Glazbena učilica je projekt osmišljen kao nadopuna

GLAZBENA UČILICA Marko Beus Filozofski fakultet u Zagrebu 098/ Sažetak Glazbena učilica je projekt osmišljen kao nadopuna GLAZBENA UČILICA Marko Beus Filozofski fakultet u Zagrebu beusmarko@gmail.com 098/938-8295 Sažetak Glazbena učilica je projekt osmišljen kao nadopuna nastavnom programu solfeggia u osnovnim glazbenim školama.

Више

OBAVIJEST PZZ KORISNICIMA Poštovani korisnici programskog rješenja Last2000. Za Vas smo pripremili sljedeće novosti u programu: NOVOSTI

OBAVIJEST PZZ KORISNICIMA Poštovani korisnici programskog rješenja Last2000. Za Vas smo pripremili sljedeće novosti u programu: NOVOSTI 28.12.2016. - OBAVIJEST PZZ KORISNICIMA Poštovani korisnici programskog rješenja Last2000. Za Vas smo pripremili sljedeće novosti u programu: NOVOSTI U VERZIJI 16.1.19.0. Dodatno zdravstveno osiguranje

Више

Matematka 1 Zadaci za vežbe Oktobar Uvod 1.1. Izračunati vrednost izraza (bez upotrebe pomoćnih sredstava): ( ) [ a) : b) 3 3

Matematka 1 Zadaci za vežbe Oktobar Uvod 1.1. Izračunati vrednost izraza (bez upotrebe pomoćnih sredstava): ( ) [ a) : b) 3 3 Matematka Zadaci za vežbe Oktobar 5 Uvod.. Izračunati vrednost izraza bez upotrebe pomoćnih sredstava): ) [ a) 98.8.6 : b) : 7 5.5 : 8 : ) : :.. Uprostiti izraze: a) b) ) a b a+b + 6b a 9b + y+z c) a +b

Више

FAKULTET STROJARSTVA I BRODOGRADNJE KATEDRA ZA STROJARSKU AUTOMATIKU SEMINARSKI RAD IZ KOLEGIJA NEIZRAZITO I DIGITALNO UPRAVLJANJE Mehatronika i robot

FAKULTET STROJARSTVA I BRODOGRADNJE KATEDRA ZA STROJARSKU AUTOMATIKU SEMINARSKI RAD IZ KOLEGIJA NEIZRAZITO I DIGITALNO UPRAVLJANJE Mehatronika i robot FAKULTET STROJARSTVA I BRODOGRADNJE KATEDRA ZA STROJARSKU AUTOMATIKU SEMINARSKI RAD IZ KOLEGIJA NEIZRAZITO I DIGITALNO UPRAVLJANJE Mehatronika i robotika Zagreb, 2014. MODEL PROCESA U PROSTORU STANJA

Више

INF INFORMATIKA INF.35.HR.R.K1.24 INF D-S

INF INFORMATIKA INF.35.HR.R.K1.24 INF D-S INF INFORMATIKA INF.35.HR.R.K.24 2 Prazna stranica 99 2 OPĆE UPUTE Pozorno pročitajte sve upute i slijedite ih. Ne okrećite stranicu i ne rješavajte zadatke dok to ne odobri dežurni nastavnik. Nalijepite

Више

CIJELI BROJEVI 1.) Kako još nazivamo pozitivne cijele brojeve? 1.) Za što je oznaka? 2.) Ispiši skup prirodnih brojeva! 3.) Kako označavamo skup priro

CIJELI BROJEVI 1.) Kako još nazivamo pozitivne cijele brojeve? 1.) Za što je oznaka? 2.) Ispiši skup prirodnih brojeva! 3.) Kako označavamo skup priro CIJELI BROJEVI 1.) Kako još nazivamo pozitivne cijele brojeve? 1.) Za što je oznaka? 2.) Ispiši skup prirodnih brojeva! 3.) Kako označavamo skup prirodnih brojeva? 4.) Pripada li 0 skupu prirodnih brojeva?

Више

MAT-KOL (Banja Luka) XXIV (2)(2018), DOI: /МК S ISSN (o) ISSN (o) Klasa s

MAT-KOL (Banja Luka) XXIV (2)(2018), DOI: /МК S ISSN (o) ISSN (o) Klasa s MAT-KOL (Banja Luka) XXIV (2)(2018), 141-146 http://www.imvibl.org/dmbl/dmbl.htm DOI: 10.7251/МК1803141S ISSN 0354-6969 (o) ISSN 1986-5828 (o) Klasa subtangentnih funkcija i klasa subnormalnih krivulja

Више

Algebarski izrazi (4. dio)

Algebarski izrazi (4. dio) Dodatna nastava iz matematike 8. razred Algebarski izrazi (4. dio) Aleksandra-Maria Vuković OŠ Gornji Mihaljevec amvukovic@gmail.com 12/21/2010 SADRŽAJ 7. KVADRATNI TRINOM... 3 [ Primjer 18. Faktorizacija

Више

Seminar 13 (Tok funkcije) Obavezna priprema za seminar nalazi se na drugoj stranici ovog materijala. Ove materijale obražujemo na seminarima do kraja

Seminar 13 (Tok funkcije) Obavezna priprema za seminar nalazi se na drugoj stranici ovog materijala. Ove materijale obražujemo na seminarima do kraja Seminar 13 (Tok funkcije) Obavezna priprema za seminar nalazi se na drugoj stranici ovog materijala. Ove materijale obražujemo na seminarima do kraja semestra. Potrebno predznanje Ovaj seminar saºima sva

Више

Programiranje 1 IEEE prikaz brojeva sažetak Saša Singer web.math.pmf.unizg.hr/~singer PMF Matematički odsjek, Zagreb Prog1 2018, IEEE p

Programiranje 1 IEEE prikaz brojeva sažetak Saša Singer web.math.pmf.unizg.hr/~singer PMF Matematički odsjek, Zagreb Prog1 2018, IEEE p Programiranje IEEE prikaz brojeva sažetak Saša Singer singer@math.hr web.math.pmf.unizg.hr/~singer PMF Matematički odsjek, Zagreb Prog 208, IEEE prikaz brojeva sažetak p. /4 Sadržaj predavanja IEEE standard

Више

JMBAG IME I PREZIME BROJ BODOVA 1. (ukupno 6 bodova) MJERA I INTEGRAL 1. kolokvij 4. svibnja (Knjige, bilježnice, dodatni papiri i kalkulatori n

JMBAG IME I PREZIME BROJ BODOVA 1. (ukupno 6 bodova) MJERA I INTEGRAL 1. kolokvij 4. svibnja (Knjige, bilježnice, dodatni papiri i kalkulatori n 1. (ukupno 6 bodova) MJERA I INTEGRAL 1. kolokvij 4. svibnja 2018. (Knjige, bilježnice, dodatni papiri i kalkulatori nisu dozvoljeni!) (a) (2 boda) Definirajte (općenitu) vanjsku mjeru. (b) (2 boda) Definirajte

Више

Računarski praktikum I - Vježbe 11 - Funktori

Računarski praktikum I - Vježbe 11 - Funktori Prirodoslovno-matematički fakultet Matematički odsjek Sveučilište u Zagrebu RAČUNARSKI PRAKTIKUM I Vježbe 11 - Funktori v2018/2019. Sastavio: Zvonimir Bujanović Funkcijski objekti (funktori) Objekt klase

Више

0255_Uvod.p65

0255_Uvod.p65 1Skupovi brojeva Skup prirodnih brojeva Zbrajanje prirodnih brojeva Množenje prirodnih brojeva U košari ima 12 jaja. U drugoj košari nedostaju tri jabuke da bi bila puna, a treća je prazna. Pozitivni,

Више

Konstrukcija i analiza algoritama Nina Radojičić februar Analiza algoritama, rekurentne relacije 1 Definicija: Neka su f i g dve pozitivne fun

Konstrukcija i analiza algoritama Nina Radojičić februar Analiza algoritama, rekurentne relacije 1 Definicija: Neka su f i g dve pozitivne fun Konstrukcija i analiza algoritama Nina Radojičić februar 2018. 1 Analiza algoritama, rekurentne relacije 1 Definicija: Neka su f i g dve pozitivne funkcije od argumenta n iz skupa N prirodnih brojeva.

Више

Grafovi 1. Posmatrajmo graf prikazan na slici sa desne strane. a) Odrediti skup čvorova V i skup grana E posmatranog grafa. Za svaku granu posebno odr

Grafovi 1. Posmatrajmo graf prikazan na slici sa desne strane. a) Odrediti skup čvorova V i skup grana E posmatranog grafa. Za svaku granu posebno odr Grafovi 1. Posmatrajmo graf prikazan na slici sa desne strane. a) Odrediti skup čvorova V i skup grana E posmatranog grafa. Za svaku granu posebno odrediti njene krajeve. b) Odrediti sledeće skupove: -

Више

Oblikovanje i analiza algoritama 4. predavanje Saša Singer web.math.pmf.unizg.hr/~singer PMF Matematički odsjek, Zagreb OAA 2017, 4. pr

Oblikovanje i analiza algoritama 4. predavanje Saša Singer web.math.pmf.unizg.hr/~singer PMF Matematički odsjek, Zagreb OAA 2017, 4. pr Oblikovanje i analiza algoritama 4. predavanje Saša Singer singer@math.hr web.math.pmf.unizg.hr/~singer PMF Matematički odsjek, Zagreb OAA 2017, 4. predavanje p. 1/69 Sadržaj predavanja Složenost u praksi

Више

Računarski praktikum I - Vježbe 01 - Uvod

Računarski praktikum I - Vježbe 01 - Uvod Prirodoslovno-matematički fakultet Matematički odsjek Sveučilište u Zagrebu RAČUNARSKI PRAKTIKUM I Vježbe 01 - Uvod v2018/2019. Sastavio: Zvonimir Bujanović Gradivo i način polaganja Gradivo: osnove jezika

Више

8. razred kriteriji pravi

8. razred kriteriji pravi KRITERIJI OCJENJIVANJA MATEMATIKA 8. RAZRED Učenik će iz nastavnog predmeta matematike biti ocjenjivan usmeno i pismeno. Pismeno ocjenjivanje: U osmom razredu piše se šest ispita znanja i bodovni prag

Више

Veeeeeliki brojevi

Veeeeeliki brojevi Matematička gimnazija Nedelja informatike 3 12. decembar 2016. Uvod Postoji 10 tipova ljudi na svetu, oni koji razumeju binarni sistem, oni koji ne razumeju binarni sistem i oni koji nisu očekivali šalu

Више