Difference between revisions of "Jobs/M2 2015 AD Faster, Faster, Faster"

From LRDE

Line 2: Line 2:
 
|Reference id=M2 2015 AD Faster, Faster, Faster
 
|Reference id=M2 2015 AD Faster, Faster, Faster
 
|Title=Faster, Faster, Faster
 
|Title=Faster, Faster, Faster
|Research field=Automata Theory
 
|Related project=Vaucanson
 
|Language=en
 
 
|Dates=5-6 months in 2015
 
|Dates=5-6 months in 2015
 
|Research field=Automata Theory
 
|Research field=Automata Theory
Line 11: Line 8:
 
|General presentation of the field=The classical theory of automata, of transducers and of rational expressions, admits a very elegant and extremely useful extension (eg, in natural language processing) taking into account the concept of weighting. The weights are then taken in a semi-ring, which can be classical (⟨𝔹, ∨, ∧⟩, ⟨ℤ, +, ×⟩, ⟨ℚ, +, ×⟩, etc..), tropical (⟨ℤ, min, +⟩, etc..), or yet of another type (e.g. rational expressions).
 
|General presentation of the field=The classical theory of automata, of transducers and of rational expressions, admits a very elegant and extremely useful extension (eg, in natural language processing) taking into account the concept of weighting. The weights are then taken in a semi-ring, which can be classical (⟨𝔹, ∨, ∧⟩, ⟨ℤ, +, ×⟩, ⟨ℚ, +, ×⟩, etc..), tropical (⟨ℤ, min, +⟩, etc..), or yet of another type (e.g. rational expressions).
   
 
Vcsn is a project led by Alexandre Duret-Lutz and Akim Demaille (LRDE). It is a platform for the manipulation of automata, transducers and weighted rational expressions. It is written in C++11 avoiding the classical object-oriented programming in favor of generic programming (template) for more performance. Vcsn is an heir of the Vaucanson 2 project which was developed in partnership with Jacques Sakarovitch (Telecom ParisTech) and Sylvain Lombardy (LaBRI).
The field 𝔽₂ is a particular interest, and shows quite a few unique properties, as demonstrated by the current active research under various names (e.g., "Symmetric Difference Automata").
 
   
  +
Vcsn aims at speed and user friendliness. To achieve this goal, it is built in three layers:
Vcsn is a project led by Alexandre Duret-Lutz and Akim Demaille (LRDE). It is a platform for the manipulation of automata, transducers and weighted rational expressions. It is written in C++11 avoiding the classical object-oriented programming in favor of generic programming (template) for more performance. Vcsn is an heir of the Vaucanson 2 project which was developed in partnership with Jacques Sakarovitch (Telecom ParisTech) and Sylvain Lombardy (LaBRI).
 
  +
- ''static': this is a templated C++ library with efficient data structures and algorithms
  +
- ''dyn'': this C++ API support type-erasure and shields the user from the complex API of ''static'' while preserving performances
  +
It also support code-generation and linking on the fly
  +
- ''Python'': on top of ''dyn'', a Python binding allows a pleasant use of Vcsn, without any C++ knowledge required.
 
|Prerequisites=* good programmer in some language
 
|Prerequisites=* good programmer in some language
 
* acquaintance with C++
 
* acquaintance with C++

Revision as of 17:50, 29 October 2014

Faster, Faster, Faster
Reference id

M2 2015 AD Faster, Faster, Faster

Dates

5-6 months in 2015

Research field

Automata Theory

Related project

Vaucanson

Advisor

Akim Demaille

General presentation of the field

The classical theory of automata, of transducers and of rational expressions, admits a very elegant and extremely useful extension (eg, in natural language processing) taking into account the concept of weighting. The weights are then taken in a semi-ring, which can be classical (⟨𝔹, ∨, ∧⟩, ⟨ℤ, +, ×⟩, ⟨ℚ, +, ×⟩, etc..), tropical (⟨ℤ, min, +⟩, etc..), or yet of another type (e.g. rational expressions).

Vcsn is a project led by Alexandre Duret-Lutz and Akim Demaille (LRDE). It is a platform for the manipulation of automata, transducers and weighted rational expressions. It is written in C++11 avoiding the classical object-oriented programming in favor of generic programming (template) for more performance. Vcsn is an heir of the Vaucanson 2 project which was developed in partnership with Jacques Sakarovitch (Telecom ParisTech) and Sylvain Lombardy (LaBRI).

Vcsn aims at speed and user friendliness. To achieve this goal, it is built in three layers: - static': this is a templated C++ library with efficient data structures and algorithms - dyn: this C++ API support type-erasure and shields the user from the complex API of static while preserving performances

 It also support code-generation and linking on the fly

- Python: on top of dyn, a Python binding allows a pleasant use of Vcsn, without any C++ knowledge required.

Prerequisites
  • good programmer in some language
  • acquaintance with C++
  • facilities with theoretical matters
Objectives

The objective of this internship is to exploit the existing features of Vcsn to apply them to 𝔽₂ in a first step, and then, in a second step, to use Vcsn as a tool to explore novel results.

Benefit for the candidate
References
Place LRDE: How to get to us
Compensation

1000 € gross/month

Future work opportunities
Contact

<akim at lrde . epita . fr> <akim at lrde . epita . fr>