# mxgmn/markovjunior

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/mxgmn-markovjunior).**

8,133 stars · 347 forks · C# · MIT

## Links

- GitHub: https://github.com/mxgmn/MarkovJunior
- awesome-repositories: https://awesome-repositories.com/repository/mxgmn-markovjunior.md

## Topics

`algorithms` `cellular-automata` `csharp` `gamedev` `language` `markovjunior` `probabilistic-programming` `procedural-generation` `voxel`

## Description

MarkovJunior is a probabilistic programming language and constraint propagation engine designed to generate sequences based on probabilistic rules. It utilizes a pattern matching rewrite system and a probabilistic inference tool to manage state and ensure that generated runs reach defined goal states.

The system distinguishes itself through the use of wave-based superposition to track possible value assignments and prune impossible states. It employs a pattern matching rewrite system to transform specific sequences of values within multi-dimensional grids into new states.

The framework supports the creation of multi-stage generation pipelines by chaining execution nodes together. These pipelines integrate rule-based sequence synthesis and probabilistic language generation to produce structured content that satisfies global constraints.

## Tags

### Software Engineering & Architecture

- [Constraint Propagation Engines](https://awesome-repositories.com/f/software-engineering-architecture/constraint-propagation-engines.md) — Provides a core constraint propagation engine that prunes impossible states and ensures goal reachability.
- [Grid Rewrite Definitions](https://awesome-repositories.com/f/software-engineering-architecture/coding-patterns/pattern-based-code-manipulation/boolean-rewrite-constraints/conditional-rewrite-rules/grid-rewrite-definitions.md) — Provides pattern-matching transformations that replace specific sequences of values within a multi-dimensional grid. ([source](https://github.com/mxgmn/markovjunior#readme))
- [Grid-Based State Management](https://awesome-repositories.com/f/software-engineering-architecture/grid-based-state-management.md) — Utilizes a multi-dimensional grid to represent system state where values are determined by overlapping constraints.
- [Grid Sequence Synthesis](https://awesome-repositories.com/f/software-engineering-architecture/naming-conventions/rule-based-pattern-matching/grid-sequence-synthesis.md) — Defines transformation and rewrite rules to generate multi-dimensional grids of data based on specific patterns.
- [Wave Function Collapse Implementations](https://awesome-repositories.com/f/software-engineering-architecture/wave-function-collapse-implementations.md) — Uses wave-based superposition to track all possible value assignments for each cell and collapse them based on restrictions.

### Artificial Intelligence & ML

- [Goal-Oriented Probabilistic Inference](https://awesome-repositories.com/f/artificial-intelligence-ml/goal-oriented-probabilistic-inference.md) — Filters generated execution runs to only those that satisfy a target end state through forward and backward constraints.
- [Goal-Directed](https://awesome-repositories.com/f/artificial-intelligence-ml/inference-execution/goal-directed.md) — Generates only the execution runs that lead to a specific goal by imposing constraints on future states. ([source](https://github.com/mxgmn/markovjunior#readme))
- [Probabilistic Sequence Generation](https://awesome-repositories.com/f/artificial-intelligence-ml/probabilistic-sequence-generation.md) — Creates text or sequences based on pattern matching and probability to generate varied but structured output.
- [Node-Based Generative Pipelines](https://awesome-repositories.com/f/artificial-intelligence-ml/generative-ai-resources/workflow-execution-backends/node-based-generative-pipelines.md) — Allows combining individual rule sets into sequences or nested nodes to create multi-stage generation pipelines. ([source](https://github.com/mxgmn/markovjunior#readme))

### Programming Languages & Runtimes

- [Grid Rewrite Systems](https://awesome-repositories.com/f/programming-languages-runtimes/grid-rewrite-systems.md) — Provides a tool for specifying transformations that replace sequences of values within a multi-dimensional grid.
- [Grid-Based Rewrite Rules](https://awesome-repositories.com/f/programming-languages-runtimes/pattern-matching/grid-based-rewrite-rules.md) — Provides a pattern-matching rewrite system to transform specific value sequences within a multi-dimensional grid into new states.
- [Probabilistic Programming Languages](https://awesome-repositories.com/f/programming-languages-runtimes/probabilistic-programming-languages.md) — A language that uses pattern matching and constraint propagation to generate sequences based on probabilistic rules.

### Scientific & Mathematical Computing

- [Goal-State Inference Tools](https://awesome-repositories.com/f/scientific-mathematical-computing/bayesian-probabilistic-programming-frameworks/goal-state-inference-tools.md) — Implements a framework for generating only the specific execution runs that lead to a defined goal state.

### Data & Databases

- [Multi-Stage Pipeline Processing](https://awesome-repositories.com/f/data-databases/data-processing-pipelines/document-llm-preparation/multi-stage-pipeline-processing.md) — Builds complex workflows by chaining multiple sequential processing nodes together to transform data.

### Development Tools & Productivity

- [Output Chaining](https://awesome-repositories.com/f/development-tools-productivity/parallel-execution/task-execution-sequencing/output-chaining.md) — Processes data through sequential pipelines where the output of one node serves as the input for the next.

### Testing & Quality Assurance

- [Sequence Synthesis](https://awesome-repositories.com/f/testing-quality-assurance/constraint-based-data-generation/sequence-synthesis.md) — Produces sequences that must satisfy specific global rules and goal states through constraint propagation.
