Q&A — Phase 26.1 ConceptGraph: Design Decisions & Usage #584
Unanswered
web3guru888
asked this question in
Q&A
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Frequently Asked Questions — ConceptGraph
Q1: Why combine semantic networks with prototype theory?
A: Classical semantic networks (Quillian 1967) represent concepts as nodes with labeled edges, giving us inheritance and relational reasoning. But they treat category membership as binary — something either IS_A bird or not. Rosch's prototype theory adds graded membership via the
typicalityfield. A robin (typicality=0.95) is a more typical bird than a penguin (typicality=0.3). This lets us model fuzzy boundaries without abandoning the graph structure.Q2: How does property inheritance handle conflicts in diamond hierarchies?
A: When a concept has multiple parents via IS_A (diamond inheritance), properties from all parents are collected via depth-first traversal. If the same property name appears with different values, the own (most specific) property always shadows inherited ones. For conflicts between equally-distant ancestors, we use topological ordering — the first parent in
parent_idstakes precedence.Q3: What is the computational complexity of spreading activation?
A: Worst-case O(V + E) where V is nodes and E is edges — essentially a BFS. In practice, the
thresholdparameter prunes most of the graph. Withdecay=0.8andthreshold=0.1, activation dies after ~10 hops (0.8^10 ≈ 0.107). The actual runtime is proportional to the activated subgraph, which is typically much smaller than the full graph.Q4: How does the similarity metric work when embeddings are missing?
A: The similarity function uses a weighted combination of three signals:
When embeddings are missing, the weight is redistributed proportionally: Wu-Palmer gets 0.57, Jaccard gets 0.43.
Q5: Can ConceptGraph handle cycles (e.g., A causes B, B causes A)?
A: Yes. IS_A relations are enforced to be acyclic (DAG) —
add_relationrejects cycles for IS_A edges. But other relation types (CAUSES, ENABLES, INHIBITS, SIMILAR_TO) allow cycles, representing feedback loops and mutual relationships. Spreading activation handles cycles by tracking visited nodes and only updating when the new activation exceeds the existing one.Q6: How does ConceptGraph integrate with WorldModel (13.1)?
A: WorldModel stores entities with properties and relations. ConceptGraph provides the type hierarchy — WorldModel entities are instances of ConceptGraph concepts. When WorldModel encounters a new entity type, it queries ConceptGraph for default properties via
propagate_properties(). When an entity's behavior deviates from its concept's expectations, SurpriseDetector (13.4) is triggered.Q7: What testing strategy validates graph correctness?
A: We test three layers:
decay^hop, similarity bounds [0,1], threshold pruning prevents over-activationIssue: #578 | Planning: #577
Beta Was this translation helpful? Give feedback.
All reactions