Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Closed
nthiery opened this issue May 6, 2009 · 9 comments

Comments

@nthiery
Copy link
Contributor

nthiery commented May 6, 2009

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

@nthiery nthiery added this to the sage-4.0.1 milestone May 6, 2009
@nthiery nthiery self-assigned this May 6, 2009
@nthiery
Copy link
Contributor Author

nthiery commented May 6, 2009

comment:1

Attachment: transitive_ideal-6000-submitted.patch.gz

@nthiery

This comment has been minimized.

@rbeezer
Copy link
Mannequin

rbeezer mannequin commented May 21, 2009

Apply on top of main patch

@rbeezer
Copy link
Mannequin

rbeezer mannequin commented May 21, 2009

comment:3

Attachment: trac_6000_reviewer.patch.gz

Passes tests: ./sage -t devel/sage-backtrack/sage/combinat/

Reviewer patch adds two doctests, and some general cleanup, so apply on top of the main patch.

In the case of a search tree (not a graph), options for "leaves only" would be useful. Then the generators could be checked for a first element when using a search tree for existence questions.

Building a single function to call these routines as variants might ease the question of names and interfaces.

Positive review.

@rbeezer rbeezer mannequin added the s: positive review label May 21, 2009
@mwhansen
Copy link
Contributor

mwhansen commented Jun 1, 2009

comment:4

Merged in 4.0.1.alpha0.

@mwhansen
Copy link
Contributor

mwhansen commented Jun 6, 2009

Merged: 4.0.1.alpha0

@mwhansen
Copy link
Contributor

mwhansen commented Jun 6, 2009

Reviewer: Rob Beezer

@mwhansen
Copy link
Contributor

mwhansen commented Jun 6, 2009

Author: Nicolas Thiery

@fchapoton
Copy link
Contributor

Changed author from Nicolas Thiery to Nicolas M. Thiéry

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants