2.0 KiB
2.0 KiB
README_group.md
Overview
group.py implements the Group system, a key component of the Copycat system that manages the grouping of objects in strings. It handles the creation, evaluation, and management of groups that represent meaningful collections of objects based on their properties and relationships.
Core Components
Groupclass: Main class that represents a group of objects- Group evaluation system
- Group description management
Key Features
- Manages groups of objects in strings
- Evaluates group strength based on multiple factors
- Handles group descriptions and bond descriptions
- Supports group flipping and versioning
- Manages group compatibility and support
Group Components
groupCategory: Category of the groupdirectionCategory: Direction of the groupfacet: Aspect of the groupobjectList: List of objects in the groupbondList: List of bonds in the groupdescriptions: List of group descriptionsbondDescriptions: List of bond descriptions
Main Methods
updateInternalStrength(): Calculate internal group strengthupdateExternalStrength(): Calculate external group strengthbuildGroup(): Create and establish groupbreakGroup(): Remove grouplocalSupport(): Calculate local supportnumberOfLocalSupportingGroups(): Count supporting groupssameGroup(): Compare groups for equality
Group Types
- Single letter groups
- Multi-letter groups
- Direction-based groups
- Category-based groups
- Length-based groups
Dependencies
- Requires
description,workspaceObject, andformulasmodules - Used by the main
copycatmodule
Notes
- Groups are evaluated based on bond association and length
- The system supports both single and multi-object groups
- Groups can have multiple descriptions and bond descriptions
- The system handles group compatibility and support
- Groups can be flipped to create alternative versions
- Length descriptions are probabilistically added based on temperature