ai4r 1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/README.rdoc +48 -0
- data/examples/decision_trees/data_set.csv +121 -0
- data/examples/decision_trees/id3_example.rb +31 -0
- data/examples/decision_trees/results.txt +29 -0
- data/examples/genetic_algorithm/genetic_algorithm_example.rb +39 -0
- data/examples/genetic_algorithm/travel_cost.csv +16 -0
- data/examples/neural_network/backpropagation_example.rb +65 -0
- data/examples/neural_network/patterns_with_base_noise.rb +68 -0
- data/examples/neural_network/patterns_with_noise.rb +66 -0
- data/examples/neural_network/training_patterns.rb +68 -0
- data/lib/decision_tree/id3.rb +354 -0
- data/lib/genetic_algorithm/genetic_algorithm.rb +268 -0
- data/lib/neural_network/backpropagation.rb +259 -0
- data/site/build/site/en/broken-links.xml +2 -0
- data/site/build/site/en/downloads.html +187 -0
- data/site/build/site/en/downloads.pdf +151 -0
- data/site/build/site/en/geneticAlgorithms.html +564 -0
- data/site/build/site/en/geneticAlgorithms.pdf +911 -0
- data/site/build/site/en/images/ai4r-logo.png +0 -0
- data/site/build/site/en/images/built-with-forrest-button.png +0 -0
- data/site/build/site/en/images/c.png +0 -0
- data/site/build/site/en/images/c_wbn.png +0 -0
- data/site/build/site/en/images/c_wn.png +0 -0
- data/site/build/site/en/images/ero.gif +0 -0
- data/site/build/site/en/images/europe2.png +0 -0
- data/site/build/site/en/images/europe3.png +0 -0
- data/site/build/site/en/images/fitness.png +0 -0
- data/site/build/site/en/images/instruction_arrow.png +0 -0
- data/site/build/site/en/images/my_email.png +0 -0
- data/site/build/site/en/images/rubyforge.png +0 -0
- data/site/build/site/en/images/s.png +0 -0
- data/site/build/site/en/images/s_wbn.png +0 -0
- data/site/build/site/en/images/s_wn.png +0 -0
- data/site/build/site/en/images/sigmoid.png +0 -0
- data/site/build/site/en/images/t.png +0 -0
- data/site/build/site/en/images/t_wbn.png +0 -0
- data/site/build/site/en/images/t_wn.png +0 -0
- data/site/build/site/en/index.html +258 -0
- data/site/build/site/en/index.pdf +306 -0
- data/site/build/site/en/linkmap.html +231 -0
- data/site/build/site/en/linkmap.pdf +94 -0
- data/site/build/site/en/locationmap.xml +72 -0
- data/site/build/site/en/machineLearning.html +325 -0
- data/site/build/site/en/machineLearning.pdf +337 -0
- data/site/build/site/en/neuralNetworks.html +446 -0
- data/site/build/site/en/neuralNetworks.pdf +604 -0
- data/site/build/site/en/skin/CommonMessages_de.xml +23 -0
- data/site/build/site/en/skin/CommonMessages_en_US.xml +23 -0
- data/site/build/site/en/skin/CommonMessages_es.xml +23 -0
- data/site/build/site/en/skin/CommonMessages_fr.xml +23 -0
- data/site/build/site/en/skin/basic.css +166 -0
- data/site/build/site/en/skin/breadcrumbs-optimized.js +90 -0
- data/site/build/site/en/skin/breadcrumbs.js +237 -0
- data/site/build/site/en/skin/fontsize.js +166 -0
- data/site/build/site/en/skin/getBlank.js +40 -0
- data/site/build/site/en/skin/getMenu.js +45 -0
- data/site/build/site/en/skin/images/README.txt +1 -0
- data/site/build/site/en/skin/images/add.jpg +0 -0
- data/site/build/site/en/skin/images/built-with-forrest-button.png +0 -0
- data/site/build/site/en/skin/images/chapter.gif +0 -0
- data/site/build/site/en/skin/images/chapter_open.gif +0 -0
- data/site/build/site/en/skin/images/current.gif +0 -0
- data/site/build/site/en/skin/images/error.png +0 -0
- data/site/build/site/en/skin/images/external-link.gif +0 -0
- data/site/build/site/en/skin/images/fix.jpg +0 -0
- data/site/build/site/en/skin/images/forrest-credit-logo.png +0 -0
- data/site/build/site/en/skin/images/hack.jpg +0 -0
- data/site/build/site/en/skin/images/header_white_line.gif +0 -0
- data/site/build/site/en/skin/images/info.png +0 -0
- data/site/build/site/en/skin/images/instruction_arrow.png +0 -0
- data/site/build/site/en/skin/images/label.gif +0 -0
- data/site/build/site/en/skin/images/page.gif +0 -0
- data/site/build/site/en/skin/images/pdfdoc.gif +0 -0
- data/site/build/site/en/skin/images/poddoc.png +0 -0
- data/site/build/site/en/skin/images/printer.gif +0 -0
- data/site/build/site/en/skin/images/rc-b-l-15-1body-2menu-3menu.png +0 -0
- data/site/build/site/en/skin/images/rc-b-r-15-1body-2menu-3menu.png +0 -0
- data/site/build/site/en/skin/images/rc-b-r-5-1header-2tab-selected-3tab-selected.png +0 -0
- data/site/build/site/en/skin/images/rc-t-l-5-1header-2searchbox-3searchbox.png +0 -0
- data/site/build/site/en/skin/images/rc-t-l-5-1header-2tab-selected-3tab-selected.png +0 -0
- data/site/build/site/en/skin/images/rc-t-l-5-1header-2tab-unselected-3tab-unselected.png +0 -0
- data/site/build/site/en/skin/images/rc-t-r-15-1body-2menu-3menu.png +0 -0
- data/site/build/site/en/skin/images/rc-t-r-5-1header-2searchbox-3searchbox.png +0 -0
- data/site/build/site/en/skin/images/rc-t-r-5-1header-2tab-selected-3tab-selected.png +0 -0
- data/site/build/site/en/skin/images/rc-t-r-5-1header-2tab-unselected-3tab-unselected.png +0 -0
- data/site/build/site/en/skin/images/remove.jpg +0 -0
- data/site/build/site/en/skin/images/rss.png +0 -0
- data/site/build/site/en/skin/images/spacer.gif +0 -0
- data/site/build/site/en/skin/images/success.png +0 -0
- data/site/build/site/en/skin/images/txtdoc.png +0 -0
- data/site/build/site/en/skin/images/update.jpg +0 -0
- data/site/build/site/en/skin/images/valid-html401.png +0 -0
- data/site/build/site/en/skin/images/vcss.png +0 -0
- data/site/build/site/en/skin/images/warning.png +0 -0
- data/site/build/site/en/skin/images/xmldoc.gif +0 -0
- data/site/build/site/en/skin/menu.js +48 -0
- data/site/build/site/en/skin/note.txt +50 -0
- data/site/build/site/en/skin/print.css +54 -0
- data/site/build/site/en/skin/profile.css +163 -0
- data/site/build/site/en/skin/prototype.js +1257 -0
- data/site/build/site/en/skin/screen.css +587 -0
- data/site/build/site/en/svn.html +223 -0
- data/site/build/site/en/svn.pdf +239 -0
- data/site/build/site/en/wholesite.pdf +1686 -0
- data/site/build/tmp/brokenlinks.xml +2 -0
- data/site/build/tmp/build-info.xml +5 -0
- data/site/build/tmp/cocoon-work/cache-dir/cocoon-ehcache-1.data +0 -0
- data/site/build/tmp/cocoon-work/cache-dir/cocoon-ehcache-1.index +0 -0
- data/site/build/tmp/input.xmap +32 -0
- data/site/build/tmp/internal.xmap +32 -0
- data/site/build/tmp/locationmap.xml +29 -0
- data/site/build/tmp/output.xmap +38 -0
- data/site/build/tmp/pluginlist2fetchbuild.xml +144 -0
- data/site/build/tmp/plugins-1.xml +212 -0
- data/site/build/tmp/plugins-2.xml +347 -0
- data/site/build/tmp/projfilters.properties +41 -0
- data/site/build/tmp/resources.xmap +32 -0
- data/site/build/webapp/WEB-INF/logs/access.log +0 -0
- data/site/build/webapp/WEB-INF/logs/core.log +788 -0
- data/site/build/webapp/WEB-INF/logs/debug.log +0 -0
- data/site/build/webapp/WEB-INF/logs/error.log +248 -0
- data/site/build/webapp/WEB-INF/logs/flow.log +0 -0
- data/site/build/webapp/WEB-INF/logs/idgen.log +0 -0
- data/site/build/webapp/WEB-INF/logs/linkrewriter.log +0 -0
- data/site/build/webapp/WEB-INF/logs/locationmap.log +0 -0
- data/site/build/webapp/WEB-INF/logs/sitemap.log +0 -0
- data/site/build/webapp/WEB-INF/logs/xmlform.log +0 -0
- data/site/forrest.properties +152 -0
- data/site/forrest.properties.dispatcher.properties +25 -0
- data/site/forrest.properties.xml +29 -0
- data/site/src/documentation/README.txt +7 -0
- data/site/src/documentation/classes/CatalogManager.properties +62 -0
- data/site/src/documentation/content/locationmap.xml +72 -0
- data/site/src/documentation/content/xdocs/downloads.html +9 -0
- data/site/src/documentation/content/xdocs/geneticAlgorithms.xml +280 -0
- data/site/src/documentation/content/xdocs/index.xml +73 -0
- data/site/src/documentation/content/xdocs/machineLearning.xml +129 -0
- data/site/src/documentation/content/xdocs/neuralNetworks.xml +218 -0
- data/site/src/documentation/content/xdocs/site.xml +51 -0
- data/site/src/documentation/content/xdocs/svn.xml +31 -0
- data/site/src/documentation/content/xdocs/tabs.xml +35 -0
- data/site/src/documentation/resources/images/ai4r-logo.png +0 -0
- data/site/src/documentation/resources/images/c.png +0 -0
- data/site/src/documentation/resources/images/c_wbn.png +0 -0
- data/site/src/documentation/resources/images/c_wn.png +0 -0
- data/site/src/documentation/resources/images/ellipse-2.svg +30 -0
- data/site/src/documentation/resources/images/ero.gif +0 -0
- data/site/src/documentation/resources/images/europe2.png +0 -0
- data/site/src/documentation/resources/images/europe3.png +0 -0
- data/site/src/documentation/resources/images/fitness.png +0 -0
- data/site/src/documentation/resources/images/icon-a.png +0 -0
- data/site/src/documentation/resources/images/icon-b.png +0 -0
- data/site/src/documentation/resources/images/icon.png +0 -0
- data/site/src/documentation/resources/images/my_email.png +0 -0
- data/site/src/documentation/resources/images/project-logo.png +0 -0
- data/site/src/documentation/resources/images/rubyforge.png +0 -0
- data/site/src/documentation/resources/images/s.png +0 -0
- data/site/src/documentation/resources/images/s_wbn.png +0 -0
- data/site/src/documentation/resources/images/s_wn.png +0 -0
- data/site/src/documentation/resources/images/sigmoid.png +0 -0
- data/site/src/documentation/resources/images/sub-dir/icon-c.png +0 -0
- data/site/src/documentation/resources/images/t.png +0 -0
- data/site/src/documentation/resources/images/t_wbn.png +0 -0
- data/site/src/documentation/resources/images/t_wn.png +0 -0
- data/site/src/documentation/resources/schema/catalog.xcat +29 -0
- data/site/src/documentation/resources/schema/hello-v10.dtd +51 -0
- data/site/src/documentation/resources/schema/symbols-project-v10.ent +26 -0
- data/site/src/documentation/resources/stylesheets/hello2document.xsl +33 -0
- data/site/src/documentation/sitemap.xmap +66 -0
- data/site/src/documentation/skinconf.xml +418 -0
- data/site/src/documentation/translations/langcode.xml +29 -0
- data/site/src/documentation/translations/languages_de.xml +24 -0
- data/site/src/documentation/translations/languages_en.xml +24 -0
- data/site/src/documentation/translations/languages_es.xml +22 -0
- data/site/src/documentation/translations/languages_fr.xml +24 -0
- data/site/src/documentation/translations/languages_nl.xml +24 -0
- data/site/src/documentation/translations/menu.xml +33 -0
- data/site/src/documentation/translations/menu_af.xml +33 -0
- data/site/src/documentation/translations/menu_de.xml +33 -0
- data/site/src/documentation/translations/menu_es.xml +33 -0
- data/site/src/documentation/translations/menu_fr.xml +33 -0
- data/site/src/documentation/translations/menu_it.xml +33 -0
- data/site/src/documentation/translations/menu_nl.xml +33 -0
- data/site/src/documentation/translations/menu_no.xml +33 -0
- data/site/src/documentation/translations/menu_ru.xml +33 -0
- data/site/src/documentation/translations/menu_sk.xml +33 -0
- data/site/src/documentation/translations/tabs.xml +22 -0
- data/site/src/documentation/translations/tabs_de.xml +22 -0
- data/site/src/documentation/translations/tabs_es.xml +22 -0
- data/site/src/documentation/translations/tabs_fr.xml +22 -0
- data/site/src/documentation/translations/tabs_nl.xml +22 -0
- data/test/decision_tree/id3_test.rb +209 -0
- data/test/genetic_algorithm/chromosome_test.rb +55 -0
- data/test/genetic_algorithm/genetic_algorithm_test.rb +78 -0
- data/test/neural_network/backpropagation_test.rb +44 -0
- metadata +274 -0
data/README.rdoc
ADDED
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
= Introduction
|
|
2
|
+
|
|
3
|
+
This project aims to produce ruby implementations of
|
|
4
|
+
algorithms covering several Artificial intelligence fields, including:
|
|
5
|
+
|
|
6
|
+
* Machine Learning (DecisionTree::ID3)
|
|
7
|
+
|
|
8
|
+
Decision Trees using an implementation of ID3 algorithm.
|
|
9
|
+
|
|
10
|
+
* Genetic algorithms (GeneticAlgorithm::GeneticSearch)
|
|
11
|
+
|
|
12
|
+
Implementation of GeneticSearch and Chromosome classes. The GeneticSearch is a generic class, and can be used to solved any kind of problems. The GeneticSearch class performs a stochastic search of the solution of a given problem.
|
|
13
|
+
|
|
14
|
+
* Neural network (NeuralNetwork::Backpropagation)
|
|
15
|
+
|
|
16
|
+
Implementation of neural networks using the Backpropagation supervised learning technique.
|
|
17
|
+
|
|
18
|
+
* Bayesian networks
|
|
19
|
+
|
|
20
|
+
TODO
|
|
21
|
+
|
|
22
|
+
= Where can I find the lastest code and info on this project?
|
|
23
|
+
|
|
24
|
+
http://ai4r.rubyforge.org
|
|
25
|
+
|
|
26
|
+
= How to install
|
|
27
|
+
|
|
28
|
+
1. Install the gem:
|
|
29
|
+
|
|
30
|
+
gem install http://rubyforge.org/frs/download.php/32923/ai4r-1.0.gem
|
|
31
|
+
|
|
32
|
+
2. Include require statements in your code:
|
|
33
|
+
|
|
34
|
+
require "rubygems"
|
|
35
|
+
require "decision_tree/id3"
|
|
36
|
+
require "neural_network/backpropagation"
|
|
37
|
+
require "genetic_algorithm/genetic_algorithm"
|
|
38
|
+
|
|
39
|
+
= Feedback
|
|
40
|
+
|
|
41
|
+
If you have some constructive comments about this project, please do send those
|
|
42
|
+
to me: Sergio Fierens (sergio(dot)fierens(at)gmail(dot)com)
|
|
43
|
+
|
|
44
|
+
= Warranty
|
|
45
|
+
|
|
46
|
+
This software is provided "as is" and without any express or implied warranties,
|
|
47
|
+
including, without limitation, the implied warranties of merchantibility and
|
|
48
|
+
fitness for a particular purpose.
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
zone,rooms,size,price
|
|
2
|
+
Moron Sur (GBA),2,[28 m2 - 39 m2],[29K-35K]
|
|
3
|
+
Moron Sur (GBA),2,[28 m2 - 39 m2],[29K-35K]
|
|
4
|
+
Moron Sur (GBA),2,[28 m2 - 39 m2],[29K-35K]
|
|
5
|
+
Moron Sur (GBA),2,[28 m2 - 39 m2],[29K-35K]
|
|
6
|
+
Moron Sur (GBA),2,[28 m2 - 39 m2],[29K-35K]
|
|
7
|
+
Moron Sur (GBA),2,[28 m2 - 39 m2],[29K-35K]
|
|
8
|
+
Moron Sur (GBA),2,[28 m2 - 39 m2],[29K-35K]
|
|
9
|
+
Moron Sur (GBA),2,[28 m2 - 39 m2],[36K-45K]
|
|
10
|
+
Moron Sur (GBA),2,[28 m2 - 39 m2],[36K-45K]
|
|
11
|
+
Moron Sur (GBA),2,[28 m2 - 39 m2],[36K-45K]
|
|
12
|
+
Moron Sur (GBA),2,[28 m2 - 39 m2],[29K-35K]
|
|
13
|
+
Moron Sur (GBA),2,[28 m2 - 39 m2],[36K-45K]
|
|
14
|
+
Moron Sur (GBA),2,[40 m2 - 50 m2],[36K-45K]
|
|
15
|
+
Moron Sur (GBA),2,[40 m2 - 50 m2],[29K-35K]
|
|
16
|
+
Moron Sur (GBA),2,[40 m2 - 50 m2],[29K-35K]
|
|
17
|
+
Moron Sur (GBA),2,[40 m2 - 50 m2],[56K-75K]
|
|
18
|
+
Moron Sur (GBA),3,[40 m2 - 50 m2],[36K-45K]
|
|
19
|
+
Moron Sur (GBA),2,[40 m2 - 50 m2],[29K-35K]
|
|
20
|
+
Moron Sur (GBA),2,[51 m2 - 59 m2],[36K-45K]
|
|
21
|
+
Moron Sur (GBA),3,[51 m2 - 59 m2],[46K-55K]
|
|
22
|
+
Moron Sur (GBA),3,[51 m2 - 59 m2],[36K-45K]
|
|
23
|
+
Moron Sur (GBA),3,[51 m2 - 59 m2],[36K-45K]
|
|
24
|
+
Moron Sur (GBA),3,[51 m2 - 59 m2],[36K-45K]
|
|
25
|
+
Moron Sur (GBA),3,[51 m2 - 59 m2],[36K-45K]
|
|
26
|
+
Moron Sur (GBA),3,[51 m2 - 59 m2],[46K-55K]
|
|
27
|
+
Moron Sur (GBA),2,[51 m2 - 59 m2],[46K-55K]
|
|
28
|
+
Moron Sur (GBA),3,[60 m2 - 70 m2],[46K-55K]
|
|
29
|
+
Moron Sur (GBA),3,[60 m2 - 70 m2],[46K-55K]
|
|
30
|
+
Moron Sur (GBA),3,[60 m2 - 70 m2],[56K-75K]
|
|
31
|
+
Moron Sur (GBA),3,[60 m2 - 70 m2],[56K-75K]
|
|
32
|
+
Moron Sur (GBA),3,[60 m2 - 70 m2],[36K-45K]
|
|
33
|
+
Moron Sur (GBA),3,[60 m2 - 70 m2],[36K-45K]
|
|
34
|
+
Moron Sur (GBA),3,[60 m2 - 70 m2],[56K-75K]
|
|
35
|
+
Moron Sur (GBA),3,[71 m2 - 85 m2],[46K-55K]
|
|
36
|
+
Moron Sur (GBA),3,[86 m2 - 100 m2],[46K-55K]
|
|
37
|
+
Moron Sur (GBA),4,[101 m2 - 125 m2],[101K-125K]
|
|
38
|
+
Moron Sur (GBA),3,[101 m2 - 125 m2],[76K-100K]
|
|
39
|
+
Moron Sur (GBA),4,[101 m2 - 125 m2],[170K-200K]
|
|
40
|
+
Moron Sur (GBA),4,[101 m2 - 125 m2],[76K-100K]
|
|
41
|
+
Moron Sur (GBA),4,[126 m2 - 160 m2],[56K-75K]
|
|
42
|
+
Moron Sur (GBA),4,[126 m2 - 160 m2],[126K-150K]
|
|
43
|
+
Recoleta (CABA),2,[28 m2 - 39 m2],[46K-55K]
|
|
44
|
+
Recoleta (CABA),2,[28 m2 - 39 m2],[56K-75K]
|
|
45
|
+
Recoleta (CABA),2,[28 m2 - 39 m2],[56K-75K]
|
|
46
|
+
Recoleta (CABA),2,[28 m2 - 39 m2],[46K-55K]
|
|
47
|
+
Recoleta (CABA),2,[40 m2 - 50 m2],[56K-75K]
|
|
48
|
+
Recoleta (CABA),2,[40 m2 - 50 m2],[76K-100K]
|
|
49
|
+
Recoleta (CABA),2,[40 m2 - 50 m2],[76K-100K]
|
|
50
|
+
Recoleta (CABA),2,[40 m2 - 50 m2],[56K-75K]
|
|
51
|
+
Recoleta (CABA),2,[40 m2 - 50 m2],[101K-125K]
|
|
52
|
+
Recoleta (CABA),2,[51 m2 - 59 m2],[101K-125K]
|
|
53
|
+
Recoleta (CABA),2,[51 m2 - 59 m2],[56K-75K]
|
|
54
|
+
Recoleta (CABA),2,[51 m2 - 59 m2],[76K-100K]
|
|
55
|
+
Recoleta (CABA),2,[51 m2 - 59 m2],[76K-100K]
|
|
56
|
+
Recoleta (CABA),2,[60 m2 - 70 m2],[56K-75K]
|
|
57
|
+
Recoleta (CABA),2,[60 m2 - 70 m2],[76K-100K]
|
|
58
|
+
Recoleta (CABA),3,[60 m2 - 70 m2],[101K-125K]
|
|
59
|
+
Recoleta (CABA),2,[60 m2 - 70 m2],[76K-100K]
|
|
60
|
+
Recoleta (CABA),2,[60 m2 - 70 m2],[76K-100K]
|
|
61
|
+
Recoleta (CABA),2,[60 m2 - 70 m2],[126K-150K]
|
|
62
|
+
Recoleta (CABA),3,[60 m2 - 70 m2],[76K-100K]
|
|
63
|
+
Recoleta (CABA),3,[60 m2 - 70 m2],[76K-100K]
|
|
64
|
+
Recoleta (CABA),2,[71 m2 - 85 m2],[152K-169K]
|
|
65
|
+
Recoleta (CABA),3,[71 m2 - 85 m2],[126K-150K]
|
|
66
|
+
Recoleta (CABA),3,[71 m2 - 85 m2],[152K-169K]
|
|
67
|
+
Recoleta (CABA),3,[71 m2 - 85 m2],[170K-200K]
|
|
68
|
+
Recoleta (CABA),3,[71 m2 - 85 m2],[101K-125K]
|
|
69
|
+
Recoleta (CABA),3,[71 m2 - 85 m2],[170K-200K]
|
|
70
|
+
Recoleta (CABA),3,[71 m2 - 85 m2],[76K-100K]
|
|
71
|
+
Recoleta (CABA),2,[71 m2 - 85 m2],[126K-150K]
|
|
72
|
+
Recoleta (CABA),3,[71 m2 - 85 m2],[126K-150K]
|
|
73
|
+
Recoleta (CABA),2,[71 m2 - 85 m2],[200K-275K]
|
|
74
|
+
Recoleta (CABA),3,[86 m2 - 100 m2],[152K-169K]
|
|
75
|
+
Recoleta (CABA),3,[86 m2 - 100 m2],[170K-200K]
|
|
76
|
+
Recoleta (CABA),4,[86 m2 - 100 m2],[126K-150K]
|
|
77
|
+
Recoleta (CABA),4,[86 m2 - 100 m2],[126K-150K]
|
|
78
|
+
Recoleta (CABA),3,[86 m2 - 100 m2],[200K-275K]
|
|
79
|
+
Recoleta (CABA),3,[86 m2 - 100 m2],[126K-150K]
|
|
80
|
+
Recoleta (CABA),3,[86 m2 - 100 m2],[152K-169K]
|
|
81
|
+
Recoleta (CABA),3,[86 m2 - 100 m2],[200K-275K]
|
|
82
|
+
Recoleta (CABA),3,[101 m2 - 125 m2],[200K-275K]
|
|
83
|
+
Recoleta (CABA),3,[101 m2 - 125 m2],[170K-200K]
|
|
84
|
+
Recoleta (CABA),4,[101 m2 - 125 m2],[170K-200K]
|
|
85
|
+
Recoleta (CABA),4,[101 m2 - 125 m2],[200K-275K]
|
|
86
|
+
Recoleta (CABA),3,[101 m2 - 125 m2],[56K-75K]
|
|
87
|
+
Recoleta (CABA),4,[101 m2 - 125 m2],[200K-275K]
|
|
88
|
+
Recoleta (CABA),4,[101 m2 - 125 m2],[170K-200K]
|
|
89
|
+
Recoleta (CABA),3,[126 m2 - 160 m2],[200K-275K]
|
|
90
|
+
Recoleta (CABA),4,[126 m2 - 160 m2],[200K-275K]
|
|
91
|
+
Recoleta (CABA),3,[126 m2 - 160 m2],[152K-169K]
|
|
92
|
+
Recoleta (CABA),3,[126 m2 - 160 m2],[200K-275K]
|
|
93
|
+
Recoleta (CABA),4,[126 m2 - 160 m2],>275K
|
|
94
|
+
Recoleta (CABA),3,[126 m2 - 160 m2],[200K-275K]
|
|
95
|
+
Recoleta (CABA),4,[126 m2 - 160 m2],>275K
|
|
96
|
+
Recoleta (CABA),3,[126 m2 - 160 m2],[170K-200K]
|
|
97
|
+
Tigre (GBA),2,[28 m2 - 39 m2],[56K-75K]
|
|
98
|
+
Tigre (GBA),2,[40 m2 - 50 m2],[56K-75K]
|
|
99
|
+
Tigre (GBA),2,[40 m2 - 50 m2],[76K-100K]
|
|
100
|
+
Tigre (GBA),2,[51 m2 - 59 m2],[101K-125K]
|
|
101
|
+
Tigre (GBA),2,[51 m2 - 59 m2],[101K-125K]
|
|
102
|
+
Tigre (GBA),3,[51 m2 - 59 m2],[101K-125K]
|
|
103
|
+
Tigre (GBA),3,[51 m2 - 59 m2],[101K-125K]
|
|
104
|
+
Tigre (GBA),3,[51 m2 - 59 m2],[126K-150K]
|
|
105
|
+
Tigre (GBA),2,[71 m2 - 85 m2],[126K-150K]
|
|
106
|
+
Tigre (GBA),2,[71 m2 - 85 m2],[126K-150K]
|
|
107
|
+
Tigre (GBA),2,[71 m2 - 85 m2],[126K-150K]
|
|
108
|
+
Tigre (GBA),3,[86 m2 - 100 m2],[170K-200K]
|
|
109
|
+
Tigre (GBA),4,[86 m2 - 100 m2],[152K-169K]
|
|
110
|
+
Tigre (GBA),4,[86 m2 - 100 m2],[152K-169K]
|
|
111
|
+
Tigre (GBA),3,[86 m2 - 100 m2],[152K-169K]
|
|
112
|
+
Tigre (GBA),3,[86 m2 - 100 m2],[152K-169K]
|
|
113
|
+
Tigre (GBA),3,[101 m2 - 125 m2],[152K-169K]
|
|
114
|
+
Tigre (GBA),4,[101 m2 - 125 m2],[170K-200K]
|
|
115
|
+
Tigre (GBA),4,[101 m2 - 125 m2],[170K-200K]
|
|
116
|
+
Tigre (GBA),4,[101 m2 - 125 m2],[200K-275K]
|
|
117
|
+
Tigre (GBA),4,[101 m2 - 125 m2],[200K-275K]
|
|
118
|
+
Tigre (GBA),4,[101 m2 - 125 m2],[170K-200K]
|
|
119
|
+
Tigre (GBA),4,[101 m2 - 125 m2],>275K
|
|
120
|
+
Tigre (GBA),4,[101 m2 - 125 m2],>275K
|
|
121
|
+
Tigre (GBA),4,[126 m2 - 160 m2],>275K
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# Author:: Sergio Fierens
|
|
2
|
+
# License:: MPL 1.1
|
|
3
|
+
# Project:: ai4r
|
|
4
|
+
# Url:: http://ai4r.rubyforge.org/
|
|
5
|
+
#
|
|
6
|
+
# You can redistribute it and/or modify it under the terms of
|
|
7
|
+
# the Mozilla Public License version 1.1 as published by the
|
|
8
|
+
# Mozilla Foundation at http://www.mozilla.org/MPL/MPL-1.1.txt
|
|
9
|
+
|
|
10
|
+
require File.dirname(__FILE__) + '/../../lib/decision_tree/id3'
|
|
11
|
+
require 'csv'
|
|
12
|
+
|
|
13
|
+
# Load data from data_set.csv
|
|
14
|
+
data_set = []
|
|
15
|
+
CSV::Reader.parse(File.open("#{File.dirname(__FILE__)}/data_set.csv", 'r')) do |row|
|
|
16
|
+
data_set << row
|
|
17
|
+
end
|
|
18
|
+
data_labels = data_set.shift
|
|
19
|
+
|
|
20
|
+
# Build ID3 tree
|
|
21
|
+
id3 = DecisionTree::ID3.new(data_set, data_labels)
|
|
22
|
+
|
|
23
|
+
# Show rules
|
|
24
|
+
puts "Discovered rules are:"
|
|
25
|
+
puts id3.to_s
|
|
26
|
+
|
|
27
|
+
# Try to predict some values
|
|
28
|
+
puts "['Moron Sur (GBA)','4','[86 m2 - 100 m2]'] => " + id3.eval(['Moron Sur (GBA)','4','[86 m2 - 100 m2]'])
|
|
29
|
+
puts "['Moron Sur (GBA)','3','[101 m2 - 125 m2]'] => " + id3.eval(['Moron Sur (GBA)','3','[101 m2 - 125 m2]'])
|
|
30
|
+
puts "['Recoleta (CABA)','3','[86 m2 - 100 m2]'] => " + id3.eval(['Recoleta (CABA)','3','[86 m2 - 100 m2]',])
|
|
31
|
+
puts "['Tigre (GBA)','3','[71 m2 - 85 m2]'] => " + id3.eval(['Tigre (GBA)','3','[71 m2 - 85 m2]',])
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
Discovered rules are:
|
|
2
|
+
if size=='[28 m2 - 39 m2]' and zone=='Moron Sur (GBA)' then price='[29K-35K]'
|
|
3
|
+
elsif size=='[28 m2 - 39 m2]' and zone=='Recoleta (CABA)' then price='[46K-55K]'
|
|
4
|
+
elsif size=='[28 m2 - 39 m2]' and zone=='Tigre (GBA)' then price='[56K-75K]'
|
|
5
|
+
elsif size=='[40 m2 - 50 m2]' and zone=='Moron Sur (GBA)' then price='[29K-35K]'
|
|
6
|
+
elsif size=='[40 m2 - 50 m2]' and zone=='Recoleta (CABA)' then price='[56K-75K]'
|
|
7
|
+
elsif size=='[40 m2 - 50 m2]' and zone=='Tigre (GBA)' then price='[56K-75K]'
|
|
8
|
+
elsif size=='[51 m2 - 59 m2]' and zone=='Moron Sur (GBA)' then price='[36K-45K]'
|
|
9
|
+
elsif size=='[51 m2 - 59 m2]' and zone=='Recoleta (CABA)' then price='[76K-100K]'
|
|
10
|
+
elsif size=='[51 m2 - 59 m2]' and zone=='Tigre (GBA)' then price='[101K-125K]'
|
|
11
|
+
elsif size=='[60 m2 - 70 m2]' and zone=='Moron Sur (GBA)' then price='[56K-75K]'
|
|
12
|
+
elsif size=='[60 m2 - 70 m2]' and zone=='Recoleta (CABA)' then price='[76K-100K]'
|
|
13
|
+
elsif size=='[71 m2 - 85 m2]' and zone=='Moron Sur (GBA)' then price='[46K-55K]'
|
|
14
|
+
elsif size=='[71 m2 - 85 m2]' and zone=='Recoleta (CABA)' then price='[126K-150K]'
|
|
15
|
+
elsif size=='[71 m2 - 85 m2]' and zone=='Tigre (GBA)' then price='[126K-150K]'
|
|
16
|
+
elsif size=='[86 m2 - 100 m2]' and zone=='Moron Sur (GBA)' then price='[46K-55K]'
|
|
17
|
+
elsif size=='[86 m2 - 100 m2]' and zone=='Recoleta (CABA)' then price='[126K-150K]'
|
|
18
|
+
elsif size=='[86 m2 - 100 m2]' and zone=='Tigre (GBA)' then price='[152K-169K]'
|
|
19
|
+
elsif size=='[101 m2 - 125 m2]' and zone=='Moron Sur (GBA)' then price='[76K-100K]'
|
|
20
|
+
elsif size=='[101 m2 - 125 m2]' and zone=='Recoleta (CABA)' then price='[200K-275K]'
|
|
21
|
+
elsif size=='[101 m2 - 125 m2]' and zone=='Tigre (GBA)' then price='[170K-200K]'
|
|
22
|
+
elsif size=='[126 m2 - 160 m2]' and zone=='Moron Sur (GBA)' then price='[56K-75K]'
|
|
23
|
+
elsif size=='[126 m2 - 160 m2]' and zone=='Recoleta (CABA)' then price='[200K-275K]'
|
|
24
|
+
elsif size=='[126 m2 - 160 m2]' and zone=='Tigre (GBA)' then price='>275K'
|
|
25
|
+
else raise 'There was not enough information during training to do a proper induction for this data element' end
|
|
26
|
+
['Moron Sur (GBA)','4','[86 m2 - 100 m2]'] => [46K-55K]
|
|
27
|
+
['Moron Sur (GBA)','3','[101 m2 - 125 m2]'] => [76K-100K]
|
|
28
|
+
['Recoleta (CABA)','3','[86 m2 - 100 m2]'] => [126K-150K]
|
|
29
|
+
['Tigre (GBA)','3','[71 m2 - 85 m2]'] => [126K-150K]
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# Author:: Sergio Fierens
|
|
2
|
+
# License:: MPL 1.1
|
|
3
|
+
# Project:: ai4r
|
|
4
|
+
# Url:: http://ai4r.rubyforge.org/
|
|
5
|
+
#
|
|
6
|
+
# You can redistribute it and/or modify it under the terms of
|
|
7
|
+
# the Mozilla Public License version 1.1 as published by the
|
|
8
|
+
# Mozilla Foundation at http://www.mozilla.org/MPL/MPL-1.1.txt
|
|
9
|
+
|
|
10
|
+
require File.dirname(__FILE__) + '/../../lib/genetic_algorithm/genetic_algorithm'
|
|
11
|
+
require 'csv'
|
|
12
|
+
|
|
13
|
+
# Load data from data_set.csv
|
|
14
|
+
data_set = []
|
|
15
|
+
CSV::Reader.parse(File.open("#{File.dirname(__FILE__)}/travel_cost.csv", 'r')) do |row|
|
|
16
|
+
data_set << row
|
|
17
|
+
end
|
|
18
|
+
data_labels = data_set.shift
|
|
19
|
+
data_set.collect! do |column|
|
|
20
|
+
column.collect { |element| element.to_f}
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
GeneticAlgorithm::Chromosome.set_cost_matrix(data_set)
|
|
24
|
+
|
|
25
|
+
puts "Some random selected tours costs: "
|
|
26
|
+
3.times do
|
|
27
|
+
c = GeneticAlgorithm::Chromosome.seed
|
|
28
|
+
puts "COST #{c.fitness} TOUR: #{c.data.collect{ |c| data_labels[c]} * ', '}"
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
puts "Beginning genetic search, please wait... "
|
|
32
|
+
search = GeneticAlgorithm::GeneticSearch.new(800, 100)
|
|
33
|
+
result = search.run
|
|
34
|
+
puts "BEST COST FOUND #{result.fitness} TOUR: #{result.data.collect{ |c| data_labels[c]} * ', '}"
|
|
35
|
+
|
|
36
|
+
# $7611.99 TOUR: Moscow, Kiev, Warsaw, Hamburg, Berlin, Vienna, Munich, Milan, Rome, Barcelona, Madrid, Paris, Brussels, London, Dublin
|
|
37
|
+
# $7659.81 TOUR: Moscow, Kiev, Warsaw, Vienna, Munich, Berlin, Hamburg, Brussels, Dublin, London, Paris, Milan, Rome, Barcelona, Madrid
|
|
38
|
+
# $7596.74 TOUR: Moscow, Kiev, Warsaw, Berlin, Hamburg, Vienna, Munich, Milan, Rome, Barcelona, Madrid, Paris, Brussels, London Dublin
|
|
39
|
+
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"Barcelona","Berlin","Brussels","Dublin","Hamburg","Kiev","London","Madrid","Milan","Moscow","Munich","Paris","Rome","Vienna","Warsaw"
|
|
2
|
+
0,"1497.61","1062.89","1469.29","1471.78","2391.06","1137.67","504.64","725.12","3006.93","1054.55","831.59","856.69","1347.43","1862.33"
|
|
3
|
+
"1497.61",0,"651.62","1315.16","254.51","1204.00","929.97","1867.69","840.72","1607.99","501.97","876.96","1181.67","523.61","516.06"
|
|
4
|
+
"1062.89","651.62",0,"773.20","489.76","1836.20","318.72","1314.30","696.61","2253.26","601.87","261.29","1171.34","914.81","1159.85"
|
|
5
|
+
"1469.29","1315.16","773.20",0,"1073.36","2513.69","462.60","1449.96","1413.37","2792.41","1374.91","776.83","1882.22","1680.00","1823.72"
|
|
6
|
+
"1471.78","254.51","489.76","1073.36",0,"1440.34","720.12","1785.33","900.01","1779.93","610.17","744.63","1307.51","742.79","750.49"
|
|
7
|
+
"2391.06","1204.00","1836.20","2513.69","1440.34",0,"2131.20","2859.32","1672.69","756.61","1391.36","2022.76","1673.74","1052.76","690.12"
|
|
8
|
+
"1137.67","929.97","318.72","462.60","720.12","2131.20",0,"1263.37","957.91","2498.32","916.23","340.55","1431.21","1233.48","1445.85"
|
|
9
|
+
"504.64","1867.69","1314.30","1449.96","1785.33","2859.32","1263.37",0,"1187.73","3437.70","1484.53","1053.40","1360.80","1807.09","2288.42"
|
|
10
|
+
"725.12","840.72","696.61","1413.37","900.01","1672.69","957.91","1187.73",0,"2283.19","348.89","641.31","476.00","623.36","1143.01"
|
|
11
|
+
"3006.93","1607.99","2253.26","2792.41","1779.93","756.61","2498.32","3437.70","2283.19",0,"1957.15","2484.92","2374.26","1669.22","1149.41"
|
|
12
|
+
"1054.55","501.97","601.87","1374.91","610.17","1391.36","916.23","1484.53","348.89","1957.15",0,"685.14","698.04","354.42","809.02"
|
|
13
|
+
"831.59","876.96","261.29","776.83","744.63","2022.76","340.55","1053.40","641.31","2484.92","685.14",0,"1105.76","1033.73","1365.91"
|
|
14
|
+
"856.69","1181.67","1171.34","1882.22","1307.51","1673.74","1431.21","1360.80","476.00","2374.26","698.04","1105.76",0,"763.26","1316.24"
|
|
15
|
+
"1347.43","523.61","914.81","1680.00","742.79","1052.76","1233.48","1807.09","623.36","1669.22","354.42","1033.73","763.26",0,"557.43"
|
|
16
|
+
"1862.33","516.06","1159.85","1823.72","750.49","690.12","1445.85","2288.42","1143.01","1149.41","809.02","1365.91","1316.24","557.43",0
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
# Author:: Sergio Fierens
|
|
2
|
+
# License:: MPL 1.1
|
|
3
|
+
# Project:: ai4r
|
|
4
|
+
# Url:: http://ai4r.rubyforge.org/
|
|
5
|
+
#
|
|
6
|
+
# You can redistribute it and/or modify it under the terms of
|
|
7
|
+
# the Mozilla Public License version 1.1 as published by the
|
|
8
|
+
# Mozilla Foundation at http://www.mozilla.org/MPL/MPL-1.1.txt
|
|
9
|
+
|
|
10
|
+
require File.dirname(__FILE__) + '/training_patterns'
|
|
11
|
+
require File.dirname(__FILE__) + '/patterns_with_noise'
|
|
12
|
+
require File.dirname(__FILE__) + '/patterns_with_base_noise'
|
|
13
|
+
require File.dirname(__FILE__) + '/../../lib/neural_network/backpropagation'
|
|
14
|
+
require 'benchmark'
|
|
15
|
+
|
|
16
|
+
times = Benchmark.measure do
|
|
17
|
+
|
|
18
|
+
net = NeuralNetwork::Backpropagation.new([256, 3])
|
|
19
|
+
|
|
20
|
+
tr_input = TRIANGLE.flatten.collect { |input| input.to_f / 10}
|
|
21
|
+
sq_input = SQUARE.flatten.collect { |input| input.to_f / 10}
|
|
22
|
+
cr_input = CROSS.flatten.collect { |input| input.to_f / 10}
|
|
23
|
+
|
|
24
|
+
tr_with_noise = TRIANGLE_WITH_NOISE.flatten.collect { |input| input.to_f / 10}
|
|
25
|
+
sq_with_noise = SQUARE_WITH_NOISE.flatten.collect { |input| input.to_f / 10}
|
|
26
|
+
cr_with_noise = CROSS_WITH_NOISE.flatten.collect { |input| input.to_f / 10}
|
|
27
|
+
|
|
28
|
+
tr_with_base_noise = TRIANGLE_WITH_BASE_NOISE.flatten.collect { |input| input.to_f / 10}
|
|
29
|
+
sq_with_base_noise = SQUARE_WITH_BASE_NOISE.flatten.collect { |input| input.to_f / 10}
|
|
30
|
+
cr_with_base_noise = CROSS_WITH_BASE_NOISE.flatten.collect { |input| input.to_f / 10}
|
|
31
|
+
|
|
32
|
+
puts "Training the network, please wait."
|
|
33
|
+
200.times do
|
|
34
|
+
net.train(tr_input, [1,0,0])
|
|
35
|
+
net.train(sq_input, [0,1,0])
|
|
36
|
+
net.train(cr_input, [0,0,1])
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
def result_label(result)
|
|
40
|
+
if result[0] > result[1] && result[0] > result[2]
|
|
41
|
+
"TRIANGLE"
|
|
42
|
+
elsif result[1] > result[2]
|
|
43
|
+
"SQUARE"
|
|
44
|
+
else
|
|
45
|
+
"CROSS"
|
|
46
|
+
end
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
puts "Training Examples"
|
|
50
|
+
puts "#{net.eval(tr_input).inspect} => #{result_label(net.eval(tr_input))}"
|
|
51
|
+
puts "#{net.eval(sq_input).inspect} => #{result_label(net.eval(sq_input))}"
|
|
52
|
+
puts "#{net.eval(cr_input).inspect} => #{result_label(net.eval(cr_input))}"
|
|
53
|
+
puts "Examples with noise"
|
|
54
|
+
puts "#{net.eval(tr_with_noise).inspect} => #{result_label(net.eval(tr_with_noise))}"
|
|
55
|
+
puts "#{net.eval(sq_with_noise).inspect} => #{result_label(net.eval(sq_with_noise))}"
|
|
56
|
+
puts "#{net.eval(cr_with_noise).inspect} => #{result_label(net.eval(cr_with_noise))}"
|
|
57
|
+
puts "Examples with base noise"
|
|
58
|
+
puts "#{net.eval(tr_with_base_noise).inspect} => #{result_label(net.eval(tr_with_base_noise))}"
|
|
59
|
+
puts "#{net.eval(sq_with_base_noise).inspect} => #{result_label(net.eval(sq_with_base_noise))}"
|
|
60
|
+
puts "#{net.eval(cr_with_base_noise).inspect} => #{result_label(net.eval(cr_with_base_noise))}"
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
end
|
|
64
|
+
|
|
65
|
+
puts "Elapsed time: #{times}"
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
# Author:: Sergio Fierens
|
|
2
|
+
# License:: MPL 1.1
|
|
3
|
+
# Project:: ai4r
|
|
4
|
+
# Url:: http://ai4r.rubyforge.org/
|
|
5
|
+
#
|
|
6
|
+
# You can redistribute it and/or modify it under the terms of
|
|
7
|
+
# the Mozilla Public License version 1.1 as published by the
|
|
8
|
+
# Mozilla Foundation at http://www.mozilla.org/MPL/MPL-1.1.txt
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
TRIANGLE_WITH_BASE_NOISE = [
|
|
12
|
+
[ 3, 3, 3, 3, 3, 3, 3, 8, 8, 3, 3, 3, 3, 3, 3, 3],
|
|
13
|
+
[ 3, 3, 3, 3, 3, 3, 4, 10, 10, 4, 3, 3, 3, 3, 3, 3],
|
|
14
|
+
[ 3, 3, 3, 3, 3, 3, 8, 8, 8, 8, 3, 3, 3, 3, 3, 3],
|
|
15
|
+
[ 3, 3, 3, 3, 3, 4, 10, 4, 4, 10, 4, 3, 3, 3, 3, 3],
|
|
16
|
+
[ 3, 3, 3, 3, 3, 8, 8, 3, 3, 8, 8, 3, 3, 3, 3, 3],
|
|
17
|
+
[ 3, 3, 3, 3, 4, 10, 4, 3, 3, 4, 10, 4, 3, 3, 3, 3],
|
|
18
|
+
[ 3, 3, 3, 3, 8, 8, 3, 3, 3, 3, 8, 8, 3, 3, 3, 3],
|
|
19
|
+
[ 3, 3, 3, 4, 10, 4, 3, 3, 3, 3, 4, 10, 4, 3, 3, 3],
|
|
20
|
+
[ 3, 3, 3, 8, 8, 3, 3, 3, 3, 3, 3, 8, 8, 3, 3, 3],
|
|
21
|
+
[ 3, 3, 4, 10, 4, 3, 3, 3, 3, 3, 3, 4, 10, 4, 3, 3],
|
|
22
|
+
[ 3, 3, 8, 8, 3, 3, 3, 3, 3, 3, 3, 3, 8, 8, 3, 3],
|
|
23
|
+
[ 3, 4, 10, 4, 3, 3, 3, 3, 3, 3, 3, 3, 4, 10, 4, 3],
|
|
24
|
+
[ 3, 8, 8, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 8, 8, 3],
|
|
25
|
+
[ 4, 10, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 10, 4],
|
|
26
|
+
[ 8, 8, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 8, 8],
|
|
27
|
+
[10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10]
|
|
28
|
+
]
|
|
29
|
+
|
|
30
|
+
SQUARE_WITH_BASE_NOISE = [
|
|
31
|
+
[10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10],
|
|
32
|
+
[10, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 10],
|
|
33
|
+
[10, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 10],
|
|
34
|
+
[10, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 10],
|
|
35
|
+
[10, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 10],
|
|
36
|
+
[10, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 10],
|
|
37
|
+
[10, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 10],
|
|
38
|
+
[10, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 10],
|
|
39
|
+
[10, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 10],
|
|
40
|
+
[10, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 10],
|
|
41
|
+
[10, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 10],
|
|
42
|
+
[10, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 10],
|
|
43
|
+
[10, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 10],
|
|
44
|
+
[10, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 10],
|
|
45
|
+
[10, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 10],
|
|
46
|
+
[10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10]
|
|
47
|
+
|
|
48
|
+
]
|
|
49
|
+
|
|
50
|
+
CROSS_WITH_BASE_NOISE = [
|
|
51
|
+
[ 3, 3, 3, 3, 3, 3, 3, 8, 8, 3, 3, 3, 3, 3, 3, 3],
|
|
52
|
+
[ 3, 3, 3, 3, 3, 3, 3, 8, 8, 3, 3, 3, 3, 3, 3, 3],
|
|
53
|
+
[ 3, 3, 3, 3, 3, 3, 3, 8, 8, 3, 3, 3, 3, 3, 3, 3],
|
|
54
|
+
[ 3, 3, 3, 3, 3, 3, 3, 8, 8, 3, 3, 3, 3, 3, 3, 3],
|
|
55
|
+
[ 3, 3, 3, 3, 3, 3, 3, 8, 8, 3, 3, 3, 3, 3, 3, 3],
|
|
56
|
+
[ 3, 3, 3, 3, 3, 3, 3, 8, 8, 3, 3, 3, 3, 3, 3, 3],
|
|
57
|
+
[ 3, 3, 3, 3, 3, 3, 3, 8, 8, 3, 3, 3, 3, 3, 3, 3],
|
|
58
|
+
[ 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8],
|
|
59
|
+
[ 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8],
|
|
60
|
+
[ 3, 3, 3, 3, 3, 3, 3, 8, 8, 3, 3, 3, 3, 3, 3, 3],
|
|
61
|
+
[ 3, 3, 3, 3, 3, 3, 3, 8, 8, 3, 3, 3, 3, 3, 3, 3],
|
|
62
|
+
[ 3, 3, 3, 3, 3, 3, 3, 8, 8, 3, 3, 3, 3, 3, 3, 3],
|
|
63
|
+
[ 3, 3, 3, 3, 3, 3, 3, 8, 8, 3, 3, 3, 3, 3, 3, 3],
|
|
64
|
+
[ 3, 3, 3, 3, 3, 3, 3, 8, 8, 3, 3, 3, 3, 3, 3, 3],
|
|
65
|
+
[ 3, 3, 3, 3, 3, 3, 3, 8, 8, 3, 3, 3, 3, 3, 3, 3],
|
|
66
|
+
[ 3, 3, 3, 3, 3, 3, 3, 8, 8, 3, 3, 3, 3, 3, 3, 3]
|
|
67
|
+
]
|
|
68
|
+
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
# Author:: Sergio Fierens
|
|
2
|
+
# License:: MPL 1.1
|
|
3
|
+
# Project:: ai4r
|
|
4
|
+
# Url:: http://ai4r.rubyforge.org/
|
|
5
|
+
#
|
|
6
|
+
# You can redistribute it and/or modify it under the terms of
|
|
7
|
+
# the Mozilla Public License version 1.1 as published by the
|
|
8
|
+
# Mozilla Foundation at http://www.mozilla.org/MPL/MPL-1.1.txt
|
|
9
|
+
|
|
10
|
+
TRIANGLE_WITH_NOISE = [
|
|
11
|
+
[ 1, 0, 0, 0, 0, 0, 0, 1, 5, 0, 0, 1, 0, 0, 0, 0],
|
|
12
|
+
[ 0, 0, 0, 0, 3, 0, 1, 9, 9, 1, 0, 0, 0, 0, 3, 0],
|
|
13
|
+
[ 0, 3, 0, 0, 0, 0, 5, 1, 5, 3, 0, 0, 0, 0, 0, 7],
|
|
14
|
+
[ 0, 0, 0, 7, 0, 1, 9, 1, 1, 9, 1, 0, 0, 0, 3, 0],
|
|
15
|
+
[ 0, 0, 0, 0, 0, 3, 5, 0, 3, 5, 5, 0, 0, 0, 0, 0],
|
|
16
|
+
[ 0, 1, 0, 0, 1, 9, 1, 0, 1, 1, 9, 1, 0, 0, 0, 0],
|
|
17
|
+
[ 1, 0, 0, 0, 5, 5, 0, 0, 0, 0, 5, 5, 7, 0, 0, 3],
|
|
18
|
+
[ 0, 0, 3, 3, 9, 1, 0, 0, 1, 0, 1, 9, 1, 0, 0, 0],
|
|
19
|
+
[ 0, 0, 0, 5, 5, 0, 3, 7, 0, 0, 0, 5, 5, 0, 0, 0],
|
|
20
|
+
[ 0, 0, 1, 9, 1, 0, 0, 0, 0, 0, 0, 1, 9, 1, 0, 0],
|
|
21
|
+
[ 0, 0, 5, 5, 0, 0, 0, 0, 3, 0, 0, 0, 5, 5, 0, 0],
|
|
22
|
+
[ 0, 1, 9, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9, 1, 0],
|
|
23
|
+
[ 0, 5, 5, 0, 3, 0, 0, 3, 0, 0, 0, 0, 0, 5, 5, 0],
|
|
24
|
+
[ 1, 9, 1, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 1, 9, 1],
|
|
25
|
+
[ 5, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 5],
|
|
26
|
+
[10, 10, 10, 10, 1, 10, 10, 10, 10, 10, 1, 10, 10, 10, 10, 10]
|
|
27
|
+
]
|
|
28
|
+
|
|
29
|
+
SQUARE_WITH_NOISE = [
|
|
30
|
+
[10, 3, 10, 10, 10, 6, 10, 10, 10, 10, 10, 4, 10, 10, 10, 10],
|
|
31
|
+
[10, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10],
|
|
32
|
+
[10, 0, 3, 0, 0, 0, 0, 7, 0, 6, 1, 0, 0, 0, 0, 0],
|
|
33
|
+
[10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10],
|
|
34
|
+
[10, 0, 4, 0, 4, 0, 0, 0, 1, 0, 3, 0, 0, 4, 0, 10],
|
|
35
|
+
[10, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0],
|
|
36
|
+
[10, 0, 0, 0, 3, 6, 0, 0, 1, 0, 0, 0, 0, 0, 0, 10],
|
|
37
|
+
[10, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 7, 0, 0, 10],
|
|
38
|
+
[10, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10],
|
|
39
|
+
[10, 0, 7, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10],
|
|
40
|
+
[10, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 7, 10],
|
|
41
|
+
[10, 0, 3, 0, 4, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 10],
|
|
42
|
+
[10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 10],
|
|
43
|
+
[10, 0, 0, 6, 0, 0, 0, 7, 0, 0, 0, 7, 0, 0, 0, 10],
|
|
44
|
+
[10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10],
|
|
45
|
+
[10, 10, 10, 10, 3, 10, 10, 10, 10, 0, 10, 10, 1, 10, 1, 10]
|
|
46
|
+
|
|
47
|
+
]
|
|
48
|
+
|
|
49
|
+
CROSS_WITH_NOISE = [
|
|
50
|
+
[ 0, 0, 0, 0, 0, 0, 3, 3, 5, 0, 3, 0, 0, 0, 1, 0],
|
|
51
|
+
[ 0, 1, 0, 0, 0, 1, 0, 5, 5, 0, 0, 0, 0, 0, 0, 0],
|
|
52
|
+
[ 0, 0, 0, 0, 0, 0, 0, 5, 5, 0, 0, 0, 3, 0, 0, 0],
|
|
53
|
+
[ 0, 0, 1, 8, 0, 0, 0, 5, 5, 0, 4, 0, 0, 0, 1, 0],
|
|
54
|
+
[ 0, 0, 0, 0, 0, 3, 0, 5, 0, 0, 0, 0, 1, 0, 0, 0],
|
|
55
|
+
[ 0, 0, 0, 8, 0, 0, 0, 5, 5, 0, 0, 0, 0, 0, 0, 1],
|
|
56
|
+
[ 0, 0, 0, 0, 0, 0, 0, 5, 5, 0, 3, 0, 0, 0, 0, 0],
|
|
57
|
+
[ 5, 5, 5, 8, 5, 3, 5, 5, 5, 5, 5, 5, 5, 5, 0, 5],
|
|
58
|
+
[ 5, 5, 5, 5, 5, 5, 5, 5, 1, 5, 5, 5, 5, 1, 0, 0],
|
|
59
|
+
[ 0, 0, 0, 8, 0, 0, 0, 4, 5, 0, 0, 0, 0, 0, 0, 0],
|
|
60
|
+
[ 0, 0, 0, 0, 0, 0, 0, 5, 5, 4, 0, 0, 0, 0, 0, 0],
|
|
61
|
+
[ 0, 0, 0, 0, 0, 4, 0, 5, 5, 0, 0, 0, 0, 0, 0, 0],
|
|
62
|
+
[ 4, 0, 0, 4, 0, 0, 0, 5, 5, 0, 0, 0, 1, 0, 0, 0],
|
|
63
|
+
[ 0, 0, 0, 0, 0, 1, 0, 5, 4, 4, 3, 0, 0, 0, 0, 0],
|
|
64
|
+
[ 0, 0, 0, 0, 0, 0, 0, 5, 5, 0, 0, 0, 10, 0, 0, 0],
|
|
65
|
+
[ 0, 0, 0, 0, 0, 0, 0, 5, 5, 0, 0, 0, 0, 0, 0, 0]
|
|
66
|
+
]
|