<?xml version="1.0" encoding="UTF-8"?> <rss
version="2.0"
xmlns:content="http://purl.org/rss/1.0/modules/content/"
xmlns:wfw="http://wellformedweb.org/CommentAPI/"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:atom="http://www.w3.org/2005/Atom"
xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
> <channel><title>Ex nihilo nihil fit &#187; Artificial Intelligence</title> <atom:link href="http://victorhurdugaci.com/category/artificial-intelligence/feed/" rel="self" type="application/rss+xml" /><link>http://victorhurdugaci.com</link> <description>Victor Hurdugaci&#039;s playground</description> <lastBuildDate>Tue, 29 Nov 2011 07:38:40 +0000</lastBuildDate> <language>en</language> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <generator>http://wordpress.org/?v=</generator> <item><title>The Game of Life</title><link>http://victorhurdugaci.com/the-game-of-life/</link> <comments>http://victorhurdugaci.com/the-game-of-life/#comments</comments> <pubDate>Sun, 14 Feb 2010 19:55:24 +0000</pubDate> <dc:creator>Victor</dc:creator> <category><![CDATA[Artificial Intelligence]]></category> <category><![CDATA[Misc]]></category> <category><![CDATA[Code]]></category> <category><![CDATA[Fun]]></category> <category><![CDATA[Game]]></category> <category><![CDATA[GameOfLive]]></category> <category><![CDATA[MFC]]></category> <guid
isPermaLink="false">http://victorhurdugaci.com/?p=1746</guid> <description><![CDATA[A few days ago I was getting bored and decided to to something fun. Yes, you can get bored at TUDelft&#8230; Well, actually you don&#8217;t get bored, you get sick of all the work you have to do (apologies to anyone offended by this). So in a quest of something fun but still productive I [...]]]></description> <content:encoded><![CDATA[<p
style="text-align: justify;">A few days ago I was getting bored and decided to to something fun. Yes, you can get bored at TUDelft&#8230; Well, actually you don&#8217;t get bored, you get sick of all the work you have to do (apologies to anyone offended by this). So in a quest of something fun but still productive I found Conway&#8217;s Game of Life.</p><h2>Game Of Life</h2><p
style="text-align: justify;"><img
class="alignright size-full wp-image-1747" title="GameOfLifeWorld" src="http://victorhurdugaci.com/wp-content/uploads/2010/02/GameOfLifeWorld.png" alt="" width="207" height="205" />The Game of Life is not really a game because no one plays it. It is a cellular automaton, a zero player game in which the only human interaction is the initial setup. Then the game evolves by itself under the constraint of some rules, until it gets to a stable state.</p><p
style="text-align: justify;">The game&#8217;s world is a 2D grid in which each node is a place that can hold one individual. Each individual can be dead or alive. Basically you can see the world as a black, white grid in which black represents living individuals and white dead ones (the figure on right).</p><p
style="text-align: justify;">Each grid represents a single generation. In order to get a new generation the current one must evolve. This process implies that every individual (dead or alive) node will be evaluated and, based on the result, will survive, die or resurrect. The evaluation function takes in consideration the number of alive neighbors a node has (a node can have up to 8 neighbors):</p><ol
style="text-align: justify;"><li>If one individual has less than two neighbors alive, it will be dead in the next generation because of underpopulation.</li><li>If one individual has more than three neighbors alive, it will be dead in the next generation because of overcrowding.</li><li>If one individual is alive and has two or three neighbors alive, it will survive in the next generation.</li><li>If one individual is dead and has three neighbors alive, it will resurrect (be alive) in the next generation.</li></ol><p
style="text-align: justify;"><img
class="alignright" title="Stable population" src="http://upload.wikimedia.org/wikipedia/commons/thumb/9/96/Game_of_life_block_with_border.svg/66px-Game_of_life_block_with_border.svg.png" alt="" width="66" height="66" />That&#8217;s all. Based on this transition, each individual gets from one state to another, from generation to generation. There are two situations in which no more changes will be made between generations:</p><ol
style="text-align: justify;"><li>All individuals are dead.</li><li>All individuals are in a stable state from which they cannot die. The square on right is a stable population that cannot change because all alive individuals have two or three neighbors and all dead individuals have at most two neighbors alive so they cannot resurrect.</li></ol><p
style="text-align: justify;">The fun part was to implement this myself. I created a small MFC application that is able to load files with predefined configuration or to generate random populations up to 10.000 individuals. If you download the sample be aware it will crash if you load invalid files and do strange things &#8211; it is just a prototype.</p><p><span
id="more-1746"></span></p><h2>Demo</h2><div
style="text-align: center"> <object
width="425" height="344" type="application/x-shockwave-flash" data="http://www.youtube.com/v/aJTKfby8qfE"><param
name="movie" value="http://www.youtube.com/v/aJTKfby8qfE" /></object></div><h2>Code and download</h2><p
style="text-align: justify;">If you want just to &#8216;play&#8217; then you can download the binary file <a
href="http://victorhurdugaci.com/download/GameOfLife_Binary.zip"><img
src="http://victorhurdugaci.com/img/download-icon.jpg" alt="Download Icon" width="24" height="24" />GameOfLife Binary (67.06 KB)</a> (the archive also includes some great samples).</p><p
style="text-align: justify;">For those who love programming, the source code is also available. Technical details:</p><ul
style="text-align: justify;"><li>In order to prevent flickering the drawing is double buffered.</li><li>There is a small memory leak (4K every few seconds) but I am too tired to look now for it &#8211; will check it sometime later or if you find it, let me know.</li><li>The &#8216;gol&#8217; files, that describe a predefined world, contain on the first line the width of the world, on the second the height and on the next lines the world where each node can be 0 or 1.</li><li>The solution is for Visual Studio 2010.</li></ul><p
style="text-align: justify;">The archive containing source code: <a
href="http://victorhurdugaci.com/download/GameOfLife_Code.zip"><img
src="http://victorhurdugaci.com/img/download-icon.jpg" alt="Download Icon" width="24" height="24" />GameOfLife Code (132.88 KB)</a>.</p><p
style="text-align: justify;">Have fun and please provide feedback!</p><h2 style="text-align: justify;">More info and references</h2><ul><li><a
href="http://en.wikipedia.org/wiki/Conway%27s_Game_of_Life" target="_blank">More information about Game of Life</a></li><li><a
href="http://en.wikipedia.org/wiki/Cellular_automaton" target="_blank">More information about cellular automatons</a></li></ul> ]]></content:encoded> <wfw:commentRss>http://victorhurdugaci.com/the-game-of-life/feed/</wfw:commentRss> <slash:comments>2</slash:comments> </item> <item><title>GeekMeet Brasov 5 Presentation</title><link>http://victorhurdugaci.com/geekmeet-brasov-5-presentation/</link> <comments>http://victorhurdugaci.com/geekmeet-brasov-5-presentation/#comments</comments> <pubDate>Mon, 27 Jul 2009 19:45:17 +0000</pubDate> <dc:creator>Victor</dc:creator> <category><![CDATA[Artificial Intelligence]]></category> <category><![CDATA[Personal/Blog]]></category> <category><![CDATA[Rule Based Systems]]></category> <guid
isPermaLink="false">http://victorhurdugaci.com/?p=1271</guid> <description><![CDATA[I spoke about rule based systems at GeekMeet Brasov 5. My presentation, in Romanian, can be downloaded from the link below: Download the presentation The video recording of my speech can be see below:]]></description> <content:encoded><![CDATA[<p>I spoke about rule based systems at GeekMeet Brasov 5. My presentation, in Romanian, can be downloaded from the link below:</p><p><a
href="http://victorhurdugaci.com/wp-content/uploads/2009/07/Sisteme-bazate-pe-reguli-GeekMeet-5.pptx"><img
src="http://victorhurdugaci.com/img/download-icon.jpg" alt="Download Icon" width="32" height="32" />Download the presentation</a></p><p>The video recording of my speech can be see below:</p><p><span
id="more-1271"></span></p><p
style="text-align: center"><object
width="400" height="300"><param
name="allowfullscreen" value="true" /><param
name="allowscriptaccess" value="always" /><param
name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=5784118&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" /><embed
src="http://vimeo.com/moogaloop.swf?clip_id=5784118&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="400" height="300"></embed></object><p><a
href="http://vimeo.com/5784118"></p> ]]></content:encoded> <wfw:commentRss>http://victorhurdugaci.com/geekmeet-brasov-5-presentation/feed/</wfw:commentRss> <slash:comments>1</slash:comments> </item> <item><title>My Thesis is Available for Download</title><link>http://victorhurdugaci.com/my-thesis-is-available-for-download/</link> <comments>http://victorhurdugaci.com/my-thesis-is-available-for-download/#comments</comments> <pubDate>Fri, 03 Jul 2009 21:41:20 +0000</pubDate> <dc:creator>Victor</dc:creator> <category><![CDATA[Artificial Intelligence]]></category> <category><![CDATA[Personal/Blog]]></category> <category><![CDATA[Rule Based Systems]]></category> <category><![CDATA[Algoritmul rete]]></category> <category><![CDATA[Bachelor's Thesis]]></category> <category><![CDATA[Lucrare de licenta]]></category> <category><![CDATA[Rete]]></category> <category><![CDATA[Sisteme expert]]></category> <guid
isPermaLink="false">http://victorhurdugaci.com/?p=1145</guid> <description><![CDATA[I want to share with everyone my Bachelor&#8217;s thesis. It is called &#8220;Sisteme bazate pe reguli, o implementare moderna. Algoritmul Rete&#8221; (eng. &#8220;Rule based systems, a modern implementation. Rete algorithm&#8221;) and it is written in Romanian. Feel free to download it from its page and *please* provide feedback.]]></description> <content:encoded><![CDATA[<p>I want to share with everyone my Bachelor&#8217;s thesis.</p><p>It is called &#8220;Sisteme bazate pe reguli, o implementare moderna. Algoritmul Rete&#8221; (eng. &#8220;Rule based systems, a modern implementation. Rete algorithm&#8221;) and it is written in Romanian.</p><p>Feel free to download it from <a
href="http://victorhurdugaci.com/projects/bachelors-thesis-rete/" target="_self">its page</a> and *please* provide feedback.</p> ]]></content:encoded> <wfw:commentRss>http://victorhurdugaci.com/my-thesis-is-available-for-download/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Machine Learning (Stanford) 2</title><link>http://victorhurdugaci.com/machine-learning-stanford-2/</link> <comments>http://victorhurdugaci.com/machine-learning-stanford-2/#comments</comments> <pubDate>Fri, 24 Oct 2008 16:38:49 +0000</pubDate> <dc:creator>Victor</dc:creator> <category><![CDATA[Artificial Intelligence]]></category> <category><![CDATA[News]]></category> <category><![CDATA[Stanford]]></category> <guid
isPermaLink="false">http://victorhurdugaci.com/?p=322</guid> <description><![CDATA[Lecture Description: Lecture by Professor Andrew Ng for Machine Learning (CS 229) in the Stanford Computer Science department. Professor Ng lectures on linear regression, gradient descent, and normal equations and discusses how they relate to machine learning.]]></description> <content:encoded><![CDATA[<p><strong>Lecture Description:</strong></p><p>Lecture by Professor Andrew Ng for Machine Learning (CS 229) in the Stanford Computer Science department. Professor Ng lectures on linear regression, gradient descent, and normal equations and discusses how they relate to machine learning.</p><p><span
id="more-322"></span></p><div
style="text-align: center; margin: auto"><p><object
type="application/x-shockwave-flash" style="width:550px; height:440px;" data="http://www.youtube.com/v/5u4G23_OohI"><param
name="movie" value="http://www.youtube.com/v/5u4G23_OohI" /></object></p></div> ]]></content:encoded> <wfw:commentRss>http://victorhurdugaci.com/machine-learning-stanford-2/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Machine Learning (Stanford) 1</title><link>http://victorhurdugaci.com/machine-learning-stanford-1/</link> <comments>http://victorhurdugaci.com/machine-learning-stanford-1/#comments</comments> <pubDate>Wed, 22 Oct 2008 19:04:46 +0000</pubDate> <dc:creator>Victor</dc:creator> <category><![CDATA[Artificial Intelligence]]></category> <category><![CDATA[News]]></category> <category><![CDATA[Stanford]]></category> <guid
isPermaLink="false">http://victorhurdugaci.com/?p=315</guid> <description><![CDATA[First part from an interesting Machine Learning course from Stanford University. Lecture Description: Lecture by Professor Andrew Ng for Machine Learning (CS 229) in the Stanford Computer Science department. Professor Ng provides an overview of the course in this introductory meeting. This course provides a broad introduction to machine learning and statistical pattern recognition. Topics [...]]]></description> <content:encoded><![CDATA[<p>First part from an interesting Machine Learning course from Stanford University.</p><p><strong>Lecture Description:</strong></p><p>Lecture by Professor Andrew Ng for Machine Learning (CS 229) in the Stanford Computer Science department. Professor Ng provides an overview of the course in this introductory meeting.</p><p>This course provides a broad introduction to machine learning and statistical pattern recognition. Topics include supervised learning, unsupervised learning, learning theory, reinforcement learning and adaptive control. Recent applications of machine learning, such as to robotic control, data mining, autonomous navigation, bioinformatics, speech recognition, and text and web data processing are also discussed.</p><p><span
id="more-315"></span></p><div
style="text-align: center; margin: auto"><p><object
type="application/x-shockwave-flash" style="width:550px; height:440px;" data="http://www.youtube.com/v/UzxYlbK2c7E"><param
name="movie" value="http://www.youtube.com/v/UzxYlbK2c7E" /></object></p></div> ]]></content:encoded> <wfw:commentRss>http://victorhurdugaci.com/machine-learning-stanford-1/feed/</wfw:commentRss> <slash:comments>1</slash:comments> </item> </channel> </rss>
