Package owl.automaton.util

## Class AnnotatedStateOptimisation

- java.lang.Object
- - owl.automaton.util.AnnotatedStateOptimisation

-     public final class AnnotatedStateOptimisation
      extends Object

- - ### Method Summary

    All Methods Static Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `static <S extends AnnotatedState<?>,​A extends OmegaAcceptance> Automaton<S,​A>` | `optimizeInitialState​(Automaton<S,​A> automaton)` | Selects a state within the automaton as a new initial state such that the resulting automaton is smaller in size and the new initial state share the same value for `AnnotatedState.state()`.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Method Detail

    - #### optimizeInitialState

          public static <S extends AnnotatedState<?>,​A extends OmegaAcceptance> Automaton<S,​A> optimizeInitialState​(Automaton<S,​A> automaton)

      Selects a state within the automaton as a new initial state such that the resulting automaton is smaller in size and the new initial state share the same value for `AnnotatedState.state()`.
      Type Parameters:
        `S` - the type of the states
        `A` - the type of the acceptance
      Parameters:
        `automaton` - the automaton
      Returns:
        A copy of the automaton with the new initial state set. For performance reasons are copy is made, but this might change.