* src/tgba/tgbaexplicit.cc, src/tgba/tgbaexplicit.hh

(tgba_explicit::create_transition(state*, const state*)): New function.
* src/tgbaalgos/randomgraph.cc, src/tgbaalgos/randomgraph.hh:
(random_graph): Revamp the algorithm to call rand() less often.
* src/tgbatest/randtgba.cc: Add option -0 to easy profiling.
This commit is contained in:
Alexandre Duret-Lutz 2004-12-08 15:39:15 +00:00
parent 7917841fbe
commit 688587d700
6 changed files with 129 additions and 56 deletions

View file

@ -65,8 +65,15 @@ namespace spot
/// note = {Reprint of Master's thesis}
/// }
/// \endverbatim
/// The only difference is that labels are on transitions, and that
/// acceptance conditions are handled. Otherwise the logic is the same.
///
/// Although the intent is similar, there are some differences with
/// between the above published algorithm and this implementation .
/// First labels are on transitions, and acceptance conditions are
/// generated too. Second, the number of successors of a node is
/// chosen in \f$[1,n]\f$ following a normal distribution with mean
/// \f$1+(n-1)d\f$ and variance \f$(n-1)d(1-d)\f$. (This is less
/// accurate, but faster than considering all possible \a n
/// successors one by one.)
tgba*
random_graph(int n, float d,
const ltl::atomic_prop_set* ap, bdd_dict* dict,