Files
copycat/README_slipnet.md

51 lines
1.8 KiB
Markdown

# 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
- `Slipnet` class: Main class that manages the conceptual network
- Network of `Slipnode` objects representing concepts
- Network of `Sliplink` objects 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 `slipnode` and `sliplink` modules
- Used by the main `copycat` module
## 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