Genetski algoritam inspiriran kvantnom mehanikom
Genetic algorithm inspired by quantum mechanics
(GAIQM)
Ovaj je projekt raspoređen na sljedeći način:
main.cpp- glavni program, definira koji se problem pokrećeQuantumRegistrer.cpp- definicija kvantnog registra, sadrži kod za inicijalizaciju registra i pretvorbu u bitove (mjerenje registra)Algorithms/- sadrži algoritam GAIQM koji implementira i adapter tipa 'radnog genotipa'Operators/- sadrži operatore mutacije i rotacijeProblems/- sadrži probleme nad kojima se pokreću eksperimenti
Svaki problem ima svoj direktorij
__NazivProblema__u kojem se nalaze:
__NazivEvaluatora__.cpp- evaluator problema, potrebno ga je postaviti kao radnog umain.cppparametersClassical.txt- datoteka parametara za klasični eksperimentparametersQuantum.txt- datoteka parametara za kvantni eksperiment- Ostale pomoćne datoteke za definiciju problema (vidi:
NeuralNetwork)- Podaci pojedinih testova
TestGround/- sadrži skripte za automatizirano pokretanje eksperimenataTestGround/compare.sh- pokreće jedan eksperiment, generira pomoćne datoteke uresults/i ispisuje krajnje rezultate uz mogućnost prikaza rezultata na grafu, u zaglavlju skripte je potrebno definirati ime eksperimenta (ime direktorija)TestGround/multipleCompare.sh- pokreće niz istih eksperimenata te usrednjuje njihove rezultate, u argumentu prima broj ponavljanja eksperimentaTestGround/GenerateKnapsack.exe- program koji generira jedan 'Knapsack' problem, interaktivno prima parametre te generira cjelobrojne podatke unifomnom vjerojatnošću do zadanih granica težina i vijednosti predmeta i izračunatu statistiku ispisuje u datoteci
(statistika je u zaglavlju datoteke komentirana znakom #)UnitTests/- sustav za automatsko testiranje komponenti projekta (nedovršeno)Docs/- pismenog dio završnog rada