mirror of
https://github.com/open-thought/reasoning-gym.git
synced 2026-04-24 17:05:03 +00:00
Added zebra curriculum (#328)
* added zebra curriculum * added metadata
This commit is contained in:
parent
f204a848d9
commit
54074b17ef
3 changed files with 115 additions and 5 deletions
|
|
@ -2,6 +2,7 @@ from dataclasses import dataclass
|
|||
from random import Random
|
||||
from typing import Any, Optional
|
||||
|
||||
from ..coaching import AttributeType, BaseCurriculum, ScalarAttributeDefinition
|
||||
from ..factory import ProceduralDataset, register_dataset
|
||||
from .contrib.logic_puzzle.generate import generate_puzzle
|
||||
|
||||
|
|
@ -50,8 +51,7 @@ class ZebraDataset(ProceduralDataset):
|
|||
"question": question,
|
||||
"answer": answer,
|
||||
"metadata": {
|
||||
"num_people": K,
|
||||
"num_characteristics": M,
|
||||
"difficulty": {"num_people": K, "num_characteristics": M},
|
||||
},
|
||||
}
|
||||
|
||||
|
|
@ -74,4 +74,29 @@ class ZebraDataset(ProceduralDataset):
|
|||
return 0.0
|
||||
|
||||
|
||||
register_dataset("zebra_puzzles", ZebraDataset, ZebraConfig)
|
||||
class ZebraCurriculum(BaseCurriculum):
|
||||
def __init__(self):
|
||||
super().__init__(ZebraCurriculum.__name__, ZebraConfig)
|
||||
self._define_attributes(
|
||||
ScalarAttributeDefinition(
|
||||
name="num_people",
|
||||
levels=list(range(2, 8)),
|
||||
default_level=0,
|
||||
description="The number of people in the Zebra puzzle",
|
||||
attr_type=AttributeType.STATIC,
|
||||
min_value=2,
|
||||
field_name="num_people",
|
||||
),
|
||||
ScalarAttributeDefinition(
|
||||
name="num_characteristics",
|
||||
levels=list(range(2, 8)),
|
||||
default_level=0,
|
||||
description="The number of characteristics in the Zebra puzzle",
|
||||
attr_type=AttributeType.STATIC,
|
||||
min_value=2,
|
||||
field_name="num_characteristics",
|
||||
),
|
||||
)
|
||||
|
||||
|
||||
register_dataset("zebra_puzzles", ZebraDataset, ZebraConfig, ZebraCurriculum)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue