SYMBOL INDEX (996 symbols across 105 files) FILE: Benchmarking/fm_plots.py function plot_error (line 3) | def plot_error(): function plot_benchmarks (line 70) | def plot_benchmarks(): FILE: Benchmarking/generate_plots.py function plot_increasing_size_exp (line 7) | def plot_increasing_size_exp(): function plot_increasing_alphabeth_exp (line 52) | def plot_increasing_alphabeth_exp(): function plot_together (line 94) | def plot_together(): function plot_together (line 178) | def plot_together(): function plot_together_learnlib_comp (line 264) | def plot_together_learnlib_comp(): function plot_runtime_steps (line 343) | def plot_runtime_steps(): FILE: Benchmarking/json_lbt.py function is_valid_json (line 12) | def is_valid_json(s): function to_json_string (line 20) | def to_json_string(json_tuple): function generate_random_json (line 30) | def generate_random_json(max_depth=3, max_elements=5): function corrupt_json (line 88) | def corrupt_json(symbols): function generate_dataset (line 237) | def generate_dataset(num_sequences): function validate_string_with_json_parser (line 253) | def validate_string_with_json_parser(json_str, json_parser): FILE: Benchmarking/papni_vs_rpni_benchmarking.py function calculate_f1_score (line 16) | def calculate_f1_score(precision, recall): function calculate_precision_recall_f1 (line 22) | def calculate_precision_recall_f1(true_positives, false_positives, false... function compare_rpni_and_papni (line 30) | def compare_rpni_and_papni(test_data, rpni_model, papni_model): function get_sequences_from_active_sevpa (line 65) | def get_sequences_from_active_sevpa(model, verbose=False): function split_data_to_learning_and_testing (line 100) | def split_data_to_learning_and_testing(data, learning_to_test_ratio=0.5): function run_experiment (line 126) | def run_experiment(experiment_id, function run_experiments_multiple_times (line 169) | def run_experiments_multiple_times(test_models, num_times, learning_to_t... function test_papni_based_on_sevpa_dataset (line 195) | def test_papni_based_on_sevpa_dataset(): FILE: Benchmarking/passive_mdp_vs_smm.py function writeSamplesToFile (line 18) | def writeSamplesToFile(samples, path="alergiaSamples.txt"): function deleteSampleFile (line 33) | def deleteSampleFile(path="alergiaSamples.txt"): FILE: Benchmarking/stochastic_benchmarking/passive_mdp_vs_smm.py function writeSamplesToFile (line 18) | def writeSamplesToFile(samples, path="alergiaSamples.txt"): function deleteSampleFile (line 33) | def deleteSampleFile(path="alergiaSamples.txt"): FILE: Benchmarking/stochastic_benchmarking/plot_error_steps.py function crash_plot (line 18) | def crash_plot(): function no_response (line 42) | def no_response(): function side_by_side (line 61) | def side_by_side(): FILE: Benchmarking/stochastic_benchmarking/stochastic_benchmark_random_automata.py function learn (line 15) | def learn(mdp, type): FILE: Benchmarking/stochastic_benchmarking/strategy_comp.py function learn (line 23) | def learn(strategy): function plot (line 65) | def plot(): function plot_side_by_side (line 90) | def plot_side_by_side(): FILE: Benchmarking/stochastic_benchmarking/unamb_error_plot.py function single_plot (line 427) | def single_plot(): function side_by_side (line 463) | def side_by_side(): FILE: Benchmarking/unamb_error_plot.py function single_plot (line 427) | def single_plot(): function side_by_side (line 463) | def side_by_side(): FILE: Benchmarking/vpa_benchmarking/benchmark_vpa.py function state_increasing (line 15) | def state_increasing(): function alphabet_increasing (line 71) | def alphabet_increasing(): function alphabet_increasing_variable (line 126) | def alphabet_increasing_variable(): function benchmark_vpa_dfa (line 193) | def benchmark_vpa_dfa(): FILE: DotModels/Bluetooth/convert_to_stochastic.py class ModelSUL (line 14) | class ModelSUL(SUL): method __init__ (line 15) | def __init__(self, model): method pre (line 20) | def pre(self): method post (line 24) | def post(self): method step (line 27) | def step(self, letter): function to_mdp (line 37) | def to_mdp(): function to_smm (line 72) | def to_smm(): FILE: Examples.py function random_deterministic_model_example (line 1) | def random_deterministic_model_example(): function angluin_seminal_example (line 25) | def angluin_seminal_example(): function angluin_seminal_example_lsharp (line 48) | def angluin_seminal_example_lsharp(): function tomita_example (line 72) | def tomita_example(tomita_number=3): function regex_example (line 93) | def regex_example(regex, alphabet): function learn_date_validator (line 115) | def learn_date_validator(): function bluetooth_Lsharp (line 168) | def bluetooth_Lsharp(): function bluetooth_adaptive_Lsharp (line 186) | def bluetooth_adaptive_Lsharp(): function random_deterministic_example_with_provided_sequences (line 210) | def random_deterministic_example_with_provided_sequences(): function big_input_alphabet_example (line 238) | def big_input_alphabet_example(): function random_onfsm_example (line 280) | def random_onfsm_example(num_states, input_size, output_size, n_sampling): function random_mdp_example (line 306) | def random_mdp_example(): function learn_python_class (line 325) | def learn_python_class(): function mqtt_example (line 352) | def mqtt_example(): function onfsm_mealy_paper_example (line 392) | def onfsm_mealy_paper_example(): function multi_client_mqtt_example (line 415) | def multi_client_mqtt_example(): function abstracted_onfsm_example (line 519) | def abstracted_onfsm_example(): function faulty_coffee_machine_mdp_example (line 547) | def faulty_coffee_machine_mdp_example(automaton_type='mdp'): function weird_coffee_machine_mdp_example (line 573) | def weird_coffee_machine_mdp_example(): function benchmark_stochastic_example (line 597) | def benchmark_stochastic_example(example, automaton_type='smm', n_c=20, ... function custom_stochastic_example (line 640) | def custom_stochastic_example(stochastic_machine, learning_type='smm', m... function learn_stochastic_system_and_do_model_checking (line 669) | def learn_stochastic_system_and_do_model_checking(example, automaton_typ... function alergia_mdp_example (line 695) | def alergia_mdp_example(): function alergia_smm_example (line 725) | def alergia_smm_example(): function alergia_mc_example_with_loaded_data (line 754) | def alergia_mc_example_with_loaded_data(): function jAlergiaExample (line 800) | def jAlergiaExample(): function active_alergia_example (line 817) | def active_alergia_example(example='first_grid'): function rpni_example (line 845) | def rpni_example(): function rpni_check_model_example (line 860) | def rpni_check_model_example(): function rpni_mealy_example (line 892) | def rpni_mealy_example(): function random_active_rpni_example (line 920) | def random_active_rpni_example(): function compare_stochastic_and_non_deterministic_learning (line 950) | def compare_stochastic_and_non_deterministic_learning(example='first_gri... function learning_context_free_grammar_example (line 995) | def learning_context_free_grammar_example(): function arithmetic_expression_sevpa_learning (line 1021) | def arithmetic_expression_sevpa_learning(): function benchmark_sevpa_learning (line 1070) | def benchmark_sevpa_learning(): function random_sevpa_learning (line 1096) | def random_sevpa_learning(): function passive_vpa_learning_on_lists (line 1122) | def passive_vpa_learning_on_lists(): function passive_vpa_learning_arithmetics (line 1149) | def passive_vpa_learning_arithmetics(): function passive_vpa_learning_on_all_benchmark_models (line 1164) | def passive_vpa_learning_on_all_benchmark_models(): function gsm_rpni (line 1185) | def gsm_rpni(): function gsm_edsm (line 1198) | def gsm_edsm(): function gsm_likelihood_ratio (line 1220) | def gsm_likelihood_ratio(): function example_Alergia_extension (line 1254) | def example_Alergia_extension(): function gsm_IOAlergia_domain_knowldege (line 1295) | def gsm_IOAlergia_domain_knowldege(): function k_tails_example (line 1331) | def k_tails_example(): FILE: aalpy/SULs/AutomataSUL.py class AutomatonSUL (line 5) | class AutomatonSUL(SUL): method __init__ (line 6) | def __init__(self, automaton: Automaton): method pre (line 10) | def pre(self): method step (line 13) | def step(self, letter=None): method post (line 16) | def post(self): FILE: aalpy/SULs/PyMethodSUL.py class FunctionDecorator (line 4) | class FunctionDecorator: method __init__ (line 9) | def __init__(self, function, args=None): method __repr__ (line 24) | def __repr__(self): class PyClassSUL (line 30) | class PyClassSUL(SUL): method __init__ (line 34) | def __init__(self, python_class): method pre (line 44) | def pre(self): method post (line 50) | def post(self): method step (line 53) | def step(self, letter): FILE: aalpy/SULs/RegexSUL.py class RegexSUL (line 5) | class RegexSUL(SUL): method __init__ (line 10) | def __init__(self, regex: str): method pre (line 15) | def pre(self): method post (line 19) | def post(self): method step (line 23) | def step(self, letter): FILE: aalpy/SULs/TomitaSUL.py class TomitaSUL (line 6) | class TomitaSUL(SUL): method __init__ (line 12) | def __init__(self, tomita_level_fun): method pre (line 20) | def pre(self): method post (line 24) | def post(self): method step (line 28) | def step(self, letter): function tomita_1 (line 37) | def tomita_1(word): function tomita_2 (line 41) | def tomita_2(word): function tomita_3 (line 45) | def tomita_3(word): function not_tomita_3 (line 51) | def not_tomita_3(word): function tomita_4 (line 55) | def tomita_4(word): function tomita_5 (line 59) | def tomita_5(word): function tomita_6 (line 63) | def tomita_6(word): function tomita_7 (line 67) | def tomita_7(word): FILE: aalpy/automata/Dfa.py class DfaState (line 7) | class DfaState(AutomatonState, Generic[InputType]): method __init__ (line 12) | def __init__(self, state_id, is_accepting=False): method output (line 18) | def output(self): class Dfa (line 21) | class Dfa(DeterministicAutomaton[DfaState[InputType]]): method __init__ (line 26) | def __init__(self, initial_state: DfaState, states): method step (line 29) | def step(self, letter): method compute_characterization_set (line 43) | def compute_characterization_set(self, char_set_init=None, online_suff... method compute_output_seq (line 49) | def compute_output_seq(self, state, sequence): method execute_sequence (line 54) | def execute_sequence(self, origin_state, seq): method to_state_setup (line 61) | def to_state_setup(self): method from_state_setup (line 74) | def from_state_setup(state_setup : dict, **kwargs): FILE: aalpy/automata/MarkovChain.py class McState (line 8) | class McState(AutomatonState, Generic[OutputType]): method __init__ (line 9) | def __init__(self, state_id, output): class MarkovChain (line 16) | class MarkovChain(Automaton[McState[OutputType]]): method __init__ (line 19) | def __init__(self, initial_state, states: list): method reset_to_initial (line 22) | def reset_to_initial(self): method step (line 25) | def step(self, letter=None): method step_to (line 48) | def step_to(self, input): method from_state_setup (line 66) | def from_state_setup(state_setup: dict, **kwargs): method to_state_setup (line 69) | def to_state_setup(self): FILE: aalpy/automata/Mdp.py class MdpState (line 9) | class MdpState(AutomatonState, Generic[InputType, OutputType]): method __init__ (line 13) | def __init__(self, state_id, output=None): class Mdp (line 20) | class Mdp(Automaton[MdpState[InputType, OutputType]]): method __init__ (line 23) | def __init__(self, initial_state: MdpState, states: list): method reset_to_initial (line 26) | def reset_to_initial(self): method step (line 29) | def step(self, letter): method step_to (line 51) | def step_to(self, inp, out): method to_state_setup (line 69) | def to_state_setup(self): method from_state_setup (line 84) | def from_state_setup(state_setup: dict, **kwargs): FILE: aalpy/automata/MealyMachine.py class MealyState (line 7) | class MealyState(AutomatonState, Generic[InputType, OutputType]): method __init__ (line 12) | def __init__(self, state_id): class MealyMachine (line 18) | class MealyMachine(DeterministicAutomaton[MealyState[InputType, OutputTy... method __init__ (line 20) | def __init__(self, initial_state: MealyState, states): method step (line 23) | def step(self, letter): method to_state_setup (line 39) | def to_state_setup(self): method from_state_setup (line 52) | def from_state_setup(state_setup : dict, **kwargs): FILE: aalpy/automata/MooreMachine.py class MooreState (line 7) | class MooreState(AutomatonState, Generic[InputType,OutputType]): method __init__ (line 12) | def __init__(self, state_id, output=None): class MooreMachine (line 18) | class MooreMachine(DeterministicAutomaton[MooreState[InputType, OutputTy... method __init__ (line 20) | def __init__(self, initial_state: AutomatonState, states: list): method step (line 23) | def step(self, letter): method compute_characterization_set (line 40) | def compute_characterization_set(self, char_set_init=None, online_suff... method compute_output_seq (line 46) | def compute_output_seq(self, state, sequence): method execute_sequence (line 51) | def execute_sequence(self, origin_state, seq): method to_state_setup (line 57) | def to_state_setup(self): method from_state_setup (line 70) | def from_state_setup(state_setup : dict, **kwargs): FILE: aalpy/automata/NonDeterministicMooreMachine.py class NDMooreState (line 9) | class NDMooreState(AutomatonState, Generic[InputType, OutputType]): method __init__ (line 14) | def __init__(self, state_id, output=None): class NDMooreMachine (line 20) | class NDMooreMachine(Automaton[NDMooreState[InputType, OutputType]]): method to_state_setup (line 22) | def to_state_setup(self): method from_state_setup (line 37) | def from_state_setup(state_setup: dict, **kwargs) -> 'NDMooreMachine': method __init__ (line 49) | def __init__(self, initial_state: AutomatonState, states: list): method step (line 52) | def step(self, letter): FILE: aalpy/automata/Onfsm.py class OnfsmState (line 9) | class OnfsmState(AutomatonState, Generic[InputType, OutputType]): method __init__ (line 11) | def __init__(self, state_id): method add_transition (line 17) | def add_transition(self, inp, out, new_state) : method get_transition (line 30) | def get_transition(self, input, output=None): class Onfsm (line 47) | class Onfsm(Automaton[OnfsmState[InputType, OutputType]]): method __init__ (line 51) | def __init__(self, initial_state: OnfsmState, states: list): method step (line 54) | def step(self, letter): method outputs_on_input (line 71) | def outputs_on_input(self, letter): method step_to (line 85) | def step_to(self, inp, out): method from_state_setup (line 105) | def from_state_setup(state_setup : dict, **kwargs): method to_state_setup (line 108) | def to_state_setup(self): FILE: aalpy/automata/Sevpa.py class SevpaAlphabet (line 8) | class SevpaAlphabet: method __init__ (line 20) | def __init__(self, internal_alphabet: List[str], call_alphabet: List[s... method get_merged_alphabet (line 27) | def get_merged_alphabet(self) -> List[str]: method __str__ (line 40) | def __str__(self) -> str: class SevpaState (line 48) | class SevpaState(AutomatonState): method __init__ (line 53) | def __init__(self, state_id, is_accepting=False): class SevpaTransition (line 60) | class SevpaTransition: method __init__ (line 71) | def __init__(self, target: SevpaState, letter, action, stack_guard=None): method __str__ (line 77) | def __str__(self): class Sevpa (line 86) | class Sevpa(Automaton): method __init__ (line 92) | def __init__(self, initial_state: SevpaState, states: List[SevpaState]): method reset_to_initial (line 106) | def reset_to_initial(self): method step (line 113) | def step(self, letter): method get_state_by_id (line 164) | def get_state_by_id(self, state_id) -> Union[SevpaState, None]: method is_input_complete (line 170) | def is_input_complete(self) -> bool: method execute_sequence (line 173) | def execute_sequence(self, origin_state, seq): method to_state_setup (line 180) | def to_state_setup(self): method from_state_setup (line 198) | def from_state_setup(state_setup: dict, **kwargs): method transform_access_string (line 226) | def transform_access_string(self, state=None, stack_content=None) -> L... method create_daisy_hypothesis (line 261) | def create_daisy_hypothesis(initial_state, alphabet): method get_input_alphabet (line 287) | def get_input_alphabet(self): method get_error_state (line 304) | def get_error_state(self): method delete_state (line 356) | def delete_state(self, state_to_remove): method get_allowed_call_transitions (line 380) | def get_allowed_call_transitions(self): method get_accepting_words_bfs (line 415) | def get_accepting_words_bfs(self, min_word_length: int = 0, num_words:... method get_random_accepting_word (line 457) | def get_random_accepting_word(self, return_letter_prob: float = 0.5, m... FILE: aalpy/automata/StochasticMealyMachine.py class StochasticMealyState (line 10) | class StochasticMealyState(AutomatonState, Generic[InputType, OutputType]): method __init__ (line 12) | def __init__(self, state_id): class StochasticMealyMachine (line 18) | class StochasticMealyMachine(Automaton[StochasticMealyState[InputType, O... method __init__ (line 20) | def __init__(self, initial_state: StochasticMealyState, states: list): method reset_to_initial (line 23) | def reset_to_initial(self): method step (line 26) | def step(self, letter): method step_to (line 51) | def step_to(self, inp, out): method to_mdp (line 70) | def to_mdp(self): method to_state_setup (line 73) | def to_state_setup(self): method from_state_setup (line 88) | def from_state_setup(state_setup : dict, **kwargs): function smm_to_mdp_conversion (line 101) | def smm_to_mdp_conversion(smm: StochasticMealyMachine): FILE: aalpy/automata/Vpa.py class VpaAlphabet (line 8) | class VpaAlphabet: method __init__ (line 20) | def __init__(self, internal_alphabet: List[str], call_alphabet: List[s... method get_merged_alphabet (line 27) | def get_merged_alphabet(self) -> List[str]: method __str__ (line 40) | def __str__(self) -> str: class VpaState (line 48) | class VpaState(AutomatonState): method __init__ (line 53) | def __init__(self, state_id, is_accepting=False): class VpaTransition (line 59) | class VpaTransition: method __init__ (line 71) | def __init__(self, start: VpaState, target: VpaState, symbol, action, ... method __str__ (line 78) | def __str__(self): class Vpa (line 82) | class Vpa(Automaton): method __init__ (line 88) | def __init__(self, initial_state: VpaState, states): method reset_to_initial (line 101) | def reset_to_initial(self): method top (line 105) | def top(self): method step (line 108) | def step(self, letter): method to_state_setup (line 153) | def to_state_setup(self): method get_input_alphabet (line 166) | def get_input_alphabet(self) -> VpaAlphabet: method is_input_complete (line 182) | def is_input_complete(self) -> bool: method from_state_setup (line 199) | def from_state_setup(state_setup: dict, **kwargs): method is_balanced (line 251) | def is_balanced(self, seq): method generate_random_accepting_word (line 255) | def generate_random_accepting_word(self, min_steps=4, max_steps=20): function vpa_from_dfa_representation (line 304) | def vpa_from_dfa_representation(dfa_repr, vpa_alphabet): FILE: aalpy/base/Automaton.py class AutomatonState (line 8) | class AutomatonState(ABC): method __init__ (line 10) | def __init__(self, state_id): method get_diff_state_transitions (line 25) | def get_diff_state_transitions(self) -> list: method get_same_state_transitions (line 35) | def get_same_state_transitions(self) -> list: class Automaton (line 50) | class Automaton(ABC, Generic[AutomatonStateType]): method __init__ (line 55) | def __init__(self, initial_state: AutomatonStateType, states: List[Aut... method size (line 69) | def size(self): method reset_to_initial (line 72) | def reset_to_initial(self): method step (line 79) | def step(self, letter): method is_input_complete (line 94) | def is_input_complete(self) -> bool: method get_input_alphabet (line 111) | def get_input_alphabet(self): method get_state_by_id (line 122) | def get_state_by_id(self, state_id) -> Union[AutomatonStateType, None]: method __str__ (line 129) | def __str__(self): method make_input_complete (line 136) | def make_input_complete(self, missing_transition_go_to='self_loop'): method execute_sequence (line 145) | def execute_sequence(self, origin_state, seq): method save (line 152) | def save(self, file_path='LearnedModel', file_type='dot'): method visualize (line 156) | def visualize(self, path='LearnedModel', file_type='pdf', display_same... method from_state_setup (line 162) | def from_state_setup(state_setup: dict, **kwargs) -> 'Automaton': method to_state_setup (line 166) | def to_state_setup(self): method copy (line 169) | def copy(self) -> 'Automaton': method __reduce__ (line 172) | def __reduce__(self): class DeterministicAutomaton (line 176) | class DeterministicAutomaton(Automaton[AutomatonStateType]): method step (line 179) | def step(self, letter): method get_shortest_path (line 182) | def get_shortest_path(self, origin_state: AutomatonStateType, target_s... method is_strongly_connected (line 231) | def is_strongly_connected(self) -> bool: method output_step (line 249) | def output_step(self, state, letter): method find_distinguishing_seq (line 265) | def find_distinguishing_seq(self, state1, state2, alphabet): method compute_output_seq (line 297) | def compute_output_seq(self, state, sequence): method is_minimal (line 312) | def is_minimal(self): method compute_characterization_set (line 318) | def compute_characterization_set(self, char_set_init=None, method _split_blocks (line 413) | def _split_blocks(self, blocks, seq): method compute_prefixes (line 433) | def compute_prefixes(self): method minimize (line 438) | def minimize(self): method __eq__ (line 454) | def __eq__(self, other): FILE: aalpy/base/CacheTree.py class Node (line 1) | class Node(object): method __init__ (line 4) | def __init__(self, value=None): class CacheTree (line 9) | class CacheTree: method __init__ (line 18) | def __init__(self): method reset (line 24) | def reset(self): method step_in_cache (line 29) | def step_in_cache(self, inp, out): method in_cache (line 61) | def in_cache(self, input_seq: tuple): method add_to_cache (line 87) | def add_to_cache(self, input_sequence, output_sequence): class CacheDict (line 96) | class CacheDict: method __init__ (line 105) | def __init__(self): method reset (line 109) | def reset(self): method step_in_cache (line 113) | def step_in_cache(self, inp, out): method in_cache (line 143) | def in_cache(self, input_seq: tuple): method add_to_cache (line 161) | def add_to_cache(self, input_sequence, output_sequence): method get_output_sequence (line 168) | def get_output_sequence(self, input_seq): FILE: aalpy/base/Oracle.py class Oracle (line 6) | class Oracle(ABC): method __init__ (line 9) | def __init__(self, alphabet: list, sul: SUL): method find_cex (line 25) | def find_cex(self, hypothesis): method reset_hyp_and_sul (line 40) | def reset_hyp_and_sul(self, hypothesis): FILE: aalpy/base/SUL.py class SUL (line 6) | class SUL(ABC): method __init__ (line 13) | def __init__(self): method query (line 18) | def query(self, word: tuple) -> list: method io_query (line 43) | def io_query(self, word : tuple): method adaptive_query (line 46) | def adaptive_query(self, word, ads): method pre (line 95) | def pre(self): method post (line 102) | def post(self): method step (line 109) | def step(self, letter): class CacheSUL (line 125) | class CacheSUL(SUL): method __init__ (line 131) | def __init__(self, sul: SUL, cache_type='tree'): method query (line 136) | def query(self, word): method pre (line 168) | def pre(self): method post (line 175) | def post(self): method step (line 178) | def step(self, letter): FILE: aalpy/learning_algs/adaptive/AdaptiveLSharp.py function run_adaptive_Lsharp (line 9) | def run_adaptive_Lsharp(alphabet: list, sul: SUL, references: list, eq_o... FILE: aalpy/learning_algs/adaptive/AdaptiveObservationTree.py class AdaptiveObservationTree (line 10) | class AdaptiveObservationTree(ObservationTree): method __init__ (line 11) | def __init__(self, alphabet, sul, references, automaton_type, extensio... method build_hypothesis (line 53) | def build_hypothesis(self): method make_observation_tree_adequate_matching (line 72) | def make_observation_tree_adequate_matching(self): method make_frontiers_identified_with_matching (line 100) | def make_frontiers_identified_with_matching(self): method identify_frontier_with_matching (line 109) | def identify_frontier_with_matching(self, frontier_state): method identify_frontier_with_identifiers (line 132) | def identify_frontier_with_identifiers(self, frontier_state, identifie... method match_refinement (line 163) | def match_refinement(self): method find_distinguishing_seq_partial (line 172) | def find_distinguishing_seq_partial(self, model, state1, state2, alpha... method refine_matches_basis (line 197) | def refine_matches_basis(self, basis_state, matches): method match_separation (line 226) | def match_separation(self): method match_separation_frontier (line 251) | def match_separation_frontier(self, matched_states, frontier_state, ba... method promote_frontier_state (line 279) | def promote_frontier_state(self): method insert_observation (line 297) | def insert_observation(self, inputs, outputs): method extend_node_and_update_matching (line 314) | def extend_node_and_update_matching(self, inputs, outputs): method rebuild_obs_tree (line 337) | def rebuild_obs_tree(self): method prioritized_promotion (line 356) | def prioritized_promotion(self): method find_frontier_new_basis (line 370) | def find_frontier_new_basis(self): method find_basis_frontier_pair (line 386) | def find_basis_frontier_pair(self, frontier_state, frontier_state_acce... method insert_observation_rebuilding (line 414) | def insert_observation_rebuilding(self, inputs, outputs): method apart_from_all (line 432) | def apart_from_all(self, frontier_state): method add_ref_transitions_to_states (line 443) | def add_ref_transitions_to_states(self, reference, reference_id): method compute_prefix_map (line 464) | def compute_prefix_map(self, reference, reference_id): method compute_characterization_map (line 473) | def compute_characterization_map(self, reference, states): method get_combined_model (line 482) | def get_combined_model(self): FILE: aalpy/learning_algs/adaptive/StateMatching.py class StateMatching (line 4) | class StateMatching: method __init__ (line 5) | def __init__(self, alphabet, combined_model): method add_entry_basis (line 17) | def add_entry_basis(self, basis_state): method update_best_score (line 21) | def update_best_score(self, basis_state): method update_score (line 25) | def update_score(self, ob_tree, basis_state, reference_state, basis_st... method update_best_match (line 29) | def update_best_match(self, basis_state, score): method initialize_matching (line 32) | def initialize_matching(self, ob_tree): method update_matching (line 49) | def update_matching(self, to_recalc, split, ob_tree): method update_matching_basis (line 81) | def update_matching_basis(self, basis_state, ob_tree): method find_longest_words (line 97) | def find_longest_words(self, current_state, ob_tree, all_seqs): method validate_reference_input (line 115) | def validate_reference_input(self, inputs, reference_state): method is_prefix_of (line 124) | def is_prefix_of(self, str1, str2): method find_longest_common_part (line 133) | def find_longest_common_part(self, str1, str2): method print_match_table (line 143) | def print_match_table(self, ob_tree): class TotalStateMatching (line 167) | class TotalStateMatching(StateMatching): method __init__ (line 175) | def __init__(self, alphabet, combined_model): method add_entry_basis (line 178) | def add_entry_basis(self, basis_state, aut_type): method update_best_score (line 195) | def update_best_score(self, basis_state): method update_best_match (line 201) | def update_best_match(self, basis_state, score): method update_score (line 213) | def update_score(self, ob_tree, basis_state, reference_state, basis_st... method update_score_mealy (line 221) | def update_score_mealy(self, ob_tree, basis_state, reference_state, ba... method update_score_moore (line 248) | def update_score_moore(self, ob_tree, basis_state, reference_state, ba... class ApproximateStateMatching (line 285) | class ApproximateStateMatching(StateMatching): method __init__ (line 293) | def __init__(self, alphabet, combined_model): method add_entry_basis (line 297) | def add_entry_basis(self, basis_state, aut_type): method get_score (line 315) | def get_score(self, basis_state, ref_state): method update_best_score (line 321) | def update_best_score(self, basis_state): method update_best_match (line 328) | def update_best_match(self, basis_state, score): method update_score (line 340) | def update_score(self, ob_tree, basis_state, reference_state, basis_st... method update_score_mealy (line 347) | def update_score_mealy(self, ob_tree, basis_state, reference_state, ba... method update_score_moore (line 371) | def update_score_moore(self, ob_tree, basis_state, reference_state, ba... FILE: aalpy/learning_algs/deterministic/ADS.py class AdsNode (line 4) | class AdsNode: method __init__ (line 7) | def __init__(self, input_val=None, children=None, score=0): method create_leaf (line 13) | def create_leaf(): method get_input (line 16) | def get_input(self): method get_child_node (line 19) | def get_child_node(self, output): method get_score (line 24) | def get_score(self): class Ads (line 28) | class Ads: method __init__ (line 29) | def __init__(self, ob_tree, current_block): method get_score (line 33) | def get_score(self): method construct_ads (line 36) | def construct_ads(self, ob_tree, current_block): method construct_ads_rec (line 62) | def construct_ads_rec(self, ob_tree, current_block): method compute_output_subtree (line 107) | def compute_output_subtree(self, ob_tree, partition, u_i): method compute_score (line 113) | def compute_score(self, u_io, u_i, child_score): method partition_on_output_empty (line 117) | def partition_on_output_empty(self, block, automaton_type): method partition_on_output (line 126) | def partition_on_output(self, block, input_val, automaton_type): method next_input (line 144) | def next_input(self, prev_output): method maximal_base_input (line 153) | def maximal_base_input(self, alphabet, block, automaton_type): method reset_to_root (line 175) | def reset_to_root(self): FILE: aalpy/learning_algs/deterministic/Apartness.py class Apartness (line 4) | class Apartness: method compute_witness (line 6) | def compute_witness(state1, state2, ob_tree): method states_are_apart (line 19) | def states_are_apart(state1, state2, ob_tree): method _show_states_are_apart_mealy (line 27) | def _show_states_are_apart_mealy(first, second, alphabet): method _show_states_are_apart_moore (line 47) | def _show_states_are_apart_moore(first, second, alphabet): method compute_witness_in_tree_and_hypothesis_states (line 66) | def compute_witness_in_tree_and_hypothesis_states(ob_tree, ob_tree_sta... method compute_witness_in_tree_and_hypothesis_states_mealy (line 76) | def compute_witness_in_tree_and_hypothesis_states_mealy(ob_tree, ob_tr... method compute_witness_in_tree_and_hypothesis_states_moore (line 100) | def compute_witness_in_tree_and_hypothesis_states_moore(ob_tree, ob_tr... FILE: aalpy/learning_algs/deterministic/ClassificationTree.py class CTNode (line 14) | class CTNode: method __init__ (line 17) | def __init__(self, parent, path_to_node): method is_leaf (line 21) | def is_leaf(self): class CTInternalNode (line 25) | class CTInternalNode(CTNode): method __init__ (line 28) | def __init__(self, distinguishing_string: tuple, parent, path_to_node): method is_leaf (line 33) | def is_leaf(self): class CTLeafNode (line 37) | class CTLeafNode(CTNode): method __init__ (line 40) | def __init__(self, access_string: tuple, parent, path_to_node): method __repr__ (line 44) | def __repr__(self): method output (line 48) | def output(self): method is_leaf (line 58) | def is_leaf(self): class ClassificationTree (line 62) | class ClassificationTree: method __init__ (line 63) | def __init__(self, alphabet: Union[list, SevpaAlphabet], sul: SUL, aut... method _sift (line 111) | def _sift(self, word): method update_hypothesis (line 148) | def update_hypothesis(self): method _least_common_ancestor (line 251) | def _least_common_ancestor(self, node_1_id, node_2_id): method update (line 293) | def update(self, cex: tuple, hypothesis): method process_counterexample (line 335) | def process_counterexample(self, cex: tuple, hypothesis, cex_processin... method _insert_new_leaf (line 403) | def _insert_new_leaf(self, discriminator, old_leaf_access_string, new_... FILE: aalpy/learning_algs/deterministic/CounterExampleProcessing.py function counterexample_successfully_processed (line 5) | def counterexample_successfully_processed(sul, cex, hypothesis): function longest_prefix_cex_processing (line 11) | def longest_prefix_cex_processing(s_union_s_dot_a: list, cex: tuple, clo... function rs_cex_processing (line 46) | def rs_cex_processing(sul: SUL, cex: tuple, hypothesis, suffix_closednes... function linear_cex_processing (line 113) | def linear_cex_processing(sul: SUL, cex: tuple, hypothesis, suffix_close... function exponential_cex_processing (line 160) | def exponential_cex_processing(sul: SUL, cex: tuple, hypothesis, suffix_... FILE: aalpy/learning_algs/deterministic/KV.py function run_KV (line 17) | def run_KV(alphabet: Union[list, SevpaAlphabet], sul: SUL, eq_oracle: Or... FILE: aalpy/learning_algs/deterministic/LSharp.py function run_Lsharp (line 9) | def run_Lsharp(alphabet: list, sul: SUL, eq_oracle: Oracle, automaton_type, FILE: aalpy/learning_algs/deterministic/LStar.py function run_Lstar (line 16) | def run_Lstar(alphabet: list, sul: SUL, eq_oracle: Oracle, automaton_typ... FILE: aalpy/learning_algs/deterministic/ObservationTable.py class ObservationTable (line 10) | class ObservationTable: method __init__ (line 11) | def __init__(self, alphabet: list, sul: SUL, automaton_type, prefixes_... method get_rows_to_close (line 49) | def get_rows_to_close(self, closing_strategy='longest_first'): method get_causes_of_inconsistency (line 94) | def get_causes_of_inconsistency(self): method s_dot_a (line 116) | def s_dot_a(self): method update_obs_table (line 126) | def update_obs_table(self, s_set: list = None, e_set: list = None): method gen_hypothesis (line 156) | def gen_hypothesis(self, no_cex_processing_used=False) -> Automaton: method _get_row_representatives (line 213) | def _get_row_representatives(self): FILE: aalpy/learning_algs/deterministic/ObservationTree.py class MooreNode (line 7) | class MooreNode: method __init__ (line 11) | def __init__(self, parent=None): method __hash__ (line 19) | def __hash__(self): method add_successor (line 22) | def add_successor(self, input_val, output_val, successor_node): method get_successor (line 27) | def get_successor(self, input_val): method extend_and_get (line 33) | def extend_and_get(self, inp, output): method id_counter (line 43) | def id_counter(self): class MealyNode (line 47) | class MealyNode: method __init__ (line 51) | def __init__(self, parent=None): method __hash__ (line 58) | def __hash__(self): method add_successor (line 61) | def add_successor(self, input_val, output_val, successor_node): method get_successor (line 65) | def get_successor(self, input_val): method get_output (line 71) | def get_output(self, input_val): method extend_and_get (line 77) | def extend_and_get(self, inp, output): method id_counter (line 91) | def id_counter(self): class ObservationTree (line 95) | class ObservationTree: method __init__ (line 96) | def __init__(self, alphabet, sul, automaton_type, extension_rule, sepa... method insert_observation (line 125) | def insert_observation(self, inputs, outputs): method get_observation (line 134) | def get_observation(self, inputs): method get_outputs (line 150) | def get_outputs(self, basis_state, inputs): method get_successor (line 167) | def get_successor(self, inputs): method get_transfer_sequence (line 178) | def get_transfer_sequence(self, from_node, to_node): method get_access_sequence (line 192) | def get_access_sequence(self, to_node): method get_size (line 206) | def get_size(self): method update_frontier_and_basis (line 210) | def update_frontier_and_basis(self): method update_basis_candidates (line 217) | def update_basis_candidates(self, frontier_state): method update_frontier_to_basis_dict (line 231) | def update_frontier_to_basis_dict(self): method promote_frontier_state (line 242) | def promote_frontier_state(self): method check_frontier_consistency (line 257) | def check_frontier_consistency(self): method is_observation_tree_adequate (line 272) | def is_observation_tree_adequate(self): method make_basis_complete (line 291) | def make_basis_complete(self): method find_basis_candidates (line 301) | def find_basis_candidates(self, new_frontier): method explore_frontier (line 307) | def explore_frontier(self, basis_state, inp): method adaptive_output_query (line 331) | def adaptive_output_query(self, prefix, infix, ads): method adaptive_output_query_base (line 336) | def adaptive_output_query_base(self, prefix, ads): method _answer_ads_from_tree (line 359) | def _answer_ads_from_tree(self, ads, from_node): method get_or_compute_witness (line 390) | def get_or_compute_witness(self, state_one, state_two): method make_frontiers_identified (line 407) | def make_frontiers_identified(self): method identify_frontier (line 412) | def identify_frontier(self, frontier_state): method _identify_frontier_sepseq (line 434) | def _identify_frontier_sepseq(self, frontier_state): method _identify_frontier_ads (line 448) | def _identify_frontier_ads(self, frontier_state): method construct_hypothesis_states (line 455) | def construct_hypothesis_states(self): method construct_hypothesis_transitions (line 472) | def construct_hypothesis_transitions(self): method construct_hypothesis (line 495) | def construct_hypothesis(self): method build_hypothesis (line 508) | def build_hypothesis(self): method make_observation_tree_adequate (line 521) | def make_observation_tree_adequate(self): method process_counter_example (line 531) | def process_counter_example(self, hypothesis, cex_inputs, cex_outputs): method _get_counter_example_prefix_index (line 544) | def _get_counter_example_prefix_index(self, cex_outputs, hyp_outputs): method _process_binary_search (line 551) | def _process_binary_search(self, hypothesis, cex_inputs, cex_outputs): method _get_automaton_successor (line 604) | def _get_automaton_successor(self, automaton, from_state, inputs): FILE: aalpy/learning_algs/deterministic_passive/ClassicRPNI.py class ClassicRPNI (line 7) | class ClassicRPNI: method __init__ (line 8) | def __init__(self, data, automaton_type, print_info=True): method run_rpni (line 20) | def run_rpni(self): method _compatible (line 56) | def _compatible(self, root_node): method _merge (line 65) | def _merge(self, red_node, lex_min_blue, copy_nodes=False): method _fold (line 89) | def _fold(self, red_node, blue_node): method _fold_mealy (line 99) | def _fold_mealy(self, red_node, blue_node): FILE: aalpy/learning_algs/deterministic_passive/GsmRPNI.py class GsmRPNI (line 7) | class GsmRPNI: method __init__ (line 8) | def __init__(self, data, automaton_type, print_info=True): method run_rpni (line 21) | def run_rpni(self): method _partition_from_merge (line 69) | def _partition_from_merge(self, red: RpniNode, blue: RpniNode): FILE: aalpy/learning_algs/deterministic_passive/PAPNI.py function run_PAPNI (line 4) | def run_PAPNI(data, vpa_alphabet, algorithm='edsm', print_info=True): FILE: aalpy/learning_algs/deterministic_passive/RPNI.py function run_RPNI (line 8) | def run_RPNI(data, automaton_type, algorithm='gsm', FILE: aalpy/learning_algs/deterministic_passive/active_RPNI.py class RpniActiveSampler (line 8) | class RpniActiveSampler(ABC): method sample (line 14) | def sample(self, sul, model): class RandomWordSampler (line 31) | class RandomWordSampler(RpniActiveSampler): method __init__ (line 32) | def __init__(self, num_walks, min_walk_len, max_walk_len): method sample (line 37) | def sample(self, sul, model): function run_active_RPNI (line 52) | def run_active_RPNI(data, sul, sampler, n_iter, automaton_type, print_in... FILE: aalpy/learning_algs/deterministic_passive/rpni_helper_functions.py class RpniNode (line 6) | class RpniNode: method __init__ (line 9) | def __init__(self, output=None, children=None, automaton_type='moore'): method shallow_copy (line 19) | def shallow_copy(self): method copy (line 23) | def copy(self): method __lt__ (line 26) | def __lt__(self, other): method __eq__ (line 30) | def __eq__(self, other): method __hash__ (line 33) | def __hash__(self): method compatible_outputs (line 36) | def compatible_outputs(self, other): method get_child_by_prefix (line 51) | def get_child_by_prefix(self, prefix): function check_sequence (line 58) | def check_sequence(root_node, seq, automaton_type): function createPTA (line 81) | def createPTA(data, automaton_type): function extract_unique_sequences (line 108) | def extract_unique_sequences(root_node, automaton_type): function to_automaton (line 138) | def to_automaton(red, automaton_type): function visualize_pta (line 172) | def visualize_pta(root_node, path='pta.pdf'): FILE: aalpy/learning_algs/general_passive/GeneralizedStateMerging.py class Partitioning (line 13) | class Partitioning: method __init__ (line 14) | def __init__(self, red: GsmNode, blue: GsmNode): class Instrumentation (line 22) | class Instrumentation: method __init__ (line 23) | def __init__(self): method reset (line 26) | def reset(self, gsm: 'GeneralizedStateMerging'): method pta_construction_done (line 29) | def pta_construction_done(self, root: GsmNode): method log_promote (line 32) | def log_promote(self, node: GsmNode): method log_merge (line 35) | def log_merge(self, part: Partitioning): method learning_done (line 38) | def learning_done(self, root: GsmNode): class GeneralizedStateMerging (line 42) | class GeneralizedStateMerging: method __init__ (line 43) | def __init__(self, *, method compute_local_compatibility (line 85) | def compute_local_compatibility(self, a: GsmNode, b: GsmNode): method run (line 94) | def run(self, data, convert=True, instrumentation: Instrumentation=Non... method _check_futures (line 202) | def _check_futures(self, red: GsmNode, blue: GsmNode) -> bool: method _partition_from_merge (line 223) | def _partition_from_merge(self, red: GsmNode, blue: GsmNode) -> Partit... function run_GSM (line 304) | def run_GSM(data: list, *, FILE: aalpy/learning_algs/general_passive/GsmAlgorithms.py function run_EDSM (line 12) | def run_EDSM(data, automaton_type, input_completeness=None, print_info=T... function run_k_tails (line 63) | def run_k_tails(data, automaton_type, k, input_completeness=None, print_... function run_Alergia_EDSM (line 116) | def run_Alergia_EDSM(data, automaton_type, eps=0.05, print_info=False): FILE: aalpy/learning_algs/general_passive/GsmNode.py function intersection_iterator (line 36) | def intersection_iterator(a: Dict[Key, Val], b: Dict[Key, Val]) -> Itera... function union_iterator (line 45) | def union_iterator(a: Dict[Key, Val], b: Dict[Key, Val], default: Val = ... function detect_data_format (line 57) | def detect_data_format(data, check_consistency=False, guess=False): class TransitionInfo (line 101) | class TransitionInfo: method __init__ (line 104) | def __init__(self, target, count, original_target, original_count): class GsmNode (line 113) | class GsmNode: method __init__ (line 125) | def __init__(self, prefix_access_pair, predecessor: 'GsmNode' = None): method __lt__ (line 131) | def __lt__(self, other, compare_length_only=False): method get_prefix_length (line 146) | def get_prefix_length(self): method get_prefix_output (line 154) | def get_prefix_output(self): method get_prefix_input (line 157) | def get_prefix_input(self): method resolve_unknown_prefix_output (line 160) | def resolve_unknown_prefix_output(self, value): method get_prefix (line 164) | def get_prefix(self, include_output=True): method get_root (line 176) | def get_root(self): method get_or_create_transitions (line 182) | def get_or_create_transitions(self, in_sym) -> Dict[Any, TransitionInfo]: method transition_iterator (line 189) | def transition_iterator(self) -> Iterable[Tuple[Any, Any, TransitionIn... method shallow_copy (line 194) | def shallow_copy(self) -> 'GsmNode': method get_by_prefix (line 203) | def get_by_prefix(self, seq: IOTrace) -> Optional['GsmNode']: method get_all_nodes (line 217) | def get_all_nodes(self) -> List['GsmNode']: method is_tree (line 228) | def is_tree(self): method to_automaton (line 241) | def to_automaton(self, output_behavior: OutputBehavior, transition_beh... method visualize (line 305) | def visualize(self, path: Union[str, pathlib.Path], output_behavior: O... method make_input_complete (line 378) | def make_input_complete(self) -> List[Tuple['GsmNode', Any, Any]]: method add_trace (line 392) | def add_trace(self, trace: IOTrace): method add_labeled_sequence (line 406) | def add_labeled_sequence(self, example: IOExample): method createPTA (line 440) | def createPTA(data, output_behavior, data_format=None) -> 'GsmNode': method is_locally_deterministic (line 465) | def is_locally_deterministic(self): method is_deterministic (line 468) | def is_deterministic(self): method deterministic_compatible (line 471) | def deterministic_compatible(self, other: 'GsmNode'): method is_moore (line 479) | def is_moore(self): method moore_compatible (line 487) | def moore_compatible(self, other: 'GsmNode'): method local_log_likelihood_contribution (line 492) | def local_log_likelihood_contribution(self): method count (line 503) | def count(self): FILE: aalpy/learning_algs/general_passive/Instrumentation.py class ProgressReport (line 9) | class ProgressReport(Instrumentation): method __init__ (line 10) | def __init__(self, lvl): method reset (line 26) | def reset(self, gsm: GeneralizedStateMerging): method pta_construction_done (line 37) | def pta_construction_done(self, root): method print_status (line 51) | def print_status(self): method log_promote (line 58) | def log_promote(self, node: GsmNode): method log_merge (line 63) | def log_merge(self, part: Partitioning): method learning_done (line 69) | def learning_done(self, root: GsmNode): class MergeViolationDebugger (line 79) | class MergeViolationDebugger(Instrumentation): method __init__ (line 80) | def __init__(self, ground_truth: GsmNode): method reset (line 87) | def reset(self, gsm: GeneralizedStateMerging): method log_promote (line 92) | def log_promote(self, new_red: GsmNode): method log_merge (line 106) | def log_merge(self, part: Partitioning): FILE: aalpy/learning_algs/general_passive/ScoreFunctionsGSM.py class ScoreCalculation (line 11) | class ScoreCalculation: method __init__ (line 12) | def __init__(self, local_compatibility: LocalCompatibilityFunction = N... method reset (line 22) | def reset(self): method default_local_compatibility (line 26) | def default_local_compatibility(a: GsmNode, b: GsmNode): method default_score_function (line 30) | def default_score_function(part: Dict[GsmNode, GsmNode]): method has_score_function (line 33) | def has_score_function(self): method has_local_compatibility (line 36) | def has_local_compatibility(self): function hoeffding_compatibility (line 40) | def hoeffding_compatibility(eps, compare_original=True) -> LocalCompatib... class ScoreWithKTail (line 63) | class ScoreWithKTail(ScoreCalculation): method __init__ (line 66) | def __init__(self, other_score: ScoreCalculation, k: int): method reset (line 73) | def reset(self): method local_compatibility (line 77) | def local_compatibility(self, a: GsmNode, b: GsmNode): class ScoreWithSinks (line 88) | class ScoreWithSinks(ScoreCalculation): method __init__ (line 91) | def __init__(self, other_score: ScoreCalculation, sink_cond: Callable[... method reset (line 99) | def reset(self): method local_compatibility (line 103) | def local_compatibility(self, a: GsmNode, b: GsmNode): class ScoreCombinator (line 114) | class ScoreCombinator(ScoreCalculation): method __init__ (line 120) | def __init__(self, scores: List[ScoreCalculation], aggregate_compatibi... method reset (line 127) | def reset(self): method local_compatibility (line 131) | def local_compatibility(self, a: GsmNode, b: GsmNode): method score_function (line 134) | def score_function(self, part: Dict[GsmNode, GsmNode]): method default_aggregate_compatibility (line 138) | def default_aggregate_compatibility(compatibility_iterable): method default_aggregate_score (line 147) | def default_aggregate_score(score_iterable): function local_to_global_compatibility (line 151) | def local_to_global_compatibility(local_fun: LocalCompatibilityFunction)... function differential_info (line 168) | def differential_info(part: Dict[GsmNode, GsmNode]): function transform_score (line 181) | def transform_score(score, transform: Callable): function make_greedy (line 190) | def make_greedy(score): function lower_threshold (line 194) | def lower_threshold(score, thresh): function AIC_score (line 198) | def AIC_score(alpha=0) -> ScoreFunction: function EDSM_frequency_score (line 206) | def EDSM_frequency_score(min_evidence=-1) -> ScoreFunction: function EDSM_score (line 219) | def EDSM_score(min_evidence=-1) -> ScoreFunction: FILE: aalpy/learning_algs/non_deterministic/AbstractedOnfsmLstar.py function run_abstracted_ONFSM_Lstar (line 11) | def run_abstracted_ONFSM_Lstar(alphabet: list, sul: SUL, eq_oracle: Orac... FILE: aalpy/learning_algs/non_deterministic/AbstractedOnfsmObservationTable.py class AbstractedNonDetObservationTable (line 9) | class AbstractedNonDetObservationTable: method __init__ (line 10) | def __init__(self, alphabet: list, sul: NonDeterministicSULWrapper, ab... method update_obs_table (line 38) | def update_obs_table(self, s_set=None, e_set: list = None): method abstract_obs_table (line 56) | def abstract_obs_table(self): method add_to_T (line 80) | def add_to_T(self, s, e, value): method get_all_outputs (line 98) | def get_all_outputs(self, s, e): method update_extended_S (line 103) | def update_extended_S(self, row_prefix=None): method get_row_to_close (line 115) | def get_row_to_close(self): method get_row_to_complete (line 137) | def get_row_to_complete(self): method get_row_to_make_consistent (line 172) | def get_row_to_make_consistent(self): method get_distinctive_input_sequence (line 209) | def get_distinctive_input_sequence(self, first_row, second_row, inp): method update_E (line 230) | def update_E(self, seq): method clean_obs_table (line 234) | def clean_obs_table(self): method row_to_hashable (line 265) | def row_to_hashable(self, row_prefix): method gen_hypothesis (line 285) | def gen_hypothesis(self) -> Onfsm: method extend_S_dot_A (line 333) | def extend_S_dot_A(self, cex_prefixes: list): method get_abstraction (line 353) | def get_abstraction(self, out): method cex_processing (line 367) | def cex_processing(self, cex: tuple, hypothesis: Onfsm): method clean_tables (line 415) | def clean_tables(self): FILE: aalpy/learning_algs/non_deterministic/NonDeterministicSULWrapper.py class NonDeterministicSULWrapper (line 5) | class NonDeterministicSULWrapper(SUL): method __init__ (line 10) | def __init__(self, sul: SUL): method pre (line 15) | def pre(self): method post (line 19) | def post(self): method step (line 22) | def step(self, letter): FILE: aalpy/learning_algs/non_deterministic/OnfsmLstar.py function run_non_det_Lstar (line 14) | def run_non_det_Lstar(alphabet: list, sul: SUL, eq_oracle: Oracle, n_sam... function counterexample_not_valid (line 142) | def counterexample_not_valid(hypothesis, cex): FILE: aalpy/learning_algs/non_deterministic/OnfsmObservationTable.py class NonDetObservationTable (line 7) | class NonDetObservationTable: method __init__ (line 9) | def __init__(self, alphabet: list, sul: NonDeterministicSULWrapper, n_... method get_row_to_close (line 43) | def get_row_to_close(self): method get_extended_S (line 68) | def get_extended_S(self, row_prefix=None): method query_missing_observations (line 92) | def query_missing_observations(self, s=None, e=None): method row_to_hashable (line 101) | def row_to_hashable(self, row_prefix): method clean_obs_table (line 127) | def clean_obs_table(self): method gen_hypothesis (line 154) | def gen_hypothesis(self, stochastic=False): FILE: aalpy/learning_algs/non_deterministic/TraceTree.py class Node (line 4) | class Node: method __init__ (line 7) | def __init__(self, output): method get_child (line 15) | def get_child(self, inp, out): method get_prefix (line 26) | def get_prefix(self): class TraceTree (line 35) | class TraceTree: method __init__ (line 40) | def __init__(self): method reset (line 44) | def reset(self): method add_to_tree (line 47) | def add_to_tree(self, inp, out): method add_trace (line 66) | def add_trace(self, inputs, outputs): method get_to_node (line 71) | def get_to_node(self, inputs, outputs): method get_all_traces (line 92) | def get_all_traces(self, prefix, e=None): method get_table (line 128) | def get_table(self, s, e): method find_cex_in_cache (line 148) | def find_cex_in_cache(self, hypothesis): method get_s_e_sampling_frequency (line 171) | def get_s_e_sampling_frequency(self, prefix, suffix): method get_sampling_distributions (line 192) | def get_sampling_distributions(self, prefix, input_from_alphabet): FILE: aalpy/learning_algs/stochastic/DifferenceChecker.py class DifferenceChecker (line 27) | class DifferenceChecker(ABC): method are_cells_different (line 30) | def are_cells_different(self, c1: dict, c2: dict, **kwargs) -> bool: method difference_value (line 33) | def difference_value(self, c1: dict, c2: dict): method use_diff_value (line 36) | def use_diff_value(self): class HoeffdingChecker (line 40) | class HoeffdingChecker(DifferenceChecker): method __init__ (line 42) | def __init__(self, alpha=0.05): method are_cells_different (line 45) | def are_cells_different(self, c1: dict, c2: dict, **kwargs) -> bool: function compute_epsilon (line 60) | def compute_epsilon(alpha1, n1): class AdvancedHoeffdingChecker (line 65) | class AdvancedHoeffdingChecker(DifferenceChecker): method __init__ (line 66) | def __init__(self, alpha=0.05, use_diff=False): method are_cells_different (line 70) | def are_cells_different(self, c1: dict, c2: dict, **kwargs) -> bool: method use_diff_value (line 87) | def use_diff_value(self): method difference_value (line 90) | def difference_value(self, c1_out_freq: dict, c2_out_freq: dict): class ChiSquareChecker (line 111) | class ChiSquareChecker(DifferenceChecker): method __init__ (line 113) | def __init__(self, alpha=0.001, use_diff_value=False): method are_cells_different (line 121) | def are_cells_different(self, c1_out_freq: dict, c2_out_freq: dict, **... method use_diff_value (line 144) | def use_diff_value(self): method difference_value (line 147) | def difference_value(self, c1_out_freq: dict, c2_out_freq: dict): method compute_Q (line 162) | def compute_Q(self, c1_out_freq, c2_out_freq, keys): FILE: aalpy/learning_algs/stochastic/SamplingBasedObservationTable.py class SamplingBasedObservationTable (line 9) | class SamplingBasedObservationTable: method __init__ (line 10) | def __init__(self, input_alphabet: list, automaton_type, teacher: Stoc... method refine_not_completed_cells (line 53) | def refine_not_completed_cells(self, n_resample, uniform=False): method update_obs_table_with_freq_obs (line 114) | def update_obs_table_with_freq_obs(self, element_of_s=None): method get_extended_s (line 136) | def get_extended_s(self, element_of_s=None): method make_closed_and_consistent (line 157) | def make_closed_and_consistent(self): method get_row_to_close (line 186) | def get_row_to_close(self): method get_consistency_violation (line 204) | def get_consistency_violation(self, ignore=None): method get_representative (line 235) | def get_representative(self, target): method trim_columns (line 278) | def trim_columns(self): method trim (line 307) | def trim(self, hypothesis): method stop (line 361) | def stop(self, learning_round, chaos_cex_present, cex, stopping_range_... method get_unamb_percentage (line 420) | def get_unamb_percentage(self): method are_cells_incompatible (line 434) | def are_cells_incompatible(self, s1, s2, e): method are_rows_compatible (line 460) | def are_rows_compatible(self, s1, s2, e_ignore=None): method update_compatibility_classes (line 485) | def update_compatibility_classes(self): method chaos_counterexample (line 523) | def chaos_counterexample(self, hypothesis): method add_to_PTA (line 553) | def add_to_PTA(self, pta_root, trace, uncertainty_value=None): method generate_hypothesis (line 582) | def generate_hypothesis(self): FILE: aalpy/learning_algs/stochastic/StochasticCexProcessing.py function stochastic_longest_prefix (line 5) | def stochastic_longest_prefix(cex, prefixes): function stochastic_rs (line 45) | def stochastic_rs(sul: SUL, cex: tuple, hypothesis): FILE: aalpy/learning_algs/stochastic/StochasticLStar.py function run_stochastic_Lstar (line 24) | def run_stochastic_Lstar(input_alphabet, sul: SUL, eq_oracle: Oracle, ta... FILE: aalpy/learning_algs/stochastic/StochasticTeacher.py class StochasticSUL (line 8) | class StochasticSUL(SUL): method __init__ (line 9) | def __init__(self, sul, teacher): method pre (line 14) | def pre(self): method post (line 19) | def post(self): method step (line 22) | def step(self, letter): class Node (line 29) | class Node: method __init__ (line 34) | def __init__(self, output): method get_child (line 40) | def get_child(self, inp, out): method get_frequency_sum (line 57) | def get_frequency_sum(self, input_letter): method get_output_frequencies (line 65) | def get_output_frequencies(self, input_letter): class StochasticTeacher (line 81) | class StochasticTeacher: method __init__ (line 87) | def __init__(self, sul: SUL, n_c, eq_oracle, automaton_type, compatibi... method back_to_root (line 111) | def back_to_root(self): method add (line 114) | def add(self, inp, out): method frequency_query (line 133) | def frequency_query(self, s: tuple, e: tuple): method complete_query (line 166) | def complete_query(self, s: tuple, e: tuple): method tree_query (line 211) | def tree_query(self, pta_root): method single_dfs_for_cex (line 267) | def single_dfs_for_cex(self, stop_prob, hypothesis): method dfs_for_cex_in_tree (line 306) | def dfs_for_cex_in_tree(self, hypothesis, nr_traces, stop_prob): method bfs_for_cex_in_tree (line 313) | def bfs_for_cex_in_tree(self, hypothesis): method equivalence_query (line 344) | def equivalence_query(self, hypothesis): method is_cex_processed (line 383) | def is_cex_processed(self, hypothesis, cex): FILE: aalpy/learning_algs/stochastic_passive/ActiveAleriga.py class Sampler (line 7) | class Sampler(ABC): method sample (line 13) | def sample(self, sul, model): class RandomWordSampler (line 30) | class RandomWordSampler(Sampler): method __init__ (line 31) | def __init__(self, num_walks, min_walk_len, max_walk_len): method sample (line 36) | def sample(self, sul, model): function run_active_Alergia (line 55) | def run_active_Alergia(data, sul, sampler, n_iter, eps=0.05, compatibili... FILE: aalpy/learning_algs/stochastic_passive/Alergia.py class Alergia (line 13) | class Alergia: method __init__ (line 14) | def __init__(self, data, automaton_type, eps=0.05, compatibility_check... method compatibility_test (line 33) | def compatibility_test(self, a, b): method merge (line 54) | def merge(self, red_state, blue_state): method fold (line 64) | def fold(self, red, blue): method run (line 73) | def run(self): method normalize (line 115) | def normalize(self, red): method to_automaton (line 128) | def to_automaton(self, red): function run_Alergia (line 165) | def run_Alergia(data, automaton_type, eps=0.05, compatibility_checker=No... function run_JAlergia (line 199) | def run_JAlergia(path_to_data_file, automaton_type, path_to_jAlergia_jar... FILE: aalpy/learning_algs/stochastic_passive/CompatibilityChecker.py class CompatibilityChecker (line 7) | class CompatibilityChecker(ABC): method are_states_different (line 10) | def are_states_different(self, a: AlergiaPtaNode, b: AlergiaPtaNode, *... class HoeffdingCompatibility (line 14) | class HoeffdingCompatibility(CompatibilityChecker): method __init__ (line 15) | def __init__(self, eps): method hoeffding_bound (line 19) | def hoeffding_bound(self, a: dict, b: dict): method are_states_different (line 36) | def are_states_different(self, a: AlergiaPtaNode, b: AlergiaPtaNode, *... FILE: aalpy/learning_algs/stochastic_passive/FPTA.py class AlergiaPtaNode (line 5) | class AlergiaPtaNode: method __init__ (line 9) | def __init__(self, output, prefix): method successors (line 22) | def successors(self): method get_inputs (line 25) | def get_inputs(self): method get_input_frequency (line 28) | def get_input_frequency(self, target_input): method get_output_frequencies (line 31) | def get_output_frequencies(self, target_input): method get_immutable_inputs (line 34) | def get_immutable_inputs(self): method get_immutable_input_frequency (line 37) | def get_immutable_input_frequency(self, target_input): method get_original_output_frequencies (line 40) | def get_original_output_frequencies(self, target_input): method __lt__ (line 43) | def __lt__(self, other): method __le__ (line 46) | def __le__(self, other): method __eq__ (line 49) | def __eq__(self, other): function create_fpta (line 53) | def create_fpta(data, automaton_type): FILE: aalpy/oracles/BreadthFirstExplorationEqOracle.py class BreadthFirstExplorationEqOracle (line 8) | class BreadthFirstExplorationEqOracle(Oracle): method __init__ (line 14) | def __init__(self, alphabet, sul: SUL, depth=5): method find_cex (line 35) | def find_cex(self, hypothesis): FILE: aalpy/oracles/CacheBasedEqOracle.py class CacheBasedEqOracle (line 7) | class CacheBasedEqOracle(Oracle): method __init__ (line 14) | def __init__(self, alphabet: list, sul: SUL, num_walks=100, depth_incr... method find_cex (line 38) | def find_cex(self, hypothesis): method get_paths (line 78) | def get_paths(self, t, paths=None, current_path=None): FILE: aalpy/oracles/KWayStateCoverageEqOracle.py class KWayStateCoverageEqOracle (line 7) | class KWayStateCoverageEqOracle(Oracle): method __init__ (line 13) | def __init__(self, alphabet: list, sul: SUL, k=2, random_walk_len=20, method find_cex (line 40) | def find_cex(self, hypothesis): FILE: aalpy/oracles/KWayTransitionCoverageEqOracle.py class KWayTransitionCoverageEqOracle (line 11) | class KWayTransitionCoverageEqOracle(Oracle): method __init__ (line 18) | def __init__(self, alphabet: list, sul: SUL, k: int = 2, method='random', method find_cex (line 64) | def find_cex(self, hypothesis: Automaton): method greedy_set_cover (line 114) | def greedy_set_cover(self, hypothesis: Automaton, paths: list): method select_optimal_path (line 138) | def select_optimal_path(self, covered: set, paths: list) -> Path: method generate_random_paths (line 150) | def generate_random_paths(self, hypothesis: Automaton) -> list: method generate_prefix_steps (line 161) | def generate_prefix_steps(self, hypothesis: Automaton): method create_path (line 167) | def create_path(self, hypothesis: Automaton, steps: tuple) -> Path: method check_path (line 193) | def check_path(self, hypothesis: Automaton, steps: tuple): FILE: aalpy/oracles/PacOracle.py class PacOracle (line 7) | class PacOracle(Oracle): method __init__ (line 16) | def __init__(self, alphabet: list, sul: SUL, epsilon=0.01, delta=0.01,... method find_cex (line 25) | def find_cex(self, hypothesis): FILE: aalpy/oracles/PerfectKnowledgeEqOracle.py class PerfectKnowledgeEqOracle (line 5) | class PerfectKnowledgeEqOracle(Oracle): method __init__ (line 10) | def __init__(self, alphabet: list, sul: SUL, model_under_learning: Det... method find_cex (line 14) | def find_cex(self, hypothesis): FILE: aalpy/oracles/ProvidedSequencesOracleWrapper.py class ProvidedSequencesOracleWrapper (line 4) | class ProvidedSequencesOracleWrapper(Oracle): method __init__ (line 5) | def __init__(self, alphabet: list, sul: SUL, oracle: Oracle, provided_... method find_cex (line 21) | def find_cex(self, hypothesis): FILE: aalpy/oracles/RandomWalkEqOracle.py class RandomWalkEqOracle (line 9) | class RandomWalkEqOracle(Oracle): method __init__ (line 15) | def __init__(self, alphabet: list, sul: SUL, num_steps=5000, reset_aft... method find_cex (line 38) | def find_cex(self, hypothesis): method reset_counter (line 88) | def reset_counter(self): FILE: aalpy/oracles/RandomWordEqOracle.py class RandomWordEqOracle (line 10) | class RandomWordEqOracle(Oracle): method __init__ (line 15) | def __init__(self, alphabet: list, sul: SUL, num_walks=500, min_walk_l... method find_cex (line 43) | def find_cex(self, hypothesis): method reset_counter (line 97) | def reset_counter(self): FILE: aalpy/oracles/StatePrefixEqOracle.py class StatePrefixEqOracle (line 7) | class StatePrefixEqOracle(Oracle): method __init__ (line 15) | def __init__(self, alphabet: list, sul: SUL, walks_per_state=25, walk_... method find_cex (line 40) | def find_cex(self, hypothesis): FILE: aalpy/oracles/TransitionFocusOracle.py class TransitionFocusOracle (line 7) | class TransitionFocusOracle(Oracle): method __init__ (line 14) | def __init__(self, alphabet, sul: SUL, num_random_walks=500, walk_len=... method find_cex (line 29) | def find_cex(self, hypothesis): FILE: aalpy/oracles/UserInputEqOracle.py class UserInputEqOracle (line 5) | class UserInputEqOracle(Oracle): method __init__ (line 25) | def __init__(self, alphabet: list, sul: SUL): method find_cex (line 29) | def find_cex(self, hypothesis): FILE: aalpy/oracles/WMethodEqOracle.py class WMethodEqOracle (line 8) | class WMethodEqOracle(Oracle): method __init__ (line 14) | def __init__(self, alphabet: list, sul: SUL, max_number_of_states): method test_suite (line 27) | def test_suite(self, cover, depth, char_set): method find_cex (line 47) | def find_cex(self, hypothesis): class RandomWMethodEqOracle (line 81) | class RandomWMethodEqOracle(Oracle): method __init__ (line 88) | def __init__(self, alphabet: list, sul: SUL, walks_per_state=25, walk_... method find_cex (line 106) | def find_cex(self, hypothesis): FILE: aalpy/oracles/WpMethodEqOracle.py function state_characterization_set (line 7) | def state_characterization_set(hypothesis, alphabet, state): function first_phase_it (line 25) | def first_phase_it(alphabet, state_cover, depth, char_set): function second_phase_it (line 43) | def second_phase_it(hyp, alphabet, difference, depth): class WpMethodEqOracle (line 66) | class WpMethodEqOracle(Oracle): method __init__ (line 71) | def __init__(self, alphabet: list, sul: SUL, max_number_of_states=4): method find_cex (line 76) | def find_cex(self, hypothesis): class RandomWpMethodEqOracle (line 116) | class RandomWpMethodEqOracle(Oracle): method __init__ (line 126) | def __init__( method find_cex (line 133) | def find_cex(self, hypothesis): FILE: aalpy/utils/AutomatonGenerators.py function generate_random_deterministic_automata (line 9) | def generate_random_deterministic_automata(automaton_type, function generate_random_mealy_machine (line 146) | def generate_random_mealy_machine(num_states, input_alphabet, output_alp... function generate_random_moore_machine (line 175) | def generate_random_moore_machine(num_states, input_alphabet, output_alp... function generate_random_dfa (line 204) | def generate_random_dfa(num_states, alphabet, num_accepting_states=1, function generate_random_mdp (line 236) | def generate_random_mdp(num_states, input_size, output_size, possible_pr... function generate_random_smm (line 299) | def generate_random_smm(num_states, input_size, output_size, possible_pr... function generate_random_ONFSM (line 360) | def generate_random_ONFSM(num_states, num_inputs, num_outputs, multiple_... function generate_random_markov_chain (line 404) | def generate_random_markov_chain(num_states): function _has_transition (line 429) | def _has_transition(state: SevpaState, transition_letter, stack_guard) -... function generate_random_sevpa (line 444) | def generate_random_sevpa(num_states, internal_alphabet_size, call_alpha... FILE: aalpy/utils/BenchmarkSULs.py function get_Angluin_dfa (line 1) | def get_Angluin_dfa(): function get_benchmark_ONFSM (line 14) | def get_benchmark_ONFSM(): function get_ONFSM (line 43) | def get_ONFSM(): function get_faulty_coffee_machine_MDP (line 89) | def get_faulty_coffee_machine_MDP(): function get_weird_coffee_machine_MDP (line 109) | def get_weird_coffee_machine_MDP(): function get_faulty_coffee_machine_SMM (line 157) | def get_faulty_coffee_machine_SMM(): function get_minimal_faulty_coffee_machine_SMM (line 177) | def get_minimal_faulty_coffee_machine_SMM(): function get_faulty_mqtt_SMM (line 194) | def get_faulty_mqtt_SMM(): function get_small_gridworld (line 226) | def get_small_gridworld(): class MockMqttExample (line 276) | class MockMqttExample: method __init__ (line 278) | def __init__(self): method subscribe (line 282) | def subscribe(self, topic: str): method unsubscribe (line 292) | def unsubscribe(self, topic): method connect (line 303) | def connect(self): method disconnect (line 311) | def disconnect(self): method publish (line 316) | def publish(self, topic): class DateValidator (line 328) | class DateValidator: method is_date_accepted (line 335) | def is_date_accepted(self, date_string: str): function get_small_pomdp (line 361) | def get_small_pomdp(): function is_balanced (line 390) | def is_balanced(test_string, call_return_map, allow_empty_string): function get_balanced_string_sul (line 411) | def get_balanced_string_sul(call_return_map, allow_empty_string): FILE: aalpy/utils/BenchmarkSevpaModels.py function sevpa_for_L1 (line 5) | def sevpa_for_L1(): function sevpa_for_L2 (line 15) | def sevpa_for_L2(): function sevpa_for_L3 (line 28) | def sevpa_for_L3(): function sevpa_for_L4 (line 53) | def sevpa_for_L4(): function sevpa_for_L5 (line 65) | def sevpa_for_L5(): function sevpa_for_L7 (line 80) | def sevpa_for_L7(): function sevpa_for_L8 (line 98) | def sevpa_for_L8(): function sevpa_for_L9 (line 118) | def sevpa_for_L9(): function sevpa_for_L10 (line 143) | def sevpa_for_L10(): function sevpa_for_L11 (line 174) | def sevpa_for_L11(): function sevpa_for_L12 (line 207) | def sevpa_for_L12(): function sevpa_for_L13 (line 220) | def sevpa_for_L13(): function sevpa_for_L14 (line 239) | def sevpa_for_L14(): function sevpa_for_L15 (line 262) | def sevpa_for_L15(): FILE: aalpy/utils/BenchmarkVpaModels.py function vpa_L1 (line 6) | def vpa_L1(): function vpa_L2 (line 24) | def vpa_L2(): function vpa_for_L3 (line 43) | def vpa_for_L3(): function vpa_L3 (line 72) | def vpa_L3(): function vpa_L4 (line 93) | def vpa_L4(): function vpa_L6 (line 116) | def vpa_L6(): function vpa_L8 (line 142) | def vpa_L8(): function vpa_L9 (line 171) | def vpa_L9(): function vpa_L10 (line 197) | def vpa_L10(): function vpa_L11 (line 223) | def vpa_L11(): function vpa_L12 (line 252) | def vpa_L12(): function vpa_for_L16 (line 280) | def vpa_for_L16(): function vpa_for_odd_parentheses (line 300) | def vpa_for_odd_parentheses(): function vpa_for_even_parentheses (line 327) | def vpa_for_even_parentheses(): function gen_arithmetic_data (line 353) | def gen_arithmetic_data(num_sequences=3000, min_seq_len=2, max_seq_len=8): function vpa_json (line 404) | def vpa_json(): function get_all_VPAs (line 460) | def get_all_VPAs(): FILE: aalpy/utils/DataHandler.py class DataHandler (line 4) | class DataHandler(ABC): method tokenize_data (line 11) | def tokenize_data(self, path): class CharacterTokenizer (line 15) | class CharacterTokenizer(DataHandler): method tokenize_data (line 22) | def tokenize_data(self, path): class DelimiterTokenizer (line 30) | class DelimiterTokenizer(DataHandler): method tokenize_data (line 37) | def tokenize_data(self, path, delimiter=','): class IODelimiterTokenizer (line 45) | class IODelimiterTokenizer(DataHandler): method tokenize_data (line 53) | def tokenize_data(self, path, io_delimiter='/', word_delimiter=','): function try_int (line 70) | def try_int(x): FILE: aalpy/utils/FileHandler.py function _wrap_label (line 18) | def _wrap_label(label): function _get_node (line 27) | def _get_node(state, automaton_type): function _add_transition_to_graph (line 51) | def _add_transition_to_graph(graph, state, automaton_type, display_same_... function visualize_automaton (line 129) | def visualize_automaton(automaton, path="LearnedModel", file_type="pdf",... function save_automaton_to_file (line 157) | def save_automaton_to_file(automaton, path="LearnedModel", file_type="dot", function _process_label (line 227) | def _process_label(label, source, destination, automaton_type): function _process_node_label (line 291) | def _process_node_label(node, label, node_label_dict, node_type, automat... function _strip_label (line 308) | def _strip_label(label: str) -> str: function _process_node_label_prime (line 318) | def _process_node_label_prime(node_name, label, line, node_label_dict, n... function load_automaton_from_file (line 344) | def load_automaton_from_file(path, automaton_type, compute_prefixes=False): FILE: aalpy/utils/HelperFunctions.py function extend_set (line 9) | def extend_set(list_to_extend: list, new_elements: list) -> list: function all_prefixes (line 26) | def all_prefixes(li): function all_suffixes (line 40) | def all_suffixes(li): function profile_function (line 54) | def profile_function(function: callable, sort_key='cumtime'): function random_string_generator (line 72) | def random_string_generator(size=10, chars=string.ascii_lowercase + stri... function print_learning_info (line 88) | def print_learning_info(info: dict): function print_observation_table (line 115) | def print_observation_table(ot, table_type): function is_suffix_of (line 174) | def is_suffix_of(suffix, trace) -> bool: function get_cex_prefixes (line 191) | def get_cex_prefixes(cex, automaton_type): function get_available_oracles_and_err_msg (line 208) | def get_available_oracles_and_err_msg(): function make_input_complete (line 220) | def make_input_complete(automaton, missing_transition_go_to='self_loop'): function convert_i_o_traces_for_RPNI (line 282) | def convert_i_o_traces_for_RPNI(sequences, automaton_type="mealy"): function visualize_classification_tree (line 312) | def visualize_classification_tree(root_node): function is_balanced (line 339) | def is_balanced(input_seq, vpa_alphabet): function generate_input_output_data_from_automata (line 351) | def generate_input_output_data_from_automata(model, num_sequences=4000, ... function generate_input_output_data_from_vpa (line 374) | def generate_input_output_data_from_vpa(vpa, num_sequences=1000, max_seq... function product_with_possible_empty_iterable (line 414) | def product_with_possible_empty_iterable(*iterables, repeat=1): function dfa_from_moore (line 422) | def dfa_from_moore(moore_model: MooreMachine) -> Dfa: function mc_from_mdp (line 442) | def mc_from_mdp(mdp: Mdp, input_symbol=None) -> MarkovChain: function mc_format_to_mdp (line 459) | def mc_format_to_mdp(data): FILE: aalpy/utils/ModelChecking.py function get_properties_file (line 18) | def get_properties_file(exp_name): function get_correct_prop_values (line 31) | def get_correct_prop_values(exp_name): function _target_string (line 53) | def _target_string(target, orig_id_to_int_id): function _sanitize_for_prism (line 60) | def _sanitize_for_prism(symbol): function mdp_2_prism_format (line 67) | def mdp_2_prism_format(mdp: Mdp, name: str, output_path=None): function evaluate_all_properties (line 126) | def evaluate_all_properties(prism_file_name, properties_file_name): function model_check_properties (line 151) | def model_check_properties(model: Mdp, properties: str): function model_check_experiment (line 175) | def model_check_experiment(path_to_properties, correct_prop_values, mdp,... function stop_based_on_confidence (line 201) | def stop_based_on_confidence(hypothesis, property_based_stopping, print_... function bisimilar (line 238) | def bisimilar(a1: DeterministicAutomaton, a2: DeterministicAutomaton, re... function compare_automata (line 287) | def compare_automata(aut_1: DeterministicAutomaton, aut_2: Deterministic... class TestCaseWrapperSUL (line 348) | class TestCaseWrapperSUL(SUL): method __init__ (line 349) | def __init__(self, sul): method pre (line 356) | def pre(self): method post (line 361) | def post(self): method step (line 366) | def step(self, letter): function generate_test_cases (line 373) | def generate_test_cases(automaton: DeterministicAutomaton, oracle): function statistical_model_checking (line 400) | def statistical_model_checking(model, goals, max_num_steps, num_tests=10... FILE: aalpy/utils/Sampling.py function get_io_traces (line 7) | def get_io_traces(automaton: Automaton, input_traces: list) -> list: function get_labeled_sequences (line 21) | def get_labeled_sequences(automaton: Automaton, input_traces: list) -> l... function get_data_from_input_sequence (line 37) | def get_data_from_input_sequence(automaton: Automaton, input_sequence: l... function support_automaton_arg (line 46) | def support_automaton_arg(require_transform): function sample_with_length_limits (line 66) | def sample_with_length_limits(alphabet, nr_samples, min_len, max_len): function sample_with_term_prob (line 71) | def sample_with_term_prob(alphabet, nr_samples, term_prob): function get_complete_sample (line 82) | def get_complete_sample(automaton: DeterministicAutomaton): FILE: tests/oracles/test_baseOracle.py class BaseOracleTests (line 9) | class BaseOracleTests(unittest.TestCase): method generate_dfa_suls (line 14) | def generate_dfa_suls(self, number_of_states=10, alphabet_size=10, num... method test_validate_eq_oracle (line 35) | def test_validate_eq_oracle(self, alphabet, eq_oracle, learning_sul, v... FILE: tests/oracles/test_kWayTransitionCoverageEqOracle.py class KWayTransitionCoverageEqOracleTests (line 7) | class KWayTransitionCoverageEqOracleTests(BaseOracleTests): method test_default (line 9) | def test_default(self): method test_k_4 (line 15) | def test_k_4(self): method test_method_prefix (line 22) | def test_method_prefix(self): method test_max_number_of_steps_10 (line 30) | def test_max_number_of_steps_10(self): method test_default_large_dfa (line 37) | def test_default_large_dfa(self): FILE: tests/test_charSet.py class TestCharSet (line 7) | class TestCharSet(unittest.TestCase): method get_test_automata (line 9) | def get_test_automata(self): method test_can_differentiate (line 20) | def test_can_differentiate(self): method test_suffix_closed (line 47) | def test_suffix_closed(self): FILE: tests/test_deterministic.py class DeterministicTest (line 17) | class DeterministicTest(unittest.TestCase): method prove_equivalence (line 19) | def prove_equivalence(self, learned_automaton): method test_closing_strategies (line 30) | def test_closing_strategies(self): method test_suffix_closedness (line 53) | def test_suffix_closedness(self): method test_cex_processing (line 78) | def test_cex_processing(self): method test_eq_oracles (line 100) | def test_eq_oracles(self): method test_all_configuration_combinations (line 145) | def test_all_configuration_combinations(self): FILE: tests/test_deterministic_passive.py class DeterministicPassiveTest (line 16) | class DeterministicPassiveTest(unittest.TestCase): method prove_equivalence (line 18) | def prove_equivalence(self, learned_automaton): method generate_data (line 29) | def generate_data(self, ground_truth, depth=5, step=1): method test_all_configuration_combinations (line 43) | def test_all_configuration_combinations(self): method test_all_configuration_combinations_input_incomplete_data (line 68) | def test_all_configuration_combinations_input_incomplete_data(self): FILE: tests/test_file_operations.py class TestFileHandler (line 7) | class TestFileHandler(unittest.TestCase): method test_saving_loading (line 9) | def test_saving_loading(self): FILE: tests/test_non_deterministic.py class NonDeterministicTest (line 4) | class NonDeterministicTest(unittest.TestCase): method test_non_det (line 6) | def test_non_det(self): FILE: tests/test_rwpmethod_oracle.py class TestRandomWpMethodOracle (line 25) | class TestRandomWpMethodOracle(unittest.TestCase): method gen_moore_from_state_setup (line 27) | def gen_moore_from_state_setup(state_setup) -> MooreMachine: method generate_real_automata (line 49) | def generate_real_automata(self) -> MooreMachine: method generate_hypothesis (line 63) | def generate_hypothesis(self) -> MooreMachine: method test_rwpmethod_oracle (line 75) | def test_rwpmethod_oracle(self): method test_rwpmethod_oracle_with_lstar (line 91) | def test_rwpmethod_oracle_with_lstar(self): FILE: tests/test_stochastic.py class StochasticTest (line 10) | class StochasticTest(unittest.TestCase): method test_learning_based_on_accuracy_based_stopping (line 12) | def test_learning_based_on_accuracy_based_stopping(self): FILE: tests/test_wmethod_oracle.py class TestWMethodOracle (line 25) | class TestWMethodOracle(unittest.TestCase): method gen_moore_from_state_setup (line 27) | def gen_moore_from_state_setup(state_setup) -> MooreMachine: method generate_real_automata (line 49) | def generate_real_automata(self) -> MooreMachine: method generate_hypothesis (line 63) | def generate_hypothesis(self) -> MooreMachine: method test_wmethod_oracle (line 75) | def test_wmethod_oracle(self): method test_wmethod_oracle_with_lstar (line 89) | def test_wmethod_oracle_with_lstar(self): FILE: tests/test_wpmethod_oracle.py class TestWpMethodOracle (line 25) | class TestWpMethodOracle(unittest.TestCase): method gen_moore_from_state_setup (line 27) | def gen_moore_from_state_setup(state_setup) -> MooreMachine: method generate_real_automata (line 49) | def generate_real_automata(self) -> MooreMachine: method generate_hypothesis (line 63) | def generate_hypothesis(self) -> MooreMachine: method test_wpmethod_oracle (line 75) | def test_wpmethod_oracle(self): method test_wpmethod_oracle_with_lstar (line 91) | def test_wpmethod_oracle_with_lstar(self): FILE: tests/tests_imports.py class ImportTest (line 4) | class ImportTest(unittest.TestCase): method test_imports (line 6) | def test_imports(self):