<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="http://feeds.feedburner.com/~d/styles/rss2full.xsl" type="text/xsl" media="screen"?><?xml-stylesheet href="http://feeds.feedburner.com/~d/styles/itemcontent.css" type="text/css" media="screen"?><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0"><channel><title>AI Depot</title><link>http://ai-depot.com/</link><description>Artificial intelligence in software development.</description><lastBuildDate>Thu, 20 Nov 2008 19:03:02 GMT</lastBuildDate><generator>PyRSS2Gen-1.0.0</generator><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/AiDepot" type="application/rss+xml" /><feedburner:emailServiceId>802006</feedburner:emailServiceId><feedburner:feedburnerHostname>http://www.feedburner.com</feedburner:feedburnerHostname><item><title>Artificial Intelligence in Games [Article]</title><link>http://feeds.feedburner.com/~r/AiDepot/~3/156130920/</link><description>There&amp;#8217;s a new site on Game AI called AiGameDev.com (feed).  It features daily articles in a blog-like format, including reviews, editorials, and tutorials, not forgetting regular community discussions on game AI.
Here are some interesting posts made recently.
Machine Learning in Games
Game developers are increasingly keen to try ML techniques, but it does take some know-how [...]</description><content:encoded><![CDATA[<p>There&#8217;s a new site on <a href="http://aigamedev.com/">Game AI</a> called <tt>AiGameDev.com</tt> (<a href="http://aigamedev.com/feed/">feed</a>).  It features daily articles in a blog-like format, including reviews, editorials, and tutorials, not forgetting regular community discussions on game AI.</p>
<p>Here are some interesting posts made recently.</p>
<h3>Machine Learning in Games</h3>
<p>Game developers are increasingly keen to try ML techniques, but it does take some know-how and experience.</p>
<ul>
<li><a href="http://aigamedev.com/architecture/learn-realistic">The Secret to Building Game AI that Learns Realistically</a></li>
<li><a href="http://aigamedev.com/design/alternatives-online-learning">Alternatives to Online Learning for Actor Behaviors</a></li>
<li><a href="http://aigamedev.com/editorial/beauty-beast">Game AI: Beauty and the Beast</a></li>
</ul>
<h3>Hierarchical Planning &amp; Behavior Trees</h3>
<p>Planners have proven themselves very effective in recent games, and hierarchical planners are the next logical step.</p>
<ul>
<li><a href="http://aigamedev.com/hierarchical-logic/bt-overview">Understanding Behavior Trees</a></li>
<li><a href="http://aigamedev.com/alive/game-ai-technical">A Technical Overview of Game::AI++</a></li>
<li><a href="http://aigamedev.com/alive/game-ai-motivation">The Motivation Behind Game::AI++</a></li>
</ul>
<h3>Conference Coverage</h3>
<p><tt>AiGameDev.com</tt> also has summaries of recent events, very useful for catching up with what went on&#8230;</p>
<ul>
<li><a href="http://aigamedev.com/coverage/aiide-2007-posters">AIIDE &#8216;07 Conference Coverage</a></li>
<li><a href="http://aigamedev.com/coverage/aiide-2007-papers">Pushing the Limits of Game AI Technology</a></li>
<li><a href="http://aigamedev.com/coverage/applyai-roundtable">Apply AI 2007 Roundtable Report</a></li>
</ul>
<p>Be sure to check out the site/blog if you&#8217;re interested in <a href="http://aigamedev.com/">game AI</a>!</p><img src="http://feeds.feedburner.com/~r/AiDepot/~4/156130920" height="1" width="1"/>]]></content:encoded><guid isPermaLink="false">http://ai-depot.com/articles/artificial-intelligence-in-games/</guid><pubDate>Thu, 13 Sep 2007 21:01:47 GMT</pubDate><feedburner:origLink>http://ai-depot.com/articles/artificial-intelligence-in-games/</feedburner:origLink></item><item><title>Software Finds Learning Language Child's Play [News]</title><link>http://feeds.feedburner.com/~r/AiDepot/~3/137335971/</link><description>A computer program that learns to decode language sounds in a similar way to a baby could shed new light on how humans acquire the ability to talk. It casts doubt on the idea that babies are born with an innate understanding of all possible language sounds.&lt;br /&gt;&lt;br /&gt;The debate in language acquisition is around how much specific information about language is hard-wired into the brain of the infant, and how much is something that can be explained by relatively general purpose learning systems.&lt;img src="http://feeds.feedburner.com/~r/AiDepot/~4/137335971" height="1" width="1"/&gt;</description><guid isPermaLink="false">http://ai-depot.com/news/story/Software-Finds-Learning-Language-Childs-Play/</guid><pubDate>Wed, 25 Jul 2007 18:58:58 GMT</pubDate><feedburner:origLink>http://ai-depot.com/news/story/Software-Finds-Learning-Language-Childs-Play/</feedburner:origLink></item><item><title>What Would You do With 80 Cores? [News]</title><link>http://feeds.feedburner.com/~r/AiDepot/~3/133410197/</link><description>An Intel developer discussed model-based computing, and how this relates to multi-core architectures.&lt;br /&gt;&lt;br /&gt;&amp;quot;Like the human brain itself, these intelligent applications lend themselves to parallel processing. 80-cores would change the game in a broader sense than just hardware - it will enable new application possibilities.&amp;quot;&lt;img src="http://feeds.feedburner.com/~r/AiDepot/~4/133410197" height="1" width="1"/&gt;</description><guid isPermaLink="false">http://ai-depot.com/news/story/What-Would-You-do-With-80-Cores/</guid><pubDate>Fri, 13 Jul 2007 16:39:37 GMT</pubDate><feedburner:origLink>http://ai-depot.com/news/story/What-Would-You-do-With-80-Cores/</feedburner:origLink></item><item><title>Apply AI 2007 Roundtable Report [News]</title><link>http://feeds.feedburner.com/~r/AiDepot/~3/131942298/</link><description>The Apply AI Innovations 2007 conference drew together programmers from the games industry, students and professors from academia. The AI in games roundtable covered topics such as intelligent replanning, learning AI, debugging strategies, and opinions on current tools.&lt;img src="http://feeds.feedburner.com/~r/AiDepot/~4/131942298" height="1" width="1"/&gt;</description><guid isPermaLink="false">http://ai-depot.com/news/story/Apply-AI-2007-Roundtable-Report/</guid><pubDate>Mon, 09 Jul 2007 13:12:52 GMT</pubDate><feedburner:origLink>http://ai-depot.com/news/story/Apply-AI-2007-Roundtable-Report/</feedburner:origLink></item><item><title>Artificial General Intelligence: Now Is the Time [News]</title><link>http://feeds.feedburner.com/~r/AiDepot/~3/131722391/</link><description>Dr. Ben Goertzel's talk at Google, discussing his own work on the Novamente Cognition Engine, an AGI project based on combining a number of knowledge representations and reasoning and learning techniques into an integrative architecture motivated by complex systems theory, and initially oriented at the control of virtual agents in 3D simulation worlds such as Second Life.&lt;img src="http://feeds.feedburner.com/~r/AiDepot/~4/131722391" height="1" width="1"/&gt;</description><guid isPermaLink="false">http://ai-depot.com/news/story/Artificial-General-Intelligence-Now-Is-Time-1/</guid><pubDate>Sun, 08 Jul 2007 19:46:45 GMT</pubDate><feedburner:origLink>http://ai-depot.com/news/story/Artificial-General-Intelligence-Now-Is-Time-1/</feedburner:origLink></item><item><title>jKilavuz - a guide in the polygon soup [News]</title><link>http://feeds.feedburner.com/~r/AiDepot/~3/127746285/</link><description>First public version of jKilavuz is released.&lt;br /&gt;&lt;br /&gt;jKilavuz is a path engine for Java. It consists of an extensible set of tools for collecting pathfind data and finding and executing paths. Despite the complexness of subject it is designed for ease of use.&lt;img src="http://feeds.feedburner.com/~r/AiDepot/~4/127746285" height="1" width="1"/&gt;</description><guid isPermaLink="false">http://ai-depot.com/news/story/jKilavuz--guide-in-polygon-soup-1/</guid><pubDate>Mon, 25 Jun 2007 12:38:14 GMT</pubDate><feedburner:origLink>http://ai-depot.com/news/story/jKilavuz--guide-in-polygon-soup-1/</feedburner:origLink></item><item><title>Neural Network Creates Music CD [News]</title><link>http://feeds.feedburner.com/~r/AiDepot/~3/126524246/</link><description>Computers have composed music before, but those efforts were little more than high-tech mixed tapes. Most computer composers have been taught rules of music through extensive programming or by breaking down works of human musicians and creating new pieces from the parts.&lt;br /&gt;&lt;br /&gt;Instead, these Creativity Machine are untrained artificial intelligence computer known as a neural network. The neurons in the computer brain are mathematical entities instead of brain cells. The creative process starts by tweaking the mathematical connections between the neurons. That set off a cascade of calculations that were translated as sounds.&lt;img src="http://feeds.feedburner.com/~r/AiDepot/~4/126524246" height="1" width="1"/&gt;</description><guid isPermaLink="false">http://ai-depot.com/news/story/Neural-Network-Creates-Music-CD/</guid><pubDate>Wed, 20 Jun 2007 21:31:07 GMT</pubDate><feedburner:origLink>http://ai-depot.com/news/story/Neural-Network-Creates-Music-CD/</feedburner:origLink></item><item><title>Decision Making for Medical Support [News]</title><link>http://feeds.feedburner.com/~r/AiDepot/~3/124641532/</link><description>In April, the two-year-old RHIO began offering a clinical decision-support service through ActiveHealth Management, a New York-based company. ActiveHealth's CareEngine technology compares patients' medical, pharmacy and laboratory claims against established standards of care. It then notifies a physician if it finds an opportunity to improve a patient's treatment.&lt;br /&gt;&lt;br /&gt;For example, CareEngine can alert physicians to potential adverse drug interactions, overlooked lab tests or the availability of beneficial drugs, according to ActiveHealth.&lt;img src="http://feeds.feedburner.com/~r/AiDepot/~4/124641532" height="1" width="1"/&gt;</description><guid isPermaLink="false">http://ai-depot.com/news/story/Decision-Making-Medical-Support/</guid><pubDate>Wed, 13 Jun 2007 23:04:25 GMT</pubDate><feedburner:origLink>http://ai-depot.com/news/story/Decision-Making-Medical-Support/</feedburner:origLink></item><item><title>Interview with Peter Denning on the Principles of Computing [News]</title><link>http://feeds.feedburner.com/~r/AiDepot/~3/122948788/</link><description>A computing visionary and leader of the movement to define and elucidate the &amp;quot;great principles of computing,&amp;quot; Peter J. Denning is a professor at the Naval Postgraduate School in Monterey, California. He is a former president of the ACM.&lt;br /&gt;&lt;br /&gt;&amp;quot;&amp;quot;Artificial intelligence (AI) researchers claimed that the mind is a computational process. When they discovered the rules of the process, a computer that followed the same rules would be conscious and intelligent. This claim, often called &amp;quot;strong AI&amp;quot;, is not falsifiable. In the past two decades, mainstream AI has focused on falsifiable claims, such as &amp;quot;a neural net can be trained to read handwritten addresses from postal envelopes.&amp;quot; In the older terminology, this was called 'weak AI', but it has transformed AI into a strong scientific enterprise.&amp;quot;&amp;quot;&lt;img src="http://feeds.feedburner.com/~r/AiDepot/~4/122948788" height="1" width="1"/&gt;</description><guid isPermaLink="false">http://ai-depot.com/news/story/Interview-with-Peter-Denning-on-Principles-Computing/</guid><pubDate>Thu, 07 Jun 2007 15:00:18 GMT</pubDate><feedburner:origLink>http://ai-depot.com/news/story/Interview-with-Peter-Denning-on-Principles-Computing/</feedburner:origLink></item><item><title>Mining Data for the Netflix Prize [News]</title><link>http://feeds.feedburner.com/~r/AiDepot/~3/122754184/</link><description>Last October, Netflix, the online movie rental service, announced that it would award $1 million to the first person or team who can devise a system that is 10 percent more accurate than the company's current system for recommending movies that customers would like.&lt;br /&gt;&lt;br /&gt;The contest has also generated several academic papers, Mr. Bennett said. It has turned out to be more exciting than officials expected.&lt;img src="http://feeds.feedburner.com/~r/AiDepot/~4/122754184" height="1" width="1"/&gt;</description><guid isPermaLink="false">http://ai-depot.com/news/story/Mining-Data--Netflix-Prize/</guid><pubDate>Wed, 06 Jun 2007 22:18:08 GMT</pubDate><feedburner:origLink>http://ai-depot.com/news/story/Mining-Data--Netflix-Prize/</feedburner:origLink></item><item><title>Pushing the Limits of Game AI Technology [News]</title><link>http://feeds.feedburner.com/~r/AiDepot/~3/122453331/</link><description>AIIDE ‘07 starts tomorrow (Artificial Intelligence and Interactive Digital Entertainment), featuring the most cutting edge research in game AI. The proceedings read like a &amp;quot;who's who&amp;quot; in the field, and there's lot to learn from! Here's a collection of highlights from the conference, and references that can be found online.&lt;img src="http://feeds.feedburner.com/~r/AiDepot/~4/122453331" height="1" width="1"/&gt;</description><guid isPermaLink="false">http://ai-depot.com/news/story/Pushing-Limits-Game-AI-Technology/</guid><pubDate>Tue, 05 Jun 2007 21:27:44 GMT</pubDate><feedburner:origLink>http://ai-depot.com/news/story/Pushing-Limits-Game-AI-Technology/</feedburner:origLink></item><item><title>Neural Network Learns to Bluff at Poker [News]</title><link>http://feeds.feedburner.com/~r/AiDepot/~3/122053738/</link><description>These days, the bots playing poker can't bluff convincingly. &amp;quot;Computers are programmed to perform the best strategy, but bluffing is based on unexpected, illogical actions,&amp;quot; says Evan Hurwitz, a computer scientist at the University of the Witwatersrand in South Africa.&lt;br /&gt;&lt;br /&gt;Now Hurwitz and Tshilidzi Marwala, also at Witwatersrand, have developed a virtual player that has taught itself to bluff at a card game called lerpa. Their artificial intelligence bot, named Aiden, is based on a neural network algorithm that usually forecasts stock market fluctuations.&lt;br /&gt;&lt;br /&gt;Then the researchers decided to play Aiden against three other similarly trained bots to see what would happen. &amp;quot;They began to develop their own personalities - either aggressive or conservative - depending on their past successes,&amp;quot;&lt;img src="http://feeds.feedburner.com/~r/AiDepot/~4/122053738" height="1" width="1"/&gt;</description><guid isPermaLink="false">http://ai-depot.com/news/story/Neural-Network-Learns-to-Bluff-at-Poker/</guid><pubDate>Mon, 04 Jun 2007 13:37:07 GMT</pubDate><feedburner:origLink>http://ai-depot.com/news/story/Neural-Network-Learns-to-Bluff-at-Poker/</feedburner:origLink></item><item><title>New Planners Solve Rescue Missions [News]</title><link>http://feeds.feedburner.com/~r/AiDepot/~3/121645107/</link><description>New technology has been used to plan search and rescue operations for the American air force.  The research can be seen as providing a way to combine route planning principles with principles for automatic fault finding. &amp;quot;My research has combined two different but complementary principles for handling complex planning problems, developed within the computer science disciplines of artificial intelligence and formal verification&amp;quot;, explains Rune Moeller Jensen.&lt;br /&gt;&lt;br /&gt;Several research groups have tried to combine the two principles. However, this has been shown to be difficult. Rune Moeller Jensen has, in co-operation with American colleagues from Carnegie Mellon University, developed a method called state-set-branching, in which the two principles can be combined. &amp;quot;We could show that these search algorithms were more efficient than previous algorithms&amp;quot;, he says.&lt;img src="http://feeds.feedburner.com/~r/AiDepot/~4/121645107" height="1" width="1"/&gt;</description><guid isPermaLink="false">http://ai-depot.com/news/story/New-Planners-Solve-Rescue-Missions/</guid><pubDate>Sat, 02 Jun 2007 15:41:46 GMT</pubDate><feedburner:origLink>http://ai-depot.com/news/story/New-Planners-Solve-Rescue-Missions/</feedburner:origLink></item><item><title>More AI Content &amp; Format Preference Poll [Article]</title><link>http://feeds.feedburner.com/~r/AiDepot/~3/109717091/</link><description>Most of my time these days is spent updating the artificial intelligence knowledge part of the website.  Two brand-new overviews of AI techniques have been published recently, complete with pseudo-code and graphics:

Minimax Search
Decision Tree

You can subscribe to articles like these by signing up for the combined artificial intelligence feed.  Be sure to let [...]</description><content:encoded><![CDATA[<p>Most of my time these days is spent updating the <a href="/knowledge/">artificial intelligence knowledge</a> part of the website.  Two brand-new overviews of AI techniques have been published recently, complete with pseudo-code and graphics:</p>
<ul>
<li><a href="/knowledge/minimax_search">Minimax Search</a></li>
<li><a href="/knowledge/decision_tree">Decision Tree</a></li>
</ul>
<p>You can <a href="/site/subscribe">subscribe</a> to articles like these by signing up for the combined artificial intelligence feed.  Be sure to let me know (using the form below) if you have a particular topic at heart so we can bump it up the list of things to write about.</p>
<p>On a related note, I&#8217;m exploring ways to liven up this kind of content and drag it kicking and screaming into the world of Web 2.0.  I would appreciate your feedback on the subject:</p>
<div id="polls-2" class="wp-polls">
<form id="polls_form_2" action="/articles/wp-feed.php" method="post">
<input type="hidden" name="poll_id" value="2" />
<h3>What format do you prefer to complement text articles?</h3>
<div id="polls-2-ans" class="wp-polls-ans">
<ul class="wp-polls-ul">
<li>
<input type="radio" id="poll-answer-6" name="poll_2" value="6" /> <label for="poll-answer-6">Animation (slides)</label></li>
<li>
<input type="radio" id="poll-answer-7" name="poll_2" value="7" /> <label for="poll-answer-7">Audio (podcast)</label></li>
<li>
<input type="radio" id="poll-answer-8" name="poll_2" value="8" /> <label for="poll-answer-8">Interaction (demo)</label></li>
<li>
<input type="radio" id="poll-answer-9" name="poll_2" value="9" /> <label for="poll-answer-9">Video (webcast)</label></li>
</ul>
<p>
<input type="button" name="vote" value="   Vote   " class="Buttons" /></p>
<p><a href="#ViewPollResults" title="View Results Of This Poll">View Results</a></p>
</div></form>
</div>
<div id="polls-2-loading" class="wp-polls-loading"><img src="/articles/wp-content/plugins/polls/images/loading.gif" width="16" height="16" alt="Loading ..." title="Loading ..." class="wp-polls-image" />&nbsp;Loading &#8230;</div>
<p>Any comments are also welcome on the subject.</p><img src="http://feeds.feedburner.com/~r/AiDepot/~4/109717091" height="1" width="1"/>]]></content:encoded><guid isPermaLink="false">http://ai-depot.com/articles/more-ai-content-format-preference-poll/</guid><pubDate>Tue, 17 Apr 2007 09:59:39 GMT</pubDate><feedburner:origLink>http://ai-depot.com/articles/more-ai-content-format-preference-poll/</feedburner:origLink></item><item><title>Decision Tree [Knowledge]</title><link>http://feeds.feedburner.com/~r/AiDepot/~3/108565822/decision_tree</link><description>A decision tree is a technique for predicting target values from observations.
Motivation
Assume your program has data samples and needs to draw certain conclusions about each of them.  This is the case when mining for information in large databases, or trying to find an appropriate behaviour for a particular situation.  You can apply decision [...]</description><content:encoded><![CDATA[<p>A decision tree is a technique for predicting target values from observations.</p>
<h3>Motivation</h3>
<p>Assume your program has data samples and needs to draw certain conclusions about each of them.  This is the case when mining for information in large databases, or trying to find an appropriate behaviour for a particular situation.  You can apply decision trees to this problem as long as:</p>
<ul>
<li><strong>The data samples each have attributes, either discrete or continuous values.</strong> For example, a symbol indicating if it was overcast or not, and the humidity level.</li>
<li><strong>The predictions must also be discrete or continuous values.</strong>  For example, the estimated temperature or a prediction of whether it will rain or not.</li>
</ul>
<p>Decision trees assume that it&#8217;s possible to check the attributes of the data samples multiple times, and use this information to refine the predicted value.</p>
<h3>Description</h3>
<p>A decision tree is based on a hierarchical data-structure, where each branch in the tree represents a condition.  This condition typically evaluates to a boolean, with true/false each corresponding to a child node.  However, it&#8217;s also possible to have more than two child nodes &#8212; for example if ranges are used as conditions.  The leaves in the tree store the predictions for the target value(s).</p>
<div class="image"><img src="/articles/wp-content/uploads/2007/04/decisiontree.png" alt="Decision Tree" /></div>
<p>A simple traversal algorithm is also necessary to traverse the tree, evaluating each decision and then selecting the appropriate sub-tree to enter.  The algorithm is then applied recursively until a leaf node is reached.  This process is rather efficient as very little memory is required to store a tree, and only simple conditional checks need to be evaluated while predicting.</p>
<h3>Application</h3>
<p>A decision tree can be used in almost any classification problem (to predict discrete symbols) or regression problem (to predict continuous values).  They are particularly useful in data-mining because of their efficiency.  However, such decision trees cannot solve all types of problems because of assumptions of the hierarchical model.</p>
<p>In practice, to apply the traversal algorithm successfully, a good decision tree is needed.  This can be obtained in multiple ways:</p>
<ol>
<li>The decision tree may be edited by an expert.</li>
<li>The decision tree can be induced from data samples.</li>
</ol>
<p>Since expert solutions may take time to develop and tune, supervised learning is often used.</p>
<h3>Resources</h3>
<ul>
<li>See papers about the <a href="/resources/decision_tree">decision tree</a> in the resources section on AI Depot.</li>
</ul><img src="http://feeds.feedburner.com/~r/AiDepot/~4/108565822" height="1" width="1"/>]]></content:encoded><guid isPermaLink="false">http://ai-depot.com/knowledge/decision_tree</guid><pubDate>Thu, 12 Apr 2007 12:07:52 GMT</pubDate><feedburner:origLink>http://ai-depot.com/knowledge/decision_tree</feedburner:origLink></item><item><title>Minimax Search [Knowledge]</title><link>http://feeds.feedburner.com/~r/AiDepot/~3/108345993/minimax_search</link><description>Let&amp;#8217;s say your program is in a competitive situation against others, and must predict possible consequences of actions to select the one with the best outcome.  This is the case in many logic games like Tic-Tac-Toe, Othello, Chess or Go.  The minimax algorithm can be applied here as long as:

The current state is [...]</description><content:encoded><![CDATA[<p>Let&#8217;s say your program is in a competitive situation against others, and must predict possible consequences of actions to select the one with the best outcome.  This is the case in many logic games like Tic-Tac-Toe, Othello, Chess or Go.  The minimax algorithm can be applied here as long as:</p>
<ul>
<li><strong>The current state is (at least partly) available to the program.</strong>  For example, the program knows the position of the pieces on the game board.</li>
<li><strong>It&#8217;s possible to search through successor states in the future.</strong>  The program knows how the pieces end up when a move is made.</li>
<li><strong>There&#8217;s a way to evaluate the utility of certain states.</strong>  For instance, knowing when about the winning/loosing conditions.</li>
</ul>
<p>Since this is a competitive setting, you can assume that the others pick actions resulting in a worse outcome for your program.  Then, minimax works by taking the predictions of future states, and working back to determine the utility of predecessor states.  When your program has estimated the utility of the next states, it can easily select the best.</p>
<h3>Description</h3>
<p>Minimax is a policy to select optimal utility actions assuming the worst from other programs.  Typically, minmax is combined with a depth-first search algorithm that traverses the game tree, predicting what the opponents are likely to do and what your program should do.  As such, there are two different levels in the search tree: 1) for the opponents and 2) for team-members.</p>
<ol>
<li>The level in the game tree dealing with opponents is known as <tt>MIN</tt>, since they will typically <strong>minimize</strong> the utility of the outcome state.</li>
<li>Conversely, the search tree&#8217;s level dealing with team-members is known as <tt>MAX</tt>, since they will typically <strong>maximize</strong> the utility of the outcome state.</li>
</ol>
<p>The minimax search, in effect, minimizes the maximum possible loss, or looking at it the other way, maximizes the minimum gain.</p>
<p><img src="/articles/wp-content/uploads/2007/04/minimax.png" alt="Min/Max Search in Game Tree" /></p>
<h3>Application</h3>
<p>Minimax is applied to many games with great success, especially when the branching factor is small (i.e. there are few options each turn), when the situation is deterministic, and the state is fully observable.</p>
<p>However, in practice, there are significant challenges to applying Minimax to a logic game.  Notably, the game tree is usually too large to search until the end, so good estimator functions are required for any state (and not just terminal states).  This is not a trivial problem, and significantly affects the outcome of the algorithm.  Most state estimation functions are hand written for each problem by experts.</p>
<p>The pseudo-code for a minimax search looks like this:</p>

<div class="wp_syntax"><div class="code"><pre class="python"><span>def</span> minimax<span>&#40;</span>node, depth<span>&#41;</span>
    <span>if</span> node.<span>is_terminal</span><span>&#40;</span><span>&#41;</span> <span>or</span> depth == <span>0</span>:
         <span>return</span> node.<span>calculate_heuristic</span><span>&#40;</span><span>&#41;</span>
    <span>if</span> node.<span>is_opponent</span><span>&#40;</span><span>&#41;</span>:
         a = +inf
         <span>for</span> child <span>in</span> node.<span>get_children</span><span>&#40;</span><span>&#41;</span>:
             a = <span>min</span><span>&#40;</span>a, minimax<span>&#40;</span>child, depth<span>-1</span><span>&#41;</span><span>&#41;</span>
    <span>else</span>:
        a = -inf
        <span>for</span> child <span>in</span> node.<span>get_children</span><span>&#40;</span><span>&#41;</span>:
             a = <span>max</span><span>&#40;</span>a, minimax<span>&#40;</span>child, depth<span>-1</span><span>&#41;</span><span>&#41;</span>
    <span>return</span> a</pre></div></div>

<p>On the bright side, alpha-beta pruning can be implemented easily to improve the efficiency of the search.</p>
<h3>Theory</h3>
<p>In classical statistical decision theory, an estimator <img src="/articles/wp-content/plugins/latexrender/pictures/77a3b715842b45e440a5bee15357ad29_1.0pt.gif" title="\delta" alt="\delta" /> is used to estimate a parameter <img src="/articles/wp-content/plugins/latexrender/pictures/c4da9a79ba148a2e9a7bcd92255680be_1.39098pt.gif" title="\theta \in \Theta" alt="\theta \in \Theta" />.  Also assume a risk function <img src="/articles/wp-content/plugins/latexrender/pictures/6a17165cc8bd2870b628562e395773c2_3.5pt.gif" title="R(\theta,\delta)" alt="R(\theta,\delta)" />, usually specified as the integral of a loss function. Given this framework, <img src="/articles/wp-content/plugins/latexrender/pictures/d99d347424268567155c1e3e57e466e0_1.0pt.gif" title="\tilde{\delta}" alt="\tilde{\delta}" /> is called &#8220;<em>minimax</em>&#8221; if it satisfies:</p>
<p><img src="/articles/wp-content/plugins/latexrender/pictures/67b428b3c397981a5a7f4481a50c69d8_3.5pt.gif" title="\sup_\theta R(\theta,\tilde{\delta}) = \inf_\delta \sup_\theta R(\theta,\delta)" alt="\sup_\theta R(\theta,\tilde{\delta}) = \inf_\delta \sup_\theta R(\theta,\delta)" /></p>
<h3>Resources</h3>
<ul>
<li>See papers on <a href="/resources/minimax_search">minimax search</a> in the resources section on <b>AI Depot</b>.</li>
</ul><img src="http://feeds.feedburner.com/~r/AiDepot/~4/108345993" height="1" width="1"/>]]></content:encoded><guid isPermaLink="false">http://ai-depot.com/knowledge/minimax_search</guid><pubDate>Wed, 11 Apr 2007 15:59:11 GMT</pubDate><feedburner:origLink>http://ai-depot.com/knowledge/minimax_search</feedburner:origLink></item><item><title>What’s Your Biggest Question about Artificial Intelligence? [Article]</title><link>http://feeds.feedburner.com/~r/AiDepot/~3/107367508/</link><description>Is there anything you want to know about artificial intelligence?  If so, fill in our AI survey online; it&amp;#8217;s only one question.  You can be as brief or expressive as you like.
As artificial intelligence enthusiasts and developers, we&amp;#8217;re interested in hearing what you have to say.  There are lots of ideas and [...]</description><content:encoded><![CDATA[<p>Is there anything you want to know about artificial intelligence?  If so, fill in our <a href="/site/survey">AI survey</a> online; it&#8217;s only one question.  You can be as brief or expressive as you like.</p>
<p>As artificial intelligence enthusiasts and developers, we&#8217;re interested in hearing what you have to say.  There are lots of ideas and content in the pipeline for the <b>AI Depot</b>, but we&#8217;re particularly interested in what you want from us.</p>
<ul>
<li><a href="/site/survey">http://ai-depot.com/site/survey</a></li>
</ul>
<p>Those of you who fill in the questionnaire will get exclusive access to the new content before anyone else!  You also get the satisfaction of knowing you helped out in shaping the future direction of this site.</p>
<p>We&#8217;re looking forward to hearing from you, but be sure to subscribe to our new <a href="/feed/">artificial intelligence feed</a> to hear from us daily!</p><img src="http://feeds.feedburner.com/~r/AiDepot/~4/107367508" height="1" width="1"/>]]></content:encoded><guid isPermaLink="false">http://ai-depot.com/articles/whats-your-biggest-question-about-artificial-intelligence/</guid><pubDate>Sat, 07 Apr 2007 19:15:32 GMT</pubDate><feedburner:origLink>http://ai-depot.com/articles/whats-your-biggest-question-about-artificial-intelligence/</feedburner:origLink></item></channel></rss>
