diff --git a/src/ebi_commands/ebi_command_discover_non_stochastic.rs b/src/ebi_commands/ebi_command_discover_non_stochastic.rs index 10bffe569d08f4d4c860ddce815621f069fd0803..99488d49bdd16e7818e1a12ffdb9cdbfeed4489d 100644 --- a/src/ebi_commands/ebi_command_discover_non_stochastic.rs +++ b/src/ebi_commands/ebi_command_discover_non_stochastic.rs @@ -8,13 +8,10 @@ use crate::{ ebi_output::{EbiOutput, EbiOutputType}, ebi_trait::EbiTrait, }, - ebi_traits::{ - ebi_trait_finite_language::EbiTraitFiniteLanguage, - ebi_trait_finite_stochastic_language::EbiTraitFiniteStochasticLanguage, - }, - math::fraction::Fraction, + ebi_traits:: + ebi_trait_finite_language::EbiTraitFiniteLanguage + , techniques::{ - directly_follows_model_miner::DirectlyFollowsModelMinerFiltering, flower_miner::{FlowerMinerDFA, FlowerMinerTree}, prefix_tree_miner::{PrefixTreeMinerDFA, PrefixTreeMinerTree}, }, @@ -26,41 +23,11 @@ pub const EBI_DISCOVER_NON_STOCHASTIC: EbiCommand = EbiCommand::Group { explanation_short: "Discover a non-stochastic process model.", explanation_long: None, children: &[ - &EBI_DISCOVER_NON_STOCHASTIC_DIRECTLY_FOLLOWS, &EBI_DISCOVER_NON_STOCHASTIC_FLOWER, &EBI_DISCOVER_NON_STOCHASTIC_PREFIX, ], }; -pub const EBI_DISCOVER_NON_STOCHASTIC_DIRECTLY_FOLLOWS: EbiCommand = EbiCommand::Command { - name_short: "dfg", - name_long: Some("directly-follows-graph"), - explanation_short: "Discover a directly follows graph.", - explanation_long: Some("Discover a directly follows graph with at least the given fitness."), - latex_link: Some("~\\cite{DBLP:conf/icpm/LeemansPW19}"), - cli_command: None, - exact_arithmetic: true, - input_types: &[ - &[&EbiInputType::Trait(EbiTrait::FiniteStochasticLanguage)], - &[&EbiInputType::Fraction], - ], - input_names: &["LANG", "MIN_FITNESS"], - input_helps: &[ - "A finite stochastic language.", - "The minimum fitness of the resulting model.", - ], - execute: |mut inputs, _| { - let mut lang = inputs - .remove(0) - .to_type::<dyn EbiTraitFiniteStochasticLanguage>()?; - let minimum_fitness = inputs.remove(0).to_type::<Fraction>()?; - Ok(EbiOutput::Object(EbiObject::DirectlyFollowsGraph( - lang.mine_directly_follows_model_filtering(&minimum_fitness)?, - ))) - }, - output_type: &EbiOutputType::ObjectType(EbiObjectType::DirectlyFollowsGraph), -}; - pub const EBI_DISCOVER_NON_STOCHASTIC_FLOWER: EbiCommand = EbiCommand::Group { name_short: "flw", name_long: Some("flower"),