src/main/java/org/thegalactic/lattice/ConceptLattice.java
public static ConceptLattice diagramIceberg(Context init, double support) {
        ConceptLattice lattice = new ConceptLattice();
        // computes the dependance graph of the closure system
        // addition of nodes in the precedence graph
        ConcreteDGraph graph = new ConcreteDGraph();
        for (Comparable c : init.getSet()) {
            graph.addNode(new Node(c));
        }
        lattice.setDependencyGraph(graph);
        // intialize the close set lattice with bottom element
        Concept bot = new Concept(init.closure(new ComparableSet()), false);
        lattice.addNode(bot);
        int threshold = (int) (support * init.getExtent(bot.getSetA()).size());
        // recursive genaration from the botom element with diagramLattice
        lattice.recursiveDiagramIceberg(bot, init, threshold);
        return lattice;
    }
/**
     * Generates and returns the Hasse diagram of the closed set iceberg of the
     * specified context.
     *
     * The Hasse diagram of the closed set iceberg is obtained by a recursively
     * generation of immediate successors of a given closed set, starting from
     * the bottom closed set. Implemented algorithm is an adaptation of Bordat's
     * algorithm where the dependence graph is computed while the lattice is
     * generated. This treatment is performed in O(cCl|S|^3log g) where S is the
     * initial set of elements, c is the number of closed sets that could be
     * exponential in the worst case, Cl is the closure computation complexity
     * and g is the number of minimal generators of the lattice. The iceberg
     * stops when the immediate successors support is inferior to the support
     * value.
     *
     * The dependence graph of the lattice is also computed while the lattice
     * generation. The dependence graph of a lattice encodes at once the minimal
     * generators and the canonical direct basis of the lattice .
     *
     * @param init    a closure system (an ImplicationalSystem or a Context)
     * @param support a support value, between 0 and 1.
     *
     * @return a concept iceberg
     */
Generates and returns the Hasse diagram of the closed set iceberg of the
specified context.

The Hasse diagram of the closed set iceberg is obtained by a recursively
generation of immediate successors of a given closed set, starting from
the bottom closed set. Implemented algorithm is an adaptation of Bordat's
algorithm where the dependence graph is computed while the lattice is
generated. This treatment is performed in O(cCl|S|^3log g) where S is the
initial set of elements, c is the number of closed sets that could be
exponential in the worst case, Cl is the closure computation complexity
and g is the number of minimal generators of the lattice. The iceberg
stops when the immediate successors support is inferior to the support
value.

The dependence graph of the lattice is also computed while the lattice
generation. The dependence graph of a lattice encodes at once the minimal
generators and the canonical direct basis of the lattice .

@param init    a closure system (an ImplicationalSystem or a Context)
@param support a support value, between 0 and 1.

@return a concept iceberg
Generates and returns the Hasse diagram of the closed set iceberg of the specified context . The Hasse diagram of the closed set iceberg is obtained by a recursively generation of immediate successors of a given closed set starting from the bottom closed set . Implemented algorithm is an adaptation of Bordat ' s algorithm where the dependence graph is computed while the lattice is generated . This treatment is performed in O ( cCl|S|^3log g ) where S is the initial set of elements c is the number of closed sets that could be exponential in the worst case Cl is the closure computation complexity and g is the number of minimal generators of the lattice . The iceberg stops when the immediate successors support is inferior to the support value . The dependence graph of the lattice is also computed while the lattice generation . The dependence graph of a lattice encodes at once the minimal generators and the canonical direct basis of the lattice . @param init a closure system ( an ImplicationalSystem or a Context ) @param support a support value between 0 and 1 . @return a concept iceberg
public static ConceptLattice diagramIceberg(Context init, double support) {
        ConceptLattice lattice = new ConceptLattice();
        ConcreteDGraph graph = new ConcreteDGraph();
        for (Comparable c : init.getSet()) {
            graph.addNode(new Node(c));
        }
        lattice.setDependencyGraph(graph);
        Concept bot = new Concept(init.closure(new ComparableSet()), false);
        lattice.addNode(bot);
        int threshold = (int) (support * init.getExtent(bot.getSetA()).size());
        lattice.recursiveDiagramIceberg(bot, init, threshold);
        return lattice;
    }
public static ConceptLattice diagramIceberg ( Context init , double support ) { ConceptLattice lattice = new ConceptLattice ( ) ; ConcreteDGraph graph = new ConcreteDGraph ( ) ; for ( Comparable c : init . getSet ( ) ) { graph . addNode ( new Node ( c ) ) ; } lattice . setDependencyGraph ( graph ) ; Concept bot = new Concept ( init . closure ( new ComparableSet ( ) ) , false ) ; lattice . addNode ( bot ) ; int threshold = ( int ) ( support * init . getExtent ( bot . getSetA ( ) ) . size ( ) ) ; lattice . recursiveDiagramIceberg ( bot , init , threshold ) ; return lattice ; }
Generates and returns the Hasse diagram of the closed set iceberg of the
 specified context.
Generates and returns the Hasse diagram of the closed set iceberg of the specified context .
// computes the dependance graph of the closure system // addition of nodes in the precedence graph // intialize the close set lattice with bottom element // recursive genaration from the botom element with diagramLattice