ai4r 1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (196) hide show
  1. data/README.rdoc +48 -0
  2. data/examples/decision_trees/data_set.csv +121 -0
  3. data/examples/decision_trees/id3_example.rb +31 -0
  4. data/examples/decision_trees/results.txt +29 -0
  5. data/examples/genetic_algorithm/genetic_algorithm_example.rb +39 -0
  6. data/examples/genetic_algorithm/travel_cost.csv +16 -0
  7. data/examples/neural_network/backpropagation_example.rb +65 -0
  8. data/examples/neural_network/patterns_with_base_noise.rb +68 -0
  9. data/examples/neural_network/patterns_with_noise.rb +66 -0
  10. data/examples/neural_network/training_patterns.rb +68 -0
  11. data/lib/decision_tree/id3.rb +354 -0
  12. data/lib/genetic_algorithm/genetic_algorithm.rb +268 -0
  13. data/lib/neural_network/backpropagation.rb +259 -0
  14. data/site/build/site/en/broken-links.xml +2 -0
  15. data/site/build/site/en/downloads.html +187 -0
  16. data/site/build/site/en/downloads.pdf +151 -0
  17. data/site/build/site/en/geneticAlgorithms.html +564 -0
  18. data/site/build/site/en/geneticAlgorithms.pdf +911 -0
  19. data/site/build/site/en/images/ai4r-logo.png +0 -0
  20. data/site/build/site/en/images/built-with-forrest-button.png +0 -0
  21. data/site/build/site/en/images/c.png +0 -0
  22. data/site/build/site/en/images/c_wbn.png +0 -0
  23. data/site/build/site/en/images/c_wn.png +0 -0
  24. data/site/build/site/en/images/ero.gif +0 -0
  25. data/site/build/site/en/images/europe2.png +0 -0
  26. data/site/build/site/en/images/europe3.png +0 -0
  27. data/site/build/site/en/images/fitness.png +0 -0
  28. data/site/build/site/en/images/instruction_arrow.png +0 -0
  29. data/site/build/site/en/images/my_email.png +0 -0
  30. data/site/build/site/en/images/rubyforge.png +0 -0
  31. data/site/build/site/en/images/s.png +0 -0
  32. data/site/build/site/en/images/s_wbn.png +0 -0
  33. data/site/build/site/en/images/s_wn.png +0 -0
  34. data/site/build/site/en/images/sigmoid.png +0 -0
  35. data/site/build/site/en/images/t.png +0 -0
  36. data/site/build/site/en/images/t_wbn.png +0 -0
  37. data/site/build/site/en/images/t_wn.png +0 -0
  38. data/site/build/site/en/index.html +258 -0
  39. data/site/build/site/en/index.pdf +306 -0
  40. data/site/build/site/en/linkmap.html +231 -0
  41. data/site/build/site/en/linkmap.pdf +94 -0
  42. data/site/build/site/en/locationmap.xml +72 -0
  43. data/site/build/site/en/machineLearning.html +325 -0
  44. data/site/build/site/en/machineLearning.pdf +337 -0
  45. data/site/build/site/en/neuralNetworks.html +446 -0
  46. data/site/build/site/en/neuralNetworks.pdf +604 -0
  47. data/site/build/site/en/skin/CommonMessages_de.xml +23 -0
  48. data/site/build/site/en/skin/CommonMessages_en_US.xml +23 -0
  49. data/site/build/site/en/skin/CommonMessages_es.xml +23 -0
  50. data/site/build/site/en/skin/CommonMessages_fr.xml +23 -0
  51. data/site/build/site/en/skin/basic.css +166 -0
  52. data/site/build/site/en/skin/breadcrumbs-optimized.js +90 -0
  53. data/site/build/site/en/skin/breadcrumbs.js +237 -0
  54. data/site/build/site/en/skin/fontsize.js +166 -0
  55. data/site/build/site/en/skin/getBlank.js +40 -0
  56. data/site/build/site/en/skin/getMenu.js +45 -0
  57. data/site/build/site/en/skin/images/README.txt +1 -0
  58. data/site/build/site/en/skin/images/add.jpg +0 -0
  59. data/site/build/site/en/skin/images/built-with-forrest-button.png +0 -0
  60. data/site/build/site/en/skin/images/chapter.gif +0 -0
  61. data/site/build/site/en/skin/images/chapter_open.gif +0 -0
  62. data/site/build/site/en/skin/images/current.gif +0 -0
  63. data/site/build/site/en/skin/images/error.png +0 -0
  64. data/site/build/site/en/skin/images/external-link.gif +0 -0
  65. data/site/build/site/en/skin/images/fix.jpg +0 -0
  66. data/site/build/site/en/skin/images/forrest-credit-logo.png +0 -0
  67. data/site/build/site/en/skin/images/hack.jpg +0 -0
  68. data/site/build/site/en/skin/images/header_white_line.gif +0 -0
  69. data/site/build/site/en/skin/images/info.png +0 -0
  70. data/site/build/site/en/skin/images/instruction_arrow.png +0 -0
  71. data/site/build/site/en/skin/images/label.gif +0 -0
  72. data/site/build/site/en/skin/images/page.gif +0 -0
  73. data/site/build/site/en/skin/images/pdfdoc.gif +0 -0
  74. data/site/build/site/en/skin/images/poddoc.png +0 -0
  75. data/site/build/site/en/skin/images/printer.gif +0 -0
  76. data/site/build/site/en/skin/images/rc-b-l-15-1body-2menu-3menu.png +0 -0
  77. data/site/build/site/en/skin/images/rc-b-r-15-1body-2menu-3menu.png +0 -0
  78. data/site/build/site/en/skin/images/rc-b-r-5-1header-2tab-selected-3tab-selected.png +0 -0
  79. data/site/build/site/en/skin/images/rc-t-l-5-1header-2searchbox-3searchbox.png +0 -0
  80. data/site/build/site/en/skin/images/rc-t-l-5-1header-2tab-selected-3tab-selected.png +0 -0
  81. data/site/build/site/en/skin/images/rc-t-l-5-1header-2tab-unselected-3tab-unselected.png +0 -0
  82. data/site/build/site/en/skin/images/rc-t-r-15-1body-2menu-3menu.png +0 -0
  83. data/site/build/site/en/skin/images/rc-t-r-5-1header-2searchbox-3searchbox.png +0 -0
  84. data/site/build/site/en/skin/images/rc-t-r-5-1header-2tab-selected-3tab-selected.png +0 -0
  85. data/site/build/site/en/skin/images/rc-t-r-5-1header-2tab-unselected-3tab-unselected.png +0 -0
  86. data/site/build/site/en/skin/images/remove.jpg +0 -0
  87. data/site/build/site/en/skin/images/rss.png +0 -0
  88. data/site/build/site/en/skin/images/spacer.gif +0 -0
  89. data/site/build/site/en/skin/images/success.png +0 -0
  90. data/site/build/site/en/skin/images/txtdoc.png +0 -0
  91. data/site/build/site/en/skin/images/update.jpg +0 -0
  92. data/site/build/site/en/skin/images/valid-html401.png +0 -0
  93. data/site/build/site/en/skin/images/vcss.png +0 -0
  94. data/site/build/site/en/skin/images/warning.png +0 -0
  95. data/site/build/site/en/skin/images/xmldoc.gif +0 -0
  96. data/site/build/site/en/skin/menu.js +48 -0
  97. data/site/build/site/en/skin/note.txt +50 -0
  98. data/site/build/site/en/skin/print.css +54 -0
  99. data/site/build/site/en/skin/profile.css +163 -0
  100. data/site/build/site/en/skin/prototype.js +1257 -0
  101. data/site/build/site/en/skin/screen.css +587 -0
  102. data/site/build/site/en/svn.html +223 -0
  103. data/site/build/site/en/svn.pdf +239 -0
  104. data/site/build/site/en/wholesite.pdf +1686 -0
  105. data/site/build/tmp/brokenlinks.xml +2 -0
  106. data/site/build/tmp/build-info.xml +5 -0
  107. data/site/build/tmp/cocoon-work/cache-dir/cocoon-ehcache-1.data +0 -0
  108. data/site/build/tmp/cocoon-work/cache-dir/cocoon-ehcache-1.index +0 -0
  109. data/site/build/tmp/input.xmap +32 -0
  110. data/site/build/tmp/internal.xmap +32 -0
  111. data/site/build/tmp/locationmap.xml +29 -0
  112. data/site/build/tmp/output.xmap +38 -0
  113. data/site/build/tmp/pluginlist2fetchbuild.xml +144 -0
  114. data/site/build/tmp/plugins-1.xml +212 -0
  115. data/site/build/tmp/plugins-2.xml +347 -0
  116. data/site/build/tmp/projfilters.properties +41 -0
  117. data/site/build/tmp/resources.xmap +32 -0
  118. data/site/build/webapp/WEB-INF/logs/access.log +0 -0
  119. data/site/build/webapp/WEB-INF/logs/core.log +788 -0
  120. data/site/build/webapp/WEB-INF/logs/debug.log +0 -0
  121. data/site/build/webapp/WEB-INF/logs/error.log +248 -0
  122. data/site/build/webapp/WEB-INF/logs/flow.log +0 -0
  123. data/site/build/webapp/WEB-INF/logs/idgen.log +0 -0
  124. data/site/build/webapp/WEB-INF/logs/linkrewriter.log +0 -0
  125. data/site/build/webapp/WEB-INF/logs/locationmap.log +0 -0
  126. data/site/build/webapp/WEB-INF/logs/sitemap.log +0 -0
  127. data/site/build/webapp/WEB-INF/logs/xmlform.log +0 -0
  128. data/site/forrest.properties +152 -0
  129. data/site/forrest.properties.dispatcher.properties +25 -0
  130. data/site/forrest.properties.xml +29 -0
  131. data/site/src/documentation/README.txt +7 -0
  132. data/site/src/documentation/classes/CatalogManager.properties +62 -0
  133. data/site/src/documentation/content/locationmap.xml +72 -0
  134. data/site/src/documentation/content/xdocs/downloads.html +9 -0
  135. data/site/src/documentation/content/xdocs/geneticAlgorithms.xml +280 -0
  136. data/site/src/documentation/content/xdocs/index.xml +73 -0
  137. data/site/src/documentation/content/xdocs/machineLearning.xml +129 -0
  138. data/site/src/documentation/content/xdocs/neuralNetworks.xml +218 -0
  139. data/site/src/documentation/content/xdocs/site.xml +51 -0
  140. data/site/src/documentation/content/xdocs/svn.xml +31 -0
  141. data/site/src/documentation/content/xdocs/tabs.xml +35 -0
  142. data/site/src/documentation/resources/images/ai4r-logo.png +0 -0
  143. data/site/src/documentation/resources/images/c.png +0 -0
  144. data/site/src/documentation/resources/images/c_wbn.png +0 -0
  145. data/site/src/documentation/resources/images/c_wn.png +0 -0
  146. data/site/src/documentation/resources/images/ellipse-2.svg +30 -0
  147. data/site/src/documentation/resources/images/ero.gif +0 -0
  148. data/site/src/documentation/resources/images/europe2.png +0 -0
  149. data/site/src/documentation/resources/images/europe3.png +0 -0
  150. data/site/src/documentation/resources/images/fitness.png +0 -0
  151. data/site/src/documentation/resources/images/icon-a.png +0 -0
  152. data/site/src/documentation/resources/images/icon-b.png +0 -0
  153. data/site/src/documentation/resources/images/icon.png +0 -0
  154. data/site/src/documentation/resources/images/my_email.png +0 -0
  155. data/site/src/documentation/resources/images/project-logo.png +0 -0
  156. data/site/src/documentation/resources/images/rubyforge.png +0 -0
  157. data/site/src/documentation/resources/images/s.png +0 -0
  158. data/site/src/documentation/resources/images/s_wbn.png +0 -0
  159. data/site/src/documentation/resources/images/s_wn.png +0 -0
  160. data/site/src/documentation/resources/images/sigmoid.png +0 -0
  161. data/site/src/documentation/resources/images/sub-dir/icon-c.png +0 -0
  162. data/site/src/documentation/resources/images/t.png +0 -0
  163. data/site/src/documentation/resources/images/t_wbn.png +0 -0
  164. data/site/src/documentation/resources/images/t_wn.png +0 -0
  165. data/site/src/documentation/resources/schema/catalog.xcat +29 -0
  166. data/site/src/documentation/resources/schema/hello-v10.dtd +51 -0
  167. data/site/src/documentation/resources/schema/symbols-project-v10.ent +26 -0
  168. data/site/src/documentation/resources/stylesheets/hello2document.xsl +33 -0
  169. data/site/src/documentation/sitemap.xmap +66 -0
  170. data/site/src/documentation/skinconf.xml +418 -0
  171. data/site/src/documentation/translations/langcode.xml +29 -0
  172. data/site/src/documentation/translations/languages_de.xml +24 -0
  173. data/site/src/documentation/translations/languages_en.xml +24 -0
  174. data/site/src/documentation/translations/languages_es.xml +22 -0
  175. data/site/src/documentation/translations/languages_fr.xml +24 -0
  176. data/site/src/documentation/translations/languages_nl.xml +24 -0
  177. data/site/src/documentation/translations/menu.xml +33 -0
  178. data/site/src/documentation/translations/menu_af.xml +33 -0
  179. data/site/src/documentation/translations/menu_de.xml +33 -0
  180. data/site/src/documentation/translations/menu_es.xml +33 -0
  181. data/site/src/documentation/translations/menu_fr.xml +33 -0
  182. data/site/src/documentation/translations/menu_it.xml +33 -0
  183. data/site/src/documentation/translations/menu_nl.xml +33 -0
  184. data/site/src/documentation/translations/menu_no.xml +33 -0
  185. data/site/src/documentation/translations/menu_ru.xml +33 -0
  186. data/site/src/documentation/translations/menu_sk.xml +33 -0
  187. data/site/src/documentation/translations/tabs.xml +22 -0
  188. data/site/src/documentation/translations/tabs_de.xml +22 -0
  189. data/site/src/documentation/translations/tabs_es.xml +22 -0
  190. data/site/src/documentation/translations/tabs_fr.xml +22 -0
  191. data/site/src/documentation/translations/tabs_nl.xml +22 -0
  192. data/test/decision_tree/id3_test.rb +209 -0
  193. data/test/genetic_algorithm/chromosome_test.rb +55 -0
  194. data/test/genetic_algorithm/genetic_algorithm_test.rb +78 -0
  195. data/test/neural_network/backpropagation_test.rb +44 -0
  196. metadata +274 -0
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
@@ -0,0 +1,258 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
2
+ <html>
3
+ <head>
4
+ <META http-equiv="Content-Type" content="text/html; charset=UTF-8">
5
+ <meta content="Apache Forrest" name="Generator">
6
+ <meta name="Forrest-version" content="0.8">
7
+ <meta name="Forrest-skin-name" content="pelt">
8
+ <title>Artificial Intelligence for Ruby :: ai4r</title>
9
+ <link type="text/css" href="skin/basic.css" rel="stylesheet">
10
+ <link media="screen" type="text/css" href="skin/screen.css" rel="stylesheet">
11
+ <link media="print" type="text/css" href="skin/print.css" rel="stylesheet">
12
+ <link type="text/css" href="skin/profile.css" rel="stylesheet">
13
+ <script src="skin/getBlank.js" language="javascript" type="text/javascript"></script><script src="skin/getMenu.js" language="javascript" type="text/javascript"></script><script src="skin/fontsize.js" language="javascript" type="text/javascript"></script>
14
+ <link rel="shortcut icon" href="">
15
+ </head>
16
+ <body onload="init()">
17
+ <script type="text/javascript">ndeSetTextSize();</script>
18
+ <div id="top">
19
+ <!--+
20
+ |header
21
+ +-->
22
+ <div class="header">
23
+ <!--+
24
+ |start group logo
25
+ +-->
26
+ <!--+
27
+ |end group logo
28
+ +-->
29
+ <!--+
30
+ |start Project Logo
31
+ +-->
32
+ <div class="projectlogoA1">
33
+ <a href="http://ai4r.rubyforge.org/"><img class="logoImage" alt="ai4r" src="images/ai4r-logo.png" title="Artificial Intelligence for Ruby"></a>
34
+ </div>
35
+ <!--+
36
+ |end Project Logo
37
+ +-->
38
+ <!--+
39
+ |start Search
40
+ +-->
41
+ <div class="searchbox">
42
+ <div class="roundtopsmall">
43
+ <form target="_top" action="http://www.google.com/custom" method="get">
44
+ <input value="ai4r.rubyforge.org;raa.ruby-lang.org;rubyforge.org" name="domains" type="hidden"><label style="display: none" for="sbi">Enter your search terms</label><input id="sbi" value="" maxlength="255" size="31" name="q" type="text"><label style="display: none" for="sbb">Submit search form</label><input id="sbb" value="Search" name="sa" type="submit"><span style="display:none"><input id="ss0" value="" name="sitesearch" style="display=none" type="radio"><input id="ss1" checked value="ai4r.rubyforge.org" name="sitesearch" style="display=none" type="radio"><input id="ss2" value="raa.ruby-lang.org" name="sitesearch" style="display=none" type="radio"><input id="ss3" value="rubyforge.org" name="sitesearch" style="display=none" type="radio"></span><input value="pub-2578934938711895" name="client" type="hidden"><input value="1" name="forid" type="hidden"><input value="ISO-8859-1" name="ie" type="hidden"><input value="ISO-8859-1" name="oe" type="hidden"><input value="active" name="safe" type="hidden"><input value="0000" name="flav" type="hidden"><input value="XEZZoGuMPMQqvUG_" name="sig" type="hidden"><input value="GALT:#008000;GL:1;DIV:#336699;VLC:663399;AH:center;BGC:FFFFFF;LBGC:336699;ALC:0000FF;LC:0000FF;T:000000;GFNT:0000FF;GIMP:0000FF;LH:50;LW:78;L:http://ai4r.rubyforge.org/images/ai4r-logo.png;S:http://ai4r.rubyforge.org/;FORID:1" name="cof" type="hidden"><input value="en" name="hl" type="hidden">
45
+ </form>
46
+ </div>
47
+ </div>
48
+ <!--+
49
+ |end search
50
+ +-->
51
+ <!--+
52
+ |start Tabs
53
+ +-->
54
+ <ul id="tabs">
55
+ <li class="current">
56
+ <a class="selected" href="index.html">Home</a>
57
+ </li>
58
+ </ul>
59
+ <!--+
60
+ |end Tabs
61
+ +-->
62
+ </div>
63
+ </div>
64
+ <div id="main">
65
+ <div id="publishedStrip">
66
+ <!--+
67
+ |start Subtabs
68
+ +-->
69
+ <div id="level2tabs"></div>
70
+ <!--+
71
+ |end Endtabs
72
+ +-->
73
+ <script type="text/javascript"><!--
74
+ document.write("Last Published: " + document.lastModified);
75
+ // --></script>
76
+ </div>
77
+ <!--+
78
+ |breadtrail
79
+ +-->
80
+ <div class="breadtrail">
81
+
82
+ &nbsp;
83
+ </div>
84
+ <!--+
85
+ |start Menu, mainarea
86
+ +-->
87
+ <!--+
88
+ |start Menu
89
+ +-->
90
+ <div id="menu">
91
+ <div onclick="SwitchMenu('menu_selected_1.1', 'skin/')" id="menu_selected_1.1Title" class="menutitle" style="background-image: url('skin/images/chapter_open.gif');">Home</div>
92
+ <div id="menu_selected_1.1" class="selectedmenuitemgroup" style="display: block;">
93
+ <div class="menupage">
94
+ <div class="menupagetitle">Index</div>
95
+ </div>
96
+ <div class="menuitem">
97
+ <a href="geneticAlgorithms.html" title="Genetic Algorithms in ruby">Genetic Algorithms</a>
98
+ </div>
99
+ <div class="menuitem">
100
+ <a href="machineLearning.html" title="ID3 Decision Trees in ruby">Machine Learning</a>
101
+ </div>
102
+ <div class="menuitem">
103
+ <a href="neuralNetworks.html" title="Backpropagation Neural Network in ruby">Neural Networks</a>
104
+ </div>
105
+ <div class="menuitem">
106
+ <a href="downloads.html" title="ai4r - Download Files">Downloads</a>
107
+ </div>
108
+ <div class="menuitem">
109
+ <a href="svn.html" title="ai4r Subversion repository">Subversion (svn)</a>
110
+ </div>
111
+ <div class="menuitem">
112
+ <a href="wholesite.pdf">ai4r project PDF</a>
113
+ </div>
114
+ </div>
115
+ <div id="credit">
116
+ <script type="text/javascript">
117
+ google_ad_client = "pub-2578934938711895";
118
+ google_ad_slot = "6111091580";
119
+ google_ad_width = 125;
120
+ google_ad_height = 125;
121
+ </script><script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"></script>
122
+ <hr>
123
+ <a href="http://forrest.apache.org/"><img border="0" title="Built with Apache Forrest" alt="Built with Apache Forrest - logo" src="images/built-with-forrest-button.png" style="width: 88px;height: 31px;"></a>
124
+ </div>
125
+ <div id="roundbottom">
126
+ <img style="display: none" class="corner" height="15" width="15" alt="" src="skin/images/rc-b-l-15-1body-2menu-3menu.png"></div>
127
+ <!--+
128
+ |alternative credits
129
+ +-->
130
+ <div id="credit2"></div>
131
+ </div>
132
+ <!--+
133
+ |end Menu
134
+ +-->
135
+ <!--+
136
+ |start content
137
+ +-->
138
+ <div id="content">
139
+ <div title="Portable Document Format" class="pdflink">
140
+ <a class="dida" href="index.pdf"><img alt="PDF -icon" src="skin/images/pdfdoc.gif" class="skin"><br>
141
+ PDF</a>
142
+ </div>
143
+ <h1>Artificial Intelligence for Ruby :: ai4r</h1>
144
+ <div id="minitoc-area">
145
+ <ul class="minitoc">
146
+ <li>
147
+ <a href="#Introduction">Introduction</a>
148
+ </li>
149
+ <li>
150
+ <a href="#howtoinstall">How to install</a>
151
+ </li>
152
+ <li>
153
+ <a href="#ContactMe">Contact me</a>
154
+ </li>
155
+ <li>
156
+ <a href="#warranty">Disclaimer Note</a>
157
+ </li>
158
+ </ul>
159
+ </div>
160
+
161
+ <a name="N1000D"></a><a name="Introduction"></a>
162
+ <h2 class="boxed">Introduction</h2>
163
+ <div class="section">
164
+ <p>
165
+ This project aims to produce ruby
166
+ implementations of algorithms covering several Artificial
167
+ intelligence fields, including:
168
+ </p>
169
+ <ul>
170
+
171
+ <li>
172
+ <a href="geneticAlgorithms.html">Genetic algorithms</a>
173
+ </li>
174
+
175
+ <li>
176
+ <a href="machineLearning.html">Machine Learning (ID3, Decision Trees)</a>
177
+ </li>
178
+
179
+ <li>
180
+ <a href="neuralNetworks.html">Neural networks (Backpropagation networks)</a>
181
+ </li>
182
+
183
+ </ul>
184
+ </div>
185
+
186
+
187
+ <a name="N10029"></a><a name="howtoinstall"></a>
188
+ <h2 class="boxed">How to install</h2>
189
+ <div class="section">
190
+ <p>1. Install the gem:</p>
191
+ <pre class="code">gem install http://rubyforge.org/frs/download.php/32923/ai4r-1.0.gem</pre>
192
+ <p>Include require statements in your code:</p>
193
+ <pre class="code">
194
+ require "rubygems"
195
+ require "decision_tree/id3"
196
+ require "neural_network/backpropagation"
197
+ require "genetic_algorithm/genetic_algorithm"
198
+ </pre>
199
+ </div>
200
+
201
+
202
+ <a name="N1003E"></a><a name="ContactMe"></a>
203
+ <h2 class="boxed">Contact me</h2>
204
+ <div class="section">
205
+ <p>
206
+ If you have some constructive comments about this project, please do send those to me:
207
+ Sergio Fierens, email address: <img alt="(sergio (dot) fierens (at) gmail (dot) com)" src="images/my_email.png" title="Sergio Fierens contact email">
208
+ </p>
209
+ </div>
210
+
211
+
212
+ <a name="N1004D"></a><a name="warranty"></a>
213
+ <h2 class="boxed">Disclaimer Note</h2>
214
+ <div class="section">
215
+ <p>
216
+ This software is
217
+ provided "as is" and without any
218
+ express or implied warranties, including, without limitation,
219
+ the implied warranties of merchantibility and fitness for a
220
+ particular purpose.
221
+ </p>
222
+ </div>
223
+
224
+ </div>
225
+ <!--+
226
+ |end content
227
+ +-->
228
+ <div class="clearboth">&nbsp;</div>
229
+ </div>
230
+ <div id="footer">
231
+ <!--+
232
+ |start bottomstrip
233
+ +-->
234
+ <div class="lastmodified">
235
+ <script type="text/javascript"><!--
236
+ document.write("Last Published: " + document.lastModified);
237
+ // --></script>
238
+ </div>
239
+ <div class="copyright">
240
+ Copyright &copy;
241
+ 2007-2008 Sergio Fierens</div>
242
+ <div id="logos">
243
+ <a href="http://validator.w3.org/check/referer"><img style="height: 31px; width: 88px;" title="Valid HTML 4.01!" alt="Valid HTML 4.01!" src="skin/images/valid-html401.png" class="logoImage"></a><a href="http://jigsaw.w3.org/css-validator/check/referer"><img style="height: 31px; width: 88px;" title="Valid CSS!" alt="Valid CSS!" src="skin/images/vcss.png" class="logoImage"></a>
244
+ </div>
245
+ <div class="host">
246
+ <a href="http://rubyforge.org/projects/ai4r/"><img class="logoImage" alt="" src="images/rubyforge.png"></a>
247
+ </div>
248
+ <!--+
249
+ |end bottomstrip
250
+ +-->
251
+ </div>
252
+ <script src="http://www.google-analytics.com/ga.js" type="text/javascript"></script><script type="text/javascript">
253
+ var pageTracker = _gat._getTracker("UA-3234625-1");
254
+ pageTracker._initData();
255
+ pageTracker._trackPageview();
256
+ </script>
257
+ </body>
258
+ </html>
@@ -0,0 +1,306 @@
1
+ %PDF-1.3
2
+ %����
3
+ 4 0 obj
4
+ << /Type /Info
5
+ /Producer (FOP 0.20.5) >>
6
+ endobj
7
+ 5 0 obj
8
+ << /Length 492 /Filter [ /ASCII85Decode /FlateDecode ]
9
+ >>
10
+ stream
11
+ Gaua;4\rsL&;KrWMAt"Fj3N*pCOlg0OFV/_OJYdXPfDXkT`09X'@gf`G,mF;B>6IAcc*J@&R@%,:l[4DFbKWn'k(37"L*4YjS`9!0k*]Y`<P2YRB`bmPq&70>gYBLqsd$hA^dTcCb$B(CMcE-Z<clb1nBAHWOUE*5k4'^Ud,,?#7a-O&7N\qK;)U/rYX%$`OZQN8inE&mIp>Y&:Bk+@+ltB"S)+K*uV-DOkP:K<]a?W=51kIh+kbXMCp_*GK(3[7fkD.%F#`a!sUmt4]:2'hb[ja_d'U?/XtmcKlCXM_nHOl<IkF/#;122$7#5']3SuZ"8t\qp]c!<S=^><o)rV,%R17a<o9p[C.bmr-La66Ha*p&EcFd%=%(r[Jbc`?E/INogq1O]$8<+XkW,++NK<LCKMb3;/k18MjLInm3C@9Uo=oH<XZp[d>jkXR&5eD8&A:]B<]\/,-&l`QYV9i^%FcaHD&V)!o-7<b@/U-+DCj6~>
12
+ endstream
13
+ endobj
14
+ 6 0 obj
15
+ << /Type /Page
16
+ /Parent 1 0 R
17
+ /MediaBox [ 0 0 612 792 ]
18
+ /Resources 3 0 R
19
+ /Contents 5 0 R
20
+ /Annots 7 0 R
21
+ >>
22
+ endobj
23
+ 7 0 obj
24
+ [
25
+ 8 0 R
26
+ 10 0 R
27
+ 12 0 R
28
+ 14 0 R
29
+ ]
30
+ endobj
31
+ 8 0 obj
32
+ << /Type /Annot
33
+ /Subtype /Link
34
+ /Rect [ 102.0 559.666 169.328 547.666 ]
35
+ /C [ 0 0 0 ]
36
+ /Border [ 0 0 0 ]
37
+ /A 9 0 R
38
+ /H /I
39
+ >>
40
+ endobj
41
+ 10 0 obj
42
+ << /Type /Annot
43
+ /Subtype /Link
44
+ /Rect [ 102.0 541.466 178.004 529.466 ]
45
+ /C [ 0 0 0 ]
46
+ /Border [ 0 0 0 ]
47
+ /A 11 0 R
48
+ /H /I
49
+ >>
50
+ endobj
51
+ 12 0 obj
52
+ << /Type /Annot
53
+ /Subtype /Link
54
+ /Rect [ 102.0 523.266 164.996 511.266 ]
55
+ /C [ 0 0 0 ]
56
+ /Border [ 0 0 0 ]
57
+ /A 13 0 R
58
+ /H /I
59
+ >>
60
+ endobj
61
+ 14 0 obj
62
+ << /Type /Annot
63
+ /Subtype /Link
64
+ /Rect [ 102.0 505.066 188.984 493.066 ]
65
+ /C [ 0 0 0 ]
66
+ /Border [ 0 0 0 ]
67
+ /A 15 0 R
68
+ /H /I
69
+ >>
70
+ endobj
71
+ 16 0 obj
72
+ << /Length 1821 /Filter [ /ASCII85Decode /FlateDecode ]
73
+ >>
74
+ stream
75
+ GatU4=``=U&:W67i:tEcYp&,diO:eL?$D`2S*7!BG\@\`d-sjsb-(bm(H__\Pa0aiT`bYRn&&JajiqQ1bA-Qqi?D%UcUmtOpP[BeY2aL+:WE)%/'JU&bYc6&?Mq@D=Y5q`^4Z*1eRmdWB'd%sO.Bl5UTiNp<giR23CXh1'rf0B5NJ(Zir-HO7=O4nmAtbP8DmZ<#>?!B4KjAIo[<s*%OMXh%8&<`IY52bb&Tc'WT##)Y(hd(B#`.s@4_Y/@[L!hkI4kFZX#%9O]RZ/JK^f@(t-m/:pSfD)!g0M.%)I#9IX?r8r&66Wfe=3Q?o^bN.!`G5bpQ6bU\gQ1(h(=F<a3mQ^7p0I%B\8!537R0(8;:l8Umhh?\TVKU\iQQ8r=?SHT3-YW)nci&_gDT-Ht>EU(%^i4egJHlX0+'qu>=#B#6L(qK%=mR8`X\Xio4cnp&f%"5cOYd]B2*8-h;hpZE9)*CXjNq>Ai"n)8DSZH&Q6XFiF&;<Es:&Lf-!BOmcIu;f]R>Y50>&]#<a\htu!.2E1YD9&<0;)t3D]H:d/g?S4_(na9(>[X6(tMeSBF>r9U!R<<PO1:=A09,>DX$6keH<W+aZkY>(>p8?n0(cQqc&?1"4^V\QK:Ep26guF)N,ZU)@N4H!9u=1>3(+;rPjET8dS?Y?CV^=*l+9c@NO(OKFT`-oLLq2P9C.W?H`,MfW.2]O!Dk8e*uuXr)`q^&.nWX@r,2]OMSMf"'%n!YD)gRcB5M'lNhQm@Z;VV[07-/!TXBhrPjETj7uEVrWY=Q/kVkUb/&*_$U]Q$7mY/s6<aGD+S,$7N<]FM2NCem]C>?*M_efX4[2tcE=.0[Op79jp"$=clZA[Bo<O8%FLDD6KH_N+]oESWg5;CuKlQH'3aMTiLcq<2;7n.u]07o!+tif0-`]Jti1$+bL22lV!\3Rd_mSo8KL6$u$,S7SLp0p(5Q`ukY-"I:@TujElfD$2KUY:S!l8BW;<9Pc?LtO[@^OnXQB[&U/gJKf("<Yj(>7iS)4`L$+)p(k_F%V:R2)[q^6d!0!*3**KU/JuL[T0#?C@'k/H2hfRBK9L?F;m`pb^en$UI@bgYj-S3mY/W5s=>_<5H`p6d2%U)n1%E;[)p6;T<f^#db594"DS[1\O`dWlo$:btLc`)r5/5&sK2IIHkUdj_3fCUjN.h5STEGnps5k6:&dsck*!B!.HJlD)&Yq9[&5U%5>YJcl3t-j\pc'H9UnP<]L[0b9_q[2L7*k\]BHgXUoSH2i'-<Cj+b*d;uRrbZlpNmhr5=FDXlh#`OaB=Gf4!,o,Q/1M:<J*8-)O-g0<Z^C$5sA'^\[9&sSc-F-/\=YP_C--FYn:`N<mee$3V_?4g5LV"s"*)*Z`(<_IA41BohM9WRCKu?[j6iMTTJcB`6RStrYNG`=<:8*4S7ZR:L<:dg,kn"IYlR4Hs;GZg/iWgmqr7LH#b@4D`7V57TYl9Q>KjiH:aNTl0h=TD[:&bRJBmE^C)m-mMGGbm][/>X[oQpUQ639:bjcpOD%Jf+M*taQ$l-g\u`$L\:Cu.3XRa*BXi\:>&!_g,\l35KhQ.=WJ<]78+X`JF)K1C[Q,6`@1T13SdFO94DBkb%X3s[Xl?];o0&2RUB6$5nMm.cql9YtD2q1dsf5d(aqE'`]S9%N<ireHeR5Q9*FbNUCWYH=M4ZgF5;Bj;LeOOnaC_632`^k"G8"62c>*(\P/3[',nVWIeIPh>&QEVStmK^t<$N#Ukah/Q=?@%[\Y8GZHThNU^B[<),S$%\t/j'`)"\3Gq,N7<g@N&44UBSs*-:^]11"IBqi7DrldbC9RdOp1~>
76
+ endstream
77
+ endobj
78
+ 17 0 obj
79
+ <</Type /XObject
80
+ /Subtype /Image
81
+ /Name /Im1
82
+ /Length 2890
83
+ /Width 183
84
+ /Height 21
85
+ /BitsPerComponent 8
86
+ /ColorSpace /DeviceRGB
87
+ /Filter [ /ASCII85Decode /FlateDecode ]
88
+ >>
89
+ stream
90
+ Gb"/)HV@Yq)7MA$q]kuZs&@Is5MA\5V.j@,<S'ng;5Q18-;@F(:?km0CmijJd!!Q&[4N8]R$<c6=jh%f(aT_+8k=g'GSlCEH.^-h_Z]S<Z*EiRpk`A1piZ>C50iQ_`AVTWA.S]^L!DjU]AGX3qgR`*^2m"I;]005%'#7A$DU:X13Q'R,l*SXTIcG.fcuaZlh%$$P$5#c2Io85LaCK_bPhnJ90^$PEO\m<m(;8WX7EU1\kb.X="(Lq'7UiIP9^Y_o/%tp.qkN)(qA-Y.=DZM(?;%X^7k:;<aAX*r0cI5WE?d,pNsSKVt6KRoDQ[+?Hqu'%APtjI1I\B95R+]qa\:S8[olO!@>/VCr%>MkOVgKD1;(0MBhS3RIsb/UZ>JBeQ0Xbhu1K*ZgMj?p0_-:$'Oucc/2k?]cE)#6bs>d\4b(.i]iDJB!_<YSNG*@c+Ug(O(JS%+:LWQ$;^e4,]9=1a?dN@3hG8qKblqA4'9[-WUK$#[q9i0>^PDLhtQCHe-mnm9k^/!?TrN)Ph4rTa5ZFNlap5)*;_u6YLe[UdcpCaP,VE\[C(-c@0$a[3#i-TTu7cA%,_4s"ipZdZ[`Q79,;u>X%Z&YJf[t@OVn86\&?fuHIC3V6_0Z6]DcF.aP,>dg3#2QIaif"lg[*e&K0q2,`0S%E;GT(I_QtgZ.nZ8S"!dK`B==u5R7?RJ/-uN!=9m%,c%)]J2?$)][m=Hh;]3W1RSo"HUK>Xq0_hZelM4U0$%R4)GO219ICJFUNDk1s,.3i11<m<SKdNK_XULjH9@<X]2&=g8V/PLg"D4LJ*YZ;[9B,*?m7<`2MRcOj2MNbYj4l:R%Bn(QqF3,9JdY.(`6q#Bu.De?!TiS4-INk0p,!0J[W!F\QmF:''P,35I(8hfIrOGH6F.g]m93]H[EBD@O\TJ)INXA!$L;Emk>lS+XA5u#<6g.af?HYRm9u2[JfL[b>194H0r"mbspT'1A'I'b1G(I;H^P0<TQ'bJRWEbN,/4#0$+Xa'2M"4cUFR*FEYm<GeY2f<6nE`,e7*7,d?e-n1_-:eC7G@RhNsnQ--NdQBmhE8MhQu\@BW-\Xb"u`N\4al7-8W:8`_u_r3<G7n,t$6D;H[JZ8+p]rOsXd)N[QR4JmT\6Q15-o<nCf\bS)cN4cq;oA\l+7qf)-mTRdh/50g-Bq1t9OrsQZ="pu=eI$M?7][[68DH<FCSe_Ilf\P&=NqX0Llbm"G@Io-'73W#>1Lnrn&YgQ+A23I''N*A&ms!c5EX^66["fi]<XpV3fb>IbB&Do_e=,>?=kP)=X^fSDIX5*O>C:`u_Rf)ebDi?g#u5M.Oih,_6>XL5)ohC]p+DB$"h0@VT?i0SaJR?ndBp2H2M+b9A3_!.&$]kf7NqR7%R%90A5n!%NSFHp/Xd+ARk`+rHZfQqSj!cNb?I+>ueVBf,;pg^8>%d>6UQ7cBG^F'JM)7:]db"=VnPmfL6\8M19j]\eU<]dO9o\M_L-_1/U`GCInXI`QV*Ak!sN['d'.30B4h][s?j*'W_jY;[FcDQTm0LI1<dNV=qRXa5EheKj6jb34;Be=<>q#AqmjdIm%2S+fCe7'8"+&n5:2!ChT6&50:b]JaD=9.WG(a0[kGE8G\hJ:fh?ILm#bV]JeFfRP&TJOXj-2^p9qT+W$2bm(L1/nU:Mj<4Sl49WGDG`=kY66n".oHH'7I.AmD#8A-<KM/=G;SdBEijd:rO4G'Bg)ie0D[uB:FDMnjKX`A!Xm[5mH:bt8,rg0mOJ5=p#$-9$FM"MD>>a@iG`g/*3Z8p6SpA=j0Z)Air/7G%IS2QfQ=9&AC@ZB1ps2h+PX6"C$\1Q%B:G?,)0WVO8Z6GfZ!+7BM$,7kQ3E*X:)5g,,!-KD,oL5T8Ve"l70Gl#G`"YV66n!koGqL&bNCE12Zn#O'W!eMJed>s.lm/S,XJsBT!2&IU#E[;r-!^'c/ni((Mh7ASuNkjnU<&Ls7$6Z7&6=4a&A@Xdts5FiGd.sEP&2XE36i\I&OnkFA_H:A"p0*jFT'kdRGY8'@u\T8gF]tJmPWnP'A.>muesShV?m+PTskfcd*hs,NGP++:t4&5X]'l3'IKWiDC>+D/CHb,G+)#8Y?4/iM3!9*`Nh]2'O3D>UE<c-V9/i(RJQr?YG"_EJ)cDpl!i@[tl!aFMiL#B-L"bc9S2rI2R9-d3tJ=HT@+e(RfTH"a.:gP+X/L+$H&Zeb[(>RHt)alKd_gLCV]WEEnB^*,q?;eG=]Y*jCT)D^3AhA)4ojH?*LM#"0CGkj.QPl;201"bgd,99MOTXGm;`+uXNeSWSj2f;!.O!DH6@1G^i>M&\IJnj/@m_!TmcEP=\Kj,aCB`Is?`Y^]M-5r4]H3A]i[Um08bb:q*m[(mZCDEriq4S;-No5=K#AWg+>3*7R)nI<aN8\<Ih(glt9Fj0WopZ,\0KE!*E$tAqmk/leXZRd\2NCMEr\P'-8=foj#g>8a"[cgGRUaJ5!K2($C@ac^3r@\:D^0r'G8X&5LRs1`B6qSP'c;%`LlE']h4`!KJ<FC0*,fIPZh7t7(CqcB\KD^Gj7Nsar=FqOLkm3_D0oUMc-)cX(BCUeQ&D7TsTbD\n2%k2W(;p,?l@`d5JMtAp7Y%7qI9XkX`FYE[T`sSor(P")"VHKBQbl9?ieh<jqh(?p[)l*$O1j?m^%gjAQ%A1+`PRMK(^\Yue,ubPZhNn4alRT-PFoH$$B7<DiU_\N5K"`b2OCSiW4?Cr>C73C74ZTX1U]QMI;I2FV;8.kC'S@ibh&XW('[<L?JO[3g'!+EOtR&LF3F[Va$C-3XaTtXr(mAc0L#RofDdApQ6_8-M"\nF3,=S9O(0gfh!LBt7f_$[jB(96s!7(uO1chGPq?]@ZtDn;1B+?%<(7`Oi8<Q/iog~>
91
+ endstream
92
+ endobj
93
+ 18 0 obj
94
+ << /Type /Page
95
+ /Parent 1 0 R
96
+ /MediaBox [ 0 0 612 792 ]
97
+ /Resources 3 0 R
98
+ /Contents 16 0 R
99
+ /Annots 19 0 R
100
+ >>
101
+ endobj
102
+ 19 0 obj
103
+ [
104
+ 20 0 R
105
+ 21 0 R
106
+ 22 0 R
107
+ ]
108
+ endobj
109
+ 20 0 obj
110
+ << /Type /Annot
111
+ /Subtype /Link
112
+ /Rect [ 108.0 599.266 199.656 587.266 ]
113
+ /C [ 0 0 0 ]
114
+ /Border [ 0 0 0 ]
115
+ /A << /URI (geneticAlgorithms.html)
116
+ /S /URI >>
117
+ /H /I
118
+ >>
119
+ endobj
120
+ 21 0 obj
121
+ << /Type /Annot
122
+ /Subtype /Link
123
+ /Rect [ 108.0 586.066 304.272 574.066 ]
124
+ /C [ 0 0 0 ]
125
+ /Border [ 0 0 0 ]
126
+ /A << /URI (machineLearning.html)
127
+ /S /URI >>
128
+ /H /I
129
+ >>
130
+ endobj
131
+ 22 0 obj
132
+ << /Type /Annot
133
+ /Subtype /Link
134
+ /Rect [ 108.0 572.866 327.612 560.866 ]
135
+ /C [ 0 0 0 ]
136
+ /Border [ 0 0 0 ]
137
+ /A << /URI (neuralNetworks.html)
138
+ /S /URI >>
139
+ /H /I
140
+ >>
141
+ endobj
142
+ 24 0 obj
143
+ <<
144
+ /Title (\376\377\0\61\0\40\0\111\0\156\0\164\0\162\0\157\0\144\0\165\0\143\0\164\0\151\0\157\0\156)
145
+ /Parent 23 0 R
146
+ /Next 25 0 R
147
+ /A 9 0 R
148
+ >> endobj
149
+ 25 0 obj
150
+ <<
151
+ /Title (\376\377\0\62\0\40\0\110\0\157\0\167\0\40\0\164\0\157\0\40\0\151\0\156\0\163\0\164\0\141\0\154\0\154)
152
+ /Parent 23 0 R
153
+ /Prev 24 0 R
154
+ /Next 26 0 R
155
+ /A 11 0 R
156
+ >> endobj
157
+ 26 0 obj
158
+ <<
159
+ /Title (\376\377\0\63\0\40\0\103\0\157\0\156\0\164\0\141\0\143\0\164\0\40\0\155\0\145)
160
+ /Parent 23 0 R
161
+ /Prev 25 0 R
162
+ /Next 27 0 R
163
+ /A 13 0 R
164
+ >> endobj
165
+ 27 0 obj
166
+ <<
167
+ /Title (\376\377\0\64\0\40\0\104\0\151\0\163\0\143\0\154\0\141\0\151\0\155\0\145\0\162\0\40\0\116\0\157\0\164\0\145)
168
+ /Parent 23 0 R
169
+ /Prev 26 0 R
170
+ /A 15 0 R
171
+ >> endobj
172
+ 28 0 obj
173
+ << /Type /Font
174
+ /Subtype /Type1
175
+ /Name /F3
176
+ /BaseFont /Helvetica-Bold
177
+ /Encoding /WinAnsiEncoding >>
178
+ endobj
179
+ 29 0 obj
180
+ << /Type /Font
181
+ /Subtype /Type1
182
+ /Name /F5
183
+ /BaseFont /Times-Roman
184
+ /Encoding /WinAnsiEncoding >>
185
+ endobj
186
+ 30 0 obj
187
+ << /Type /Font
188
+ /Subtype /Type1
189
+ /Name /F1
190
+ /BaseFont /Helvetica
191
+ /Encoding /WinAnsiEncoding >>
192
+ endobj
193
+ 31 0 obj
194
+ << /Type /Font
195
+ /Subtype /Type1
196
+ /Name /F9
197
+ /BaseFont /Courier
198
+ /Encoding /WinAnsiEncoding >>
199
+ endobj
200
+ 32 0 obj
201
+ << /Type /Font
202
+ /Subtype /Type1
203
+ /Name /F2
204
+ /BaseFont /Helvetica-Oblique
205
+ /Encoding /WinAnsiEncoding >>
206
+ endobj
207
+ 33 0 obj
208
+ << /Type /Font
209
+ /Subtype /Type1
210
+ /Name /F7
211
+ /BaseFont /Times-Bold
212
+ /Encoding /WinAnsiEncoding >>
213
+ endobj
214
+ 1 0 obj
215
+ << /Type /Pages
216
+ /Count 2
217
+ /Kids [6 0 R 18 0 R ] >>
218
+ endobj
219
+ 2 0 obj
220
+ << /Type /Catalog
221
+ /Pages 1 0 R
222
+ /Outlines 23 0 R
223
+ /PageMode /UseOutlines
224
+ >>
225
+ endobj
226
+ 3 0 obj
227
+ <<
228
+ /Font << /F3 28 0 R /F5 29 0 R /F1 30 0 R /F9 31 0 R /F2 32 0 R /F7 33 0 R >>
229
+ /ProcSet [ /PDF /ImageC /Text ] /XObject <</Im1 17 0 R
230
+ >>
231
+ >>
232
+ endobj
233
+ 9 0 obj
234
+ <<
235
+ /S /GoTo
236
+ /D [18 0 R /XYZ 85.0 659.0 null]
237
+ >>
238
+ endobj
239
+ 11 0 obj
240
+ <<
241
+ /S /GoTo
242
+ /D [18 0 R /XYZ 85.0 547.866 null]
243
+ >>
244
+ endobj
245
+ 13 0 obj
246
+ <<
247
+ /S /GoTo
248
+ /D [18 0 R /XYZ 85.0 405.312 null]
249
+ >>
250
+ endobj
251
+ 15 0 obj
252
+ <<
253
+ /S /GoTo
254
+ /D [18 0 R /XYZ 85.0 316.378 null]
255
+ >>
256
+ endobj
257
+ 23 0 obj
258
+ <<
259
+ /First 24 0 R
260
+ /Last 27 0 R
261
+ >> endobj
262
+ xref
263
+ 0 34
264
+ 0000000000 65535 f
265
+ 0000008409 00000 n
266
+ 0000008474 00000 n
267
+ 0000008566 00000 n
268
+ 0000000015 00000 n
269
+ 0000000071 00000 n
270
+ 0000000654 00000 n
271
+ 0000000774 00000 n
272
+ 0000000820 00000 n
273
+ 0000008728 00000 n
274
+ 0000000955 00000 n
275
+ 0000008791 00000 n
276
+ 0000001092 00000 n
277
+ 0000008857 00000 n
278
+ 0000001229 00000 n
279
+ 0000008923 00000 n
280
+ 0000001366 00000 n
281
+ 0000003280 00000 n
282
+ 0000006369 00000 n
283
+ 0000006492 00000 n
284
+ 0000006533 00000 n
285
+ 0000006707 00000 n
286
+ 0000006879 00000 n
287
+ 0000008989 00000 n
288
+ 0000007050 00000 n
289
+ 0000007213 00000 n
290
+ 0000007401 00000 n
291
+ 0000007566 00000 n
292
+ 0000007747 00000 n
293
+ 0000007860 00000 n
294
+ 0000007970 00000 n
295
+ 0000008078 00000 n
296
+ 0000008184 00000 n
297
+ 0000008300 00000 n
298
+ trailer
299
+ <<
300
+ /Size 34
301
+ /Root 2 0 R
302
+ /Info 4 0 R
303
+ >>
304
+ startxref
305
+ 9040
306
+ %%EOF