Compare commits
No commits in common. "dbe227078b2120945ed2d732fd8c98c6e07aa2d7" and "ddc22c7ca1467a120bc639de13cf3e432c789527" have entirely different histories.
dbe227078b
...
ddc22c7ca1
|
@ -0,0 +1 @@
|
||||||
|
,brett,laforge,15.02.2024 22:10,file:///home/brett/.config/libreoffice/4;
|
|
@ -0,0 +1 @@
|
||||||
|
,brett,laforge,15.02.2024 22:10,file:///home/brett/.config/libreoffice/4;
|
|
@ -0,0 +1 @@
|
||||||
|
,brett,laforge,15.02.2024 22:09,file:///home/brett/.config/libreoffice/4;
|
|
@ -0,0 +1 @@
|
||||||
|
,brett,laforge,15.02.2024 22:09,file:///home/brett/.config/libreoffice/4;
|
|
@ -10,10 +10,6 @@ Run(RV)/(PV) CC CO OO OC
|
||||||
8 1009 104 1537 160
|
8 1009 104 1537 160
|
||||||
9 1040 108 1410 252
|
9 1040 108 1410 252
|
||||||
|
|
||||||
Best Result:
|
|
||||||
CC CO OO OC
|
|
||||||
1073 71 1510 156
|
|
||||||
Fitness: 0.998937
|
|
||||||
Total results:
|
Total results:
|
||||||
CC CO OO OC
|
CC CO OO OC
|
||||||
10226 1138 15367 1369
|
10226 1138 15367 1369
|
||||||
|
|
Can't render this file because it has a wrong number of fields in line 13.
|
BIN
edeeee.ods
2
lib/blt
|
@ -1 +1 @@
|
||||||
Subproject commit 68f6a0af44fe8ba5044a7f37b8bac9809ab709f1
|
Subproject commit 558ed1e0fdc147551d004891dda6dd3b24f61aa2
|
BIN
report/fp10.png
Before Width: | Height: | Size: 35 KiB |
BIN
report/fp11.png
Before Width: | Height: | Size: 35 KiB |
BIN
report/fp12.png
Before Width: | Height: | Size: 35 KiB |
BIN
report/fp13.png
Before Width: | Height: | Size: 35 KiB |
BIN
report/fp6.png
Before Width: | Height: | Size: 38 KiB |
BIN
report/fp7.png
Before Width: | Height: | Size: 37 KiB |
BIN
report/fp8.png
Before Width: | Height: | Size: 35 KiB |
BIN
report/fp9.png
Before Width: | Height: | Size: 36 KiB |
|
@ -2,37 +2,16 @@
|
||||||
\providecommand\hyper@newdestlabel[2]{}
|
\providecommand\hyper@newdestlabel[2]{}
|
||||||
\providecommand\HyField@AuxAddToFields[1]{}
|
\providecommand\HyField@AuxAddToFields[1]{}
|
||||||
\providecommand\HyField@AuxAddToCoFields[2]{}
|
\providecommand\HyField@AuxAddToCoFields[2]{}
|
||||||
\@writefile{toc}{\contentsline {section}{\numberline {1}Introduction}{2}{section.0.1}\protected@file@percent }
|
\@writefile{toc}{\contentsline {section}{\numberline {1}Symbolic regression}{2}{section.0.1}\protected@file@percent }
|
||||||
\@writefile{toc}{\contentsline {section}{\numberline {2}Symbolic regression}{2}{section.0.2}\protected@file@percent }
|
\@writefile{toc}{\contentsline {subsection}{\numberline {1.1}Introduction}{2}{subsection.0.1.1}\protected@file@percent }
|
||||||
\@writefile{toc}{\contentsline {subsection}{\numberline {2.1}Introduction}{2}{subsection.0.2.1}\protected@file@percent }
|
\@writefile{toc}{\contentsline {subsection}{\numberline {1.2}Parameter Table}{2}{subsection.0.1.2}\protected@file@percent }
|
||||||
\@writefile{toc}{\contentsline {subsection}{\numberline {2.2}Parameter Table}{2}{subsection.0.2.2}\protected@file@percent }
|
\@writefile{toc}{\contentsline {subsection}{\numberline {1.3}Fitness Evaluation}{2}{subsection.0.1.3}\protected@file@percent }
|
||||||
\@writefile{toc}{\contentsline {subsection}{\numberline {2.3}Fitness Evaluation}{2}{subsection.0.2.3}\protected@file@percent }
|
\@writefile{toc}{\contentsline {subsection}{\numberline {1.4}Fitness Plots}{3}{subsection.0.1.4}\protected@file@percent }
|
||||||
\@writefile{toc}{\contentsline {subsection}{\numberline {2.4}Fitness Plots}{3}{subsection.0.2.4}\protected@file@percent }
|
|
||||||
\@writefile{lof}{\contentsline {figure}{\numberline {1}{\ignorespaces 2 Elites, 10 Runs Averaged}}{3}{figure.0.1}\protected@file@percent }
|
\@writefile{lof}{\contentsline {figure}{\numberline {1}{\ignorespaces 2 Elites, 10 Runs Averaged}}{3}{figure.0.1}\protected@file@percent }
|
||||||
\newlabel{fig:fp4}{{1}{3}{2 Elites, 10 Runs Averaged}{figure.0.1}{}}
|
\newlabel{fig:fp4}{{1}{3}{2 Elites, 10 Runs Averaged}{figure.0.1}{}}
|
||||||
\@writefile{lof}{\contentsline {figure}{\numberline {2}{\ignorespaces }}{3}{figure.0.2}\protected@file@percent }
|
\@writefile{lof}{\contentsline {figure}{\numberline {2}{\ignorespaces }}{3}{figure.0.2}\protected@file@percent }
|
||||||
\newlabel{fig:fp2}{{2}{3}{}{figure.0.2}{}}
|
\newlabel{fig:fp2}{{2}{3}{}{figure.0.2}{}}
|
||||||
\@writefile{toc}{\contentsline {subsection}{\numberline {2.5}Analysis and Conclusion}{4}{subsection.0.2.5}\protected@file@percent }
|
\@writefile{toc}{\contentsline {subsection}{\numberline {1.5}Analysis And Conclusion}{4}{subsection.0.1.5}\protected@file@percent }
|
||||||
\@writefile{toc}{\contentsline {section}{\numberline {3}Rice Classification}{4}{section.0.3}\protected@file@percent }
|
\@writefile{toc}{\contentsline {section}{\numberline {2}Rice Classification}{4}{section.0.2}\protected@file@percent }
|
||||||
\@writefile{toc}{\contentsline {subsection}{\numberline {3.1}Introduction}{4}{subsection.0.3.1}\protected@file@percent }
|
\@writefile{toc}{\contentsline {section}{\numberline {3}Compiling / Executing}{4}{section.0.3}\protected@file@percent }
|
||||||
\@writefile{toc}{\contentsline {subsection}{\numberline {3.2}Parameter Table}{4}{subsection.0.3.2}\protected@file@percent }
|
\gdef \@abspage@last{5}
|
||||||
\@writefile{toc}{\contentsline {subsection}{\numberline {3.3}Fitness Evaluation}{4}{subsection.0.3.3}\protected@file@percent }
|
|
||||||
\@writefile{toc}{\contentsline {subsection}{\numberline {3.4}Fitness Plots}{5}{subsection.0.3.4}\protected@file@percent }
|
|
||||||
\@writefile{lof}{\contentsline {figure}{\numberline {3}{\ignorespaces 2 Elites, 10 Runs Averaged}}{5}{figure.0.3}\protected@file@percent }
|
|
||||||
\newlabel{fig:fp6}{{3}{5}{2 Elites, 10 Runs Averaged}{figure.0.3}{}}
|
|
||||||
\@writefile{lof}{\contentsline {figure}{\numberline {4}{\ignorespaces 2 Elites, 10 Runs Averaged}}{5}{figure.0.4}\protected@file@percent }
|
|
||||||
\newlabel{fig:fp7}{{4}{5}{2 Elites, 10 Runs Averaged}{figure.0.4}{}}
|
|
||||||
\@writefile{toc}{\contentsline {subsection}{\numberline {3.5}Confusion Matrix}{6}{subsection.0.3.5}\protected@file@percent }
|
|
||||||
\@writefile{lof}{\contentsline {figure}{\numberline {5}{\ignorespaces 0.9 Crossover 0.1 Mutation 2 Elites Best Program Results}}{6}{figure.0.5}\protected@file@percent }
|
|
||||||
\newlabel{fig:fp10}{{5}{6}{0.9 Crossover 0.1 Mutation 2 Elites Best Program Results}{figure.0.5}{}}
|
|
||||||
\@writefile{lof}{\contentsline {figure}{\numberline {6}{\ignorespaces 0.9 Crossover 0.1 Mutation 2 Elites 10 Run Average Results}}{7}{figure.0.6}\protected@file@percent }
|
|
||||||
\newlabel{fig:fp11}{{6}{7}{0.9 Crossover 0.1 Mutation 2 Elites 10 Run Average Results}{figure.0.6}{}}
|
|
||||||
\@writefile{lof}{\contentsline {figure}{\numberline {7}{\ignorespaces 0.9 Crossover 0.9 Mutation 2 Elites Best Program Results}}{8}{figure.0.7}\protected@file@percent }
|
|
||||||
\newlabel{fig:fp8}{{7}{8}{0.9 Crossover 0.9 Mutation 2 Elites Best Program Results}{figure.0.7}{}}
|
|
||||||
\@writefile{lof}{\contentsline {figure}{\numberline {8}{\ignorespaces 0.9 Crossover 0.9 Mutation 2 Elites 10 Run Average Results}}{9}{figure.0.8}\protected@file@percent }
|
|
||||||
\newlabel{fig:fp9}{{8}{9}{0.9 Crossover 0.9 Mutation 2 Elites 10 Run Average Results}{figure.0.8}{}}
|
|
||||||
\@writefile{toc}{\contentsline {subsection}{\numberline {3.6}Analysis and Conclusion}{9}{subsection.0.3.6}\protected@file@percent }
|
|
||||||
\@writefile{toc}{\contentsline {section}{\numberline {4}Compiling / Executing}{9}{section.0.4}\protected@file@percent }
|
|
||||||
\@writefile{toc}{\contentsline {section}{\numberline {5}Conclusion}{10}{section.0.5}\protected@file@percent }
|
|
||||||
\@writefile{toc}{\contentsline {section}{\numberline {6}References}{10}{section.0.6}\protected@file@percent }
|
|
||||||
\gdef \@abspage@last{11}
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
This is pdfTeX, Version 3.141592653-2.6-1.40.25 (TeX Live 2023/Debian) (preloaded format=pdflatex 2024.1.7) 16 FEB 2024 01:18
|
This is pdfTeX, Version 3.141592653-2.6-1.40.25 (TeX Live 2023/Debian) (preloaded format=pdflatex 2024.1.7) 15 FEB 2024 23:58
|
||||||
entering extended mode
|
entering extended mode
|
||||||
restricted \write18 enabled.
|
restricted \write18 enabled.
|
||||||
%&-line parsing enabled.
|
%&-line parsing enabled.
|
||||||
|
@ -730,7 +730,7 @@ File: lstlang1.sty 2023/02/27 1.9 listings language file
|
||||||
(/usr/share/texlive/texmf-dist/tex/latex/listings/lstmisc.sty
|
(/usr/share/texlive/texmf-dist/tex/latex/listings/lstmisc.sty
|
||||||
File: lstmisc.sty 2023/02/27 1.9 (Carsten Heinz)
|
File: lstmisc.sty 2023/02/27 1.9 (Carsten Heinz)
|
||||||
)
|
)
|
||||||
Package Listings Info: Made | a short reference for \lstinline on input line 47
|
Package Listings Info: Made $ a short reference for \lstinline on input line 47
|
||||||
.
|
.
|
||||||
|
|
||||||
(/usr/share/texlive/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def
|
(/usr/share/texlive/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def
|
||||||
|
@ -805,86 +805,44 @@ pdfTeX warning (ext4): destination with the same identifier (name{page.1}) has
|
||||||
been already used, duplicate ignored
|
been already used, duplicate ignored
|
||||||
<to be read again>
|
<to be read again>
|
||||||
\relax
|
\relax
|
||||||
l.124 \end{center}
|
l.122 \end{center}
|
||||||
[1
|
[1
|
||||||
|
|
||||||
]
|
]
|
||||||
<fp5.png, id=140, 985.43156pt x 577.40718pt>
|
<fp5.png, id=95, 985.43156pt x 577.40718pt>
|
||||||
File: fp5.png Graphic file (type png)
|
File: fp5.png Graphic file (type png)
|
||||||
<use fp5.png>
|
<use fp5.png>
|
||||||
Package pdftex.def Info: fp5.png used on input line 132.
|
Package pdftex.def Info: fp5.png used on input line 130.
|
||||||
(pdftex.def) Requested size: 345.0pt x 202.1484pt.
|
(pdftex.def) Requested size: 345.0pt x 202.1484pt.
|
||||||
<fp3.png, id=141, 973.38657pt x 585.68813pt>
|
<fp3.png, id=96, 973.38657pt x 585.68813pt>
|
||||||
File: fp3.png Graphic file (type png)
|
File: fp3.png Graphic file (type png)
|
||||||
<use fp3.png>
|
<use fp3.png>
|
||||||
Package pdftex.def Info: fp3.png used on input line 138.
|
Package pdftex.def Info: fp3.png used on input line 136.
|
||||||
(pdftex.def) Requested size: 345.0pt x 207.5856pt.
|
(pdftex.def) Requested size: 345.0pt x 207.5856pt.
|
||||||
[2] [3 <./fp5.png (PNG copy)> <./fp3.png (PNG copy)>]
|
[2] [3 <./fp5.png (PNG copy)> <./fp3.png (PNG copy)>]
|
||||||
<fp6.png, id=152, 1030.60031pt x 578.91281pt>
|
[4] (./template_Report.aux)
|
||||||
File: fp6.png Graphic file (type png)
|
|
||||||
<use fp6.png>
|
|
||||||
Package pdftex.def Info: fp6.png used on input line 194.
|
|
||||||
(pdftex.def) Requested size: 345.0pt x 193.78903pt.
|
|
||||||
<fp7.png, id=153, 1012.5328pt x 579.66562pt>
|
|
||||||
File: fp7.png Graphic file (type png)
|
|
||||||
<use fp7.png>
|
|
||||||
Package pdftex.def Info: fp7.png used on input line 200.
|
|
||||||
(pdftex.def) Requested size: 345.0pt x 197.50826pt.
|
|
||||||
|
|
||||||
[4]
|
|
||||||
<fp10.png, id=158, 402.75468pt x 340.27126pt>
|
|
||||||
File: fp10.png Graphic file (type png)
|
|
||||||
<use fp10.png>
|
|
||||||
Package pdftex.def Info: fp10.png used on input line 210.
|
|
||||||
(pdftex.def) Requested size: 345.0pt x 291.47491pt.
|
|
||||||
[5 <./fp6.png (PNG copy)> <./fp7.png (PNG copy)>]
|
|
||||||
<fp11.png, id=165, 400.49625pt x 340.27126pt>
|
|
||||||
File: fp11.png Graphic file (type png)
|
|
||||||
<use fp11.png>
|
|
||||||
Package pdftex.def Info: fp11.png used on input line 217.
|
|
||||||
(pdftex.def) Requested size: 345.0pt x 293.1364pt.
|
|
||||||
[6 <./fp10.png (PNG copy)>]
|
|
||||||
<fp12.png, id=173, 401.24907pt x 340.27126pt>
|
|
||||||
File: fp12.png Graphic file (type png)
|
|
||||||
<use fp12.png>
|
|
||||||
Package pdftex.def Info: fp12.png used on input line 226.
|
|
||||||
(pdftex.def) Requested size: 345.0pt x 292.59122pt.
|
|
||||||
<fp13.png, id=174, 403.5075pt x 341.77687pt>
|
|
||||||
File: fp13.png Graphic file (type png)
|
|
||||||
<use fp13.png>
|
|
||||||
Package pdftex.def Info: fp13.png used on input line 232.
|
|
||||||
(pdftex.def) Requested size: 345.0pt x 292.22226pt.
|
|
||||||
[7 <./fp11.png (PNG copy)>] [8 <./fp12.png (PNG copy)>] [9 <./fp13.png (PNG co
|
|
||||||
py)>]
|
|
||||||
Underfull \hbox (badness 10000) in paragraph at lines 257--260
|
|
||||||
|
|
||||||
[]
|
|
||||||
|
|
||||||
[10] (./template_Report.aux)
|
|
||||||
***********
|
***********
|
||||||
LaTeX2e <2023-11-01>
|
LaTeX2e <2023-11-01>
|
||||||
L3 programming layer <2023-11-09>
|
L3 programming layer <2023-11-09>
|
||||||
***********
|
***********
|
||||||
Package rerunfilecheck Info: File `template_Report.out' has not changed.
|
Package rerunfilecheck Info: File `template_Report.out' has not changed.
|
||||||
(rerunfilecheck) Checksum: E40A270BC030F77E608A9EE4D6630F6B;2339.
|
(rerunfilecheck) Checksum: B132A1D91FA2A1CBFF289A6E2527B401;1167.
|
||||||
)
|
)
|
||||||
Here is how much of TeX's memory you used:
|
Here is how much of TeX's memory you used:
|
||||||
27275 strings out of 476151
|
26768 strings out of 476151
|
||||||
546478 string characters out of 5795190
|
541590 string characters out of 5795190
|
||||||
1943555 words of memory out of 5000000
|
1937555 words of memory out of 5000000
|
||||||
48764 multiletter control sequences out of 15000+600000
|
48287 multiletter control sequences out of 15000+600000
|
||||||
564797 words of font info for 61 fonts, out of 8000000 for 9000
|
564163 words of font info for 58 fonts, out of 8000000 for 9000
|
||||||
59 hyphenation exceptions out of 8191
|
59 hyphenation exceptions out of 8191
|
||||||
93i,8n,99p,984b,1242s stack positions out of 10000i,1000n,20000p,200000b,200000s
|
93i,8n,99p,428b,506s stack positions out of 10000i,1000n,20000p,200000b,200000s
|
||||||
</usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmbx12.pfb></us
|
</usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmbx12.pfb></us
|
||||||
r/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmr10.pfb></usr/share
|
r/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmr10.pfb></usr/share
|
||||||
/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmr12.pfb></usr/share/texliv
|
/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmr12.pfb>
|
||||||
e/texmf-dist/fonts/type1/public/amsfonts/cm/cmr5.pfb></usr/share/texlive/texmf-
|
Output written on template_Report.pdf (5 pages, 227966 bytes).
|
||||||
dist/fonts/type1/public/amsfonts/cm/cmtt9.pfb>
|
|
||||||
Output written on template_Report.pdf (11 pages, 480180 bytes).
|
|
||||||
PDF statistics:
|
PDF statistics:
|
||||||
238 PDF objects out of 1000 (max. 8388607)
|
131 PDF objects out of 1000 (max. 8388607)
|
||||||
181 compressed objects within 2 object streams
|
91 compressed objects within 1 object stream
|
||||||
43 named destinations out of 1000 (max. 500000)
|
16 named destinations out of 1000 (max. 500000)
|
||||||
333 words of extra memory for PDF output out of 10000 (max. 10000000)
|
231 words of extra memory for PDF output out of 10000 (max. 10000000)
|
||||||
|
|
||||||
|
|
|
@ -1,17 +1,8 @@
|
||||||
\BOOKMARK [1][-]{section.0.1}{\376\377\000I\000n\000t\000r\000o\000d\000u\000c\000t\000i\000o\000n}{}% 1
|
\BOOKMARK [1][-]{section.0.1}{\376\377\000S\000y\000m\000b\000o\000l\000i\000c\000\040\000r\000e\000g\000r\000e\000s\000s\000i\000o\000n}{}% 1
|
||||||
\BOOKMARK [1][-]{section.0.2}{\376\377\000S\000y\000m\000b\000o\000l\000i\000c\000\040\000r\000e\000g\000r\000e\000s\000s\000i\000o\000n}{}% 2
|
\BOOKMARK [2][-]{subsection.0.1.1}{\376\377\000I\000n\000t\000r\000o\000d\000u\000c\000t\000i\000o\000n}{section.0.1}% 2
|
||||||
\BOOKMARK [2][-]{subsection.0.2.1}{\376\377\000I\000n\000t\000r\000o\000d\000u\000c\000t\000i\000o\000n}{section.0.2}% 3
|
\BOOKMARK [2][-]{subsection.0.1.2}{\376\377\000P\000a\000r\000a\000m\000e\000t\000e\000r\000\040\000T\000a\000b\000l\000e}{section.0.1}% 3
|
||||||
\BOOKMARK [2][-]{subsection.0.2.2}{\376\377\000P\000a\000r\000a\000m\000e\000t\000e\000r\000\040\000T\000a\000b\000l\000e}{section.0.2}% 4
|
\BOOKMARK [2][-]{subsection.0.1.3}{\376\377\000F\000i\000t\000n\000e\000s\000s\000\040\000E\000v\000a\000l\000u\000a\000t\000i\000o\000n}{section.0.1}% 4
|
||||||
\BOOKMARK [2][-]{subsection.0.2.3}{\376\377\000F\000i\000t\000n\000e\000s\000s\000\040\000E\000v\000a\000l\000u\000a\000t\000i\000o\000n}{section.0.2}% 5
|
\BOOKMARK [2][-]{subsection.0.1.4}{\376\377\000F\000i\000t\000n\000e\000s\000s\000\040\000P\000l\000o\000t\000s}{section.0.1}% 5
|
||||||
\BOOKMARK [2][-]{subsection.0.2.4}{\376\377\000F\000i\000t\000n\000e\000s\000s\000\040\000P\000l\000o\000t\000s}{section.0.2}% 6
|
\BOOKMARK [2][-]{subsection.0.1.5}{\376\377\000A\000n\000a\000l\000y\000s\000i\000s\000\040\000A\000n\000d\000\040\000C\000o\000n\000c\000l\000u\000s\000i\000o\000n}{section.0.1}% 6
|
||||||
\BOOKMARK [2][-]{subsection.0.2.5}{\376\377\000A\000n\000a\000l\000y\000s\000i\000s\000\040\000a\000n\000d\000\040\000C\000o\000n\000c\000l\000u\000s\000i\000o\000n}{section.0.2}% 7
|
\BOOKMARK [1][-]{section.0.2}{\376\377\000R\000i\000c\000e\000\040\000C\000l\000a\000s\000s\000i\000f\000i\000c\000a\000t\000i\000o\000n}{}% 7
|
||||||
\BOOKMARK [1][-]{section.0.3}{\376\377\000R\000i\000c\000e\000\040\000C\000l\000a\000s\000s\000i\000f\000i\000c\000a\000t\000i\000o\000n}{}% 8
|
\BOOKMARK [1][-]{section.0.3}{\376\377\000C\000o\000m\000p\000i\000l\000i\000n\000g\000\040\000/\000\040\000E\000x\000e\000c\000u\000t\000i\000n\000g}{}% 8
|
||||||
\BOOKMARK [2][-]{subsection.0.3.1}{\376\377\000I\000n\000t\000r\000o\000d\000u\000c\000t\000i\000o\000n}{section.0.3}% 9
|
|
||||||
\BOOKMARK [2][-]{subsection.0.3.2}{\376\377\000P\000a\000r\000a\000m\000e\000t\000e\000r\000\040\000T\000a\000b\000l\000e}{section.0.3}% 10
|
|
||||||
\BOOKMARK [2][-]{subsection.0.3.3}{\376\377\000F\000i\000t\000n\000e\000s\000s\000\040\000E\000v\000a\000l\000u\000a\000t\000i\000o\000n}{section.0.3}% 11
|
|
||||||
\BOOKMARK [2][-]{subsection.0.3.4}{\376\377\000F\000i\000t\000n\000e\000s\000s\000\040\000P\000l\000o\000t\000s}{section.0.3}% 12
|
|
||||||
\BOOKMARK [2][-]{subsection.0.3.5}{\376\377\000C\000o\000n\000f\000u\000s\000i\000o\000n\000\040\000M\000a\000t\000r\000i\000x}{section.0.3}% 13
|
|
||||||
\BOOKMARK [2][-]{subsection.0.3.6}{\376\377\000A\000n\000a\000l\000y\000s\000i\000s\000\040\000a\000n\000d\000\040\000C\000o\000n\000c\000l\000u\000s\000i\000o\000n}{section.0.3}% 14
|
|
||||||
\BOOKMARK [1][-]{section.0.4}{\376\377\000C\000o\000m\000p\000i\000l\000i\000n\000g\000\040\000/\000\040\000E\000x\000e\000c\000u\000t\000i\000n\000g}{}% 15
|
|
||||||
\BOOKMARK [1][-]{section.0.5}{\376\377\000C\000o\000n\000c\000l\000u\000s\000i\000o\000n}{}% 16
|
|
||||||
\BOOKMARK [1][-]{section.0.6}{\376\377\000R\000e\000f\000e\000r\000e\000n\000c\000e\000s}{}% 17
|
|
||||||
|
|
|
@ -44,7 +44,7 @@
|
||||||
title=\lstname, % show the filename of files included with \lstinputlisting; also try caption instead of title
|
title=\lstname, % show the filename of files included with \lstinputlisting; also try caption instead of title
|
||||||
columns=fixed % Using fixed column width (for e.g. nice alignment)
|
columns=fixed % Using fixed column width (for e.g. nice alignment)
|
||||||
}
|
}
|
||||||
\lstMakeShortInline|
|
\lstMakeShortInline$
|
||||||
|
|
||||||
\newtcolorbox{answerbox}[2][]{%
|
\newtcolorbox{answerbox}[2][]{%
|
||||||
attach boxed title to top center
|
attach boxed title to top center
|
||||||
|
@ -139,9 +139,11 @@ If the difference is less than a user provided (default 1.e15) value cutoff it i
|
||||||
\caption[]{0 Elites, 10 Runs Averaged}
|
\caption[]{0 Elites, 10 Runs Averaged}
|
||||||
\label{fig:fp2}
|
\label{fig:fp2}
|
||||||
\end{figure}
|
\end{figure}
|
||||||
\subsection{Analysis and Conclusion}
|
\subsection{Analysis And Conclusion}
|
||||||
The best average fitness of all the tests was 0.19384 using 0.9 crossover and 0.1 mutation.
|
The best average fitness of all the tests was 0.19384 using 0.9 crossover and 0.1 mutation.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
\section{Rice Classification}
|
\section{Rice Classification}
|
||||||
\subsection{Introduction}
|
\subsection{Introduction}
|
||||||
\subsection{Parameter Table}
|
\subsection{Parameter Table}
|
||||||
|
@ -154,27 +156,27 @@ The best average fitness of all the tests was 0.19384 using 0.9 crossover and 0.
|
||||||
\hline
|
\hline
|
||||||
Population Size & 5000 \\
|
Population Size & 5000 \\
|
||||||
\hline
|
\hline
|
||||||
Generations & 51 \\
|
Generations & 50 \\
|
||||||
\hline
|
\hline
|
||||||
Training Set & Rice Classification (Cammeo and Osmancik) \\
|
Training Set & N/A \\
|
||||||
\hline
|
\hline
|
||||||
Testing Set & Rice Classification (Cammeo and Osmancik) \\
|
Testing Set & N/A \\
|
||||||
\hline
|
\hline
|
||||||
Crossover Operator & Subtree Crossover\\
|
Crossover Operator & Subtree Crossover\\
|
||||||
\hline
|
\hline
|
||||||
Mutation Operator & Grow Tree, Max Depth 4 \\
|
Mutation Operator & Grow Tree, Max Depth 4 \\
|
||||||
\hline
|
\hline
|
||||||
Crossover Rate & 0.9 or 0.9* \\
|
Crossover Rate & 0.9 or 1.0* \\
|
||||||
\hline
|
\hline
|
||||||
Mutation Rate & 0.1 or 0.9* \\
|
Mutation Rate & 0.1 or 1.0* \\
|
||||||
\hline
|
\hline
|
||||||
Elitism & Best 2 individuals Survive \\
|
Elitism & Best 2 or 0 individuals Survive* \\
|
||||||
\hline
|
\hline
|
||||||
Selection & Fitness Proportionate \\
|
Selection & Fitness Proportionate \\
|
||||||
\hline
|
\hline
|
||||||
Function Set & *, /, +, -, exp, log \\
|
Function Set & *, /, +, -, exp, log, sin, cos \\
|
||||||
\hline
|
\hline
|
||||||
Terminal Set & area, perimeter, major, minor, eccentricity, convex, extent, Ephemeral Value \\
|
Terminal Set & X, Ephemeral Value \\
|
||||||
\hline
|
\hline
|
||||||
Tree Initialization & Half and Half, Max Depth 2-6 \\
|
Tree Initialization & Half and Half, Max Depth 2-6 \\
|
||||||
\hline
|
\hline
|
||||||
|
@ -186,76 +188,9 @@ The best average fitness of all the tests was 0.19384 using 0.9 crossover and 0.
|
||||||
\hline
|
\hline
|
||||||
\end{tabularx}
|
\end{tabularx}
|
||||||
\end{center}
|
\end{center}
|
||||||
\subsection{Fitness Evaluation}
|
|
||||||
Tested on the input terminal values the GP produces a positive or negative value which is interpreted as either Cammeo (+) or Osmancik (-). Raw fitness is equal to the number of hits which is the number of correct identifications. The adjusted fitness is then calculated and subtracted from 1 in order to invert and produce the required lowest fitness better.
|
|
||||||
\subsection{Fitness Plots}
|
|
||||||
\begin{figure}[H]
|
|
||||||
\centering
|
|
||||||
\includegraphics[width=1.0\linewidth]{fp6}
|
|
||||||
\caption{2 Elites, 10 Runs Averaged}
|
|
||||||
\label{fig:fp6}
|
|
||||||
\end{figure}
|
|
||||||
\begin{figure}[H]
|
|
||||||
\centering
|
|
||||||
\includegraphics[width=1.0\linewidth]{fp7}
|
|
||||||
\caption{2 Elites, 10 Runs Averaged}
|
|
||||||
\label{fig:fp7}
|
|
||||||
\end{figure}
|
|
||||||
|
|
||||||
|
|
||||||
\subsection{Confusion Matrix}
|
|
||||||
|
|
||||||
\begin{figure}[H]
|
|
||||||
\centering
|
|
||||||
\includegraphics[width=1.0\linewidth]{fp10}
|
|
||||||
\caption{0.9 Crossover 0.1 Mutation 2 Elites Best Program Results}
|
|
||||||
\label{fig:fp10}
|
|
||||||
\end{figure}
|
|
||||||
|
|
||||||
\begin{figure}[H]
|
|
||||||
\centering
|
|
||||||
\includegraphics[width=1.0\linewidth]{fp11}
|
|
||||||
\caption{0.9 Crossover 0.1 Mutation 2 Elites 10 Run Average Results}
|
|
||||||
\label{fig:fp11}
|
|
||||||
\end{figure}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
\begin{figure}[H]
|
|
||||||
\centering
|
|
||||||
\includegraphics[width=1.0\linewidth]{fp12}
|
|
||||||
\caption{0.9 Crossover 0.9 Mutation 2 Elites Best Program Results}
|
|
||||||
\label{fig:fp8}
|
|
||||||
\end{figure}
|
|
||||||
\begin{figure}[H]
|
|
||||||
\centering
|
|
||||||
\includegraphics[width=1.0\linewidth]{fp13}
|
|
||||||
\caption{0.9 Crossover 0.9 Mutation 2 Elites 10 Run Average Results}
|
|
||||||
\label{fig:fp9}
|
|
||||||
\end{figure}
|
|
||||||
|
|
||||||
\subsection{Analysis and Conclusion}
|
|
||||||
The best results found was a correct classification rate of 91.9\%. On average the 0.9 crossover with 0.1 mutation produced the best results with the 0.9/0.9 best result almost being equal.
|
|
||||||
|
|
||||||
|
|
||||||
\section{Compiling / Executing}
|
\section{Compiling / Executing}
|
||||||
This assignment was made for linux using GCC 13.2.0, however any C++17 compliant compiler should work.
|
|
||||||
The minimum GCC version appears to be 8.5, meaning this assignment can be built on sandcastle.
|
|
||||||
\begin{lstlisting}
|
|
||||||
cd your_path_to_this_source/
|
|
||||||
mkdir build
|
|
||||||
cd build
|
|
||||||
cmake ../
|
|
||||||
make -j 32
|
|
||||||
\end{lstlisting}
|
|
||||||
The actual assignment executable is called |Assignment_1| while the automatic run system is called |Assignment_1_RUNNER|. |Assignment_1_RUNNER| has a help menu with options but the defaults will work assuming you run from the build directory and are using part b only. If you want to build for Part A run |cmake -DPART_B=OFF| and run |Assignment_1_RUNNER| with |-b|
|
|
||||||
|
|
||||||
\section{Conclusion}
|
|
||||||
I made a few changes to lilgp, mostly memory fixes along with elitism with a number of individuals instead of a proportion. There appear to be some kind of issue in the GP, of which won't matter as assignment two will likely use my own gp system. I might look into it, but I was not aware there was an issue until compiling the stats here. My results have been generally positive, however, I did notice in the course of collecting data that at some point the Part A results stopped being consistently good however part B results have remained unchanged. Might have happened when I changed my custom random number seeder to not produce div by zero errors during testing. Could be anything. I don't like writing reports and have procrastinated on writing and instead have spent the last couple of weeks messing around with the GP. Fun fact a bunch of additions to my standard lib were made for this assignment. Next time will be better hopefully
|
|
||||||
|
|
||||||
\section{References}
|
|
||||||
Next assignment these will be proper. Latex is being annoying to setup for bib.\\\\
|
|
||||||
https://archive.ics.uci.edu/dataset/545/rice+cammeo+and+osmancik\\
|
|
||||||
http://garage.cse.msu.edu/software/lil-gp/
|
|
||||||
|
|
||||||
\end{document}
|
\end{document}
|
||||||
|
|
|
@ -1,17 +1,8 @@
|
||||||
\contentsline {section}{\numberline {1}Introduction}{2}{section.0.1}%
|
\contentsline {section}{\numberline {1}Symbolic regression}{2}{section.0.1}%
|
||||||
\contentsline {section}{\numberline {2}Symbolic regression}{2}{section.0.2}%
|
\contentsline {subsection}{\numberline {1.1}Introduction}{2}{subsection.0.1.1}%
|
||||||
\contentsline {subsection}{\numberline {2.1}Introduction}{2}{subsection.0.2.1}%
|
\contentsline {subsection}{\numberline {1.2}Parameter Table}{2}{subsection.0.1.2}%
|
||||||
\contentsline {subsection}{\numberline {2.2}Parameter Table}{2}{subsection.0.2.2}%
|
\contentsline {subsection}{\numberline {1.3}Fitness Evaluation}{2}{subsection.0.1.3}%
|
||||||
\contentsline {subsection}{\numberline {2.3}Fitness Evaluation}{2}{subsection.0.2.3}%
|
\contentsline {subsection}{\numberline {1.4}Fitness Plots}{3}{subsection.0.1.4}%
|
||||||
\contentsline {subsection}{\numberline {2.4}Fitness Plots}{3}{subsection.0.2.4}%
|
\contentsline {subsection}{\numberline {1.5}Analysis And Conclusion}{4}{subsection.0.1.5}%
|
||||||
\contentsline {subsection}{\numberline {2.5}Analysis and Conclusion}{4}{subsection.0.2.5}%
|
\contentsline {section}{\numberline {2}Rice Classification}{4}{section.0.2}%
|
||||||
\contentsline {section}{\numberline {3}Rice Classification}{4}{section.0.3}%
|
\contentsline {section}{\numberline {3}Compiling / Executing}{4}{section.0.3}%
|
||||||
\contentsline {subsection}{\numberline {3.1}Introduction}{4}{subsection.0.3.1}%
|
|
||||||
\contentsline {subsection}{\numberline {3.2}Parameter Table}{4}{subsection.0.3.2}%
|
|
||||||
\contentsline {subsection}{\numberline {3.3}Fitness Evaluation}{4}{subsection.0.3.3}%
|
|
||||||
\contentsline {subsection}{\numberline {3.4}Fitness Plots}{5}{subsection.0.3.4}%
|
|
||||||
\contentsline {subsection}{\numberline {3.5}Confusion Matrix}{6}{subsection.0.3.5}%
|
|
||||||
\contentsline {subsection}{\numberline {3.6}Analysis and Conclusion}{9}{subsection.0.3.6}%
|
|
||||||
\contentsline {section}{\numberline {4}Compiling / Executing}{9}{section.0.4}%
|
|
||||||
\contentsline {section}{\numberline {5}Conclusion}{10}{section.0.5}%
|
|
||||||
\contentsline {section}{\numberline {6}References}{10}{section.0.6}%
|
|
||||||
|
|
|
@ -48,7 +48,6 @@ static double* app_fitness_cases[2];
|
||||||
#endif
|
#endif
|
||||||
static double value_cutoff;
|
static double value_cutoff;
|
||||||
|
|
||||||
// required for this to work with c++
|
|
||||||
template<typename T>
|
template<typename T>
|
||||||
auto cxx_d(T* t)
|
auto cxx_d(T* t)
|
||||||
{
|
{
|
||||||
|
@ -61,7 +60,7 @@ auto cxx_c(T* t)
|
||||||
return reinterpret_cast<char* (*)()>(t);
|
return reinterpret_cast<char* (*)()>(t);
|
||||||
}
|
}
|
||||||
|
|
||||||
struct rice_record
|
struct stt_record
|
||||||
{
|
{
|
||||||
double area;
|
double area;
|
||||||
double perimeter;
|
double perimeter;
|
||||||
|
@ -75,16 +74,16 @@ struct rice_record
|
||||||
|
|
||||||
struct loaded_data
|
struct loaded_data
|
||||||
{
|
{
|
||||||
std::vector<rice_record> cammeo;
|
std::vector<stt_record> cammeo;
|
||||||
std::vector<rice_record> osmancik;
|
std::vector<stt_record> osmancik;
|
||||||
std::vector<rice_record> set;
|
std::vector<stt_record> set;
|
||||||
// everything after these values is testing data.
|
// everything after these values is testing data.
|
||||||
size_t last_c = 0;
|
size_t last_c = 0;
|
||||||
size_t last_o = 0;
|
size_t last_o = 0;
|
||||||
|
|
||||||
std::vector<rice_record> getTrainingSet(size_t amount)
|
std::vector<stt_record> getTrainingSet(size_t amount)
|
||||||
{
|
{
|
||||||
std::vector<rice_record> set;
|
std::vector<stt_record> set;
|
||||||
static std::random_device dev;
|
static std::random_device dev;
|
||||||
static std::mt19937_64 engine(dev());
|
static std::mt19937_64 engine(dev());
|
||||||
std::uniform_int_distribution choice(0, 1);
|
std::uniform_int_distribution choice(0, 1);
|
||||||
|
@ -104,7 +103,7 @@ struct loaded_data
|
||||||
return set;
|
return set;
|
||||||
}
|
}
|
||||||
|
|
||||||
std::vector<rice_record> getTestingSet()
|
std::vector<stt_record> getTestingSet()
|
||||||
{
|
{
|
||||||
if (set.empty())
|
if (set.empty())
|
||||||
{
|
{
|
||||||
|
@ -132,7 +131,7 @@ struct loaded_data
|
||||||
}
|
}
|
||||||
} rice_data;
|
} rice_data;
|
||||||
|
|
||||||
void vec_randomizer(std::vector<rice_record>& read, std::vector<rice_record>& write)
|
void vec_randomizer(std::vector<stt_record>& read, std::vector<stt_record>& write)
|
||||||
{
|
{
|
||||||
auto seed_param = get_parameter("random_seed");
|
auto seed_param = get_parameter("random_seed");
|
||||||
static std::random_device dev;
|
static std::random_device dev;
|
||||||
|
@ -156,12 +155,12 @@ void load_rice_data(std::string_view path)
|
||||||
size_t index = 0;
|
size_t index = 0;
|
||||||
while (!blt::string::contains(file[index++], "@DATA"))
|
while (!blt::string::contains(file[index++], "@DATA"))
|
||||||
{}
|
{}
|
||||||
std::vector<rice_record> c;
|
std::vector<stt_record> c;
|
||||||
std::vector<rice_record> o;
|
std::vector<stt_record> o;
|
||||||
for (std::string_view v : blt::itr_offset(file, index))
|
for (std::string_view v : blt::itr_offset(file, index))
|
||||||
{
|
{
|
||||||
auto data = blt::string::split(v, ',');
|
auto data = blt::string::split(v, ',');
|
||||||
rice_record r{std::stod(data[0]), std::stod(data[1]), std::stod(data[2]), std::stod(data[3]), std::stod(data[4]), std::stod(data[5]),
|
stt_record r{std::stod(data[0]), std::stod(data[1]), std::stod(data[2]), std::stod(data[3]), std::stod(data[4]), std::stod(data[5]),
|
||||||
std::stod(data[6])};
|
std::stod(data[6])};
|
||||||
std::memset(r.type, 0, 8ul);
|
std::memset(r.type, 0, 8ul);
|
||||||
std::memcpy(r.type, data[7].data(), std::min(data[7].size(), 8ul));
|
std::memcpy(r.type, data[7].data(), std::min(data[7].size(), 8ul));
|
||||||
|
@ -412,13 +411,13 @@ extern "C" int app_initialize(int startfromcheckpoint)
|
||||||
app_fitness_cases[5] = (double*) MALLOC(fitness_cases * sizeof(double));
|
app_fitness_cases[5] = (double*) MALLOC(fitness_cases * sizeof(double));
|
||||||
app_fitness_cases[6] = (double*) MALLOC(fitness_cases * sizeof(double));
|
app_fitness_cases[6] = (double*) MALLOC(fitness_cases * sizeof(double));
|
||||||
app_fitness_cases[7] = (double*) MALLOC(fitness_cases * sizeof(double));
|
app_fitness_cases[7] = (double*) MALLOC(fitness_cases * sizeof(double));
|
||||||
auto data = rice_data.getTrainingSet(fitness_cases);
|
|
||||||
#else
|
#else
|
||||||
app_fitness_cases[0] = (double*) MALLOC(fitness_cases * sizeof(double));
|
app_fitness_cases[0] = (double*) MALLOC(fitness_cases * sizeof(double));
|
||||||
app_fitness_cases[1] = (double*) MALLOC(fitness_cases * sizeof(double));
|
app_fitness_cases[1] = (double*) MALLOC(fitness_cases * sizeof(double));
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
oprintf(OUT_PRG, 50, "%d fitness cases:\n", fitness_cases);
|
oprintf(OUT_PRG, 50, "%d fitness cases:\n", fitness_cases);
|
||||||
|
auto data = rice_data.getTrainingSet(fitness_cases);
|
||||||
for (i = 0; i < fitness_cases; ++i)
|
for (i = 0; i < fitness_cases; ++i)
|
||||||
{
|
{
|
||||||
#ifndef PART_B
|
#ifndef PART_B
|
||||||
|
|