Microsoft Word - Komlen_Danko_Zavrsni rad_v04_DK.doc
|
|
- Јанез Видаковић
- пре 5 година
- Прикази:
Транскрипт
1 SVEUČILIŠTE U ZAGREBU FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA ZAVRŠNI RAD br Ugradnja klasifikatorskih sustava u okruženje za evolucijsko računanje Danko Komlen Zagreb, lipanj 2010.
2
3 Sadržaj 1. Uvod Podržano učenje i genetički algoritam Podržano učenje Q-učenje Genetički algoritam Problemi prikladni za LCS Vrste problema Jednokoračni i višekoračni problemi LCS klasifikatorski sustavi Rad klasifikatorskog sustava Vrste LCS-a Klasifikatorski sustav XCS Parametri klasifikatora Algoritamski opis sustava Evolucijska komponenta Primjena XCS-a na višekriterijske probleme Slijedni višekriterijski problem labirinta Paralelni višekriterijski problem labirinta Programsko ostvarenje XCS sustava XCS komponenta u sklopu ECF-a Ostvarenje simulacijske okoline Eksperimentalni rezultati Načini mjerenja Rezultati mjerenja Zaključak Literatura Dodatak A: Parametri XCS sustava... 38
4 1. Uvod Mnogi problemi sa kojima se susrećemo u računarstvu zahtijevaju specijalizirano znanje iz neke problemske domene. Njihovim rješavanjem bave se ekspertni sustavi (eng. expert system) kao posebna grana umjetne inteligencije. To su sustavi temeljeni na pravilima kod kojih su u posao razvoja baze znanja uključeni istovremeno poznavatelji domene te inženjeri baze znanja. Tako se glavni uvjet za razvoj uspješnog sustava sastoji od učinkovitog prikupljanja i integracije znanja. Rješavanju zahtjevnog problema prikupljanja znanja moguće je pristupiti pomoću klasifikatorskih sustava s mogućnošću učenja (eng. learning classifier system, LCS), koje je predstavio John Holland. Kod njih se pravila razvijaju kombinacijom tehnike podržanog učenja (eng. reinforcement learning, RL) te tehnikama za evolucijsko računanje (eng. evolutionary computation). LCS sustav kroz iterativnu komunikaciju sa okolinom koja predstavlja odreñeni problem pokušava maksimizirati dobivenu nagradu i time ponuditi što bolje rješenje. Jedna od popularnijih vrsta LCS-a je klasifikatorski sustav XCS, koji je u radu detaljanije razmatran. XCS sustav implementiran je kao vrsta alogoritma u sklopu okruženja za evolucijsko računanje (eng. evolutionary computation framework, ECF). Pomoću dobivene komponente izgrañena je simulacijska okolina za rješavanje višekriterijskog problema snalaženja u 2D labirintu. U prvom poglavlju dan je pregled Q-učenja te genetičkih algoritama. Njihovo poznavanje potrebno je za razumijevanje rada LCS-a čije su osnovne vrste i način rada opisani u trećem poglavlju, dok je u četvrtom poglavlju detaljnije obrañen XCS sustav. U drugom poglavlju dan je opis vrsta problema koji se mogu rješavati klasifikatorskim sustavima, sa naglaskom na višekoračne probleme podržanog učenja čiji je primjer obrañen u implementaciji. U petom poglavlju opisan je način predstavljanja višezadaćnih problema za rješavanje XCS-om, a u šestom njegova programska implementacija kroz simulacijsku okolinu te opis XCS komponente u sklopu ECF-a. U posljednjem poglavlju dani su eksperimentalni rezultati i njihova usporedba sa postojećim klasifikatorskim sustavom. 1
5 2. Podržano učenje i genetički algoritam Za proučavanje klasifikatorskih sustava s mogućnošću učenja potrebno je poznavanje algoritama podržanog učenja te odreñene heurističke metode pretraživanja prostora rješenja. U sljedeća dva potpoglavlja dano je uvodno razmatranje algoritma Q-učenja (eng. Q-learning), te genetičkih algoritama (eng. genetic algorithm, GA) kao tehnike evolucijskog računanja. 2.1 Podržano učenje Podržano učenje je tehnika strojnog učenja (eng. machine learning) kojom se rješavaju problemi modelirani Markovljevim procesima (eng. Markov decision proces, MDP). Kod njih je virtualni agent u interakciji sa okolinom koja predstavlja odreñeni problem, a interakcija je voñena MDP procesom. Više detalja o problemima podržanog učenja dano je u zasebnom poglavlju 3.2. Osnovni elementi svakog determinističkog 1 MDP procesa su sljedeći [10]: konačan skup stanja S; konačan skup akcija A; funkcija prijelaza p: S A S; funkcija nagrade r: S A R, koja za par (s,a) daje skalarnu vrijednost nagrade koju agent dobiva ako u stanju s izvrši akciju a. Opisani formalizam ne govori ništa o ponašanju agenta već samo o sljedećim stanjima i nagradama koje će dobiti ovisno o odabranom nizu akcija. Ponašanje agenta definirano je strategijom ponašanja (eng. behavioral policy) π : S A. Cilj je pronaći optimalnu strategiju π *, koja će rezultirati u maksimalnoj ukupno dobivenoj nagradi, a da pri tome nisu poznate funkcije p i r. Iz tog razloga definiramo funkciju ukupne nagrade (eng. cumulative discounted reward): V π ( s ) = t i= 0 i γ r( s i+ t, a i+ t ), (2.1) koja predstavlja zbroj budućih nagrada od trenutka t, pomnoženih sa faktorom odbitka (eng. discount factor) γ є [0,1]. 1 Uz determinističke MDP procese postoje i nedeterministički kod kojih je prijelaz u sljedeće stanje definiran odreñenom vjerojatnošću 2
6 Stanja s i+t su buduća stanja okoline u kojima agent obavlja akcije a i+t, prema strategiji ponašanja π. Faktor odbitka služi kako bi se prednost dala nagradama koje se dobiju ranije. Pomoću funkcije ukupne nagrade možemo definirati željenu optimalnu strategiju ponašanja: * π arg maxv π ( s t ). (2.2) π Korištenjem strategije π * u odreñenom stanju s, optimalnu akciju možemo dobiti pomoću sljedećeg izraza: * π π ( s) = arg max( r( s, a) + γv ( p( s, a))). (2.3) a * 2.2 Q-učenje Prema relaciji 2.3 za odabir optimalne akcije potrebno je doznati optimalnu funkciju ukupne nagrade * π V. Meñutim za nju je potrebno poznavanje funkcije prijelaza p. Rješenje je moguće korištenjem Q-učenja kod kojeg se definira Q-vrijednost: * π Q( s, a) = r( s, a) + γv ( p( s, a)), (2.4) koja odreñuje ukupnu buduću nagradu nakon što se u stanju s izvrši akcija a. Stoga izraz za * π V možemo zapisati kao: V π * ( s) = max Q( s, a) što omogućuje rekurzivnu definiciju Q-vrijednosti: a, (2.5) Q ( s, a) = r ( s, a) + γ max Q ( p( s, a), a' ). (2.6) Dobiveni izraz 2.6 poseban je slučaj sljedećeg općenitijeg načina osvježavanja Q-vrijednosti [1]: a ' Q( s, a) Q( s, a) + β ( r( s, a) + γ maxq( p( s, a), a') Q( s, a)). (2.7) a' Parametar β є [0,1] je stopa učenja (eng. learning rate), koji označava kolika se važnost daje novoj informaciji u odnosu na staru. Za veću vrijednost stope učenja prednost se daje novom znanju, tako se za krajnji slučaj β=1 dobiva relacija 2.6 gdje se prethodna Q- vrijednost ne uzima u obzir prilikom izračuna. 3
7 Izbor optimalne akcije u stanju s korištenjem Q-vrijednosti dobiva se iz izraza 2.3 i 2.4: * π ( s) = arg max( Q( s, a)). (2.8) a Algoritam Q-učenja sastoji se od odabira optimalne akcije a u odreñenom stanju s prema 2.8 te njenim izvršavanjem. Zatim se uz dobiveno novo stanje s' = p(s,a) i nagradu r' = r(s,a) korištenjem relacije 2.7 osvježava Q-vrijednost Q(s,a). Koraci se ponavljaju iterativno i Q-vrijednosti sa kojima algoritam radi postepeno konvergiraju ispravnim vrijednostima [10]. 2.3 Genetički algoritam Genetički algoritam je heuristička metoda optimiranja koja imitira prirodni evolucijski proces, robustan proces pretraživanja prostora rješenja. Svrstavamo ga u stohastičke metode, kod kojih, za razliku od determinističkih, ne možemo sa sigurnošću tvrditi koji će biti rezultat izvoñenja. Kod genetičkih algoritama za opis svojstava jedinke najčešće se koristi binarni zapis nad kojim se vrše operacije po uzoru na evoluciju iz prirode (selekcija, križanje i mutacija). Princip rada genetičkog algoritma Genetički algoritmi rade sa populacijom potencijalnih rješenja koje nazivamo jedinkama. Mjera kvalitete rješenja naziva se dobrota (eng. fitness), a funkcija kojom se ona odreñuje, funkcija dobrote. Glavne faze procesa izvoñenja GA nazivaju se generacije. Prilikom prijelaza iz jedne generacije u drugu, odreñenim postupkom izdvajaju se bolje jedinke iz populacije, od kojih se neke podvrgavaju genetičkim operatorima i time stvaraju nove jedinke. Proces se zaustavlja ukoliko se postigne željena vrijednost funkcije dobrote ili se dosegne odreñen broj iteracija. Rješenje najbliže optimalnom predstavlja najbolja jedinka posljednje generacije. Proces stvaranja nove generacije podijeljen je na sljedeće korake: izračunavanje funkcije dobrote za svaku jedinku; selekcija (odabir najboljih jedinki); reprodukcija (stvaranje novih jedinki križanjem i primjena mutacije). 4
8 Početna populacija može se dobiti nasumičnim odabirom rješenja ili korištenjem neke druge optimizacijske metode. Postupci selekcije Kao što je već ranije spomenuto, uloga selekcije je prenošenje dobrih svojstava na sljedeću generaciju. Genetičke algoritme prema vrsti selekcije dijelimo na generacijske i eliminacijske. U generacijske spadaju algoritmi s jednostavnom selekcijom (eng. roulette wheel selection). Veličina populacije kod jednostavne selekcije je konstantna, a vjerojatnost odabira jedinke (p n ) je proporcionalna njezinoj dobroti, pri čemu se p n računa po formuli: p n = dobrota( n), gdje je n oznaka jedinke. dobrota( i) i (2.9) Uz jednostavnu u generacijske selekcije spada i turnirska selekcija (eng. tournament selection). Kod nje se s jednakom vjerojatnošću odabire k jedinki, od kojih se uzima najbolja i stavlja u bazen za reprodukciju. Postupak se nastavlja dok se ne odabere cijela populacija nad kojom se dalje djeluje genetičkim operatorima. Kod eliminacijskih algoritama koristi se eliminacijska selekcija (eng. steady-state selection). Ona za razliku od jednostavne, bira loše jedinke koje će se eliminirati i zamijeniti novima. Genetički operatori Nakon postupka selekcije dobrih jedinki započinje postupak njihove reprodukcije, kako bi se nadomjestili izbačeni kromosomi i održala veličina populacije. Reprodukcija se ostvaruje pomoću genetičkog operatora križanja (eng. crossover). Procesom križanja iz dvije jedinke roditelja stvara se jedna ili dvije nove jedinke djece, koje nasljeñuju svojstva roditelja. Kod binarnog zapisa vrši se zamjena bitova koji se nalaze izmeñu točaka prekida (slika 2.1). Bitovi koji će se mijenjati odreñuju se maskom K, koja je dobivena slučajnim odabirom bitova prema masci s vjerojatnostima. Sama operacija križanja nad kromosomima roditelja R1 i R2, te dobivanje djeteta D, vrši se prema sljedećoj formuli: D = R1R 2 + K( R1 R2). (2.10) 5
9 Slika 2.1. Križanje s jednom točkom prekida [9] Sljedeći operator karakterističan za genetičke algoritme je unarni operator mutacije. Za svaki bit u kromosomu odreñuje se vjerojatnost da doñe do njegove promjene. Kod jednostavne mutacije ta je vjerojatnost jednaka za sve bitove. Mutacija je odgovorna za slučajno pretraživanje prostora rješenja, kao i za izlazak iz lokalnog minimuma ukoliko cijela populacija u njemu završi 6
10 3. Problemi prikladni za LCS Domena primjene strojnog učenja je vrlo široka i postoji više vrsta problema za koje su prikladne takve tehnike. Kod klasifikatorskih sustava najčešće se radi o interakciji sa okolinom koja predstavlja odreñeni problem, a LCS ima ulogu sustava za odlučivanje. U nastavku su dani opisi tri glavne vrste problema prikladnih za rješavanje klasifikatorskim sustavom, uz naglasak na višekoračne probleme podržanog učenja. 3.1 Vrste problema Vrste problema koji se mogu rješavati sa klasifikatorskim sustavima su: optimizacijski, klasifikacijski i problemi podržanog učenja [5]. Kod optimizacijskih problema cilj je pronaći najbolje rješenje iz prostora svih mogućih rješenja. Sustav kao odgovor na dano rješenje dobiva ocjenu njegove kvalitete koju mu je u konačnici cilj maksimizirati. Klasifikacijski problemi odnose se na traženje koncepta koji svaki dani problem svrstava u odreñeni razred. Kod sustava za rješavanje takvih problema poželjna svojstva su preciznost i generalizacija. Preciznost se može mjeriti kao postotak uspješno klasificiranih problema dok generalizacija označava da je rješenje moguće primjeniti na probleme s kojima se sustav još nije susreo. Treća vrsta problema su problemi podržanog učenja (eng. reinforcement learning problems) kod kojih je zadaća sustava pronaći optimalnu strategiju ponašanja u interakciji sa okolinom koja predstavlja odreñeni problem i služi kao izvor podataka za LCS. 3.2 Jednokoračni i višekoračni problemi Problemi podržanog učenja specifični su po tome da se povratna informacija o kvaliteti rješenja dobiva sa odgodom. Takoñer, stanje okoline uvjetovano je prethodno odabranom nizu akcija. Takvu vrstu problema kod kojih vrijede ovi uvjeti nazivamo još i višekoračnim problemima (eng. multistep problem). Višekoračni problemi modelirani su ranije opisanim Markovljevim procesima. Druga vrsta problema podržanog učenja su jednokoračni (eng. singlestep problem), kod kojih se povratna informacija od okoline dobiva bez odgode, a svako njezino stanje predstavlja problem za sebe. 7
11 Klasifikacijski problemi mogu se poistovjetiti s jednokoračnima, gdje okolina šalje nagradu ovisno o tome da li je zadani problem točno klasificiran. Primjer jednokoračnog problema je problem 6-multipleksora [14]. Nešto složenija podvrsta višekoračnih problema su oni modelirani djelomično vidljivim Markovljevim procesima (eng. partially observable Markov decision proces). Kod njih za razliku od MDP procesa, agent opaža okolinu pomoću funkcije opažanja koja preslikava stvarno stanje okoline u opažanje agenta [5]. Slika 3.1 Rad okoline koja predstavlja labirint Primjer višekoračnog problema je problem snalaženja u 2D labirintu (slika 3.1). Okolina je labirint kroz koji se kreće agent (označen sa A) ovisno o akcijama sustava za odlučivanje. Takvu vrstu agenta nazivamo još i animat [3]. Cilj animata je u što manjem broju koraka pronaći cilj ("hrana" označena sa F), pri čemu se može kretati u osam mogućih smjerova. Prije svake odluke o pomaku u odreñenom smjeru, sustav dobiva stanje labirinta u obliku binarnog zapisa osam susjednih polja oko animata. Zapisi polja u stanju odreñuju se ovisno o tome da li se na njima nalazi hrana, zid ili je polje prazno. Sljedeći korak je donošenje odluke o akciji, prema strategiji ponašanja koju sustav koristi. Ukoliko je moguće animat se pomiče, a zatim okolina šalje nagradu u skladu sa kvalitetom akcije. 8
12 4. LCS klasifikatorski sustavi Klasifikatorski sustavi s mogućnošću učenja su vrsta sustava temeljenih na pravilima (eng. rule-based system) koji se koriste kao tehnika u području strojnog učenja. Preciznije, radi se o genetički temeljenim tehnikama strojnog učenja (eng. genetic-based machine learning, GBML) [8]. Pravila sustava nalaze se u uobičajenom AKO-ONDA produkcijskom obliku. Za pretraživanje prostora pravila odgovorna je komponenta evolucijskog računanja, čija najčešće korištena tehnika su genetički algoritmi. Vrednovanje pravila koje vodi proces učenja prepušteno je tehnici podržanog učenja. Za uspjeh LCS-a ključna je suradnja tih dviju komponenti. Tako se komponenta za podržano učenje oslanja na strukturu klasifikatora koju su razvili GA. S druge strane za uspješan rad GA komponente potrebno je točno vrednovanje klasifikatora koju obavlja RL komponenta u interakciji s okolinom. Osnovna struktura LCS sustava prikazana je na slici Rad klasifikatorskog sustava Rad LCS-a temelji se na populaciji klasifikatora koja predstavlja bazu znanja i okosnica je strategije ponašanja sustava. Svaki klasifikator (cl) sastoji se od uvjeta (C), akcije (A) i skupa parametara. Radi lakšeg opisivanja u nastavku se svaka komponenta koja se odnosi na točno odreñeni klasifikator zapisuje odvojena točkom. Primjerice akcija za klasifikator cl1 označavat će se cl1.a. Uvjet svakog klasifikatora usporeñuje se sa stanjem okoline, a klasifikatori čiji su uvjeti zadovoljeni za odreñeno stanje definiraju moguće akcije. Za prikaz uvjeta moguće je koristiti binarni, realni ili neki složeniji način zapisivanja, ovisno o vrsti problema koji se rješava. U nastavku rada koristi se binarni prikaz koji je najčešće korišten. Kod binarnog zapisa vrijedi C є {0,1,#} l, gdje je l duljina zapisa koja ovisi o broju bitova kojim se kodira stanje okoline. Simboli 0 i 1 su konkretni simboli i odgovaraju bitovima kojima se zapisuje stanje. Kako bi se uvjet podudarao sa stanjem moraju se podudarati bitovi stanja i konkretni simboli uvjeta. Simbol # je slobodni simbol (eng. don't care) i označava da na odgovarajućem mjestu u zapisu stanja može biti bilo koji bit kako bi se uvjet podudarao. Svaki uvjet pravila predstavlja podprostor problema. Klasifikatori čiji se podprostori problema preklapaju natječu se za nagradu dobivenu od okoline. 9
13 Veličina podprostora problema koju klasifikator pokriva odreñena je faktorom specifičnosti k/l, gdje k označava broj konkretnih simbola [5]. Klasifikatore sa manjim faktorom specifičnosti nazivamo generalizacijama i oni pokrivaju veći prostor problema od specifičnih klasifikatora. Upravo je mogućnost generalizacije glavna razlika izmeñu tehnike Q-učenja i LCS-a, a omogućuje kompaktniji zapis klasifikatora za razliku od Q- učenja gdje veličina tablice sa pohranjenim Q-vrijednostima može jako narasti [1]. Slika 4.1 Struktura LCS sustava Za prikaz akcije takoñer su moguće razne varijante, a budući da se u problemima koji će se kasnije razmatrati koristi manji broj akcija, u nastavku se koristi obični binarni zapis (samo konkretni simboli 0 i 1). Parametri klasifikatora ovise o vrsti klasifikatorskog sustava koji ih koristi. Dobrota je zajednički parametar za sve vrste, a odreñuje mjeru uspješnosti klasifikatora. Njezina uloga je ključna kod rada genetičkih algoritama prilikom razvoja populacije klasifikatora te kod odabira akcije koju će sustav poslati kao odgovor okolini. Odabir akcije obavlja se u skladu sa strategijom ponašanja koju razvija komponenta za podržano učenje. 10
14 4.2 Vrste LCS-a LCS sustave uveo je i formalizirao John Holland. Problem sa kojim je započeo svoje istraživanje bila je interakcija sustava sa okolinom, kojeg je kasnije opisao Stewart Wilson kao problem animata. Radi se o ranije opisanom snalaženju agenta unutar labirinta u kojem je potrebno pronaći odreñeni cilj. U samim počecima razvoja klasifikatorskih sustava pojavila su se dva odvojena pristupa [2]. Holland i njegovi studenti sa sveučilišta u Michiganu začetnici su Michiganskog pristupa, kod kojeg jedan LCS pomoću genetičkog algoritma i podržanog učenja, razvija populaciju klasifikatora kao rješenje problema. Drugi pristup je Pittsburški, kojeg je započeo Stephen Frederick Smith sa sveučilišta u Pittsburghu. Njegova vrsta sustava radi sa više populacija klasifikatora, izmeñu kojih se takoñer pomoću GA razvija ona koja predstavlja najbolji LCS za dani problem. Razlika izmeñu Pittsburškog i Michiganskog pristupa je takoñer u načinu rada. Pittsburški LCS sustavi rade iterativno nad skupovima problema, što je vrsta off-line načina rada, dok su Michiganski grañeni za on-line način rada [15]. Prvu konkretnu implementaciju klasifikatorskog sustava u Michiganskom stilu, objavili su Holland i Reitman 1978., pod nazivom "CS1" (Cognitive System One) [1]. Sustav od okoline dobiva kodirano stanje koje smješta na listu poruka. Po primitku stanja iz populacijskog skupa klasifikatora (eng. population set, [P]) izdvajaju se oni čiji su uvjeti zadovoljeni za bilo koju poruku na listi te se smještaju u podudarni skup (eng. match set, [M]). Pomoću mehanizma glasanja odabire se klasifikator čija će akcija predstavljati akciju sustava. Glas pojedinog klasifikatora računa se po formuli [2]: [ P] glas( cl. C) = β specificnost( cl. C) cl. dobrota cl (4.1) Zapis akcije sustava dopuštao je slobodne simbole, koji su u tom slučaju označavali propuštanje simbola iz dobivenog zapisa stanja [2]. Lista poruka se briše te se na nju postavlja akcija od odabranog klasifikatora. Dalje se nastavlja sa popunjavanjem liste po istom principu glasanja, dok ima slobodnog mjesta. Glas svakog pobjednika pohranjuje se u "kantu" (eng. bucket) čiji se sadržaj podjednako dijeli prethodnim pobjednicima u korist njihove dobrote. Navedena tehnika podržanog učenja poznata je pod nazivom živi lanac (eng. bucket brigade) [1]. GA se primjenjuju nad cijelim skupom [P] u svrhu otkrivanja novih klasifikatora. 11
15 Klasifikatorski sustavi u Michiganskom stilu prema načinu odreñivanja uspješnosti klasifikatora dijele se na sustave: temeljene na snazi (eng. strenght-based), temeljne na preciznosti (eng. accuracy-based) te temeljene na očekivanju (eng. anticipatory-based). Kod sustava temeljenih na snazi kao mjera uspješnosti uzima se samo predviñena nagrada (parametar klasifikatora). Primjer takvog sustava je ZCS (eng. zeroth level classifier system). Kod njih se meñutim javlja problem pretjerane generalizacije, gdje klasifikatori sa manjim faktorom specifičnosti imaju veću dobrotu [5]. Iz tog razloga oni postepeno nadjačavaju specifične klasifikatore čija bi akcija u odreñenim stanjima eventualno dala bolju nagradu. Razlog tome je što su uvjeti generalnih klasifikatora često zadovoljeni i predviñena nagrada se povećava zahvaljujući različitim stanjima u kojima se akcija izvršava. Poboljšanje po pitanju pretjerane generalizacije donose klasifikatorski sustavi temeljni na preciznosti. Kod njih se traži da klasifikator bude točan, tj. da točno predviña nagradu bez većih odstupanja. Primjer takvog sustava je XCS čiji je detaljniji opis dan u sljedećem poglavlju. Klasifikatorski sustavi temeljeni na očekivanju razlikuju se od prethodno navedenih po tome što klasifikatori osim uvjeta i akcije sadrže očekivanje (eng. effect) koje predstavlja očekivano buduće stanje okoline. Očekivanje sadrži dodatne simbol? (eng. don't know), koji označava da se odgovarjući bit stanja ne može predvijeti te simbol = (eng. don't change), koji označava da se bit u budućem stanju neće promijeniti. Dobrota klasifikatora odreñuje se prema uspješnosti predviñanja sljedećeg stanja okoline [1]. 12
16 5. Klasifikatorski sustav XCS XCS klasifikatorski sustav, sustav je temeljen na preciznosti u Michiganskom stilu. Kod njega se za razliku od ostalih vrsta LCS-a dobrota klasifikatora ne bazira na predviñenoj nagradi već na preciznosti tog predviñanja. Želja je pomoću učinkovitih generalizacija ostvariti precizno klasificiranje prostora problema [2]. S tim načinom vrednovanja rješen je i ranije spomenuti problem pretjerane generalizacije koji se javlja kod LCS-a temeljenih na snazi. 5.1 Parametri klasifikatora Kao i kod ostalih LCS-a Michiganskog stila, XCS razvija populaciju klasifikatora. Osnovne komponente klasifikatora su pravilo, akcija i parametri. Pravilo i akcija su ranije opisani, a osnovni parametri su: P - predviñanje nagrade (eng. reward prediction) F - dobrota ε- pogreška predviñanja nagrade (eng. reward prediction error) Parametar cl.p є R označava predviñenu vrijednost nagrade, ako je zadovoljen uvjet cl.c i izvršena je akcija cl.a. Računanje nove vrijednosti parametra odvija se iterativno nakon svake dobivene nagrade od okoline. Rezultat je pomična prosječna vrijednost 2 (eng. moving average) dobivene nagrade za odreñeni klasifikator. Slično pogreška predviñanja ε predstavlja pomičnu prosječnu vrijednost apsolutne pogrešku predviñanja nagrade. Dobrota se takoñer računa kao pomična prosječna vrijednost preciznosti klasifikatora u odnosu na ostale klasifikatore koji se mogu primijeniti u istom trenutku. Uz navedene osnovne, svaki klasifikator posjeduje i sljedeće dodatne parametre: as - procjena veličine akcijskog skupa (eng. action set size estimate) ts - vremenska oznaka (eng. time stamp) exp - iskustvo (eng. experience) n - brojnost (eng. numerosity) 2 Sa svakom novom primljenom vrijednosti, dobiva se prosječna vrijednost svih do tada primljenih 13
17 Parametar as predstavlja prosječnu veličinu akcijskih skupova u kojima se klasifikator nalazio. Služi prilikom donošenja odluke o brisanju pojedinog klasifikatora iz populacije, čime se pokušava održati jednolike veličine akcijskih skupova [6]. Vremenska oznaka služi za donošenje odluke o pokretanju GA, a predstavlja trenutak stvaranja klasifikatora ili zadnjeg izvršavanja GA. Iskustvo je broj koliko puta se klasifikator nalazio u podudarnom skupu ([M]). Parametar brojnosti predstavlja broj mikro-klasifikatora koje obuhvaća makro-klasifikator. Time je smanjen broj nepotrebnih klasifikatora u populaciji, jer je uloga mikro-klasifikatora obuhvaćena makro-klasifikatorom. Mehanizam obuhvaćanja detaljnije je objašnjen u poglavlju o implementaciji. 5.2 Algoritamski opis sustava Prije početka rada sustava obavljaju se svi pripremni postupci poput inicijalizacije početne populacije klasifikatora te inicijalizacije okoline. Rad XCS klasifikatorskog sustava odvija se kroz iterativnu interakciju sa okolinom (slika 5.1). Glavni koraci svake iteracije su: dohvaćanje stanja okoline korištenje klasifikatora za odabir akcije slanje akcije okolini dohvaćanje nagrade od okoline obnavljanje parametara klasifikatora moguće pokretanje GA Slika 5.1 Struktura XCS sustava 14
18 Skup svih klasifikatora naziva se populacijski skup (eng. population set, [P]), a maksimalan broj klasifikatora koje može sadržavati je parametar sustava N. Nakon dobivenog stanja okoline iz skupa [P] izdvajaju se svi klasifikatori čiji se uvjet podudara sa stanjem i tvori se podudarni skup (eng. match set, [M]). Prilikom stvaranja skupa parametrom θ mna moguće je odrediti minimalni broj različitih akcija koje klasifikatori iz skupa trebaju imati. Ukoliko se ne može zadovoljiti uvjet koristi se postupak pokrivanja (eng. cover) kojim se stvaraju novi klasifikatori s potrebnim akcijama. Iz dobivenog skupa [M] na temelju parametara klasifikatora odabire se akcija koju će sustav poslati kao odgovor. Za odabir akcije stvara se polje predviñanja (eng. prediction array, PA). PA odreñuje predviñenu nagradu za pojedinu akciju A, koju je moguće odabrati koristeći klasifikatore iz skupa [M]. Predviñena nagrada računa se kao težinska srednja vrijednost predviñanja, gdje je težinski faktor dobrota klasifikatora: PA( cl. A) = c. A= A, c [ M ] c. A= A, c c. P c. F, c. F [ M ] cl [ M ]. (4.1) Za odabir akcije odgovorna je komponenta podržanog učenja uz primjenu odreñenog mehanizma, meñu kojima je često korišten ε greedy mehanizam: arg max( PA( A)), 1 pexp lore A π XCS ( s) =. (4.2) rand( [ M ]), pexp lore Nakon odabira akcije A gradi se akcijski skup (eng. action set, [A]), koji sadrži sve klasifikatore iz [M] sa akcijom A. Akcija se šalje okolini na evaluaciju. Interno stanje okoline se mijenja u skladu s akcijom te se kao povratna vrijednost sustavu šalje nagrada r. Na temelju nagrade računa se vrijednost ukupne nagrade R pomoću koje se obnavljaju parametri klasifikatora iz skupa [A]: t+ R = r + γ max( PA 1 ( A)). (4.3) A 15
19 Eksperiment: nagrada -1 = 0; ponavljaj: stanje = okolina.stanje(); [M] = stvoripodudarniskup([p], stanje); PA = stvoripa ([M]); akcija = odaberiakciju(pa); [A] = stvoriakcijskiskup([m], akcija); nagrada = okolina.evaluiraj(akcija); ako ([A] -1 nije prazan): R = nagrada -1 + γ * max(pa); obnoviparametre([a] -1, R, [P]); pokreniga([a] -1, stanje -1, [P]); ako (okolina.krajproblema()): obnoviparametre([a], nagrada, [P]); pokreniga([a], stanje, [P]); obrisi([a] -1 ); inače: [A] -1 = [A]; stanje -1 = stanje; nagrada -1 = nagrada; dok (uvjet zaustavljanja nije zadovoljen); Slika 5.2 Pseudokod glavnog algoritma XCS-a Polje predviñanja PA t+1 označava PA u sljedećem trenutku nakon dobivanja nagrade, a parametar γ je faktor odbitka sa istom ulogom kao i kod Q-učenja. Konkretna algoritamska implementacija računanja vrijednosti R i obnavljanja parametara radi se pomoću trenutnog polja predviñanja nad prethodnim akcijskim skupom [A] -1, a prikazana je na slici 5.2. Ukoliko je u trenutku t kraj problema, odnosno u svakoj iteraciji kod jednokoračnih problema, vrijedi R = r. Novi parametri klasifikatora iz akcijskog skupa [A] računaju se korištenjem Widrow-Hoff delta pravila [11], sljedećim redoslijedom: 1. Pogreška predviñanja ε za svaki klasifikator obnavlja se prema izrazu: [ A] cl. ε cl. ε + β ( R - cl.p - cl. ε ), cl. (4.4) Parametar β je stopa učenja sa istim značenjem kao u izrazu 2.7 kod Q-učenja. 2. Predviñanje nagrade P za svaki klasifikator obnavlja se prema sljedećem izrazu: [ A] cl. P cl. P + β (cl.p - R), cl. (4.5) 16
20 XCS rabi isti mehanizam obnove predviñanja kao i Q-učenje uz razliku što kod njega Q- vrijednosti nisu izražene tablično za svaku akciju i stanje već se nalaze unutar polja predviñanja PA. 3. Za svaki klasifikator pomoću vrijednosti ε računa se preciznost κ, prema sljedećem izrazu: 1, κ( cl) = cl. ε α ε 0 ν, cl. ε < ε 0, cl. ε ε 0 cl [ A]. (4.6) Parametar sustava ε 0 predstavlja prag tolerancije na pogrešku predviñanja. Klasifikatori za koje vrijedi ε < ε 0 smatraju se preciznima. Odnos preciznosti i pogreške predviñanja u ovisnosti o parametrima ε 0, α i ν prikazan je na slici 5.3. Slika 5.3 Ovisnost preciznosti o pogrešci predviñanja [5] 4. Za svaki klasifikator iz skupa [A] računa se relativna preciznost κ' u odnosu na ostale klasifikatore iz skupa. Ona predstavlja udio preciznosti pojedinog klasifikatora u ukupnoj preciznosti svih klasifikatora iz akcijskog skupa te se računa prema sljedećem izrazu: κ( cl) cl. n κ '( cl), cl [ A]. κ( c) c. n = c [ A] 5. Korištenjem dobivene relativne preciznosti dobrota F obnavlja se prema izrazu: [ A] (4.7) cl. F cl. F + β ( κ' F), cl. (4.8) 6. Procjena veličine akcijskog skupa as obnavlja se prema izrazu: [ A] as cl [ A] cl. as cl. as + β ( ),. (4.9) 17
21 5.3 Evolucijska komponenta Evolucijska komponenta korištena u XCS sustavu je genetički algoritam, koji se provodi nad akcijskim skupom. Razlog tome je želja da klasifikatori roditelji budu primjenjivi na istom podprostoru problema [5]. Takoñer, primjena GA nad akcijskim skupom služi za razvoj generalizacija, jer generalizirani klasifikatori su često u skupu [A] te imaju veću mogućnost reprodukcije [13]. GA koji se primjenjuje kod XCS-a je najčešće eliminacijski [1]. Odreñenim selekcijskim postupkom (najčešće jednostavna selekcija) ovisno o dobroti iz skupa [A] biraju se dva roditelja [6]. Njihovim križanjem dobivaju se dva potomka, koji zamjenjuju lošije klasifikatore, takoñer odabrane jednostavnom selekcijom. Križanje klasifikatora obavlja se nad uvjetima roditelja prema slici 2.1, uz uzimanje u obzir slobodnih simbola. Mutacija nad uvjetom se obavlja tako da se pojedini konkretni simboli pretvaraju u slobodne i obratno. Zbog toga je potrebno poznavanje trenutnog stanja okoline pomoću kojeg je stvoren skup [M], kako bi se uvjet i nakon mutacije podudarao sa stanjem. Kako bi se GA primjenjivao jednoliko nad svim akcijskim skupovima te u jednakim intervalima, koristi se vremenska oznaka (ts) [11]. Prilikom stvaranja klasifikatora parametru ts pridružuje se vrijeme kada je stvoren. Kod stvaranja skupa [A] za sve klasifikatore gleda se prosječna vrijednost oznake te ukoliko je razlika u odnosu na trenutno vrijeme veća od praga tolerancije θ GA, nad skupom se pokreće GA. Takoñer, ukoliko se GA izvršio, svim klasifikatorima vremenska oznaka se postavlja na trenutno vrijeme sustava. 18
22 6. Primjena XCS-a na višekriterijske probleme Svaki živi organizam posjeduje svojstvo homeostaze, što mu omogućava da uz promjenjivu okolinu zadrži relativno konstantno unutarnje stanje [7]. Pri tome se neprestano suočava sa raznim oblicima ciljeva koje mora ostvariti, poput nabavljanja hrane, traženja zaklona i slično. Odabir akcija vrši se prema odreñenim kriterijima i dinamički se mijenja ovisno o promjenama u okolini. Navedena vrsta problema, kod kojih postoji više ciljeva i odreñeni kriteriji njihovog izvršavanja nazivaju se višekriterijski problemi, a predstavljaju posebnu vrstu višekoračnih problema. Kao problem za primjenu XCS sustava odabran je ranije objašnjen problem labirinta uz proširenja sa više traženih ciljeva. Informacija o ostvarenju pojedinih ciljeva sustavu se predaje preko zapisa stanja. 6.1 Slijedni višekriterijski problem labirinta Jedan od načina da se problem labirinta proširi na višekriterijski je dodavanje uvjetnog cilja (ključ), čije ostvarenje omogućuje ostvarenje glavnog cilja (skupljanje hrane). Ukoliko animat pronañe hranu bez sakupljenog ključa dobivena nagrada iznosi 0, a u suprotnom 1000 [7]. Okolina Maze1k (slika 6.1 a) predstavlja kvadratni 2D labirint sa 25 polja. Rubovi labirinta povezani su na način da pomak izvan granica labirinta prebacuje animata na suprotnu stranu. Kretanje je dozvoljeno po praznim poljima (označeno sivo) i to u 8 mogućih smjerova oko trenutne pozicije. Svaki nedozvoljeni pomak se ignorira i rezultira sa nagradom 0. Ispitivanje započinje postavljanjem animata na nasumično prazno polje, a završava kada je pronañena hrana uz sakupljeni ključ. Slika 6.1 Tri višekriterijske okoline (K ključ, E izvor energije, M održavanje) Za zapis pojedinog polja u stanju okoline koriste se 3 bita, a na kraju se dodaje dodatni bit koji označava da li je posjećeno polje sa ključem. 19
23 6.2 Paralelni višekriterijski problem labirinta Osim korištenja uvjetnog cilja, problemu labirinta moguće je dodati više ciljeva koje je potrebno istovremeno zadovoljiti. Ovisno o visini mogućih nagrada, animat će sam morati usvojiti odreñene kriterije za redoslijed ostvarivanja ciljeva. Prvi primjer je okolina Maze1e (slika 6.1 b), gdje je dodano polje za prikupljanje energije (oznaka E) [7]. Animat posjeduje unutarnji spremnik sa energijom, maksimalnog kapaciteta 1. Na početku svakog ispitivanja količina energije pohranjena u spremniku je nasumičan realni broj iz intervala [0,1]. Kod opisa stanja okoline uz opise polja nalazi se dodatni bit koji označava da li je količina pohranjene energije veća od 0.5. Ukoliko animat posjeti polje E uz manje od 0.5 količine energije, dobiva nagradu u iznosu 1000, a u suprotnom 1. Takoñer, kada se nañe na polju F i ima više od 0.5 količine energije, dobiva nagradu 1000, a u suprotnom 1. Prethodni primjer proširen za još jedan cilj predstavlja okolinu Maze1em (slika 6.1 c), gdje je dodano polje za "održavanje" (oznaka M) [7]. Potreba za održavanjem se takoñer označava realnim brojem iz intervala [0,1] i uz dodatan bit kod zapisa stanja koji označava da li je ona veća od 0.5. Prioritet održavanja veći je od prethodna dva cilja, pa će tako ukoliko je njegova vrijednost veća od 0.5, animat dobiti nagradu 1 bez obzira koji od njih obavi. Meñutim ukoliko u tom slučaju posjeti polje označeno sa M dobiva nagradu od 1000, a 1 ukoliko je potreba za održavanjem manja od 0.5. Kada je održavanje manje od 0.5 ostala dva cilja se zadovoljavaju kao u prethodnom primjeru. Na početku simulacije vrijednost održavanja je nasumičan broj iz intervala [0,1]. 20
24 7. Programsko ostvarenje XCS sustava Programsko ostvarenje klasifikatorskog sustava XCS sastoji se od implementacije XCS komponente u sklopu okruženja ECF te izgradnje simulacijske okoline koja se njome služi. XCS je u ECF-u implementiran kao algoritam i podržava rad sa jednokoračnim i višekoračnim problemima što se ostvaruje implementacijom odgovarajuće okoline. Kod simulacijskog okruženja navedena komponenta je iskorištena za rješavanje višekoračnih problema labirinta uz odgovarajuću grafičku simulaciju, interaktivni prikaz populacije klasifikatora te ureñivanje parametara sustava. 7.1 XCS komponenta u sklopu ECF-a XCS klasifikatorski sustav implementiran je u sklopu ECF okruženja za evolucijsko računanje, kao zasebna algoritamska komponenta AlgXCS. Za njeno ostvarenje razvijene su dodatne komponente XCSParams, Classifier, ClassifierParams i Environment (Slika 7.1). XCSParams služi za enkapsulaciju parametara sustava i omogućuje njihovo učitavanje i pohranjivanje u formatu koji koristi ECF okruženje za parametre svakog algoritma. Komponenta Classifier predstavlja jedan klasifikator u populaciji. Njoj je prepuštena sva odgovornost oko pravila i akcije, čime je omogućena kasnija nadogradnja uz korištenje drukčijeg načina njihovog zapisivanja. O ostalim parametrima klasifikatora odgovorna je komponenta ClassifierParams. Implementacija je, kao i okruženje, napisana u programskom jeziku C++. Slika 7.1 Organizacija komponenti XCS sustava u sklopu ECF okruženja 21
25 Komponenta Environment predstavlja okolinu sa kojom je sustav u interakciji. Poput uvjeta klasifikatora, stanje okoline je takoñer predstavljeno genotipom. Time je omogućena lakša usporedba podudarnosti stanja i uvjeta te potencijalno kasnije proširivanje na neki drugačiji zapis od binarnog. Pohrana komponenti klasifikatora Razred Classifier predstavlja jedan klasifikator iz populacije. On u sebi sadrži sve komponente klasifikatora, koji su: uvjet, akcija i parametri. Za pohranu uvjeta i akcije koriste se genotipovi (komponenta Genotype) unutar jedinke sa kojom radi ECF (komponenta Individual). Ovisno o željenom načinu zapisivanja, za uvjet se može koristiti proizvoljan broj genotipa, a za akciju samo jedan. Implementacija klasifikatora sa binarnim zapisom uvjeta i akcije koristi tri BitString genotipa, dva za uvjet i jedan za akciju. Način pohrane uvjeta prikazan je na slici 7.2. Slika 7.2 Zapisivanje uvjeta pomoću BitString genotipova Jedinka ECF-a sadrži još i parametar dobrote klasifikatora što omogućava primjenu gotovih selekcijskih postupaka okruženja, kod rada genetičkog algoritma. Ostali parametri pohranjeni su u zasebnom genotipu ClassifierParams koji se brine za njihovu pohranu u datoteku prilikom zapisivanja populacije. Komponenta Classifier zadužena je za obavljanje genetičkih operacija nad klasifikatorom, jer se križanje i mutacija obavlja specifično za vrstu genotipa koji se koristi za zapis uvjeta i akcije. Iako ECF podržava vlastite operatore za svaku vrstu genotipa, ovakav pristup korišten je zbog specifičnosti mutacije uvjeta. Komponenta Environment predstavlja sučelje prema okolini sa kojom sustav radi. Tako su za problem labirinta implementirani razredi MazeEnv, SingleObjMazeEnv, SeqObjMazeEnv, TwoObjMazeEnv te ThreeObjMazeEnv. Okolina se na početku pokretanja sustava inicijalizira, što uključuje učitavanje labirinta iz datoteke. 22
26 Stanje labirinta šalje se XCS sustavu kao BitString, a općenito se može koristiti bilo koji oblik genotipa. Usporedbu uvjeta klasifikatora sa stanjem vrši komponenta Classifier, što omogućuje kasniju nadogradnju za drukčije načine zapisivanja stanja okoline. Ispitivanje sustava moguće je pomoću metode isexploit. Ako se želi da eksperiment služi za ispitivanje, pomoću navedene metode odreñuje se strategija iskorištavanja te će sustav obavljati najbolje akcije bez obnavljanja parametara klasifikatora. Implementacija algoritma Svaki eksperiment obavlja se pokretanjem algoritma sustava za što je odgovorna ECF komponenta State. Prije pokretanja algoritma obavlja se inicijalizacija koja uključuje učitavanje parametara iz konfiguracijske datoteke, inicijalizaciju operatora selekcije, incijalizaciju okoline te stvaranje početne populacije klasifikatora. Inicijalizacija okoline je specifična za problem koji ona predstavlja. Tako se kod komplonente MazeEnv za vrijeme inicijalizacije učitava labirint iz datoteke. Svaki eksperiment sastoji se od više manjih provjera čiji je broj ograničen ECF parametrom term.maxgen. Jedna provjera označava rješavanje jedne instance problema, primjerice jedan prolazak kroz labirint pri čemu je pronañen cilj. Svaka provjera vrši se pokretanjem metode advancegeneration, razreda AlgXCS. Nakon njenog izvršavanja, okolina se priprema za novu provjeru pomoću metode reset. Svaka provjera predstavlja više iteracija algoritma XCS sustava dok se ne zadovolji odreñeni uvjet u okolini, primjerice pronañen je cilj u labirintu. Provjera da li je taj uvjet zadovoljen ostvaruje se metodom isover, razreda Environment. Algoritam sustava ostvaren je prema pseudokodu na slici 5.2. Kod obnavljanja parametara klasifikatora korištena je MAM tehnika (eng. moyenne adaptive modifiee) [11], kojom se vrijednost parametara postavlja na srednju vrijednost ukoliko je iskustvo klasifikatora manje od 1/β. Primjer obnavljanja parametra predviñanja korištenjem MAM tehnike je sljedeći izraz: ( R cl. p) 1 cl. p +, cl.exp < cl.exp β cl. p. (6.1) 1 cl. p + β ( R cl. p), cl.exp β 23
27 Obnavljanjem paramatera kroz dvije faze omogućuje da početne vrijednosti parametara brzo konvergiraju ka njihovim prosječnim vrijednostima [11]. Algoritam podržava i mehanizam obuhvaćanja (eng. subsumption), kojim je moguće izbaciti klasifikatore čiji je uvjet obuhvaćen uvjetom drugog klasifikatora sa manjim faktorom specifičnosti, a klasifikatori imaju iste akcije [6]. Na slici 7.3 prikazan je pseudokod funkcije koja odreñuje da li klasifikator cl gen obuhvaća cl spec. Operaciju te funkcije obavlja metoda doessubsume u razredu Classifier. Ukoliko je klasifikator cl spec obuhvaćen nekim generaliziranijim cl gen, on se izbacuje iz populacije, a parametar cl gen.n uvećava se za brojnost cl spec.n. Navedeni mehanizam primjenjuje se nad akcijskim skupom nakon obnove parametara klasifikatora, pomoću metode actionsetsubsumption. Pri tome se za cl gen uzima klasifikator sa najmanjim faktorom specifičnosti i usporeñuje se sa ostalim klasifikatorima iz skupa [A]. Takoñer kod pokretanja GA provjerava se da li roditelji podrazumijevaju dobivene potomke te se u tom slučaju samo povećava brojnost roditelja, bez uključivanja potomaka u skup [P]. Obuvaća(cl gen, cl spec ): ako (cl gen.a = cl spec.a && cl gen.exp > θ sub && cl gen.ε < ε 0 && broj # u cl gen.c > broj # u cl spec.c): vrati NE; i = 0; ponavljaj: ako (cl gen.c[i] # && cl gen.c[i] cl spec.c[i]): vrati NE; i++; dok (i < duljina cl gen.c); vrati DA; Slika7.3 Pseudokod mehanizma za obuhvaćanje Jedna od zadaća algoritma je i održavanje veličine populacije u granicama parametra N. Mogući načini povećanja broja klasifikatora u populaciji su slijedeći: prilikom inicijalizacije algoritma; pokretanjem cover mehanizma; pokretanjem GA. Prvi način koristit parametar algoritma N I, kojim je odreñena početna veličina populacije i mora vrijediti N I N. 24
28 Meñutim, kod druga dva načina moguće je da veličina populacije prekorači granicu N, te je potreban mehanizam za izbacivanje nepotrebnih klasifikatora [6]. To se u algoritmu obavlja metodom deletefrompopulation, koja obavlja jednostavnu selekciju nad cijelom populacijom, te odabrani klasifikator uklanja iz skupa [P]. Selekcija se vrši u odnosu na visinu glasova koju pojedini klasifikator dobije za izbacivanje. Glas za izbacivanje se računa prema pseudokodu na slici 7.4. GlasZaBrisanje (cl, prosjecnadobrota): glas = cl.as * cl.n; ako (cl.exp > θ del && cl.f / cl.n < δ * prosjecnadobrota): glas = glas * prosjecnadobrota / (cl.f / cl.n); vrati glas; Slika7.4 Pseudokod za izračuavanje glasa za brisanje iz populacije GA komponenta dijelom je ostvarena korištenjem postojećih komponenti ECF-a, a dio odgovornosti je prepušten komponenti Classifier. Za selekciju roditelja koristi se razred SelFitnessProportionalOp. Križanje se obavlja dvostrukim pozivanjem metode mate nad odabranim roditeljima kako bi se dobila dva potomka. Tu se algoritam razlikuje od uobičajenog postupka, gdje se to obavlja jednim postupkom križanja. Mutaciju vrši razred Classifier pomoću metoda mutaterule i mutateaction. Razlog za izdvajanjem mutacije pravila od postojećih postupaka ECF-a je da se nakon mutacije pravilo mora podudarati sa stanjem okoline. Mutacija akcije je izdvojena jer je poželjno da nova akcija bude postojeća. Primjena XCS komponente Rješavanje odreñenog problema sa klasifikatorskim sustavom svodi se na implementaciju konkretnog razreda koji nasljeñuje Environment te ureñivanje konfiguracijske datoteke. U njoj se nalaze parametri XCS sustava, početne vrijednosti parametara klasifikatora, postavke genotipa koji se koriste za pravila i akcije te općenite ECF postavke. Prilikom definiranja postavki genotipa potrebno je obratiti pažnju da su one u skladu sa postavkama genotipa koji se koristi za opis stanja okoline. Kod binarnog zapisa to znači da uvjet i opis stanja ne smiju imati različit broj simbola. 25
29 Kako bi se spriječio takav slučaj, za vrijeme inicijalizacije sustava šalje se njegovo trenutno stanje komponentama Classifier i Environment da provjere odgovaraju li postavke njihovom načinu rada. Slika 7.5 Rad sustava uz detaljan ispis u konzolu Implementacijom konkretnog razreda okoline moguće je modelirati jednokoračne i višekoračne okoline. Takoñer, prilikom prevoñenja XCS komponente pomoću pretprocesorske define direktive moguće je definirati simbole XCS_DEBUG i XCS_STEP_DEBUG, čime se omogućuje detaljan ispis prilikom rada sustava kao i rad u koracima (slika 7.5). 7.2 Ostvarenje simulacijske okoline Za lakše prikazivanje rada XCS sustava, napravljena je dodatna simulacijska okolina koja koristi XCS komponentu ECF okruženja i pomoću grafičkog sučelja prikazuje njen rad. Sučelje je ostvareno korištenjem Windows Forms komponenti u programskom alatu Visual C++, koji se još naziva i upravljani C++ (eng. managed). Sučelje programa sastoji se od tri glavna dijela odvojena zasebnim karticama: simulacija eksperimenta, tablični prikaz populacije klasifikatora i parametri algoritma. Uz donji rub prozora nalazi se prostor za ispis poruka o radu sustava, gumb za pauziranje eksperimenta te gumb za izlaz iz programa. 26
30 Kartica sa prikazom simulacije sadrži grafički prikaz labirinta, odabir vrste problema, odabir labirinta, kontrolu za odreñivanje brzine simulacije, prikaz statusa animata te gumb za pokretanje eksperimenta (slika 7.6). Ponuñene vrste problema su jednokriterijski te tri vrste objašnjene u 5. poglavlju. Za svaku vrstu, moguće je odabrati više labirinata koji se nalaze u odgovarajućem odreñenom pod-direktoriju unutar direktorija environments. Labirinti se opisuju u tekstualnim datotekama uz korištenje slijedećih znakova: -. prazno polje, - # zid, - F polje sa hranom, - K polje sa ključem, - E polje sa energijom, - M polje za održavanje. Slika 7.6 Prikaz simulacije eksperimenta Osvježavanje liste s labirintima moguće je pomoću gumba Refresh list. Nakon pokretanja eksperimenta započinje simulacija kretanja animata u skladu sa akcijama koje daje sustav, a na području za poruke ispisuju se vrijednosti nagrada, broj koraka koliko je bilo potrebno za ostvarenje cilja te ostale informacije. Tablica sa prikazom populacije osvježava se svaki odreñen broj provjera i prikazuje važnije komponente klasifikatora. 27
31 Na trećoj kartici su parametri sustava (slika 7.7), koji se pritiskom na gumb Save pohranjuju u konfiguracijsku datoteku i specifični su za svaku vrstu problema. Slika 7.7 Ureñivanje parametara sustava Kod pokretanja algoritma sustava stvara se zasebna dretva koja ga izvršava, kako bi se omogućio nesmetani rad grafičkog sučelja za vrijeme izvršavanja eksperimenta. Za prikaz informacija o stanju eksperimenta potrebno je bilo ostvariti komunikaciju izmeñu sučelja (komponenta MainWindow) i komponente MazeEnv koja predstavlja roditeljski razred za sve četiri vrste problema. Važno je uzeti u obzir da se ti dijelovi izvršavaju u zasebnim dretvama te da su pisani u različitim jezicima (slika 7.8). Slika 7.8 Komunikacija grafičkog sučelja i XCS komponente 28
32 Komunikacija je ostvarena korištenjem funkcija povratnog poziva (eng. callback function). MainWindow kod pokretanja algoritma razredu MazeEnv šalje pokazivače na odgovarajuće vlastite metode koje se pozivaju u odgovarajućim trenucima eksperimenta. Na slici 7.9 je isječak koda kojim se ostvaruje navedeno povezivanje. System::IntPtr d2 = System::Runtime::InteropServices::Marshal::GetFunctionPointerForDelegate (delegatechangepos); mazeenv->changepositionevent = ( void( stdcall *)(std::pair<int, int>))d2.topointer(); Slika 7.9 Povezivanje sučelja sa okolinom pomoću funkcije povratnog poziva U dijelu sa parametrima podešavaju se parametri XCS sustava, početne vrijednosti parametara klasifikatora te ECF postavke. Pomoću ECF postavki moguće je odrediti broj provjera koje sadrži eksperiment, nakon koliko provjera se osvježava prikaz populacije te veličina početne populacije. 29
33 8. Eksperimentalni rezultati Kod problema labirinta mjeri se broj koraka algoritma potrebnih za ostvarenje cilja. Za slijedni višekriterijski problem to je pronalazak hrane nakon sakupljenog ključa, a kod paralelnog, dolazak na bilo koje ciljno polje (energija, održavanje ili hrana). U sljedeća dva poglavlja prikazano je više načina na koje možemo mjeriti uspješnost sustava i dana je usporedba dobivenih rezultata sa rezultatima postojećeg XCS sustava. 8.1 Načini mjerenja Za svaku poziciju u labirintu moguće je odrediti najmanji broj pomaka do ostvarenja cilja s najvećom nagradom. Pomoću tog podatka od svih slobodnih polja, moguće je izračunati optimalan prosječni broj koraka za pojedini labirint. Cilj je da sustav nakon odreñenog broja pokušaja dostigne tu vrijednost i daljnjim izvršavanjem na njoj se zadrži. Najjednostavniji način mjerenja je da nakon svakog ostvarenog cilja bilježimo broj potrebnih koraka. Meñutim, budući da svaka provjera započinje sa nasumično odabranog polja, iz prikaza takvog mjerenja teško je zaključiti stvarni napredak prema optimalnoj vrijednosti što se vidi iz slike Koraci do cilja Provjere Slika 8.1 Maze1k - mjerenje broja koraka do cilja Poboljšanje je moguće ukoliko se uzima pomična prosječna vrijednost prethodnih mjerenja za odreñen broj koraka (slika 8.2). Krivulja performansi se izglañuje, meñutim još postoje primjetne oscilacije. Uzrok tome je u načinu rada sustava. 30
34 Budući da se za odabir akcije koristi ε-greedy mehanizam, sustav povremeno odabire akcije koje nisu optimalne prema vrijednosti u polju PA. Iz tog razloga potrebno je razdvojiti provjere koje će služiti za učenje, od onih na kojima se sustav ispituje i kada se mjere performanse Koraci do cilja Provjere Slika 8.2 Maze1k - prosječna vrijednost uz korak od 50 provjera Kod ispitivanja sustav odabire akcije s najvećom vrijednosti u polju PA. Takoñer u toj fazi ne pokreće se GA komponenta i ne obnavljaju se parametri u posljednjem koraku provjere. U svim ostalim koracima obnavljaju se parametri kako bi sustav izašao iz petlji do kojih može doći u ranoj fazi ispitivanja [11]. Rad sustava proširuje se na način da nakon svake uobičajene provjere slijedi ispitivanje iz iste pozicije na kojoj je animat bio u prethodnoj provjeri. Tako su uklonjene oscilacije u mjerenjima, a uz primjenu pomične prosječne vrijednosti dobiva se krivulja performansi prikazana na slici 7.3. Koraci do cilja Provjere Slika 8.3 Maze1k - prosječna vrijednost uz strategiju iskorištavanja 31
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
ВишеClassroom Expectations
АТ-8: Терминирање производно-технолошких ентитета Проф. др Зоран Миљковић Садржај Пројектовање флексибилних ; Математички модел за оптимизацију флексибилних ; Генетички алгоритми у оптимизацији флексибилних
ВишеРачунарска интелигенција
Рачунарска интелигенција Генетско програмирање Александар Картељ kartelj@matf.bg.ac.rs Ови слајдови представљају прилагођење слајдова: A.E. Eiben, J.E. Smith, Introduction to Evolutionary computing: Genetic
ВишеPuTTY CERT.hr-PUBDOC
PuTTY CERT.hr-PUBDOC-2018-12-371 Sadržaj 1 UVOD... 3 2 INSTALACIJA ALATA PUTTY... 4 3 KORIŠTENJE ALATA PUTTY... 7 3.1 POVEZIVANJE S UDALJENIM RAČUNALOM... 7 3.2 POHRANA PROFILA KORISNIČKIH SJEDNICA...
Више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
Више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
ВишеMicrosoft Word - privitak prijedloga odluke
Informatički sustav za prikupljanje, simulaciju i prikaz podataka o cijenama javnih komunikacijskih usluga (dalje: Sustav e-tarife) Zagreb, HRVATSKA AGENCIJA ZA POŠTU I ELEKTRONIČKE KOMUNIKACIJE Roberta
ВишеMicrosoft Word - 6. RAZRED INFORMATIKA.doc
Kriteriji ocjenjivanja i vrednovanja INFORMATIKA - 6. razred Nastavne cjeline: 1. Život na mreži 2. Pletemo mreže, prenosimo, štitimo, pohranjujemo i organiziramo podatke 3. Računalno razmišljanje i programiranje
Више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
Више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).
Више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
Више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...
ВишеSveučilište J.J. Strossmayera Fizika 2 FERIT Predložak za laboratorijske vježbe Određivanje relativne permitivnosti sredstva Cilj vježbe Određivanje r
Sveučilište J.J. Strossmayera Fizika 2 Predložak za laboratorijske vježbe Cilj vježbe Određivanje relativne permitivnosti stakla, plastike, papira i zraka mjerenjem kapaciteta pločastog kondenzatora U-I
Више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
Више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
ВишеMicrosoft Word - Seminar[godina]Prezime_Ime.docx
SVEUČILIŠTE U ZAGREBU FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA SEMINAR Naslov seminarskog rada Mario Kostelac Voditelj: Domagoj Jakobović Zagreb, travanj, 2012. Sadržaj 1. SAŽETAK... 1 2. UVOD... 2 3. GENETSKI
ВишеKvantna enkripcija
19. studenog 2018. QKD = Quantum Key Distribution Protokoli enkriptirane komunikacije koji koriste tzv. tajni ključ zahtijevaju da on bude poznat isključivo dvjema strankama (pošiljatelju i primatelju
Више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
Више(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
Више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
ВишеSveuĊilište u Zagrebu
SVEUČILIŠTE U ZAGREBU FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA DIPLOMSKI RAD br. 1883 Ocjena učinkovitosti asinkronih paralelnih evolucijskih algoritama Bruno Alfirević Zagreb, veljača 2011. i Sažetak Ovaj
ВишеInženjering informacionih sistema
Fakultet tehničkih nauka, Novi Sad Inženjering informacionih sistema Dr Ivan Luković Dr Slavica Kordić Nikola Obrenović Milanka Bjelica Dr Jelena Borocki Dr Milan Delić UML UML (Unified Modeling Language)
ВишеRecuva CERT.hr-PUBDOC
Recuva CERT.hr-PUBDOC-2019-5-379 Sadržaj 1 UVOD... 3 2 INSTALACIJA ALATA RECUVA... 4 3 KORIŠTENJE ALATA RECUVA... 7 4 ZAKLJUČAK... 13 Ovaj dokument izradio je Laboratorij za sustave i signale Zavoda za
Више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,
Више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
Вишеeredar Sustav upravljanja prijavama odjelu komunalnog gospodarstva 1 UPUTE ZA KORIŠTENJE SUSTAVA 1. O eredar sustavu eredar je sustav upravljanja prij
eredar Sustav upravljanja prijavama odjelu komunalnog gospodarstva 1 UPUTE ZA KORIŠTENJE SUSTAVA 1. O eredar sustavu eredar je sustav upravljanja prijavama koje građani mogu slati Upravnom odjelu za komunalno
Више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
ВишеТЕОРИЈА УЗОРАКА 2
ТЕОРИЈА УЗОРАКА 2 12. 04. 13. ВЕЖБАЊА Написати функције за бирање елемената популације обима N у узорак обима n, код простог случајног узорка, користећи алгоритме: Draw by draw procedure for SRS/SRSWOR
Више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
Више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
ВишеMultiBoot Korisnički priručnik
MultiBoot Korisnički priručnik Autorsko pravo 2006., 2007. Hewlett- Packard Development Company, L.P. Informacije sadržane u ovom dokumentu podložne su promjenama bez najave. Jedina jamstva za HP-ove proizvode
Више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
Више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
ВишеUvod u statistiku
Uvod u statistiku Osnovni pojmovi Statistika nauka o podacima Uključuje prikupljanje, klasifikaciju, prikaz, obradu i interpretaciju podataka Staistička jedinica objekat kome se mjeri neko svojstvo. Svi
ВишеSVEUČILIŠTE U ZAGREBU FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA ZAVRŠNI RAD br Optimizacija Booleovih funkcija za kriptografske postupke Marina Krče
SVEUČILIŠTE U ZAGREBU FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA ZAVRŠNI RAD br. 3853 Optimizacija Booleovih funkcija za kriptografske postupke Marina Krček Zagreb, lipanj 2015. Zahvala Ovaj rad izrađen je
Више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
Више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,...,
Више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: -
ВишеFunkcionalna specifikacija za provođenje elektroničkog glasovanja
1/19 Stranica 1 2/19 Sadržaj 1. Lista skraćenica... 3 2.... 4 2.1 Pristup glasačkoj aplikaciji... 4 2.1.1 Prava pristupa... 4 2.1.2 Pristup uvodnom ekranu sustava evote... 5 2.1.3 Informacije o sustavu
Више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
ВишеEUROPSKA KOMISIJA Bruxelles, C(2018) 3697 final ANNEXES 1 to 2 PRILOZI PROVEDBENOJ UREDBI KOMISIJE (EU) /... o izmjeni Uredbe (EU) br. 1301
EUROPSKA KOMISIJA Bruxelles, 13.6.2018. C(2018) 3697 final ANNEXES 1 to 2 PRILOZI PROVEDBENOJ UREDBI KOMISIJE (EU) /... o izmjeni Uredbe (EU) br. 1301/2014 i Uredbe (EU) br. 1302/2014 u pogledu odredaba
ВишеPowerPoint Presentation
Колоквијум # задатак подељен на 4 питања: теоријска практична пишу се програми, коначно решење се записује на папиру, кодови се архивирају преко сајта Инжењерски оптимизациони алгоритми /3 Проблем: NLP:
Више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
ВишеDrugi kolokvij iz predmeta Operacijski sustavi 2. srpnja Napomene: PISATI ČITKO! Zadatke 7-10 rješavati na ovom papiru ili uz njih napisati "na
Drugi kolokvij iz predmeta Operacijski sustavi 2. srpnja 2019. Napomene: PISATI ČITKO! Zadatke 7-10 rješavati na ovom papiru ili uz njih napisati "na papirima". 1. (2) Opisati pristupni sklop za izravni
ВишеTolerancije slobodnih mjera ISO Tolerancije dimenzija prešanih gumenih elemenata (iz kalupa) Tablica 1.1. Dopuštena odstupanja u odnosu na dime
Tolerancije dimenzija prešanih gumenih elemenata (iz kalupa) Tablica 1.1. Dopuštena odstupanja u odnosu na dimenzije Dimenzije (mm) Klasa M1 Klasa M2 Klasa M3 Klasa M4 od NAPOMENA: do (uključujući) F C
ВишеPROGRAMIRANJE Program je niz naredbi razumljivih računalu koje rješavaju neki problem. Algoritam je postupak raščlanjivanja problema na jednostavnije
PROGRAMIRANJE Program je niz naredbi razumljivih računalu koje rješavaju neki problem. Algoritam je postupak raščlanjivanja problema na jednostavnije korake. Uz dobro razrađen algoritam neku radnju ćemo
ВишеSlide 1
Kako jednostavnije preći na višu verziju Formsa Ivan Lovrić, Vedran Latin 14.10.2009. Sadržaj prezentacije Predmet migracije Razlozi za migraciju Infrastruktura potrebna za migraciju Pilot migracija Migracija
ВишеPodružnica za građenje
Dodatak A OPIS USLUGA DODATAK A-1 PROJEKTNI ZADATAK Revizija scenarija i algoritama Regionalnih centara za nadzor i upravljanje prometom na autocestama Zagreb, srpanj 2019. 1. Uvod Sve veći porast prometa
ВишеVjezbe
SOFTVERSKO INŽENJERSTVO Vježbe 8: Activity dijagrami Robert Manger Sveučilište u Zagrebu PMF-Matematički odsjek Akademska godina 2018/2019. Sadržaj Vježbi 8 Općenito o activity dijagramima Aktivnosti,
ВишеLorem ipsum dolor sit amet lorem ipsum dolor
Početna prezentacija za korisnike Ključna aktivnost 1: Mobilnost u svrhu učenja: Razmjene mladih i Mobilnost osoba koje rade s mladima Završno izvješće Mobility tool Projektni ciklus Završno izvješće 1.
ВишеMicrosoft Word - V03-Prelijevanje.doc
Praktikum iz hidraulike Str. 3-1 III vježba Prelijevanje preko širokog praga i preljeva praktičnog profila Mali stakleni žlijeb je izrađen za potrebe mjerenja pojedinih hidrauličkih parametara tečenja
ВишеШкола Ј. Ј. Змај Свилајнац МЕСЕЧНИ ПЛАН РАДА ЗА СЕПТЕМБАР Школска 2018 /2019. Назив предмета: Информатика и рачунарство Разред: 5. Недељни број часова
Школа Ј. Ј. Змај Свилајнац МЕСЕЧНИ ПЛАН РАДА ЗА СЕПТЕМБАР јединице 1. 1. Увод у информатику и рачунарство 1. 2. Oрганизација података на рачунару 1. 3. Рад са текстуалним документима 1. 4. Форматирање
ВишеULOGA KONTROLE KVALITETE U STVARANJU INFRASTRUKTURE PROSTORNIH PODATAKA Vladimir Baričević, dipl.ing.geod. Dragan Divjak, dipl.ing.geod.
ULOGA KONTROLE KVALITETE U STVARANJU INFRASTRUKTURE PROSTORNIH PODATAKA Vladimir Baričević, dipl.ing.geod. Dragan Divjak, dipl.ing.geod. Sadržaj NIPP STANDARDI KONCEPT KONTROLE KVALITETE PROCES KONTROLE
ВишеMicrosoft Word - CCERT-PUBDOC doc
Analiza Qchain programskog paketa CCERT-PUBDOC-2003-02-04 Sigurnosni problemi u računalnim programima i operativnim sustavima područje je na kojem CARNet CERT kontinuirano radi. Rezultat toga rada ovaj
ВишеDUBINSKA ANALIZA PODATAKA
DUBINSKA ANALIZA PODATAKA () ASOCIJACIJSKA PRAVILA (ENGL. ASSOCIATION RULE) Studeni 2018. Mario Somek SADRŽAJ Asocijacijska pravila? Oblici učenja pravila Podaci za analizu Algoritam Primjer Izvođenje
ВишеОрт колоквијум
Испит из Основа рачунарске технике - / (6.6.. Р е ш е њ е Задатак Комбинациона мрежа има пет улаза, по два за број освојених сетова тенисера и један сигнал који одлучује ко је бољи уколико је резултат
ВишеKako postupiti u slučaju prekida internet veze i nemogućnosti fiskaliziranja računa? U slučaju da dođe do prekida internet veze fiskalizacija računa n
Kako postupiti u slučaju prekida internet veze i nemogućnosti fiskaliziranja računa? U slučaju da dođe do prekida internet veze fiskalizacija računa neće biti moguća sve do ponovnog uspostavljanja internet
ВишеSveučilište u Zagrebu Fakultet prometnih znanosti Zavod za inteligentne transportne sustave Katedra za primijenjeno računarstvo Vježba: #7 Kolegij: Ba
Sveučilište u Zagrebu Fakultet prometnih znanosti Zavod za inteligentne transportne sustave Katedra za primijenjeno računarstvo Vježba: #7 Kolegij: Baze podataka Tema: Osnovna SELECT naredba Vježbu pripremili:
ВишеČesto postavljana pitanja u programu OBRT 1. Kako napraviti uplatu u knjizi tražbina i obveza? 2. Kako odabrati mapu/disk za pohranu podataka? 3. Kako
Često postavljana pitanja u programu OBRT 1. Kako napraviti uplatu u knjizi tražbina i obveza? 2. Kako odabrati mapu/disk za pohranu podataka? 3. Kako instalirati (novi) finin certifikat? 4. Kako ispisati
Више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 = +
Више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
Више(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.
ВишеSVEUČILIŠTE U ZAGREBU FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA ZAVRŠNI RAD br.349 SIMBOLIČKO DERIVIRANJE UZ POMOĆ GENETSKOG PROGRAMIRANJA Luka Donđivić Z
SVEUČILIŠTE U ZAGREBU FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA ZAVRŠNI RAD br.349 SIMBOLIČKO DERIVIRANJE UZ POMOĆ GENETSKOG PROGRAMIRANJA Luka Donđivić Zagreb, lipanj, 2008. Sadržaj Uvod...1 Genetsko programiranje...2
ВишеVALIDNOST CERTIFIKATA ZA PRISTUP INTERNET APLIKACIJAMA POREZNE UPRAVE FEDERACIJE BOSNE I HERCEGOVINE (npis I ejs)
VALIDNOST CERTIFIKATA ZA PRISTUP INTERNET APLIKACIJAMA POREZNE UPRAVE FEDERACIJE BOSNE I HERCEGOVINE (NPIS I EJS) POREZNA UPRAVA FEDERACIJE BOSNE I HERCEGOVINE Sektor za informacione tehnologije Sarajevo,
Више1. OPĆE INFORMACIJE 1.1. Naziv kolegija Programiranje 1.6. Semestar Nositelj kolegija dr.sc. Bruno Trstenjak, v. pred Bodovna vrijednost
1. OPĆE INFORMACIJE 1.1. Naziv kolegija Programiranje 1.6. Semestar. 1.. Nositelj kolegija dr.sc. Bruno Trstenjak, v. pred. 1.7. Bodovna vrijednost (ECTS) 7 1.3. Suradnici 1.8. Način izvođenja nastave
ВишеSveučilište J.J. Strossmayera Fizika 2 FERIT Predložak za laboratorijske vježbe Lom i refleksija svjetlosti Cilj vježbe Primjena zakona geometrijske o
Lom i refleksija svjetlosti Cilj vježbe Primjena zakona geometrijske optike (lom i refleksija svjetlosti). Određivanje žarišne daljine tanke leće Besselovom metodom. Teorijski dio Zrcala i leće su objekti
Више5S prezentacija - za printati bez videa i igre (3)
Lean 5S Anja Štefanić, mag.oec. copyright Što je 5S? Alat Lean menadžmenta Alat koji se čini jednostavan, no mnoga poduzeća ignoriraju baš te osnovne principe Baza uspješne implementacije Fokusira se
Више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
Више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
ВишеNIAS Projekt e-građani KORISNIČKA UPUTA za aplikaciju NIAS Verzija 1.1 Zagreb, srpanj 2014.
Projekt e-građani KORISNIČKA UPUTA za aplikaciju Verzija 1.1 Zagreb, srpanj 2014. Naslov: Opis: Korisnička uputa za aplikaciju Dokument sadrži upute korisnicima aplikacije u sustavu e-građani Ključne riječi:
ВишеAnnex III GA Mono 2016
PRILOG III. FINANCIJSKA I UGOVORNA PRAVILA I. PRAVILA KOJA SE PRIMJENJUJU NA PRORAČUNSKE KATEGORIJE NA TEMELJU JEDINIČNIH DOPRINOSA I.1. Uvjeti prihvatljivosti jediničnih doprinosa Ako se bespovratna sredstva
ВишеMože li učenje tablice množenja biti zabavno?
Mogu li besplatne igre na tabletima potaknuti učenike na učenje tablice množenja i dijeljenja? Sanja Loparić, prof. matematike i informatike Tehnička škola Čakovec Rovinj, 11.11.2016. Kad djeca nisu u
ВишеSadržaj 1 Diskretan slučajan vektor Definicija slučajnog vektora Diskretan slučajan vektor
Sadržaj Diskretan slučajan vektor Definicija slučajnog vektora 2 Diskretan slučajan vektor Funkcija distribucije slučajnog vektora 2 4 Nezavisnost slučajnih vektora 2 5 Očekivanje slučajnog vektora 6 Kovarijanca
ВишеPowerPoint Presentation
Prof. dr Pere Tumbas Prof. dr Predrag Matkovid Identifikacija i izbor projekata Održavanje sistema Inicijalizacija projekata i planiranje Implementacija sistema Dizajn sistema Analiza sistema Faze životnog
Више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
ВишеeOI Middleware Upute za instalaciju
AKD eid Middleware Upute za Windows instalaciju V1.1 www.id.hr Izdanje Datum Opis izmjene 1.0 09.06.2017. Inicijalna verzija dokumenta. 1.1 30.08.2018. Izmjena vizualnog identiteta Sadržaj Instalacija...
ВишеNAZIV PREDMETA OBLIKOVANJE WEB STRANICA Kod SIT132 Godina studija 3. Bodovna vrijednost Nositelj/i predmeta Haidi Božiković, predavač 6 (ECTS) Suradni
NAZIV PREDMETA OBLIKOVANJE WEB STRANICA Kod SIT132 Godina studija 3. Bodovna vrijednost Nositelj/i predmeta Haidi Božiković, predavač 6 (ECTS) Suradnici Status predmeta Ciljevi predmeta Uvjeti za upis
Више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
ВишеElementi praćenja i ocjenjivanja za nastavni predmet Matematika u 4. razredu Elementi praćenja i ocjenjivanja za nastavni predmet Matematika u 4. razr
Elementi praćenja i ocjenjivanja za nastavni predmet Matematika u 4. razredu ODLIČAN (5) navodi primjer kuta kao dijela ravnine omeđenog polupravcima analizira i uspoređuje vrh i krakove kuta analizira
ВишеToplinska i električna vodljivost metala
Električna vodljivost metala Cilj vježbe Određivanje koeficijenta električne vodljivosti bakra i aluminija U-I metodom. Teorijski dio Eksperimentalno je utvrđeno da otpor ne-ohmskog vodiča raste s porastom
ВишеSVEUČILIŠTE U ZAGREBU SVEUČILIŠNI RAČUNSKI CENTAR UVJETI KORIŠTENJA USLUGE EDUADRESAR Zagreb, kolovoz 2013.
SVEUČILIŠTE U ZAGREBU SVEUČILIŠNI RAČUNSKI CENTAR UVJETI KORIŠTENJA USLUGE EDUADRESAR Zagreb, kolovoz 2013. S A D R Ž A J 1. TEMELJNI POJMOVI... 4 2. OPSEG I NAMJENA USLUGE... 4 3. PRAVA I OBVEZE SRCA...
Више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
ВишеMicrosoft PowerPoint - LB7-2_WCCF_2010.ppt
WinCC flexible alat za konfiguriranje HMI na operaterskom panelu Praktikum automatizacije LB7-2 Pregled predavanja WinCC flexible izgled, organizacija, princip rada Primjer Praktikum automatizacije --
Више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
ВишеNastavna cjelina: 1. Jezik računala Kataloška tema: 1.1. Bit 1.2. Brojevi zapisani četvorkom bitova Nastavna jedinica: 1.1. Bit 1.2. Brojevi zapisan
Nastavna cjelina: 1. Osnove IKT-a Kataloška tema: 1.6. Paralelni i slijedni ulazno-izlazni pristupi računala 1.7. Svojstva računala Unutar računala podatci su prikazani električnim digitalnim signalima
ВишеMicrosoft PowerPoint - vezbe 4. Merenja u telekomunikacionim mrežama
Merenja u telekomunikacionim mrežama Merenja telefonskog saobraćaja Primer 1 - TCBH Na osnovu najviših vrednosti intenziteta saobraćaja datih za 20 mernih dana (tabela), pomoću metode TCBH, pronaći čas
ВишеInfokup - Školsko Osnovne škole Algoritmi BaPaCpp
21.. siječnja 2013.. od 1:30 do 16:30 Školsko natjecanje / Algoritmi (Basic/Pascal/C/C++) Sadržaj Zadaci... 1 Zadatak: Napolitanke... 2 Zadatak: Peking... 3 Zadatak: Joker... Zadaci U tablici možete pogledati
ВишеUvod u računarstvo 2+2
Programiranje 2 doc.dr.sc. Goranka Nogo PMF Matematički odsjek, Zagreb Kontakt ured: 228, drugi kat e-mail: nogo@math.hr konzultacije: četvrtak, 12:00-14:00 petak, 11:00-12:00 neki drugi termin, uz prethodni
ВишеMicrosoft Word - IP_Tables_programski_alat.doc
1. IP Tables alat (pregled naredbi) 1.1. Osnovne IP Tables naredbe za filtriranje paketa U ovom poglavlju opisane su osnovne IP Tables naredbe korištene za filtriranje paketa. S programskim paketom IP
ВишеP11.3 Analiza zivotnog veka, Graf smetnji
Поједностављени поглед на задњи део компајлера Међурепрезентација (Међујезик IR) Избор инструкција Додела ресурса Распоређивање инструкција Инструкције циљне архитектуре 1 Поједностављени поглед на задњи
Вишеknjiga.dvi
1. Vjerojatnost 1. lgebra dogadaja......................... 1 2. Vjerojatnost............................. 9 3. Klasični vjerojatnosni prostor................. 14 4. eskonačni vjerojatnosni prostor...............
ВишеKATALOG ZNANJA IZ INFORMATIKE
KATALOG ZNANJA IZ INFORMATIKE Nacionalni savjet za obrazovanje je na 27. sjednici održanoj 17. marta 2014. godine utvrdio izmjene predmetnoga programa INFORMATIKA za I razred gimnazije. Na zahtijev Pedagoško-psihološke
ВишеDrveta odlucivanja - algoritmi
Nenad Mitić Matematički fakultet nenad@matf.bg.ac.rs Uvod Algoritmi (Iterative Dichotomiser 3) C5.0 (Classification And Regression Trees) (CHi-squared Automatic Interaction Detection) Exhaustive (Quick,
ВишеMicrosoft PowerPoint - Programski_Jezik_C_Organizacija_Izvornog_Programa_I_Greske [Compatibility Mode]
Programski jezik C organizacija izvornog programa Prevođenje Pisanje programa izvorni program Prevođenje programa izvršni program Izvršavanje programa rezultat Faze prevođenja Pretprocesiranje Kompilacija
Више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
ВишеNAZIV PREDMETA ISTRAŽIVANJE TRŽIŠTA Kod Godina studija 2. Nositelj/i Danijela Perkušić Malkoč Bodovna vrijednost 6 predmeta (ECTS) Suradnici Status pr
NAZIV PREDMETA ISTRAŽIVANJE TRŽIŠTA Kod Godina studija 2. Nositelj/i Danijela Perkušić Malkoč Bodovna vrijednost 6 predmeta (ECTS) Suradnici Status predmeta Ciljevi predmeta Uvjeti za upis predmeta i ulazne
ВишеOptimizacija
Optimizacija 1 / 43 2 / 43 Uvod u optimizaciju Zadana funkcija Uvod u optimizaciju f : R n R Cilj: Naći x, točku minimuma funkcije f : - Problem je jednostavno opisati x = arg min x R n f (x). - Rješavanje
ВишеMicrosoft PowerPoint - LB7-2_WCCF_2012.ppt
Praktikum automatizacije ak.g. 2011/2012 Laboratorijski blok 7 (Interaktivna vježba) LB7-2 Konfiguracija sučelja čovjek-stroj na operaterskom panelu unutar programskog paketa Step7 WinCC Flexible Četvrtak,
ВишеP1.3 Projektovanje makroasemblera
ПРОЈЕКТОВАЊЕ МАКРОАСЕМБЛЕРА Макроасемблер Потребна проширења асемблера 1 МАКРОАСЕМБЛЕР Макроасемблер преводи полазни програм написан на макроасемблерском језику у извршиви машински програм. Приликом израде
Више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
Више