You're reading the documentation for a development version. For the latest released version, please have a look at master.

queens_reasoner.main

Functions

run(*args, **kwargs)

Run the complete Queens puzzle solving pipeline.

reason_queens_game(mat)

Solve a Queens puzzle using iterative constraint reasoning.

Module Contents

queens_reasoner.main.run(*args, **kwargs)[source]

Run the complete Queens puzzle solving pipeline.

This function:

  1. Parses a Queens puzzle board from the target source.

  2. Solves the puzzle using reasoner.

  3. Prints the formatted solution to the terminal.

Positional and keyword arguments are forwarded directly to parse_queens_game.

Parameters:
  • *args – Positional arguments passed to parse_queens_game.

  • **kwargs – Keyword arguments passed to parse_queens_game.

Returns:

None

Return type:

None

queens_reasoner.main.reason_queens_game(mat)[source]

Solve a Queens puzzle using iterative constraint reasoning.

Repeatedly applies four constraint-propagation rules until the mask converges to a stable solution.

Parameters:

mat (np.ndarray) – 2D integer matrix of color indices.

Returns:

2D mask matrix where 1 indicates a queen position.

Return type:

np.ndarray