# Tuning Guidelines

*Authors: BlockScience and SDF, July 2023*

Neural Governance provides several ways to tune the system. From the implementation of new Neurons, re-weighting individual Neurons, adapting layer aggregators up to re-ordering of Neurons into layers. On this page, we provide typical tuning stories and how to act on them.

* Tuning Story 1: When to create new neurons?
  * The existing Neuron implementations provide examples of the possible design space. However, any community might decide that a certain indicator is relevant to the assignment of voting power in their respective use. As an example, a community might face a funding decision where community contributions are matched by a fund. If this case allows for more sustainable outcomes if high contributions cannot severely outweigh smaller contributions by larger portions of the community. To represent this, the community might not only tune existing Neurons, but instead decide to implement a Quadratic Funcing (QF) Neuron, which results in higher weighting of smaller individual contributions.&#x20;
* Tuning Story 2: When to change weights?
  * After implementing the QF Neuron and assessing the resulting effects, the community decides that QF overall has desirable effects, but that the measured increase in sybil attacks has an outsized effect on overall results. NG allows the community to scale down the weighs of QF, preserving desired effects of the Neuron while bounding the overall impact on the results.
* Tuning Story 3: When to change aggregators? eg. sum vs product vs median
  * The choice of appropriate aggregators is important to preserve intended interactions between Neurons. Arbitrary aggregation can be implemented, but three primary aggregators and their basic effects can be seen below:
    * Sum: Summing the respective voting power of Neurons per layer allows effects to accumulate independently. This allows for a high output of one Neuron to compensate for lower outputs of the others. Summing can also include punitive effects, such as Neurons applying negative effects to the overall voting power. Taking the sum can be intuitive when Neurons are of equal importance, but might be influenced strongly by disproportionate weighting or output ranges.&#x20;
    * Product: Taking the product of Neurons outputs allows voting power to compound on top of itself. Using the product for aggregation assumes that a balanced performance over all Neurons is preferable for consistent outcomes, as outliers can significantly impact the resulting voting power if unbounded.&#x20;
    * Median: If the voting power should be based on well-balanced performance over all Neurons, using the median as aggregator helps to scale the effect of outliers. This might be helpful when one of the Neurons tends to result in a high number of outliers, which are deemed non-representative of the intent of the Neuron.&#x20;
* Tuning Story 4: When to change the order of layering?&#x20;
  * As each layer takes as input the aggregated ouput from the past layer, ordering of layers becomes an important decision whenever the number of layers increases. In our PoC implementation, the two layers (1. QD, 2. Past Voting + Reputation + Trust) have limited effects through ordering, as QD does not increase voting power. However, one might design a NG system where several layers are structured logically, such as 1. QD, 2. Reputation Neurons (sum aggregator), 3. Past Voting Neurons (product aggregator), etc. In such a setup, the ordering needs to be agreed on to properly reflect the intended interaction effects of layers and aggregators.&#x20;
* Tuning Story 5: When to change the decision rule?
  * For the PoC implementation, the total aggregate voting power must be higher than 0 (or lower than 0 for "No"), while at least 2 votes must have been cast, for a final decision of "Yes" to be cast. Any community implementing their own version must adapt these values to reflect representative choice rules. \
    Changing the total aggregate voting power allows to set thresholds for a final decision. As an example, one might require the final tally to be "clearer" directionally, by setting a higher threshold after which a decision is rendered as "Yes", rather than allowing any tight outcome to be decisive. Additionally, some decisions might have high implications if successfull, setting a high threshold for "Yes" while assessing anything below as "No". Further, the same decision might require a repeat of the vote if the community is split, allowing a community to implement a decision rule of: result < -x =  "No", x < result = "Yes", -x < result < y = "Repeat".\
    Additionally, the minimum amount of votes that must have been cast for an effective result can be tweaked to more accurately represent the decision faced. Lowering this number increases the risk of voter apathy leading to decisions made by very few users, while raising it increases the risk of decisions not being formed due to insufficient votes.  &#x20;
