LearnTA  0.0.1
Namespaces | Typedefs | Enumerations | Functions
equivalence.hh File Reference

This file implements functions on the equivalence relation defined by the distinguishing suffixes. More...

#include "elementary_language.hh"
#include "backward_regional_elementary_language.hh"
#include "timed_condition_set.hh"
#include "juxtaposed_zone_set.hh"
#include "renaming_relation.hh"
Include dependency graph for equivalence.hh:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

 learnta
 

Typedefs

using learnta::RenamingGraph = std::pair< std::vector< std::vector< std::size_t > >, std::vector< std::vector< std::size_t > >>
 

Enumerations

enum class  learnta::CellStatus { bottom , top , middle }
 The status of a cell of the observation table. More...
 

Functions

static bool learnta::equivalence (const ElementaryLanguage &left, const std::vector< TimedConditionSet > &leftRow, const ElementaryLanguage &right, const std::vector< TimedConditionSet > &rightRow, const std::vector< BackwardRegionalElementaryLanguage > &suffixes, const RenamingRelation &renaming)
 Return if two elementary languages are equivalent. More...
 
static bool learnta::equivalence (const ElementaryLanguage &left, const std::vector< TimedConditionSet > &leftRow, const std::vector< TimedCondition > &leftConcatenation, const ElementaryLanguage &right, const std::vector< TimedConditionSet > &rightRow, const std::vector< TimedCondition > &rightConcatenation, const std::vector< BackwardRegionalElementaryLanguage > &suffixes, const RenamingRelation &renaming)
 Return if two elementary languages are equivalent. More...
 
static bool learnta::equivalence (JuxtaposedZone leftRightJuxtaposition, const std::vector< JuxtaposedZoneSet > &leftJuxtapositions, const std::vector< JuxtaposedZoneSet > &rightJuxtapositions, const RenamingRelation &renaming)
 Return if two elementary languages are equivalent. More...
 
static RenamingGraph learnta::toGraph (const TimedCondition &left, const TimedCondition &right)
 Construct the intermediate bipartite graph for candidate generation from timed conditions. More...
 
static std::vector< RenamingRelation > learnta::generateDeterministicCandidates (const TimedCondition &left, const TimedCondition &right, const std::vector< std::size_t > &leftConstrained, const std::vector< std::size_t > &rightConstrained, const RenamingGraph &graph)
 Construct candidate renaming relations that are deterministic, i.e., the corresponding reset only makes precise clocks. More...
 
static CellStatus learnta::decideStatus (const TimedCondition &concatenation, const TimedConditionSet &cell)
 Compute the status of a cell of the observation table. More...
 
static std::pair< std::vector< std::size_t >, std::vector< std::size_t > > learnta::makeConstrainedVariables (const std::vector< TimedConditionSet > &leftRow, const std::vector< TimedConditionSet > &rightRow, const std::vector< TimedCondition > &leftConcatenations, const std::vector< TimedCondition > &rightConcatenations, const std::size_t N, const std::size_t M)
 Return the constrained variables in the symbolic membership. More...
 
static std::optional< RenamingRelation > learnta::findDeterministicEquivalentRenaming (const ElementaryLanguage &left, const std::vector< TimedConditionSet > &leftRow, const ElementaryLanguage &right, const std::vector< TimedConditionSet > &rightRow, const std::vector< BackwardRegionalElementaryLanguage > &suffixes)
 Return a renaming constraint if two elementary languages are equivalent. More...
 
static std::optional< RenamingRelation > learnta::findDeterministicEquivalentRenaming (const ElementaryLanguage &left, const std::vector< TimedConditionSet > &leftRow, const std::vector< TimedCondition > &leftConcatenations, const ElementaryLanguage &right, const std::vector< TimedConditionSet > &rightRow, const std::vector< TimedCondition > &rightConcatenations, const std::vector< BackwardRegionalElementaryLanguage > &suffixes)
 Return a renaming constraint if two elementary languages are equivalent. More...
 
static std::optional< RenamingRelation > learnta::findEquivalentRenaming (const ElementaryLanguage &left, const std::vector< TimedConditionSet > &leftRow, const ElementaryLanguage &right, const std::vector< TimedConditionSet > &rightRow, const std::vector< BackwardRegionalElementaryLanguage > &suffixes)
 Construct a renaming constraint if two elementary languages are equivalent. More...
 

Detailed Description

This file implements functions on the equivalence relation defined by the distinguishing suffixes.

Author
Masaki Waga
Date
2022/03/13