Lang.Rand_bottleneckRandom bottleneck WFA benchmark.
Generates a random WFA with q states over a s-symbol alphabet using the bottleneck semiring ({-∞} ∪ ℤ ∪ {+∞}, max, min, -∞, +∞).
Transition density heuristic: same as the tropical benchmarks — each transition is non-zero with probability 1.5 / q, keeping average out-degree near 1.5 independent of the state count.
module Log : sig ... endmodule S = Algebra.Bottleneckmodule Matrix : sig ... endmodule Aut : sig ... endval alpha :
int ->
(Automata.Char.t, Automata.Char.comparator_witness) Base.Set.tval aut : Base.Int.t -> int -> Aut.taut q s constructs a random q-state bottleneck WFA over s symbols. Initial vector: one (+∞) at state 0, zero (-∞) elsewhere.
val get : Base.Int.t -> Base__Int.t -> (module Intf.T)