utilities package

Submodules

utilities.abbadingo_one_dfa_generator module

utilities.automata_convertor module

class utilities.automata_convertor.AutomataConvertor

Bases: object

static convert_nfa_to_dfa(non_deterministic_finite_automaton: automata.non_deterministic_finite_automaton.NondeterministicFiniteAutomaton)automata.deterministic_finite_automaton.DeterministicFiniteAutomaton

Converts a given non deterministic finite automaton into a deterministic finite automaton.

Args:

non_deterministic_finite_automaton (NFA): Input non deterministic finite automaton.

Returns:

DFA: DFA equivalent to the inputted NFA.

utilities.dfa_minimizer module

class utilities.dfa_minimizer.DFAMinimizer(dfa: automata.deterministic_finite_automaton.DeterministicFiniteAutomaton)

Bases: object

minimize()automata.deterministic_finite_automaton.DeterministicFiniteAutomaton

Minimizes DFA.

Returns

A minimized DFA

Return type

DFA

utilities.dfa_operations module

utilities.dfa_operations.join_DFA_set(dfaSet: set)automata.deterministic_finite_automaton.DeterministicFiniteAutomaton

Function implementing DFA join of a whole set of DFAs. The join between DFAs is a new DFA that recognizes words belonging to languages of all of the DFAs at the same time.

Args:

dfaSet (set[DFA]): A set of DFAs.

Returns:

DFA: A DFA containing words that are accepted by all of the DFAs in the set.

utilities.dfa_operations.join_DFAs(dfa1: automata.deterministic_finite_automaton.DeterministicFiniteAutomaton, dfa2: automata.deterministic_finite_automaton.DeterministicFiniteAutomaton)automata.deterministic_finite_automaton.DeterministicFiniteAutomaton

Function implementing DFA join. The join between two DFAs is a new DFA that recognizes only words belonging to languages of both DFAs at the same time.

Args:

dfa1 (DFA): A DFA. dfa2 (DFA): Another DFA.

Returns:

DFA: A DFA containing words that are accepted by dfa1 and dfa2 at the same time.

utilities.dfa_operations.union_DFA_set(dfaSet: set)automata.deterministic_finite_automaton.DeterministicFiniteAutomaton

Function implementing DFA union of a whole set of DFAs. The union between DFAs is a new DFA that recognizes words belonging to languages of any of the DFAs.

Args:

dfaSet (set[DFA]): A set of DFAs.

Returns:

DFA: A DFA containing words that are accepted by any of the DFAs in the set.

utilities.dfa_operations.union_DFAs(dfa1: automata.deterministic_finite_automaton.DeterministicFiniteAutomaton, dfa2: automata.deterministic_finite_automaton.DeterministicFiniteAutomaton)automata.deterministic_finite_automaton.DeterministicFiniteAutomaton

Function implementing DFA union. The union between two DFAs is a new DFA that recognizes words belonging to languages of any of the DFAs.

Args:

dfa1 (DFA): A DFA. dfa2 (DFA): Another DFA.

Returns:

DFA: A DFA containing words that are accepted by dfa1 or dfa2.

utilities.encoded_file_importer module

class utilities.encoded_file_importer.EncodedFileImporter

Bases: object

static import_generated_automata(path: Optional[str] = None)

utilities.simple_dfa_generator module

utilities.simple_dfa_generator.generate_dfa(alphabet: base_types.alphabet.Alphabet, number_of_states: int = 200, exporting_strategies=[<model_exporters.image_exporting_strategy.ImageExportingStrategy object>])automata.deterministic_finite_automaton.DeterministicFiniteAutomaton

Function returning a randomly generated DFA, with random transitions to other states and equal probability of being a final state or not.

Args:

alphabet (Alphabet): DFA alphabet. number_of_states (int, optional): Number of states the generated DFA.. Defaults to 200. exporting_strategies (list, optional): ExportingStrategy for the generated DFA. Defaults to [ImageExportingStrategy()].

Returns:

DFA: Random DFA with number of states = number_of_states and exporting strategies = exporting_strategies.

utilities.simple_dfa_generator.getrandbits(k)x.  Generates an int with k random bits.