mirror of
https://github.com/open-thought/reasoning-gym.git
synced 2026-04-28 17:29:39 +00:00
Refactor Curriculum Attributes (#335)
* remove min_value from AttributeDefinition * remove type from AttributeDefinition * Add CurriculumContext * add ensure_interval option for RangeAttributes * docs: Add legend explaining curriculum indicators in dataset gallery * update GALLERY.md
This commit is contained in:
parent
4e7d9296ee
commit
d2c895f1d3
101 changed files with 286 additions and 677 deletions
|
|
@ -10,7 +10,7 @@ from dataclasses import dataclass
|
|||
from random import Random
|
||||
from typing import Optional
|
||||
|
||||
from ..coaching import AttributeType, BaseCurriculum, RangeAttributeDefinition
|
||||
from ..coaching import BaseCurriculum, RangeAttributeDefinition
|
||||
from ..factory import ProceduralDataset, register_dataset
|
||||
|
||||
QUESTION_TEMPLATE = """There are a total of {num_courses} courses you have to take, labeled from 0 to {last_index}.
|
||||
|
|
@ -152,8 +152,6 @@ class CourseScheduleCurriculum(BaseCurriculum):
|
|||
levels=[10, 50, 100, 500],
|
||||
default_level=0, # Start with 5 courses
|
||||
description="Number of courses in the schedule",
|
||||
attr_type=AttributeType.APPEND,
|
||||
min_value=3, # Ensure at least 3 courses
|
||||
lower_field_name="min_num_courses",
|
||||
upper_field_name="max_num_courses",
|
||||
),
|
||||
|
|
@ -162,8 +160,6 @@ class CourseScheduleCurriculum(BaseCurriculum):
|
|||
levels=[2, 3, 4, 5],
|
||||
default_level=0, # Start with 2 prerequisites max
|
||||
description="Number of prerequisites per course",
|
||||
attr_type=AttributeType.APPEND,
|
||||
min_value=0,
|
||||
lower_field_name="min_num_prerequisites",
|
||||
upper_field_name="max_num_prerequisites",
|
||||
),
|
||||
|
|
@ -172,8 +168,6 @@ class CourseScheduleCurriculum(BaseCurriculum):
|
|||
levels=[3, 4, 5, 6],
|
||||
default_level=0, # Start with 3 cycle length
|
||||
description="Length of a cycle in the prerequisites",
|
||||
attr_type=AttributeType.APPEND,
|
||||
min_value=3,
|
||||
lower_field_name="min_cycle_length",
|
||||
upper_field_name="max_cycle_length",
|
||||
),
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ from enum import StrEnum
|
|||
from itertools import count
|
||||
from typing import Any, Optional
|
||||
|
||||
from ..coaching import AttributeType, BaseCurriculum, RangeAttributeDefinition
|
||||
from ..coaching import BaseCurriculum, RangeAttributeDefinition
|
||||
from ..factory import ProceduralDataset, register_dataset
|
||||
|
||||
|
||||
|
|
@ -379,9 +379,6 @@ class FamilyRelationshipsCurriculum(BaseCurriculum):
|
|||
RangeAttributeDefinition(
|
||||
name="family_size",
|
||||
description="The size of the family",
|
||||
min_value=3,
|
||||
attr_type=AttributeType.APPEND,
|
||||
default_level=0,
|
||||
levels=list(range(3, 12)),
|
||||
lower_field_name="min_family_size",
|
||||
upper_field_name="max_family_size",
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ from dataclasses import dataclass
|
|||
from random import Random
|
||||
from typing import Optional
|
||||
|
||||
from ..coaching import AttributeType, BaseCurriculum, RangeAttributeDefinition
|
||||
from ..coaching import BaseCurriculum, RangeAttributeDefinition
|
||||
from ..factory import ProceduralDataset, register_dataset
|
||||
|
||||
QUESTION_TEMPLATE = """You are given the following {rows} x {cols} binary matrix grid:
|
||||
|
|
@ -159,40 +159,28 @@ class LargestIslandCurriculum(BaseCurriculum):
|
|||
RangeAttributeDefinition(
|
||||
name="rows",
|
||||
levels=[5, 10, 50, 100],
|
||||
default_level=0,
|
||||
description="Number of rows in the grid",
|
||||
attr_type=AttributeType.APPEND,
|
||||
min_value=1,
|
||||
lower_field_name="min_rows",
|
||||
upper_field_name="max_rows",
|
||||
),
|
||||
RangeAttributeDefinition(
|
||||
name="cols",
|
||||
levels=[5, 10, 50, 100],
|
||||
default_level=0,
|
||||
description="Number of columns in the grid",
|
||||
attr_type=AttributeType.APPEND,
|
||||
min_value=1,
|
||||
lower_field_name="min_cols",
|
||||
upper_field_name="max_cols",
|
||||
),
|
||||
RangeAttributeDefinition(
|
||||
name="num_islands",
|
||||
levels=[2, 5, 10, 20],
|
||||
default_level=0,
|
||||
description="Number of islands in the grid",
|
||||
attr_type=AttributeType.APPEND,
|
||||
min_value=0,
|
||||
lower_field_name="min_num_islands",
|
||||
upper_field_name="max_num_islands",
|
||||
),
|
||||
RangeAttributeDefinition(
|
||||
name="island_size",
|
||||
levels=[5, 10, 20, 30],
|
||||
default_level=0,
|
||||
description="Size of the islands in the grid",
|
||||
attr_type=AttributeType.APPEND,
|
||||
min_value=0,
|
||||
lower_field_name="min_island_size",
|
||||
upper_field_name="max_island_size",
|
||||
),
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ from dataclasses import dataclass
|
|||
from random import Random
|
||||
from typing import Any, Optional
|
||||
|
||||
from ..coaching import AttributeType, BaseCurriculum, ScalarAttributeDefinition
|
||||
from ..coaching import BaseCurriculum, ScalarAttributeDefinition
|
||||
from ..factory import ProceduralDataset, register_dataset
|
||||
|
||||
|
||||
|
|
@ -243,10 +243,7 @@ class QuantumLockCurriculum(BaseCurriculum):
|
|||
name="difficulty",
|
||||
field_name="difficulty",
|
||||
levels=list(range(1, 11)),
|
||||
default_level=0,
|
||||
attr_type=AttributeType.STATIC,
|
||||
description="The difficulty of the puzzle",
|
||||
min_value=1,
|
||||
)
|
||||
)
|
||||
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ from dataclasses import dataclass
|
|||
from random import Random
|
||||
from typing import Any, Optional
|
||||
|
||||
from ..coaching import AttributeType, BaseCurriculum, RangeAttributeDefinition
|
||||
from ..coaching import BaseCurriculum, RangeAttributeDefinition
|
||||
from ..factory import ProceduralDataset, register_dataset
|
||||
|
||||
QUESTION_TEMPLATE = """Your task is to find the shortest path from the start to the destination point in a grid.
|
||||
|
|
@ -178,20 +178,14 @@ class ShortestPathCurriculum(BaseCurriculum):
|
|||
RangeAttributeDefinition(
|
||||
name="rows",
|
||||
levels=[10, 25, 50, 100],
|
||||
default_level=0,
|
||||
description="Number of rows in the grid",
|
||||
attr_type=AttributeType.APPEND,
|
||||
min_value=2,
|
||||
lower_field_name="min_rows",
|
||||
upper_field_name="max_rows",
|
||||
),
|
||||
RangeAttributeDefinition(
|
||||
name="cols",
|
||||
levels=[10, 25, 50, 100],
|
||||
default_level=0,
|
||||
description="Number of columns in the grid",
|
||||
attr_type=AttributeType.APPEND,
|
||||
min_value=2,
|
||||
lower_field_name="min_cols",
|
||||
upper_field_name="max_cols",
|
||||
),
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue