Class Pebble<S>

  • Type Parameters:
    S - The type of state for the underlying automaton.

    public abstract class Pebble<S>
    extends Object
    Abstraction of a single pebble in a multipebble simulation game. This holds a state on an automaton as well as a flag indicating whether the pebble has seen a final state.
    • Constructor Detail

      • Pebble

        public Pebble()
    • Method Detail

      • universe

        public static <S> Set<Pebble<S>> universe​(S state)
        Computes the set of all possible pebbles for a given state.
        Type Parameters:
        S - The type of the state.
        Parameters:
        state - A state in an automaton
        Returns:
        Set of possible Pebbles on this state, i.e. with flag set to true and set to false.
      • universe

        public static <S> Set<Pebble<S>> universe​(Automaton<S,​BuchiAcceptance> aut)
        Computes the set of all possible pebbles for an automaton.
        Type Parameters:
        S - Type of state of the automaton.
        Parameters:
        aut - Automaton the pebbles should be on.
        Returns:
        A set of all possible pebbles on all states with all possible flag values.
      • state

        public abstract S state()
      • flag

        public abstract boolean flag()
      • withFlag

        public Pebble<S> withFlag​(boolean b)
        Sets the flag of a pebble.
        Parameters:
        b - Value the flag should be set to.
        Returns:
        A pebble on the same state with its flag set to the argument.
      • successors

        public Set<Pebble<S>> successors​(Automaton<S,​? extends BuchiAcceptance> aut,
                                         BddSet valSet)
        Computes the set of successor pebbles for a set of valuations.
        Parameters:
        aut - Automaton the pebble is placed on.
        valSet - Set of valuations to advance the pebble by.
        Returns:
        A set of possible successor pebbles for the given valuation set.
      • successors

        public Set<Pebble<S>> successors​(Automaton<S,​? extends BuchiAcceptance> aut,
                                         BitSet val)
        Computes set of successor pebbles for a single valuation.
        Parameters:
        aut - Automaton to advance the pebble in.
        val - Valuation to advance the pebble by.
        Returns:
        Set of possible successor pebbles.