Compare commits
18 Commits
master
...
drzewa_Szy
Author | SHA1 | Date | |
---|---|---|---|
3a6d0b9465 | |||
f9505a932a | |||
cf7bb6590d | |||
77f8acbdd8 | |||
81977d051f | |||
e5ad6c7ab2 | |||
bf2253580d | |||
4917bd457d | |||
95df84c69e | |||
2388576cc1 | |||
85eefa0954 | |||
fd5f23258b | |||
d99f57ce41 | |||
92b10ab523 | |||
e1336ab5c9 | |||
70908a51ba | |||
1dbb64001f | |||
115670987d |
@ -111,8 +111,6 @@ void stanPola(int x, int y) {
|
||||
//[x][x][0] = 3 - środek i nawóz
|
||||
//[x][x][1] - wartość wzrostu rośliny
|
||||
|
||||
polecenie = "python pliki/injectCode.py 1 ";
|
||||
|
||||
if (stan[x][y][0] == 0)
|
||||
polecenie.append("0 0 ");
|
||||
if (stan[x][y][0] == 1)
|
||||
@ -124,8 +122,6 @@ void stanPola(int x, int y) {
|
||||
int w = (stan[x][y][1]);
|
||||
std::string s = std::to_string(w);
|
||||
polecenie.append(s);
|
||||
|
||||
decisionTree(polecenie);
|
||||
}
|
||||
```
|
||||
|
||||
@ -138,21 +134,6 @@ void decisionTree(string polecenie) {
|
||||
std::string str = polecenie;
|
||||
const char* c = str.c_str();
|
||||
system(c);
|
||||
|
||||
int line = 0;
|
||||
ifstream inFile;
|
||||
inFile.open("pliki/dec.txt");
|
||||
if (!inFile) {
|
||||
cout << "Unable to open file";
|
||||
exit(1); // terminate with error
|
||||
}
|
||||
|
||||
while (inFile >> line) {
|
||||
decyzja = line;
|
||||
}
|
||||
|
||||
inFile.close();
|
||||
akcja();
|
||||
}
|
||||
```
|
||||
#### injectCode(): [python]
|
||||
@ -163,34 +144,28 @@ import sys
|
||||
|
||||
|
||||
def prediction(warzywo, nawoz ,srodek, stan_wzrostu):
|
||||
filename = 'pliki/decisionTree.sav'
|
||||
tree = pickle.load(open(filename, 'rb'))
|
||||
val = (tree.predict([[warzywo, nawoz, srodek, stan_wzrostu]]))
|
||||
save(val)
|
||||
|
||||
def save(prediction):
|
||||
pred = str(prediction)
|
||||
plik = open('pliki/dec.txt', 'w')
|
||||
plik.write(pred[1])
|
||||
plik.close()
|
||||
filename = 'decisionTree.sav'
|
||||
tree = pickle.load(open(filename, 'rb'))
|
||||
val = (tree.predict([[warzywo, nawoz, srodek, stan_wzrostu]]))
|
||||
print(decision(val))
|
||||
|
||||
def decision(prediction):
|
||||
if prediction == 0:
|
||||
return "Nie_podejmuj_dzialania"
|
||||
elif prediction == 1:
|
||||
return "Zastosuj_nawoz"
|
||||
elif prediction == 2:
|
||||
return "Zastosuj_srodek"
|
||||
elif prediction == 4:
|
||||
return "Zbierz"
|
||||
elif prediction == 5:
|
||||
return "Roslina_juz_zgnila__zbierz_i_wyrzuc"
|
||||
if prediction == 0:
|
||||
return "Nie_podejmuj_dzialania"
|
||||
elif prediction == 1:
|
||||
return "Zastosuj_nawoz"
|
||||
elif prediction == 2:
|
||||
return "Zastosuj_srodek"
|
||||
elif prediction == 4:
|
||||
return "Zbierz"
|
||||
elif prediction == 5:
|
||||
return "Roslina_juz_zgnila__zbierz_i_wyrzuc"
|
||||
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
# Map command line arguments to function arguments.
|
||||
prediction(*sys.argv[1:])
|
||||
# Map command line arguments to function arguments.
|
||||
prediction(*sys.argv[1:])
|
||||
```
|
||||
Generowane polecenie wygląda w ten sposób:
|
||||
```
|
||||
@ -198,6 +173,7 @@ python injectCode.py a b c d
|
||||
```
|
||||
Gdzie:
|
||||
* a -> rodzaj warzywa
|
||||
* 1: "burak"
|
||||
* b -> czy roślina była nawożona
|
||||
* 0: "nie"
|
||||
* 1: "tak"
|
@ -1,209 +0,0 @@
|
||||
##Jarosław Zbąski – raport z podprojektu
|
||||
---
|
||||
#Wybrana metoda:
|
||||
---
|
||||
Do realizacji podprojektu wykorzystano drzewa decyzyjne wskazujące którą roślinę (jeśli w ogóle) należy posadzić na danym polu. Drzewo decyzję podejmuje na podstawie poszczególnych parametrów gleby:
|
||||
|
||||
-żyzność (‘z’-żyzna, ‘j’-jałowa)
|
||||
|
||||
-nawodnienie (‘n’ - nawodniona, ‘s’ - sucha)
|
||||
|
||||
-nasłonecznienie (‘s’ - w słońcu, ‘c’ – w cieniu)
|
||||
|
||||
-kwasowość gleby (‘k’ – kwasowa, ‘n’ – neutralna, ‘z’ - zasadowa)
|
||||
|
||||
|
||||
#Uczenie modelu:
|
||||
---
|
||||
Dane treningowe:
|
||||
```
|
||||
training_data = [
|
||||
#zyznosc, nawodnienie, cien, kwasowość, grupa
|
||||
['z', 'n', 's', 'z', 1],
|
||||
['z', 'n', 's', 'n', 1],
|
||||
['j', 'n', 's', 'z', 1],
|
||||
['z', 's', 's', 'n', 1],
|
||||
['j', 'n', 'c', 'n', 1],
|
||||
['z', 'n', 's', 'k', 1],
|
||||
['z', 'n', 'c', 'k', 2],
|
||||
['z', 's', 's', 'k', 2],
|
||||
['z', 's', 'c', 'k', 2],
|
||||
['j', 'n', 's', 'k', 2],
|
||||
['z', 's', 'c', 'z', 3],
|
||||
['j', 'n', 's', 'n', 3]
|
||||
]
|
||||
```
|
||||
Budowanie drzewa decyzyjnego opiera się na podziale gałęzi względem algorytmu CART. Ma ono postać ciągu pytań, na które odpowiedzi determinują kolejne pytania, bądź kończą etap. W wyniku otrzymujemy strukturę drzewa, która w węzłach końcowych nie zawiera już pytań, lecz same odpowiedzi. Dodatkowo wypisuje zestaw danych pasujących do liścia, z zestawu treningowego.
|
||||
```
|
||||
def build_tree(rows):
|
||||
gain, question = find_best_split(rows)
|
||||
if gain == 0:
|
||||
return Leaf(rows)
|
||||
true_rows, false_rows = partition(rows, question)
|
||||
true_branch = build_tree(true_rows)
|
||||
false_branch = build_tree(false_rows)
|
||||
return Decision_Node(question, true_branch, false_branch)
|
||||
```
|
||||
Znajdowanie najlepszego podziału opiera się głównie na Współczynniku Giniego, który mierzy stopień niejednorodności i dzieli ją przez ilość pozostałych zestawów testowych (entropia), co daje nam przyrost informacji.
|
||||
```
|
||||
def find_best_split(rows):
|
||||
best_gain = 0
|
||||
best_question = None
|
||||
current_uncertainty = gini(rows)
|
||||
n_features = len(rows[0]) - 1
|
||||
for col in range(n_features):
|
||||
values = set([row[col] for row in rows])
|
||||
for val in values:
|
||||
question = Question(col, val)
|
||||
true_rows, false_rows = partition(rows, question)
|
||||
if len(true_rows) == 0 or len(false_rows) == 0:
|
||||
continue
|
||||
gain = info_gain(true_rows, false_rows, current_uncertainty)
|
||||
if gain >= best_gain:
|
||||
best_gain, best_question = gain, question
|
||||
return best_gain, best_question
|
||||
```
|
||||
|
||||
Drzewo powstałe poprzez wykonanie metody print_tree(node,spacing) na zestawie testowym:
|
||||
```
|
||||
Czy kwasowosc == k?
|
||||
--> True:
|
||||
Czy cien == s?
|
||||
--> True:
|
||||
Czy nawodnienie == n?
|
||||
--> True:
|
||||
Czy zyznosc == j?
|
||||
--> True:
|
||||
Predict {2: 1}
|
||||
--> False:
|
||||
Predict {1: 1}
|
||||
--> False:
|
||||
Predict {2: 1}
|
||||
--> False:
|
||||
Predict {2: 2}
|
||||
--> False:
|
||||
Czy cien == s?
|
||||
--> True:
|
||||
Czy zyznosc == j?
|
||||
--> True:
|
||||
Czy kwasowosc == n?
|
||||
--> True:
|
||||
Predict {3: 1}
|
||||
--> False:
|
||||
Predict {1: 1}
|
||||
--> False:
|
||||
Predict {1: 3}
|
||||
--> False:
|
||||
Czy kwasowosc == n?
|
||||
--> True:
|
||||
Predict {1: 1}
|
||||
--> False:
|
||||
Predict {3: 1}
|
||||
```
|
||||
#Implementacja w C++:
|
||||
---
|
||||
Komunikacja między pythonem a cpp zachodzi przez pliki dane.txt i decyzje.txt. W pliku dane.txt cpp wypisuje stan całego pola w oddzielonych spacją kolumnach począwszy od indeksu x=1,y=1 aż po x=25,y=25. Decyzje podjęte przez drzewo decyzyjne wypisane w pliku decyzje.txt zawierają symbol rośliny lub pola jakie mają się znajdować na polu (również w całej przestrzeni pola).
|
||||
|
||||
Zestaw testowych danych:
|
||||
```
|
||||
void testSI1()
|
||||
{
|
||||
for (int i = 1; i < 26; i++)
|
||||
{
|
||||
for (int j = 1; j < 26; j++)
|
||||
{
|
||||
if (j % 3 == 0)
|
||||
{
|
||||
pole[i][j][2] = 'z'; //zyzne
|
||||
pole[i][j][3] = 'n'; //nawodnione
|
||||
pole[i][j][4] = 'c'; //w cieniu
|
||||
pole[i][j][5] = 'k'; //kwasne
|
||||
}
|
||||
else
|
||||
{
|
||||
if (j % 3 == 1)
|
||||
{
|
||||
pole[i][j][2] = 'j'; //jalowe
|
||||
pole[i][j][3] = 'n'; //nawodnione
|
||||
pole[i][j][4] = 's'; //w sloncu
|
||||
pole[i][j][5] = 'n'; //neutralne
|
||||
}
|
||||
else
|
||||
{
|
||||
pole[i][j][2] = 'z'; //zyzne
|
||||
pole[i][j][3] = 's'; //suche
|
||||
pole[i][j][4] = 's'; //sloneczne
|
||||
pole[i][j][5] = 'z'; //zasadowe
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Funkcja wysyłająca stan pola:
|
||||
```
|
||||
void sendState()
|
||||
{
|
||||
ofstream write("dane.txt");
|
||||
for (int i = 1; i < 26; i++)
|
||||
{
|
||||
for (int j = 1; j < 26; j++)
|
||||
{
|
||||
string a;
|
||||
a += pole[i][j][2];
|
||||
a += ' ';
|
||||
a += pole[i][j][3];
|
||||
a += ' ';
|
||||
a += pole[i][j][4];
|
||||
a += ' ';
|
||||
a += pole[i][j][5];
|
||||
write << a << endl;
|
||||
}
|
||||
}
|
||||
write.close();
|
||||
}
|
||||
```
|
||||
|
||||
Funkcja kierująca traktorem (decyzja co zasiać):
|
||||
```
|
||||
void reciveState()
|
||||
{
|
||||
ifstream read("decyzje.txt");
|
||||
if (read.is_open())
|
||||
{
|
||||
char plant;
|
||||
int i = 1;
|
||||
int j = 1;
|
||||
while (read >> plant)
|
||||
{
|
||||
if (j == 25)
|
||||
{
|
||||
gogo(1, i+1);
|
||||
}
|
||||
else
|
||||
{
|
||||
gogo(j+1 , i );
|
||||
}
|
||||
pole[i][j][0] = plant;
|
||||
if (plant == '.')
|
||||
{
|
||||
pole[i][j][1] = '1';
|
||||
}
|
||||
else
|
||||
{
|
||||
pole[i][j][1] = '9';
|
||||
}
|
||||
if (j == 25)
|
||||
{
|
||||
j = 1;
|
||||
i += 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
j += 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
@ -1,47 +0,0 @@
|
||||
# Opis dokumentu
|
||||
Ten dokument to raport z wykonanego podprojektu na przedmiot Sztuczna Inteligencja. Celem
|
||||
zadania jest implementacja algorytmu genetycznego w projekcie o tematyce inteligentny traktor.
|
||||
|
||||
# Zastosowanie algorytmu
|
||||
Algorytm został wykorzystany do wygenerowania zbioru roślin do zasadzenia na bazie zebranych wcześniej roślin
|
||||
|
||||
# Skrócony opis implementacji w projekcie wspólnym
|
||||
* Na początku dla każdego pola zawierającego buraki, zostanie wygenerowany kod genetyczny roślin z tego pola.
|
||||
|
||||
![](images/test2_generowanie_burakow.png)
|
||||
|
||||
* Funkcja Move teraz zajmuje się również zbieraniem i wywoływaniem sadzenia roślin
|
||||
|
||||
![](images/move_zbieranie.png)
|
||||
|
||||
* Funkcja przypiszKod decyduje czy należy zasadzić jedną z modyfikowanych genetycznie roślin, czy należy zasadzić nową (losową).
|
||||
|
||||
![](images/przypiszKod.png)
|
||||
|
||||
* Gdy liczba zebranych buraków osiągnie określoną wartość, zostanie przeprowadzony algorytm genetyczny i powstanie tablica roślin do zasadzenia
|
||||
|
||||
![](images/wykonanie_algorytmu_gen.png)
|
||||
|
||||
# Opis algorytmu genetycznego
|
||||
* Algorytm wykonuje 5 iteracji, w których dokonuje selekcji osobników populacji, które zostaną poddane rozrodowi i wytwarza kolejne pokolenie populacji. Po wyjściu z pętli metodą rankingu selekcjonuje najlepszą część ostatniego pokolenia.
|
||||
|
||||
![](images/genetic_algorithm.png)
|
||||
|
||||
* Selekcja odbywa się metodą ruletki. Obliczana jest wartość funkcji dostosowania dla każdego osobnika. Im lepsza wartość, tym większa szansa na wylosowanie.
|
||||
|
||||
![](images/selection.png)
|
||||
|
||||
* Funkcja dostosowania polega na wyliczeniu średniej arytmetycznej trzech wartości: smaku, rozmiaru i koloru rośliny, które są zakodowane w łańcuchu znaków.
|
||||
|
||||
![](images/fitness.png)
|
||||
|
||||
* Funkcja crossover zajmuje się wywołaniem krzyżowania odpowiedniej liczby osobników
|
||||
|
||||
![](images/crossover.png)
|
||||
|
||||
* Zastosowana została metoda krzyżowania równomiernego (uniform crossover) z małą modyfikacją, zmniejszającą szansę na to, że dziecko będzie "klonem" rodzica. Istnieje również mała szansa, że dojdzie do równomiernej mutacji (uniform mutation), w której losowa cecha dziecka zostaje wygenerowana na nowo.
|
||||
|
||||
![](images/cross.png)
|
||||
|
||||
|
||||
|
@ -1,105 +0,0 @@
|
||||
# Lista funkcji
|
||||
|
||||
![](images/13_05/1.png)
|
||||
![](images/13_05/2.png)
|
||||
|
||||
-----
|
||||
# sigmoid, pSigmoid
|
||||
funkcja sigmoid przetwarzająca podaną liczbę na liczbę z przedziału [0 ; 1]
|
||||
funkcja psigmoid jest pochodną sigmoid
|
||||
|
||||
![](images/13_05/3.png)
|
||||
|
||||
-----
|
||||
# lookOFVege
|
||||
funkcja przemieniająca stan rośliny na to 'jak wygląda'
|
||||
|
||||
![](images/13_05/4.png)
|
||||
|
||||
-----
|
||||
# setValusesRange
|
||||
funkcja przygotowująca dane pod sigmoid
|
||||
|
||||
![](images/13_05/5.png)
|
||||
|
||||
-----
|
||||
# gradient
|
||||
funkcja gradientu przechowująca wzrosty połączeń neuronów
|
||||
|
||||
![](images/13_05/6.png)
|
||||
|
||||
-----
|
||||
# buildMatrix
|
||||
funkcja tworząca czystą macierz połączeń neuronów
|
||||
|
||||
![](images/13_05/7.png)
|
||||
|
||||
-----
|
||||
# buildAvrGrad
|
||||
funkcja tworząca czystą macierz średnich gradientów
|
||||
|
||||
![](images/13_05/8.png)
|
||||
|
||||
-----
|
||||
# neuronsInputBuild
|
||||
funkcja uzupełniająca dane wejściowe neuronów, uzupełniająca wyjścia na podstawie wag macierzy połączeń oraz zwracająca koszt dla wybranego oczekiwanego rozwiązania
|
||||
|
||||
![](images/13_05/9.png)
|
||||
![](images/13_05/10.png)
|
||||
![](images/13_05/11.png)
|
||||
|
||||
-----
|
||||
# backProp
|
||||
funkcja wstecznej propagacji obniżająca koszt conajmniej 50 oraz zapisująca gradient tego kosztu
|
||||
|
||||
![](images/13_05/12.png)
|
||||
|
||||
-----
|
||||
# network
|
||||
funkcja przekazująca dane oczekiwane o wstecznej propagacji
|
||||
|
||||
![](images/13_05/13.png)
|
||||
|
||||
-----
|
||||
# bestMatrixBuild
|
||||
funkcja budująca najlepszą macierz wag na podstawie średnich gradientów
|
||||
|
||||
![](images/13_05/14.png)
|
||||
|
||||
-----
|
||||
# tests
|
||||
zbiory testowe
|
||||
## neuroTest1
|
||||
test z jednym konkrenym warzywem na polu
|
||||
|
||||
![](images/13_05/15.png)
|
||||
|
||||
## neuroTest2
|
||||
test z warzywami blokującymi oczekiwane warzywo
|
||||
|
||||
![](images/13_05/16.png)
|
||||
|
||||
-----
|
||||
# neuroStart1
|
||||
funkcja inicjalizująca naukę traktora
|
||||
|
||||
![](images/13_05/17.png)
|
||||
|
||||
-----
|
||||
# chousePath
|
||||
funkcja poruszająca traktor do najlepszego pola
|
||||
|
||||
![](images/13_05/18.png)
|
||||
![](images/13_05/19.png)
|
||||
|
||||
-----
|
||||
# testOfNeuroMove
|
||||
test do sprawdzenia działania traktora po nauce
|
||||
|
||||
![](images/13_05/20.png)
|
||||
|
||||
-----
|
||||
# main
|
||||
inicjalizacja nauki oraz użycia jej
|
||||
|
||||
![](images/13_05/21.png)
|
8
Sklearn/.idea/Sklearn.iml
Normal file
@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<module type="PYTHON_MODULE" version="4">
|
||||
<component name="NewModuleRootManager">
|
||||
<content url="file://$MODULE_DIR$" />
|
||||
<orderEntry type="jdk" jdkName="Python 3.8 (2)" jdkType="Python SDK" />
|
||||
<orderEntry type="sourceFolder" forTests="false" />
|
||||
</component>
|
||||
</module>
|
6
Sklearn/.idea/inspectionProfiles/profiles_settings.xml
Normal file
@ -0,0 +1,6 @@
|
||||
<component name="InspectionProjectProfileManager">
|
||||
<settings>
|
||||
<option name="USE_PROJECT_PROFILE" value="false" />
|
||||
<version value="1.0" />
|
||||
</settings>
|
||||
</component>
|
4
Sklearn/.idea/misc.xml
Normal file
@ -0,0 +1,4 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="ProjectRootManager" version="2" project-jdk-name="Python 3.8 (2)" project-jdk-type="Python SDK" />
|
||||
</project>
|
8
Sklearn/.idea/modules.xml
Normal file
@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="ProjectModuleManager">
|
||||
<modules>
|
||||
<module fileurl="file://$PROJECT_DIR$/.idea/Sklearn.iml" filepath="$PROJECT_DIR$/.idea/Sklearn.iml" />
|
||||
</modules>
|
||||
</component>
|
||||
</project>
|
136
Sklearn/.idea/workspace.xml
Normal file
@ -0,0 +1,136 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="ChangeListManager">
|
||||
<list default="true" id="e3fa4ad7-e8af-409f-b992-aa72ce556ebd" name="Default Changelist" comment="" />
|
||||
<option name="SHOW_DIALOG" value="false" />
|
||||
<option name="HIGHLIGHT_CONFLICTS" value="true" />
|
||||
<option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
|
||||
<option name="LAST_RESOLUTION" value="IGNORE" />
|
||||
</component>
|
||||
<component name="FileTemplateManagerImpl">
|
||||
<option name="RECENT_TEMPLATES">
|
||||
<list>
|
||||
<option value="Python Script" />
|
||||
</list>
|
||||
</option>
|
||||
</component>
|
||||
<component name="ProjectId" id="1bp9AhDNNGUv3iYpuDmV1lNmkaN" />
|
||||
<component name="ProjectViewState">
|
||||
<option name="hideEmptyMiddlePackages" value="true" />
|
||||
<option name="showExcludedFiles" value="true" />
|
||||
<option name="showLibraryContents" value="true" />
|
||||
</component>
|
||||
<component name="PropertiesComponent">
|
||||
<property name="RunOnceActivity.ShowReadmeOnStart" value="true" />
|
||||
<property name="settings.editor.selected.configurable" value="com.jetbrains.python.configuration.PyActiveSdkModuleConfigurable" />
|
||||
</component>
|
||||
<component name="RunManager" selected="Python.load">
|
||||
<configuration name="Generate" type="PythonConfigurationType" factoryName="Python" temporary="true">
|
||||
<module name="Sklearn" />
|
||||
<option name="INTERPRETER_OPTIONS" value="" />
|
||||
<option name="PARENT_ENVS" value="true" />
|
||||
<envs>
|
||||
<env name="PYTHONUNBUFFERED" value="1" />
|
||||
</envs>
|
||||
<option name="SDK_HOME" value="" />
|
||||
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
|
||||
<option name="IS_MODULE_SDK" value="true" />
|
||||
<option name="ADD_CONTENT_ROOTS" value="true" />
|
||||
<option name="ADD_SOURCE_ROOTS" value="true" />
|
||||
<option name="SCRIPT_NAME" value="$PROJECT_DIR$/Generate.py" />
|
||||
<option name="PARAMETERS" value="" />
|
||||
<option name="SHOW_COMMAND_LINE" value="false" />
|
||||
<option name="EMULATE_TERMINAL" value="false" />
|
||||
<option name="MODULE_MODE" value="false" />
|
||||
<option name="REDIRECT_INPUT" value="false" />
|
||||
<option name="INPUT_FILE" value="" />
|
||||
<method v="2" />
|
||||
</configuration>
|
||||
<configuration name="load" type="PythonConfigurationType" factoryName="Python" temporary="true">
|
||||
<module name="Sklearn" />
|
||||
<option name="INTERPRETER_OPTIONS" value="" />
|
||||
<option name="PARENT_ENVS" value="true" />
|
||||
<envs>
|
||||
<env name="PYTHONUNBUFFERED" value="1" />
|
||||
</envs>
|
||||
<option name="SDK_HOME" value="" />
|
||||
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
|
||||
<option name="IS_MODULE_SDK" value="true" />
|
||||
<option name="ADD_CONTENT_ROOTS" value="true" />
|
||||
<option name="ADD_SOURCE_ROOTS" value="true" />
|
||||
<option name="SCRIPT_NAME" value="C:\Users\Szymon\Desktop\Traktor_DrzewaDecyzyjne\Sklearn\Test.py" />
|
||||
<option name="PARAMETERS" value="" />
|
||||
<option name="SHOW_COMMAND_LINE" value="false" />
|
||||
<option name="EMULATE_TERMINAL" value="false" />
|
||||
<option name="MODULE_MODE" value="false" />
|
||||
<option name="REDIRECT_INPUT" value="false" />
|
||||
<option name="INPUT_FILE" value="" />
|
||||
<method v="2" />
|
||||
</configuration>
|
||||
<recent_temporary>
|
||||
<list>
|
||||
<item itemvalue="Python.load" />
|
||||
<item itemvalue="Python.Generate" />
|
||||
</list>
|
||||
</recent_temporary>
|
||||
</component>
|
||||
<component name="ServiceViewManager">
|
||||
<option name="viewStates">
|
||||
<list>
|
||||
<serviceView>
|
||||
<treeState>
|
||||
<expand />
|
||||
<select />
|
||||
</treeState>
|
||||
</serviceView>
|
||||
</list>
|
||||
</option>
|
||||
</component>
|
||||
<component name="SvnConfiguration">
|
||||
<configuration />
|
||||
</component>
|
||||
<component name="TaskManager">
|
||||
<task active="true" id="Default" summary="Default task">
|
||||
<changelist id="e3fa4ad7-e8af-409f-b992-aa72ce556ebd" name="Default Changelist" comment="" />
|
||||
<created>1589318026471</created>
|
||||
<option name="number" value="Default" />
|
||||
<option name="presentableId" value="Default" />
|
||||
<updated>1589318026471</updated>
|
||||
</task>
|
||||
<servers />
|
||||
</component>
|
||||
<component name="WindowStateProjectService">
|
||||
<state width="1654" height="236" key="GridCell.Tab.0.bottom" timestamp="1589319874987">
|
||||
<screen x="0" y="0" width="1676" height="902" />
|
||||
</state>
|
||||
<state width="1654" height="236" key="GridCell.Tab.0.bottom/0.0.1676.902@0.0.1676.902" timestamp="1589319874987" />
|
||||
<state width="1654" height="236" key="GridCell.Tab.0.center" timestamp="1589319874986">
|
||||
<screen x="0" y="0" width="1676" height="902" />
|
||||
</state>
|
||||
<state width="1654" height="236" key="GridCell.Tab.0.center/0.0.1676.902@0.0.1676.902" timestamp="1589319874986" />
|
||||
<state width="1654" height="236" key="GridCell.Tab.0.left" timestamp="1589319874986">
|
||||
<screen x="0" y="0" width="1676" height="902" />
|
||||
</state>
|
||||
<state width="1654" height="236" key="GridCell.Tab.0.left/0.0.1676.902@0.0.1676.902" timestamp="1589319874986" />
|
||||
<state width="1654" height="236" key="GridCell.Tab.0.right" timestamp="1589319874987">
|
||||
<screen x="0" y="0" width="1676" height="902" />
|
||||
</state>
|
||||
<state width="1654" height="236" key="GridCell.Tab.0.right/0.0.1676.902@0.0.1676.902" timestamp="1589319874987" />
|
||||
<state x="346" y="92" key="SettingsEditor" timestamp="1589318048454">
|
||||
<screen x="0" y="0" width="1676" height="902" />
|
||||
</state>
|
||||
<state x="346" y="92" key="SettingsEditor/0.0.1676.902@0.0.1676.902" timestamp="1589318048454" />
|
||||
<state x="537" y="273" key="com.intellij.ide.util.TipDialog" timestamp="1589328690450">
|
||||
<screen x="0" y="0" width="1676" height="902" />
|
||||
</state>
|
||||
<state x="537" y="273" key="com.intellij.ide.util.TipDialog/0.0.1676.902@0.0.1676.902" timestamp="1589328690450" />
|
||||
<state x="579" y="93" key="refactoring.ChangeSignatureDialog" timestamp="1589319743520">
|
||||
<screen x="0" y="0" width="1676" height="902" />
|
||||
</state>
|
||||
<state x="579" y="93" key="refactoring.ChangeSignatureDialog/0.0.1676.902@0.0.1676.902" timestamp="1589319743520" />
|
||||
<state x="500" y="190" width="672" height="678" key="search.everywhere.popup" timestamp="1589319325562">
|
||||
<screen x="0" y="0" width="1676" height="902" />
|
||||
</state>
|
||||
<state x="500" y="190" width="672" height="678" key="search.everywhere.popup/0.0.1676.902@0.0.1676.902" timestamp="1589319325562" />
|
||||
</component>
|
||||
</project>
|
415
Sklearn/Database.csv
Normal file
@ -0,0 +1,415 @@
|
||||
1,0,0,1,0
|
||||
1,0,0,2,0
|
||||
1,0,0,3,0
|
||||
1,0,0,4,0
|
||||
1,0,0,5,0
|
||||
1,0,0,6,0
|
||||
1,0,0,7,0
|
||||
1,0,0,8,0
|
||||
1,0,0,9,0
|
||||
1,0,0,10,0
|
||||
|
||||
1,0,1,1,0
|
||||
1,0,1,2,0
|
||||
1,0,1,3,0
|
||||
1,0,1,4,0
|
||||
1,0,1,5,0
|
||||
1,0,1,6,0
|
||||
1,0,1,7,0
|
||||
1,0,1,8,0
|
||||
1,0,1,9,0
|
||||
1,0,1,10,0
|
||||
|
||||
1,1,0,1,0
|
||||
1,1,0,2,0
|
||||
1,1,0,3,0
|
||||
1,1,0,4,0
|
||||
1,1,0,5,0
|
||||
1,1,0,6,0
|
||||
1,1,0,7,0
|
||||
1,1,0,8,0
|
||||
1,1,0,9,0
|
||||
1,1,0,10,0
|
||||
|
||||
1,1,1,1,0
|
||||
1,1,1,2,0
|
||||
1,1,1,3,0
|
||||
1,1,1,4,0
|
||||
1,1,1,5,0
|
||||
1,1,1,6,0
|
||||
1,1,1,7,0
|
||||
1,1,1,8,0
|
||||
1,1,1,9,0
|
||||
1,1,1,10,0
|
||||
|
||||
1,0,0,11,1
|
||||
1,0,0,12,1
|
||||
1,0,0,13,1
|
||||
1,0,0,14,1
|
||||
1,0,0,15,1
|
||||
1,0,0,16,1
|
||||
1,0,0,17,1
|
||||
1,0,0,18,1
|
||||
1,0,0,19,1
|
||||
1,0,0,20,1
|
||||
1,0,0,21,1
|
||||
1,0,0,22,1
|
||||
1,0,0,23,1
|
||||
1,0,0,24,1
|
||||
1,0,0,25,1
|
||||
1,0,0,26,1
|
||||
1,0,0,27,1
|
||||
1,0,0,28,1
|
||||
1,0,0,29,1
|
||||
1,0,0,30,1
|
||||
1,0,0,31,1
|
||||
1,0,0,32,1
|
||||
1,0,0,33,1
|
||||
1,0,0,34,1
|
||||
1,0,0,35,1
|
||||
1,0,0,36,1
|
||||
1,0,0,37,1
|
||||
1,0,0,38,1
|
||||
1,0,0,39,1
|
||||
1,0,0,40,1
|
||||
|
||||
1,0,1,11,1
|
||||
1,0,1,12,1
|
||||
1,0,1,13,1
|
||||
1,0,1,14,1
|
||||
1,0,1,15,1
|
||||
1,0,1,16,1
|
||||
1,0,1,17,1
|
||||
1,0,1,18,1
|
||||
1,0,1,19,1
|
||||
1,0,1,20,1
|
||||
1,0,1,21,1
|
||||
1,0,1,22,1
|
||||
1,0,1,23,1
|
||||
1,0,1,24,1
|
||||
1,0,1,25,1
|
||||
1,0,1,26,1
|
||||
1,0,1,27,1
|
||||
1,0,1,28,1
|
||||
1,0,1,29,1
|
||||
1,0,1,30,1
|
||||
1,0,1,31,1
|
||||
1,0,1,32,1
|
||||
1,0,1,33,1
|
||||
1,0,1,34,1
|
||||
1,0,1,35,1
|
||||
1,0,1,36,1
|
||||
1,0,1,37,1
|
||||
1,0,1,38,1
|
||||
1,0,1,39,1
|
||||
1,0,1,40,1
|
||||
|
||||
1,1,0,11,0
|
||||
1,1,0,12,0
|
||||
1,1,0,13,0
|
||||
1,1,0,14,0
|
||||
1,1,0,15,0
|
||||
1,1,0,16,0
|
||||
1,1,0,17,0
|
||||
1,1,0,18,0
|
||||
1,1,0,19,0
|
||||
1,1,0,20,0
|
||||
1,1,0,21,0
|
||||
1,1,0,22,0
|
||||
1,1,0,23,0
|
||||
1,1,0,24,0
|
||||
1,1,0,25,0
|
||||
1,1,0,26,0
|
||||
1,1,0,27,0
|
||||
1,1,0,28,0
|
||||
1,1,0,29,0
|
||||
1,1,0,30,0
|
||||
1,1,0,31,0
|
||||
1,1,0,32,0
|
||||
1,1,0,33,0
|
||||
1,1,0,34,0
|
||||
1,1,0,35,0
|
||||
1,1,0,36,0
|
||||
1,1,0,37,0
|
||||
1,1,0,38,0
|
||||
1,1,0,39,0
|
||||
1,1,0,40,0
|
||||
|
||||
1,1,1,11,0
|
||||
1,1,1,12,0
|
||||
1,1,1,13,0
|
||||
1,1,1,14,0
|
||||
1,1,1,15,0
|
||||
1,1,1,16,0
|
||||
1,1,1,17,0
|
||||
1,1,1,18,0
|
||||
1,1,1,19,0
|
||||
1,1,1,20,0
|
||||
1,1,1,21,0
|
||||
1,1,1,22,0
|
||||
1,1,1,23,0
|
||||
1,1,1,24,0
|
||||
1,1,1,25,0
|
||||
1,1,1,26,0
|
||||
1,1,1,27,0
|
||||
1,1,1,28,0
|
||||
1,1,1,29,0
|
||||
1,1,1,30,0
|
||||
1,1,1,31,0
|
||||
1,1,1,32,0
|
||||
1,1,1,33,0
|
||||
1,1,1,34,0
|
||||
1,1,1,35,0
|
||||
1,1,1,36,0
|
||||
1,1,1,37,0
|
||||
1,1,1,38,0
|
||||
1,1,1,39,0
|
||||
1,1,1,40,0
|
||||
|
||||
1,0,0,41,4
|
||||
1,0,0,42,4
|
||||
1,0,0,43,4
|
||||
1,0,0,44,4
|
||||
1,0,0,45,4
|
||||
1,0,0,46,4
|
||||
1,0,0,47,4
|
||||
1,0,0,48,4
|
||||
1,0,0,49,4
|
||||
1,0,0,50,4
|
||||
1,0,0,51,4
|
||||
1,0,0,52,4
|
||||
1,0,0,53,4
|
||||
1,0,0,54,4
|
||||
1,0,0,55,4
|
||||
1,0,0,56,4
|
||||
1,0,0,57,4
|
||||
1,0,0,58,4
|
||||
1,0,0,59,4
|
||||
1,0,0,60,4
|
||||
1,0,0,61,4
|
||||
1,0,0,62,4
|
||||
1,0,0,63,4
|
||||
1,0,0,64,4
|
||||
1,0,0,65,4
|
||||
1,0,0,66,4
|
||||
1,0,0,67,4
|
||||
1,0,0,68,4
|
||||
1,0,0,69,4
|
||||
1,0,0,70,4
|
||||
1,0,0,71,4
|
||||
1,0,0,72,4
|
||||
1,0,0,73,4
|
||||
1,0,0,74,4
|
||||
1,0,0,75,4
|
||||
1,0,0,76,4
|
||||
1,0,0,77,4
|
||||
1,0,0,78,4
|
||||
1,0,0,79,4
|
||||
1,0,0,80,4
|
||||
|
||||
1,1,0,41,4
|
||||
1,1,0,42,4
|
||||
1,1,0,43,4
|
||||
1,1,0,44,4
|
||||
1,1,0,45,4
|
||||
1,1,0,46,4
|
||||
1,1,0,47,4
|
||||
1,1,0,48,4
|
||||
1,1,0,49,4
|
||||
1,1,0,50,4
|
||||
1,1,0,51,4
|
||||
1,1,0,52,4
|
||||
1,1,0,53,4
|
||||
1,1,0,54,4
|
||||
1,1,0,55,4
|
||||
1,1,0,56,4
|
||||
1,1,0,57,4
|
||||
1,1,0,58,4
|
||||
1,1,0,59,4
|
||||
1,1,0,60,4
|
||||
1,1,0,61,4
|
||||
1,1,0,62,4
|
||||
1,1,0,63,4
|
||||
1,1,0,64,4
|
||||
1,1,0,65,4
|
||||
1,1,0,66,4
|
||||
1,1,0,67,4
|
||||
1,1,0,68,4
|
||||
1,1,0,69,4
|
||||
1,1,0,70,4
|
||||
1,1,0,71,4
|
||||
1,1,0,72,4
|
||||
1,1,0,73,4
|
||||
1,1,0,74,4
|
||||
1,1,0,75,4
|
||||
1,1,0,76,4
|
||||
1,1,0,77,4
|
||||
1,1,0,78,4
|
||||
1,1,0,79,4
|
||||
1,1,0,80,4
|
||||
|
||||
1,0,1,41,4
|
||||
1,0,1,42,4
|
||||
1,0,1,43,4
|
||||
1,0,1,44,4
|
||||
1,0,1,45,4
|
||||
1,0,1,46,4
|
||||
1,0,1,47,4
|
||||
1,0,1,48,4
|
||||
1,0,1,49,4
|
||||
1,0,1,50,4
|
||||
1,0,1,51,4
|
||||
1,0,1,52,4
|
||||
1,0,1,53,4
|
||||
1,0,1,54,4
|
||||
1,0,1,55,4
|
||||
1,0,1,56,4
|
||||
1,0,1,57,4
|
||||
1,0,1,58,4
|
||||
1,0,1,59,4
|
||||
1,0,1,60,4
|
||||
1,0,1,61,4
|
||||
1,0,1,62,4
|
||||
1,0,1,63,4
|
||||
1,0,1,64,4
|
||||
1,0,1,65,4
|
||||
1,0,1,66,4
|
||||
1,0,1,67,4
|
||||
1,0,1,68,4
|
||||
1,0,1,69,4
|
||||
1,0,1,70,4
|
||||
1,0,1,71,4
|
||||
1,0,1,72,4
|
||||
1,0,1,73,4
|
||||
1,0,1,74,4
|
||||
1,0,1,75,4
|
||||
1,0,1,76,4
|
||||
1,0,1,77,4
|
||||
1,0,1,78,4
|
||||
1,0,1,79,4
|
||||
1,0,1,80,4
|
||||
|
||||
1,1,1,41,4
|
||||
1,1,1,42,4
|
||||
1,1,1,43,4
|
||||
1,1,1,44,4
|
||||
1,1,1,45,4
|
||||
1,1,1,46,4
|
||||
1,1,1,47,4
|
||||
1,1,1,48,4
|
||||
1,1,1,49,4
|
||||
1,1,1,50,4
|
||||
1,1,1,51,4
|
||||
1,1,1,52,4
|
||||
1,1,1,53,4
|
||||
1,1,1,54,4
|
||||
1,1,1,55,4
|
||||
1,1,1,56,4
|
||||
1,1,1,57,4
|
||||
1,1,1,58,4
|
||||
1,1,1,59,4
|
||||
1,1,1,60,4
|
||||
1,1,1,61,4
|
||||
1,1,1,62,4
|
||||
1,1,1,63,4
|
||||
1,1,1,64,4
|
||||
1,1,1,65,4
|
||||
1,1,1,66,4
|
||||
1,1,1,67,4
|
||||
1,1,1,68,4
|
||||
1,1,1,69,4
|
||||
1,1,1,70,4
|
||||
1,1,1,71,4
|
||||
1,1,1,72,4
|
||||
1,1,1,73,4
|
||||
1,1,1,74,4
|
||||
1,1,1,75,4
|
||||
1,1,1,76,4
|
||||
1,1,1,77,4
|
||||
1,1,1,78,4
|
||||
1,1,1,79,4
|
||||
1,1,1,80,4
|
||||
|
||||
1,0,0,81,2
|
||||
1,0,0,82,2
|
||||
1,0,0,83,2
|
||||
1,0,0,84,2
|
||||
1,0,0,85,2
|
||||
1,0,0,86,2
|
||||
1,0,0,87,2
|
||||
1,0,0,88,2
|
||||
1,0,0,89,2
|
||||
1,0,0,90,2
|
||||
1,0,0,91,2
|
||||
1,0,0,92,2
|
||||
1,0,0,93,2
|
||||
1,0,0,94,2
|
||||
1,0,0,95,2
|
||||
1,0,0,96,2
|
||||
1,0,0,97,2
|
||||
1,0,0,98,2
|
||||
1,0,0,99,2
|
||||
1,0,0,100,2
|
||||
|
||||
1,1,0,81,2
|
||||
1,1,0,82,2
|
||||
1,1,0,83,2
|
||||
1,1,0,84,2
|
||||
1,1,0,85,2
|
||||
1,1,0,86,2
|
||||
1,1,0,87,2
|
||||
1,1,0,88,2
|
||||
1,1,0,89,2
|
||||
1,1,0,90,2
|
||||
1,1,0,91,2
|
||||
1,1,0,92,2
|
||||
1,1,0,93,2
|
||||
1,1,0,94,2
|
||||
1,1,0,95,2
|
||||
1,1,0,96,2
|
||||
1,1,0,97,2
|
||||
1,1,0,98,2
|
||||
1,1,0,99,2
|
||||
1,1,0,100,2
|
||||
|
||||
1,0,1,81,5
|
||||
1,0,1,82,5
|
||||
1,0,1,83,5
|
||||
1,0,1,84,5
|
||||
1,0,1,85,5
|
||||
1,0,1,86,5
|
||||
1,0,1,87,5
|
||||
1,0,1,88,5
|
||||
1,0,1,89,5
|
||||
1,0,1,90,5
|
||||
1,0,1,91,5
|
||||
1,0,1,92,5
|
||||
1,0,1,93,5
|
||||
1,0,1,94,5
|
||||
1,0,1,95,5
|
||||
1,0,1,96,5
|
||||
1,0,1,97,5
|
||||
1,0,1,98,5
|
||||
1,0,1,99,5
|
||||
1,0,1,100,5
|
||||
|
||||
1,1,1,81,5
|
||||
1,1,1,82,5
|
||||
1,1,1,83,5
|
||||
1,1,1,84,5
|
||||
1,1,1,85,5
|
||||
1,1,1,86,5
|
||||
1,1,1,87,5
|
||||
1,1,1,88,5
|
||||
1,1,1,89,5
|
||||
1,1,1,90,5
|
||||
1,1,1,91,5
|
||||
1,1,1,92,5
|
||||
1,1,1,93,5
|
||||
1,1,1,94,5
|
||||
1,1,1,95,5
|
||||
1,1,1,96,5
|
||||
1,1,1,97,5
|
||||
1,1,1,98,5
|
||||
1,1,1,99,5
|
||||
1,1,1,100,5
|
|
86
Sklearn/Generate.py
Normal file
@ -0,0 +1,86 @@
|
||||
# Load libraries
|
||||
import pickle
|
||||
import pandas as pd
|
||||
from sklearn import tree, metrics
|
||||
from sklearn.model_selection import train_test_split
|
||||
from sklearn.tree import DecisionTreeClassifier, _tree
|
||||
|
||||
|
||||
def tree_to_code(tree, feature_names):
|
||||
# f = open('generatedTree.py', 'w')
|
||||
tree_ = tree.tree_
|
||||
feature_name = [
|
||||
feature_names[i] if i != _tree.TREE_UNDEFINED else "undefined!"
|
||||
for i in tree_.feature
|
||||
]
|
||||
# print("def tree({}):".format(", ".join(feature_names)), file=f)
|
||||
print("def tree({}):".format(", ".join(feature_names)))
|
||||
|
||||
def recurse(node, depth):
|
||||
indent = " " * depth
|
||||
if tree_.feature[node] != _tree.TREE_UNDEFINED:
|
||||
name = feature_name[node]
|
||||
threshold = tree_.threshold[node]
|
||||
# print("{}if {} <= {}:".format(indent, name, threshold), file=f)
|
||||
print("{}if {} <= {}:".format(indent, name, threshold))
|
||||
recurse(tree_.children_left[node], depth + 1)
|
||||
# print("{}else: # if {} > {}".format(indent, name, threshold), file=f)
|
||||
print("{}else: # if {} > {}".format(indent, name, threshold))
|
||||
recurse(tree_.children_right[node], depth + 1)
|
||||
else:
|
||||
# print("{}return {}".format(indent, tree_.value[node],), file=f)
|
||||
print("{}return {}".format(indent, tree_.value[node]))
|
||||
|
||||
recurse(0, 1)
|
||||
# f.close()
|
||||
|
||||
|
||||
def loadLearningBase():
|
||||
col_names = ['Warzywo', 'Nawoz', 'Srodek', 'Stan', 'Dzialanie']
|
||||
base = pd.read_csv("Database.csv", header=None, names=col_names)
|
||||
feature_cols = ['Warzywo', 'Nawoz', 'Srodek', 'Stan']
|
||||
|
||||
""" print dataset"""
|
||||
# print(base.head())
|
||||
|
||||
X = base[feature_cols] # Features
|
||||
y = base.Dzialanie # Target variable
|
||||
|
||||
# Split dataset into training set and test set
|
||||
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3,
|
||||
random_state=1) # 70% training and 30% test
|
||||
|
||||
data = generateDecisionTree(X_train, X_test, y_train, y_test)
|
||||
|
||||
"""generate data for image"""
|
||||
# tree.export_graphviz(data, out_file='treeData.dot', filled=True, rounded=True, special_characters=True,
|
||||
# feature_names=feature_cols)
|
||||
|
||||
"""Printing if_styled tree to console"""
|
||||
# tree_to_code(data, feature_cols)
|
||||
|
||||
return data
|
||||
|
||||
|
||||
def generateDecisionTree(X_train, X_test, y_train, y_test):
|
||||
# Create Decision Tree classifer object
|
||||
clf = DecisionTreeClassifier(criterion="entropy")
|
||||
|
||||
# Train Decision Tree Classifer
|
||||
clf = clf.fit(X_train, y_train)
|
||||
|
||||
# Predict the response for test dataset
|
||||
y_pred = clf.predict(X_test)
|
||||
|
||||
"""Model Accuracy, how often is the classifier correct """
|
||||
# print("Accuracy:", metrics.accuracy_score(y_test, y_pred))
|
||||
|
||||
return clf
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
generated = loadLearningBase()
|
||||
|
||||
# Save generated tree
|
||||
filename = 'decisionTree.sav'
|
||||
pickle.dump(generated, open(filename, 'wb'))
|
36
Sklearn/Test.py
Normal file
@ -0,0 +1,36 @@
|
||||
import pickle
|
||||
|
||||
|
||||
def decision(prediction):
|
||||
if prediction == 0:
|
||||
return "Nie_podejmuj_działania"
|
||||
elif prediction == 1:
|
||||
return "Zastosuj_nawóz"
|
||||
elif prediction == 2:
|
||||
return "Zastosuj_środek"
|
||||
elif prediction == 4:
|
||||
return "Zbierz"
|
||||
elif prediction == 5:
|
||||
return "Roślina_już_zgniła-zbierz_i_wyrzuć"
|
||||
|
||||
|
||||
def test():
|
||||
for n in range(0, 2):
|
||||
if n == 0:
|
||||
print("############# Nie ma nawozu #############")
|
||||
else:
|
||||
print("############# Zastosowano nawóz #############")
|
||||
for s in range(0, 2):
|
||||
if s == 0:
|
||||
print("############# Nie ma środka ochrony #############")
|
||||
else:
|
||||
print("############# Zastosowano środek ochrony #############")
|
||||
for st in range(0, 101):
|
||||
val = tree.predict([[1, n, s, st]])
|
||||
print("Stan roślinki: ", st, " ", decision(val))
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
filename = 'decisionTree.sav'
|
||||
tree = pickle.load(open(filename, 'rb'))
|
||||
test()
|
BIN
Sklearn/decisionTree.sav
Normal file
14
Sklearn/injectCode.py
Normal file
@ -0,0 +1,14 @@
|
||||
import pickle
|
||||
import sys
|
||||
|
||||
|
||||
def prediction(warzywo, nawoz ,srodek, stan_wzrostu):
|
||||
filename = 'decisionTree.sav'
|
||||
tree = pickle.load(open(filename, 'rb'))
|
||||
print(tree.predict([[warzywo, nawoz, srodek, stan_wzrostu]]))
|
||||
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
# Map command line arguments to function arguments.
|
||||
prediction(*sys.argv[1:])
|
25
Sklearn/treeData.dot
Normal file
@ -0,0 +1,25 @@
|
||||
digraph Tree {
|
||||
node [shape=box, style="filled, rounded", color="black", fontname=helvetica] ;
|
||||
edge [fontname=helvetica] ;
|
||||
0 [label=<Stan ≤ 40.5<br/>entropy = 2.092<br/>samples = 280<br/>value = [78, 41, 29, 108, 24]>, fillcolor="#e2e2fb"] ;
|
||||
1 [label=<Nawoz ≤ 0.5<br/>entropy = 0.929<br/>samples = 119<br/>value = [78, 41, 0, 0, 0]>, fillcolor="#f3c3a1"] ;
|
||||
0 -> 1 [labeldistance=2.5, labelangle=45, headlabel="True"] ;
|
||||
2 [label=<Stan ≤ 10.5<br/>entropy = 0.796<br/>samples = 54<br/>value = [13, 41, 0, 0, 0]>, fillcolor="#a5ed78"] ;
|
||||
1 -> 2 ;
|
||||
3 [label=<entropy = 0.0<br/>samples = 13<br/>value = [13, 0, 0, 0, 0]>, fillcolor="#e58139"] ;
|
||||
2 -> 3 ;
|
||||
4 [label=<entropy = 0.0<br/>samples = 41<br/>value = [0, 41, 0, 0, 0]>, fillcolor="#7be539"] ;
|
||||
2 -> 4 ;
|
||||
5 [label=<entropy = 0.0<br/>samples = 65<br/>value = [65, 0, 0, 0, 0]>, fillcolor="#e58139"] ;
|
||||
1 -> 5 ;
|
||||
6 [label=<Stan ≤ 80.5<br/>entropy = 1.241<br/>samples = 161<br/>value = [0, 0, 29, 108, 24]>, fillcolor="#8a88ef"] ;
|
||||
0 -> 6 [labeldistance=2.5, labelangle=-45, headlabel="False"] ;
|
||||
7 [label=<entropy = 0.0<br/>samples = 108<br/>value = [0, 0, 0, 108, 0]>, fillcolor="#3c39e5"] ;
|
||||
6 -> 7 ;
|
||||
8 [label=<Srodek ≤ 0.5<br/>entropy = 0.994<br/>samples = 53<br/>value = [0, 0, 29, 0, 24]>, fillcolor="#ddfbf5"] ;
|
||||
6 -> 8 ;
|
||||
9 [label=<entropy = 0.0<br/>samples = 29<br/>value = [0, 0, 29, 0, 0]>, fillcolor="#39e5c5"] ;
|
||||
8 -> 9 ;
|
||||
10 [label=<entropy = 0.0<br/>samples = 24<br/>value = [0, 0, 0, 0, 24]>, fillcolor="#e539c0"] ;
|
||||
8 -> 10 ;
|
||||
}
|
BIN
Sklearn/treeData.png
Normal file
After Width: | Height: | Size: 95 KiB |
@ -7,11 +7,10 @@
|
||||
#include<set>
|
||||
#include<math.h>
|
||||
#include<stack>
|
||||
#include<fstream>
|
||||
|
||||
using namespace std;
|
||||
|
||||
const float maxFloat=FLT_MAX;
|
||||
const float maxFloat = FLT_MAX;
|
||||
const int ROW = 27;
|
||||
const int COL = 27;
|
||||
typedef pair<int, int> Pair;
|
||||
@ -22,7 +21,9 @@ struct cell
|
||||
double f, g, h;
|
||||
};
|
||||
|
||||
char pole[27][27][6];
|
||||
char pole[27][27][2];
|
||||
int stan[27][27][2];
|
||||
string polecenie = "python injectCode.py 1 ";
|
||||
int pozycjaTraktoraX = 1, pozycjaTraktoraY = 1;
|
||||
char currentWay = 'S';
|
||||
|
||||
@ -99,7 +100,6 @@ void color(string foregroundColor, string backgroundColor)
|
||||
backgroundCode = 15;
|
||||
SetConsoleTextAttribute(hOut, foregroundCode + backgroundCode * 16);
|
||||
}
|
||||
|
||||
void SetWindow(int Width, int Height)
|
||||
{
|
||||
_COORD coord;
|
||||
@ -116,7 +116,6 @@ void SetWindow(int Width, int Height)
|
||||
SetConsoleScreenBufferSize(Handle, coord); // Set Buffer Size
|
||||
SetConsoleWindowInfo(Handle, TRUE, &Rect); // Set Window Size
|
||||
}
|
||||
|
||||
void updatePola()
|
||||
{
|
||||
system("cls");
|
||||
@ -131,10 +130,6 @@ void updatePola()
|
||||
{
|
||||
color("purple", "dark_yellow");
|
||||
}break;
|
||||
case 'Z':
|
||||
{
|
||||
color("cyan", "dark_yellow");
|
||||
}break;
|
||||
case 'T':
|
||||
{
|
||||
color("red", "dark_yellow");
|
||||
@ -159,41 +154,40 @@ void updatePola()
|
||||
color("white", "black");
|
||||
}
|
||||
}
|
||||
|
||||
void correctMovement(char wantedWay)
|
||||
{
|
||||
while (currentWay != wantedWay)
|
||||
{
|
||||
switch (currentWay)
|
||||
{
|
||||
case 'N':
|
||||
{
|
||||
if (wantedWay == 'S')
|
||||
currentWay = wantedWay;
|
||||
else
|
||||
currentWay = 'W';
|
||||
}break;
|
||||
case 'S':
|
||||
{
|
||||
if (wantedWay == 'N')
|
||||
currentWay = wantedWay;
|
||||
else
|
||||
currentWay = 'W';
|
||||
}break;
|
||||
case 'W':
|
||||
{
|
||||
if (wantedWay == 'E')
|
||||
currentWay = wantedWay;
|
||||
else
|
||||
currentWay = 'N';
|
||||
}break;
|
||||
case 'E':
|
||||
{
|
||||
if (wantedWay == 'W')
|
||||
currentWay = wantedWay;
|
||||
else
|
||||
currentWay = 'N';
|
||||
}break;
|
||||
case 'N':
|
||||
{
|
||||
if (wantedWay == 'S')
|
||||
currentWay = wantedWay;
|
||||
else
|
||||
currentWay = 'W';
|
||||
}break;
|
||||
case 'S':
|
||||
{
|
||||
if (wantedWay == 'N')
|
||||
currentWay = wantedWay;
|
||||
else
|
||||
currentWay = 'W';
|
||||
}break;
|
||||
case 'W':
|
||||
{
|
||||
if (wantedWay == 'E')
|
||||
currentWay = wantedWay;
|
||||
else
|
||||
currentWay = 'N';
|
||||
}break;
|
||||
case 'E':
|
||||
{
|
||||
if (wantedWay == 'W')
|
||||
currentWay = wantedWay;
|
||||
else
|
||||
currentWay = 'N';
|
||||
}break;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -202,56 +196,55 @@ void Move(char kierunek)
|
||||
switch (kierunek)
|
||||
{
|
||||
//góra-(w)
|
||||
case 'w':
|
||||
case 'w':
|
||||
{
|
||||
if (pole[pozycjaTraktoraY - 1][pozycjaTraktoraX][0] != '#')
|
||||
{
|
||||
if (pole[pozycjaTraktoraY - 1][pozycjaTraktoraX][0] != '#')
|
||||
{
|
||||
correctMovement('N');
|
||||
pole[pozycjaTraktoraY][pozycjaTraktoraX][0] = '.';
|
||||
pozycjaTraktoraY--;
|
||||
pole[pozycjaTraktoraY][pozycjaTraktoraX][0] = 'T';
|
||||
}
|
||||
updatePola();
|
||||
}break;
|
||||
//dół-(s)
|
||||
case 's':
|
||||
correctMovement('N');
|
||||
pole[pozycjaTraktoraY][pozycjaTraktoraX][0] = '.';
|
||||
pozycjaTraktoraY--;
|
||||
pole[pozycjaTraktoraY][pozycjaTraktoraX][0] = 'T';
|
||||
}
|
||||
updatePola();
|
||||
}break;
|
||||
//dół-(s)
|
||||
case 's':
|
||||
{
|
||||
if (pole[pozycjaTraktoraY + 1][pozycjaTraktoraX][0] != '#')
|
||||
{
|
||||
if (pole[pozycjaTraktoraY + 1][pozycjaTraktoraX][0] != '#')
|
||||
{
|
||||
correctMovement('S');
|
||||
pole[pozycjaTraktoraY][pozycjaTraktoraX][0] = '.';
|
||||
pozycjaTraktoraY++;
|
||||
pole[pozycjaTraktoraY][pozycjaTraktoraX][0] = 'T';
|
||||
}
|
||||
updatePola();
|
||||
}break;
|
||||
//lewo-(a)
|
||||
case 'a':
|
||||
correctMovement('S');
|
||||
pole[pozycjaTraktoraY][pozycjaTraktoraX][0] = '.';
|
||||
pozycjaTraktoraY++;
|
||||
pole[pozycjaTraktoraY][pozycjaTraktoraX][0] = 'T';
|
||||
}
|
||||
updatePola();
|
||||
}break;
|
||||
//lewo-(a)
|
||||
case 'a':
|
||||
{
|
||||
if (pole[pozycjaTraktoraY][pozycjaTraktoraX - 1][0] != '#')
|
||||
{
|
||||
if (pole[pozycjaTraktoraY][pozycjaTraktoraX - 1][0] != '#')
|
||||
{
|
||||
correctMovement('W');
|
||||
pole[pozycjaTraktoraY][pozycjaTraktoraX][0] = '.';
|
||||
pozycjaTraktoraX--;
|
||||
pole[pozycjaTraktoraY][pozycjaTraktoraX][0] = 'T';
|
||||
}
|
||||
updatePola();
|
||||
}break;
|
||||
//prawo-(d)
|
||||
case 'd':
|
||||
correctMovement('W');
|
||||
pole[pozycjaTraktoraY][pozycjaTraktoraX][0] = '.';
|
||||
pozycjaTraktoraX--;
|
||||
pole[pozycjaTraktoraY][pozycjaTraktoraX][0] = 'T';
|
||||
}
|
||||
updatePola();
|
||||
}break;
|
||||
//prawo-(d)
|
||||
case 'd':
|
||||
{
|
||||
if (pole[pozycjaTraktoraY][pozycjaTraktoraX + 1][0] != '#')
|
||||
{
|
||||
if (pole[pozycjaTraktoraY][pozycjaTraktoraX + 1][0] != '#')
|
||||
{
|
||||
correctMovement('E');
|
||||
pole[pozycjaTraktoraY][pozycjaTraktoraX][0] = '.';
|
||||
pozycjaTraktoraX++;
|
||||
pole[pozycjaTraktoraY][pozycjaTraktoraX][0] = 'T';
|
||||
}
|
||||
updatePola();
|
||||
}break;
|
||||
correctMovement('E');
|
||||
pole[pozycjaTraktoraY][pozycjaTraktoraX][0] = '.';
|
||||
pozycjaTraktoraX++;
|
||||
pole[pozycjaTraktoraY][pozycjaTraktoraX][0] = 'T';
|
||||
}
|
||||
updatePola();
|
||||
}break;
|
||||
}
|
||||
}
|
||||
|
||||
bool isValid(int x, int y)
|
||||
{
|
||||
if (pole[x][y][0] != '#')
|
||||
@ -260,7 +253,7 @@ bool isValid(int x, int y)
|
||||
}
|
||||
return false;
|
||||
}
|
||||
bool isDestination(int x, int y,Pair dest)
|
||||
bool isDestination(int x, int y, Pair dest)
|
||||
{
|
||||
if (dest.first == x && dest.second == y)
|
||||
{
|
||||
@ -305,12 +298,12 @@ void tracePath(cell cellDetails[][COL], Pair dest)
|
||||
Move('w');
|
||||
|
||||
//printf("-> (%d,%d) ", p.first, p.second); //---- informacja wierzchołku
|
||||
Sleep(1000);
|
||||
//Sleep(1000);
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
void aStarSearch(int grid[][COL],Pair src, Pair dest)
|
||||
void aStarSearch(int grid[][COL], Pair src, Pair dest)
|
||||
{
|
||||
bool closedList[ROW][COL];
|
||||
memset(closedList, false, sizeof(closedList));
|
||||
@ -350,7 +343,7 @@ void aStarSearch(int grid[][COL],Pair src, Pair dest)
|
||||
|
||||
double gNew, hNew, fNew;
|
||||
double waga = 1.0;
|
||||
waga = ((double)pole[j][i][1] - 48)*1.0;//----waga
|
||||
waga = ((double)pole[j][i][1] - 48) * 1.0;//----waga
|
||||
|
||||
//----------- 1st Successor (North) ------------
|
||||
if (isValid(i - 1, j) == true)
|
||||
@ -484,11 +477,10 @@ void aStarSearch(int grid[][COL],Pair src, Pair dest)
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
void gogo(int endX,int endY)
|
||||
void gogo(int endX, int endY)
|
||||
{
|
||||
updatePola();
|
||||
Sleep(1000);
|
||||
//Sleep(1000);
|
||||
int grid[27][27];
|
||||
for (int i = 0; i < 27; i++)
|
||||
{
|
||||
@ -502,11 +494,38 @@ void gogo(int endX,int endY)
|
||||
aStarSearch(grid, src, dest);
|
||||
}
|
||||
|
||||
void stanPola(int x, int y) {
|
||||
//[x][x][0] = 0 - brak chemii
|
||||
//[x][x][0] = 1 - tylko nawóz
|
||||
//[x][x][0] = 2 - tylko środek
|
||||
//[x][x][0] = 3 - środek i nawóz
|
||||
//[x][x][1] - wartość wzrostu rośliny
|
||||
|
||||
if (stan[x][y][0] == 0)
|
||||
polecenie.append("0 0 ");
|
||||
if (stan[x][y][0] == 1)
|
||||
polecenie.append("1 0 ");
|
||||
if (stan[x][y][0] == 2)
|
||||
polecenie.append("0 1 ");
|
||||
if (stan[x][y][0] == 3)
|
||||
polecenie.append("1 1 ");
|
||||
int w = (stan[x][y][1]);
|
||||
std::string s = std::to_string(w);
|
||||
polecenie.append(s);
|
||||
}
|
||||
|
||||
void decisionTree(string polecenie) {
|
||||
|
||||
std::string str = polecenie;
|
||||
const char* c = str.c_str();
|
||||
system(c);
|
||||
}
|
||||
|
||||
void test1()
|
||||
{
|
||||
pole[1][3][0] = 'B';
|
||||
pole[1][3][1] = '9';
|
||||
pole[3][1][0] = 'Z';
|
||||
pole[3][1][0] = 'B';
|
||||
pole[3][1][1] = '9';
|
||||
}
|
||||
void test2()
|
||||
@ -523,116 +542,15 @@ void test2()
|
||||
updatePola();
|
||||
}
|
||||
|
||||
void testSI1()
|
||||
{
|
||||
for (int i = 1; i < 26; i++)
|
||||
{
|
||||
for (int j = 1; j < 26; j++)
|
||||
{
|
||||
if (j % 3 == 0)
|
||||
{
|
||||
pole[i][j][2] = 'z'; //zyzne
|
||||
pole[i][j][3] = 'n'; //nawodnione
|
||||
pole[i][j][4] = 'c'; //w cieniu
|
||||
pole[i][j][5] = 'k'; //kwasne
|
||||
}
|
||||
else
|
||||
{
|
||||
if (j % 3 == 1)
|
||||
{
|
||||
pole[i][j][2] = 'j'; //jalowe
|
||||
pole[i][j][3] = 'n'; //nawodnione
|
||||
pole[i][j][4] = 's'; //w sloncu
|
||||
pole[i][j][5] = 'n'; //neutralne
|
||||
}
|
||||
else
|
||||
{
|
||||
pole[i][j][2] = 'z'; //zyzne
|
||||
pole[i][j][3] = 's'; //suche
|
||||
pole[i][j][4] = 's'; //sloneczne
|
||||
pole[i][j][5] = 'z'; //zasadowe
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void sendState()
|
||||
{
|
||||
ofstream write("dane.txt");
|
||||
for (int i = 1; i < 26; i++)
|
||||
{
|
||||
for (int j = 1; j < 26; j++)
|
||||
{
|
||||
string a;
|
||||
a += pole[i][j][2];
|
||||
a += ' ';
|
||||
a += pole[i][j][3];
|
||||
a += ' ';
|
||||
a += pole[i][j][4];
|
||||
a += ' ';
|
||||
a += pole[i][j][5];
|
||||
write << a << endl;
|
||||
}
|
||||
}
|
||||
write.close();
|
||||
}
|
||||
void reciveState()
|
||||
{
|
||||
ifstream read("decyzje.txt");
|
||||
if (read.is_open())
|
||||
{
|
||||
char plant;
|
||||
int i = 1;
|
||||
int j = 1;
|
||||
while (read >> plant)
|
||||
{
|
||||
if (j == 25)
|
||||
{
|
||||
gogo(1, i+1);
|
||||
}
|
||||
else
|
||||
{
|
||||
gogo(j+1 , i );
|
||||
}
|
||||
pole[i][j][0] = plant;
|
||||
if (plant == '.')
|
||||
{
|
||||
pole[i][j][1] = '1';
|
||||
}
|
||||
else
|
||||
{
|
||||
pole[i][j][1] = '9';
|
||||
}
|
||||
if (j == 25)
|
||||
{
|
||||
j = 1;
|
||||
i += 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
j += 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void start1()
|
||||
{
|
||||
int goalX = 3, goalY = 4;
|
||||
test1();
|
||||
testSI1();
|
||||
pole[1][1][0] = 'T';
|
||||
pole[1][1][1] = '1';
|
||||
pole[goalY][goalX][0] = 'G';
|
||||
pole[goalY][goalX][1] = '9';
|
||||
gogo(goalX, goalY);
|
||||
gogo(goalX - 1, goalY);
|
||||
pole[goalY][goalX][0] = 'Z';
|
||||
pole[goalY][goalX][1] = '9';
|
||||
updatePola();
|
||||
//sendState(); //trzeba ręcznie zmieniać między wysyłaniem stanu a pobieraniem stanu pola
|
||||
reciveState();
|
||||
}
|
||||
void start2()
|
||||
{
|
||||
@ -655,9 +573,64 @@ void start3()
|
||||
gogo(goalX, goalY);
|
||||
}
|
||||
|
||||
void testTree() {
|
||||
int x, y;
|
||||
x = 3;
|
||||
y = 3;
|
||||
//Nie podejmuj
|
||||
stan[x][y][0] = 0;
|
||||
stan[x][y][1] = 10;
|
||||
stanPola(x, y);
|
||||
}
|
||||
void testTree1() {
|
||||
int x, y;
|
||||
x = 3;
|
||||
y = 3;
|
||||
//Nawoz
|
||||
stan[x][y][0] = 0;
|
||||
stan[x][y][1] = 15;
|
||||
stanPola(x, y);
|
||||
}
|
||||
void testTree2() {
|
||||
int x, y;
|
||||
x = 3;
|
||||
y = 3;
|
||||
//Nie podejmuj
|
||||
stan[x][y][0] = 1;
|
||||
stan[x][y][1] = 20;
|
||||
stanPola(x, y);
|
||||
}
|
||||
void testTree3() {
|
||||
int x, y;
|
||||
x = 3;
|
||||
y = 3;
|
||||
//Zbierz
|
||||
stan[x][y][0] = 1;
|
||||
stan[x][y][1] = 41;
|
||||
stanPola(x, y);
|
||||
}
|
||||
void testTree4() {
|
||||
int x, y;
|
||||
x = 3;
|
||||
y = 3;
|
||||
//Nie podejmuj
|
||||
stan[x][y][0] = 1;
|
||||
stan[x][y][1] = 90;
|
||||
stanPola(x, y);
|
||||
}
|
||||
void testTree5() {
|
||||
int x, y;
|
||||
x = 3;
|
||||
y = 3;
|
||||
//Srodek
|
||||
stan[x][y][0] = 3;
|
||||
stan[x][y][1] = 90;
|
||||
stanPola(x, y);
|
||||
}
|
||||
|
||||
int main()
|
||||
{
|
||||
SetWindow(50, 30);
|
||||
//SetWindow(50, 30);
|
||||
//create pola//
|
||||
for (int i = 0; i < 27; i++)
|
||||
{
|
||||
@ -687,7 +660,26 @@ int main()
|
||||
|
||||
updatePola();
|
||||
|
||||
start1(); // testy start 1-3
|
||||
//start3(); // testy start 1-3
|
||||
testTree();
|
||||
decisionTree(polecenie);
|
||||
polecenie = "python injectCode.py 1 ";
|
||||
testTree1();
|
||||
decisionTree(polecenie);
|
||||
polecenie = "python injectCode.py 1 ";
|
||||
testTree2();
|
||||
decisionTree(polecenie);
|
||||
polecenie = "python injectCode.py 1 ";
|
||||
testTree3();
|
||||
decisionTree(polecenie);
|
||||
polecenie = "python injectCode.py 1 ";
|
||||
testTree4();
|
||||
decisionTree(polecenie);
|
||||
polecenie = "python injectCode.py 1 ";
|
||||
testTree5();
|
||||
decisionTree(polecenie);
|
||||
|
||||
|
||||
|
||||
//---------start---------//
|
||||
bool traktorDziala = true;
|
31
Traktor_DrzewaDecyzyjne.sln
Normal file
@ -0,0 +1,31 @@
|
||||
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio Version 16
|
||||
VisualStudioVersion = 16.0.29503.13
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Traktor_DrzewaDecyzyjne", "Traktor_DrzewaDecyzyjne.vcxproj", "{C2FF0872-AC9D-4BD9-A46D-DC65A728BFF5}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|x64 = Debug|x64
|
||||
Debug|x86 = Debug|x86
|
||||
Release|x64 = Release|x64
|
||||
Release|x86 = Release|x86
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{C2FF0872-AC9D-4BD9-A46D-DC65A728BFF5}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{C2FF0872-AC9D-4BD9-A46D-DC65A728BFF5}.Debug|x64.Build.0 = Debug|x64
|
||||
{C2FF0872-AC9D-4BD9-A46D-DC65A728BFF5}.Debug|x86.ActiveCfg = Debug|Win32
|
||||
{C2FF0872-AC9D-4BD9-A46D-DC65A728BFF5}.Debug|x86.Build.0 = Debug|Win32
|
||||
{C2FF0872-AC9D-4BD9-A46D-DC65A728BFF5}.Release|x64.ActiveCfg = Release|x64
|
||||
{C2FF0872-AC9D-4BD9-A46D-DC65A728BFF5}.Release|x64.Build.0 = Release|x64
|
||||
{C2FF0872-AC9D-4BD9-A46D-DC65A728BFF5}.Release|x86.ActiveCfg = Release|Win32
|
||||
{C2FF0872-AC9D-4BD9-A46D-DC65A728BFF5}.Release|x86.Build.0 = Release|Win32
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||
SolutionGuid = {891B470F-58C4-41E4-A102-A1D8CBB6BD64}
|
||||
EndGlobalSection
|
||||
EndGlobal
|
163
Traktor_DrzewaDecyzyjne.vcxproj
Normal file
@ -0,0 +1,163 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|x64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|x64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<VCProjectVersion>16.0</VCProjectVersion>
|
||||
<ProjectGuid>{C2FF0872-AC9D-4BD9-A46D-DC65A728BFF5}</ProjectGuid>
|
||||
<Keyword>Win32Proj</Keyword>
|
||||
<RootNamespace>TraktorDrzewaDecyzyjne</RootNamespace>
|
||||
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>v142</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v142</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>v142</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v142</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="Shared">
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<ConformanceMode>true</ConformanceMode>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<PreprocessorDefinitions>_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<ConformanceMode>true</ConformanceMode>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<ConformanceMode>true</ConformanceMode>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<PreprocessorDefinitions>NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<ConformanceMode>true</ConformanceMode>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="Traktor_DrzewaDecyzyjne.cpp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="..\AI_Traktor\decisionTree.sav" />
|
||||
<None Include="..\AI_Traktor\injectCode.py" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
</Project>
|
1166
backups/Main.cpp
@ -1,606 +0,0 @@
|
||||
#include<iostream>
|
||||
#include<stdlib.h>
|
||||
#include<windows.h>
|
||||
#include<conio.h>
|
||||
#include<string>
|
||||
#include<list>
|
||||
#include<set>
|
||||
#include<math.h>
|
||||
#include<stack>
|
||||
|
||||
using namespace std;
|
||||
|
||||
const float maxFloat=FLT_MAX;
|
||||
const int ROW = 27;
|
||||
const int COL = 27;
|
||||
typedef pair<int, int> Pair;
|
||||
typedef pair<double, pair<int, int>> pPair;
|
||||
struct cell
|
||||
{
|
||||
int parent_i, parent_j;
|
||||
double f, g, h;
|
||||
};
|
||||
|
||||
char pole[27][27][2];
|
||||
int pozycjaTraktoraX = 1, pozycjaTraktoraY = 1;
|
||||
char currentWay = 'S';
|
||||
|
||||
void color(string foregroundColor, string backgroundColor)
|
||||
{
|
||||
HANDLE hOut;
|
||||
hOut = GetStdHandle(STD_OUTPUT_HANDLE);
|
||||
int foregroundCode = 15;
|
||||
if (foregroundColor == "black")
|
||||
foregroundCode = 0;
|
||||
if (foregroundColor == "dark_blue")
|
||||
foregroundCode = 1;
|
||||
if (foregroundColor == "green")
|
||||
foregroundCode = 2;
|
||||
if (foregroundColor == "cyan")
|
||||
foregroundCode = 3;
|
||||
if (foregroundColor == "dark_red")
|
||||
foregroundCode = 4;
|
||||
if (foregroundColor == "purple")
|
||||
foregroundCode = 5;
|
||||
if (foregroundColor == "dark_yellow")
|
||||
foregroundCode = 6;
|
||||
if (foregroundColor == "light_gray")
|
||||
foregroundCode = 7;
|
||||
if (foregroundColor == "gray")
|
||||
foregroundCode = 8;
|
||||
if (foregroundColor == "blue")
|
||||
foregroundCode = 9;
|
||||
if (foregroundColor == "lime")
|
||||
foregroundCode = 10;
|
||||
if (foregroundColor == "light_blue")
|
||||
foregroundCode = 11;
|
||||
if (foregroundColor == "red")
|
||||
foregroundCode = 12;
|
||||
if (foregroundColor == "magenta")
|
||||
foregroundCode = 13;
|
||||
if (foregroundColor == "yellow")
|
||||
foregroundCode = 14;
|
||||
if (foregroundColor == "white")
|
||||
foregroundCode = 15;
|
||||
|
||||
int backgroundCode = 0;
|
||||
if (backgroundColor == "black")
|
||||
backgroundCode = 0;
|
||||
if (backgroundColor == "dark_blue")
|
||||
backgroundCode = 1;
|
||||
if (backgroundColor == "green")
|
||||
backgroundCode = 2;
|
||||
if (backgroundColor == "cyan")
|
||||
backgroundCode = 3;
|
||||
if (backgroundColor == "dark_red")
|
||||
backgroundCode = 4;
|
||||
if (backgroundColor == "purple")
|
||||
backgroundCode = 5;
|
||||
if (backgroundColor == "dark_yellow")
|
||||
backgroundCode = 6;
|
||||
if (backgroundColor == "light_gray")
|
||||
backgroundCode = 7;
|
||||
if (backgroundColor == "gray")
|
||||
backgroundCode = 8;
|
||||
if (backgroundColor == "blue")
|
||||
backgroundCode = 9;
|
||||
if (backgroundColor == "lime")
|
||||
backgroundCode = 10;
|
||||
if (backgroundColor == "light_blue")
|
||||
backgroundCode = 11;
|
||||
if (backgroundColor == "red")
|
||||
backgroundCode = 12;
|
||||
if (backgroundColor == "magenta")
|
||||
backgroundCode = 13;
|
||||
if (backgroundColor == "yellow")
|
||||
backgroundCode = 14;
|
||||
if (backgroundColor == "white")
|
||||
backgroundCode = 15;
|
||||
SetConsoleTextAttribute(hOut, foregroundCode + backgroundCode * 16);
|
||||
}
|
||||
|
||||
void SetWindow(int Width, int Height)
|
||||
{
|
||||
_COORD coord;
|
||||
coord.X = Width;
|
||||
coord.Y = Height;
|
||||
|
||||
_SMALL_RECT Rect;
|
||||
Rect.Top = 0;
|
||||
Rect.Left = 0;
|
||||
Rect.Bottom = Height - 1;
|
||||
Rect.Right = Width - 1;
|
||||
|
||||
HANDLE Handle = GetStdHandle(STD_OUTPUT_HANDLE); // Get Handle
|
||||
SetConsoleScreenBufferSize(Handle, coord); // Set Buffer Size
|
||||
SetConsoleWindowInfo(Handle, TRUE, &Rect); // Set Window Size
|
||||
}
|
||||
|
||||
void updatePola()
|
||||
{
|
||||
system("cls");
|
||||
for (int i = 0; i < 27; i++)
|
||||
{
|
||||
for (int j = 0; j < 27; j++)
|
||||
{
|
||||
char item = pole[i][j][0];
|
||||
switch (item)
|
||||
{
|
||||
case 'B':
|
||||
{
|
||||
color("purple", "dark_yellow");
|
||||
}break;
|
||||
case 'T':
|
||||
{
|
||||
color("red", "dark_yellow");
|
||||
}break;
|
||||
case 'G':
|
||||
{
|
||||
color("lime", "dark_yellow");
|
||||
}break;
|
||||
case '.':
|
||||
{
|
||||
color("yellow", "dark_yellow");
|
||||
}break;
|
||||
case '#':
|
||||
{
|
||||
color("light_gray", "gray");
|
||||
}break;
|
||||
}
|
||||
cout << pole[i][j][0];
|
||||
|
||||
}
|
||||
cout << endl;
|
||||
color("white", "black");
|
||||
}
|
||||
}
|
||||
|
||||
void correctMovement(char wantedWay)
|
||||
{
|
||||
while (currentWay != wantedWay)
|
||||
{
|
||||
switch (currentWay)
|
||||
{
|
||||
case 'N':
|
||||
{
|
||||
if (wantedWay == 'S')
|
||||
currentWay = wantedWay;
|
||||
else
|
||||
currentWay = 'W';
|
||||
}break;
|
||||
case 'S':
|
||||
{
|
||||
if (wantedWay == 'N')
|
||||
currentWay = wantedWay;
|
||||
else
|
||||
currentWay = 'W';
|
||||
}break;
|
||||
case 'W':
|
||||
{
|
||||
if (wantedWay == 'E')
|
||||
currentWay = wantedWay;
|
||||
else
|
||||
currentWay = 'N';
|
||||
}break;
|
||||
case 'E':
|
||||
{
|
||||
if (wantedWay == 'W')
|
||||
currentWay = wantedWay;
|
||||
else
|
||||
currentWay = 'N';
|
||||
}break;
|
||||
}
|
||||
}
|
||||
}
|
||||
void Move(char kierunek)
|
||||
{
|
||||
switch (kierunek)
|
||||
{
|
||||
//góra-(w)
|
||||
case 'w':
|
||||
{
|
||||
if (pole[pozycjaTraktoraY - 1][pozycjaTraktoraX][0] != '#')
|
||||
{
|
||||
correctMovement('N');
|
||||
pole[pozycjaTraktoraY][pozycjaTraktoraX][0] = '.';
|
||||
pozycjaTraktoraY--;
|
||||
pole[pozycjaTraktoraY][pozycjaTraktoraX][0] = 'T';
|
||||
}
|
||||
updatePola();
|
||||
}break;
|
||||
//dół-(s)
|
||||
case 's':
|
||||
{
|
||||
if (pole[pozycjaTraktoraY + 1][pozycjaTraktoraX][0] != '#')
|
||||
{
|
||||
correctMovement('S');
|
||||
pole[pozycjaTraktoraY][pozycjaTraktoraX][0] = '.';
|
||||
pozycjaTraktoraY++;
|
||||
pole[pozycjaTraktoraY][pozycjaTraktoraX][0] = 'T';
|
||||
}
|
||||
updatePola();
|
||||
}break;
|
||||
//lewo-(a)
|
||||
case 'a':
|
||||
{
|
||||
if (pole[pozycjaTraktoraY][pozycjaTraktoraX - 1][0] != '#')
|
||||
{
|
||||
correctMovement('W');
|
||||
pole[pozycjaTraktoraY][pozycjaTraktoraX][0] = '.';
|
||||
pozycjaTraktoraX--;
|
||||
pole[pozycjaTraktoraY][pozycjaTraktoraX][0] = 'T';
|
||||
}
|
||||
updatePola();
|
||||
}break;
|
||||
//prawo-(d)
|
||||
case 'd':
|
||||
{
|
||||
if (pole[pozycjaTraktoraY][pozycjaTraktoraX + 1][0] != '#')
|
||||
{
|
||||
correctMovement('E');
|
||||
pole[pozycjaTraktoraY][pozycjaTraktoraX][0] = '.';
|
||||
pozycjaTraktoraX++;
|
||||
pole[pozycjaTraktoraY][pozycjaTraktoraX][0] = 'T';
|
||||
}
|
||||
updatePola();
|
||||
}break;
|
||||
}
|
||||
}
|
||||
|
||||
bool isValid(int x, int y)
|
||||
{
|
||||
if (pole[x][y][0] != '#')
|
||||
{
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
bool isDestination(int x, int y,Pair dest)
|
||||
{
|
||||
if (dest.first == x && dest.second == y)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
double calculateHValue(int x, int y, Pair dest)
|
||||
{
|
||||
return abs(x - dest.first) + abs(y - dest.second);
|
||||
}
|
||||
void tracePath(cell cellDetails[][COL], Pair dest)
|
||||
{
|
||||
//printf("\nThe Path is "); //----start info
|
||||
int row = dest.first;
|
||||
int col = dest.second;
|
||||
|
||||
stack<Pair> Path;
|
||||
|
||||
while (!(cellDetails[row][col].parent_i == row
|
||||
&& cellDetails[row][col].parent_j == col))
|
||||
{
|
||||
Path.push(make_pair(row, col));
|
||||
int temp_row = cellDetails[row][col].parent_i;
|
||||
int temp_col = cellDetails[row][col].parent_j;
|
||||
row = temp_row;
|
||||
col = temp_col;
|
||||
}
|
||||
|
||||
Path.push(make_pair(row, col));
|
||||
while (!Path.empty())
|
||||
{
|
||||
pair<int, int> p = Path.top();
|
||||
Path.pop();
|
||||
if (p.first > pozycjaTraktoraX)
|
||||
Move('d');
|
||||
if (p.first < pozycjaTraktoraX)
|
||||
Move('a');
|
||||
if (p.second > pozycjaTraktoraY)
|
||||
Move('s');
|
||||
if (p.second < pozycjaTraktoraY)
|
||||
Move('w');
|
||||
|
||||
//printf("-> (%d,%d) ", p.first, p.second); //---- informacja wierzchołku
|
||||
Sleep(1000);
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
void aStarSearch(int grid[][COL],Pair src, Pair dest)
|
||||
{
|
||||
bool closedList[ROW][COL];
|
||||
memset(closedList, false, sizeof(closedList));
|
||||
|
||||
cell cellDetails[ROW][COL];
|
||||
|
||||
int i, j;
|
||||
for (i = 0; i < ROW; i++)
|
||||
{
|
||||
for (j = 0; j < COL; j++)
|
||||
{
|
||||
cellDetails[i][j].f = maxFloat;
|
||||
cellDetails[i][j].g = maxFloat;
|
||||
cellDetails[i][j].h = maxFloat;
|
||||
cellDetails[i][j].parent_i = -1;
|
||||
cellDetails[i][j].parent_j = -1;
|
||||
}
|
||||
}
|
||||
i = src.first, j = src.second;
|
||||
cellDetails[i][j].f = 0.0;
|
||||
cellDetails[i][j].g = 0.0;
|
||||
cellDetails[i][j].h = 0.0;
|
||||
cellDetails[i][j].parent_i = i;
|
||||
cellDetails[i][j].parent_j = j;
|
||||
|
||||
set<pPair> openList;
|
||||
openList.insert(make_pair(0.0, make_pair(i, j)));
|
||||
bool foundDest = false;
|
||||
|
||||
while (!openList.empty())
|
||||
{
|
||||
pPair p = *openList.begin();
|
||||
openList.erase(openList.begin());
|
||||
i = p.second.first;
|
||||
j = p.second.second;
|
||||
closedList[i][j] = true;
|
||||
|
||||
double gNew, hNew, fNew;
|
||||
double waga = 1.0;
|
||||
waga = ((double)pole[j][i][1] - 48)*1.0;//----waga
|
||||
|
||||
//----------- 1st Successor (North) ------------
|
||||
if (isValid(i - 1, j) == true)
|
||||
{
|
||||
if (isDestination(i - 1, j, dest) == true)
|
||||
{
|
||||
cellDetails[i - 1][j].parent_i = i;
|
||||
cellDetails[i - 1][j].parent_j = j;
|
||||
//printf("The destination cell is found\n");
|
||||
tracePath(cellDetails, dest);
|
||||
foundDest = true;
|
||||
return;
|
||||
}
|
||||
else if (closedList[i - 1][j] == false)
|
||||
{
|
||||
gNew = cellDetails[i][j].g + waga;
|
||||
hNew = calculateHValue(i - 1, j, dest);
|
||||
fNew = gNew + hNew;
|
||||
|
||||
if (cellDetails[i - 1][j].f == maxFloat ||
|
||||
cellDetails[i - 1][j].f > fNew)
|
||||
{
|
||||
openList.insert(make_pair(fNew,
|
||||
make_pair(i - 1, j)));
|
||||
|
||||
|
||||
cellDetails[i - 1][j].f = fNew;
|
||||
cellDetails[i - 1][j].g = gNew;
|
||||
cellDetails[i - 1][j].h = hNew;
|
||||
cellDetails[i - 1][j].parent_i = i;
|
||||
cellDetails[i - 1][j].parent_j = j;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//----------- 2nd Successor (South) ------------
|
||||
if (isValid(i + 1, j) == true)
|
||||
{
|
||||
if (isDestination(i + 1, j, dest) == true)
|
||||
{
|
||||
cellDetails[i + 1][j].parent_i = i;
|
||||
cellDetails[i + 1][j].parent_j = j;
|
||||
//printf("The destination cell is found\n");
|
||||
tracePath(cellDetails, dest);
|
||||
foundDest = true;
|
||||
return;
|
||||
}
|
||||
else if (closedList[i + 1][j] == false)
|
||||
{
|
||||
gNew = cellDetails[i][j].g + waga;
|
||||
hNew = calculateHValue(i + 1, j, dest);
|
||||
fNew = gNew + hNew;
|
||||
if (cellDetails[i + 1][j].f == maxFloat ||
|
||||
cellDetails[i + 1][j].f > fNew)
|
||||
{
|
||||
openList.insert(make_pair(fNew, make_pair(i + 1, j)));
|
||||
cellDetails[i + 1][j].f = fNew;
|
||||
cellDetails[i + 1][j].g = gNew;
|
||||
cellDetails[i + 1][j].h = hNew;
|
||||
cellDetails[i + 1][j].parent_i = i;
|
||||
cellDetails[i + 1][j].parent_j = j;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//----------- 3rd Successor (East) ------------
|
||||
if (isValid(i, j + 1) == true)
|
||||
{
|
||||
if (isDestination(i, j + 1, dest) == true)
|
||||
{
|
||||
cellDetails[i][j + 1].parent_i = i;
|
||||
cellDetails[i][j + 1].parent_j = j;
|
||||
//printf("The destination cell is found\n");
|
||||
tracePath(cellDetails, dest);
|
||||
foundDest = true;
|
||||
return;
|
||||
}
|
||||
else if (closedList[i][j + 1] == false)
|
||||
{
|
||||
gNew = cellDetails[i][j].g + waga;
|
||||
hNew = calculateHValue(i, j + 1, dest);
|
||||
fNew = gNew + hNew;
|
||||
if (cellDetails[i][j + 1].f == maxFloat ||
|
||||
cellDetails[i][j + 1].f > fNew)
|
||||
{
|
||||
openList.insert(make_pair(fNew,
|
||||
make_pair(i, j + 1)));
|
||||
cellDetails[i][j + 1].f = fNew;
|
||||
cellDetails[i][j + 1].g = gNew;
|
||||
cellDetails[i][j + 1].h = hNew;
|
||||
cellDetails[i][j + 1].parent_i = i;
|
||||
cellDetails[i][j + 1].parent_j = j;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//----------- 4th Successor (West) ------------
|
||||
if (isValid(i, j - 1) == true)
|
||||
{
|
||||
if (isDestination(i, j - 1, dest) == true)
|
||||
{
|
||||
cellDetails[i][j - 1].parent_i = i;
|
||||
cellDetails[i][j - 1].parent_j = j;
|
||||
//printf("The destination cell is found\n");
|
||||
tracePath(cellDetails, dest);
|
||||
foundDest = true;
|
||||
return;
|
||||
}
|
||||
else if (closedList[i][j - 1] == false)
|
||||
{
|
||||
gNew = cellDetails[i][j].g + waga;
|
||||
hNew = calculateHValue(i, j - 1, dest);
|
||||
fNew = gNew + hNew;
|
||||
if (cellDetails[i][j - 1].f == maxFloat ||
|
||||
cellDetails[i][j - 1].f > fNew)
|
||||
{
|
||||
openList.insert(make_pair(fNew,
|
||||
make_pair(i, j - 1)));
|
||||
cellDetails[i][j - 1].f = fNew;
|
||||
cellDetails[i][j - 1].g = gNew;
|
||||
cellDetails[i][j - 1].h = hNew;
|
||||
cellDetails[i][j - 1].parent_i = i;
|
||||
cellDetails[i][j - 1].parent_j = j;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/*if (foundDest == false)
|
||||
printf("Failed to find the Destination Cell\n");*/
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
void gogo(int endX,int endY)
|
||||
{
|
||||
updatePola();
|
||||
Sleep(1000);
|
||||
int grid[27][27];
|
||||
for (int i = 0; i < 27; i++)
|
||||
{
|
||||
for (int j = 0; j < 27; j++)
|
||||
{
|
||||
grid[i][j] = 0;
|
||||
}
|
||||
}
|
||||
Pair src = make_pair(pozycjaTraktoraX, pozycjaTraktoraY);
|
||||
Pair dest = make_pair(endX, endY);
|
||||
aStarSearch(grid, src, dest);
|
||||
}
|
||||
|
||||
void test1()
|
||||
{
|
||||
pole[1][3][0] = 'B';
|
||||
pole[1][3][1] = '9';
|
||||
pole[3][1][0] = 'B';
|
||||
pole[3][1][1] = '9';
|
||||
}
|
||||
void test2()
|
||||
{
|
||||
for (int i = 1; i < 26; i++)
|
||||
{
|
||||
for (int j = 1; j < i; j++)
|
||||
{
|
||||
pole[i][j][0] = 'B';
|
||||
pole[i][j][1] = '9';
|
||||
}
|
||||
}
|
||||
test1();
|
||||
updatePola();
|
||||
}
|
||||
|
||||
void start1()
|
||||
{
|
||||
int goalX = 3, goalY = 4;
|
||||
test1();
|
||||
pole[1][1][0] = 'T';
|
||||
pole[1][1][1] = '1';
|
||||
pole[goalY][goalX][0] = 'G';
|
||||
pole[goalY][goalX][1] = '9';
|
||||
gogo(goalX, goalY);
|
||||
}
|
||||
void start2()
|
||||
{
|
||||
int goalX = 6, goalY = 6;
|
||||
test2();
|
||||
pole[1][1][0] = 'T';
|
||||
pole[1][1][1] = '1';
|
||||
pole[goalY][goalX][0] = 'G';
|
||||
pole[goalY][goalX][1] = '9';
|
||||
gogo(goalX, goalY);
|
||||
}
|
||||
void start3()
|
||||
{
|
||||
int goalX = 6, goalY = 9;
|
||||
test2();
|
||||
pole[1][1][0] = 'T';
|
||||
pole[1][1][1] = '1';
|
||||
pole[goalY][goalX][0] = 'G';
|
||||
pole[goalY][goalX][1] = '9';
|
||||
gogo(goalX, goalY);
|
||||
}
|
||||
|
||||
int main()
|
||||
{
|
||||
SetWindow(50, 30);
|
||||
//create pola//
|
||||
for (int i = 0; i < 27; i++)
|
||||
{
|
||||
pole[i][0][0] = '#';
|
||||
pole[0][i][0] = '#';
|
||||
pole[26][i][0] = '#';
|
||||
pole[i][26][0] = '#';
|
||||
pole[i][0][1] = '9';
|
||||
pole[0][i][1] = '9';
|
||||
pole[26][i][1] = '9';
|
||||
pole[i][26][1] = '9';
|
||||
}
|
||||
for (int i = 1; i < 26; i++)
|
||||
{
|
||||
for (int j = 1; j < 26; j++)
|
||||
{
|
||||
pole[i][j][0] = '.';
|
||||
pole[i][j][1] = '1';
|
||||
}
|
||||
}
|
||||
|
||||
for (int i = 0; i < 25; i++)
|
||||
{
|
||||
pole[i + 1][i + 1][0] = 'B';
|
||||
pole[i + 1][i + 1][1] = '9';
|
||||
}
|
||||
|
||||
updatePola();
|
||||
|
||||
start3(); // testy start 1-3
|
||||
|
||||
//---------start---------//
|
||||
bool traktorDziala = true;
|
||||
|
||||
char akcja;
|
||||
|
||||
do
|
||||
{
|
||||
akcja = _getch();
|
||||
if (akcja == 'w' || akcja == 's' || akcja == 'a' || akcja == 'd')
|
||||
{
|
||||
Move(akcja);
|
||||
}
|
||||
if (akcja == '0')
|
||||
{
|
||||
traktorDziala = false;
|
||||
}
|
||||
} while (traktorDziala);
|
||||
//---------end---------//
|
||||
|
||||
return 0;
|
||||
}
|
625
dane.txt
@ -1,625 +0,0 @@
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
||||
z s s z
|
||||
z n c k
|
||||
j n s n
|
625
decyzje.txt
@ -1,625 +0,0 @@
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
||||
B
|
||||
Z
|
||||
.
|
@ -1,165 +0,0 @@
|
||||
training_data = [
|
||||
#zyznosc, nawodnienie, cien, kwasowosc
|
||||
['z', 'n', 's', 'z', 1],
|
||||
['z', 'n', 's', 'n', 1],
|
||||
['j', 'n', 's', 'z', 1],
|
||||
['z', 's', 's', 'n', 1],
|
||||
['j', 'n', 'c', 'n', 1],
|
||||
['z', 'n', 's', 'k', 1],
|
||||
['z', 'n', 'c', 'k', 2],
|
||||
['z', 's', 's', 'k', 2],
|
||||
['z', 's', 'c', 'k', 2],
|
||||
['j', 'n', 's', 'k', 2],
|
||||
['z', 's', 'c', 'z', 3],
|
||||
['j', 'n', 's', 'n', 3]
|
||||
]
|
||||
|
||||
header = ["zyznosc", "nawodnienie", "cien", "kwasowosc", "wybor"]
|
||||
|
||||
def class_counts(rows):
|
||||
counts = {}
|
||||
for row in rows:
|
||||
label = row[-1]
|
||||
if label not in counts:
|
||||
counts[label] = 0
|
||||
counts[label] += 1
|
||||
return counts
|
||||
|
||||
|
||||
def is_numeric(value):
|
||||
return isinstance(value, int) or isinstance(value, float)
|
||||
|
||||
|
||||
class Question:
|
||||
def __init__(self, column, value):
|
||||
self.column = column
|
||||
self.value = value
|
||||
|
||||
def match(self, example):
|
||||
val = example[self.column]
|
||||
if is_numeric(val):
|
||||
return val >= self.value
|
||||
else:
|
||||
return val == self.value
|
||||
|
||||
def __repr__(self):
|
||||
condition = "=="
|
||||
if is_numeric(self.value):
|
||||
condition = ">="
|
||||
return "Czy %s %s %s?" % (
|
||||
header[self.column], condition, str(self.value))
|
||||
|
||||
def partition(rows, question):
|
||||
true_rows, false_rows = [], []
|
||||
for row in rows:
|
||||
if question.match(row):
|
||||
true_rows.append(row)
|
||||
else:
|
||||
false_rows.append(row)
|
||||
return true_rows, false_rows
|
||||
|
||||
|
||||
def gini(rows):
|
||||
counts = class_counts(rows)
|
||||
impurity = 1
|
||||
for lbl in counts:
|
||||
prob_of_lbl = counts[lbl] / float(len(rows))
|
||||
impurity -= prob_of_lbl**2
|
||||
return impurity
|
||||
|
||||
|
||||
def info_gain(left, right, current_uncertainty):
|
||||
p = float(len(left)) / (len(left) + len(right))
|
||||
return current_uncertainty - p * gini(left) - (1 - p) * gini(right)
|
||||
|
||||
|
||||
def find_best_split(rows):
|
||||
best_gain = 0
|
||||
best_question = None
|
||||
current_uncertainty = gini(rows)
|
||||
n_features = len(rows[0]) - 1
|
||||
for col in range(n_features):
|
||||
values = set([row[col] for row in rows])
|
||||
for val in values:
|
||||
question = Question(col, val)
|
||||
true_rows, false_rows = partition(rows, question)
|
||||
if len(true_rows) == 0 or len(false_rows) == 0:
|
||||
continue
|
||||
gain = info_gain(true_rows, false_rows, current_uncertainty)
|
||||
if gain >= best_gain:
|
||||
best_gain, best_question = gain, question
|
||||
return best_gain, best_question
|
||||
|
||||
|
||||
class Leaf:
|
||||
def __init__(self, rows):
|
||||
self.predictions = class_counts(rows)
|
||||
|
||||
class Decision_Node:
|
||||
def __init__(self,
|
||||
question,
|
||||
true_branch,
|
||||
false_branch):
|
||||
self.question = question
|
||||
self.true_branch = true_branch
|
||||
self.false_branch = false_branch
|
||||
|
||||
def build_tree(rows):
|
||||
gain, question = find_best_split(rows)
|
||||
if gain == 0:
|
||||
return Leaf(rows)
|
||||
true_rows, false_rows = partition(rows, question)
|
||||
true_branch = build_tree(true_rows)
|
||||
false_branch = build_tree(false_rows)
|
||||
return Decision_Node(question, true_branch, false_branch)
|
||||
|
||||
|
||||
def print_tree(node, spacing=""):
|
||||
if isinstance(node, Leaf):
|
||||
print (spacing + "Predict", node.predictions)
|
||||
return
|
||||
print (spacing + str(node.question))
|
||||
print (spacing + '--> True:')
|
||||
print_tree(node.true_branch, spacing + " ")
|
||||
print (spacing + '--> False:')
|
||||
print_tree(node.false_branch, spacing + " ")
|
||||
|
||||
|
||||
my_tree = build_tree(training_data)
|
||||
|
||||
print_tree(my_tree)
|
||||
|
||||
def classify(row, node):
|
||||
if isinstance(node, Leaf):
|
||||
return node.predictions
|
||||
if node.question.match(row):
|
||||
return classify(row, node.true_branch)
|
||||
else:
|
||||
return classify(row, node.false_branch)
|
||||
|
||||
def print_leaf(counts):
|
||||
total = sum(counts.values()) * 1.0
|
||||
probs = {}
|
||||
for lbl in counts.keys():
|
||||
probs[lbl] = str(int(counts[lbl] / total * 100)) + "%"
|
||||
return probs
|
||||
|
||||
|
||||
with open( 'dane.txt', "r" ) as f:
|
||||
testing_data = [ line.split() for line in f ]
|
||||
|
||||
|
||||
file = open("decyzje.txt", "w")
|
||||
file.write("")
|
||||
file.close()
|
||||
|
||||
for row in testing_data:
|
||||
pom = print_leaf(classify(row, my_tree))
|
||||
f = open("decyzje.txt", "a")
|
||||
if pom == {1: '100%'}:
|
||||
f.write("B\n")
|
||||
if pom == {2: '100%'}:
|
||||
f.write("Z\n")
|
||||
if pom == {3: '100%'}:
|
||||
f.write(".\n")
|
||||
f.close()
|
@ -8,7 +8,7 @@ którym będzie poruszał się agent.
|
||||
W skład zespołu wchodzą:
|
||||
Tomasz Dzierzbicki,
|
||||
Szymon Parafiński,
|
||||
Laura Piotrowska,
|
||||
Karol Piotrowski,
|
||||
Jarosław Zbąski.
|
||||
|
||||
# Temat projektu i wybrane rozwiązanie
|
||||
|
@ -1,52 +0,0 @@
|
||||
# Szymon Parafiński
|
||||
implementacja drzew decyzyjnych z nauczonego pliku
|
||||
|
||||
![](images/last_images/1.png)
|
||||
|
||||
implementacja funkcji która decyduje co zrobić z obecnym polem
|
||||
|
||||
![](images/last_images/2.png)
|
||||
|
||||
Funkcja jest zastosowana podczas osiągniecia celu ruchu
|
||||
|
||||
![](images/last_images/3.png)
|
||||
# Tomasz Dzierzbicki
|
||||
implementacja sieci neuronowych z nauczonego pliku
|
||||
|
||||
![](images/last_images/4.png)
|
||||
|
||||
implementacja funkcji która szuka nalepszego pola do zastosowania na nim działań
|
||||
|
||||
![](images/last_images/5.png)
|
||||
|
||||
Funkcja jest używana w nieskończoność po uruchomieniu programu
|
||||
|
||||
![](images/last_images/6.png)
|
||||
|
||||
# Jarosław Zbąski
|
||||
implementacja drzew decyzyjnych z nauczonego pliku
|
||||
|
||||
![](images/last_images/7.png)
|
||||
|
||||
implementacja funkcji która decyduje co posadzić
|
||||
|
||||
![](images/last_images/8.png)
|
||||
|
||||
Funkcja jest zastosowana po zebraniu na tym samym polu
|
||||
|
||||
![](images/last_images/9.png)
|
||||
|
||||
# Laura Piotrowska
|
||||
implementacja algorytmu genetycznego
|
||||
|
||||
![](images/last_images/10.png)
|
||||
|
||||
Zaimplementowane zostało zbieranie warzyw, a algorytm przygotowuje porcję nowych roślin do zasadzenia
|
||||
|
||||
Algorytm jest wywoływany co ustaloną liczbę zebranych buraków lub ziemniaków
|
||||
|
||||
![](images/last_images/obsluga.png)
|
||||
|
||||
Implementacja zbierania
|
||||
|
||||
![](images/last_images/11.png)
|
Before Width: | Height: | Size: 19 KiB |
Before Width: | Height: | Size: 20 KiB |
Before Width: | Height: | Size: 43 KiB |
Before Width: | Height: | Size: 44 KiB |
Before Width: | Height: | Size: 19 KiB |
Before Width: | Height: | Size: 17 KiB |
Before Width: | Height: | Size: 15 KiB |
Before Width: | Height: | Size: 29 KiB |
Before Width: | Height: | Size: 39 KiB |
Before Width: | Height: | Size: 43 KiB |
Before Width: | Height: | Size: 17 KiB |
Before Width: | Height: | Size: 11 KiB |
Before Width: | Height: | Size: 14 KiB |
Before Width: | Height: | Size: 18 KiB |
Before Width: | Height: | Size: 23 KiB |
Before Width: | Height: | Size: 19 KiB |
Before Width: | Height: | Size: 12 KiB |
Before Width: | Height: | Size: 53 KiB |
Before Width: | Height: | Size: 40 KiB |
Before Width: | Height: | Size: 30 KiB |
Before Width: | Height: | Size: 80 KiB |
BIN
images/Tree/StanPola.jpg
Normal file
After Width: | Height: | Size: 57 KiB |
BIN
images/Tree/wydaniePolecenia.jpg
Normal file
After Width: | Height: | Size: 14 KiB |
BIN
images/cross.png
Before Width: | Height: | Size: 33 KiB |
Before Width: | Height: | Size: 20 KiB |
Before Width: | Height: | Size: 6.1 KiB |
Before Width: | Height: | Size: 17 KiB |
Before Width: | Height: | Size: 5.4 KiB |
Before Width: | Height: | Size: 69 KiB |
Before Width: | Height: | Size: 27 KiB |
Before Width: | Height: | Size: 1.7 KiB |
Before Width: | Height: | Size: 3.6 KiB |
Before Width: | Height: | Size: 36 KiB |
Before Width: | Height: | Size: 1.9 KiB |
Before Width: | Height: | Size: 3.8 KiB |
Before Width: | Height: | Size: 3.0 KiB |
Before Width: | Height: | Size: 1.8 KiB |
Before Width: | Height: | Size: 1.9 KiB |
Before Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 22 KiB |
Before Width: | Height: | Size: 25 KiB |
Before Width: | Height: | Size: 5.6 KiB |
Before Width: | Height: | Size: 27 KiB |
Before Width: | Height: | Size: 12 KiB |
Before Width: | Height: | Size: 14 KiB |
BIN
initial.txt
@ -3,31 +3,25 @@ import sys
|
||||
|
||||
|
||||
def prediction(warzywo, nawoz ,srodek, stan_wzrostu):
|
||||
filename = 'decisionTree.sav'
|
||||
tree = pickle.load(open(filename, 'rb'))
|
||||
val = (tree.predict([[warzywo, nawoz, srodek, stan_wzrostu]]))
|
||||
save(val)
|
||||
|
||||
def save(prediction):
|
||||
pred = str(prediction)
|
||||
plik = open('dec.txt', 'w')
|
||||
plik.write(pred[1])
|
||||
plik.close()
|
||||
filename = 'decisionTree.sav'
|
||||
tree = pickle.load(open(filename, 'rb'))
|
||||
val = (tree.predict([[warzywo, nawoz, srodek, stan_wzrostu]]))
|
||||
print(decision(val))
|
||||
|
||||
def decision(prediction):
|
||||
if prediction == 0:
|
||||
return "Nie_podejmuj_dzialania"
|
||||
elif prediction == 1:
|
||||
return "Zastosuj_nawoz"
|
||||
elif prediction == 2:
|
||||
return "Zastosuj_srodek"
|
||||
elif prediction == 4:
|
||||
return "Zbierz"
|
||||
elif prediction == 5:
|
||||
return "Roslina_juz_zgnila__zbierz_i_wyrzuc"
|
||||
if prediction == 0:
|
||||
return "Nie_podejmuj_dzialania"
|
||||
elif prediction == 1:
|
||||
return "Zastosuj_nawoz"
|
||||
elif prediction == 2:
|
||||
return "Zastosuj_srodek"
|
||||
elif prediction == 4:
|
||||
return "Zbierz"
|
||||
elif prediction == 5:
|
||||
return "Roslina_juz_zgnila__zbierz_i_wyrzuc"
|
||||
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
# Map command line arguments to function arguments.
|
||||
prediction(*sys.argv[1:])
|
||||
# Map command line arguments to function arguments.
|
||||
prediction(*sys.argv[1:])
|
625
matrix.txt
@ -1,625 +0,0 @@
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
||||
0.15760229181 2.67552455e-9 0.00126219853 0.21969625454
|
@ -5,10 +5,11 @@
|
||||
[80,100] - przejrzała
|
||||
|
||||
nawóz przyśpiesza wzrost (czas * stałaPrzyrosuNawozu) poleInt[0]=1
|
||||
użyty tylko kiedy kiełek lub młoda (ale max 1)
|
||||
brak nawozu poleInt[0]=0
|
||||
użyty tylko kiedy młoda (ale max 1)
|
||||
|
||||
środek zmienia granice rośliny poleInt[0]=2
|
||||
użyty zawsze (ale max 1)
|
||||
środek sprawia że roślina starzejąca uzdatnia roślinę do zbioru poleInt[0]=2
|
||||
używany tylko jak starzejąca (ale max 1)
|
||||
|
||||
użyty środek i nawóz poleInt[0]=3
|
||||
|
||||
|
@ -5,7 +5,7 @@ Ten dokument to raport z wykonanego drugiego zadania projektu zespołowego na pr
|
||||
W skład zespołu wchodzą:
|
||||
Tomasz Dzierzbicki,
|
||||
Szymon Parafiński,
|
||||
Laura Piotrowska,
|
||||
Karol Piotrowski,
|
||||
Jarosław Zbąski.
|
||||
|
||||
# Zasady poruszania się agenta po planszy
|
||||
|