pub struct MurmurationDecider {
pub separation_weight: f64,
}Expand description
MurmurationDecider: Swarm behavior for parallel agents
Implements three rules:
- Separation: Don’t work on the same file as other agents
- Alignment: Coordinate with nearby agents
- Cohesion: Move towards the overall goal
Fields§
§separation_weight: f64Weight for separation behavior (0.0 - 1.0)
Implementations§
Source§impl MurmurationDecider
impl MurmurationDecider
Sourcepub fn with_separation(separation_weight: f64) -> Self
pub fn with_separation(separation_weight: f64) -> Self
Create with custom separation weight
Trait Implementations§
Source§impl Clone for MurmurationDecider
impl Clone for MurmurationDecider
Source§fn clone(&self) -> MurmurationDecider
fn clone(&self) -> MurmurationDecider
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 MurmurationDecider
impl Debug for MurmurationDecider
Source§impl Decider for MurmurationDecider
impl Decider for MurmurationDecider
Source§fn decide(&self, context: &DecisionContext, state: &AgentState) -> Action
fn decide(&self, context: &DecisionContext, state: &AgentState) -> Action
Decide the next action based on context and state
Auto Trait Implementations§
impl Freeze for MurmurationDecider
impl RefUnwindSafe for MurmurationDecider
impl Send for MurmurationDecider
impl Sync for MurmurationDecider
impl Unpin for MurmurationDecider
impl UnsafeUnpin for MurmurationDecider
impl UnwindSafe for MurmurationDecider
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> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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