A computational model for simulating spatial aspects of crime in urban environments

17
A Computational Model for Simulating Spatial and Temporal Aspects of Crime in Urban Environments P. L. Brantingham 2 , U. Gl¨ asser 1 , B. Kinney 2 , K. Singh 1 and M. Vajihollahi 1 Email:{pbrantin/glaesser/bkinney/komals/mvajihol}@sfu.ca 1 School of Computing Science 2 School of Criminology Simon Fraser University Burnaby, B.C., Canada April 5, 2005 Abstract In this paper, we present a novel approach to computational modeling of so- cial systems. By combining the abstract state machine (ASM) formalism with the multi-agent modeling paradigm, we obtain a formal semantic framework for mod- eling and integration of established theories of crime analysis and prediction. We focus here on spatial and temporal aspects of crime in urban areas. Our work contributes to a new multidisciplinary research effort broadly classified as Compu- tational Criminology. Keywords: Computational Criminology, Simulation, Modeling, Abstract State Machines, Multi-Agent Systems 1 Introduction Crime is not random. Any crime consists of four dimensions — the law, the offender, the target and the place [4]. Criminologists have developed various theories of crime [3] that contend there is definite patterning in the temporal and spatial characteristics of physical crime. The main theoretical theme argues that criminal events can be understood in the context of people’s movements in the course of everyday lives — offenders commit of- fenses near places they spend most of their time, and victims are victimized near places where they spend most of their time. This line of theory also argues that location of crimes is determined through a premeditated decision process of the offenders shaped by perceptions of environment that separate good criminal opportunities from bad risks 1

Transcript of A computational model for simulating spatial aspects of crime in urban environments

A Computational Model for SimulatingSpatial and Temporal Aspects of Crime

in Urban Environments

P. L. Brantingham2, U. Glasser1, B. Kinney2, K. Singh1 and M. Vajihollahi1

Email:{pbrantin/glaesser/bkinney/komals/mvajihol}@sfu.ca1 School of Computing Science

2 School of CriminologySimon Fraser UniversityBurnaby, B.C., Canada

April 5, 2005

Abstract

In this paper, we present a novel approach to computational modeling of so-cial systems. By combining the abstract state machine (ASM) formalism with themulti-agent modeling paradigm, we obtain a formal semantic framework for mod-eling and integration of established theories of crime analysis and prediction. Wefocus here on spatial and temporal aspects of crime in urban areas. Our workcontributes to a new multidisciplinary research effort broadly classified as Compu-tational Criminology.

Keywords: Computational Criminology, Simulation, Modeling, Abstract StateMachines, Multi-Agent Systems

1 Introduction

Crime is not random. Any crime consists of four dimensions — the law, the offender,the target and the place [4]. Criminologists have developed various theories of crime[3] that contend there is definite patterning in the temporal and spatial characteristicsof physical crime.

The main theoretical theme argues that criminal events can be understood in thecontext of people’s movements in the course of everyday lives — offenders commit of-fenses near places they spend most of their time, and victims are victimized near placeswhere they spend most of their time. This line of theory also argues that location ofcrimes is determined through a premeditated decision process of the offenders shapedby perceptions of environment that separate good criminal opportunities from bad risks

1

— targets located along highly accessible street networks attract crime. This impliesthere are a set of patterns/rules that govern the working of a social system — one com-posed of criminals, victims and targets, interacting with each other — the movementsof whom are influenced by the city’s underlying land use patterns, street networks andtransportation system.

Conventional research for crime analysis is statistical and empirical in nature usingmethods that entirely rely on direct extrapolations from past data. Novel research direc-tions [7, 25] however suggest a fundamentally different approach. Due to the increasingcomplexity and dynamics and the intricate nature of the underlying sociological sys-tems, empirical deduction is not sufficient any more; mathematical and computationalmodels are needed for reasoning about most likely scenarios [8]. Although theoriesof crime are well established in their respective fields, the lack of a coherent and con-sistent semantic framework for integrating the four dimensions of crime inhibits theirapplicability to real-life scenarios. Furthermore, a firm semantic foundation is a pre-requisite for the systematic construction of well defined computational models in orderto overcome the limitations of purely statistical methods [25]. The expectation is thatdeploying such novel tools will provide effective support for understanding of and ex-perimenting with crime patterns and for evidence based policy making.

We propose an abstract mathematical framework for semantic modeling and inte-gration of established theories of crime analysis and prediction which is obtained bycombining the abstract state machine (ASM) formalism [2] with the multi-agent mod-eling paradigm [39]. Specifically, we focus here on crime in urban areas and modelspatial and temporal aspects of crime involving multiple offenders and multiple tar-gets. Our goal is twofold. First, semantic modeling greatly simplifies a systematicintegration and validation of crime patterns and theories and helps gaining a better un-derstanding of complex social system aspects. Second, a solid mathematical foundationfor the construction, refinement and validation of discrete event models facilitates thedevelopment of simulation models as effective instruments in prediction and preventionof crime.

Our work is part of a novel cross-disciplinary research effort broadly classified asComputational Criminology. The scope of related research disciplines spans crimi-nology, formal methods, modeling & simulation, AI and artificial life (see Figure 1).From a system theoretic perspective the behavioral patterns of the underlying dynamicsystem are best characterized as a combination of cognitive system and reactive system.Finally, we like to emphasize that although the original definition of ASMs is intendedto capture any kind of discrete dynamic systems, their application to social systems isoriginal and unprecedented.

This paper is structured as follows. Section 2 briefly outlines the context in whichthis work is carried out. Section 3 presents our distributed discrete event model ofthe underlying social urban system. Section 4 addresses the fitness of the model, andSection 5 concludes the paper.

2

��� �

��� � � � � � �� � � � � �

� � � � �� � � � �� � �

��� � � � � � �

� � � � � ! " # $ %

& ' ( ) �& *

+ , - . - � �/ ) 0 - � "

1 ) ( � - � "

2 3 �� � � � � � �

4 � � 3 � � �� � �5 � � � � � �

4 6 7 3 �� � � � �8 � � 9 � � � �

� : ; � < =

Figure 1: A multi-disciplinary approach to computational modeling of social systemsusing ASM technology as common core for linking distinct aspects

2 Background

The history of social simulation starts with differential equations and goes throughstochastic processes, game theory, cellular automata and finally distributed artificialintelligence (multi-agent systems) [24]. We build on the existing knowledge and ex-pertise of applying the multi-agent modeling paradigm to modeling social systems,and use the distributed ASM framework for building a concise mathematical model ofa particular class of such systems. The final ASM model of the system is linked to theoriginal social system through an intermediate layer which is the multi-agent system.However, the introduction of this intermediate layer should be seen only as a facilitatingmeans for modeling social systems; i.e. only those principles of multi-agent systemsthat help in streamlining our target system are incorporated. In the following sectionswe briefly outline the criminology background, the formal semantic framework, andthe role of multi-agent modeling for social systems.

2.1 Computational Criminology

Criminology has a rich history of interest in the spatial distribution of crime and crim-inal events [11, 35]. The sub-field of environmental criminology stems, in part, fromthis early ecological tradition [3]. Key concepts include the routine nature of many ofour daily activities [19], and the structured way in which we become aware of, andinteract with, our environment [4, 5].

The task of simulating the movement and decision-making processes for our hypo-thetical offender (agent) is complex, but the main elements can be shown here. Princi-ples of environmental criminology suggest that offenders commit crime in areas withwhich they are most familiar. If we assume that our agent moves about in space muchlike most people, the agent is then tied to at least three main classes of activity nodes:home, work and recreation. The agent often travels between these nodes using familiarpathways; the more often an area is visited, the more knowledge the agent will gain re-

3

garding the immediate surrounds for both the nodes and the pathways connecting them[6]. At a general level, each agent has an awareness space that characterizes his orher working knowledge of the environment. Within this general area more specializedknowledge is formed by direct experiences, known as activity spaces. It is here thatcriminal opportunities are observed and potentially acted upon [6].

The process of choosing a target of opportunity involves target templating [5]. Eachagent compares potential criminal opportunities to his or her crime template in orderto assess the value potential rewards against the risks or degree of energy required forsuccessful execution [12, 33].

Related modeling and simulation work in criminology [29, 7], suggest the value ofpursuing computational methods to predict patterns in crime. Although a ‘new’ areafor criminology, this area is showing signs of gaining momentum.

2.2 ASM Modeling Paradigm

Abstract state machines [2] (a.k.a. evolving algebras [26]) have been proposed as a uni-versal mathematical framework for semantic modeling of discrete dynamic systems andstudied extensively in high-level design of computer-based systems. We briefly outlinehere the basic idea at an intuitive level of understanding using common notions andstructures from discrete mathematics and computing science. For further details, werefer to the existing literature on the ASM theory [27, 1] and its practical applications[2].1

We focus here on the asynchronous ASM model, called distributed abstract statemachine (DASM), as formal basis for modeling concurrent and reactive system behav-ior by abstract machine runs. A DASM M is defined over a given vocabulary V by itsprogram PM and a non-empty set IM of initial states. V consists of symbols denot-ing the various semantic objects and their relations in the formal representation of M ,where we distinguish domain symbols, function symbols and predicate symbols. Sym-bols that have a fixed interpretation regardless of the state of M are called static; thosethat may have different interpretations in different states of M are called dynamic. Astate S of M yields an interpretation of all the symbols in V .

Concurrent control threads in an execution of PM are modeled through a dynamicset AGENT of autonomously operating agents. Agents of M interact with each otherby reading and writing shared locations of global machine states, where the underly-ing semantic model regulates such interactions so that potential conflicts are resolvedaccording to the definition of partially ordered runs [26].

PM consists of a statically defined collection of agent programs, each of whichdefines the behavior of a certain type of agent in terms of state transition rules. Thecanonical rule consists of a basic update instruction of the form f(t1, t2, ..., tn) := t0,where f is an n-ary dynamic function symbol and the tis (0 ≤ i ≤ n) are terms.Intuitively, one can conceive a dynamic function as a function table where each rowassociates a sequence of argument values with a function value. An update instructionspecifies a pointwise function update, i.e., an operation that replaces an existing func-tion value by a new value to be associated with the given arguments. Complex rules

1See also the ASM Web site at www.eecs.umich.edu/gasm.

4

� � � � � �� � � � � � � �

� � � � � � � �� � � � � � � �

� � � � � �

� �

� � �

� � �

� � � � � � � �� � � � � � � � � �

� � � � �� � � � � � � ! " � # � $ � % " & # � ' # " (

� ) � � �� % " & # * + � " , � � � � � � � � ( - � � # � � &

./� ) � �01- � # � * � % " & # + � " , � � ( - � � # � � &

� 2 3 � 4 56�� � � � � � � � ( - � � # � � &

Figure 2: Agent based social simulation as the intersection of three fields [13]

are inductively formed out of basic update instructions by means of various simplerule constructors (as will be illustrated by means of examples in the description of themodel).

Finally, M models the embedding of a system into a given environment — theexternal world — through actions and events as observable at interfaces. The externalworld affects operations of M through externally controlled or monitored functions.Such functions change their values dynamically over runs of M , although they cannotbe updated by agents of M . A typical example is the representation of time by meansof a nullary monitored function now taking values in a linearly ordered domain TIME.Intuitively, now yields the time as measured by some external clock.

2.3 From Social Systems to ASM Models

Multi-Agent Based Systems (MABS) [39, 41, 21] have gained widespread popularityas a modeling paradigm for distributed systems, open dynamic environments, and sys-tems that can naturally be regarded as a society of interacting agents [23]. Specifically,using agent-based models for simulating social systems is justified by its long history[24] and successful applications [16, 17] in social sciences.

Figure 2 illustrates how the research area of Agent-Based Social Simulation (ABSS)can be characterized as the intersection of three scientific fields, agent-based comput-ing, social sciences, and computer simulation [13].

Pertinent to our context, the MABS modeling paradigm plays a vital role in bring-ing together the predominant view of the world of social systems with the formal ASMview. This nexus provides a coherent framework to incrementally refine the model byintegrating approaches from other disciplines such as AI and Criminology, thus incor-porating the cross-disciplinary nature in an elegant fashion.

Although MABS is widely used, it still lacks a formal semantic basis [15]: ‘Thereis a lot of formal theory in the area but it is often not obvious what such theories shouldrepresent and what role the theory is intended to play. Theories of agents are oftenabstract and obtuse and not related to concrete computational models.’

5

Social Urban Env. MABS Model ASM ModelOffender, Victim Autonomous Agent DASM Agent

Car, ATM Active Object Object(Attributes, Behavior) (Stat./dyn. fnctns.)

Cash, Drugs Passive Object Object(Attributes) (Static functions)

Figure 3: Entity classification and taxonomy through different layers

While some work has been done on formal approaches to multi-agent systems,e.g. [22, 31, 28], there is still a dire need for a robust formalization approach to addressopen issues of formalism, framework, methodology, and software engineering tech-niques as pointed out in [15]. In using distributed ASMs as formal basis for semanticmodeling of multi-agent systems, we address crucial aspects such as distribution, con-currency, communication, environment and real time [36].

Since the underlying social urban environment involves different types of entities,a distinction needs to be made between the various constituent entities. We propose ageneric classification of entities into three different categories2: passive objects, activeobjects and autonomous agents. The core of this classification is based on the essentialsof the Belief Desire Intention (BDI) agent architecture [10, 40] and the framework foragency and autonomy [31].

A passive object is an entity that comprises a set of attributes reflecting its charac-teristic features. An active object is an entity with attributes and an associated behaviordefined as observable changes in the state of the object where this behavior is inducedby the environment and not controlled by the object itself. An autonomous agent is anentity that, in addition to attributes and behavior, has rules, motivations, and a memory.The behavior of an autonomous agent is generated by a set of rules triggered by theagent to change its internal state or the state of its environment. Consequently, an au-tonomous agent is responsible for generating all its behaviors. Motivations are reasons(goals or incentives) toward which the behavior is oriented, and memory is nothing buta collection of facts representing agent’s knowledge of the environment. A criminal of-fender is an autonomous agent with attributes (e.g. a personal profile), behavior (suchas commuting), motivations (e.g. greed), and a memory (e.g. storing targets).

We map each MABS entity onto an entity in the ASM model as follows. A passiveobject is modeled as an ASM object with static functions representing its attributes. Ac-tive objects are also modeled as ASM objects with both static and dynamic functions,where dynamic functions may represent the changes in the state. Finally, autonomousagents are modeled as DASM agents where the program of each agent characterizesthe rules governing its behavior; its memory and motivations are abstractly representedby functions. Figure 3 illustrates the entity mapping through the three different layers.

2Despite of being generic, this categorization is not intended to be universal; it is only meant to capturethe dynamics of our target system.

6

3 Distributed ASM Model

The DASM model we present here is based on a multi-agent system view wherethe behavior of autonomous agents is defined by two conceptually different sets ofrules, action rules describing reactive behavior and cognition rules describing cogni-tion. Agents operate in a highly dynamic, discrete environment. They are capable oflearning using a form of behavioral reinforcement learning where, based on past ex-periences, certain preferences are developed that may influence future choices that anagent will make. Likewise, communication between agents may influence the behaviorof an agent in various ways. Agents communicate with one another by reading andwriting shared locations of global states. For synchronization purposes, we use an ex-plicit event triggering mechanism defined in [18]. Intuitively, communicating agentsmay develop various forms of interactions like indifference, cooperation or antagonismwhich in turn lead to the formation of organizations [21]. At this stage, we essentiallyrestrict on two forms of interaction, indifference (agents operate independently with-out influencing one another) and, to some extent, cooperation, but potentially allow forother forms of interactions as well.

3.1 Agent Architecture

The main component of our model is an autonomously acting entity, called the personagent, which is defined to model the criminal behavior of an offender commuting be-tween home, work, shopping and entertainment locations in an urban environment. Itsbehavioral description is structured into several modules, each of which models cer-tain aspects of the overall behavior. Figure 4 illustrates the structural decompositionof a person agent into different logical components following the classical Divide andConquer approach.

The approach taken on modeling the urban environment complements extant theo-ries of environment in the behavioral sciences. Conceptually, the environment can bedivided into two broad categories, the objective environment and the subjective envi-ronment [30]. The objective environment, in our case called the geographic environ-ment, is external to an agent and encompasses the totality of all things jointly formingthe physical reality.

The Space Evolution Module (SEM) is responsible for carving out the activityspace and the awareness space of the person agent. It uses a navigation algorithmto move the agent from an origin to a destination considering the particular preferencesof the agent. These preferences include a variety of aspects such as choosing shorterroutes, avoiding traffic, using familiar roads, avoiding blocked roads, et cetera.

The Target Selection Module (TSM) is responsible for monitoring potential targetson the routes taken by the agent, and for selecting attractive targets based on givenselection criteria. This leads to the creation of the opportunity space and the crimeoccurrence space of the agent.

The Agent Decision Module (ADM) is the component which models intelligentdecisions made by the agent. Most of these decisions are made based on personalattributes of the agent (recorded in the person’s profile) and the agent’s motivations.

7

� �������� ��� ��� ���

� � � � � � � � � � � � � � � � � � � �

� � ! � " # $ % &' ( ) * + , + - -. / ) 0 +' 0 1 2 3 2 1 4. / ) 0 +

5 6 1 2 3 ) 1 2 6 , -

7 * 6 8 2 9 +

: ; � � � < � � � = � � �� � � � � �

> 6 ? , 2 1 2 6 , @ A 9 + -

B 6 * C 2 , ?5 + D 6 * 4

' 0 1 2 6 , @ A 9 + -

> 6 ? , 2 1 2 6 , @ A 9 + -

B 6 * C 2 , ?5 + D 6 * 4

' 0 1 2 6 , @ A 9 + -

E F G H I JK L M F N E H O P Q R O P H S N

T O O I P U L O F NWV S F X Y R JZ [ H X Y R J E H \ L M F

> 6 D D A , 2 0 ) 1 2 6 , ] ^ _ `ba , 3 2 * 6 , D + , 1

> 6 D D A , 2 0 ) 1 2 6 , c _ a , 3 2 * 6 , D + , 1

d � e ; � � � � � � � � � � � � � � � � �

Figure 4: Agent architecture

This module is left abstract in the current model but is part of the architectural designand serves as an interface to incorporate existing AI methods into our model.

The SEM and the TSM both use action rules and cognition rules. Cognition ruleschange the state of the internal memory, whereas action rules, when fired, affect thestate of the environment. Each of these modules is identified with a DASM agent andthe corresponding rules form the program of this agent.

Memory is a collection of facts/beliefs/knowledge — present and past — whichmay change dynamically over time. In our model, each of the above mentioned mod-ules has an internal memory component, called working memory, which stores volatileinformation needed for path computation or target selection.

The agent’s main memory component is called perception and represents the sub-jective environment. Perception stores a filtered view of the geographic environmentand represents the environment as the agent ‘perceives’ it; it is thus the subjective real-ity and is constantly updated by the SEM and the TSM.

The subjective environment can further be divided into sub-categories [37]. Thepart of the perception that an agent is aware of by way of current events, past experi-ences and interaction with other agents forms the awareness space of the agent. Theactivity space is the part of the awareness space that the agent has visited more fre-quently over a recent period of time. The agent typically has very detailed informationabout this part of the environment. This categorization of environment is illustrated inFigure 5.

Finally, the profile represents the personal attributes of the agent and stores infor-mation such as preferences, skills, home locations and demographic factors that aretaken into account for determining certain aspects of an agent’s individual behaviorwhen moving in space and time.

8

� � � � � � � � � � � � � � � � � �

� � � � � � � � �

� � � � � � � � �� � � �

� � � � � � �� � � �

� � � � � � � � �� � � � � � ! � � �

" # � � � � � � � �� � � � � � ! � � �

Figure 5: Categorization of the environment

3.2 The Environment

We abstractly represent a given urban environment as an attributed directed graphdefined in several steps as follows.

Let H = (V, E) be a directed graph representing the road map of some urbanarea, where V = {v1, ..., vn} is the set of vertices — representing the intersectionson the map — and E ⊆ V × V is the set of directed edges — representing roads;unidirectional roads are represented by a single edge and bidirectional ones by a pairof oppositely directed edges connecting the same two vertices.

For attributing the graph H , let Θv and Θe denote the attribute sets for verticesand edges respectively. Θe splits into two disjoint subsets, Θstat

e and Θdyne , the edge

attributes that are statically defined, e.g. such as distances, and those that my changedynamically, like traffic conditions.

We can now define the geographic environment as an attributed directed graphGGeoEnv = (H, θ) by associating attributes with the vertices and edges of H . For-mally, this is expressed by an attribution scheme θ = (θv , θe) with θe = (θstat

e , θdyne )

consisting of three finite mappings:

• θv : V → P(Θv) assigns a set of vertex attributes to each vertex in V,

• θstate : E → P(Θstat

e ) assigns a set of static edge attributes to each edge in E,and

• θdyne : E → P(Θdyn

e ) assigns a set of dynamic edge attributes to each edge inE.

Vertex attributes, for instance, specify geographic coordinates. Edge attributesyield information on distances, road type, road condition, speed limits, traffic situa-tion, et cetera.

GGeoEnv represents the objective environment and serves as the basis for definingthe subjective environment — the agent’s perception of the objective environment. Wemodel perception by introducing an additional attribution on top of GGeoEnv . The factthat, in general, each agent perceives the geographic environment differently impliesthat distinct agents see different attributions of GGeoEnv.

Let Λv and Λe denote the additional attribute sets for vertices and edges respec-tively. The urban environment — including both the subjective and the objective en-vironment — is defined as an attributed directed graph GEnv = (GGeoEnv , λ) where

9

λ = (λv , λe) abstractly represents the agent specific attribution of vertices and edgesby means of two injective mappings such that

• λv : AGENT×V → P(Λv), for each agent and each vertex in V , yields a non-empty set of vertex attributes, and

• λe : AGENT×E → P(Λe), for each agent and each edge in E, yields a non-empty set of edge attributes.

GEnv can be seen as a attributed directed graph with colored attributes. Each colorrefers to the specific perception of an individual agent. Λv, e.g., specifies frequency ofvisits to a location and the agent’s subjective interest in a location. Λe, e.g., specifiesthe frequency of using a road, reinforcement factors, intensity of awareness, et cetera.

Finally, the awareness space and activity space of each agent, in a given systemstate, is computed by means of operations on GEnv that extract the subset of edgeswith an associated intensity above a certain threshold. Likewise, the opportunity spacefor a certain type of crime is encoded. The crime occurrence space is the intersectionof the opportunity space and the activity space of an agent.

3.3 High-Level DASM Model

An offender is modeled by a collection of interacting DASM agents. A master agent oftype PERSON, called person agent, and three subordinate agents operating under thecontrol of the master. Each subordinate agent represents one of the three operationalunits SEM, TSM, and ADM (cf. Section 3.1). A function parentAgent defined on sub-

ordinate agents links these agents to their person agent.AGENT ≡ PERSON ∪ SEM ∪ TSM ∪ ADM

Asynchronous interaction between the various agents is based on an event trigger-ing mechanism carried out using a signaling framework in which each signal specifiesits sender and receiver and may carry any type of data. For further details, the reader isreferred to [18].

The following sections introduce the SEM and the navigation algorithm in moredetail. For more information on the TSM and its functionality, the reader is referred to[9].

3.3.1 Space Evolution Module

The main responsibility of the SEM is to control how the person agent traverses the ur-ban environment GEnv (cf. Section 3.2) based on personal preferences. As a byproductof navigation, a person agent’s activity space evolves as its visits more places, thus af-fecting the attribute values of GEnv . SEM agents access and manipulate such attributesthrough operations on the graph structure. These operations will be introduced on thefly.

The SEM works in five different modes, idle, estimation, calculation, thinking andrunning, formally represented by the elements of a domain MODE.

mode : SEM → MODE

10

Intuitively, the SEM moves the related person agent in discrete steps from its cur-rent position on the graph — a vertex or an edge as identified by functions currentNodeand currentEdge — to its destination. The behavior of the SEM is abstractly definedby the SEM program composed of five rules, one for each mode.

ProgramSEM ≡case mode(self ) of // self refers to an SEM agent

idle → semIdleModeestimation → semEstimationModecalculation → semCalculationModethinking → semThinkingModerunning → semRunningMode

In the idle mode, the SEM agent is waiting for the next destination to be identifiedby the ADM agent sending a signal. Upon receiving this signal, a series of calculationsis required to find a path matching the agent’s preferences as closely as possible, andthe mode switches to estimation.

The navigation algorithm takes into account a number of factors to find the mostpreferable path to the destination. The importance of each of these factors is determinedby an associated weight which can change dynamically. For instance, major roads areoften more favorable than minor roads, but when a person gets closer to the destination,minor roads leading directly to the destination may be more attractive. In the estimationmode, the SEM agent re-evaluates these weights. On the other hand, it is also possibleto reset the destination and start moving toward a new destination. This means, thata person can change his or her mind in the middle of a trip. When the estimation iscomplete, the mode changes to calculation.

In the calculation mode, auxiliary calculations for updating information on bestpaths are performed. Due to the nature of the navigation algorithm, described in Sec-tion 3.3.2, a re-calculation is required whenever the destination has changed, or theweights have changed. We do not further describe the calculation mode here. Whenthe calculation is complete, the mode is changed to thinking.

In the thinking mode, a decision is made regarding the person agent’s next move.There are two distinct cases. If the destination is reached, a signal is sent to the ADMagent indicating the arrival at the destination; the person agent remains at its currentposition, and the mode switches back to idle. Otherwise, a next edge toward the desti-nation is chosen, i.e., an edge with the best overall preference. The mode then switchesto running and the agent starts traversing the edge. The following routine sketches thebehavior of the SEM in the thinking mode.

11

semThinkingMode ≡if ¬destNodeReached then

CHOOSE NEXT ROAD(self )// The next edge is chosenmode(self ) := running// The agent starts passing the edge...

else // Indicate arrival to ADMmode(self ) := idletrigger s : INDICATE ARRIVAL,

decisionModule(parentAgent(self ))arrivalTime(s) := now

In the running mode, the current edge is being traversed. The SEM now remains inthis mode until the traversal is complete (currentEdgeTraversed = true), meaning thatthe person agent is effectively arriving at the next vertex. Data on the edge and thetime it was visited is recorded in the agent’s perception. While in this mode, a personagent may communicate with other agents by exchanging signals, thus influencing theperception of the person agent. Communication between agents and the mechanism forexchanging knowledge have been studied extensively in other disciplines. Although thedetails are left abstract in our model so far, we have identified this possibility as a futureextension to the model.

semRunningMode ≡onsignal s : AGENT ENCOUNTER

EXCHANGE KNOWLEDGE(neighbor(s))if currentEdgeTraversed(self ) then

RECORD IN PERCEPTION(self , currentEdge)currentNode := edgeTail(currentEdge)mode(self ) := estimation

For a complete description of the SEM, including the (sub-)rules left abstract here,the reader is referred to [9].

3.3.2 Navigation Algorithm

The navigation algorithm that we present here reflects the natural and intuitive choicesa person makes while moving in an urban landscape. The path taken might not be aglobally optimal and best one, but a more natural and a good-enough one. The algo-rithm takes into account the factors that are known to influence human path planningand is developed in collaboration with the domain experts.

Generally, a navigator has some global information about its environment which isincorporated in the algorithm through global factors. Global factors include distance,number of intervening vertices, road type and angle toward the destination. Globalfactors do not change during a trip, and the navigator has normally a priori knowledgeof them. Intuitively, major roads are preferred over minor roads and an optimal path issought to minimize the distance, the number of stops, and the overall angle toward the

12

Figure 6: Selecting a path from source S to destination D

destination (e.g., it is uncommon to choose a road leading in the opposite direction ofthe destination). Additionally, past experiences also form global factors. The factorsrelated to past experience are categorized as learning factors and include frequencyof trips, importance of trips and positive/negative reinforcement. Typically, paths thathave been visited more frequently before are more preferable.

The navigation algorithm also considers local area information discovered on thefly. Such local factors are highly dynamic and include traffic, road conditions, andother events of interest occurring on or besides a road. The idea is to avoid dense traffic,any road construction, et cetera by using the local information available. Overall, thealgorithm reflects the balance between global planning, local negotiation and learning.Technically, it can be seen as a combination of an A*-algorithm [34] and Dijkstra’sshortest paths algorithm [14].

Assume a person agent wants to move from source S to destination D (see Figure6). The preference of an edge e for the SEM agent a that choses the path is defined as:

edgePref(a, e, D) ≡globalWeight(a) ∗ globalEdgePref (a, e, D)+localWeight(a) ∗ localEdgePref (a, e)

where

• globalEdgePref(a,e,D) yields the preference of taking a ‘best’ path from S to D

via B influenced solely by global factors (global planning).

• localEdgePref(a,e) yields the preference of choosing e influenced solely by localfactors (local negotiation).

Learning is incorporated in path planning by considering past experiences of anagent as part of the global factors. The effect of local and global factors in the overallpreference of an edge is controlled by the weights assigned to each type of preference,namely globalWeight and localWeight.

The global preference of an edge provides a heuristic for estimating the preferenceof a path via this edge. This estimate is provided by Dijkstra’s shortest path algorithmand takes into account only the global factors, which are supposed to be fixed whilethe destination remains unchanged. Hence, whenever the destination is changed orany factor weight is changed, it is required to re-apply the algorithm and update theseestimates. On the other hand, the local preference of an edge is considered only whenthe agent reaches the respective edge. Overall, the edge with the highest preference(maximum value of edgePref ) is chosen as the next edge toward the destination.

13

4 Fitness of the Model

Mathematical modeling of crime serves the purpose of studying most likely scenariosin crime analysis and prevention and provides a basis for experimental research allow-ing experiments that can often not easily be done in the real world. Typical purposesof such experimental research, among others, include [38]: a) use of a model for gen-erating and testing hypothesis through controlled experiments; b) use of a model forpredicting the effects of change in the system under study. In this context, the role ofmodeling and simulation is descriptive rather than prescriptive and, for instance, fo-cuses on aspects such as: a) identification of behavior characteristics from responsepatterns generated by simulations; and b) identification of the system boundary and thefactors that influence the behavior of interest. Clearly, the key issue is not to obtain asimulation response as the main result but to inspect the underlying trace that generatedthe response and suggest changes on that basis. Hence, the problem of providing evi-dence for the validity of a model has a different meaning than in prescriptive modelingwhere quantitative measures of reliability of predictions apply.3 An obvious way ofvalidating the model is by simulating scenarios and comparing the results with whatthe theories predict. However, there is no guarantee that the theories make correct pre-dictions under all circumstances. A possibility is the use of compositional techniqueswith the idea to divide the validation task by applying different approaches specific toeach of the model components (e.g., cross-validation can be used for validating neu-ral networks). The problem is then, how to validate coherence and consistence of theintegration of components. This aspect deserves a more thorough investigation and issubject of our future work.

5 Conclusion

We propose a novel approach to modeling and simulation of crime patterns and theo-ries in crime analysis and prevention — a key aspect in Computational Criminology [8]— based on the abstract state machine (ASM) paradigm. We exemplify our approachby modeling and simulating spatial and temporal aspects of crime in urban environ-ments. Emphasizing the need for a well-defined and robust mathematical framework,we devise a distributed abstract state machine as formal basis for the development ofsimulation models. Although unconventional, the application of the ASM formalismand abstraction principles to social systems turns out to be a promising approach; itnicely combines with the established view of multi-agent modeling of social systemsand provides a precise semantic foundation — something multi-agent system modelingis lacking.

The particular challenge is the complexity and diversity of the problem space dueto two major factors: a) the inherent complexity and dynamics of social systems, andb) the cross-disciplinary nature of the research field spanning Criminology, Environ-ment Planning, Modeling & Simulation, AI and Artificial Live. In this light, our maintheoretical result is the abstract behavior model of person agents (based on the agent

3For instance, in software cost estimation, a widely accepted rule of thumb suggests that a model isacceptable if 75 percent of the predicted values fall within 25 percent of their actual values [20].

14

architecture) interacting with their objective and subjective environments. Our modelis designed for robustness with the intention to extend and refine it as required to grad-ually incorporate principles and techniques from other research disciplines, e.g., fordealing with various cognitive aspects, especially in modeling the target selection pro-cess. To this end, we can say that the ASM abstraction mechanisms greatly simplifiedthe task of extracting and formalizing behavioral aspects of the system under study andwere invaluable for delineating the borderline between the system and its operationalenvironment.

Our main practical result is an executable version of the distributed ASM modelwhich is based on AsmL [32] and serves as a platform for the construction and experi-mental validation of discrete event simulation models.

References[1] Andreas Blass and Yuri Gurevich. Abstract State Machines Capture Parallel Algorithms.

ACM Transactions on Computation Logic, 4(4):578–651, 2003.

[2] E. Borger and R. Stark. Abstract State Machines: A Method for High-Level System Designand Analysis. Springer-Verlag, 2003.

[3] P. J. Brantingham and P. L. Brantingham. Patterns in Crime. New Tork: Macmillan Pub-lishing Company, 1984.

[4] P. J. Brantingham and P. L. Brantingham. Introduction: The Dimensions of Crime. InP. J. Brantingham and P. L. Brantingham, editors, Environmental Criminology, pages 7–26. Waveland Press, 1991.

[5] P. J. Brantingham and P. L. Brantingham. Environment, Routine and Situation: Toward aPattern Theory of Crime. Advances in Criminological Theory, pages 259–294, 1993.

[6] P. J. Brantingham and P. L. Brantingham. Nodes, Paths and Edges: Considerations on theComplexity of Crime and the Physical Environment. Journal of Environmental Psychology,pages 3–28, 1993.

[7] P. J. Brantingham and P. L. Brantingham. Computer Simulation as a Tool for EnvironmentalCriminologists. Security Journal, pages 22–30, 2004.

[8] P. J. Brantingham, P. L. Brantingham, and U. Glasser. Computer Simulation as a ResearchTool in Criminology and Criminal Justice. Criminal Justice Matters, (58), February 2005.

[9] P. L. Brantingham, U. Glasser, K. Singh, and M. Vajihollahi. Mastermind: Modeling andSimulation of Criminal Activity in Urban Environments. Technical Report SFU-CMPT-TR-2005-01, Simon Fraser University, Feb 2005.

[10] M. E. Bratman, D. Israel, and M. E. Pollack. Plans and Resource-Bounded Practical Rea-soning. Computational Intelligence, 4:349–355, 1988.

[11] E. W. Burgess. The Growth of the City. In M. Stewart, editor, The City: Problemsof Planning, Penguin Interdisciplinary Readings, pages 117–129. Penguin Books Ltd.,1972(1925).

[12] D. Cornish and R. V. Clarke. Introduction. The Reasoning Criminal: Rational ChoicePerspectives on Offending, Research in Criminology, pages 1–16, 1986.

[13] P. Davidsson. Agent Based Social Simulation: A Computer Science View. Journal ofArtificial Societies and Social Simulation, 5(1), 2002.

15

[14] E. W. Dijkstra. A Note On Two Problems In Connection With Graphs. Numerische Math-ematik, 1:269–271, 1959.

[15] M. d’Inverno, M. Fisher, A. Lomuscio, M. Luck, M. de Rijke, M. Ryan, andM. Wooldridge. Formalisms For Multi-Agent Systems. In First UK Workshop on Founda-tions of Multi-Agent Systems, 1996.

[16] J. Doran, M.Palmer, N. Gilbert, and P. Mellars. The EOS project: Modelling Upper Palae-olithic Social Change. In N. Gilbert and J. Doran, editors, Simulating Society: The Com-puter Simulation of Social Phenomena, chapter 9, pages 195–221. UCL Press, 1994.

[17] A. Drogoul and J. Ferber. Multi-Agent Simulation as a Tool for Studying Emergent Pro-cesses in Societies. In N. Gilbert and J. Doran, editors, Simulating Society: The ComputerSimulation of Social Phenomena, chapter 6, pages 127–142. UCL Press, London, 1994.

[18] Roozbeh Farahbod. Extending and refining an abstract operational semantics of the webservices architecture for the business process execution language. Master’s thesis, SimonFraser University, Burnaby, Canada, July 2004.

[19] M. Felson. Routine Activities and Crime Prevention in the Developing Metropolis. Crimi-nology, pages 911–931, 1987.

[20] N.E. Fenton and S.L. Pfleeger. Software Metrics: Rigorous and Practical Approach. Inter-national Thomson Press, 1997.

[21] J. Ferber. Multi-Agent Systems: An Introduction to Distributed Artificial Intelligence. Ad-dison Wesley, February 1999.

[22] M. Fisher and M. Wooldridge. Towards Formal Methods for Agent-Based Systems. InD. Duke and A. Evans, editors, BCS-FACS Northern Formal Methods Workshop. ElectronicWorkshops in Computing. Springer Verlag, 1997.

[23] N. Gilbert and J. Doran. Simulating Societies. UCL Press, 1995.

[24] N. Gilbert and K. G. Troitzsch. Simulation for the Social Scientist. Open University Press,1999.

[25] L. Gunderson and D.Brown. Using a Multi-Agent Model to Predict Both Physical and Cy-ber Criminal Activity. IEEE International Conference on Systems, Man, and Cybernetics,4:2338–2343, 2000.

[26] Y. Gurevich. Evolving Algebras 1993: Lipari Guide. In E. Borger, editor, Specificationand Validation Methods, pages 9–36. Oxford University Press, 1995.

[27] Y. Gurevich. Sequential Abstract State Machines Capture Sequential Algorithms. ACMTransactions on Computational Logic, 1(1):77–111, July 2000.

[28] V. Hilaire, A. Koukam, P. Gruer, and J. P. Muller. Formal Specification and Prototyping ofMulti-agent Systems. Lecture Notes in Computer Science, 1972, 2001.

[29] P. Hooimeijer and A. Oskamp. Advances in the Microsimulation of Demographic Be-haviour. In Population Issues: An Interdisciplinary Focus, The Plenum Series on Demo-graphic Methods and Population Analysis, pages 229–263. Plenum Press, 1999.

[30] K. Koffka. Principles of Gestalt Psychology. Harcourt, 1967.

[31] M. Luck and M. d’Inverno. A Formal Framework for Agency and Autonomy. In V. Lesserand L. Gasser, editors, Proceedings of the First International Conference on Multi-AgentSystems (ICMAS-95), pages 254–260, San Francisco, CA, USA, 1995. AAAI Press.

[32] Microsoft FSE Group. The Abstract State Machine Language. http://research.microsoft.com/fse/asml/.

16

[33] G. F. Rengert. The Journey to Crime: Conceptual Foundations and Policy Implications. InCrime, Policing and Place: Essays in Environmental Criminology, pages 109–117. Rout-lede, 1992.

[34] S. C. Shapiro. Encyclopedia of Artificial Intelligence. John Wiley & Sons, 1992.

[35] C. R. Shaw and H. D. McKay. Juvenile Delinquency and Urban Areas: A Study of Rates ofDelinquency in Relation to Differential Characteristics of Local Communities in AmericanCities. University of Chicago Press, 1969 (1942).

[36] O. Shehory and A. Sturm. Evaluation of Modeling Techniques for Agent-Based Systems.In Proceedings of the Fifth International Conference on Autonomous agents, pages 624–631. ACM Press, 2001.

[37] J. Sonnenfeld. Geography, Perception and the Behavioral Environment. In P. W. Englishand R. C. Mayfield, editors, Man, Space and the Environment, pages 244–251. OxfordUniversity Press, New York, 1972.

[38] P. J. Starr. Modeling Issues and Decisions in System Dynamics. In JR A. A. Legasto, J. W.Forrester, and J. M. Lyneis, editors, System Dynamics. North Holland, 1980.

[39] K. P. Sycara. Multiagent Systems. AI Magazine, pages 79–92, 1998.

[40] M. Wooldridge. Intelligent Agents: The Key Concepts. In M. Luck, V. Marik,O. Stepankova, and R. Trappl, editors, Multi-Agent Systems and Applications II, pages3–43. Springer, 2001.

[41] M. Wooldridge. An Introduction to Multiagent Systems. John Wiley and Sons Ltd, 2002.

17