Reformat README

This commit is contained in:
panispani 2025-01-24 21:19:03 +00:00
parent bdf377c3eb
commit c0dea48ab0

View file

@ -7,11 +7,13 @@ The goal is to generate virtually infinite data with adjustable complexity.
### Task Overview
#### Algebra Tasks
- `SimpleEquationsDataset`: Generate linear equations with one variable to solve (e.g. "3*x + 2 = 14")
- `PolynomialEquationsDataset`: Generate polynomial equations with one variable to solve (e.g. "-6*h**4 + 4*h**2 - 5*h = 0")
- `SimpleEquationsDataset`: Generate linear equations with one variable to solve (e.g. "3\*x + 2 = 14")
- `PolynomialEquationsDataset`: Generate polynomial equations with one variable to solve (e.g. "-6*h\*\*4 + 4*h\**2 - 5*h = 0")
#### Arithmetic Tasks
- `BasicArithmeticDataset`: Generate arithmetic expressions with configurable complexity and operators (+, -, *, /)
- `BasicArithmeticDataset`: Generate arithmetic expressions with configurable complexity and operators (+, -, \*, /)
- `ChainSum`: Generate addition/subtraction chains with configurable length and digit counts
- `FractionSimplificationDataset`: Generate fraction simplification tasks with configurable complexity
- `GCDDataset`: Generate Greatest Common Divisor problems with configurable number of integers
@ -20,6 +22,7 @@ The goal is to generate virtually infinite data with adjustable complexity.
- `PrimeFactorizationDataset`: Generate prime factorization tasks with configurable number ranges
#### Algorithmic Tasks
- `BaseConversionDataset`: Convert numbers between different bases (binary, hex, etc.)
- `LetterCountingDataset`: Count letter occurrences in text spans
- `NumberFilteringDataset`: Filter numbers based on comparison with threshold
@ -28,16 +31,20 @@ The goal is to generate virtually infinite data with adjustable complexity.
- `Sorting`
#### Cognition Tasks
- `NumberSequenceDataset`: Generate number sequences with discoverable patterns
- `ColorCubeRotationDataset`: Generate 3D spatial reasoning tasks with colored cube rotations and orientation tracking
#### Logic Tasks
- `PropositionalLogicDataset`: Generate propositional logic reasoning problems
#### Graph Tasks
- `FamilyRelationshipsDataset`: Generate family relationship reasoning tasks with family trees
#### Game Tasks
- `SudokuDataset`: Generate 9x9 Sudoku puzzles with configurable number of empty cells
- `MiniSudokuDataset`: Generate 4x4 Mini Sudoku puzzles with configurable difficulty
@ -46,6 +53,7 @@ The goal is to generate virtually infinite data with adjustable complexity.
### PolynomialEquations
Generate polynomial equation with configurable complexity:
```python
from reasoning_gym.algebra import PolynomialEquationsConfig, PolynomialEquationsConfig
@ -66,6 +74,7 @@ for item in dataset:
```
Example output:
```
{'question': 'Find the real value(s) of b in the equation: b**4 - b**3 - 5*b**2 = 0', 'answer': '[-1.79128784747792, 0.0, 2.79128784747792]', 'metadata': {'polynomial_expr': 'b**4 - b**3 - 5*b**2', 'variable': 'b', 'degree': 4, 'real_solutions': [-1.79128784747792, 0.0, 2.79128784747792]}}
{'question': 'Solve the polynomial equation for real i:\n3*i**4 + 4*i**3 - 1 = 0', 'answer': '[]', 'metadata': {'polynomial_expr': '3*i**4 + 4*i**3 - 1', 'variable': 'i', 'degree': 4, 'real_solutions': []}}
@ -73,7 +82,9 @@ Example output:
```
#### Basic Arithmetic
Generates arithmetic problems with configurable complexity:
```python
from reasoning_gym.arithmetic import BasicArithmeticDataset, BasicArithmeticDatasetConfig
@ -93,6 +104,7 @@ for item in dataset:
```
Example output:
```
{'question': '-1 + -5 * 8 + -8 =', 'answer': '-49', 'metadata': {'num_terms': 4, 'num_digits': 1, 'expression': '-1 + -5 * 8 + -8'}}
{'question': '19 - 17 =', 'answer': '2', 'metadata': {'num_terms': 2, 'num_digits': 2, 'expression': '19 - 17'}}
@ -102,7 +114,9 @@ Example output:
```
#### Chain Sum
Generates addition/subtraction problems with configurable complexity:
```python
from reasoning_gym.arithmetic import ChainSum, ChainSumConfig
@ -122,6 +136,7 @@ for item in dataset:
```
Example data:
```
{
"question": "426 + 562 =",
@ -136,7 +151,9 @@ Example data:
```
#### Sequence Completion
Generates number sequence completion tasks with dynamic pattern generation:
```python
from reasoning_gym.cognition import NumberSequenceDataset, NumberSequenceConfig
@ -156,6 +173,7 @@ for item in dataset:
```
Example data:
```
{
"question": "3, 6, 12, 24, 48, 96, 192, 384, ?",
@ -170,7 +188,9 @@ Example data:
```
#### Color Cube Rotation
Generates 3D spatial reasoning tasks with cube rotations and color tracking:
```python
from reasoning_gym.cognition import ColorCubeRotationDataset, ColorCubeRotationConfig
@ -187,6 +207,7 @@ for item in dataset:
```
Example data:
```
{
"question": "A cube has:\n- a red top side\n- a blue right side\n- a green front side\n- a yellow left side\n- a white back side\n- an orange bottom side\n\nThe cube is rotated so that the side which was before at the front is now at the top.\nThe cube is rotated so that the side which was before at the right is now at the top.\n\nWhat is now the color of the bottom side of the cube?",
@ -201,7 +222,9 @@ Example data:
```
#### Propositional Logic
Generates logical reasoning tasks with configurable complexity:
```python
from reasoning_gym.logic import PropositionalLogicDataset, PropositionalLogicConfig
@ -221,6 +244,7 @@ for item in dataset:
```
Example data:
```
{
"question": "Given:\n1. R\n2. Q\nWhat can we conclude?",
@ -246,7 +270,6 @@ Example data:
- Logic inductive programming tasks
- ARC-AGI synthetic riddles
## Call for Contributions
If you have ideas for additional procedural dataset generators or please create an issue here.