Skip to content

Sets enumerated by exploring a search space with a (lazy) tree or graph structure #6000

@nthiery

Description

@nthiery

This patches extend the sage.combinat.backtrack library with other
generic tools for constructing large sets whose elements can be
enumerated by exploring a search space with a (lazy) tree or graph
structure.

  • SearchForest:
    Depth first search through a tree descrived by a child function
  • GenericBacktracker: (was readilly there)
    Depth first search through a tree descrived by a child function, with branch pruning, ...
  • TransitiveIdeal:
    Depth first search through a graph described by a neighbours relation
  • TransitiveIdealGraded:
    Breath first search through a graph described by a neighbours relation

Todo: the names are crappy and inconsistent, because they come from
different point of views. We need to find a good naming scheme!!!

Do we want to emphasize the underlying graph/tree structure? The
branch&bound aspect? The transitive closure of a relation point of
view?

Todo: which interface do we want:

  • TransitiveIdeal(relation, generators)
  • TransitiveIdeal(generators, relation)
    The code needs to be standardized once the choice is done.

CC: @sagetrac-sage-combinat

Component: combinatorics

Keywords: enumerate sets, depth first search, ideal of a relation

Author: Nicolas M. Thiéry

Reviewer: Rob Beezer

Merged: 4.0.1.alpha0

Issue created by migration from https://trac.sagemath.org/ticket/6000

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions