1.8 KiB
1.8 KiB
README_slipnet.md
Overview
slipnet.py implements the Slipnet, a key component of the Copycat system that represents the conceptual network of relationships between different concepts. It manages a network of nodes (concepts) and links (relationships) that are used in analogical reasoning.
Core Components
Slipnetclass: Main class that manages the conceptual network- Network of
Slipnodeobjects representing concepts - Network of
Sliplinkobjects representing relationships
Key Features
- Manages a network of conceptual nodes and their relationships
- Handles activation spreading between nodes
- Supports both slip and non-slip links
- Implements various types of relationships:
- Letter categories
- String positions
- Alphabetic positions
- Directions
- Bond types
- Group types
- Other relations
Node Types
- Letters (a-z)
- Numbers (1-5)
- String positions (leftmost, rightmost, middle, single, whole)
- Alphabetic positions (first, last)
- Directions (left, right)
- Bond types (predecessor, successor, sameness)
- Group types (predecessorGroup, successorGroup, samenessGroup)
- Categories (letterCategory, stringPositionCategory, etc.)
Link Types
- Slip links (lateral connections)
- Non-slip links (fixed connections)
- Category links (hierarchical connections)
- Instance links (specific examples)
- Property links (attributes)
- Opposite links (antonyms)
Dependencies
- Requires
slipnodeandsliplinkmodules - Used by the main
copycatmodule
Notes
- The network is initialized with predefined nodes and links
- Activation spreads through the network during reasoning
- Some nodes are initially clamped to high activation
- The network supports both hierarchical and lateral relationships
- The system uses conceptual depth to determine link strengths