Implementation:Open compass VLMEvalKit VGRPBench Futoshiki
| Field | Value |
|---|---|
| source | VLMEvalKit |
| domain | Vision, Evaluation, Puzzle_Solving |
Overview
Implements constraint checking and puzzle factory for the Futoshiki inequality grid puzzle in VGRPBench.
Description
This module defines constraint validators and a puzzle factory for the Futoshiki puzzle type, where cells contain unique numbers per row and column subject to inequality constraints between adjacent cells. The ConstraintRowNoRepeat and ConstraintColNoRepeat classes enforce Latin square uniqueness rules. The ConstraintInequality class validates directional inequality symbols ('<', '>', '^', 'v') between horizontally and vertically adjacent cells. The FutoshikiPuzzleFactory supports grid sizes from 3 to 12.
Usage
Called internally by VGRPBench evaluation pipeline for puzzle constraint verification.
Code Reference
- Source:
vlmeval/dataset/utils/vgrpbench/puzzles/futoshiki.py, Lines: L1-95 - Import:
from vlmeval.dataset.utils.vgrpbench.puzzles.futoshiki import FutoshikiPuzzleFactory
Key Classes:
class ConstraintRowNoRepeat(Constraint): ...
class ConstraintColNoRepeat(Constraint): ...
class ConstraintInequality(Constraint): ...
class FutoshikiPuzzleFactory(PuzzleFactory): ...
I/O Contract
| Direction | Description |
|---|---|
| Inputs | Puzzle grid state with board and inequalities dictionary containing row and column inequality matrices |
| Outputs | Boolean validation result or constraint violations |
Usage Examples
# Internal usage
from vlmeval.dataset.utils.vgrpbench.puzzles.futoshiki import FutoshikiPuzzleFactory
factory = FutoshikiPuzzleFactory(size=5)
result = factory.check(game_state)