pub struct ConsensusSection {
pub self_weight: f64,
pub susceptibility: f64,
pub tolerance: f64,
pub max_iterations: usize,
pub susceptibility_of: BTreeMap<String, f64>,
pub trust: BTreeMap<String, BTreeMap<String, f64>>,
}Expand description
Who listens to whom, and how hard the consensus iteration tries. Rows are
normalised by crate::consensus; an agent with no row keeps
self_weight and splits the rest equally.
[consensus]
self_weight = 0.5
susceptibility = 0.8
[consensus.trust]
reviewer = { maintainer = 3.0, worker = 1.0 }
worker = { maintainer = 1.0 }
[consensus.susceptibility_of]
maintainer = 0.2Fields§
§self_weight: f64Weight an agent puts on its own opinion when its row does not name it.
susceptibility: f64How far an agent moves off the ballot it cast, in [0, 1]: one is
DeGroot (the default), below one is Friedkin-Johnsen.
tolerance: f64Largest disagreement that still counts as settled.
max_iterations: usizeRounds to try before calling the trust graph periodic.
susceptibility_of: BTreeMap<String, f64>Susceptibility for one named agent; others use Self::susceptibility.
trust: BTreeMap<String, BTreeMap<String, f64>>Trust rows, keyed by the identity that holds the opinion.
Trait Implementations§
Source§impl Clone for ConsensusSection
impl Clone for ConsensusSection
Source§fn clone(&self) -> ConsensusSection
fn clone(&self) -> ConsensusSection
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for ConsensusSection
impl Debug for ConsensusSection
Source§impl Default for ConsensusSection
impl Default for ConsensusSection
Source§impl PartialEq for ConsensusSection
impl PartialEq for ConsensusSection
impl StructuralPartialEq for ConsensusSection
Auto Trait Implementations§
impl Freeze for ConsensusSection
impl RefUnwindSafe for ConsensusSection
impl Send for ConsensusSection
impl Sync for ConsensusSection
impl Unpin for ConsensusSection
impl UnsafeUnpin for ConsensusSection
impl UnwindSafe for ConsensusSection
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more