https://github.com/activeinferenceinstitute/cerebrum

CEREBRUM: Case-Enabled Reasoning Engine with Bayesian Representations for Unified Modeling

https://github.com/activeinferenceinstitute/cerebrum

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
Last synced: 6 months ago · JSON representation

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
Created 11 months ago · Last pushed 8 months ago
Metadata Files
Readme Contributing

README.md

CEREBRUM

DOI

CEREBRUM: Case-Enabled Reasoning Engine with Bayesian Representations for Unified Modeling

Repository

GitHub Repository: https://github.com/ActiveInferenceInstitute/CEREBRUM

DOI

Publication Information

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

CEREBRUM 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

CEREBRUM Implementation Workflow

Getting Started

CEREBRUM can be used in multiple ways depending on your needs:

  1. Explore existing models: Check out the /src/examples directory
  2. Create your own models: Follow the guides in /docs/getting_started.md
  3. Extend the framework: See /docs/contributing_technical.md for 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

CEREBRUM 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

CC BY-NC-ND 4.0

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

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

package.json npm
  • @mermaid-js/mermaid-cli ^11.4.2
.github/workflows/ci.yml actions
  • actions/cache v3 composite
  • actions/checkout v4 composite
  • actions/setup-node v3 composite
  • actions/setup-python v4 composite
  • codecov/codecov-action v3 composite
requirements.txt pypi
  • 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
requirements_dev.txt pypi
  • 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