pub struct ValueSimilarity { /* private fields */ }Expand description
Value similarity kernel.
Compares probability distributions using statistical distance metrics:
- Jensen-Shannon Divergence (JSD)
- Wasserstein Distance (Earth Mover’s)
Implementations§
Source§impl ValueSimilarity
impl ValueSimilarity
Sourcepub fn jensen_shannon_divergence(p: &[f64], q: &[f64]) -> f64
pub fn jensen_shannon_divergence(p: &[f64], q: &[f64]) -> f64
Compute Jensen-Shannon Divergence between two distributions.
JSD(P||Q) = 0.5 * KL(P||M) + 0.5 * KL(Q||M) where M = 0.5 * (P + Q)
Sourcepub fn jsd_similarity(p: &[f64], q: &[f64]) -> f64
pub fn jsd_similarity(p: &[f64], q: &[f64]) -> f64
Compute similarity from JSD (normalized to [0, 1]).
Sourcepub fn wasserstein_distance(p: &[f64], q: &[f64]) -> f64
pub fn wasserstein_distance(p: &[f64], q: &[f64]) -> f64
Compute Wasserstein-1 distance (Earth Mover’s Distance) for 1D distributions.
For 1D sorted bins: W1(P,Q) = Σ|CDF_P[i] - CDF_Q[i]|
Sourcepub fn wasserstein_similarity(p: &[f64], q: &[f64]) -> f64
pub fn wasserstein_similarity(p: &[f64], q: &[f64]) -> f64
Compute similarity from Wasserstein distance.
Sourcepub fn compute_all_pairs_jsd(
distributions: &ValueDistribution,
min_similarity: f64,
max_pairs: usize,
) -> Vec<ValueSimilarityResult>
pub fn compute_all_pairs_jsd( distributions: &ValueDistribution, min_similarity: f64, max_pairs: usize, ) -> Vec<ValueSimilarityResult>
Compute pairwise similarities using JSD.
Sourcepub fn compute_all_pairs_wasserstein(
distributions: &ValueDistribution,
min_similarity: f64,
max_pairs: usize,
) -> Vec<ValueSimilarityResult>
pub fn compute_all_pairs_wasserstein( distributions: &ValueDistribution, min_similarity: f64, max_pairs: usize, ) -> Vec<ValueSimilarityResult>
Compute pairwise similarities using Wasserstein distance.
Sourcepub fn find_similar_nodes(
distributions: &ValueDistribution,
target_node: usize,
min_similarity: f64,
top_k: usize,
) -> Vec<ValueSimilarityResult>
pub fn find_similar_nodes( distributions: &ValueDistribution, target_node: usize, min_similarity: f64, top_k: usize, ) -> Vec<ValueSimilarityResult>
Find nodes with similar value distributions.
Trait Implementations§
Source§impl Clone for ValueSimilarity
impl Clone for ValueSimilarity
Source§fn clone(&self) -> ValueSimilarity
fn clone(&self) -> ValueSimilarity
Returns a duplicate of the value. Read more
1.0.0 · 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 ValueSimilarity
impl Debug for ValueSimilarity
Source§impl Default for ValueSimilarity
impl Default for ValueSimilarity
Source§impl GpuKernel for ValueSimilarity
impl GpuKernel for ValueSimilarity
Source§fn metadata(&self) -> &KernelMetadata
fn metadata(&self) -> &KernelMetadata
Returns the kernel metadata.
Source§fn requires_gpu_native(&self) -> bool
fn requires_gpu_native(&self) -> bool
Returns true if this kernel requires GPU-native execution.
Source§fn health_check(&self) -> HealthStatus
fn health_check(&self) -> HealthStatus
Perform a health check on this kernel. Read more
Source§fn refresh_config(&mut self, _config: &KernelConfig) -> Result<(), KernelError>
fn refresh_config(&mut self, _config: &KernelConfig) -> Result<(), KernelError>
Refresh kernel configuration at runtime. Read more
Auto Trait Implementations§
impl Freeze for ValueSimilarity
impl RefUnwindSafe for ValueSimilarity
impl Send for ValueSimilarity
impl Sync for ValueSimilarity
impl Unpin for ValueSimilarity
impl UnwindSafe for ValueSimilarity
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
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<F, W, T, D> Deserialize<With<T, W>, D> for F
impl<F, W, T, D> Deserialize<With<T, W>, D> for F
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> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Gets the layout of the type.