libmonaa  0.5.2
Classes | Functions
monaa.hh File Reference

Functions for timed pattern matching. More...

#include <boost/variant.hpp>
#include <chrono>
#include <climits>
#include <cmath>
#include <iostream>
#include <unordered_set>
#include "ans_vec.hh"
#include "intermediate_zone.hh"
#include "intersection.hh"
#include "kmp_skip_value.hh"
#include "sunday_skip_value.hh"
#include "ta2za.hh"
#include "word_container.hh"
#include "utils.hh"
Include dependency graph for monaa.hh:

Go to the source code of this file.

Classes

struct  InternalState
 
struct  IntervalInternalState
 

Functions

bool isValidConstraint (const Bounds &upperConstraint, const Bounds &lowerConstraint)
 Check if the given constraint is non empty.
 
void updateConstraint (std::pair< double, bool > &upperConstraint, std::pair< double, bool > &lowerConstraint, const Constraint &delta, const double comparedValue)
 update the assuming interval to satisfy the constraint
 
template<class InputContainer , class OutputContainer >
void monaa (WordContainer< InputContainer > word, TimedAutomaton A, AnsContainer< OutputContainer > &ans)
 Execute the timed FJS algorithm. More...
 
template<class InputContainer , class OutputContainer >
void monaaDollar (WordContainer< InputContainer > word, TimedAutomaton A, AnsContainer< OutputContainer > &ans)
 Execute the timed FJS algorithm. This is the original timed FJS algorithm. More...
 
template<class InputContainer , class OutputContainer >
void monaaNotNecessaryDollar (WordContainer< InputContainer > word, TimedAutomaton A, AnsContainer< OutputContainer > &ans)
 Execute the timed FJS algorithm. More...
 

Detailed Description

Functions for timed pattern matching.

Author
Masaki Waga

Currently, we have three functions: monaa, monaaDollar, and monaaNotNecessaryDollar. All of them looks very similar but they have some differences on the accepting conditions.

Function Documentation

◆ monaa()

template<class InputContainer , class OutputContainer >
void monaa ( WordContainer< InputContainer >  word,
TimedAutomaton  A,
AnsContainer< OutputContainer > &  ans 
)

Execute the timed FJS algorithm.

Parameters
[in]wordA container of a timed word representing a log.
[in]AA timed automaton used as a pattern.
[out]ansA container for the answer zone.

◆ monaaDollar()

template<class InputContainer , class OutputContainer >
void monaaDollar ( WordContainer< InputContainer >  word,
TimedAutomaton  A,
AnsContainer< OutputContainer > &  ans 
)

Execute the timed FJS algorithm. This is the original timed FJS algorithm.

Parameters
[in]wordA container of a timed word representing a log.
[in]AA timed automaton used as a pattern.
[out]ansA container for the answer zone.

◆ monaaNotNecessaryDollar()

template<class InputContainer , class OutputContainer >
void monaaNotNecessaryDollar ( WordContainer< InputContainer >  word,
TimedAutomaton  A,
AnsContainer< OutputContainer > &  ans 
)

Execute the timed FJS algorithm.

Parameters
[in]wordA container of a timed word representing a log.
[in]AA timed automaton used as a pattern.
[out]ansA container for the answer zone.
Note
The labels of the transitions to the accepting states are not necessary $