<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0 plus SVG 1.1//EN" "http://www.w3.org/2002/04/xhtml-math-svg/xhtml-math-svg.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8"/>
    <title>Project-Team:TASC</title>
    <link rel="stylesheet" href="../static/css/raweb.css" type="text/css"/>
    <meta name="description" content="New Software and Platforms - GCCat on time series"/>
    <meta name="dc.title" content="New Software and Platforms - GCCat on time series"/>
    <meta name="dc.subject" content=""/>
    <meta name="dc.publisher" content="INRIA"/>
    <meta name="dc.date" content="(SCHEME=ISO8601) 2016-01"/>
    <meta name="dc.type" content="Report"/>
    <meta name="dc.language" content="(SCHEME=ISO639-1) en"/>
    <meta name="projet" content="TASC"/>
    <script type="text/javascript" src="https://raweb.inria.fr/rapportsactivite/RA2016/static/MathJax/MathJax.js?config=TeX-MML-AM_CHTML">
      <!--MathJax-->
    </script>
  </head>
  <body>
    <div class="tdmdiv">
      <div class="logo">
        <a href="http://www.inria.fr">
          <img style="align:bottom; border:none" src="../static/img/icons/logo_INRIA-coul.jpg" alt="Inria"/>
        </a>
      </div>
      <div class="TdmEntry">
        <div class="tdmentete">
          <a href="uid0.html">Project-Team Tasc</a>
        </div>
        <span>
          <a href="uid1.html">Members</a>
        </span>
      </div>
      <div class="TdmEntry">Overall Objectives<ul><li><a href="./uid3.html">Objectives of the team</a></li></ul></div>
      <div class="TdmEntry">Research Program<ul><li><a href="uid18.html&#10;&#9;&#9;  ">Overview</a></li><li><a href="uid19.html&#10;&#9;&#9;  ">Fundamental Research Topics</a></li></ul></div>
      <div class="TdmEntry">Application Domains<ul><li><a href="uid33.html&#10;&#9;&#9;  ">Introduction</a></li><li><a href="uid34.html&#10;&#9;&#9;  ">Panorama</a></li></ul></div>
      <div class="TdmEntry">
        <a href="./uid41.html">Highlights of the Year</a>
      </div>
      <div class="TdmEntry">New Software and Platforms<ul><li><a href="uid44.html&#10;&#9;&#9;  ">AIUR</a></li><li><a href="uid47.html&#10;&#9;&#9;  ">CHOCO</a></li><li><a href="uid52.html&#10;&#9;&#9;  ">GCCat</a></li><li class="tdmActPage"><a href="uid56.html&#10;&#9;&#9;  ">GCCat on time series</a></li><li><a href="uid78.html&#10;&#9;&#9;  ">GHOST</a></li><li><a href="uid81.html&#10;&#9;&#9;  ">TorchCraft</a></li></ul></div>
      <div class="TdmEntry">New Results<ul><li><a href="uid86.html&#10;&#9;&#9;  ">Discrete Convexity</a></li><li><a href="uid88.html&#10;&#9;&#9;  ">Transducers</a></li><li><a href="uid90.html&#10;&#9;&#9;  ">Compositional Glue Matrix and Bound for Time-Series Constraints</a></li><li><a href="uid94.html&#10;&#9;&#9;  ">Reformulation of time-series constraint in MIP</a></li><li><a href="uid95.html&#10;&#9;&#9;  ">Scheduling Constraint for Video Summarisation</a></li><li><a href="uid96.html&#10;&#9;&#9;  ">A Model Seeker for Learning Constraints Models from Positive Samples</a></li><li><a href="uid99.html&#10;&#9;&#9;  ">Global Constraint Catalog Volume II: Time-Series Constraints</a></li><li><a href="uid101.html&#10;&#9;&#9;  ">Probabilistic Model for Binary CSP</a></li><li><a href="uid102.html&#10;&#9;&#9;  ">Estimating parallel runtimes for randomized algorithms in constraint solving</a></li><li><a href="uid103.html&#10;&#9;&#9;  ">ghost: A Combinatorial Optimization Framework for Real-Time Problems</a></li><li><a href="uid104.html&#10;&#9;&#9;  ">TorchCraft: a Library for Machine Learning Research on Real-Time Strategy Games</a></li><li><a href="uid105.html&#10;&#9;&#9;  ">POSL: A Parallel-Oriented metaheuristic-based Solver Language</a></li><li><a href="uid106.html&#10;&#9;&#9;  ">Towards Automated Strategies in Satisfiability Modulo Theory</a></li><li><a href="uid107.html&#10;&#9;&#9;  ">Using CP for the Urban Transit Crew Rescheduling Problem</a></li><li><a href="uid109.html&#10;&#9;&#9;  ">Traveling salesman and the tree: the importance of search in CP</a></li><li><a href="uid110.html&#10;&#9;&#9;  ">Event Selection Rules to Compute Explanations</a></li><li><a href="uid111.html&#10;&#9;&#9;  ">Towards energy-proportional Clouds partially powered by renewable energy</a></li></ul></div>
      <div class="TdmEntry">Bilateral Contracts and Grants with Industry<ul><li><a href="uid113.html&#10;&#9;&#9;  ">Bilateral Contracts with Industry</a></li><li><a href="uid119.html&#10;&#9;&#9;  ">Bilateral Grants with Industry</a></li></ul></div>
      <div class="TdmEntry">Partnerships and Cooperations<ul><li><a href="uid126.html&#10;&#9;&#9;  ">Regional Initiatives</a></li><li><a href="uid137.html&#10;&#9;&#9;  ">National Initiatives</a></li><li><a href="uid144.html&#10;&#9;&#9;  ">European Initiatives</a></li><li><a href="uid147.html&#10;&#9;&#9;  ">International Initiatives</a></li><li><a href="uid156.html&#10;&#9;&#9;  ">International Research Visitors</a></li></ul></div>
      <div class="TdmEntry">Dissemination<ul><li><a href="uid164.html&#10;&#9;&#9;  ">Promoting Scientific Activities</a></li><li><a href="uid167.html&#10;&#9;&#9;  ">Teaching - Supervision - Juries</a></li><li><a href="uid175.html&#10;&#9;&#9;  ">Popularization</a></li></ul></div>
      <div class="TdmEntry">
        <div>Bibliography</div>
      </div>
      <div class="TdmEntry">
        <ul>
          <li>
            <a id="tdmbibentyear" href="bibliography.html">Publications of the year</a>
          </li>
          <li>
            <a id="tdmbibentfoot" href="bibliography.html#References">References in notes</a>
          </li>
        </ul>
      </div>
    </div>
    <div id="main">
      <div class="mainentete">
        <div id="head_agauche">
          <small><a href="http://www.inria.fr">
	    
	    Inria
	  </a> | <a href="../index.html">
	    
	    Raweb 
	    2016</a> | <a href="http://www.inria.fr/en/teams/tasc">Presentation of the Project-Team TASC</a></small>
        </div>
        <div id="head_adroite">
          <table class="qrcode">
            <tr>
              <td>
                <a href="tasc.xml">
                  <img style="align:bottom; border:none" alt="XML" src="../static/img/icons/xml_motif.png"/>
                </a>
              </td>
              <td>
                <a href="tasc.pdf">
                  <img style="align:bottom; border:none" alt="PDF" src="IMG/qrcode-tasc-pdf.png"/>
                </a>
              </td>
              <td>
                <a href="../tasc/tasc.epub">
                  <img style="align:bottom; border:none" alt="e-pub" src="IMG/qrcode-tasc-epub.png"/>
                </a>
              </td>
            </tr>
            <tr>
              <td/>
              <td>PDF
</td>
              <td>e-Pub
</td>
            </tr>
          </table>
        </div>
      </div>
      <!--FIN du corps du module-->
      <br/>
      <div class="bottomNavigation">
        <div class="tail_aucentre">
          <a href="./uid52.html" accesskey="P"><img style="align:bottom; border:none" alt="previous" src="../static/img/icons/previous_motif.jpg"/> Previous | </a>
          <a href="./uid0.html" accesskey="U"><img style="align:bottom; border:none" alt="up" src="../static/img/icons/up_motif.jpg"/>  Home</a>
          <a href="./uid78.html" accesskey="N"> | Next <img style="align:bottom; border:none" alt="next" src="../static/img/icons/next_motif.jpg"/></a>
        </div>
        <br/>
      </div>
      <div id="textepage">
        <!--DEBUT2 du corps du module-->
        <h2>Section: 
      New Software and Platforms</h2>
        <h3 class="titre3">GCCat on time series</h3>
        <p>Global Constraint Catalog, Volume II, time-series constraints</p>
        <p class="notaparagraph"><span class="smallcap">Keywords: </span> Constraint Programming - Sequence - Transducer - Global constraint</p>
        <p class="notaparagraph">
          <span class="smallcap">Functional Description </span>
        </p>
        <p>The second volume of the Global Constraint Catalogue is devoted to time-series constraints.
Within the context of Constraint Programming, time-series constraints go back to the work of Goldin and Kanellakis.
This volume contains 626 constraints, which are explicitly described in terms of automata with accumulators.
Checkers and propagators for all these constraints were synthesised from 22 transducers.</p>
        <p>As in the first volume, the global constraints described in this second volume are not
only accessible to humans, who can read the catalogue when searching
for some information. It is also available to machines, which can
read and interpret it. This is why there also exists an electronic
version of this catalogue where one can get, for all time-series
constraints, a complete description in terms of meta-data
used in the first volume. In fact, unlike the first volume,
<i>all the meta-data</i> of the electronic version as well as
<i>all text and figures</i> of this second volume were automatically generated.
While this second volume is by no means supposed to contain all possible time-series
constraints, it contributes in the context of time-series constraints
to the <i>systematic reconstruction</i> of the Global Constraint Catalogue that we have
previously advocated.
This reconstruction is based on the following methodology:</p>
        <ul>
          <li>
            <p class="notaparagraph"><a name="uid57"> </a>First reuse, adapt or come up with abstractions, which allow to concisely represent
structures and properties of time series as abstract combinatorial objects.
In our context these abstractions essentially correspond to:</p>
            <ol>
              <li>
                <p class="notaparagraph"><a name="uid58"> </a>Transducers where letters of the output alphabet are interpreted as semantic letters indicating
how to recognise pattern occurrences.</p>
              </li>
              <li>
                <p class="notaparagraph"><a name="uid59"> </a>Transducers glue matrices expressing the relationship between the prefix, the suffix and the full sequence
passed to a transducer.</p>
              </li>
              <li>
                <p class="notaparagraph"><a name="uid60"> </a>Properties associated to regular expressions corresponding to fragments of the input language of our transducers.</p>
              </li>
            </ol>
          </li>
          <li>
            <p class="notaparagraph"><a name="uid61"> </a>Second, create from these abstract combinatorial objects a data base of concrete combinatorial objects.</p>
          </li>
          <li>
            <p class="notaparagraph"><a name="uid62"> </a>Third, synthesise concrete code for various technologies, languages, tasks from this data base of
concrete combinatorial objects.
In this context, correctness and efficiency of the synthesised code are essentially side product of:</p>
            <ul>
              <li>
                <p class="notaparagraph"><a name="uid63"> </a>The correctness of the formulae of our data base which is itself based on the wellformedness of our abstractions.</p>
              </li>
              <li>
                <p class="notaparagraph"><a name="uid64"> </a>The generality behind our abstract combinatorial objects.</p>
              </li>
            </ul>
          </li>
        </ul>
        <p class="notaparagraph">The time-series catalogue is done in the following way:</p>
        <ul>
          <li>
            <p class="notaparagraph"><a name="uid65"> </a>All time-series constraints are now defined in a <i>compositional way</i>
from a few basic constituents, i.e., patterns, features, aggregators,
and predicates, which completely define the meaning of a constraint, where
patterns are defined using regular expressions.</p>
          </li>
          <li>
            <p class="notaparagraph"><a name="uid66"> </a>Constraint names are now constructed in a systematic way as the <i>concatenation</i>
of pattern name, feature name, and aggregation or predicate name.</p>
          </li>
          <li>
            <p class="notaparagraph"><a name="uid67"> </a>Given a pattern <span class="math"><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>p</mi></math></span>,
checkers and constraints are now <i>systematically synthesised</i> from a transducer that,
given an input sequence over the input alphabet <span class="math"><math xmlns="http://www.w3.org/1998/Math/MathML"><mrow><mo>{</mo><mo>&lt;</mo><mo>,</mo><mo>=</mo><mo>,</mo><mo>&gt;</mo><mo>}</mo></mrow></math></span>, compares two adjacent values of a time-series and
determines an output sequence over a output semantic alphabet describing how to recognise
the occurrences of <span class="math"><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>p</mi></math></span>.</p>
          </li>
          <li>
            <p class="notaparagraph"><a name="uid68"> </a>For each time-series constraint associated with a pattern <span class="math"><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>p</mi></math></span>,
the generation of an automaton with accumulators is completely driven by the transducer associated
with pattern <span class="math"><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>p</mi></math></span> as well as by <i>decoration tables</i> describing for each semantic letter
of the output alphabet of the transducers how to generate accumulator updates.
Code optimisation is ensured by using decoration tables that depend on properties of the pattern,
of the feature, and of the aggregator associated with the time-series constraint.</p>
          </li>
          <li>
            <p class="notaparagraph"><a name="uid69"> </a>Lower and upper bounds of characteristics of time-series that appear in the restriction slot
of a time-series constraint are synthesised from a <i>few parameterised formulae</i> that
only depend on a restricted set of characteristics of the regular expression associated
with the pattern.</p>
          </li>
          <li>
            <p class="notaparagraph"><a name="uid70"> </a>Parametrised glue matrices are provided for each transducer that corresponds to
reversible time-series constraints.
A concrete glue matrix is given for each reversible time-series constraint.</p>
          </li>
          <li>
            <p class="notaparagraph"><a name="uid71"> </a>Linear invariants are systematically obtained by applying the Farkas Lemma
to the automata with accumulators that were synthesised. They consist of
<i>linear constraints typically linking consecutive accumulator values</i>,
e.g., see the legend of the second automaton of the
constraints,
which are generated even with
non-linear accumulator updates.
Missing linear invariants will be completed later on.</p>
          </li>
          <li>
            <p class="notaparagraph"><a name="uid72"> </a>Last but not least, time-series constraints were used for generating time-series verifying a conjunction
of constraints both in the context of
Constraint Programming and
in the context of Linear Programming.</p>
          </li>
          <li>
            <p class="notaparagraph"><a name="uid73"> </a>In the context of sequential pattern mining, time-series constraint checkers can be used
to identify and extract patterns from fixed sequences.
While the time-series catalogue may need to be extended in order to capture more patterns,
having a possibly large set of fixed time-series constraints is a natural safeguard to prevent overfitting
when dealing with few sequences, at a price of not finding patterns that are not covered by the catalogue.</p>
          </li>
          <li>
            <p class="notaparagraph"><a name="uid74"> </a>Finally, both SICStus and MiniZinc code are synthesised.
The later allows using time series constraints on many plate forms
such as Choco, Gecode, ORtools, Cplex or Gurobi and is available
Electronic Constraint Catalogue.</p>
          </li>
        </ul>
        <ul>
          <li>
            <p class="notaparagraph"><a name="uid75"> </a>Participants: Ekaterina Arafailova, Nicolas Beldiceanu, Rémi Douence, Mats Carlsson, Pierre Flener, Maria Andreina Francisco Rodriguez, Justin Pearson, Helmut Simonis</p>
          </li>
          <li>
            <p class="notaparagraph"><a name="uid76"> </a>Contact: Nicolas Beldiceanu</p>
          </li>
          <li>
            <p class="notaparagraph"><a name="uid77"> </a>URL: <a href="https://arxiv.org/abs/1609.08925">https://arxiv.org/abs/1609.08925</a></p>
          </li>
        </ul>
      </div>
      <!--FIN du corps du module-->
      <br/>
      <div class="bottomNavigation">
        <div class="tail_aucentre">
          <a href="./uid52.html" accesskey="P"><img style="align:bottom; border:none" alt="previous" src="../static/img/icons/previous_motif.jpg"/> Previous | </a>
          <a href="./uid0.html" accesskey="U"><img style="align:bottom; border:none" alt="up" src="../static/img/icons/up_motif.jpg"/>  Home</a>
          <a href="./uid78.html" accesskey="N"> | Next <img style="align:bottom; border:none" alt="next" src="../static/img/icons/next_motif.jpg"/></a>
        </div>
        <br/>
      </div>
    </div>
  </body>
</html>
