Formalization of Emergence in Multi ‐ agent Systems Ba Linh Luong 1 ,Yong Meng Teo 1 , Claudia Szabo 2 1 National University of Singapore 2 University of Adelaide 21 May 2013 ACM SIGSIM Conference on Principles of Advanced Discrete Simulation (PADS) Montreal, Canada
Outline • Motivation • Objective • Related work • Grammar ‐ based Approach – Formalization – Emergent Property States – Example: Boids Model • Evaluation • Summary 21 May 2013 PADS 2013, Montreal, Canada, 19 ‐ 22 May 2
Motivation • Emergence : system properties that cannot be derived from the properties of the individual entities – Desirable or undesirable • Challenges – Advance understanding of emergence – Lack of consensus on emergence • Propose Formalization – Set of emergent property states – Reason about cause ‐ and ‐ effect of emergence 21 May 2013 PADS 2013, Montreal, Canada, 19 ‐ 22 May 3
Objective A formal approach for determining the set of emergent property states in a given system. 21 May 2013 PADS 2013, Montreal, Canada, 19 ‐ 22 May 4
Emergence Perspectives Perspective How Philosophy Surprise ‐ Limitations of Observer with correct scale [6, 30] our knowledge Natural & Social Science Observer ‐ independent Self ‐ organization, hierarchy [2, 11, 16] Derived from entity Computer Science interactions (weak Simulation [6, 8, 22] emergence) 21 May 2013 PADS 2013, Montreal, Canada, 19 ‐ 22 May 5
Types of Emergence Emergence DC: downward causation Positive or Positive and No DC Complex Negative DC Negative DC DC Simple Single Weak Multiple Weak Strong Emergence Emergence Emergence Emergence Natural & Social Philosophy Computer Science Science 21 May 2013 PADS 2013, Montreal, Canada, 19 ‐ 22 May 6
Emergence Formalization Approach Prior Knowledge Analysis Variable ‐ based required post ‐ mortem [15, 26, 35] Event ‐ based required post ‐ mortem [10] Grammar ‐ based not required on ‐ the ‐ fly [22] 21 May 2013 PADS 2013, Montreal, Canada, 19 ‐ 22 May 7
Outline • Motivation • Objective • Related work • Grammar ‐ based Approach – Formalization – Emergent Property States – Example: Boids Model • Evaluation • Summary 21 May 2013 PADS 2013, Montreal, Canada, 19 ‐ 22 May 8
Grammar ‐ based Approach • Kubik’s approach : “The whole is greater than the sum of its parts.” • Main idea: determine the set of system states that are in the whole but not in the sum ( � ) � ����� ��� – L ����� : set of all system states obtained by simulation – L ��� : set of all permutations of states of individual parts 21 May 2013 PADS 2013, Montreal, Canada, 19 ‐ 22 May 9
Limitations • Suffers from state ‐ space explosion ( ����� , ��� ) [ next slide ] • Cannot model agent types [ introduce agent type, A ij type i (1 ≤ i ≤ m) ] • No support for mobile agents [ define mobility as attributes of agents: P i = P i_mobile U P i_others ] • Closed systems with fixed number of agents [ agents can enter and leave system ] 21 May 2013 PADS 2013, Montreal, Canada, 19 ‐ 22 May 10
Proposed Approach – Reduce State Space L � � �� �� � L ��� L ��� L ����� L ����� � �� L ����� � L ����� ∪ L ����� I: interest NI: not interest � �� L ��� � L ��� ∪ L ��� P: possible NP: not possible � � L � � L ����� \ L ��� 21 May 2013 PADS 2013, Montreal, Canada, 19 ‐ 22 May 11
Proposed Formalization A system consisting of m agent types and n agents A 11 , ..., �� � (n = n 1 + … + n m , n i agents of type i) interacting in an environment (2D grid) consisting of c cells is defined as GBS = (V A , V E , A 11 , ..., �� � , S(0)) – A ij : agent type i (1 ≤ i ≤ m) of instance j (1 ≤ j ≤ n i ) � – � � � ⋃ V � � : set of possible agent states for all agent ��� types, and � � � denotes the set of possible states for agents of type i – V E : set of possible cell states – V = V A U V E V c+n : system state at time t – S(t) 21 May 2013 PADS 2013, Montreal, Canada, 19 ‐ 22 May 12
Environment • Cell (e) – V e :set of possible states of cell e – s e (t) V e : state at time t • Environment (E) � – V E = ⋃ V e ��� – S E (t) ∈ V E c : state at time t 21 May 2013 PADS 2013, Montreal, Canada, 19 ‐ 22 May 13
Agent • Agent A ij (1 ≤ i ≤ m, 1 ≤ j ≤ n), is defined as: A ij = ( � , R i , s ij (0)) – P i : set of attributes for agents of type i P i = P i_mobile U P i_others P i_mobile = {x|x is an attribute that models mobility} – R i :set of behavior rules for agents of type i R i = R i_mobile U R i_others R i : V � � → V � � // V � � : set of possible states for agents of type i – s ij (t) ∈ V � � : state of A ij at time t 21 May 2013 PADS 2013, Montreal, Canada, 19 ‐ 22 May 14
Emergent Property States • Set of emergent property states � � � ��� ����� • Set of system states with agent coordination (GROUP) � V c+n |S(0) * = {w GROUP w} ����� • Sum of states of individual agents ��� = superimpose( (A 11 ),..., ( �� � )) � constraints ��� ��� 21 May 2013 PADS 2013, Montreal, Canada, 19 ‐ 22 May 15
Example • Boids model [Reynolds87] – Separation (collision avoidance) – Alignment – Cohesion • Two types of birds, five ducks and five geese, moving on a 8 x 8 grid • Maximum speed: ducks (2 cells/step), geese (3 cells/step) • Birds re ‐ enter the system when they pass the grid edges 21 May 2013 PADS 2013, Montreal, Canada, 19 ‐ 22 May 16
Vector Representation of Velocity Speed Direction north 0 1 2 North (0,0) (0,1) (0,2) North ‐ east (0,0) (1,1) (1,2), (2,1), (2,2) East (0,0) (1,0) (2,0) west east (1,1) South ‐ east (0,0) (1, ‐ 1) (1, ‐ 2), (2, ‐ 1), (2, ‐ 2) South (0,0) (0, ‐ 1) (0, ‐ 2) South ‐ west (0,0) ( ‐ 1, ‐ 1) ( ‐ 1, ‐ 2), ( ‐ 2, ‐ 1), ( ‐ 2, ‐ 2) south West (0,0) ( ‐ 1,0) ( ‐ 2,0) North ‐ west (0,0) ( ‐ 1,1) ( ‐ 1,2), ( ‐ 2,1), ( ‐ 2,2) 21 May 2013 PADS 2013, Montreal, Canada, 19 ‐ 22 May 17
Agents – Ducks • Duck instance A 1j (1 ≤ j ≤ 5) is defined as A 1j = ( � , R 1 , s 1j (0)) – P 1 = P 1_mobile U P 1_others P 1_mobile = {position(g 1j ), velocity(v 1j )}, P 1_others = ∅ – � � � = {(x,y)|1 ≤ x ≤ 8; 1 ≤ y ≤ 8} x {( α , β )| ‐ 2 ≤ α ≤ 2; ‐ 2 ≤ β ≤ 2} – R 1 = R 1_mobile U R 1_others R 1_mobile , R 1_others = ∅ s 1j (t) ∈ V � � – 21 May 2013 PADS 2013, Montreal, Canada, 19 ‐ 22 May 18
Behavior Rules for Ducks – R 1_mobile • For duck instance A 1j (1 ≤ j ≤ 5) at time t with position g 1j (t) and velocity v 1j (t): – Update position: g 1j (t +1) = g 1j (t) + v 1j (t +1) – Update velocity: v 1j (t +1) = v 1j (t) + separation(A 1j ) + alignment(A 1j ) + cohesion(A 1j ) Similarly for Geese! 21 May 2013 PADS 2013, Montreal, Canada, 19 ‐ 22 May 19
� ����� t = 0 t = 1 t = 2 S(12) = S(4), hence � L ����� = {S(0), S(1), S(2), S(3), S(4), …, S(11)} t = 3 t = 4 t = 5 21 May 2013 PADS 2013, Montreal, Canada, 19 ‐ 22 May 20
Emergent Property States � • ��� = {S(1), S(2), S(3), S(4), …, S(11)} � ����� • Flocking ‐ at least 4 birds of the same type fly together – Together ‐ each bird has at least one immediate neighbor of the same type 1. known emergent states: S(2), S(3), S(4), …, S(11) 2. unknown emergent state: S(1) 21 May 2013 PADS 2013, Montreal, Canada, 19 ‐ 22 May 21
Experimental Results • Java simulator • Equal numbers of ducks and geese � � number of states number of birds � � � ����� � � � ��� � ����� 4 13 767 6 0.46 6 18 70,118 12 0.67 8 13 509,103 9 0.69 10 26 13,314,006 23 0.88 21 May 2013 PADS 2013, Montreal, Canada, 19 ‐ 22 May 22
Summary • Grammar ‐ based set ‐ theoretic approach – Reduce state space – Without a priori knowledge of emergence – Agents of different types, mobile agents, and open systems • Example of boids model • Open issues: reduce state space, reasoning of emergent property states 21 May 2013 PADS 2013, Montreal, Canada, 19 ‐ 22 May 23
Q & A Thank You! [teoym,luongbal]@comp.nus.edu.sg claudia.szabo@adelaide.edu.au Y. M. Teo, B. L. Luong, C. Szabo, Formalization of Emergence in Multi ‐ agent Systems , ACM SIGSIM Conference on Principles of Advanced Discrete Simulation, Montreal, Canada, May 19 ‐ 22, 2013. 21 May 2013 PADS 2013, Montreal, Canada, 19 ‐ 22 May 24
Separation Rule • Goal: avoid collision with nearby birds • How: if duck b is close to another bird a , i.e. within ε cells, then b flies away from a separtion(b) � � �. �������� � �. �������� �������� �,� ≤ ε separation(boid b) vector c = 0; for each boid a if |a.position ‐ b.position| ≤ ε then c = c ‐ (a.position ‐ b.position) return c 21 May 2013 PADS 2013, Montreal, Canada, 19 ‐ 22 May 25
Recommend
More recommend