pulsatrix
Loading...
Searching...
No Matches
pulsatrix::datalog::NeuralPredicateRelevanceResult Struct Reference

The result of one NeuralPredicateDatalogBridge::propagate_relevance() call – Phase 3 Mission 3's own deliverable (LRP for the Datalog/provenance-semiring circuit), extended end-to-end through the neural predicate's own Module chain. More...

#include <neuro_symbolic_datalog_bridge.hpp>

Collaboration diagram for pulsatrix::datalog::NeuralPredicateRelevanceResult:

Public Attributes

RelevanceMap base_fact_relevance
 Relevance at every extensional/base fact in the diamond program, per RelevanceResult::base_facts (datalog_lrp.hpp) – includes edge(a,b)'s own "Datalog-level" relevance (i.e. relevance w.r.t. the neural predicate's sigmoid output s) before it is further propagated into the predicate's own Module chain below.
 
Tensor relevance_wrt_x
 edge(a,b)'s relevance, continued through the predicate's own sigmoid (pass-through) and LinearModule::propagate_relevance(), shape (1, 1) – relevance at the predicate's raw input x.
 

Detailed Description

The result of one NeuralPredicateDatalogBridge::propagate_relevance() call – Phase 3 Mission 3's own deliverable (LRP for the Datalog/provenance-semiring circuit), extended end-to-end through the neural predicate's own Module chain.

Note
Relevance-termination decision (Stage 3 design question 2, Mission 3): relevance does NOT stop at edge(a,b) (the neural-predicate-weighted base fact) – it continues into the predicate's own LinearModule+sigmoid chain via composition, reusing Phase 1's existing propagate_relevance methods (no new rule): datalog_lrp's own propagate_relevance_weighted treats edge(a,b) as an ordinary leaf and reports its relevance in base_fact_relevance exactly like every constant base fact; this class then takes that one value, passes it through sigmoid unchanged (pass-through, per Phase 2 Mission 0's own Sigmoid Design Decision precedent – a monotonic bijective single-input nonlinearity does not get its own gradient-shaped rule), and feeds it into the predicate's real, unmodified LinearModule::propagate_relevance() to get relevance_wrt_x – a genuine end-to-end trace from a Datalog query back to the neural predicate's raw input, composed from two already-proven-correct rules rather than a new one invented for this seam.

Member Data Documentation

◆ base_fact_relevance

RelevanceMap pulsatrix::datalog::NeuralPredicateRelevanceResult::base_fact_relevance

Relevance at every extensional/base fact in the diamond program, per RelevanceResult::base_facts (datalog_lrp.hpp) – includes edge(a,b)'s own "Datalog-level" relevance (i.e. relevance w.r.t. the neural predicate's sigmoid output s) before it is further propagated into the predicate's own Module chain below.

◆ relevance_wrt_x

Tensor pulsatrix::datalog::NeuralPredicateRelevanceResult::relevance_wrt_x

edge(a,b)'s relevance, continued through the predicate's own sigmoid (pass-through) and LinearModule::propagate_relevance(), shape (1, 1) – relevance at the predicate's raw input x.


The documentation for this struct was generated from the following file: