developing a deterministic patrolling strategy for security agents nicola basilico, nicola gatti,...

15
Developing a Deterministic Patrolling Strategy for Security Agents Nicola Basilico, Nicola Gatti, Francesco Amigoni

Post on 21-Dec-2015

216 views

Category:

Documents


1 download

TRANSCRIPT

Developing a Deterministic Patrolling Strategy for Security AgentsNicola Basilico, Nicola Gatti, Francesco Amigoni

N. Basilico, N. Gatti, F. Amigoni

Scenario 2

N. Basilico, N. Gatti, F. Amigoni

Strategic Patrolling

• Determination of an efficient strategy for the patroller agent• A patrolling strategy determines how the patroller moves in the

environment• An efficient patrolling strategy minimizes the intrusion probability

• Usually, patrolling strategies use randomized movements[Agmon et al., ICRA2008] [Paruchuri et al., AAMAS2008] [Amigoni et al., IAT2008] [Basilico et al., AAMAS2009]

• Sometimes, a deterministic patrolling strategy (a fixed path) can prevent intrusions

• Problem: determine an efficient deterministic patrolling strategy for a security agent

3

N. Basilico, N. Gatti, F. Amigoni

Problem Formulation: Environment

The environment is represented as a weighted directed graphG = (V,A,w,d)• V: vertexes are locations to

patrol• A: arcs are direct connections

between adjacent locations• w:A➛R: weights are temporal

costs to traverse an arc• d:V➛R: penetration times for

vertexes• time the intruder needs to

penetrate the vertex

• time interval between two successive visits of the patroller to the vertex

4

N. Basilico, N. Gatti, F. Amigoni

Problem Formulation: Agents

• The patroller agent moves between adjacent vertexes• Movement between v and v’ requires a time w(v,v’)

• The patroller agent senses the presence of the intruder only in its current vertex

• The intruder can appear at any vertex at any time• Once intruder appears at vertex v, it stays there for d(v) time

5

N. Basilico, N. Gatti, F. Amigoni

Problem Formulation: Solution

• Sequence of vertexes: S(1), S(2), …, S(s)• Time interval between visits to two vertexes S(j) and S(j’):

Σi=j, j+1…,j’-1 w(S(i),S(i+1))

• A solution is a sequence of vertexes such that:§ It is cyclical S(1) = S(s)§ Every vertex is visited at least one time§ When indefinitely repeating the sequence, the time interval

between two successive visits to a vertex v is not larger than d(v)

• If a solution is found, no intrusion can occur• A rational intruder will never attempt to enter• When an intruder attempts to enter, it is always detected by the

patroller• The length s of the solution is part of the problem

6

N. Basilico, N. Gatti, F. Amigoni

Related Works

• Visiting vertexes of graphs under temporal deadlines has been extensively studied • Deadline travel salesman problems

[Tsitsiklis, Networks 1992]

• Vehicle routing problems with time windows[Kolen et al., Operations Research 1987]

• Period routing problems[Christofides and Beasley, Networks 1984]

• …• However, our problem

• has relative deadlines (“two successive visits to a vertex v”) and• is a feasibility problem

7

N. Basilico, N. Gatti, F. Amigoni

The Proposed Solving Algorithm (1)

• Idea:formulate the problem of finding a solution as a Constraint Satisfaction Problem (CSP)

• Variables: S(j) (their number is a priori unknown!)• Domains: D(S(j)) = V (they will be restricted!)• Constraints:

1. Cycle: S(1) = S(s)

2. Every vertex is visited at least one time

3. When indefinitely repeating the sequence, the time interval between two successive visits to a vertex v is not larger than d(v)

• Solution of the CSP: assignment of values to variables such that all the constraints are satisfied

8

N. Basilico, N. Gatti, F. Amigoni

The Proposed Solving Algorithm (2)

• Our CSP is solved by a brute-force backtracking search

• Forward checking is used to reduce search complexity• Forward checking eliminates from the domains the values that are

not compatible with the current partial assignment

9

S(1)=v

S(1)=vS(2)=v’

S(1)=vS(2)=v’S(3)=?

S(1)=vS(2)=v’’

N. Basilico, N. Gatti, F. Amigoni

The Proposed Solving Algorithm: Example (1) 10

S(1)=01

S(1)=01S(2)=02

S(1)=01S(2)=02S(3)=03

D(S(2)) = {02,05} D(S(3)) = {01,03,05}

05 is eliminated because:w(01,05)+we(05,03)+we(03,01) > d(03)7+2+7 > 14

N. Basilico, N. Gatti, F. Amigoni

The Proposed Solving Algorithm: Example (2) 11

stopping criterion!

backtracking

N. Basilico, N. Gatti, F. Amigoni

Some Properties of the Proposed Solving Algorithm

• The algorithm is sound and complete• If a solution exists, it is independent of the first vertex S(1)• At least a solution (if one exists) has a temporal length not larger than

maxi V∊ {d(vi)}

• Definition of a new stopping criterion• With linear environments, if a solution exists, then the linear sequence

is a solution

• Computational complexity is hard to characterize

12

N. Basilico, N. Gatti, F. Amigoni

Experimental Results

• Randomly-generated graphs with n vertexes and m [n, (n-1)n] ∊ arcs• 500 runs for each value of n• Metrics:

• % of termination within 10 minutes• Computational time (for terminated runs)

13

N. Basilico, N. Gatti, F. Amigoni

Conclusions

Method for finding deterministic patrolling strategies for security agents • Method for finding a cyclic sequence of vertexes on a graph under

temporal constraints

Future works:• More sophisticated stopping criteria for blocking search earlier• Extending patroller’s sensing abilities beyond the current vertex• Extension to multiagent settings

14

N. Basilico, N. Gatti, F. Amigoni

Thank you! 15