5/19/2023 0 Comments Let netlogoSo in essence, we need to give each patch in the environment a value, and this value needs to vary depending on whether there are a large number of samples available around it. Let's put this idea to practice in NetLogo. The process responds at the next time step by randomly moving into a new state, s',Īnd giving the decision maker a corresponding reward." Maker may choose any action a, that is available in state, s. At each time step, the process is in some state, s, and the decision More specifically, quoting Wikipedia, "More precisely,Ī Markov Decision Process is a discrete time Briefly, this is a mathematicalįramework which models decision making in situations where outcomes are partly random and partly Modelling intelligent agentsīut how do we make it clever, how do we add some intelligent behaviour? To do this,įirst we need to talk about the Markov Decision Process, or MDP. Then it moves randomly around the environment, if it does, then it calls a function which If there's a rock on an adjacent patch which the turtle is currently on, if it doesn't Below is some sample NetLogo code illustrating how the rover would do this: let move random 3Īn extremely basic example where, we have a random variable, move, which checks Navigating the environment and if it just so happens to be standing over special patch, it'll So we can pretty easily build an environment where a turtle (our Mars rover) goes around, With some special patches which will contain the samples that need to be collected by Our environment will simply be made up of square pieces of ground on Mars, ![]() So in essence, an environment is made up of a grid of In our example, the turtle is the Mars rover. They move around the environment carrying out specific actions set So, going back to our previous Mars roverĮxample, how would we do this in NetLogo? NetLogo uses a simple system where you have: It turns out, if you're an inquisitive mind and you want to model an environment where agents can be utilised to solve problems, you can do exactly that with the use of a simple but powerful programming environment in NetLogo. In what type of environment agents can operate in (static/dynamic, discrete/continuous, observable/partially observable, single or multi-agents operating together, deterministic/non-deterministic, episodic/non-episodic - chances are, if you're reading this blog then you know what I mean by these properties, so I won't delve into them in detail). Have you ever wondered where and how these agents are modelled? I.e. Surely we can improve on this idea - what if we wanted to artificially induce this rover with some simple thinking patterns? Wouldn't it be much better if it knew that a specific area has a large number of samples as opposed to it aimlessly travelling around Mars? Wouldn't it be better if it could use its previous history of actions to determine these areas and this would save money (space-stuff isn't cheap) and time. So, this is simple right? Right! But hold on a moment, chances are you didn't come to this blog to find out about a Mars rover. So essentially, it goes around an area on Mars, geographically cordoned off by space scientists using coordinates, it uses its camera to find pieces of rock and it uses its grabber to grab those samples. It has a claw - an actuator which can be used for the rover to grab onto the pieces of rock. ![]()
0 Comments
Leave a Reply. |