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 | |
Advisor | |
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 |
|
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 |