20
Distributed Multi-Agent Systems in Dynamic Networks with Scala KangChon Kim and Sophia Goreczky Advisor: Dr. Yu Zhang

Distributed Multi-Agent Systems in Dynamic Networks with Scala

  • Upload
    zudora

  • View
    37

  • Download
    2

Embed Size (px)

DESCRIPTION

Distributed Multi-Agent Systems in Dynamic Networks with Scala. KangChon Kim and Sophia Goreczky Advisor: Dr. Yu Zhang. Multi Agent Systems. Imagine a system of robots. Multi Agent Systems. Imagine a system of robots. Multi Agent Systems. Imagine a system of robots. Multi Agent Systems. - PowerPoint PPT Presentation

Citation preview

Page 1: Distributed Multi-Agent Systems in Dynamic Networks with  Scala

Distributed Multi-Agent Systems in Dynamic Networks with Scala

KangChon Kim and Sophia GoreczkyAdvisor: Dr. Yu Zhang

Page 2: Distributed Multi-Agent Systems in Dynamic Networks with  Scala

MU

LTI AGEN

T SYSTEMS Imagine a system of robots

Page 3: Distributed Multi-Agent Systems in Dynamic Networks with  Scala

MU

LTI AGEN

T SYSTEMS Imagine a system of robots

Page 4: Distributed Multi-Agent Systems in Dynamic Networks with  Scala

MU

LTI AGEN

T SYSTEMS Imagine a system of robots

Page 5: Distributed Multi-Agent Systems in Dynamic Networks with  Scala

MU

LTI AGEN

T SYSTEMS Imagine a system of robots

Page 6: Distributed Multi-Agent Systems in Dynamic Networks with  Scala

MU

LTI AGEN

T SYSTEMS Imagine a system of robots

Page 7: Distributed Multi-Agent Systems in Dynamic Networks with  Scala

Multi Agent System

s

1

2

“Build a model as realistic as possible for a specific scenario”

“Building an abstract model that captures the essence of human activities and can be used to model many different social networks of the same kind.”

Page 8: Distributed Multi-Agent Systems in Dynamic Networks with  Scala

Jason Leezer Highest Rewarding Neighborhood (HRN)

Selfish agents Reward-maximizing strategy All past interactions are equally

weighted Java

Page 9: Distributed Multi-Agent Systems in Dynamic Networks with  Scala

Wayne Wu Highest Weighted Reward (HWR)

Based on Leezer’s code Allows agents to use a discount factor to

devalue past interactions with neighbors

Not distributed No visual representation

C++

Page 10: Distributed Multi-Agent Systems in Dynamic Networks with  Scala

Wayne Wu Occurs every timestep. Pure coordination game (c, d)

Page 11: Distributed Multi-Agent Systems in Dynamic Networks with  Scala

Related Research Social NormKittock, J.E. “Emergent conventions and the structure of multi-agent systems.” Toivonen, Liitta, Lauri Kovanen, Mikko Kivela, Jukka-Pekka Onnela, Jari Saramaki, and Kimmo Kaski. “A comparative study of social network models: Network evolution models and nodal attribute models."

DistributionLogan, Brian, Georgios Theodoropoulos. The Distributed Simulation of Multi-Agent Systems. In Proceedings of the IEEE. Special Issue on Agent-Oriented Software Approaches in Distributed Modelling and Simulation, 2000.

Page 12: Distributed Multi-Agent Systems in Dynamic Networks with  Scala

Sorterval sorters=friendAgents.collect({case sd:SorterData => sd})val choices=Map() ++ (sorters.map(a=>(a.id,a.value)) ++

sorters.flatMap(_.friendValues)).filter(a=>(a._1!=id)) val sorted=choices.toList.sortWith((a,b) => (a._2-value).abs<(b._2-value).abs)

Page 13: Distributed Multi-Agent Systems in Dynamic Networks with  Scala

Scala Distributed computing Visual representation of algorithms (GUIs) Extensibility of simulation Efficient coding

Page 14: Distributed Multi-Agent Systems in Dynamic Networks with  Scala

Scala

def sort(xs: Array[Int]): Array[Int] = if (xs.length <= 1) xs else {

val pivot = xs(xs.length / 2) Array.concat(

sort(xs filter (pivot >)), xs filter (pivot ==), sort(xs filter (pivot <))) }

void sort(int[] xs) {sort(xs, 0, xs.length -1 ); } void sort(int[] xs, int l, int r) {int pivot = xs[(l+r)/2]; int a = l; int b = r; while (a <= b) while (xs[a] < pivot) { a = a + 1; } while (xs[b] > pivot) { b = b – 1; } if (a <= b) { swap(xs, a, b); a = a + 1; b = b – 1; } } if (l < b) sort(xs, l, b); if (b < r) sort(xs, a, r); } void swap(int[] arr, int i, int j) { int t = arr[i]; arr[i] = arr[j]; arr[j] = t; }

Page 15: Distributed Multi-Agent Systems in Dynamic Networks with  Scala

What we are doing Translating Wayne Wu’s code into Scala Distributing the system Expanding the strategy code

Page 16: Distributed Multi-Agent Systems in Dynamic Networks with  Scala
Page 17: Distributed Multi-Agent Systems in Dynamic Networks with  Scala

Translating to Scala

CaseSim modifiable classes

Page 18: Distributed Multi-Agent Systems in Dynamic Networks with  Scala

Wu’s 7 Experiments1. Two-Cluster Stable Clustering StateA smaller neighborhood size will give us two clusters within a population because the agents have less incoming influence due to fewer neighbors.2. One-Cluster Stable Clustering StateA larger neighborhood size will give agents more incoming input, making them more likely to cluster into one group.3. Pattern Possibilities with Various Network SizesHere we have more flexibility with the results because we will be able to run large enough simulations to see and analyze patterns.

Page 19: Distributed Multi-Agent Systems in Dynamic Networks with  Scala

Wu’s 7 Experiments4. Threshold and Broken Connection PeakA higher threshold correlates with a lower tolerance. We have no concrete model for tolerance but hopefully Kristen’s research will help us understand tolerance by the end of the summer.5. ScalabilitySmall networks converge faster than larger networks.6. Comparison with Static NetworksA dynamic network converges faster than a static network because changing neighbors is beneficial to an agent.7. ToleranceThe Fourth Experiment and the Seventh Experiment are very similar and have the same conclusion: A higher threshold gives a lower tolerance.

Page 20: Distributed Multi-Agent Systems in Dynamic Networks with  Scala

Extending the Strategy Code

Give agents personality characteristics Have qualities such as Mean, Nice,

Proud, Timid, etc. When anti-characteristics meet, they

are less likely to form a connection. Have personality arise from social behavior

Quantizing qualitative traits (ie. Someone who does not maintain relationships for very long might be labeled Mean or Unreliable).

Main concern: Not enough time to get to this point.