tag:blogger.com,1999:blog-54848568360001126302019-01-19T10:54:28.887-05:00Multiagent Systems and Agent-Based ModelingHome to the "Fundamentals of Multiagent Systems Using NetLogo" Textbook.José Vidalhttps://plus.google.com/106856055579609524105noreply@blogger.comBlogger66125multiagent/BIQuhttps://feedburner.google.comtag:blogger.com,1999:blog-5484856836000112630.post-23782346604359416582013-03-23T09:33:00.000-04:002013-03-23T09:34:34.018-04:00Final ProjectFor the final project you have the option of a programming-oriented or a research-oriented final project. Whichever project you decide to do you must first meet with me to get it approved.<br />
<br />
<b>Programming Project</b><br />
<br />
Choose a paper from the <a href="http://www.ifaamas.org/proceedings.html">AAMAS proceedings</a> (see also my <a href="http://jmvidal.cse.sc.edu/library/aamas2012/">AAMAS 2012</a> local copy, because their website is down a lot) and implement the algorithm they describe. In many cases you will need to make some simplifying assumptions. The papers discuss in class are especially good choices.<br />
<br />
Or, you can also choose to implement any of the algorithms referenced in the <a href="http://multiagent.com/p/fundamentals-of-multiagent-systems.html">our textbook</a> that are not <a href="http://jmvidal.cse.sc.edu/netlogomas/">already implemented</a>, or provide better visualizations of existing algorithms (for didactic purpose).<br />
<br />
Another, very popular, option is to build a NetLogo simulation of a multiagent problem in a separate domain, one which you are already familiar with, say, because you are doing a PhD thesis on that problem. <br />
<br />
<b>Research Project</b><br />
<br />
Your deliverable will be a paper that summarizes exisiting research on a specific topic, with appropriate citations, and<br />
either presents a new algorithm/protocol/etc. along the same lines or organizes these results in a novel way (think "survey paper").<br />
<br />
The final paper should be at least 10 pages long. I will be looking to see that you understand the topic at hand and how the various contributions relate to each other. You will be looking at papers beyond the above conferences.<br />
<br />
<br />
The final projects are due <b>Wednesday May 1</b>.José Vidalhttps://plus.google.com/106856055579609524105noreply@blogger.com0tag:blogger.com,1999:blog-5484856836000112630.post-10964089245092448502013-02-27T06:00:00.000-05:002013-02-27T06:00:00.232-05:00Evolutionary DynamicsReplicator Dynamics are a math formula meant to simplify the dynamics of evolution. But, we can code, we don't have to simplify.<br />
<br />
In this video I show how to simulate simple evolutionary dynamics with more detail than before. The program, it turns out, is simpler than before.<br />
<br />
<center><iframe width="853" height="480" src="http://www.youtube.com/embed/a7yliE8KDlk" frameborder="0" allowfullscreen></iframe></center>José Vidalhttps://plus.google.com/106856055579609524105noreply@blogger.com0tag:blogger.com,1999:blog-5484856836000112630.post-36819229496745650282013-02-26T13:22:00.000-05:002013-02-26T13:22:13.867-05:00Replicator Dynamics ImplementationIn tomorrow's lecture I will be talking about replicator dynamics in games. The video below shows you how to implement it:<br />
<br />
<center><iframe width="853" height="480" src="http://www.youtube.com/embed/L7-35o0lGwE" frameborder="0" allowfullscreen></iframe><br />
</center>José Vidalhttps://plus.google.com/106856055579609524105noreply@blogger.com0tag:blogger.com,1999:blog-5484856836000112630.post-9152672609292488192013-02-23T07:21:00.001-05:002013-02-23T07:21:59.075-05:00Fictitious PlayNext week we will finish with cooperative games and start with 'learning in games'.<br />
<br />
Fictitious play is very easy and fun to implement in NetLogo. See how in this video:<br />
<br />
<center><iframe width="853" height="480" src="http://www.youtube.com/embed/xD3Y7SuXrQE" frameborder="0" allowfullscreen></iframe><br />
</center>José Vidalhttps://plus.google.com/106856055579609524105noreply@blogger.com0tag:blogger.com,1999:blog-5484856836000112630.post-78155737221493736452013-02-21T10:23:00.000-05:002013-02-21T19:04:21.519-05:00Preferential Attachement Graphs and Stochastic ChoiceI noticed in the last homework that some of you had problems getting a preferential attachment graph to work, or making stochastic choice. The video below shows how to do this. This will also be useful for HW3.<br />
<br />
<center><iframe width="853" height="480" src="http://www.youtube.com/embed/xZqcjS8pcyk" frameborder="0" allowfullscreen></iframe><br />
</center><br />
The code I wrote in that video is <a href="https://www.dropbox.com/s/y1wu9pu4852jza9/prefattachvideo.nlogo">prefattachvideo.nlogo</a>.José Vidalhttps://plus.google.com/106856055579609524105noreply@blogger.com0tag:blogger.com,1999:blog-5484856836000112630.post-35027769041422526152013-02-20T17:59:00.001-05:002013-02-20T17:59:47.385-05:00HW3: Stability in Cooperative GamesWe have discussed cooperative games, the core, the nucleolus, and excess. For this homework you will implement a simulation of agents participating in a cooperative game and acting selfishly to join their preferred coalition. The simulation will show how long it takes for the system to achieve a stable solution where no <b>one</b> agent has an excess.<br />
<br />
Specifically, your simulation will have <code>number-agents</code> agents, all of which start out in their own coalition, that is, alone.<br />
<br />
An agent can have any one of the colors: red, blue, black, green, cyan<br />
An agent can have any one of the shapes: circle, square, triangle<br />
<br />
These are assigned randomly on setup.<br />
<br />
The value function v(S) is defined as: the number of different colors in the coalition + 3 - number of different shapes - (size of the coalition / 2).<br />
<br />
Each time the 'go' button is pressed each agent will: check the value of the coalition where he joins one of the other existing coalitions, for all other coalitions. Of these, he finds the one with the highest value. If that value is bigger than the value of his current coalition then he will leave his current coalition and join the new one. In other words, each agent asks himself: "what would the value be if I joined this other coalition? what about this one? and this one? and so on to find the biggest value. If that value is bigger than his current coalition then he joins that coalition. If the biggest value is less than the value of his current coalition, the agent does not do anything.<br />
<br />
The coalitions are represented as fully-connected graphs. That is, an agent has a link to all the other agents in his coalition, and to no one else.<br />
<br />
You will then plot the number of agents that change coalition on each tick, the total number of coalitions over time, and a histogram of the current size of coalitions.<br />
<br />
Anyway, all this is easier to see in a video:<br />
<br />
<center><iframe width="853" height="480" src="http://www.youtube.com/embed/fhR0fmfLHaE" frameborder="0" allowfullscreen></iframe><br />
</center><br />
Email me your finished program by <b>Monday, March 11 @10am</b>.<br />
<br />
José Vidalhttps://plus.google.com/106856055579609524105noreply@blogger.com0tag:blogger.com,1999:blog-5484856836000112630.post-65676498824723354252013-02-12T08:30:00.000-05:002013-02-12T08:30:02.980-05:00Spatial Prisoner's DilemmaIn the video below I show how to implement the Spatial Prisoner's Dilemma in NetLogo. This game, and variations of it, is often studied as it is a good model of how 'traits' might move through a population. Note that the 'space' need not be physical: it could be a social network (where the space is how close people are to each other), a computer network (hops), etc.<br />
<br />
<center><iframe width="853" height="480" src="http://www.youtube.com/embed/P2La87Dw0_c" frameborder="0" allowfullscreen></iframe><br />
</center>José Vidalhttps://plus.google.com/106856055579609524105noreply@blogger.com0tag:blogger.com,1999:blog-5484856836000112630.post-52001783382041798522013-02-12T08:00:00.000-05:002013-02-12T08:00:09.197-05:00Game Theory Famous GamesThere are certain 2-player games that come up a lot in the real world and have thus been much studied. They are:<br />
<br />
The Prisoner's Dilemma:<br />
<br />
<center><iframe width="853" height="480" src="http://www.youtube.com/embed/iQpkzvJKALM" frameborder="0" allowfullscreen></iframe><br />
</center><br />
The Battle of the Sexes:<br />
<br />
<center><iframe width="853" height="480" src="http://www.youtube.com/embed/o8yzt3yWYQM" frameborder="0" allowfullscreen></iframe><br />
</center><br />
The Pig and the Piglet:<br />
<br />
<center><iframe width="853" height="480" src="http://www.youtube.com/embed/iLs_vOj-3NY" frameborder="0" allowfullscreen></iframe><br />
</center><br />
<br />
José Vidalhttps://plus.google.com/106856055579609524105noreply@blogger.com0tag:blogger.com,1999:blog-5484856836000112630.post-15416995057335731032013-02-11T08:54:00.002-05:002013-02-11T09:17:26.745-05:00Stanford Game Theory CourseIf you don't like my lectures you can also take the <a href="https://class.coursera.org/gametheory-2012-002/class/index">Stanford Game Theory class</a> offered free by Coursera and taught by some of the same guys that wrote the other <a href="http://www.masfoundations.org/">Multiagent Systems textbook</a>, Shoham and Leyton-Brown. I have watched many of their <a href="https://class.coursera.org/gametheory-2012-002/lecture/index">video lectures</a> and they seem to cover pretty much the same material we will be covering in this section of the class.<br />
<br />
I also found this <a href="http://www.youtube.com/watch?v=VcvU5NBy5dA&feature=share&list=PLJFEpZ0-A8q6eKHirS-r4bCtoLlz1DQb-">youtube playlist</a> which has all the videos from the class.<br />
<br />
<center><iframe width="853" height="480" src="http://www.youtube.com/embed/VcvU5NBy5dA?list=PLJFEpZ0-A8q6eKHirS-r4bCtoLlz1DQb-" frameborder="0" allowfullscreen></iframe><br />
</center>José Vidalhttps://plus.google.com/106856055579609524105noreply@blogger.com0tag:blogger.com,1999:blog-5484856836000112630.post-70440632980753456072013-02-11T08:03:00.001-05:002013-02-11T08:03:16.750-05:00Game Theory Solution ConceptsWhat is the 'correct' solution to a strategic-form game? Well, there are many viable solution concepts.<br />
<br />
There is the Pareto Optimal solution (aka 'efficient')<br />
<br />
<center><iframe width="853" height="480" src="http://www.youtube.com/embed/bFPvCAAvkiU" frameborder="0" allowfullscreen></iframe><br />
</center><br />
There is the social welfare solution:<br />
<br />
<center><iframe width="853" height="480" src="http://www.youtube.com/embed/A6oWEuAsNqE" frameborder="0" allowfullscreen></iframe><br />
</center><br />
There is the maxmin strategy:<br />
<br />
<center><iframe width="853" height="480" src="http://www.youtube.com/embed/HE_uMiEMSZ4" frameborder="0" allowfullscreen></iframe><br />
</center><br />
And, there is everyone's favorite, the Nash equilibrium:<br />
<br />
<center><iframe width="853" height="480" src="http://www.youtube.com/embed/Rwm7TQsi10M" frameborder="0" allowfullscreen></iframe><br />
</center>José Vidalhttps://plus.google.com/106856055579609524105noreply@blogger.com0tag:blogger.com,1999:blog-5484856836000112630.post-12502933987336174382013-02-11T07:59:00.000-05:002013-02-11T07:59:15.326-05:00Game TheoryThis week we start our discussion of Game Theory. Here is a quick intro:<br />
<br />
<center><iframe width="853" height="480" src="http://www.youtube.com/embed/tcSEzliz8jk" frameborder="0" allowfullscreen></iframe><br />
</center>José Vidalhttps://plus.google.com/106856055579609524105noreply@blogger.com0tag:blogger.com,1999:blog-5484856836000112630.post-77104920281669842782013-02-04T08:42:00.001-05:002013-02-04T08:43:24.624-05:00Distributed Constraint OptimizationIn today's class I will finish explaining how distributed breakout works, and we will probably also cover Distributed Constraint Optimization (DCOP)<br />
<br />
<center><iframe width="853" height="480" src="http://www.youtube.com/embed/9WIOSy2L4uM" frameborder="0" allowfullscreen></iframe><br />
</center><br />
Most of the DCOP algorithms are improvements (or parallelizations, if that's a word) on the basic branch-and-bound search algorithm, which I implement below:<br />
<br />
<center><iframe width="853" height="480" src="http://www.youtube.com/embed/0Z2WkLwLNXA" frameborder="0" allowfullscreen></iframe><br />
</center>José Vidalhttps://plus.google.com/106856055579609524105noreply@blogger.com0tag:blogger.com,1999:blog-5484856836000112630.post-57850830277465428792013-01-29T08:30:00.000-05:002013-01-29T08:30:04.273-05:00Distributed BreakoutDistributed Breakout is one of my favorite algorithms because the basic technique is so simple, so easy to distributed, and, while lacking an optimality guarantee, in practice it is surprisingly effective (unreasonably so!)<br />
<br />
Here is a quick implementation in NetLogo:<br />
<br />
<center><iframe width="853" height="480" src="http://www.youtube.com/embed/j15dZJwT148" frameborder="0" allowfullscreen></iframe><br />
</center>José Vidalhttps://plus.google.com/106856055579609524105noreply@blogger.com0tag:blogger.com,1999:blog-5484856836000112630.post-1712921812689755452013-01-29T08:00:00.000-05:002013-01-29T08:00:13.270-05:00Asynchronous BacktrackingAnother approach to solving distributed constraint satisfaction problems is via search, as with the Asynchronous backtracking algorithm:<br />
<br />
<center><iframe width="853" height="480" src="http://www.youtube.com/embed/j28zE3kPiNY" frameborder="0" allowfullscreen></iframe><br />
</center>José Vidalhttps://plus.google.com/106856055579609524105noreply@blogger.com0tag:blogger.com,1999:blog-5484856836000112630.post-87019659090356244762013-01-28T15:55:00.001-05:002015-09-20T10:02:56.245-04:00HW2: Distributed Breakout AnalysisIn this homework you will do a bit more NetLogo programming and explore both NetLogo's ability to analyze a simulation as well as Distributed Breakout's limits at solving problems.<br />
<br />
You will start by downloading my <a href="https://drive.google.com/file/d/0B42vkgerarbjVGlyNktoVU5CVTA/view?usp=sharing">breakout.nlogo</a> file, which ia a slightly updated version of the one I wrote in <a href="http://youtu.be/j15dZJwT148">this video</a>. Note that this is a simplified version of breakout since each link has only one weight, whereas in the real algorithm each node has a weight associated with each edge (so, two weights per edge). But, I think the basic functionality is the same, at least for the purposes of this exercise.<br />
<br />
This homework will have several parts.<br />
<br />
<h3>1. Graph Generation</h3><br />
In the code I gave you, when you click 'setup' the graph generate is a random graph: <code>num-edges</code> pair of nodes are chosen at random and an edge attached between them (if one was already there, no edge is added). You will modify the code to also generate graphs that use <a href="http://en.wikipedia.org/wiki/Preferential_attachment">preferential attachment</a>.<br />
<br />
Specifically, first create <code>num-nodes</code> nodes, then create <code>num-nodes</code> * <code>edge-ratio</code> (a number between 1 and 10, from a slider) edges, each one created by picking two nodes chosen with a probability proportional to their degree (number of incident edges). For example, if there are 3 nodes, one with two edges and the other two with one edge each (the graph is a line) then the one with two edges gets chosen with probability 2 / 4 = 1/2, while each other two nodes is chosen with probability 1/4. The denominator is always the total number of edges and the numerator is the degree for that node.<br />
<br />
You will add a switch to your model to select between the two topologies (random vs. preferential attachement).<br />
<br />
<h3>2. Graphs with a Coloring</h3><br />
You will then add a toggle switch to your model <code>solvable?</code> If it is false then you generate the graph as before. But, if it is true then the graph you generate will have a solution.<br />
<br />
The way you ensure your graph has a solution is simply by giving each node a random color to start with and then making sure you only connect it to other nodes that have a different color. You will need to make modifications to the two previous graph-generation methods.<br />
<br />
<h3>3. How good is Breakout Anyway?</h3><br />
In this last part you will implement some methods that will plot some nice line charts to show how well breakout works.<br />
<br />
The first button will plot generate a plot where the x-axis is the number of nodes (say from 5 to 50, or some suitable range) and the y-axis is the average number of steps (over 10 runs) that breakout took to find the solution. In this test all graphs generated are guaranteed to have a solution (using the method from step 2).<br />
<br />
<br />
The second button will generate a plot where the x-axis is the <code>edge-ratio</code>, from 1 to 10 and then plot the average number of constraint violations (over 10 runs) after running breakout for 10 steps. The graphs generated for this test will be determined by the settings in the buttons.<br />
<br />
Email me the .nlogo file by <b>Monday, February 11 @10am</b>.<br />
<br />
José Vidalhttps://plus.google.com/106856055579609524105noreply@blogger.com0tag:blogger.com,1999:blog-5484856836000112630.post-9936785528444574842013-01-28T14:01:00.000-05:002013-01-28T14:02:29.380-05:00Filtering and Hyper-Resolution AlgorithmsToday we discussed the Filtering algorithm. Below is a simple implementation in NetLogo:<br />
<br />
<center><iframe width="853" height="480" src="http://www.youtube.com/embed/NlmfFpccEE4" frameborder="0" allowfullscreen></iframe><br />
</center><br />
And, we also discussed the Hyper-resolution rule:<br />
<br />
<center><iframe width="853" height="480" src="http://www.youtube.com/embed/VtSegM8tYlo" frameborder="0" allowfullscreen></iframe><br />
</center>José Vidalhttps://plus.google.com/106856055579609524105noreply@blogger.com0tag:blogger.com,1999:blog-5484856836000112630.post-50789447668687122362013-01-28T13:58:00.001-05:002013-01-28T13:58:43.308-05:00HW1 SolutionThere are many possible solutions to the first homework, and the goal was not to find the best solution but just to get you started doing some NetLogo programming. Still, I played around with the problem for a bit and <a href="https://www.dropbox.com/s/qo9v5o1pvxbszsx/hw1.nlogo">this program</a> is the best I could come up with. If you move the cone-radius slider back and forth you will see different behaviors, as I demonstrated in class today.José Vidalhttps://plus.google.com/106856055579609524105noreply@blogger.com0tag:blogger.com,1999:blog-5484856836000112630.post-81571226617357846022013-01-25T14:49:00.001-05:002013-01-25T14:56:46.027-05:00Constraint Satisfaction: Centralized and DistributedOn Monday we will start the next chapter which covers Distributed Constraint Satisfaction and Optimization algorithms. The videos below cover some of this material:<br />
<center><iframe width="853" height="480" src="http://www.youtube.com/embed/R9ORXjME_LQ" frameborder="0" allowfullscreen></iframe><br />
</center><br />
A straight-forward way to solve a Constraint Satisfaction problem is via Depth-First Search:<br />
<br />
<center><iframe width="853" height="480" src="http://www.youtube.com/embed/W2nJsE0gsgU" frameborder="0" allowfullscreen></iframe><br />
</center><br />
This is how it looks like when you implement DFS in NetLogo:<br />
<br />
<center><iframe width="853" height="480" src="http://www.youtube.com/embed/7LhcJ8C5mxk" frameborder="0" allowfullscreen></iframe><br />
</center>José Vidalhttps://plus.google.com/106856055579609524105noreply@blogger.com0tag:blogger.com,1999:blog-5484856836000112630.post-51198516909158261932013-01-25T14:46:00.001-05:002013-01-28T15:35:47.376-05:00Partially-Observable Markov Decision ProcessessOn Wednesday's lecture we discussed POMDPs. Here is a quick review:<br />
<br />
<center><iframe width="853" height="480" src="http://www.youtube.com/embed/-q61H11Lm0s" frameborder="0" allowfullscreen></iframe><br />
</center>José Vidalhttps://plus.google.com/106856055579609524105noreply@blogger.com0tag:blogger.com,1999:blog-5484856836000112630.post-67967890772610467722013-01-22T15:12:00.000-05:002013-01-22T15:30:15.589-05:00Value Iteration in NetLogo: Finding Optimal Policies for Markov Decision ProcessesOn Wednesday I will talk about policies and the Value Iteration algorithm.<br />
<br />
In the video below you can watch me implement the value iteration algorithm in NetLogo.<br />
<br />
<center><iframe width="853" height="480" src="http://www.youtube.com/embed/dBDVkPjyYF4" frameborder="0" allowfullscreen></iframe></center><br />
If that is too long to watch (it is!) then the one below gives you an overview of the finished implementation.<br />
<br />
<center><iframe width="853" height="480" src="http://www.youtube.com/embed/MGVAWrvq57Y" frameborder="0" allowfullscreen></iframe><br />
</center>José Vidalhttps://plus.google.com/106856055579609524105noreply@blogger.com0tag:blogger.com,1999:blog-5484856836000112630.post-38560764354776835122013-01-16T14:23:00.000-05:002013-01-16T14:23:47.056-05:00HW1: Single FileThe first homework is a fun simple challenge to get you started learning NetLogo. You will implement a model where the turtles all form a single line (one after the other) that is constantly marching. That is, you will:<br />
<ol><li>Set the world to be a torus.</li>
<li>Make your 'setup' button create 'num-turtles' (sliders) all in randomly chosen locations.</li>
<li>Each turtle has to behave autonomously and can only change its heading or move forward 1.</li>
</ol><br />
I am looking for a single line, a queue, with even spacing between each turtle. You will find that your first efforts lead to some turtles moving on top of each other. Try to spread them out.<br />
<br />
Also, try not to solve this centrally (by having the observer calculate the exact position each turtle should be, based on their 'who' number). Instead, imagine each turtle is a person, but no one can talk to anyone else. How would people form a single line?<br />
<br />
Email me your final .nlogo file, making sure to put your name and email in the 'Info' tab, by <b>Monday, January 28 @10am</b>.José Vidalhttps://plus.google.com/106856055579609524105noreply@blogger.com0tag:blogger.com,1999:blog-5484856836000112630.post-52705326851732273512013-01-16T08:26:00.001-05:002013-01-16T08:26:35.645-05:00Agent-Based Modeling ToolsI chose to use <a href="http://ccl.northwestern.edu/netlogo/">NetLogo</a> for this class because it lets us build models very quickly without having to worry about all the graphical, GUI, or plotting code. There are many <a href="https://delicious.com/jmvidal/multiagent+software">agent-based modeling libraries and platforms</a> out there. NetLogo is the best at getting a novice from knowing nothing to having fun with his custom-built model.<br />
<br />
The <a href="http://cs.gmu.edu/~eclab/projects/mason/">Mason Java library</a> is good for large-scale simulations, of the type you would run on a 'supercomputer'. The <a href="http://repast.sourceforge.net/index.html">Repast Java library and IDE</a> is another popular library that integrates with <a href="http://www.eclipse.org">eclipse</a>. Obviously, you have to know Java to use either one of these.José Vidalhttps://plus.google.com/106856055579609524105noreply@blogger.com0tag:blogger.com,1999:blog-5484856836000112630.post-78515576950561971472013-01-14T11:00:00.000-05:002013-01-25T14:52:53.613-05:00NetLogo TutorialsOn Wednesday's lecture I will give a quick introduction to <a href="http://ccl.northwestern.edu/netlogo/">NetLogo</a>. You should install it and start learning how to use it. The best way is to go to "Help->User Manual" and read the whole thing. I also have some <a href="http://www.youtube.com/playlist?list=PLSx7bGPy9gbHivKzRg2enzdABgKUd3u-E">video tutorials</a> which you might find useful, starting with the ones below.<br />
<br />
All of the homeworks consist of you writing a NetLogo program that implements a given algorithm or problem, starting with the first one, so, you will want to get proficient fast.<br />
<br />
<center><iframe width="853" height="480" src="http://www.youtube.com/embed/D9iD72cuh98?list=PLSx7bGPy9gbHivKzRg2enzdABgKUd3u-E" frameborder="0" allowfullscreen></iframe><br />
<br />
<iframe width="853" height="480" src="http://www.youtube.com/embed/k5RMdrbJXpM" frameborder="0" allowfullscreen></iframe><br />
<br />
<iframe width="853" height="480" src="http://www.youtube.com/embed/8obtplSduA4" frameborder="0" allowfullscreen></iframe><br />
<br />
<iframe width="853" height="480" src="http://www.youtube.com/embed/TZLPBTd87Ms" frameborder="0" allowfullscreen></iframe><br />
<br />
</center><br />
The <a href="http://jmvidal.cse.sc.edu/netlogomas/">NetLogo models</a> page has the models that implement the algorithms in the book. These are good for you to play with (change paramaters/code) and get a better understanding of the algorithm and emergent behavior of the system.José Vidalhttps://plus.google.com/106856055579609524105noreply@blogger.com0tag:blogger.com,1999:blog-5484856836000112630.post-38526142517889988952013-01-11T09:09:00.001-05:002013-01-25T14:58:29.080-05:00Utility TheoryOur first meeting is on Monday. On that day we I will be talking about the class, the history of multiagent systems, and getting started on the first chapter of <a href="http://multiagent.com/p/fundamentals-of-multiagent-systems.html">our textbook</a>.<br />
<br />
The first chapter talks about utility functions:<br />
<center><iframe width="853" height="480" src="http://www.youtube.com/embed/cNAc7JSg3AM" frameborder="0" allowfullscreen></iframe><br />
</center><br />
Markov Decision Processes <br />
<center><iframe width="853" height="480" src="http://www.youtube.com/embed/DgRqxKt2DYE" frameborder="0" allowfullscreen></iframe><br />
</center><br />
and Value Iteration<br />
<center><iframe width="853" height="480" src="http://www.youtube.com/embed/RcBYpEtkwFI" frameborder="0" allowfullscreen></iframe><br />
</center>José Vidalhttps://plus.google.com/106856055579609524105noreply@blogger.com0tag:blogger.com,1999:blog-5484856836000112630.post-33925784940256029092012-12-14T20:03:00.002-05:002012-12-14T20:03:18.116-05:00Game TheoryIf you want to get an early start on this class then checkout <a href="https://class.coursera.org/gametheory/lecture/preview">the coursera game theory class</a>. It is taught in part by Yoav Shoham, professor at Stanford, who wrote that other Multiagent Systems book. This class, like <a href="http://www.stanford.edu/class/cs224m/">theirs</a> will start by covering Game Theory concepts.<br />
<br />
I might do some of my own videos.<br />
<br />
We will then read some papers and try to build some fun agent-based models, using NetLogo.José Vidalhttps://plus.google.com/106856055579609524105noreply@blogger.com0