############################################
# Genetic Column-Matching Algorithm - GCMA #
############################################

GCMA se bylo vytvoreno v ramci diplomove prace "Pouziti genetickych algoritmu
pro syntezu prostredku pro vestavenou diagnostiku", a tove dvou verzich - GCMA1 
a GCMA2. Rozdily mezi obema verzemi jsou detailneji popsany v diplomove praci.

1) SW a HW pozadavky
- pamet 16 MB RAM
- operacni system Linux, Unix
- prekladac jazyka C++, napr. g++

2) Instalace
Instalace je u obou verzi podobna. Postup intalace je take popsan v install.txt.
Jedna se o prelozeni zdrojovych souboru prekladacem jazyka C++ (napr. g++).
Zdrojove soubory (gcma1.cpp, gcma2.cpp, T_matrix.cpp) musi byt umisteny ve 
stejnem adresari.

Priklad prekladu GCMA1, prekladac g++:
g++ -o gcma1 gcma1.cpp

3) Spusteni

gcma1 parameter_file

Program GCMA pozaduje jeden povinny parametr parameter_file. Jedna se o soubor
s definovanym nastaveni parametru programu. Soubor ma pevnou strukturu.
Jednotlive parametry jsou v souboru definovany ve tvaru:
[název parametru]	[hodnota]

V nazvu a hodnote parametru nesmi byt mezera ani zadny jiny prazdny znak. V 
souboru nemuzou byt komentare. Vsechny parametry jsou povinne a jejich poradi 
je pevne dane. Zde je uvedeno poradi a vyznam vsech parametru:

matrix-C - relativni cesta k matici C
matrix-T - ralativni cesta k matici T
estimate-population-size(0/1) - odhad pocatecni populace (1 = ano, 0 = ne)
max-duration(min) - maximalni doba behu programu v minutach
population-size - velikost populace
max-generations - maximalni pocet generaci
bad-generations-to-terminate(pt) - podm. ukonceni, pocet gen. behem kterych musi dojit k zlepseni
selection-parameter(ps) - parametr selekce, tzn. velikost turnaje
use-threshold - definuje, jestli GA ma pouzit thresholding
crossover-method - metada krizeni, 1 = 1-bodove krízeni, 0 nebo 2 = uniformni krizeni
crossover-probability(pc) - pravdepodobnost krizeni
use-discarding - pouziti metody zahazovani sloupcu (1 = ano, 0 = ne)
mutation-matches-probability(pm) - podil mutace pole matches
mutation-rank1-probability(pr1) - podil mutace pole rank - vlozeni do permutace
mutation-rank2-probability(pr2) - podil mutace pole rank - prohozeni sousedu permutace

Ukázku souboru parameter_file najdete v adresari data.

4) Vystup programu
Vystupem programu jsou 4 soubory. "xxx" zastupuje nazev souboru parameter_file.

xxx.matches - soubor s vyslednym reseni sparovanych sloupcu
xxx.pla - PLA soubor popisujici funkci nesparovanych sloupcu - muze slouzit jako
          vstup pro program BOOM.
xxx.out - detailni vypis behu programu
xxx.graph - soubor s funkci vyvoje nekterych sledovanych vlastnosti populace 
            (prumerna fitnes, nejlepsi fitnes, prumerny pocet sparovani atd.)

5) Data na prilozenem CD

Dulezite soubory:
index.html - vychozi HTML stranka projektu
readme.txt - zakladni informace o GCMA
install.txt - postup instalace GCMA1, resp. GCMA2
data/parameter_file - ukazka vstupniho souboru pro GCMA1 i GCMA2
data/vypis.out - vypis casti populace, o ktere se pojednava v dipl. praci v kapitole 4.9.2
data/scm.stat - statistika Scm, na kterou se odkazuji v kapitole 5.7.1
data/sr.stat - statistika Sr, na kterou se odkazuji v kapitole 5.7.1

Adresare:
bin - prelozene binarni programy gcma1 a gcma2 (prelozeno na OS Linux Fedora 6)
data - ruzne
html - HTML dokumenty (napr. abstrakt)
matrix - testovaci matice pouzite pri testech
src - zdrojove kody programu GCMA1 a GCMA2
tests - provedene testy
text - obsahuje PDF verzi diplomove prace


