NetLogo banner

 Contact Us

 Modeling Commons

 User Manuals:


NetLogo User Community Models

(back to the NetLogo User Community Models)

[screen shot]

If clicking does not initiate a download, try right clicking or control clicking and choosing "Save" or "Download".

Try It in NetLogo Web


In many countries of the world, crime is a subject that causes many problems, causing insecurity in people, losses for the country and provokes violence and deaths, so it requires special attention from the government. In order to combat acts of delinquency, the participation of the police is usually required. The police is a security force in charge of maintaining public order and the security of citizens through the monopoly of force, which is subject to the orders of the State. Unfortunately, no matter how active the police officers of a country can be throughout history, it has been shown that it is not enough to attack the crime reactively, but to go to the root of the problem, avoiding people who have not committed a crime yet can do it. This model try to show the interactions between cops and crime

This works explores two different models of police and criminals world, an agent-based model and ODE model. Each of the models can be run separately, or docked side-by-side for comparison.


The agent based model is a simple version of the model in which agents are simply created with probability p and q,these probabilities can be affected by the number of individuals existing on the opposite side. For example if the number of delinquents exceeds the police by a percentage x then the police will have more opportunities to reproduce, on the other hand if the police are more than the criminals they will have more percentage of reproduction. The percentage amount allowed for this change in probabilities to work is given by F1 and F2.
The case of the "death" of individuals in the system is a little different. for a police to disappear from the system there are two ways, the first is that in a radius of 5 the criminals that surround the police are greater than the police that surround them or that the police is surrounded by more than 5 police within a radius of 4. For criminals it is similar, if a criminal is surrounded by more police than criminals then "dies", also if it is surrounded by more than 5 criminals.

The second model explains the interaccion through the following ODE:

O (t) = Active Police Operations
C (t) = Active Police in police operations
D (t) = Criminals

dO =(a*D + b*C - c*O)dt
dC =(f*C*D - g*C) + t*O)dt
dD =(h*D - j*D*C - sO)dt

a = represents the aggressiveness of the police.

b = represents the percentage of waiting police for operations

c = represents the budget for operations

f = represents the increase per season of police

g = symbolizes police in retirement or penalized for breaking the law

t = represents citizen approval

h = represents the percentage of influence of criminals

j = represents that criminals can be eliminated among them and the number of police controls their actions

s = represents the percentage of delinquents eliminated by police operations


To use the agent based model, it is enough to press "Iniciar 2" which randomly generates the delinquents and the police, then you must press "AVANZAR 2" to see how they interact. The reproduction variable of the delinquents and policemen is included, which can be manipulated by moving the slider "p" and "q" respectively, also the variables F1 and F2 are to be manipulated.

To Use the ODE model you need to press "Iniciar" button, then move the slider on the left to configure the parameters, remember that the default parameters are the ones chosen to simulate the reality. Finally you can press on to "Avanzar" and you can see the model on the graph.

Red ones are criminals, green ones are cops and blue ones are police operations.


For the ABM keep in mind that in time with the initial variables, the growth of criminals and police activity is very similar and alternate, but it is very sensitive to the reproduction rate of criminals and the balance is easily lost.

In the same way the ode model is very sensitive to changes in the variables, which often can not exceed certain ranges if it does not become chaotic.


In the ODE leave the variable 'h' in 0.2 and observe how the graph is similar to the lotka-volterra model


There are several ways to alter the model to be stable. Some will require the coding of new elements or the modification of existing behaviors. For example, in the code, to modify the scope of the police to capture a criminal, you only have to modify the number in the following instruction 'count turtles in-radius 5 with [color = green]', on the other hand you can also modify the scope of the offenders in the different rules that the model based on agents has and observe the results and compare them with the obetinos results with the default parameters.


Note that the model uses two different types of "turtles": criminals and policemen.
Note that the use of IN-RADIUS is to determine the scope of the police and criminals either to carry out a police operation, a die or a hatch


Look at Wolf Sheep Predation for another model similar to this one, but modeled with sheep and wolves, and with different rules.


Luis Santana Almonacid
Cristopher Tacul Vargas

(back to the NetLogo User Community Models)