Hierarchical Feedbacks Simulator

Encadrants : 

Ada Diaconescu, C217-3, Louisa Jane Di Felice, University of Barcelona, Patricia Mellodge, Hardford University

Occurrences : 


Nombre d'étudiants minimum: 


Nombre d'étudiants maximum: 


Nombre d'instances : 



Overview and Objectives

This project aims to develop a simulator for multi-level feedback systems. It is supervised by researchers from several disciplines and universities and part of a larger research project [reference 1].

The simulated system consists of a set of interconnected agents, which belong to different `levels’ [figure 1]. Each agent at a higher-level (L_n+1) collects information from a subset of agents at a lower level (L_n) – bottom-up monitoring; and returns a control command to them – top-down feedback.

The simulator will allow running various experiments (highly configurable) and evaluating the results (data statistics, graphs). The purpose is to establish correlations between the hierarchical system’s topology and the resulting qualitative properties. Namely, experimental results should reveal any links between:

  • System topology: the number of agents and of hierarchical levels; the agents’ degree of specialisation, or number of task choices;
  • The system’s qualitative behaviour: speed of convergence (number of iterations between a change and a new stable state); accuracy with respect to given goals; resilience with respect to input fluctuations and internal failures.

Illustrative Example

Given a hierarchical system of height N, where each agent at the lowest level (L_0) can perform a number of tasks M, from a set of tasks K={k_i|i=1..Z, Z>=1}; 0<=M<=Z. The system is given as input (G) the overall number of agents that must perform each task in T. The base agents (at L_0) must select the task they will execute. Higher level agents (L_1) collect task choices, compare the sum to the targeted amount and provide feedback to the base agents (at L_0), which update their task choices accordingly. In the same way, this process (choice collection and control feedback) can go up and down through the entire hierarchy.

Questions: how does the number of task choices (M) of base entities impact system convergence, when goal changes occur? How does this correlation vary with different number of levels (N), number of tasks (M) and frequency of changes (G)?

System Model

The system consists of a set of agents, or processes – s_n,i, with n the hierarchical level (L_n), n=1..N; and i the agent index within that level, i=1..|L_n|.

At each iteration t, each entity s_n,i :

  1. Collects and aggregate information from lower entities: f_a(info-up_n-1,X) – unless at L_0
  2. Performs a task Task_t (from a predefined set); this task may be different at L_0 than at higher levels;
  3. Communicates with higher entities: info-up_n,i  s_n+1,j – unless at L_N
  4. Communicates with lower entities s_n-1,k - unless at L_0
  5. Adapts its task depending on feedback (f_c) received from higher entities; this adaptation will take effect at the next iteration (Task_t+1) - unless at L_N

Configuration parameters

The following simulator parameters can be configured:

  • |L_0|: the number of entities at L_0
  • |S_X|: the scope cardinality – the number of lower entities mapped to each higher entity; initially, this will be the same for all entities.
  • N: the number of hierarchical levels

NOTE: the three configuration parameters above are interdependent – specifying two of them determines the third.

  • Err_|L_0|: the error that each entity at L_0 has in its estimate of |L_0|
  • |K|: cardinality of K (number of possible tasks)
  • M: the number of actions that an entity (s_0,i) can select from K
  • p_a: The probability that an entity s_0,i selects action k-i from K, given the recommendation f_c from a higher entity (in terms of the number of entities at L_0 that should select action k_i).
  • ...

Initially, there will be no multiple membership or cross references. Later versions will allow specifying the exact topology of the hierarchy, as a directed acyclic graph.


The simulator should be developed in NetLogo (https://ccl.northwestern.edu/netlogo/) or in Java.


The team should be ready to work semi-autonomously, as the main supervisor will be away for one week (in the middle of the period allocated to project development). Skype calls and emails will be available during this period, with all supervisors.


[1] Ada Diaconescu, Louisa Jane Di Felice, Patricia Mellodge, “Multi-scale Feedbacks for Large-scale Coordination in Self-* Systems”, IEEE SASO 2019, Umea Sweden, 16-20 June 2019.

(available upon request)