https://github.com/activeinferenceinstitute/cerebrum
CEREBRUM: Case-Enabled Reasoning Engine with Bayesian Representations for Unified Modeling
Science Score: 49.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 11 DOI reference(s) in README -
✓Academic publication links
Links to: zenodo.org -
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (15.3%) to scientific vocabulary
Repository
CEREBRUM: Case-Enabled Reasoning Engine with Bayesian Representations for Unified Modeling
Basic Info
- Host: GitHub
- Owner: ActiveInferenceInstitute
- Language: Python
- Default Branch: main
- Size: 155 MB
Statistics
- Stars: 7
- Watchers: 3
- Forks: 2
- Open Issues: 0
- Releases: 6
Metadata Files
README.md
CEREBRUM
CEREBRUM: Case-Enabled Reasoning Engine with Bayesian Representations for Unified Modeling
Repository
GitHub Repository: https://github.com/ActiveInferenceInstitute/CEREBRUM
Publication Information
- Author: Daniel Ari Friedman
- Version: 1.4
- Date: April 16, 2025
- DOI: 10.5281/zenodo.15170907
- Zenodo Record: https://zenodo.org/records/15231156
- Institution: Active Inference Institute
Overview
CEREBRUM is a unified modeling framework that integrates case-based reasoning with Bayesian representations. It provides a comprehensive suite of tools for developing, testing, and deploying cognitive models that combine the strengths of case-based reasoning with probabilistic inference.
Key features include: - Integration of symbolic case structures with Bayesian probabilistic representations - Flexible transformation engine for model adaptation and learning - Multiple language implementations with consistent APIs - Visualization tools for model inspection and analysis - Extensive example library demonstrating applications across domains
Project Architecture
Repository Structure
The CEREBRUM repository is organized into the following structure:
| Directory/File | Description |
|----------------|-------------|
| /src | Source code for the CEREBRUM framework |
| /src/core | Core engine components including active inference module, neural networks, and model base classes |
| /src/models | Implementation of various model types and case definitions |
| /src/utils | Utility functions and helper classes |
| /src/visualization | Visualization tools and components |
| /src/transformations | Model transformation and adaptation algorithms |
| /src/cases | Case definition and management functionalities |
| /src/examples | Example implementations and demonstrations |
| /docs | Documentation including specifications, guides, and discussions |
| /docs/examples | Detailed documentation for example models |
| /docs/languages | Language-specific implementation guidelines |
| /paper | Academic paper source files and generation tools |
| /paper/components | Paper section components and figures |
| /paper/output | Generated paper outputs in various formats |
| /tools | Development and maintenance tools |
| /output | Default location for generated outputs and results |
Implementation Workflow
Getting Started
CEREBRUM can be used in multiple ways depending on your needs:
- Explore existing models: Check out the
/src/examplesdirectory - Create your own models: Follow the guides in
/docs/getting_started.md - Extend the framework: See
/docs/contributing_technical.mdfor development setup
Installation
```bash
Clone the repository
git clone https://github.com/ActiveInferenceInstitute/CEREBRUM.git cd CEREBRUM
Install dependencies
pip install -r requirements.txt
For development
pip install -r requirements_dev.txt ```
PDF Documentation
The full documentation for CEREBRUM is available as a PDF file in the paper/output/ directory, which is generated from the Markdown source files.
Requirements for PDF Generation
To regenerate the PDF documentation, you need:
- Python 3
- Node.js with Mermaid CLI (@mermaid-js/mermaid-cli package)
- Pandoc
- XeLaTeX (for PDF generation)
Generating the PDF
To regenerate the PDF documentation, run:
bash
python3 paper/assemble_paper.py
This script will:
1. Render all Mermaid diagrams from paper/components/figures/ to PNG images
2. Assemble all markdown components in the correct order
3. Generate an HTML version of the paper
4. Create the final PDF file at paper/output/assembled_paper.pdf
For more detailed information about the paper building process, please see paper/README.md.
Use Cases
Citation
If you use CEREBRUM in your research, please cite:
bibtex
@misc{friedman2025cerebrum,
author = {Friedman, Daniel Ari},
title = {CEREBRUM: Case-Enabled Reasoning Engine with Bayesian Representations for Unified Modeling},
year = {2025},
month = {April},
version = {1.4},
doi = {10.5281/zenodo.15170907},
url = {https://doi.org/10.5281/zenodo.15170907},
publisher = {Active Inference Institute},
url = {https://github.com/ActiveInferenceInstitute/CEREBRUM}
}
License
Acknowledgements
This work builds upon the efforts and insights of many participants within the Active Inference Institute. Special thanks are extended to Dave Douglass for his contributions related to computational linguistics, archiving, Active Inference principles, upper ontologies, and translations, which have significantly informed aspects of this project.
Contributing
We welcome contributions from researchers, developers, and enthusiasts across multiple domains:
Ways to Contribute
- 🔬 Research: Theoretical development, empirical testing, literature reviews
- 💻 Technical: Core development, language implementations, integrations, testing
- 📚 Documentation: Educational content, API docs, use cases, tutorials
- 🧩 Examples: Model examples, domain applications, interactive demonstrations
- 🌍 Community: Organizing events, content creation, mentoring, user support
For detailed contribution guidelines, process information, and more specific ideas, please see our CONTRIBUTING.md document.
Owner
- Name: Active Inference Institute
- Login: ActiveInferenceInstitute
- Kind: user
- Location: Online
- Company: Active Inference Institute
- Website: http://activeinference.org/
- Twitter: InferenceActive
- Repositories: 3
- Profile: https://github.com/ActiveInferenceInstitute
http://activeinference.org/
GitHub Events
Total
- Create event: 8
- Issues event: 4
- Release event: 6
- Watch event: 5
- Issue comment event: 2
- Member event: 1
- Push event: 91
- Fork event: 2
Last Year
- Create event: 8
- Issues event: 4
- Release event: 6
- Watch event: 5
- Issue comment event: 2
- Member event: 1
- Push event: 91
- Fork event: 2
Issues and Pull Requests
Last synced: 6 months ago
All Time
- Total issues: 2
- Total pull requests: 0
- Average time to close issues: about 10 hours
- Average time to close pull requests: N/A
- Total issue authors: 2
- Total pull request authors: 0
- Average comments per issue: 1.5
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 2
- Pull requests: 0
- Average time to close issues: about 10 hours
- Average time to close pull requests: N/A
- Issue authors: 2
- Pull request authors: 0
- Average comments per issue: 1.5
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- benjifriedman (1)
- KnowledgeGarden (1)
Pull Request Authors
Top Labels
Issue Labels
Pull Request Labels
Dependencies
- @mermaid-js/mermaid-cli ^11.4.2
- actions/cache v3 composite
- actions/checkout v4 composite
- actions/setup-node v3 composite
- actions/setup-python v4 composite
- codecov/codecov-action v3 composite
- dataclasses >=0.6
- matplotlib >=3.4.0
- numpy >=1.21.0
- pandas >=1.3.0
- pyyaml >=5.4.0
- scikit-learn >=1.0.0
- scipy >=1.7.0
- seaborn >=0.11.0
- typing-extensions >=3.10.0
- black >=23.1.0 development
- flake8 >=6.0.0 development
- hypothesis >=6.70.0 development
- isort >=5.12.0 development
- mypy >=1.0.0 development
- networkx >=3.0 development
- pre-commit >=3.0.0 development
- pytest >=7.0.0 development
- pytest-cov >=4.0.0 development
- pytest-html >=3.2.0 development
- pytest-mock >=3.10.0 development
- pytest-xdist >=3.3.0 development
- scikit-learn >=1.3.0 development