1 / 20

Distributed Multi-Agent Systems in Dynamic Networks with Scala

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.

zudora
Download Presentation

Distributed Multi-Agent Systems in Dynamic Networks with Scala

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. Multi Agent Systems Imagine a system of robots

  3. Multi Agent Systems Imagine a system of robots

  4. Multi Agent Systems Imagine a system of robots

  5. Multi Agent Systems Imagine a system of robots

  6. Multi Agent Systems Imagine a system of robots

  7. Multi Agent Systems 1 • “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.” 2

  8. Jason Leezer • Highest Rewarding Neighborhood (HRN) • Selfish agents • Reward-maximizing strategy • All past interactions are equally weighted • Java

  9. 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++

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

  11. Related Research • Social Norm • Kittock, J.E. “Emergent conventions and the structure of multi-agent systems.” • Toivonen, Liitta, LauriKovanen, MikkoKivela, Jukka-PekkaOnnela, JariSaramaki, and KimmoKaski. “A comparative study of social network models: Network evolution models and nodal attribute models." • Distribution • Logan, Brian, GeorgiosTheodoropoulos. 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.

  12. Sorter val 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)

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

  14. Scala 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, inti, int j) { int t = arr[i]; arr[i] = arr[j]; arr[j] = t; } 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 <))) }

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

  16. Translating to Scala CaseSim modifiable classes

  17. Wu’s 7 Experiments 1. Two-Cluster Stable Clustering State A 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 State A larger neighborhood size will give agents more incoming input, making them more likely to cluster into one group. 3. Pattern Possibilities with Various Network Sizes Here we have more flexibility with the results because we will be able to run large enough simulations to see and analyze patterns.

  18. Wu’s 7 Experiments 4. Threshold and Broken Connection Peak A 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. Scalability Small networks converge faster than larger networks. 6. Comparison with Static Networks A dynamic network converges faster than a static network because changing neighbors is beneficial to an agent. 7. Tolerance The Fourth Experiment and the Seventh Experiment are very similar and have the same conclusion: A higher threshold gives a lower tolerance.

  19. 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.

More Related