• Aucun résultat trouvé

Qu’est-ce que l’informatique théorique et comment en faire ?

N/A
N/A
Protected

Academic year: 2022

Partager "Qu’est-ce que l’informatique théorique et comment en faire ?"

Copied!
285
0
0

Texte intégral

(1)

Qu’est-ce que l’informatique théorique et comment en faire ?

Antoine Amarilli 29 avril 2017

1/85

(2)

De quoi ça va parler ?

• Un exemple de problème sur lequel je travaille

La recherche en informatique théorique en général

• Comment est-ce que la recherche est organisée ?

• Comment peut-on en faire son métier ? (ou du moins essayer)

• ... et est-ce une bonne idée ?

2/85

(3)

De quoi ça va parler ?

• Un exemple de problème sur lequel je travaille

La recherche en informatique théorique en général

• Comment est-ce que la recherche est organisée ?

• Comment peut-on en faire son métier ? (ou du moins essayer)

• ... et est-ce une bonne idée ?

2/85

(4)

Qui est ce type qui me parle ?

2004–2007 Lycée des Pontonniers (Strasbourg) 2007–2009 Prépa au Lycée Kléber (Strasbourg)

2009–2013 École normale supérieure en informatique 2013–2016 Thèse à Télécom ParisTech

2016– Maître de conférences à Télécom ParisTech

Finaliste Prologin de 2007 à 2010 (vainqueur en 2008)

3/85

(5)

Qui est ce type qui me parle ?

2004–2007 Lycée des Pontonniers (Strasbourg) 2007–2009 Prépa au Lycée Kléber (Strasbourg)

2009–2013 École normale supérieure en informatique 2013–2016 Thèse à Télécom ParisTech

2016– Maître de conférences à Télécom ParisTech Finaliste Prologin de 2007 à 2010 (vainqueur en 2008)

3/85

(6)

Publicité : SWERC

Concours SWERC (Europe du Sud-Ouest)

À Paris les 25–26 novembre

En équipes de 3 (même institution)

swerc.eu

4/85

(7)

Publicité : SWERC

Concours SWERC (Europe du Sud-Ouest)

À Paris les 25–26 novembre

En équipes de 3 (même institution)

swerc.eu

4/85

(8)

Table des matières

Appartenance d’un entrelacement de mots à un langage L’informatique théorique

La recherche

Vie d’un projet de recherche Emploi du temps

Forces et faiblesses du système Organisation professionnelle La recherche, est-ce fait pour moi ?

5/85

(9)

Introduction aux langages

• Comment décrire un motif sur des mots ?

• Par exemple :

→ Les mots qui contiennent toutes les voyelles sauf y ?

→ Les mots qui ne contiennent que y comme voyelle ?

→ Les mots qui contiennent toutes les voyelles sauf y dans l’ordre ? Terminologie :

L’ alphabet : l’ensemble des lettres autorisées

→ Pour simplifier : a , b , c

Un mot : une séquence de lettres

→ Par exemple : ababbca

Un langage : un ensemble de mots, pas nécessairement fini

→ Par exemple : {baba, caca, abba}

→ Par exemple : “les mots qui ne contiennent pas c

6/85

(10)

Introduction aux langages

• Comment décrire un motif sur des mots ?

• Par exemple :

→ Les mots qui contiennent toutes les voyelles sauf y ?

→ Les mots qui ne contiennent que y comme voyelle ?

→ Les mots qui contiennent toutes les voyelles sauf y dans l’ordre ? Terminologie :

L’ alphabet : l’ensemble des lettres autorisées

→ Pour simplifier : a , b , c

Un mot : une séquence de lettres

→ Par exemple : ababbca

Un langage : un ensemble de mots, pas nécessairement fini

→ Par exemple : {baba, caca, abba}

→ Par exemple : “les mots qui ne contiennent pas c

6/85

(11)

Introduction aux langages

• Comment décrire un motif sur des mots ?

• Par exemple :

→ Les mots qui contiennent toutes les voyelles sauf y ?

→ Les mots qui ne contiennent que y comme voyelle ?

→ Les mots qui contiennent toutes les voyelles sauf y dans l’ordre ?

Terminologie :

L’ alphabet : l’ensemble des lettres autorisées

→ Pour simplifier : a , b , c

Un mot : une séquence de lettres

→ Par exemple : ababbca

Un langage : un ensemble de mots, pas nécessairement fini

→ Par exemple : {baba, caca, abba}

→ Par exemple : “les mots qui ne contiennent pas c

6/85

(12)

Introduction aux langages

• Comment décrire un motif sur des mots ?

• Par exemple :

→ Les mots qui contiennent toutes les voyelles sauf y ?

→ Les mots qui ne contiennent que y comme voyelle ?

→ Les mots qui contiennent toutes les voyelles sauf y dans l’ordre ? Terminologie :

L’ alphabet : l’ensemble des lettres autorisées

→ Pour simplifier : a , b , c

Un mot : une séquence de lettres

→ Par exemple : ababbca

Un langage : un ensemble de mots, pas nécessairement fini

→ Par exemple : {baba, caca, abba}

→ Par exemple : “les mots qui ne contiennent pas c

6/85

(13)

Introduction aux langages

• Comment décrire un motif sur des mots ?

• Par exemple :

→ Les mots qui contiennent toutes les voyelles sauf y ?

→ Les mots qui ne contiennent que y comme voyelle ?

→ Les mots qui contiennent toutes les voyelles sauf y dans l’ordre ? Terminologie :

L’ alphabet : l’ensemble des lettres autorisées

→ Pour simplifier : a , b , c

Un mot : une séquence de lettres

→ Par exemple : ababbca

Un langage : un ensemble de mots, pas nécessairement fini

→ Par exemple : {baba, caca, abba}

→ Par exemple : “les mots qui ne contiennent pas c

6/85

(14)

Introduction aux langages

• Comment décrire un motif sur des mots ?

• Par exemple :

→ Les mots qui contiennent toutes les voyelles sauf y ?

→ Les mots qui ne contiennent que y comme voyelle ?

→ Les mots qui contiennent toutes les voyelles sauf y dans l’ordre ? Terminologie :

L’ alphabet : l’ensemble des lettres autorisées

→ Pour simplifier : a , b , c

Un mot : une séquence de lettres

→ Par exemple : ababbca

Un langage : un ensemble de mots, pas nécessairement fini

→ Par exemple : {baba, caca, abba}

→ Par exemple : “les mots qui ne contiennent pas c

6/85

(15)

Comment décrire un langage

• En français : “les mots qui ne contiennent pas c

• Informatiquement : Avec des expressions régulières !

Expressions régulières :

Étoile (ab) : zéro, une, ou plusieurs répétitions du mot ab

→ Langage : {, ab, abab, ababab, abababab, . . .}

Choix ab|bc : le mot ab ou le mot bc

→ Langage : {ab, bc}

• On peut combiner les opérateurs, par exemple (ab|bc)

→ Langage : {, ab, bc, abab, abbc, bcab, bcbc, . . .}

• Concaténation (ab) a , c’est-à-dire (ab) suivi d’un a

→ Langage : {a, aba, ababa, . . .}

7/85

(16)

Comment décrire un langage

• En français : “les mots qui ne contiennent pas c

• Informatiquement : Avec des expressions régulières ! Expressions régulières :

Étoile (ab) : zéro, une, ou plusieurs répétitions du mot ab

→ Langage : {, ab, abab, ababab, abababab, . . .}

Choix ab|bc : le mot ab ou le mot bc

→ Langage : {ab, bc}

• On peut combiner les opérateurs, par exemple (ab|bc)

→ Langage : {, ab, bc, abab, abbc, bcab, bcbc, . . .}

• Concaténation (ab) a , c’est-à-dire (ab) suivi d’un a

→ Langage : {a, aba, ababa, . . .}

7/85

(17)

Comment décrire un langage

• En français : “les mots qui ne contiennent pas c

• Informatiquement : Avec des expressions régulières ! Expressions régulières :

Étoile (ab) : zéro, une, ou plusieurs répétitions du mot ab

→ Langage : {, ab, abab, ababab, abababab, . . .}

Choix ab|bc : le mot ab ou le mot bc

→ Langage : {ab, bc}

• On peut combiner les opérateurs, par exemple (ab|bc)

→ Langage : {, ab, bc, abab, abbc, bcab, bcbc, . . .}

• Concaténation (ab) a , c’est-à-dire (ab) suivi d’un a

→ Langage : {a, aba, ababa, . . .}

7/85

(18)

Comment décrire un langage

• En français : “les mots qui ne contiennent pas c

• Informatiquement : Avec des expressions régulières ! Expressions régulières :

Étoile (ab) : zéro, une, ou plusieurs répétitions du mot ab

→ Langage : {, ab, abab, ababab, abababab, . . .}

Choix ab|bc : le mot ab ou le mot bc

→ Langage : {ab, bc}

• On peut combiner les opérateurs, par exemple (ab|bc)

→ Langage : {, ab, bc, abab, abbc, bcab, bcbc, . . .}

• Concaténation (ab) a , c’est-à-dire (ab) suivi d’un a

→ Langage : {a, aba, ababa, . . .}

7/85

(19)

Comment décrire un langage

• En français : “les mots qui ne contiennent pas c

• Informatiquement : Avec des expressions régulières ! Expressions régulières :

Étoile (ab) : zéro, une, ou plusieurs répétitions du mot ab

→ Langage : {, ab, abab, ababab, abababab, . . .}

Choix ab|bc : le mot ab ou le mot bc

→ Langage : {ab, bc}

• On peut combiner les opérateurs, par exemple (ab|bc)

→ Langage : {, ab, bc, abab, abbc, bcab, bcbc, . . .}

• Concaténation (ab) a , c’est-à-dire (ab) suivi d’un a

→ Langage : {a, aba, ababa, . . .}

7/85

(20)

Exemple

Les mots qui ne contiennent que y comme voyelle ?

(b|c|d|f |g|h|j|k|l|m|n|p|q|r|s|t|v|w|x|y|z)

Les mots qui contiennent toutes les voyelles sauf y dans l’ordre ?

· a · e · i · o ·

Les mots qui contiennent toutes les voyelles sauf y ? ... possible mais pénible !

8/85

(21)

Exemple

Les mots qui ne contiennent que y comme voyelle ? (b|c|d|f |g|h|j|k|l|m|n|p|q|r|s|t|v|w|x|y|z)

Les mots qui contiennent toutes les voyelles sauf y dans l’ordre ?

· a · e · i · o ·

Les mots qui contiennent toutes les voyelles sauf y ? ... possible mais pénible !

8/85

(22)

Exemple

Les mots qui ne contiennent que y comme voyelle ? (b|c|d|f |g|h|j|k|l|m|n|p|q|r|s|t|v|w|x|y|z)

Les mots qui contiennent toutes les voyelles sauf y dans l’ordre ?

· a · e · i · o ·

Les mots qui contiennent toutes les voyelles sauf y ? ... possible mais pénible !

8/85

(23)

Exemple

Les mots qui ne contiennent que y comme voyelle ? (b|c|d|f |g|h|j|k|l|m|n|p|q|r|s|t|v|w|x|y|z)

Les mots qui contiennent toutes les voyelles sauf y dans l’ordre ?

· a · e · i · o ·

Les mots qui contiennent toutes les voyelles sauf y ? ... possible mais pénible !

8/85

(24)

Exemple

Les mots qui ne contiennent que y comme voyelle ? (b|c|d|f |g|h|j|k|l|m|n|p|q|r|s|t|v|w|x|y|z)

Les mots qui contiennent toutes les voyelles sauf y dans l’ordre ?

· a · e · i · o ·

Les mots qui contiennent toutes les voyelles sauf y ?

... possible mais pénible !

8/85

(25)

Exemple

Les mots qui ne contiennent que y comme voyelle ? (b|c|d|f |g|h|j|k|l|m|n|p|q|r|s|t|v|w|x|y|z)

Les mots qui contiennent toutes les voyelles sauf y dans l’ordre ?

· a · e · i · o ·

Les mots qui contiennent toutes les voyelles sauf y ? ... possible mais pénible !

8/85

(26)

Comment tester si un mot est dans un langage

Pour un langage : (ab|c|bb)

• Étant donné un mot : abcabababbbabab

→ Comment déterminer si un mot est dans le langage ?

Solution : les automates finis !

start 0

1

3 a

b c

b

b

9/85

(27)

Comment tester si un mot est dans un langage

Pour un langage : (ab|c|bb)

• Étant donné un mot : abcabababbbabab

→ Comment déterminer si un mot est dans le langage ? Solution : les automates finis !

start 0

1

3 a

b c

b

b

9/85

(28)

Comment tester si un mot est dans un langage

Pour un langage : (ab|c|bb)

• Étant donné un mot : abcabababbbabab

→ Comment déterminer si un mot est dans le langage ? Solution : les automates finis !

start 0

1

3 a

b c

b

b

9/85

(29)

Fonctionnement d’un automate

Langage : (ab|c|bb)

a b c a b a b a b b b a b a b

↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑

start 0

1

3 a

b c

b

b

10/85

(30)

Fonctionnement d’un automate

Langage : (ab|c|bb)

a b c a b a b a b b b a b a b

↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑

start 0

1

3 a

b c

b

b

10/85

(31)

Fonctionnement d’un automate

Langage : (ab|c|bb)

a b c a b a b a b b b a b a b

↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑

start 0

1

3 a

b c

b

b

10/85

(32)

Fonctionnement d’un automate

Langage : (ab|c|bb)

a b c a b a b a b b b a b a b

↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑

start 0

1

3 a

b c

b

b

10/85

(33)

Fonctionnement d’un automate

Langage : (ab|c|bb)

a b c a b a b a b b b a b a b

↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑

start 0

1

3 a

b c

b

b

10/85

(34)

Fonctionnement d’un automate

Langage : (ab|c|bb)

a b c a b a b a b b b a b a b

↑ ↑

↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑

start 0

1

3 a

b c

b

b

10/85

(35)

Fonctionnement d’un automate

Langage : (ab|c|bb)

a b c a b a b a b b b a b a b

↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑

start 0

1

3 a

b c

b

b

10/85

(36)

Fonctionnement d’un automate

Langage : (ab|c|bb)

a b c a b a b a b b b a b a b

↑ ↑ ↑

↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑

start 0

1

3 a

b c

b

b

10/85

(37)

Fonctionnement d’un automate

Langage : (ab|c|bb)

a b c a b a b a b b b a b a b

↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑

start 0

1

3 a

b c

b

b

10/85

(38)

Fonctionnement d’un automate

Langage : (ab|c|bb)

a b c a b a b a b b b a b a b

↑ ↑ ↑ ↑

↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑

start 0

1

3 a

b c

b

b

10/85

(39)

Fonctionnement d’un automate

Langage : (ab|c|bb)

a b c a b a b a b b b a b a b

↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑

start 0

1

3 a

b c

b

b

10/85

(40)

Fonctionnement d’un automate

Langage : (ab|c|bb)

a b c a b a b a b b b a b a b

↑ ↑ ↑ ↑ ↑

↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑

start 0

1

3 a

b c

b

b

10/85

(41)

Fonctionnement d’un automate

Langage : (ab|c|bb)

a b c a b a b a b b b a b a b

↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑

start 0

1

3 a

b c

b

b

10/85

(42)

Fonctionnement d’un automate

Langage : (ab|c|bb)

a b c a b a b a b b b a b a b

↑ ↑ ↑ ↑ ↑ ↑

↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑

start 0

1

3 a

b c

b

b

10/85

(43)

Fonctionnement d’un automate

Langage : (ab|c|bb)

a b c a b a b a b b b a b a b

↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑

start 0

1

3 a

b c

b

b

10/85

(44)

Fonctionnement d’un automate

Langage : (ab|c|bb)

a b c a b a b a b b b a b a b

↑ ↑ ↑ ↑ ↑ ↑ ↑

↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑

start 0

1

3 a

b c

b

b

10/85

(45)

Fonctionnement d’un automate

Langage : (ab|c|bb)

a b c a b a b a b b b a b a b

↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑

start 0

1

3 a

b c

b

b

10/85

(46)

Fonctionnement d’un automate

Langage : (ab|c|bb)

a b c a b a b a b b b a b a b

↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑

↑ ↑ ↑ ↑ ↑ ↑ ↑

start 0

1

3 a

b c

b

b

10/85

(47)

Fonctionnement d’un automate

Langage : (ab|c|bb)

a b c a b a b a b b b a b a b

↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑

start 0

1

3 a

b c

b

b

10/85

(48)

Fonctionnement d’un automate

Langage : (ab|c|bb)

a b c a b a b a b b b a b a b

↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑

↑ ↑ ↑ ↑ ↑ ↑

start 0

1

3 a

b c

b

b

10/85

(49)

Fonctionnement d’un automate

Langage : (ab|c|bb)

a b c a b a b a b b b a b a b

↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑

start 0

1

3 a

b c

b

b

10/85

(50)

Fonctionnement d’un automate

Langage : (ab|c|bb)

a b c a b a b a b b b a b a b

↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑

↑ ↑ ↑ ↑ ↑

start 0

1

3 a

b c

b

b

10/85

(51)

Fonctionnement d’un automate

Langage : (ab|c|bb)

a b c a b a b a b b b a b a b

↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑

start 0

1

3 a

b c

b

b

10/85

(52)

Fonctionnement d’un automate

Langage : (ab|c|bb)

a b c a b a b a b b b a b a b

↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑

↑ ↑ ↑ ↑

start 0

1

3 a

b c

b

b

10/85

(53)

Fonctionnement d’un automate

Langage : (ab|c|bb)

a b c a b a b a b b b a b a b

↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑

start 0

1

3 a

b c

b

b

10/85

(54)

Fonctionnement d’un automate

Langage : (ab|c|bb)

a b c a b a b a b b b a b a b

↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑

↑ ↑ ↑

start 0

1

3 a

b c

b

b

10/85

(55)

Fonctionnement d’un automate

Langage : (ab|c|bb)

a b c a b a b a b b b a b a b

↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑

start 0

1

3 a

b c

b

b

10/85

(56)

Fonctionnement d’un automate

Langage : (ab|c|bb)

a b c a b a b a b b b a b a b

↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑

↑ ↑

start 0

1

3 a

b c

b

b

10/85

(57)

Fonctionnement d’un automate

Langage : (ab|c|bb)

a b c a b a b a b b b a b a b

↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑

start 0

1

3 a

b c

b

b

10/85

(58)

Fonctionnement d’un automate

Langage : (ab|c|bb)

a b c a b a b a b b b a b a b

↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑

start 0

1

3 a

b c

b

b

10/85

(59)

Fonctionnement d’un automate

Langage : (ab|c|bb)

a b c a b a b a b b b a b a b

↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑

start 0

1

3 a

b c

b

b

10/85

(60)

Fonctionnement d’un automate

Langage : (ab|c|bb)

a b c a b a b a b b b a b a b

↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑

start 0

1

3 a

b c

b

b

10/85

(61)

Récapitulatif : langages réguliers

• Expression régulière : construite à partir des mots

et des opérateurs étoile e , choix e 1 |e 2 , concaténation e 1 e 2

Automate : un graphe orienté avec un état initial, des états finals, et des arêtes étiquetées par des lettres

Théorème de Kleene (admis)

• Étant donné une expression régulière, on peut calculer un automate qui accepte son langage

• Étant donné un automate, on peut calculer une expression régulière qui décrit le langage qu’il accepte

→ Les langages réguliers sont les langages ainsi définis

11/85

(62)

Récapitulatif : langages réguliers

• Expression régulière : construite à partir des mots

et des opérateurs étoile e , choix e 1 |e 2 , concaténation e 1 e 2

Automate : un graphe orienté avec un état initial, des états finals, et des arêtes étiquetées par des lettres

Théorème de Kleene (admis)

• Étant donné une expression régulière, on peut calculer un automate qui accepte son langage

• Étant donné un automate, on peut calculer une expression régulière qui décrit le langage qu’il accepte

→ Les langages réguliers sont les langages ainsi définis

11/85

(63)

Récapitulatif : langages réguliers

• Expression régulière : construite à partir des mots

et des opérateurs étoile e , choix e 1 |e 2 , concaténation e 1 e 2

Automate : un graphe orienté avec un état initial, des états finals, et des arêtes étiquetées par des lettres

Théorème de Kleene (admis)

• Étant donné une expression régulière, on peut calculer un automate qui accepte son langage

• Étant donné un automate, on peut calculer une expression régulière qui décrit le langage qu’il accepte

→ Les langages réguliers sont les langages ainsi définis

11/85

(64)

Entrelacements

Que se passe-t-il si j’ai plusieurs mots d’où je peux lire ?

b b

↑ ↑

a b c

↑ ↑ ↑

b a

↑ ↑

Langage : (ab | c | bb)

start 0

1

3 a

b c

b

b

Nous avons tous perdu ! Essayons encore... Victoire ! Le mot est accepté !

12/85

(65)

Entrelacements

Que se passe-t-il si j’ai plusieurs mots d’où je peux lire ?

b b

↑ ↑

a b c

↑ ↑ ↑ ↑

b a

↑ ↑

Langage : (ab | c | bb)

start 0

1

3 a

b c

b

b

Nous avons tous perdu ! Essayons encore... Victoire ! Le mot est accepté !

12/85

(66)

Entrelacements

Que se passe-t-il si j’ai plusieurs mots d’où je peux lire ?

b b

↑ ↑

a b c

↑ ↑

b a

↑ ↑

Langage : (ab | c | bb)

start 0

1

3 a

b c

b

b

Nous avons tous perdu ! Essayons encore... Victoire ! Le mot est accepté !

12/85

(67)

Entrelacements

Que se passe-t-il si j’ai plusieurs mots d’où je peux lire ?

b b

↑ ↑ ↑

a b c

↑ ↑

b a

↑ ↑

Langage : (ab | c | bb)

start 0

1

3 a

b c

b

b

Nous avons tous perdu ! Essayons encore... Victoire ! Le mot est accepté !

12/85

(68)

Entrelacements

Que se passe-t-il si j’ai plusieurs mots d’où je peux lire ?

b b

a b c

↑ ↑

b a

↑ ↑

Langage : (ab | c | bb)

start 0

1

3 a

b c

b

b

Nous avons tous perdu ! Essayons encore... Victoire ! Le mot est accepté !

12/85

(69)

Entrelacements

Que se passe-t-il si j’ai plusieurs mots d’où je peux lire ?

b b

a b c

↑ ↑ ↑ ↑

b a

↑ ↑

Langage : (ab | c | bb)

start 0

1

3 a

b c

b

b

Nous avons tous perdu ! Essayons encore... Victoire ! Le mot est accepté !

12/85

(70)

Entrelacements

Que se passe-t-il si j’ai plusieurs mots d’où je peux lire ?

b b

a b c

↑ ↑

b a

↑ ↑

Langage : (ab | c | bb)

start 0

1

3 a

b c

b

b

Nous avons tous perdu ! Essayons encore... Victoire ! Le mot est accepté !

12/85

(71)

Entrelacements

Que se passe-t-il si j’ai plusieurs mots d’où je peux lire ?

b b

↑ ↑ ↑

a b c

↑ ↑

b a

↑ ↑

Langage : (ab | c | bb)

start 0

1

3 a

b c

b

b

Nous avons tous perdu ! Essayons encore... Victoire ! Le mot est accepté !

12/85

(72)

Entrelacements

Que se passe-t-il si j’ai plusieurs mots d’où je peux lire ?

b b

↑ ↑

a b c

↑ ↑

b a

↑ ↑

Langage : (ab | c | bb)

start 0

1

3 a

b c

b

b

Nous avons tous perdu ! Essayons encore... Victoire ! Le mot est accepté !

12/85

(73)

Entrelacements

Que se passe-t-il si j’ai plusieurs mots d’où je peux lire ?

b b

↑ ↑

a b c

↑ ↑ ↑ ↑

b a

↑ ↑

Langage : (ab | c | bb)

start 0

1

3 a

b c

b

b

Nous avons tous perdu ! Essayons encore... Victoire ! Le mot est accepté !

12/85

(74)

Entrelacements

Que se passe-t-il si j’ai plusieurs mots d’où je peux lire ?

b b

↑ ↑

a b c

↑ ↑ ↑

b a

↑ ↑

Langage : (ab | c | bb)

start 0

1

3 a

b c

b

b

Nous avons tous perdu ! Essayons encore... Victoire ! Le mot est accepté !

12/85

(75)

Entrelacements

Que se passe-t-il si j’ai plusieurs mots d’où je peux lire ?

b b

↑ ↑

a b c

↑ ↑ ↑

b a

↑ ↑ ↑

Langage : (ab | c | bb)

start 0

1

3 a

b c

b

b

Nous avons tous perdu ! Essayons encore... Victoire ! Le mot est accepté !

12/85

(76)

Entrelacements

Que se passe-t-il si j’ai plusieurs mots d’où je peux lire ?

b b

↑ ↑

a b c

↑ ↑ ↑

b a

Langage : (ab | c | bb)

start 0

1

3 a

b c

b

b

Nous avons tous perdu ! Essayons encore... Victoire ! Le mot est accepté !

12/85

(77)

Entrelacements

Que se passe-t-il si j’ai plusieurs mots d’où je peux lire ?

b b

↑ ↑

a b c

↑ ↑ ↑

b a

Langage : (ab | c | bb)

start 0

1

3 a

b c

b

b

Nous avons tous perdu !

Essayons encore... Victoire ! Le mot est accepté !

12/85

(78)

Entrelacements

Que se passe-t-il si j’ai plusieurs mots d’où je peux lire ?

b b

↑ ↑

a b c

↑ ↑ ↑

b a

Langage : (ab | c | bb)

start 0

1

3 a

b c

b

b

Nous avons tous perdu ! Essayons encore...

Victoire ! Le mot est accepté !

12/85

(79)

Entrelacements

Que se passe-t-il si j’ai plusieurs mots d’où je peux lire ?

b b

↑ ↑

a b c

↑ ↑ ↑

b a

↑ ↑

Langage : (ab | c | bb)

start 0

1

3 a

b c

b

b

Nous avons tous perdu ! Essayons encore... Victoire ! Le mot est accepté !

12/85

(80)

Entrelacements

Que se passe-t-il si j’ai plusieurs mots d’où je peux lire ?

b b

↑ ↑

a b c

↑ ↑ ↑

b a

↑ ↑ ↑

Langage : (ab | c | bb)

start 0

1

3 a

b c

b

b

Nous avons tous perdu ! Essayons encore... Victoire ! Le mot est accepté !

12/85

(81)

Entrelacements

Que se passe-t-il si j’ai plusieurs mots d’où je peux lire ?

b b

↑ ↑

a b c

↑ ↑ ↑

b a

Langage : (ab | c | bb)

start 0

1

3 a

b c

b

b

Nous avons tous perdu ! Essayons encore... Victoire ! Le mot est accepté !

12/85

(82)

Entrelacements

Que se passe-t-il si j’ai plusieurs mots d’où je peux lire ?

b b

↑ ↑ ↑

a b c

↑ ↑ ↑

b a

Langage : (ab | c | bb)

start 0

1

3 a

b c

b

b

Nous avons tous perdu ! Essayons encore... Victoire ! Le mot est accepté !

12/85

(83)

Entrelacements

Que se passe-t-il si j’ai plusieurs mots d’où je peux lire ?

b b

a b c

↑ ↑ ↑

b a

Langage : (ab | c | bb)

start 0

1

3 a

b c

b

b

Nous avons tous perdu ! Essayons encore... Victoire ! Le mot est accepté !

12/85

(84)

Entrelacements

Que se passe-t-il si j’ai plusieurs mots d’où je peux lire ?

b b

a b c

↑ ↑ ↑

b a

↑ ↑ ↑

Langage : (ab | c | bb)

start 0

1

3 a

b c

b

b

Nous avons tous perdu ! Essayons encore... Victoire ! Le mot est accepté !

12/85

(85)

Entrelacements

Que se passe-t-il si j’ai plusieurs mots d’où je peux lire ?

b b

a b c

↑ ↑ ↑

b a

↑ ↑

Langage : (ab | c | bb)

start 0

1

3 a

b c

b

b

Nous avons tous perdu ! Essayons encore... Victoire ! Le mot est accepté !

12/85

(86)

Entrelacements

Que se passe-t-il si j’ai plusieurs mots d’où je peux lire ?

b b

↑ ↑ ↑

a b c

↑ ↑ ↑

b a

↑ ↑

Langage : (ab | c | bb)

start 0

1

3 a

b c

b

b

Nous avons tous perdu ! Essayons encore... Victoire ! Le mot est accepté !

12/85

(87)

Entrelacements

Que se passe-t-il si j’ai plusieurs mots d’où je peux lire ?

b b

↑ ↑

a b c

↑ ↑ ↑

b a

↑ ↑

Langage : (ab | c | bb)

start 0

1

3 a

b c

b

b

Nous avons tous perdu ! Essayons encore... Victoire ! Le mot est accepté !

12/85

(88)

Entrelacements

Que se passe-t-il si j’ai plusieurs mots d’où je peux lire ?

b b

↑ ↑

a b c

↑ ↑

b a

↑ ↑

Langage : (ab | c | bb)

start 0

1

3 a

b c

b

b

Nous avons tous perdu ! Essayons encore... Victoire ! Le mot est accepté !

12/85

(89)

Entrelacements

Que se passe-t-il si j’ai plusieurs mots d’où je peux lire ?

b b

↑ ↑

a b c

↑ ↑ ↑ ↑

b a

↑ ↑

Langage : (ab | c | bb)

start 0

1

3 a

b c

b

b

Nous avons tous perdu ! Essayons encore... Victoire ! Le mot est accepté !

12/85

(90)

Entrelacements

Que se passe-t-il si j’ai plusieurs mots d’où je peux lire ?

b b

↑ ↑

a b c

↑ ↑ ↑ ↑

b a

↑ ↑

Langage : (ab | c | bb)

start 0

1

3 a

b c

b

b

Nous avons tous perdu ! Essayons encore... Victoire ! Le mot est accepté !

12/85

(91)

Entrelacements

Que se passe-t-il si j’ai plusieurs mots d’où je peux lire ?

b b

↑ ↑

a b c

↑ ↑

b a

↑ ↑

Langage : (ab | c | bb)

start 0

1

3 a

b c

b

b

Nous avons tous perdu ! Essayons encore... Victoire ! Le mot est accepté !

12/85

(92)

Entrelacements

Que se passe-t-il si j’ai plusieurs mots d’où je peux lire ?

b b

↑ ↑

a b c

↑ ↑ ↑ ↑

b a

↑ ↑

Langage : (ab | c | bb)

start 0

1

3 a

b c

b

b

Nous avons tous perdu ! Essayons encore... Victoire ! Le mot est accepté !

12/85

(93)

Entrelacements

Que se passe-t-il si j’ai plusieurs mots d’où je peux lire ?

b b

↑ ↑

a b c

↑ ↑ ↑

b a

↑ ↑

Langage : (ab | c | bb)

start 0

1

3 a

b c

b

b

Nous avons tous perdu ! Essayons encore... Victoire ! Le mot est accepté !

12/85

(94)

Entrelacements

Que se passe-t-il si j’ai plusieurs mots d’où je peux lire ?

b b

↑ ↑

a b c

↑ ↑ ↑

b a

↑ ↑

Langage : (ab | c | bb)

start 0

1

3 a

b c

b

b

Nous avons tous perdu ! Essayons encore...

Victoire ! Le mot est accepté !

12/85

(95)

Quel rapport avec les entrelacements ?

Un entrelacement des mots bb , abc , ba est une façon de mélanger leurs lettres qui conserve l’ordre dans chaque mot

b b

a b c

b a a b b b c b a

N’est pas dans (ab|c|bb)

b b

a b c

b a

b b a b a b c

Est dans (ab|c|bb)

Les mots bb, abc, ba ont certains entrelacements qui sont dans le langage (ab|c|bb) et d’autres qui ne sont pas dans le langage

13/85

(96)

Quel rapport avec les entrelacements ?

Un entrelacement des mots bb , abc , ba est une façon de mélanger leurs lettres qui conserve l’ordre dans chaque mot

b b

a b c

b a a b b b c b a

N’est pas dans (ab|c|bb)

b b

a b c

b a

b b a b a b c

Est dans (ab|c|bb)

Les mots bb, abc, ba ont certains entrelacements qui sont dans le langage (ab|c|bb) et d’autres qui ne sont pas dans le langage

13/85

(97)

Quel rapport avec les entrelacements ?

Un entrelacement des mots bb , abc , ba est une façon de mélanger leurs lettres qui conserve l’ordre dans chaque mot

b b

a b c

b a a b b b c b a

N’est pas dans (ab|c|bb)

b b

a b c

b a

b b a b a b c

Est dans (ab|c|bb)

Les mots bb, abc, ba ont certains entrelacements qui sont dans le langage (ab|c|bb) et d’autres qui ne sont pas dans le langage

13/85

(98)

Quel rapport avec les entrelacements ?

Un entrelacement des mots bb , abc , ba est une façon de mélanger leurs lettres qui conserve l’ordre dans chaque mot

b b

a b c

b a a b b b c b a N’est pas dans (ab|c|bb)

b b

a b c

b a

b b a b a b c

Est dans (ab|c|bb)

Les mots bb, abc, ba ont certains entrelacements qui sont dans le langage (ab|c|bb) et d’autres qui ne sont pas dans le langage

13/85

(99)

Quel rapport avec les entrelacements ?

Un entrelacement des mots bb , abc , ba est une façon de mélanger leurs lettres qui conserve l’ordre dans chaque mot

b b

a b c

b a a b b b c b a N’est pas dans (ab|c|bb)

b b

a b c

b a

b b a b a b c Est dans (ab|c|bb)

Les mots bb, abc, ba ont certains entrelacements qui sont dans le langage (ab|c|bb) et d’autres qui ne sont pas dans le langage

13/85

(100)

Quel rapport avec les entrelacements ?

Un entrelacement des mots bb , abc , ba est une façon de mélanger leurs lettres qui conserve l’ordre dans chaque mot

b b

a b c

b a a b b b c b a N’est pas dans (ab|c|bb)

b b

a b c

b a

b b a b a b c Est dans (ab|c|bb)

Les mots bb, abc, ba ont certains entrelacements qui sont dans le langage (ab|c|bb) et d’autres qui ne sont pas dans le langage

13/85

(101)

Question de recherche

• Problème d’entrelacement pour un langage régulier L :

• Entrée : des mots sur l’alphabet

• Sortie : est-ce qu’ils ont un entrelacement dans L ?

→ Comment résoudre efficacement ce problème ?

→ Pour quels langages réguliers ce problème est-il facile ? Collaboration avec Charles Paperman

Commencée en juin 2016 à une conférence à San Francisco Poursuivie à Paris depuis (Charles à Tübingen puis à Paris) Plan : soumettre en juillet à une conférence à Barcelone

14/85

(102)

Question de recherche

• Problème d’entrelacement pour un langage régulier L :

• Entrée : des mots sur l’alphabet

• Sortie : est-ce qu’ils ont un entrelacement dans L ?

→ Comment résoudre efficacement ce problème ?

→ Pour quels langages réguliers ce problème est-il facile ? Collaboration avec Charles Paperman

Commencée en juin 2016 à une conférence à San Francisco Poursuivie à Paris depuis (Charles à Tübingen puis à Paris) Plan : soumettre en juillet à une conférence à Barcelone

14/85

(103)

Question de recherche

• Problème d’entrelacement pour un langage régulier L :

• Entrée : des mots sur l’alphabet

• Sortie : est-ce qu’ils ont un entrelacement dans L ?

→ Comment résoudre efficacement ce problème ?

→ Pour quels langages réguliers ce problème est-il facile ?

Collaboration avec Charles Paperman

Commencée en juin 2016 à une conférence à San Francisco Poursuivie à Paris depuis (Charles à Tübingen puis à Paris) Plan : soumettre en juillet à une conférence à Barcelone

14/85

(104)

Question de recherche

• Problème d’entrelacement pour un langage régulier L :

• Entrée : des mots sur l’alphabet

• Sortie : est-ce qu’ils ont un entrelacement dans L ?

→ Comment résoudre efficacement ce problème ?

→ Pour quels langages réguliers ce problème est-il facile ? Collaboration avec Charles Paperman

Commencée en juin 2016 à une conférence à San Francisco Poursuivie à Paris depuis (Charles à Tübingen puis à Paris) Plan : soumettre en juillet à une conférence à Barcelone

14/85

(105)

Approches fausses et inefficaces

Algorithme glouton pour choisir la prochaine lettre :

→ On a parfois plusieurs mots où prendre la lettre

→ Le choix est important (cf exemple précédent)

Algorithme force brute : essayer tous les entrelacements

→ Pour deux mots de n lettres, on a

n 2n

entrelacements

Algorithme dynamique sur la position dans chaque mot

→ Le nombre de mots n’est pas constant

→ Pour m mots de n lettres, il y a m n états

15/85

(106)

Approches fausses et inefficaces

Algorithme glouton pour choisir la prochaine lettre :

→ On a parfois plusieurs mots où prendre la lettre

→ Le choix est important (cf exemple précédent)

Algorithme force brute : essayer tous les entrelacements

→ Pour deux mots de n lettres, on a

n 2n

entrelacements

Algorithme dynamique sur la position dans chaque mot

→ Le nombre de mots n’est pas constant

→ Pour m mots de n lettres, il y a m n états

15/85

(107)

Approches fausses et inefficaces

Algorithme glouton pour choisir la prochaine lettre :

→ On a parfois plusieurs mots où prendre la lettre

→ Le choix est important (cf exemple précédent)

Algorithme force brute : essayer tous les entrelacements

→ Pour deux mots de n lettres, on a

n 2n

entrelacements

Algorithme dynamique sur la position dans chaque mot

→ Le nombre de mots n’est pas constant

→ Pour m mots de n lettres, il y a m n états

15/85

Références

Documents relatifs

Dans l'entretien avec Madeleine Chapsal de L'Express du 12 janvier 1960, Simon rappelle que Sartre a déclaré à Claude Sarraute pour Le Monde renoncer à l'écriture des romans

Un programme est là pour dénicher et développer leurs forces cachées : le “projet pour la découverte des talents exceptionnels” placé sous la direction du professeur Kenryu

non, je prends aussi du lait, s’il vous plaît 14?. voilà mademoiselle, et

jag skulle vilja..

Le rapport 2010 du PNUD propose un nouveau calcul de l'IDH : les trois dimensions qui entrent dans le calcul de l'indice composite restent les mêmes (santé, éducation, niveau de

Bousculé, apostrophé, harcelé, l'auditeur ne sait plus si le bulletin météorologique qui annonce la neige a trait à la journée d'hier ou à celle de demain ; et il se retrouve en

Pour repérer la thèse défendue, il convient tout d'abord de trouver le thème du texte.. On peut ensuite chercher le jugement ou le sentiment du locuteur à propos de

Techniquement, lorsque vous vous projetez en temps réel dans le monde physique, comme lors d'une EHC, vous êtes en fait à la limite de la zone tampon entre les dimensions physique