pub struct Chromosome {
pub genes: Vec<(String, String)>,
pub fitness: f64,
pub evaluations: u32,
pub lineage: Lineage,
}Expand description
A chromosome representing a combination of evasion techniques.
Fields§
§genes: Vec<(String, String)>Named technique genes: (gene_name, gene_value).
fitness: f64Fitness score (0.0 = always blocked, 1.0 = always passes).
evaluations: u32Number of times this chromosome has been evaluated.
lineage: LineageFull lineage tree for replayability.
Implementations§
Source§impl Chromosome
impl Chromosome
Sourcepub fn new(genes: Vec<(String, String)>) -> Self
pub fn new(genes: Vec<(String, String)>) -> Self
Create a new chromosome with zero fitness and genesis lineage.
Sourcepub fn with_lineage(genes: Vec<(String, String)>, lineage: Lineage) -> Self
pub fn with_lineage(genes: Vec<(String, String)>, lineage: Lineage) -> Self
Create a new chromosome with explicit lineage.
Sourcepub fn record_verdict(&mut self, verdict: &OracleVerdict)
pub fn record_verdict(&mut self, verdict: &OracleVerdict)
Record an evaluation result using a rich oracle verdict.
Sourcepub fn active_gene_count(&self) -> usize
pub fn active_gene_count(&self) -> usize
Count genes that actively apply an evasion technique.
Trait Implementations§
Source§impl Clone for Chromosome
impl Clone for Chromosome
Source§fn clone(&self) -> Chromosome
fn clone(&self) -> Chromosome
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 Chromosome
impl Debug for Chromosome
Source§impl<'de> Deserialize<'de> for Chromosome
impl<'de> Deserialize<'de> for Chromosome
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl PartialEq for Chromosome
impl PartialEq for Chromosome
Source§fn eq(&self, other: &Chromosome) -> bool
fn eq(&self, other: &Chromosome) -> bool
Tests for
self and other values to be equal, and is used by ==.Source§impl Serialize for Chromosome
impl Serialize for Chromosome
impl StructuralPartialEq for Chromosome
Auto Trait Implementations§
impl Freeze for Chromosome
impl RefUnwindSafe for Chromosome
impl Send for Chromosome
impl Sync for Chromosome
impl Unpin for Chromosome
impl UnsafeUnpin for Chromosome
impl UnwindSafe for Chromosome
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