Matematika odabrana poglavlja konačno u digitalnoj formi


Naslovna stranica MATEMATIKAU nekoliko blog postova objavljivao sam dio tekstova iz matematike kojeg sam davno pisao (1996. god), većinom uz svijeću jer prošlo je nekoliko mjeseci od prestanka rata, dok se uspostavio elekto-prenosni sistem. Nažalost sva planirana poglavlja nisam napisao, šteta, jer danas se ne mogu vratiti u tu furku koju sam tada furo, pa nastaviti ovo po meni vrlo korisno djelo pisati. Po reakcijama koji su mi prijatelji i rijetki čitaoci davali, nije izgledalo loše. Isto tako, od kako sam objavio prve stranice  teksta na blogu, post se jako puno čita što potkrepljuju i statistike koje pratim na blogu. Isto tako u rubrici “Naj postovi” svi mogu vidjeti da se tu konstantno nalaze članci o matematičkoj indukciji. Danas sam konačno završio naslovnu stranu, i otkucao sav tekst koji planiram objaviti. Ostalo je jedno nedovršeno poglavlje koje sam odlučio da ga ne uključujem. Naslovnu stranu koju sam osmislio, sproveo je u djelo moj prijatelj Almir Štrkljević oko 1997 godine.

Naime, kod naslovne strane imao sam ideju da prikažem karikaturu Newtona i famozne jabuke, kao i karikaturu integrala \int f(x) dx. Svojom nadarenošću i sklonošću za crtanjem stripova i karikatura Almir je to vrlo zdušno prihvatio i potrudio se da onako, kako sam zamislio da to i nacrta. Ovom prilikom mu se od srca zahvaljujem.

Tekst sam prekucao i  nije prošao lekturu i korekcije pa sam svjesan da sadrži puno kako kucanih tako i gramatičkih grešaka. Pokušaću ih ispraviti prije nego što cijelokupni tekst stavim za download.

U ovom sabranom radu nalaze se tri poglavlja i to : Matematička indukcija, Funkcije i Izvodi. Knjiga sadrži oko 100 stranica A4 formata i veličine fonta 11.

U koliko nađete za shodno da vam može poslužiti ova knjiga slobodno je komentirajte i dajte svoje sugestije i primjedbe. Nažalost, ne namjeravam ovu knjigu obrađivati ponovo odnosno pisati naredno izdanje, jedini cilj mi je bio pretvoriti je u digitalnu formu.  Cjelokupan tekst može se pogledati ovdje.

Na kraju nekoliko fotografija rukopisa:

IMAG1022IMAG1023IMAG1024IMAG1028

Advertisements

Šta se dešavalo na prvom sastanku Bihac.NET User grupe


IMAG0977Na samom početku ovog posta moram priznati da organizovanje sastanaka nije nimalo jednostavna rabota, otud skidam kapu Damiru i drugim leaderima user grupa kako u Bosni i Hercegovini tako i šire. U Bihaću je ovog četvrtka to bilo posebno jer se radilo o prvom zvaničnom sastanku, a drugom po redu, jer smo u maju ove godine imali inicijalni sastanak.

IMAG0980Imao sam skoro mjesec dana do sastanka, tako da sam skoro pa spamovo informaciju o sastanku na FB, Twitteru, kafićima mahalama i sl. Džaba ti sve ali niko ni da trepne, javiše se nekoliko mojih kolega i kad sam na kraju prebrojao i oduzeo one što i kad kazu da će doći 100% ne dođu, ostade 11 posjetilaca uključujući i gosta i domaćina. Ali rekoh kad u Sarajevu ne dođe 20 ljudi onda u Bihaću ovih 11 i previše.

Za ovaj prvi sastanak pozvao sam Dragana, rekoh Dragane spašavaj situaciju i nafali, laži petljaj samo da uspijemo malo probuditi zainteresiranost ljudi u Bihaću oko tema koje im sutra mogu biti kruh, kako  za njih tako i za njihovu familiju.I fakat prevalivši više od 1000 km (nije da se sad ulizivan i hvalim Smile) Dragan je tačno u pola 3 došao u Bihać. Vidno umoran jer putuje iz Bijeljine (uvijek izostavljam ovo i  kod ovog grada neznam zašto, pa moram posebno pratiti kako ga pišem), u kojoj je dan prije držao također sastanak Bijeljniske user grupe, bio je odlučan da izvuče situaciju i u Bihaću :).

I ored toga što sam pretpostavio kako će se stvari odvijati na sastanku, ipak ništa se nije odvijalo onako kako sam zamislio jer je umjesto 11 ljudi koji su se prijavili na predavanje došlo njih blizu 25, što mi u jednom trenutku vrati osmijeh na lice, da se ne osramotim pred gostom koji prevali 1000 km. Nako početnih stresova i 20-tak telefonski poziva sa upitima gdje se nalazi taj edukativni centar, evo mene nema nikoga, i sličnih ubadanja konačno i započe prvi tako očekivani sastanak.

IMAG0983I dok se Dragan pripremao za prezentaciju, nisam ni vidio da je počeo prezentaciju otvorivši notepad sa tekstom gdje radi (to svi znaju jer stim sam ih navlačio da dođu), mail adresom i  web stranicom MSCommunityBiH. E onda sam već bio svjestan da se ovo odvija u potpuno drugom smijeru. Malo zatim otvori Dragan Powerpoint, i poče rešetati po LightSwitchu, WebMatrixu i Windows Phone 7-mici. Kad poče ovo zadnje reko “ustavi de nešto i meni ostavi”.

Na kraju i domaćina zapade nešto da kaže na ovom sastanku, prvi demo otključani Windows Phone Emulator, skinut sa rapidshare, za kojeg sam ranije rekao da ne pokušavaju kod kuće jer nije baš 100% legalno, tek se sad Dragan poče preznojavati šta će ovaj do kraja sastanka još pokazati.

Na kraju podijelismo skromne poklone prisutnim jednu MSPress knjigu, svakome svesku, nešto naljepnica i prospekata. Dovoljno dok ne dođe Kits koji sam naručio.

Šalu na stranu prvi sastank prođe u vrlo dobroj atmosferu sa posjetom više od oečekivanog, te vidno zainteresiranim gledateljima sa sastanka. Obećaše doći za mjesec dana na live prenos keynotea iz Redmonda. Dobih obećanja od nekih da bi prezentaciju bili voljni spremiti.

Nakon sastanka Dragan i ja odosmo, ……. ovo je već druga tema pa možda se u jednom budućem blog postu i napiše šta to bi poslije sastanka Smile.

MobilityDay 2010 reportaža


I ove godine održavala se konferencija MobilityDay u Zagrebu. Za magazin itpro.ba, napisao sam kratku reprtažu o ovoj konferenciji pa je možete pogledati na ovom linku.

Evo i par slika sa konferencije.

Ovo rotiranje slika radi Live Writter 2011 betaSmile

S desna na lijevo Spaso Lazarević (Bjeljina UG), Damir Dizdarevic (MSCommunityBiH), Bahrudin Hrnjica (Bihac UG)

S desna na lijevo Spaso Lazarević (Bjeljina UG), Damir Dizdarevic (MSCommunityBiH), Bahrudin Hrnjica (Bihac UG)


Terasa hotela s kojeg se radila milenijska slika konferencije

Terasa hotela s kojeg se radila milenijska slika konferencije


Hostese konferencije

Hostese konferencije


Predavanje na MobilityDay

Predavanje na MobilityDay


Nagrade na konferenciji

Nagrade na konferenciji


Damir Dobrić (MVP,Daenet), Jose Luis Latorre (MVP,Brainsiders)

Damir Dobrić (MVP,Daenet), Jose Luis Latorre (MVP,Brainsiders)


Damir Dobrić u žaru predavanja

Damir Dobrić u žaru predavanja


Ilija Brajković Split UG Leader (u sredini)

Ilija Brajković Split UG Leader (u sredini)

IMAG0831

4 godine pisanja bloga


Možda jedna digresija od svih dosadašnjih postova u kojima sam pokušavao više pisati o tehničkim stvarima, a manje o sebi. Na današnji dan tačno prije 4 godine objavio sam prvi blog post. Ovo je jedan popriličan dug period kontinuiranog pisanja bloga, u slobodno vrijeme, čisto iz zabave i znatiželje te želje za prenošenjem znanja. Obzirom da nisam vičan ‘peru’ (što bi neki rekli), pokušao sam dati sve od sebe da postovi budu razumljivi i interesantni ljudima koji ga čitaju. Prateći statistike bloga u tome sam većim dijelom uspio. Pored komentara dosta mailova sam dobio sa pohvalama i sugestijama na blogu. I ovom prilikom se zahvaljujem svima njima.

Prvi blog post sam objavio na http://www.blog.ba, koji je već u to vrijeme bio u ograničenom režimu rada i počeo se gasiti. Nakon nekoliko mjeseci, prebacio sam blog postove na drugi server.

Krajem 2006 i početkom 2007 godine blog sam prebacio na googlov Blogger, i tamo se održao do kraja 2007 godine, gdje sam već krajem godine počeo pisati blog i na mscommunity.ba, kojeg do danas paralelno pišem.

U tom periodu pokušao sam blog sa blogger.com prebaciti na blogspot.ba- blog server koji je pokrenuo bhtelekom, ali malo zatim se i taj server ugasio.

2008  godine blog sam pisao na, vlastitoj domeni u sklopu ADSL paketa, sa instaliranim wordpress blog aplikacijom. Obzirom da sam imao problema sa hostingom gdje mi svako malo bila stranica nedostupna, odlučio sam prebaciti blog na wordpress.com.

Blog na kojem se danas nalaze svi moji postovi objavljeni ovih 4 godine je  bhrnjica.wordpress.com, koja je po meni do sada najbolji izbor.

Pored blog postova sa temama iz programiranja matematike i evolucijskih algoritama, blog sadrži i dio sadržaja za studente Biotehničkog fakulteta, koji slušaju vježbe iz predmeta Osnove mašinstva i inženjerstva. U toj sekciji također se ostavljaju sadržaji vezanih za kolokvije, seminarske i grafičke radove, kao i rezutate ispita.

Sadržaj vezan za moje studentske dane također je popularan, jer se tamo mogu naći zanimljivi sadržaji iz programiranja u FORTRANU i C++, CAD/CAM, nekoliko stručnih radova, skripta za korištenja iz AutoCAD, napisana davne 1998 godine, diplomski rad i sl.

Postovi oko matematičke indukcije su uvod u cjelokupni tekst iz Matematike kojeg sam napisao 1996 godine, a koji pored matematičke indukcije obuhvata poglavlja o derivaciji, elementarnim funkcijama te redovima i nizovima. Nadam se da ću ovaj sadržaj koji ima oko 200-tinjak stranica pokušati pretvoriti u digitalnu formu, te dio objaviti ovdje.

Namjera mi je da nastavim što češće da pišem, sa što više raznovrsnijih blogpostova iz već viđenih tema .NET tehnologija, evolucijskih algoritama i dr.

Ugodni preostali ljetni dani.

Kako se osnovala Unija studenata Univerziteta u Bihaću (USUB) prije 12 godina


Prije nekoliko dana (20. Maja) prošlo je punih 12 godina o osnivanja USUB-a, organizacije studenata Univerziteta u Bihaću. USUB je formirana odmah nakon formiranja Univerziteta u Bihaću 1998. godine a djelo je nekolicine studenata koji su budućim generacijama ostavili organizaciju u amanet. USUB koliko vidim i danas djeluje na Univerzitetu i nije prekidala svoj rad. Poslije 12. godina prisjetimo se kako se formirala USUB i ko su bili studentai koji su je formirali.

Po završetku rata, tačnije u martu mjesecu 1996. god  formira se prvi fakultet na USK  Mašinski fakultet pod Univerzitetom u Sarajevu. U to vrijeme egzistirala je Viša ekonomska, Pedagoška akademija te Islamska pedagoška akademija. Po samom formiranju Mašinskog fakulteta formira se prva studentska organizacija na USK: Asocijacija studenata Mašinskog fakulteta. Ti prvi koraci organizovanja studenata bili su teški i spori. U organizaciji radilo je nekoliko studenata, a malo zatim ekipa se raspala i organizacija prestaje da radi sve do početka nove školske godine, kada organizacija ponovo staje na noge i počinje svoje pravo djelovanje. Njeni najznačajniji projekti su organizovanje nekoliko turnira ( Bajramski, Dan državnosti sl.). Prvi projekat koji je ova organizacija realizirala je organizovanje svestudentske večeri. Ovo veče druženje svih studenata Univerziteta u Bihaću postalo je tradicija i održava se svake godine u novembru mjesecu. Po formiranju Unije studenata organizacija ove večeri prelazi pod organizaciju Unije. U periodu od kraja rata do marta 1998. god samo se na Višoj ekonomskoj školi pokušalo organizirati asocijacija studenata, ali bezuspješno.
Na Skupštini USK u julu mjesecu 1997. god donesena je odluka o formiranju Univerziteta u Bihaću za čijeg je rektora izabran prof. Ismet Kasumagić. Od samog formiranja Univerziteta stvarala se slika o formiranju jedne krovne studentske organizacije na nivou Univerziteta. Tako je 27.03.1998. god. konstituiran Inicijativni odbor Unije studenata na njegovoj prvoj sjednici koja se održala u Rektoratu.
Zapisnik sa konstituirajuće sjednice
Na prvoj konstituirajućoj sjednici za predsjednika Inicijativnog odbora izabran je jednoglasno Hrnjica Bahrudin student mašinskog fakulteta.
Zadatak ovog odbora je bio težak i složen. Sastojao se u pripremanju svih predradnji za održavanje Osnivačke skupštine. Trebalo je na svim fakultetima formirati Asocijacije fakulteta i viših škola, napraviti spiskove prijedloga za članove u skupštini i članove u ostale organe Unije. Ideja od samog početka rada Inicijativnog odbora bila je da se stvori studentska organizacija takva da ima sve svoje organe koji će sa prave strane opravdati organizaciju kao Udruženje građana. Ovakva struktura naše organizacije je jedinstvena u BiH. Slične organizacije ima još samo Univerzitet u Ljubljani. Studentska organizacija koja ima svoj Parlament i druge pravne organe kazuje o visokom  stepenu organizovanja.
20.05.1998. god.  u 10.00. održana je prva Osnivačka skupština Unije studenata Univerziteta u Bihaću. Osnivačka skupština je održana na Islamskoj pedagoškoj akademiji. Na skupštini su prisustvovali brojni gosti:
– Dekani viših škola i fakulteta
– Rektor i Generalni sekretar Univerziteta.
– Predstavnici ministarstva obrazovanja i drugi gosti iz privrednog i političkog života.
Na skupštini je usvojen plan rada i Statut Unije studenata. Osnivanje Unije studenata pozitivno je ocijenjeno od svih relevantnih faktora Kantona. Statut i Program rada Uniju proglašava kao nevladiniu i van stranačku organizaciju koja se bavi isljučivo studentskim problemima.
Akt odluke o osnivanju koji je deponovan u sudu pri registraciji udruženja
Aktivnosti Unije studenata od Osnivačke skupštine do kraja 1998. godine protekle su, ako se uzme generalno, u struktuiranju Unije kao organizacije i ostvarivanje kontakata. Protekli period može se podijeliti na dva dijela:
– Period ostvarivanja kontakata s drugim studentskim organizacijama
– period struktuiranja odnosno djelovanja Unije
Kontakti Unije ostvareni su sa gotovo sve i jednom studentskom organizacijom u BiH. Na Mašinijadi –druženju Mašinskih fakulteta, održanom 28,29,30 maja 1998. god. ostvareni su kontakti sa Udruženjem studenata fakulteta u Zenici, gdje se dogovaralo o uspostavljanju radio mostova između ove dvije organizacije. U tom pogledu razgovaralo se i o nedostacima prve mašinijade i pripremama za sljedeću koja će se održati u našem gradu, dje će Unija uzeti značajno mjesto u organizaciji. Razmatrala se ideja o organiziranju turnira pojedinih fakulteta, posjetama, druženjima studenata na jezeru Modrac, koje je u organizaciji Univerziteta u Tuzli i sl. Na Mašinijadi je ostvarena saradnja sa Unijom studenata Univerziteta u Mostaru, kojom prilikom je predsjednik Unije studenata Mostara izrazio želju da nam besplatno otštampa prvi broj našeg lista.
Kontakti i saradnja sa Unijom studenata BiH, kao krovne organizacije, bio je prioritetan zadatak. Unija studenata BiH sa respektom je primila osnivanje naše organizacije, jer smo prva organizacija koja  je pravno ragistrovana kao Udruženje građana. Unija studenata BiH dala nam je jedno mjesto u delegaciji BiH studeneta za put u Portugal na najveći svjetski festival mladih, koji je održan 2-10 avgusta 1998. god.
Početak školske 1998/99 godine imao je za cilj ostvarivanje druge faze razvoja i
djelovanja Unije. Između ostalog formirane su sljedeće radne grupe:
Radna grupa za medije (Mirela Sejfović) – ova radna grupa iza sebe ima 3 mjeseca kontinuiranog rada. Iznajmljen je termin na radiju USK petkom od 20-21 sat. Emisija se zove “Sudentska služba”.
Radna grupa za novinarstvo ( Čolić Armin) – ova grupa je izvršila skoro sve pripremne radne za štampanje prvog broja studentskih novina.Početak nove godine planiran je kao rok za realizaciju ovog lista.
Radna grupa za zabave, kulturu (Jakupović Sanel)ova grupa je odradila II tradicionalno sve studentsko veče 28.11.1998. god. u hotelu SEDRA.
Radna grupa za sport ( Kurtagić Anel) – ova grupa stara se o pripremanju Univerzitetske lige i turnira kojeg planiramo za Kurban Bajram.
Radna grupa za koordinaciju sa Asocijacijama ( Alen Huskić) – ova grupa koordinira sa Asocijacijama i učestvuje u organiziranju i struktuiranju Asocijacija. Ova grupa radila je na izmjeni Statuta i strukture Unije formiranjem novih fakulteta. Ova grupa formirala je jedinstveni cijenik plaćanja studentskih participacija .
……

Genetic programming – Genetsko programiranje (GP)


Pojam “Genetsko programiranje” za čitaoce koji nisu upućeni u ovu temu pomisliće da se radi o nekakvom genetskom inžinjeringu, kloniranju i svim onim temama koji su vezani za genetiku. Međutim, nije tako. Genetsko programiranje je prvenstveno inženjerska metoda koja rješava određene probleme iz domena statistike, modeliranja inženjerskih problema, i šire. Metoda se široko koristi od komponovanja muzike do izračunavanja određenih kalkulacija u istraživanju svemira. Moje prvo upoznavanje sa Evolucijskim algortmima bilo je prošle godine na predavanju u sklopu postdiplomskom studijia na Tehničkom fakultetu u Bihaću. Iskreno na početku sam bio zbunjen, a malo kasnije definitivno odlučio primjenjivati tamo gdje god je to efikasno i provodljivo.

Naime o čemu se radi…

Sredinom 60-tih godina profesor Holland je prvi razvio metodu rješavanja problema optimizacije genetskim algoritmom. Njegov student Goldber razvio je i usavršio metodu za rješavanje kompleksnih problema optimizacije. 1989 godine Goldber objavljuje knjigu koja se poslije javlja kao inspiracija i startna tačka skoro svih metoda razvijenih na bazi evolucijskog programiranja.

Kroz primjer pokušat ćemo da objasnimo osnove Genetskog algoritma kao preteče genetskog programiranja. Na primjer, posmatrajmo funkciju y=f(x). Kad postavimo problem određivanja optimuma ove funkcije, prvo što nam na um pada je da izračunamo derivaciju funkcije, te izjednačimo je s nulom i riješimo matematičku jednačinu. Međutim, šta ako funkcija nije derivabilna, odnosno neprekidna u nekom intervalu (što je čest slučaj realnih procesa), šta ako ona ima više od 3 nezavisno promjenjive. U tom slučaju koristićemo iterativne metode postepenog približavanja datom cilju (jer su jednostavnije i lakše primjenjive pomoću računara). Međutim, za više nezavisnih varijabli (10, 20 pa čak i 100) ovaj problem postaje vrlo složen. Ista je situacija ako je funkcija vrlo kompleksna matematička jednačina. Čak idemo do toga da je funkcija y=f(x), skup diskretnih brojeva, odnosno skup eksperimentalnih podataka. U tom slučaju prstupi ćemo korištenjem regresijske analize i Gausove metode izračunavanja najmanjih kvadrata, prevođenjem eksperimentalnih rezultata u polinomni oblik, te opet tražiti derivaciju polinoma u odredjenom intervalu itd …

Svi navedeni problemi (kod rješavanja optimizacije) upravo su prednosti Genetskog algoritma. Sumiranjem iznesenog možemo navesti prednosti korištenja Genetskog algoritma (GA) i to:

  1. Optimizacija kako kontinualnih tako disketnih varijabli
  2. Neprekidnost funkcije (derivabilnost) nije potreban uslov
  3. Simultano traženje rješenja iz širokog skupa mogućih rješenja, inteligentno približavanje tačnom riješenju
  4. Uspješno se primjenjuje kod velikog broja nezavisno promjenjihvih varijabli
  5. Nema tendenciju padanja u lokalne optimume (veliki problem klasičnih metoda)
  6. Uspješno se primjenjuje nad generiranih podacima – eksperimentalnim ili analitičkih funkcija

A sad malo teorije….

GA počinje definisanjem strukture hromosoma. Ako hromosom ima Nvar (Nvar dimenzionalni optimizacijski problem ) određen sa p1,p2,p3,…,pn, tad se hromosom može odrediti kao vektor od Nvar koordinata:

hromosom=[ p1,p2,p3,…,pn],
gdje je p1,p2, …pn, binarni, cijeli ili realni brojevi koji reprezentiraju (predstavljaju) hromosom.

Npr. ako rješavamo optimizacvijski problem sa dvije nazavisne varijable tada je:
vrijednost=f(hromosom)=f(x,y)

Varijable u GA odnosno hromosome prikazujemo binarno (binarnim brojevima), cijelim ili realnim brojevima. Zavisno od prirode procesa kojeg optimiziramo, primjenjuje se i adekvatan tip hromosoma.

Selekcija je proces kojim se osigurava prenošenje boljeg genetskog materijala iz generacije u generaciju. Postupci selekcije međusobno se razlikuju po načinu odabira hromosoma koji će se prenijeti u sljedeću generaciju.
Prema načinu prenošenja genetskog materijala selekcije se dijele na (slika 3.3):

  • Generacijske selekcije -proces odabire najbolje jedinke i od njih kreira novu generaciju.
  • Eliminacijske selekcije – proces selekcije eliminira najgore jedinke iz te generacije.

Ukrštanje je proces u kojem se od dva roditelja, parenjem njihovih gena, dobiju jedan ili dva hromosoma koji predstavljaju njihovo potomstvo. Ukrštanje u GA pomoću računara uveliko zavisi od tipa hromosoma. Kada je hromosom prikazan u obliku vektora bitova (binarni hromosom) postoji nekoliko načina ukrštanja.

Ukrštanje binarnog hromosoma dijelimo na:

  1. Ukrštanje s jednom tačkom prekida
  2. Ukrštanje s dvije tačke prekida
  3. Jednoliko ukrštanje – provodimo kao logičke operacije nad bitovima, AND, OR, XOR itd. Npr. Ako su roditelji A i B, tada je POTOMAK= A + XOR(A * B).

ukrstanjegena
Ukrštanje hromosoma s jednom tačkom prekida

Mutacija kao i sama pojava u prirodi dovodi do toka da se u hromosomu ili jedinci unosi potpuno novi genetski materijal. Ona uglavnom potpomže da se izbjegne “padanje” u lokalni optimum funkcije cilja. Primjenom mutacija postiže se raznolikost genetskog materijala i omogućava pretraživanje novih – potencijalno najboljih rješenja.

mutacijagena
Mutacija hromosoma predstavljeni binarnim brojevima

Kad svi geni u jednom hromosomu postanu jednaki, vrijednost hromosoma se ne može promijeniti putem ukrštanja, nego mutacijom, gdje se postiže da upravo takvi dijelovi u hromosomu budu promjeni.

Parametri GA odredjuju način evolucije hromosoma u populaciji te njihovim podešavanjem možemo znatno smanjiti vrijeme izvodjenja algoritma, agresivnost s kojom će algoritam konvergirati u optimum.

Parametri GA:

  1. veličina populacije M,
  2. broj iteracija I
  3. vjerojatnost mutacije vm
  4. vjerojatnost ukrštanja vu
  5. metoda selekcije

Ovisno o tipu hromosoma, vrsti selekcije mogu se pojaviti i neki parametri svojstveni npr. binarnom hromosomu kao što je dužina hromosoma, selekcijski pritisak kod turnirske selekcije, itd.

Vjerojatnost mutacije je jedan od najvažnijih parametara optimizacijskog GA, i direktno uslovljava izbjegavanje padanja u lokalni optimum funkcije cilja.

Pored vjerojatnosti mutacije veličina populacije (M) je parametar koji direktno utiče na kvalitet dobijenih rješenja. Medjutim to je i parametar koji naviše utiče na brzinu kompjuterske obrade GA. Ovaj parametar je u direktnoj vezi sa brojem iteracija. Što je veličina populacije manja potrebno je smanjiti i broj iteracija, i obrnuto.

Broj iteracija takodjer utiče na vrijeme obrade algoritmai na kvalitetu dobijenih rješenja. Što je veći broj iteracija to su i rješenja kvalitetnija. Obzirom da je cilj da se za što kraće vrijeme dobiju što kvalitetniji rezultati, cilj svakog istraživanja pomoću GA je da se minimalnim brojem iteracija i veličine populacije dobiju zadovoljavajuća riješenja.

Pokušaja da se parametri GA povežu i formira njihova medjuzavisnost uvijek je rezultirala neuspjehom, te se došlo do činjenice da rješenje jednog problema nema uticaja za rješavanje nekog drugog primjenom istih parametara.

Obzirom da se GA izvodi pomoću računara moguće je da se parametri GA dinamički mjenjaju u toku izvodjenja algoritma, tako da se npr. poslije 500 iteracija mijenjaju parametri GA, ako algoritam nije u tom razmaku ponudio bolje rješenje.

GENETSKO PROGRAMIRANJE

Ideja genetskog programiranja (GP) došla je kao generalizacija GA. Obzirom da u GA vršimo manipulaciju sa hromosomima koji predstavljaju binarne prirodne ili realne brojeve, moguće je formirati hromosome koji predstavljaju kompjuterske programe nad kojim bi vršili operacije ukrštanja i mutacije i tako dolazili do kompjuterskog programa koji bi rješavao odredjeni problem. Ovu metodu prezentirao je John Koza 1990 godine. Slično kao kod GA u GP razvijena je metoda reprezentacije hromosoma.

U GP hromosomi u populaciji su u obliku hiearhijske strukture sastavljani od primitivnih funkcija i terminala za pojedina problemska područja.

Skup primitivnih funkcija od kojih su hromosomu sastavljani čine aritmetičke operacije, matematičke funkcije, bulove logičke operatore i posebne funkcije specifične za pojedine probleme.

Skup terminala koji takodjer čine strukturu hromosoma obično su sastavljani od ulaznih parametara procesa i različitih numeričkih konstanti.

Kompozicija primitivnih funkcija i terminala kao ideja pronadjena je u programskom jeziku LISP, gdje se takve kompozicije nazivaju simbolički izrazi ili S-izrazi. Simbolički izrazi predstavljaju se kao binarno uređeno drvo, gdje je korijen i ostali unutrašnji čvorovi binarnog drveta označeni sa funkcijama, dočim su vanjski čvorovi označeni terminalima. Tako definisan algoritam pretražuje rješenje problema u prostoru svih mogućih kompozicija funkcija, koje se rekurzivo generišu od dostupnih primitivnih funkcija, i terminala.

U GP populacija sastavljenja od hromosoma se razmnožava po Darwinovom principu opstanka i reprodukcija najprilagođenijih; preko genetskog reproduciranja (ukrštanja) operacija prilagodjenih parenju kompjuterskih programa.

GP kao i GA počinje inicijalizacijom početne populacije slučajno odabranim kompjuterskim programima sastavljanim od funkcija i terminala. Svaki kompjuterski program (hromosom) u populaciji evaluira se u smislu kako dobro riješava problem. Analogno GA ovo mjerenje zovemo mjerenje funkcije cilja hromosoma.

Hromosome u GP predstavljamo u obliku binarnog drveta. Korijen i unutrašnji čvorovi sastavljeni su od funkcija dok su vanjski čvorovi sastavljeni od terminala.

Pretpostavimo kompjuterski program (hromosom): (+,(*,a,b),(ln,c)) , njegova reprezentacija predstavljena je na sljedećeoj slici.

gphromosom
Reprezentacija hromosoma u GP (a*b+ln(c))

Program uzima 3 terminala a,b,c i 3 algebarske funkcije sabiranja, množenja, i prirodnog logaritma. Kompjuterski program u prirodnom obliku možemo prikazati kao: a*b+ln(c), gdje su a,b,c ulazni prarametri problema ili slučajno generirane konstante.

U GP kompjuterski programi ukrštaju se shodno Darwinovom principu reprodukcije i opstanka najprilagodjenijih jedinki. Slučajnim odabirom dva kompjuterska programa (hromosoma) iz populacije ukrštamo i na način de se slučajno odabere tačka ukrštanja te se genetski materija razmijeni izmedju roditelja stvarajući na taj način potomke.

Donja slika predstavlja ukrštanje dva kompjuterska programa.

ukrstanjegp

Ukštanje u GP

Slučajno izabrane tačke ukrštanja u oba kompjuterska programa označavaju koje čvorove programi će razmijeniti i tako generirati svoje potomke.

Kao i kod GA mutacija predstavlja unošenje novog genetskog materijala u kompjuterski program. Mutacija se ivodi tako što se slučajno izabere čvor koji će mutirati te se slučajno generira simbol koji predstavlja uniju skupa funkcija i terminala. Donja slika predstavlja primjer mutacije kompjuterskog programa, gdje je čvor sa oznakom funkcije ln mutirao u funkciju /. Obzirom da funkcija / zahtjeva dva argumenta slučajno se generira drugi argument iz skupa terminala ili funkcija. Obzirom da kod mutiranja ovakav proces može se neprekidno generirati, organičenja u pogledu dubine mutiranja čini sastavni dio parametara GP.

mutacijagp

Mutacija u GP

Početna struktura u GP sadrži jedinke u početnoj populaciji sastavljene od slučajno generiranih S -izraza. Početak generiranja počinje slučajnim odabirom jedne od funkcija i skupa F. Ovo ograničenje korijenskog čvora samo na skup funkcija je iz razloga da se strukture ne degeneriraju u samo jedan čvor.

Nakon generiranja koriejnskog čvora postoji nekoliko metoda generiranja strukture.

Puna (Full) metoda generiranja

Kod pune metode generiranja struktura drveta je odredjena konstantnom veličinom dubine strukture. Punom metodom generiramo binarno drvo iz skup funkcija sve dok se ne dostigne maximalna novo (dubina) strukture. Kada se to desi generiraju se simboli iz skupa terminala T.

Rastuća (GROW) metoda generiranja

Rastuća metoda sastoji se u slučajnom generiranju strukture. Ovakvo generiranje proizvodi oblike strukture različitim. Metoda kreće sa slučajnim generiranju čvora koji popima vrijednosti iz skupa C=F U T, odnosno skupa funkcija i terminala. Ovakva metoda ograničena je uslovom da dubina ovako generirane strukture može biti u intervalu 0 do maksimalne dubine drveta. Ako struktura dostigne maksimalnu dubinu drveta u tom nivou se prisiljava algoritam da poprimi vrijednost terminala, a samim tim i završava generiranje.

Miješana (“ramped half-and-half“) metoda generiranje

Ovu metodu autor GP preporuča za mnoge problema koji se rješavaju sa GP. Suština ove metode je da se iskoriste prednosti obe pomenute metode. Iz tog razloga ova metoda se zove još i mješana metoda generiranja. Metoda se jednostavno pojašnjava na primjeru: Npr. ako je

6 maksimalna dubina drveta, tada 20% početne populacije će sadržavati binarne strukture od 2 nivoa dubine, 20% 3 nivoa, 20% 4 nivoa, itd sve do 6 nivoa (1). Tada populacija u ovom stanju sadrži 50% binarnih struktura koje su generirane rastućom metodom, a 50 % punom metodom.

Evaluacija funkcije cilja u GA i GP

Svaki genetski algoritam zahtjeva implementaciju ocjene jedinke. Podobnost neke jedinke – hromosoma ili (S- izraza u GP) mjera je kvalitete toga riješenja u zadanom prostoru rješenja. Kod problema rješavanja optimizacije u GA podobnost hromosoma predstavlja optimalnu vrijednost funkcije cilja. Kod simboličke regresije u GP podobnost jedinke mjeri se odstupanjem kompjuterskog programa od stvarnog rješenja. Zavisno od problema kojeg rješavamo genetskim algoritmima zavisi će i evaluacija hromosoma u populaciji.

PS

Ovo je dio teksta prezentiranog u naučnom radu kojeg sam zajedno sa prof. dr. M. Jurkovićem objavio pod naslovom: MODELLING AND OPTIMIZATION OF THE TOOL STRESS IN DRILLING PROCESS BY EVOLUTION ALGORITHMS by Milan Jurković, Bahrudin Hrnjica, INTERNATIONAL CONFERENCE ON MANUFACTURING SCIENCE AND EDUCATION- MSE 2007- SIBIU-ROMANIA

Moji Članci na CodeProject


Neko je napisao u komentarima, da historijski razvoj C++, nikog ne zanima,treba da pisem primjere. E pa evo nekoliko primjera koje sa nekoliko godina unazad objavljivao na Code Project-u. Članci su relativno dobro ocijenjeni na ovoj stranici, pa su desetine drugih stranica postavilo linkove o člancima na svojim stranicama.

Articles by Bahrudin Hrnjica (5 articles found)
Average article rating: 4.5

Custom ComboBox
Last Updated: 4 May 2006 Page views: 27,537 Rating: 4.7/5 Votes: 7 Popularity: 3.9
A combo box control with a custom popup control.

Loading image files from a database, using ADO
Last Updated: 28 Jan 2006 Page views: 19,474 Rating: 4.7/5 Votes: 10 Popularity: 4.7
Putting and retrieving images files to and from a database, via ADO.

Screen Painter
Last Updated: 12 Jul 2004 Page views: 28,892 Rating: 4.2/5 Votes: 11 Popularity: 4.4
Application for painting on the screen.

Mouse Selection in OpenGL Scene
Last Updated: 26 Oct 2002 Page views: 87,438 Rating: 4.5/5 Votes: 14 Popularity: 5.1
One another approach for picking objects with the mouse in OpenGL scene.

TabedReBar Control
Last Updated: 5 Jun 2004 Page views: 51,050 Rating: 4.3/5 Votes: 11 Popularity: 4.4
ReBar control which displays bars via tab panes.

O zadnjem članku se može govoriti o preteči Ribbon kontrole, novog korisničkog interfejsa vidjenog u novim MS Office 2007 proizvodima.