179
La complexité du problème TETRIS Brussels Summer School of Mathematics Keno Merckx ULB Keno Merckx 0/38

La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

La complexité du problème TETRISBrussels Summer School of Mathematics

Keno Merckx

ULB

Août 2015

Keno Merckx 0/38

Page 2: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

Plan

1 Introduction: la difficulté

2 Le Tetris

3 La complexité

4 La complexité de Tetris

5 Résultats annexes, remarques et conclusion

Keno Merckx 1/38

Page 3: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

Approche

Voici une liste de tâches:

Corriger des copies d’examens

Trier des dossiers par ordre alphabétique

Préparer un sac-à-dos avant un départ en vacance

Factoriser des nombres

Jouer à Tetris

Gagner une partie d’échec contre une intelligence artificielle

Réaliser une thèse de doctorat

Pour affirmer qu’une de ces tâches est "plus dure" qu’une autre il nous fautformaliser un certain nombre de notions.

Keno Merckx 2/38

Page 4: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

Approche

Voici une liste de tâches:

Corriger des copies d’examens

Trier des dossiers par ordre alphabétique

Préparer un sac-à-dos avant un départ en vacance

Factoriser des nombres

Jouer à Tetris

Gagner une partie d’échec contre une intelligence artificielle

Réaliser une thèse de doctorat

Pour affirmer qu’une de ces tâches est "plus dure" qu’une autre il nous fautformaliser un certain nombre de notions.

Keno Merckx 2/38

Page 5: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

Approche

Voici une liste de tâches:

Corriger des copies d’examens

Trier des dossiers par ordre alphabétique

Préparer un sac-à-dos avant un départ en vacance

Factoriser des nombres

Jouer à Tetris

Gagner une partie d’échec contre une intelligence artificielle

Réaliser une thèse de doctorat

Pour affirmer qu’une de ces tâches est "plus dure" qu’une autre il nous fautformaliser un certain nombre de notions.

Keno Merckx 2/38

Page 6: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

Qu’est-ce qu’un problème difficile ?

Un exposé facile à propos de choses difficiles

Nous allons tenter d’approcher une définition de "difficulté". L’accent sera mis surl’aspect algorithmique de la résolution d’un problème donné.

⇒ Théorie de la complexité : entre les mathématiques et l’informatique

Pourquoi faire cela?

I Nouvelle manière de penser aux problèmes et à leurs solutionsI La théorie est souvent en avance sur la pratiqueI L’honneur de l’esprit humainI De nombreuses applications pratiques

Keno Merckx 3/38

Page 7: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

Qu’est-ce qu’un problème difficile ?

Un exposé facile à propos de choses difficiles

Nous allons tenter d’approcher une définition de "difficulté". L’accent sera mis surl’aspect algorithmique de la résolution d’un problème donné.

⇒ Théorie de la complexité : entre les mathématiques et l’informatique

Pourquoi faire cela?

I Nouvelle manière de penser aux problèmes et à leurs solutionsI La théorie est souvent en avance sur la pratiqueI L’honneur de l’esprit humainI De nombreuses applications pratiques

Keno Merckx 3/38

Page 8: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

Qu’est-ce qu’un problème difficile ?

Un exposé facile à propos de choses difficiles

Nous allons tenter d’approcher une définition de "difficulté". L’accent sera mis surl’aspect algorithmique de la résolution d’un problème donné.

⇒ Théorie de la complexité : entre les mathématiques et l’informatique

Pourquoi faire cela?

I Nouvelle manière de penser aux problèmes et à leurs solutions

I La théorie est souvent en avance sur la pratiqueI L’honneur de l’esprit humainI De nombreuses applications pratiques

Keno Merckx 3/38

Page 9: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

Qu’est-ce qu’un problème difficile ?

Un exposé facile à propos de choses difficiles

Nous allons tenter d’approcher une définition de "difficulté". L’accent sera mis surl’aspect algorithmique de la résolution d’un problème donné.

⇒ Théorie de la complexité : entre les mathématiques et l’informatique

Pourquoi faire cela?

I Nouvelle manière de penser aux problèmes et à leurs solutionsI La théorie est souvent en avance sur la pratique

I L’honneur de l’esprit humainI De nombreuses applications pratiques

Keno Merckx 3/38

Page 10: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

Qu’est-ce qu’un problème difficile ?

Un exposé facile à propos de choses difficiles

Nous allons tenter d’approcher une définition de "difficulté". L’accent sera mis surl’aspect algorithmique de la résolution d’un problème donné.

⇒ Théorie de la complexité : entre les mathématiques et l’informatique

Pourquoi faire cela?

I Nouvelle manière de penser aux problèmes et à leurs solutionsI La théorie est souvent en avance sur la pratiqueI L’honneur de l’esprit humain

I De nombreuses applications pratiques

Keno Merckx 3/38

Page 11: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

Qu’est-ce qu’un problème difficile ?

Un exposé facile à propos de choses difficiles

Nous allons tenter d’approcher une définition de "difficulté". L’accent sera mis surl’aspect algorithmique de la résolution d’un problème donné.

⇒ Théorie de la complexité : entre les mathématiques et l’informatique

Pourquoi faire cela?

I Nouvelle manière de penser aux problèmes et à leurs solutionsI La théorie est souvent en avance sur la pratiqueI L’honneur de l’esprit humainI De nombreuses applications pratiques

Keno Merckx 3/38

Page 12: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

Les problèmes dont il est question ici

Quelques définitions et notations standards:

soit Σ∗ un alphabet, c’est-à-dire un un ensemble d’éléments appeléssymboles,

appelons un mot, la concaténation d’un nombre fini de symboles,

un langage Σ sera un ensemble de mots.

Exemple

I Σ∗ = {0, 1, 2, 3, 4, 5, 6, 7, 9},I Σ = PREMIER = {x : x est un nombre premier}.

Nous allons observer des problèmes de décision, du type

Soit x , est-ce que x ∈ Σ?

Keno Merckx 4/38

Page 13: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

Les problèmes dont il est question ici

Quelques définitions et notations standards:

soit Σ∗ un alphabet, c’est-à-dire un un ensemble d’éléments appeléssymboles,

appelons un mot, la concaténation d’un nombre fini de symboles,

un langage Σ sera un ensemble de mots.

Exemple

I Σ∗ = {0, 1, 2, 3, 4, 5, 6, 7, 9},I Σ = PREMIER = {x : x est un nombre premier}.

Nous allons observer des problèmes de décision, du type

Soit x , est-ce que x ∈ Σ?

Keno Merckx 4/38

Page 14: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

Les problèmes dont il est question ici

Quelques définitions et notations standards:

soit Σ∗ un alphabet, c’est-à-dire un un ensemble d’éléments appeléssymboles,

appelons un mot, la concaténation d’un nombre fini de symboles,

un langage Σ sera un ensemble de mots.

Exemple

I Σ∗ = {0, 1, 2, 3, 4, 5, 6, 7, 9},I Σ = PREMIER = {x : x est un nombre premier}.

Nous allons observer des problèmes de décision, du type

Soit x , est-ce que x ∈ Σ?

Keno Merckx 4/38

Page 15: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

Les problèmes dont il est question ici

Quelques définitions et notations standards:

soit Σ∗ un alphabet, c’est-à-dire un un ensemble d’éléments appeléssymboles,

appelons un mot, la concaténation d’un nombre fini de symboles,

un langage Σ sera un ensemble de mots.

Exemple

I Σ∗ = {0, 1, 2, 3, 4, 5, 6, 7, 9},I Σ = PREMIER = {x : x est un nombre premier}.

Nous allons observer des problèmes de décision, du type

Soit x , est-ce que x ∈ Σ?

Keno Merckx 4/38

Page 16: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

Les problèmes dont il est question ici

Quelques définitions et notations standards:

soit Σ∗ un alphabet, c’est-à-dire un un ensemble d’éléments appeléssymboles,

appelons un mot, la concaténation d’un nombre fini de symboles,

un langage Σ sera un ensemble de mots.

Exemple

I Σ∗ = {0, 1, 2, 3, 4, 5, 6, 7, 9},I Σ = PREMIER = {x : x est un nombre premier}.

Nous allons observer des problèmes de décision, du type

Soit x , est-ce que x ∈ Σ?

Keno Merckx 4/38

Page 17: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

Les problèmes dont il est question ici

Quelques définitions et notations standards:

soit Σ∗ un alphabet, c’est-à-dire un un ensemble d’éléments appeléssymboles,

appelons un mot, la concaténation d’un nombre fini de symboles,

un langage Σ sera un ensemble de mots.

Exemple

I Σ∗ = {0, 1, 2, 3, 4, 5, 6, 7, 9},I Σ = PREMIER = {x : x est un nombre premier}.

Nous allons observer des problèmes de décision, du type

Soit x , est-ce que x ∈ Σ?

Keno Merckx 4/38

Page 18: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

Aperçu rapide des règles du jeux Tetris

Le jeux Tetris est un puzzle inventé par Alexey Pajitnov en 1984 composé deformes appelées tétrominos:

Des tétrominos tombent un par un de haut en bas sur le plateau de jeu: unrectangle vertical de 10 blocs sur 18 blocs.

Objectif: manipuler les tétrominos (latéralement ou par rotation de π2 )

pendant leurs chutes pour créer en bas du plateau le plus delignes horizontales de 10 blocs sans trou.

Quand une ligne de 10 est crée, elle disparaît du plateau et les morceaux detétrominos au dessus d’elle tombent par un effet de gravité.

Fin de jeu si une colonne de tétrominos atteint le haut du plateau de jeu, lejoueur a perdu.

Keno Merckx 5/38

Page 19: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

Aperçu rapide des règles du jeux Tetris

Le jeux Tetris est un puzzle inventé par Alexey Pajitnov en 1984 composé deformes appelées tétrominos:

Des tétrominos tombent un par un de haut en bas sur le plateau de jeu: unrectangle vertical de 10 blocs sur 18 blocs.

Objectif: manipuler les tétrominos (latéralement ou par rotation de π2 )

pendant leurs chutes pour créer en bas du plateau le plus delignes horizontales de 10 blocs sans trou.

Quand une ligne de 10 est crée, elle disparaît du plateau et les morceaux detétrominos au dessus d’elle tombent par un effet de gravité.

Fin de jeu si une colonne de tétrominos atteint le haut du plateau de jeu, lejoueur a perdu.

Keno Merckx 5/38

Page 20: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

Aperçu rapide des règles du jeux Tetris

Le jeux Tetris est un puzzle inventé par Alexey Pajitnov en 1984 composé deformes appelées tétrominos:

Des tétrominos tombent un par un de haut en bas sur le plateau de jeu: unrectangle vertical de 10 blocs sur 18 blocs.

Objectif: manipuler les tétrominos (latéralement ou par rotation de π2 )

pendant leurs chutes pour créer en bas du plateau le plus delignes horizontales de 10 blocs sans trou.

Quand une ligne de 10 est crée, elle disparaît du plateau et les morceaux detétrominos au dessus d’elle tombent par un effet de gravité.

Fin de jeu si une colonne de tétrominos atteint le haut du plateau de jeu, lejoueur a perdu.

Keno Merckx 5/38

Page 21: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

Aperçu rapide des règles du jeux Tetris

Le jeux Tetris est un puzzle inventé par Alexey Pajitnov en 1984 composé deformes appelées tétrominos:

Des tétrominos tombent un par un de haut en bas sur le plateau de jeu: unrectangle vertical de 10 blocs sur 18 blocs.

Objectif: manipuler les tétrominos (latéralement ou par rotation de π2 )

pendant leurs chutes pour créer en bas du plateau le plus delignes horizontales de 10 blocs sans trou.

Quand une ligne de 10 est crée, elle disparaît du plateau et les morceaux detétrominos au dessus d’elle tombent par un effet de gravité.

Fin de jeu si une colonne de tétrominos atteint le haut du plateau de jeu, lejoueur a perdu.

Keno Merckx 5/38

Page 22: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

Aperçu rapide des règles du jeux Tetris

Le jeux Tetris est un puzzle inventé par Alexey Pajitnov en 1984 composé deformes appelées tétrominos:

Des tétrominos tombent un par un de haut en bas sur le plateau de jeu: unrectangle vertical de 10 blocs sur 18 blocs.

Objectif: manipuler les tétrominos (latéralement ou par rotation de π2 )

pendant leurs chutes pour créer en bas du plateau le plus delignes horizontales de 10 blocs sans trou.

Quand une ligne de 10 est crée, elle disparaît du plateau et les morceaux detétrominos au dessus d’elle tombent par un effet de gravité.

Fin de jeu si une colonne de tétrominos atteint le haut du plateau de jeu, lejoueur a perdu.

Keno Merckx 5/38

Page 23: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

Pause programmation

Un petit programme vaut mieux qu’un long discours:

cf. le Tetris officiel de la BSSM 2015.

Keno Merckx 6/38

Page 24: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

Pause programmation

Un petit programme vaut mieux qu’un long discours:

cf. le Tetris officiel de la BSSM 2015.

Keno Merckx 6/38

Page 25: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

Tetris est-il un problème?

Le problème TETRIS est la transformation du jeu en problème de décision.

Tetris offline Nous voyons la séquence finie de tétrominos qui se présentera ànous. Celle-ci sera notée s.

Tetris avancé Le plateau est partiellement rempli. Celui-ci est donné sousforme d’une matrice binaire notée p.

Le langage TETRIS peut donc être défini:

TETRIS = {(p, s) : on peux jouer s pour vider entierement p}

Le problème TETRIS

Etant donné un plateau p et une séquence de tétrominos s, est-il possible devider de p à l’aide de s? Autrement dit:

Soit (p, s), est-ce que (p, s) ∈ TETRIS ?

Keno Merckx 7/38

Page 26: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

Tetris est-il un problème?

Le problème TETRIS est la transformation du jeu en problème de décision.

Tetris offline Nous voyons la séquence finie de tétrominos qui se présentera ànous. Celle-ci sera notée s.

Tetris avancé Le plateau est partiellement rempli. Celui-ci est donné sousforme d’une matrice binaire notée p.

Le langage TETRIS peut donc être défini:

TETRIS = {(p, s) : on peux jouer s pour vider entierement p}

Le problème TETRIS

Etant donné un plateau p et une séquence de tétrominos s, est-il possible devider de p à l’aide de s? Autrement dit:

Soit (p, s), est-ce que (p, s) ∈ TETRIS ?

Keno Merckx 7/38

Page 27: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

Tetris est-il un problème?

Le problème TETRIS est la transformation du jeu en problème de décision.

Tetris offline Nous voyons la séquence finie de tétrominos qui se présentera ànous. Celle-ci sera notée s.

Tetris avancé Le plateau est partiellement rempli. Celui-ci est donné sousforme d’une matrice binaire notée p.

Le langage TETRIS peut donc être défini:

TETRIS = {(p, s) : on peux jouer s pour vider entierement p}

Le problème TETRIS

Etant donné un plateau p et une séquence de tétrominos s, est-il possible devider de p à l’aide de s? Autrement dit:

Soit (p, s), est-ce que (p, s) ∈ TETRIS ?

Keno Merckx 7/38

Page 28: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

Tetris est-il un problème?

Le problème TETRIS est la transformation du jeu en problème de décision.

Tetris offline Nous voyons la séquence finie de tétrominos qui se présentera ànous. Celle-ci sera notée s.

Tetris avancé Le plateau est partiellement rempli. Celui-ci est donné sousforme d’une matrice binaire notée p.

Le langage TETRIS peut donc être défini:

TETRIS = {(p, s) : on peux jouer s pour vider entierement p}

Le problème TETRIS

Etant donné un plateau p et une séquence de tétrominos s, est-il possible devider de p à l’aide de s? Autrement dit:

Soit (p, s), est-ce que (p, s) ∈ TETRIS ?

Keno Merckx 7/38

Page 29: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

Tetris est-il un problème?

Le problème TETRIS est la transformation du jeu en problème de décision.

Tetris offline Nous voyons la séquence finie de tétrominos qui se présentera ànous. Celle-ci sera notée s.

Tetris avancé Le plateau est partiellement rempli. Celui-ci est donné sousforme d’une matrice binaire notée p.

Le langage TETRIS peut donc être défini:

TETRIS = {(p, s) : on peux jouer s pour vider entierement p}

Le problème TETRIS

Etant donné un plateau p et une séquence de tétrominos s, est-il possible devider de p à l’aide de s? Autrement dit:

Soit (p, s), est-ce que (p, s) ∈ TETRIS ?

Keno Merckx 7/38

Page 30: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

Instances de problèmes de décision

Exemples

• Est-ce que 2147483647 ∈ PREMIER ?

• Est-ce que(

,)∈ TETRIS ?

⇒ A quel point ces questions deviennent "difficiles" si l’on agrandit le nombreou le plateau donné ?

Ce qu’on peut envisager

I Trouver un algorithme A qui décide si (p, s) ∈ TETRIS.I Mesurer les ressources nécessaires à A.

Keno Merckx 8/38

Page 31: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

Instances de problèmes de décision

Exemples

• Est-ce que 2147483647 ∈ PREMIER ?

• Est-ce que(

,)∈ TETRIS ?

⇒ A quel point ces questions deviennent "difficiles" si l’on agrandit le nombreou le plateau donné ?

Ce qu’on peut envisager

I Trouver un algorithme A qui décide si (p, s) ∈ TETRIS.I Mesurer les ressources nécessaires à A.

Keno Merckx 8/38

Page 32: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

Instances de problèmes de décision

Exemples

• Est-ce que 2147483647 ∈ PREMIER ?

• Est-ce que(

,)∈ TETRIS ?

⇒ A quel point ces questions deviennent "difficiles" si l’on agrandit le nombreou le plateau donné ?

Ce qu’on peut envisager

I Trouver un algorithme A qui décide si (p, s) ∈ TETRIS.I Mesurer les ressources nécessaires à A.

Keno Merckx 8/38

Page 33: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

Mesure des ressources

Comment mesurer l’utilisation des ressources d’un algorithme A ?

Etre pessimiste:• Nous considérons la consommation dans le pire des cas en fonction de l’input.

Ressources: le temps et l’espace.• Lancer A sur toutes les instances de taille n à l’aide d’une machine.• Etudier (asymptotiquement) la fonction de n par rapport à la ressources

consommées par A sur "la pire" instance de taille n.

Une première définition possible de la "difficulté"

Au vue de cette étude, on peut qualifier un problème deI "difficile" si cette fonction pour l’algorithme de résolution croît de façon

exponentielle,I "facile" si cette fonction pour l’algorithme de résolution croît de façon

polynomiale.

Keno Merckx 9/38

Page 34: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

Mesure des ressources

Comment mesurer l’utilisation des ressources d’un algorithme A ?Etre pessimiste:• Nous considérons la consommation dans le pire des cas en fonction de l’input.

Ressources: le temps et l’espace.• Lancer A sur toutes les instances de taille n à l’aide d’une machine.• Etudier (asymptotiquement) la fonction de n par rapport à la ressources

consommées par A sur "la pire" instance de taille n.

Une première définition possible de la "difficulté"

Au vue de cette étude, on peut qualifier un problème deI "difficile" si cette fonction pour l’algorithme de résolution croît de façon

exponentielle,I "facile" si cette fonction pour l’algorithme de résolution croît de façon

polynomiale.

Keno Merckx 9/38

Page 35: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

Mesure des ressources

Comment mesurer l’utilisation des ressources d’un algorithme A ?Etre pessimiste:• Nous considérons la consommation dans le pire des cas en fonction de l’input.

Ressources: le temps et l’espace.• Lancer A sur toutes les instances de taille n à l’aide d’une machine.• Etudier (asymptotiquement) la fonction de n par rapport à la ressources

consommées par A sur "la pire" instance de taille n.

Une première définition possible de la "difficulté"

Au vue de cette étude, on peut qualifier un problème deI "difficile" si cette fonction pour l’algorithme de résolution croît de façon

exponentielle,I "facile" si cette fonction pour l’algorithme de résolution croît de façon

polynomiale.

Keno Merckx 9/38

Page 36: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

Mesure des ressources

Comment mesurer l’utilisation des ressources d’un algorithme A ?Etre pessimiste:• Nous considérons la consommation dans le pire des cas en fonction de l’input.

Ressources: le temps et l’espace.• Lancer A sur toutes les instances de taille n à l’aide d’une machine.• Etudier (asymptotiquement) la fonction de n par rapport à la ressources

consommées par A sur "la pire" instance de taille n.

Une première définition possible de la "difficulté"

Au vue de cette étude, on peut qualifier un problème deI "difficile" si cette fonction pour l’algorithme de résolution croît de façon

exponentielle,I "facile" si cette fonction pour l’algorithme de résolution croît de façon

polynomiale.

Keno Merckx 9/38

Page 37: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

Quelques problèmes triés en fonction de leurs complexités

Facile Difficile

décidable non décidable

Est-ce que le premier

nombre de ce vecteur

est positif ?

Est-ce que cette liste

de nombre est triée ?

Est-ce que je peux

colorier cette carte

avec trois couleurs ?

Est-ce que Windows

va charger ces don-

nées sans planter ?

Est-ce que je vais

terminer ma thèse de

doctorat ?

Keno Merckx 10/38

Page 38: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

Quelques problèmes triés en fonction de leurs complexités

Facile Difficile

décidable non décidable

Est-ce que le premier

nombre de ce vecteur

est positif ?

Est-ce que cette liste

de nombre est triée ?

Est-ce que je peux

colorier cette carte

avec trois couleurs ?

Est-ce que Windows

va charger ces don-

nées sans planter ?

Est-ce que je vais

terminer ma thèse de

doctorat ?

Keno Merckx 10/38

Page 39: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

Quelques problèmes triés en fonction de leurs complexités

Facile Difficile

décidable non décidable

Est-ce que le premier

nombre de ce vecteur

est positif ?

Est-ce que cette liste

de nombre est triée ?

Est-ce que je peux

colorier cette carte

avec trois couleurs ?

Est-ce que Windows

va charger ces don-

nées sans planter ?

Est-ce que je vais

terminer ma thèse de

doctorat ?

Keno Merckx 10/38

Page 40: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

Quelques problèmes triés en fonction de leurs complexités

Facile Difficile

décidable non décidable

Est-ce que le premier

nombre de ce vecteur

est positif ?

Est-ce que cette liste

de nombre est triée ?

Est-ce que je peux

colorier cette carte

avec trois couleurs ?

Est-ce que Windows

va charger ces don-

nées sans planter ?

Est-ce que je vais

terminer ma thèse de

doctorat ?

Keno Merckx 10/38

Page 41: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

Quelques problèmes triés en fonction de leurs complexités

Facile Difficile

décidable non décidable

Est-ce que le premier

nombre de ce vecteur

est positif ?

Est-ce que cette liste

de nombre est triée ?

Est-ce que je peux

colorier cette carte

avec trois couleurs ?

Est-ce que Windows

va charger ces don-

nées sans planter ?

Est-ce que je vais

terminer ma thèse de

doctorat ?

Keno Merckx 10/38

Page 42: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

Quelques problèmes triés en fonction de leurs complexités

Facile Difficiledécidable non décidable

Est-ce que le premier

nombre de ce vecteur

est positif ?

Est-ce que cette liste

de nombre est triée ?

Est-ce que je peux

colorier cette carte

avec trois couleurs ?

Est-ce que Windows

va charger ces don-

nées sans planter ?

Est-ce que je vais

terminer ma thèse de

doctorat ?

Keno Merckx 10/38

Page 43: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

Quelques problèmes triés en fonction de leurs complexités

Facile Difficiledécidable non décidable

Est-ce que le premier

nombre de ce vecteur

est positif ?

Est-ce que cette liste

de nombre est triée ?

Est-ce que je peux

colorier cette carte

avec trois couleurs ?

Est-ce que Windows

va charger ces don-

nées sans planter ?

Est-ce que je vais

terminer ma thèse de

doctorat ?

Keno Merckx 10/38

Page 44: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

Classification

Une classe de complexité est un ensemble de langages.

• Un langage L est dans une des classes de complexité suivantes s’il existeun algorithme qui...

P ... décide toutes les questions x ∈ L entemps polynomial.

P-SPACE ... décide toutes les questions x ∈ L àl’aide d’un espace polynomial.

EXP-TIME ... décide toutes les questions x ∈ L entemps exponentiel.

Il existe une multitude d’autres classes de complexité, beaucoup sont listées surle site Complexity Zoo.

Keno Merckx 11/38

Page 45: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

Classification

Une classe de complexité est un ensemble de langages.

• Un langage L est dans une des classes de complexité suivantes s’il existeun algorithme qui...

P ... décide toutes les questions x ∈ L entemps polynomial.

P-SPACE ... décide toutes les questions x ∈ L àl’aide d’un espace polynomial.

EXP-TIME ... décide toutes les questions x ∈ L entemps exponentiel.

Il existe une multitude d’autres classes de complexité, beaucoup sont listées surle site Complexity Zoo.

Keno Merckx 11/38

Page 46: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

Classification

Une classe de complexité est un ensemble de langages.

• Un langage L est dans une des classes de complexité suivantes s’il existeun algorithme qui...

P ... décide toutes les questions x ∈ L entemps polynomial.

P-SPACE ... décide toutes les questions x ∈ L àl’aide d’un espace polynomial.

EXP-TIME ... décide toutes les questions x ∈ L entemps exponentiel.

Il existe une multitude d’autres classes de complexité, beaucoup sont listées surle site Complexity Zoo.

Keno Merckx 11/38

Page 47: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

Classification

Une classe de complexité est un ensemble de langages.

• Un langage L est dans une des classes de complexité suivantes s’il existeun algorithme qui...

P ... décide toutes les questions x ∈ L entemps polynomial.

P-SPACE ... décide toutes les questions x ∈ L àl’aide d’un espace polynomial.

EXP-TIME ... décide toutes les questions x ∈ L entemps exponentiel.

Il existe une multitude d’autres classes de complexité, beaucoup sont listées surle site Complexity Zoo.

Keno Merckx 11/38

Page 48: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

Classification

Une classe de complexité est un ensemble de langages.

• Un langage L est dans une des classes de complexité suivantes s’il existeun algorithme qui...

P ... décide toutes les questions x ∈ L entemps polynomial.

P-SPACE ... décide toutes les questions x ∈ L àl’aide d’un espace polynomial.

EXP-TIME ... décide toutes les questions x ∈ L entemps exponentiel.

Il existe une multitude d’autres classes de complexité, beaucoup sont listées surle site Complexity Zoo.

Keno Merckx 11/38

Page 49: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

Classification

Une classe de complexité est un ensemble de langages.

• Un langage L est dans une des classes de complexité suivantes s’il existeun algorithme qui...

P ... décide toutes les questions x ∈ L entemps polynomial.

P-SPACE ... décide toutes les questions x ∈ L àl’aide d’un espace polynomial.

EXP-TIME ... décide toutes les questions x ∈ L entemps exponentiel.

Il existe une multitude d’autres classes de complexité, beaucoup sont listées surle site Complexity Zoo.

Keno Merckx 11/38

Page 50: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

Hiérarchie

P

P-SPACE

EXP-TIME

...

Temps efficace

Espace efficace

On sait que

I P ⊆ P-SPACE ⊆ EXP-TIMEI P 6= EXP-TIME

Keno Merckx 12/38

Page 51: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

Hiérarchie

P

P-SPACE

EXP-TIME

...

Temps efficace

Espace efficace

On sait que

I P ⊆ P-SPACE ⊆ EXP-TIMEI P 6= EXP-TIME

Keno Merckx 12/38

Page 52: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

Hiérarchie

P

P-SPACE

EXP-TIME

...

Temps efficace

Espace efficace

On sait que

I P ⊆ P-SPACE ⊆ EXP-TIMEI P 6= EXP-TIME

Keno Merckx 12/38

Page 53: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

Hiérarchie

P

P-SPACE

EXP-TIME

...

Temps efficace

Espace efficace

On sait que

I P ⊆ P-SPACE ⊆ EXP-TIMEI P 6= EXP-TIME

Keno Merckx 12/38

Page 54: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

Illustration: TSP

Le célèbre problème du voyageur de commerce (TSP).

Un exemple: TSP-Europe

Je veux me rendre dans les capitales des 28 états membres de l’UE. Chaquedéplacement en avion entre deux capitales me coûte un prix donné. Je ne veuxjamais passer deux fois par la même ville. Existe-t-il un ordre de visite dont le prixest inférieur à 1000 euros ?

Bruxelles

Paris

Londres

Berlin

350

150

200

650 250

100

Keno Merckx 13/38

Page 55: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

Illustration: TSP

Le célèbre problème du voyageur de commerce (TSP).

Un exemple: TSP-Europe

Je veux me rendre dans les capitales des 28 états membres de l’UE. Chaquedéplacement en avion entre deux capitales me coûte un prix donné. Je ne veuxjamais passer deux fois par la même ville. Existe-t-il un ordre de visite dont le prixest inférieur à 1000 euros ?

Bruxelles

Paris

Londres

Berlin

350

150

200

650 250

100

Keno Merckx 13/38

Page 56: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

Illustration: TSP

Le célèbre problème du voyageur de commerce (TSP).

Un exemple: TSP-Europe

Je veux me rendre dans les capitales des 28 états membres de l’UE. Chaquedéplacement en avion entre deux capitales me coûte un prix donné. Je ne veuxjamais passer deux fois par la même ville. Existe-t-il un ordre de visite dont le prixest inférieur à 1000 euros ?

Bruxelles

Paris

Londres

Berlin

350

150

200

650 250

100

Keno Merckx 13/38

Page 57: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

Illustration: TSP

Le célèbre problème du voyageur de commerce (TSP).

Un exemple: TSP-Europe

Je veux me rendre dans les capitales des 28 états membres de l’UE. Chaquedéplacement en avion entre deux capitales me coûte un prix donné. Je ne veuxjamais passer deux fois par la même ville. Existe-t-il un ordre de visite dont le prixest inférieur à 1000 euros ?

Bruxelles

Paris

Londres

Berlin

350

150

200

650 250

100

Keno Merckx 13/38

Page 58: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

Un problème dans EXP-TIME

Un algorithme pour le TSP.

Approche naïve

1 Ordonner les villes de toutes les façons possibles.

2 Pour chaque ordre, calculer le prix total du voyage.

3 Vérifier si ce prix est inférieur à 1000 euros.

⇒ Au plus le nombre de villes augmente, au plus l’étape 1 va prendre dutemps.

Pour 63 villes, il existe plus d’ordres que d’atomes dans l’univers observable.

On peut montrer que TSP est dans EXP-TIME.

Keno Merckx 14/38

Page 59: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

Un problème dans EXP-TIME

Un algorithme pour le TSP.

Approche naïve

1 Ordonner les villes de toutes les façons possibles.

2 Pour chaque ordre, calculer le prix total du voyage.

3 Vérifier si ce prix est inférieur à 1000 euros.

⇒ Au plus le nombre de villes augmente, au plus l’étape 1 va prendre dutemps.

Pour 63 villes, il existe plus d’ordres que d’atomes dans l’univers observable.

On peut montrer que TSP est dans EXP-TIME.

Keno Merckx 14/38

Page 60: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

Un problème dans EXP-TIME

Un algorithme pour le TSP.

Approche naïve

1 Ordonner les villes de toutes les façons possibles.

2 Pour chaque ordre, calculer le prix total du voyage.

3 Vérifier si ce prix est inférieur à 1000 euros.

⇒ Au plus le nombre de villes augmente, au plus l’étape 1 va prendre dutemps.

Pour 63 villes, il existe plus d’ordres que d’atomes dans l’univers observable.

On peut montrer que TSP est dans EXP-TIME.

Keno Merckx 14/38

Page 61: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

Un problème dans EXP-TIME

Un algorithme pour le TSP.

Approche naïve

1 Ordonner les villes de toutes les façons possibles.

2 Pour chaque ordre, calculer le prix total du voyage.

3 Vérifier si ce prix est inférieur à 1000 euros.

⇒ Au plus le nombre de villes augmente, au plus l’étape 1 va prendre dutemps.

Pour 63 villes, il existe plus d’ordres que d’atomes dans l’univers observable.

On peut montrer que TSP est dans EXP-TIME.

Keno Merckx 14/38

Page 62: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

Un problème dans EXP-TIME

Un algorithme pour le TSP.

Approche naïve

1 Ordonner les villes de toutes les façons possibles.

2 Pour chaque ordre, calculer le prix total du voyage.

3 Vérifier si ce prix est inférieur à 1000 euros.

⇒ Au plus le nombre de villes augmente, au plus l’étape 1 va prendre dutemps.

Pour 63 villes, il existe plus d’ordres que d’atomes dans l’univers observable.

On peut montrer que TSP est dans EXP-TIME.

Keno Merckx 14/38

Page 63: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

Efficacité des algorithmes pour le TSP

Peut-on faire mieux?

Personne n’a encore

I trouvé une solution beaucoup plus efficace pour résoudre le TSP,I prouvé qu’il faille obligatoirement un temps exponentiel pour résoudre le

TSP.

⇒ Il est possible que TSP soit dans P .

Remarque: Pour un ordre particulier des villes, il est "rapide" (polynomial) devérifier si le prix du voyage est inférieur à 1000 euros.

Keno Merckx 15/38

Page 64: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

Efficacité des algorithmes pour le TSP

Peut-on faire mieux?

Personne n’a encoreI trouvé une solution beaucoup plus efficace pour résoudre le TSP,

I prouvé qu’il faille obligatoirement un temps exponentiel pour résoudre leTSP.

⇒ Il est possible que TSP soit dans P .

Remarque: Pour un ordre particulier des villes, il est "rapide" (polynomial) devérifier si le prix du voyage est inférieur à 1000 euros.

Keno Merckx 15/38

Page 65: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

Efficacité des algorithmes pour le TSP

Peut-on faire mieux?

Personne n’a encoreI trouvé une solution beaucoup plus efficace pour résoudre le TSP,I prouvé qu’il faille obligatoirement un temps exponentiel pour résoudre le

TSP.

⇒ Il est possible que TSP soit dans P .

Remarque: Pour un ordre particulier des villes, il est "rapide" (polynomial) devérifier si le prix du voyage est inférieur à 1000 euros.

Keno Merckx 15/38

Page 66: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

Efficacité des algorithmes pour le TSP

Peut-on faire mieux?

Personne n’a encoreI trouvé une solution beaucoup plus efficace pour résoudre le TSP,I prouvé qu’il faille obligatoirement un temps exponentiel pour résoudre le

TSP.

⇒ Il est possible que TSP soit dans P .

Remarque: Pour un ordre particulier des villes, il est "rapide" (polynomial) devérifier si le prix du voyage est inférieur à 1000 euros.

Keno Merckx 15/38

Page 67: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

Efficacité des algorithmes pour le TSP

Peut-on faire mieux?

Personne n’a encoreI trouvé une solution beaucoup plus efficace pour résoudre le TSP,I prouvé qu’il faille obligatoirement un temps exponentiel pour résoudre le

TSP.

⇒ Il est possible que TSP soit dans P .

Remarque: Pour un ordre particulier des villes, il est "rapide" (polynomial) devérifier si le prix du voyage est inférieur à 1000 euros.

Keno Merckx 15/38

Page 68: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

Certificats

Une autre façon de mesurer la difficulté d’un langage:

Supposons que j’affirme: x ∈ L, avec un argument supposé vousconvaincre. A quel point est-il difficile de vérifier si mon argument estcorrect?

Pour le problème TETRIS, si on nous donne (p, s):

I si l’on nous donne tous les mouvements m à faire dans le jeu,I il est "facile" de vérifier si les mouvements m vident le plateau p à l’aide des

pièces s.

J’affirme que(

,)∈ TETRIS. Argument:

Rotation gauche de la pièce 1 placée aux colonnes 5,6,7,8. Placer la pièce 2 auxcolonnes 3,4. Rotation gauche de la pièce 3 placée aux colonnes 5,6,7,8.

Keno Merckx 16/38

Page 69: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

Certificats

Une autre façon de mesurer la difficulté d’un langage:

Supposons que j’affirme: x ∈ L, avec un argument supposé vousconvaincre. A quel point est-il difficile de vérifier si mon argument estcorrect?

Pour le problème TETRIS, si on nous donne (p, s):

I si l’on nous donne tous les mouvements m à faire dans le jeu,I il est "facile" de vérifier si les mouvements m vident le plateau p à l’aide des

pièces s.

J’affirme que(

,)∈ TETRIS. Argument:

Rotation gauche de la pièce 1 placée aux colonnes 5,6,7,8. Placer la pièce 2 auxcolonnes 3,4. Rotation gauche de la pièce 3 placée aux colonnes 5,6,7,8.

Keno Merckx 16/38

Page 70: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

Certificats

Une autre façon de mesurer la difficulté d’un langage:

Supposons que j’affirme: x ∈ L, avec un argument supposé vousconvaincre. A quel point est-il difficile de vérifier si mon argument estcorrect?

Pour le problème TETRIS, si on nous donne (p, s):

I si l’on nous donne tous les mouvements m à faire dans le jeu,I il est "facile" de vérifier si les mouvements m vident le plateau p à l’aide des

pièces s.

J’affirme que(

,)∈ TETRIS.

Argument:

Rotation gauche de la pièce 1 placée aux colonnes 5,6,7,8. Placer la pièce 2 auxcolonnes 3,4. Rotation gauche de la pièce 3 placée aux colonnes 5,6,7,8.

Keno Merckx 16/38

Page 71: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

Certificats

Une autre façon de mesurer la difficulté d’un langage:

Supposons que j’affirme: x ∈ L, avec un argument supposé vousconvaincre. A quel point est-il difficile de vérifier si mon argument estcorrect?

Pour le problème TETRIS, si on nous donne (p, s):

I si l’on nous donne tous les mouvements m à faire dans le jeu,I il est "facile" de vérifier si les mouvements m vident le plateau p à l’aide des

pièces s.

J’affirme que(

,)∈ TETRIS. Argument:

Rotation gauche de la pièce 1 placée aux colonnes 5,6,7,8. Placer la pièce 2 auxcolonnes 3,4. Rotation gauche de la pièce 3 placée aux colonnes 5,6,7,8.

Keno Merckx 16/38

Page 72: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

La classe NP

Nous dirons qu’un langage L est dans NP , si étant donné un certificat C, onpeut vérifier en temps polynomial que C est vrai.

⇒ NP = "Nondeterministic Polynomial Time"Non déterministe Etant donné un certificat, on le vérifie.

Ce n’est pas le cas pour tous les problèmes

Par exemple, pour le jeu d’échecs, la séquence de mouvements peut être troplongue à vérifier en temps polynomial.

Résumé

I L ∈ P peut être rapidement décidé.I L ∈ NP peut être rapidement vérifié.

Keno Merckx 17/38

Page 73: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

La classe NP

Nous dirons qu’un langage L est dans NP , si étant donné un certificat C, onpeut vérifier en temps polynomial que C est vrai.

⇒ NP = "Nondeterministic Polynomial Time"Non déterministe Etant donné un certificat, on le vérifie.

Ce n’est pas le cas pour tous les problèmes

Par exemple, pour le jeu d’échecs, la séquence de mouvements peut être troplongue à vérifier en temps polynomial.

Résumé

I L ∈ P peut être rapidement décidé.I L ∈ NP peut être rapidement vérifié.

Keno Merckx 17/38

Page 74: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

La classe NP

Nous dirons qu’un langage L est dans NP , si étant donné un certificat C, onpeut vérifier en temps polynomial que C est vrai.

⇒ NP = "Nondeterministic Polynomial Time"Non déterministe Etant donné un certificat, on le vérifie.

Ce n’est pas le cas pour tous les problèmes

Par exemple, pour le jeu d’échecs, la séquence de mouvements peut être troplongue à vérifier en temps polynomial.

Résumé

I L ∈ P peut être rapidement décidé.I L ∈ NP peut être rapidement vérifié.

Keno Merckx 17/38

Page 75: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

La classe NP

Nous dirons qu’un langage L est dans NP , si étant donné un certificat C, onpeut vérifier en temps polynomial que C est vrai.

⇒ NP = "Nondeterministic Polynomial Time"Non déterministe Etant donné un certificat, on le vérifie.

Ce n’est pas le cas pour tous les problèmes

Par exemple, pour le jeu d’échecs, la séquence de mouvements peut être troplongue à vérifier en temps polynomial.

Résumé

I L ∈ P peut être rapidement décidé.I L ∈ NP peut être rapidement vérifié.

Keno Merckx 17/38

Page 76: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

Hiérarchie avec exemples

P

NP

P-SPACE

EXP-TIME

...

JANGA, Deviner le nombre

Mastermind, Démineur, TSP

"Go", Sokoban

Echecs

Relations entre les classes

I P ⊆ NP ⊆ P-SPACE ⊆ EXP-TIMEI Au moins une de ces inclusions est stricte.

Conjecture: elles sont toutes strictes.

Keno Merckx 18/38

Page 77: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

Hiérarchie avec exemples

P

NP

P-SPACE

EXP-TIME

...

JANGA, Deviner le nombre

Mastermind, Démineur, TSP

"Go", Sokoban

Echecs

Relations entre les classes

I P ⊆ NP ⊆ P-SPACE ⊆ EXP-TIMEI Au moins une de ces inclusions est stricte.

Conjecture: elles sont toutes strictes.

Keno Merckx 18/38

Page 78: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

Hiérarchie avec exemples

P

NP

P-SPACE

EXP-TIME

...

JANGA, Deviner le nombre

Mastermind, Démineur, TSP

"Go", Sokoban

Echecs

Relations entre les classes

I P ⊆ NP ⊆ P-SPACE ⊆ EXP-TIMEI Au moins une de ces inclusions est stricte.

Conjecture: elles sont toutes strictes.

Keno Merckx 18/38

Page 79: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

Hiérarchie avec exemples

P

NP

P-SPACE

EXP-TIME

...

JANGA, Deviner le nombre

Mastermind, Démineur, TSP

"Go", Sokoban

Echecs

Relations entre les classes

I P ⊆ NP ⊆ P-SPACE ⊆ EXP-TIMEI Au moins une de ces inclusions est stricte.

Conjecture: elles sont toutes strictes.

Keno Merckx 18/38

Page 80: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

Hiérarchie avec exemples

P

NP

P-SPACE

EXP-TIME

...

JANGA, Deviner le nombre

Mastermind, Démineur, TSP

"Go", Sokoban

Echecs

Relations entre les classes

I P ⊆ NP ⊆ P-SPACE ⊆ EXP-TIMEI Au moins une de ces inclusions est stricte.

Conjecture: elles sont toutes strictes.

Keno Merckx 18/38

Page 81: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

Hiérarchie avec exemples

P

NP

P-SPACE

EXP-TIME

...

JANGA, Deviner le nombre

Mastermind, Démineur, TSP

"Go", Sokoban

Echecs

Relations entre les classes

I P ⊆ NP ⊆ P-SPACE ⊆ EXP-TIMEI Au moins une de ces inclusions est stricte.

Conjecture: elles sont toutes strictes.

Keno Merckx 18/38

Page 82: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

Hiérarchie avec exemples

P

NP

P-SPACE

EXP-TIME

...

JANGA, Deviner le nombre

Mastermind, Démineur, TSP

"Go", Sokoban

Echecs

Relations entre les classes

I P ⊆ NP ⊆ P-SPACE ⊆ EXP-TIMEI Au moins une de ces inclusions est stricte.

Conjecture: elles sont toutes strictes.

Keno Merckx 18/38

Page 83: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

P versus NP

En particulier, nous ne savons pas si P = NP .

Un des plus grand problème irrésolu de l’informatique théorique (et desmathématiques).

Est-il plus facile de vérifier qu’une solution est correcte pour un problèmeque de résoudre le problème?

L’institut Clay offre un 1.000.000 $ pour une solution à ce problème.

Applications multiples

I cryptographie,I problèmes d’ordonnancements,I confections d’horaires,I bioinformatique,I etc.

Keno Merckx 19/38

Page 84: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

P versus NP

En particulier, nous ne savons pas si P = NP .

Un des plus grand problème irrésolu de l’informatique théorique (et desmathématiques).

Est-il plus facile de vérifier qu’une solution est correcte pour un problèmeque de résoudre le problème?

L’institut Clay offre un 1.000.000 $ pour une solution à ce problème.

Applications multiples

I cryptographie,I problèmes d’ordonnancements,I confections d’horaires,I bioinformatique,I etc.

Keno Merckx 19/38

Page 85: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

P versus NP

En particulier, nous ne savons pas si P = NP .

Un des plus grand problème irrésolu de l’informatique théorique (et desmathématiques).

Est-il plus facile de vérifier qu’une solution est correcte pour un problèmeque de résoudre le problème?

L’institut Clay offre un 1.000.000 $ pour une solution à ce problème.

Applications multiples

I cryptographie,I problèmes d’ordonnancements,I confections d’horaires,I bioinformatique,I etc.

Keno Merckx 19/38

Page 86: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

P versus NP

En particulier, nous ne savons pas si P = NP .

Un des plus grand problème irrésolu de l’informatique théorique (et desmathématiques).

Est-il plus facile de vérifier qu’une solution est correcte pour un problèmeque de résoudre le problème?

L’institut Clay offre un 1.000.000 $ pour une solution à ce problème.

Applications multiples

I cryptographie,I problèmes d’ordonnancements,I confections d’horaires,I bioinformatique,I etc.

Keno Merckx 19/38

Page 87: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

P versus NP

En particulier, nous ne savons pas si P = NP .

Un des plus grand problème irrésolu de l’informatique théorique (et desmathématiques).

Est-il plus facile de vérifier qu’une solution est correcte pour un problèmeque de résoudre le problème?

L’institut Clay offre un 1.000.000 $ pour une solution à ce problème.

Applications multiples

I cryptographie,I problèmes d’ordonnancements,I confections d’horaires,I bioinformatique,I etc.

Keno Merckx 19/38

Page 88: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

NP complétude

Premier résultat important sur la question P versus NP :

⇒ Théorème de Cook-Levin (1970).

Un problème NP-complet:

I est dans NP ,I est aussi difficile que tout autre problème dans NP .

Implications

I Si nous pouvons décider d’un seul problème NP-complet en tempspolynomial, alors nous pouvons décider de tous les problèmes de NP entemps polynomial.

I S’il existe un problème qui est dans NP mais pas dans P . Alors l’ensembledes problèmes NP-complets sont extérieurs à P .

Keno Merckx 20/38

Page 89: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

NP complétude

Premier résultat important sur la question P versus NP :

⇒ Théorème de Cook-Levin (1970).

Un problème NP-complet:

I est dans NP ,I est aussi difficile que tout autre problème dans NP .

Implications

I Si nous pouvons décider d’un seul problème NP-complet en tempspolynomial, alors nous pouvons décider de tous les problèmes de NP entemps polynomial.

I S’il existe un problème qui est dans NP mais pas dans P . Alors l’ensembledes problèmes NP-complets sont extérieurs à P .

Keno Merckx 20/38

Page 90: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

NP complétude

Premier résultat important sur la question P versus NP :

⇒ Théorème de Cook-Levin (1970).

Un problème NP-complet:

I est dans NP ,I est aussi difficile que tout autre problème dans NP .

Implications

I Si nous pouvons décider d’un seul problème NP-complet en tempspolynomial, alors nous pouvons décider de tous les problèmes de NP entemps polynomial.

I S’il existe un problème qui est dans NP mais pas dans P . Alors l’ensembledes problèmes NP-complets sont extérieurs à P .

Keno Merckx 20/38

Page 91: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

NP complétude

Premier résultat important sur la question P versus NP :

⇒ Théorème de Cook-Levin (1970).

Un problème NP-complet:

I est dans NP ,I est aussi difficile que tout autre problème dans NP .

Implications

I Si nous pouvons décider d’un seul problème NP-complet en tempspolynomial, alors nous pouvons décider de tous les problèmes de NP entemps polynomial.

I S’il existe un problème qui est dans NP mais pas dans P . Alors l’ensembledes problèmes NP-complets sont extérieurs à P .

Keno Merckx 20/38

Page 92: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

NP complétude

Premier résultat important sur la question P versus NP :

⇒ Théorème de Cook-Levin (1970).

Un problème NP-complet:

I est dans NP ,I est aussi difficile que tout autre problème dans NP .

Implications

I Si nous pouvons décider d’un seul problème NP-complet en tempspolynomial, alors nous pouvons décider de tous les problèmes de NP entemps polynomial.

I S’il existe un problème qui est dans NP mais pas dans P . Alors l’ensembledes problèmes NP-complets sont extérieurs à P .

Keno Merckx 20/38

Page 93: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

Technique 1: être touché par la grâce

Théorème

SAT est NP-complet.— Cook et Levin, 1970

Nous dirons qu’une formule logique φ donnée sous forme normale conjonctiveest satisfaisable s’il existe une assignation des variables de φ telle que φ est vrai.

SAT = {φ : φ est satisfaisable}

Exemple de SAT

La formuleφ = (x1 ∨ x2) ∧ (¬x1 ∨ ¬x2)

appartient à SAT , car si x1 est vrai et x2 est faux alors φ sera satisfaite.

Keno Merckx 21/38

Page 94: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

Technique 1: être touché par la grâce

Théorème

SAT est NP-complet.— Cook et Levin, 1970

Nous dirons qu’une formule logique φ donnée sous forme normale conjonctiveest satisfaisable s’il existe une assignation des variables de φ telle que φ est vrai.

SAT = {φ : φ est satisfaisable}

Exemple de SAT

La formuleφ = (x1 ∨ x2) ∧ (¬x1 ∨ ¬x2)

appartient à SAT , car si x1 est vrai et x2 est faux alors φ sera satisfaite.

Keno Merckx 21/38

Page 95: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

Technique 1: être touché par la grâce

Théorème

SAT est NP-complet.— Cook et Levin, 1970

Nous dirons qu’une formule logique φ donnée sous forme normale conjonctiveest satisfaisable s’il existe une assignation des variables de φ telle que φ est vrai.

SAT = {φ : φ est satisfaisable}

Exemple de SAT

La formuleφ = (x1 ∨ x2) ∧ (¬x1 ∨ ¬x2)

appartient à SAT , car si x1 est vrai et x2 est faux alors φ sera satisfaite.

Keno Merckx 21/38

Page 96: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

Technique 1: être touché par la grâce

Théorème

SAT est NP-complet.— Cook et Levin, 1970

Nous dirons qu’une formule logique φ donnée sous forme normale conjonctiveest satisfaisable s’il existe une assignation des variables de φ telle que φ est vrai.

SAT = {φ : φ est satisfaisable}

Exemple de SAT

La formuleφ = (x1 ∨ x2) ∧ (¬x1 ∨ ¬x2)

appartient à SAT , car si x1 est vrai et x2 est faux alors φ sera satisfaite.

Keno Merckx 21/38

Page 97: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

Technique 2: réduction

Une réduction est une correspondance d’un problème à un autre.

f

f

A B

x ∈ A si et seulement sif (x) ∈ B

Nous cherchons des fefficaces

Ce qui veut dire

I S’il existe un algorithme rapide pour B, il en existe un pour A.I S’il n’existe pas d’algorithme rapide pour A, il n’en existe pas pour B

⇒ B est au moins aussi difficile que A.

Keno Merckx 22/38

Page 98: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

Technique 2: réduction

Une réduction est une correspondance d’un problème à un autre.

f

f

A B

x ∈ A si et seulement sif (x) ∈ B

Nous cherchons des fefficaces

Ce qui veut dire

I S’il existe un algorithme rapide pour B, il en existe un pour A.I S’il n’existe pas d’algorithme rapide pour A, il n’en existe pas pour B

⇒ B est au moins aussi difficile que A.

Keno Merckx 22/38

Page 99: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

Technique 2: réduction

Une réduction est une correspondance d’un problème à un autre.

f

f

A B

x ∈ A si et seulement sif (x) ∈ B

Nous cherchons des fefficaces

Ce qui veut dire

I S’il existe un algorithme rapide pour B, il en existe un pour A.I S’il n’existe pas d’algorithme rapide pour A, il n’en existe pas pour B

⇒ B est au moins aussi difficile que A.

Keno Merckx 22/38

Page 100: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

Technique 2: réduction

Une réduction est une correspondance d’un problème à un autre.

f

f

A B

x ∈ A si et seulement sif (x) ∈ B

Nous cherchons des fefficaces

Ce qui veut dire

I S’il existe un algorithme rapide pour B, il en existe un pour A.I S’il n’existe pas d’algorithme rapide pour A, il n’en existe pas pour B

⇒ B est au moins aussi difficile que A.

Keno Merckx 22/38

Page 101: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

Technique 2: réduction

Une réduction est une correspondance d’un problème à un autre.

f

f

A B

x ∈ A si et seulement sif (x) ∈ B

Nous cherchons des fefficaces

Ce qui veut dire

I S’il existe un algorithme rapide pour B, il en existe un pour A.

I S’il n’existe pas d’algorithme rapide pour A, il n’en existe pas pour B

⇒ B est au moins aussi difficile que A.

Keno Merckx 22/38

Page 102: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

Technique 2: réduction

Une réduction est une correspondance d’un problème à un autre.

f

f

A B

x ∈ A si et seulement sif (x) ∈ B

Nous cherchons des fefficaces

Ce qui veut dire

I S’il existe un algorithme rapide pour B, il en existe un pour A.I S’il n’existe pas d’algorithme rapide pour A, il n’en existe pas pour B

⇒ B est au moins aussi difficile que A.

Keno Merckx 22/38

Page 103: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

Technique 2: réduction

Une réduction est une correspondance d’un problème à un autre.

f

f

A B

x ∈ A si et seulement sif (x) ∈ B

Nous cherchons des fefficaces

Ce qui veut dire

I S’il existe un algorithme rapide pour B, il en existe un pour A.I S’il n’existe pas d’algorithme rapide pour A, il n’en existe pas pour B

⇒ B est au moins aussi difficile que A.

Keno Merckx 22/38

Page 104: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

Problèmes NP-complets et réductions

Théorème

SiI A est NP-complet,I B est NP ,I il existe une réduction efficace A vers B.

Alors B est NP-complet.— Karp, 1972

Pour appliquer cela en pratique, il faut disposer d’un problème qu’on saitNP-complet. Heureusement, nous avons le théorème de Cook-Levin.

Keno Merckx 23/38

Page 105: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

Problèmes NP-complets et réductions

Théorème

SiI A est NP-complet,I B est NP ,I il existe une réduction efficace A vers B.

Alors B est NP-complet.— Karp, 1972

Pour appliquer cela en pratique, il faut disposer d’un problème qu’on saitNP-complet. Heureusement, nous avons le théorème de Cook-Levin.

Keno Merckx 23/38

Page 106: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

Revenons au Tetris

Vous êtes venu pour parler du Tetris et pour l’instant vous êtes assez déçus...

Théorème

TETRIS est NP-complet.— Demaine, Hohenberger et Liben-Nowell, 2008

Pour nous en convaincre, il nous faut réaliser les étapes suivantes:

définir une correspondance f entre les instances d’un problèmeNP-complet connu L et TETRIS,

montrer que si x ∈ L alors f (x) ∈ TETRIS,

montrer que si x 6∈ L alors f (x) 6∈ TETRIS.

Keno Merckx 24/38

Page 107: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

Revenons au Tetris

Vous êtes venu pour parler du Tetris et pour l’instant vous êtes assez déçus...

Théorème

TETRIS est NP-complet.— Demaine, Hohenberger et Liben-Nowell, 2008

Pour nous en convaincre, il nous faut réaliser les étapes suivantes:

définir une correspondance f entre les instances d’un problèmeNP-complet connu L et TETRIS,

montrer que si x ∈ L alors f (x) ∈ TETRIS,

montrer que si x 6∈ L alors f (x) 6∈ TETRIS.

Keno Merckx 24/38

Page 108: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

Revenons au Tetris

Vous êtes venu pour parler du Tetris et pour l’instant vous êtes assez déçus...

Théorème

TETRIS est NP-complet.— Demaine, Hohenberger et Liben-Nowell, 2008

Pour nous en convaincre, il nous faut réaliser les étapes suivantes:

définir une correspondance f entre les instances d’un problèmeNP-complet connu L et TETRIS,

montrer que si x ∈ L alors f (x) ∈ TETRIS,

montrer que si x 6∈ L alors f (x) 6∈ TETRIS.

Keno Merckx 24/38

Page 109: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

Revenons au Tetris

Vous êtes venu pour parler du Tetris et pour l’instant vous êtes assez déçus...

Théorème

TETRIS est NP-complet.— Demaine, Hohenberger et Liben-Nowell, 2008

Pour nous en convaincre, il nous faut réaliser les étapes suivantes:

définir une correspondance f entre les instances d’un problèmeNP-complet connu L et TETRIS,

montrer que si x ∈ L alors f (x) ∈ TETRIS,

montrer que si x 6∈ L alors f (x) 6∈ TETRIS.

Keno Merckx 24/38

Page 110: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

Revenons au Tetris

Vous êtes venu pour parler du Tetris et pour l’instant vous êtes assez déçus...

Théorème

TETRIS est NP-complet.— Demaine, Hohenberger et Liben-Nowell, 2008

Pour nous en convaincre, il nous faut réaliser les étapes suivantes:

définir une correspondance f entre les instances d’un problèmeNP-complet connu L et TETRIS,

montrer que si x ∈ L alors f (x) ∈ TETRIS,

montrer que si x 6∈ L alors f (x) 6∈ TETRIS.

Keno Merckx 24/38

Page 111: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

Revenons au Tetris

Vous êtes venu pour parler du Tetris et pour l’instant vous êtes assez déçus...

Théorème

TETRIS est NP-complet.— Demaine, Hohenberger et Liben-Nowell, 2008

Pour nous en convaincre, il nous faut réaliser les étapes suivantes:

définir une correspondance f entre les instances d’un problèmeNP-complet connu L et TETRIS,

montrer que si x ∈ L alors f (x) ∈ TETRIS,

montrer que si x 6∈ L alors f (x) 6∈ TETRIS.

Keno Merckx 24/38

Page 112: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

3-PARTITION

Nous dirons qu’un multiensemble S de nombre est 3-partitionable si S peut êtrepartitionné en sous-multiensembles de taille 3, tel que la somme des élémentsdans chaque sous-multiensemble soit la même.

3-PARTITION = {S : S est 3-partitionable}

Théorème

3-PARTITION est NP-complet.— Garey et Johnson, 1975

Exemple de 3-PART

Le multiensemble S = {26, 29, 33, 33, 33, 34, 35, 36, 41} appartient à3-PARTITION, car la partition suivante existe:

{26, 33, 41}, {29, 35, 36} et {33, 33, 34}.

Observons maintenant un aperçu d’une réduction efficace de 3-PARTITION àTETRIS.

Keno Merckx 25/38

Page 113: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

3-PARTITION

Nous dirons qu’un multiensemble S de nombre est 3-partitionable si S peut êtrepartitionné en sous-multiensembles de taille 3, tel que la somme des élémentsdans chaque sous-multiensemble soit la même.

3-PARTITION = {S : S est 3-partitionable}

Théorème

3-PARTITION est NP-complet.— Garey et Johnson, 1975

Exemple de 3-PART

Le multiensemble S = {26, 29, 33, 33, 33, 34, 35, 36, 41} appartient à3-PARTITION, car la partition suivante existe:

{26, 33, 41}, {29, 35, 36} et {33, 33, 34}.

Observons maintenant un aperçu d’une réduction efficace de 3-PARTITION àTETRIS.

Keno Merckx 25/38

Page 114: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

3-PARTITION

Nous dirons qu’un multiensemble S de nombre est 3-partitionable si S peut êtrepartitionné en sous-multiensembles de taille 3, tel que la somme des élémentsdans chaque sous-multiensemble soit la même.

3-PARTITION = {S : S est 3-partitionable}

Théorème

3-PARTITION est NP-complet.— Garey et Johnson, 1975

Exemple de 3-PART

Le multiensemble S = {26, 29, 33, 33, 33, 34, 35, 36, 41} appartient à3-PARTITION, car la partition suivante existe:

{26, 33, 41}, {29, 35, 36} et {33, 33, 34}.

Observons maintenant un aperçu d’une réduction efficace de 3-PARTITION àTETRIS.

Keno Merckx 25/38

Page 115: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

3-PARTITION

Nous dirons qu’un multiensemble S de nombre est 3-partitionable si S peut êtrepartitionné en sous-multiensembles de taille 3, tel que la somme des élémentsdans chaque sous-multiensemble soit la même.

3-PARTITION = {S : S est 3-partitionable}

Théorème

3-PARTITION est NP-complet.— Garey et Johnson, 1975

Exemple de 3-PART

Le multiensemble S = {26, 29, 33, 33, 33, 34, 35, 36, 41} appartient à3-PARTITION, car la partition suivante existe:

{26, 33, 41}, {29, 35, 36} et {33, 33, 34}.

Observons maintenant un aperçu d’une réduction efficace de 3-PARTITION àTETRIS.

Keno Merckx 25/38

Page 116: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

3-PARTITION

Nous dirons qu’un multiensemble S de nombre est 3-partitionable si S peut êtrepartitionné en sous-multiensembles de taille 3, tel que la somme des élémentsdans chaque sous-multiensemble soit la même.

3-PARTITION = {S : S est 3-partitionable}

Théorème

3-PARTITION est NP-complet.— Garey et Johnson, 1975

Exemple de 3-PART

Le multiensemble S = {26, 29, 33, 33, 33, 34, 35, 36, 41} appartient à3-PARTITION, car la partition suivante existe:

{26, 33, 41}, {29, 35, 36} et {33, 33, 34}.

Observons maintenant un aperçu d’une réduction efficace de 3-PARTITION àTETRIS.

Keno Merckx 25/38

Page 117: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

La réduction

Etant donnés les entiers suivants a1, a2, . . . a3s et T la somme commune auxsous-multiensembles, nous construisons une instance de TETRIS.

Pour tout 1 ≤ i ≤ 3s : ai devient

Initialisation:

Remplissage: (ai fois)

Clôture:

Nous terminons avec

×s ×( 3T2 + 5)

Longueur tableau: 6s + 3

Hauteur tableau: 6T + 22

Keno Merckx 26/38

Page 118: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

La réduction

Etant donnés les entiers suivants a1, a2, . . . a3s et T la somme commune auxsous-multiensembles, nous construisons une instance de TETRIS.

Pour tout 1 ≤ i ≤ 3s : ai devient

Initialisation:

Remplissage: (ai fois)

Clôture:

Nous terminons avec

×s ×( 3T2 + 5)

Longueur tableau: 6s + 3

Hauteur tableau: 6T + 22

Keno Merckx 26/38

Page 119: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

La réduction

Etant donnés les entiers suivants a1, a2, . . . a3s et T la somme commune auxsous-multiensembles, nous construisons une instance de TETRIS.

Pour tout 1 ≤ i ≤ 3s : ai devient

Initialisation:

Remplissage: (ai fois)

Clôture:

Nous terminons avec

×s ×( 3T2 + 5)

Longueur tableau: 6s + 3

Hauteur tableau: 6T + 22

Keno Merckx 26/38

Page 120: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

La réduction

Etant donnés les entiers suivants a1, a2, . . . a3s et T la somme commune auxsous-multiensembles, nous construisons une instance de TETRIS.

Pour tout 1 ≤ i ≤ 3s : ai devient

Initialisation:

Remplissage: (ai fois)

Clôture:

Nous terminons avec

×s ×( 3T2 + 5)

Longueur tableau: 6s + 3

Hauteur tableau: 6T + 22

Keno Merckx 26/38

Page 121: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

La réduction

Etant donnés les entiers suivants a1, a2, . . . a3s et T la somme commune auxsous-multiensembles, nous construisons une instance de TETRIS.

Pour tout 1 ≤ i ≤ 3s : ai devient

Initialisation:

Remplissage: (ai fois)

Clôture:

Nous terminons avec

×s ×( 3T2 + 5)

Longueur tableau: 6s + 3

Hauteur tableau: 6T + 22

Keno Merckx 26/38

Page 122: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

La réduction

Etant donnés les entiers suivants a1, a2, . . . a3s et T la somme commune auxsous-multiensembles, nous construisons une instance de TETRIS.

Pour tout 1 ≤ i ≤ 3s : ai devient

Initialisation:

Remplissage: (ai fois)

Clôture:

Nous terminons avec

×s ×( 3T2 + 5)

Longueur tableau: 6s + 3

Hauteur tableau: 6T + 22

Keno Merckx 26/38

Page 123: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

La réduction

Etant donnés les entiers suivants a1, a2, . . . a3s et T la somme commune auxsous-multiensembles, nous construisons une instance de TETRIS.

Pour tout 1 ≤ i ≤ 3s : ai devient

Initialisation:

Remplissage: (ai fois)

Clôture:

Nous terminons avec

×s ×( 3T2 + 5)

Longueur tableau: 6s + 3

Hauteur tableau: 6T + 22

Keno Merckx 26/38

Page 124: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

Etape 1: OK

définir une correspondance f entre une instance d’un problèmeNP-complet connu L et TETRIS,

montrer que si x ∈ L alors f (x) ∈ TETRIS,

montrer que si x 6∈ L alors f (x) 6∈ TETRIS.

Keno Merckx 27/38

Page 125: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

Oui veux dire oui

Observons que si x ∈ 3-PARTITION alors f (x) ∈ TETRIS.

⇒ Empiler les tetrominos en fonction de la partition

Initialisation:

Remplissage:

Clôture:

Keno Merckx 28/38

Page 126: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

Oui veux dire oui

Observons que si x ∈ 3-PARTITION alors f (x) ∈ TETRIS.

⇒ Empiler les tetrominos en fonction de la partition

Initialisation:

Remplissage:

Clôture:

Keno Merckx 28/38

Page 127: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

Oui veux dire oui

Observons que si x ∈ 3-PARTITION alors f (x) ∈ TETRIS.

⇒ Empiler les tetrominos en fonction de la partition

Initialisation:

Remplissage:

Clôture:

Keno Merckx 28/38

Page 128: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

Oui veux dire oui

Observons que si x ∈ 3-PARTITION alors f (x) ∈ TETRIS.

⇒ Empiler les tetrominos en fonction de la partition

Initialisation:

Remplissage:

Clôture:

Keno Merckx 28/38

Page 129: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

Oui veux dire oui

Observons que si x ∈ 3-PARTITION alors f (x) ∈ TETRIS.

⇒ Empiler les tetrominos en fonction de la partition

Initialisation:

Remplissage:

Clôture:

Keno Merckx 28/38

Page 130: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

Oui veux dire oui

Observons que si x ∈ 3-PARTITION alors f (x) ∈ TETRIS.

⇒ Empiler les tetrominos en fonction de la partition

Initialisation:

Remplissage:

Clôture:

Keno Merckx 28/38

Page 131: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

Oui veux dire oui

Observons que si x ∈ 3-PARTITION alors f (x) ∈ TETRIS.

⇒ Empiler les tetrominos en fonction de la partition

Initialisation:

Remplissage:

Clôture:

Keno Merckx 28/38

Page 132: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

Oui veux dire oui

Observons que si x ∈ 3-PARTITION alors f (x) ∈ TETRIS.

⇒ Empiler les tetrominos en fonction de la partition

Initialisation:

Remplissage:

Clôture:

Keno Merckx 28/38

Page 133: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

Oui veux dire oui

Observons que si x ∈ 3-PARTITION alors f (x) ∈ TETRIS.

⇒ Empiler les tetrominos en fonction de la partition

Initialisation:

Remplissage:

Clôture:

Keno Merckx 28/38

Page 134: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

Oui veux dire oui

Observons que si x ∈ 3-PARTITION alors f (x) ∈ TETRIS.

⇒ Empiler les tetrominos en fonction de la partition

Initialisation:

Remplissage:

Clôture:

Keno Merckx 28/38

Page 135: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

Oui veux dire oui

Observons que si x ∈ 3-PARTITION alors f (x) ∈ TETRIS.

⇒ Empiler les tetrominos en fonction de la partition

Initialisation:

Remplissage:

Clôture:

Keno Merckx 28/38

Page 136: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

Oui veux dire oui

Observons que si x ∈ 3-PARTITION alors f (x) ∈ TETRIS.

⇒ Empiler les tetrominos en fonction de la partition

Initialisation:

Remplissage:

Clôture:

Keno Merckx 28/38

Page 137: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

Oui veux dire oui

Observons que si x ∈ 3-PARTITION alors f (x) ∈ TETRIS.

⇒ Empiler les tetrominos en fonction de la partition

Initialisation:

Remplissage:

Clôture:

Keno Merckx 28/38

Page 138: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

Oui veux dire oui

Observons que si x ∈ 3-PARTITION alors f (x) ∈ TETRIS.

⇒ Empiler les tetrominos en fonction de la partition

Initialisation:

Remplissage:

Clôture:

Keno Merckx 28/38

Page 139: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

Oui veux dire oui

Observons que si x ∈ 3-PARTITION alors f (x) ∈ TETRIS.

⇒ Empiler les tetrominos en fonction de la partition

Initialisation:

Remplissage:

Clôture:

Keno Merckx 28/38

Page 140: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

Oui veux dire oui

Observons que si x ∈ 3-PARTITION alors f (x) ∈ TETRIS.

⇒ Empiler les tetrominos en fonction de la partition

Initialisation:

Remplissage:

Clôture:

Keno Merckx 28/38

Page 141: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

Oui veux dire oui

Observons que si x ∈ 3-PARTITION alors f (x) ∈ TETRIS.

⇒ Empiler les tetrominos en fonction de la partition

Initialisation:

Remplissage:

Clôture:

Keno Merckx 28/38

Page 142: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

Et donc, oui veut dire oui

Chacun des sous-multiensembles à la même somme, donc les "pilles" dans letableau ont la même hauteur.

Chaque "trou" est remplis jusqu’enhaut du plateau.

Les pièces restantes vontexactement vider le tableau.

Keno Merckx 29/38

Page 143: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

Et donc, oui veut dire oui

Chacun des sous-multiensembles à la même somme, donc les "pilles" dans letableau ont la même hauteur.

Chaque "trou" est remplis jusqu’enhaut du plateau.

Les pièces restantes vontexactement vider le tableau.

Keno Merckx 29/38

Page 144: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

Et donc, oui veut dire oui

Chacun des sous-multiensembles à la même somme, donc les "pilles" dans letableau ont la même hauteur.

Chaque "trou" est remplis jusqu’enhaut du plateau.

Les pièces restantes vontexactement vider le tableau.

Keno Merckx 29/38

Page 145: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

Etape 2: OK

définir une correspondance f entre une instance d’un problèmeNP-complet connu L et TETRIS,

montrer que si x ∈ L alors f (x) ∈ TETRIS,

montrer que si x 6∈ L alors f (x) 6∈ TETRIS.

Keno Merckx 30/38

Page 146: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

Non veux dire non

Observons que si x 6∈ 3-PARTITION alors f (x) 6∈ TETRIS.

Aucune ligne ne peut être effacée avant l’arrivé de la pièce en "L" en fin deséquence.

Les trous doivent complètement être remplis sinon c’est l’échec.

Les alcôves peuvent très vite faire perdre le jeux.

Keno Merckx 31/38

Page 147: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

Non veux dire non

Observons que si x 6∈ 3-PARTITION alors f (x) 6∈ TETRIS.

Aucune ligne ne peut être effacée avant l’arrivé de la pièce en "L" en fin deséquence.

Les trous doivent complètement être remplis sinon c’est l’échec.

Les alcôves peuvent très vite faire perdre le jeux.

Keno Merckx 31/38

Page 148: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

Non veux dire non

Observons que si x 6∈ 3-PARTITION alors f (x) 6∈ TETRIS.

Aucune ligne ne peut être effacée avant l’arrivé de la pièce en "L" en fin deséquence.

Les trous doivent complètement être remplis sinon c’est l’échec.

Les alcôves peuvent très vite faire perdre le jeux.

Keno Merckx 31/38

Page 149: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

Non veux dire non

Observons que si x 6∈ 3-PARTITION alors f (x) 6∈ TETRIS.

Aucune ligne ne peut être effacée avant l’arrivé de la pièce en "L" en fin deséquence.

Les trous doivent complètement être remplis sinon c’est l’échec.

Les alcôves peuvent très vite faire perdre le jeux.

Keno Merckx 31/38

Page 150: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

Et donc, non veut dire non

Si les ai ne forment pas un élément de 3-PARTITION, alors le tableau ne serajamais vidé.

Etape 1 Tout mouvement différent du remplissage précédent conduit àune des configurations suivantes:

Etape 2 Ces configurations conduisent inévitablement à l’échec.

Keno Merckx 32/38

Page 151: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

Et donc, non veut dire non

Si les ai ne forment pas un élément de 3-PARTITION, alors le tableau ne serajamais vidé.

Etape 1 Tout mouvement différent du remplissage précédent conduit àune des configurations suivantes:

Etape 2 Ces configurations conduisent inévitablement à l’échec.

Keno Merckx 32/38

Page 152: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

Et donc, non veut dire non

Si les ai ne forment pas un élément de 3-PARTITION, alors le tableau ne serajamais vidé.

Etape 1 Tout mouvement différent du remplissage précédent conduit àune des configurations suivantes:

Etape 2 Ces configurations conduisent inévitablement à l’échec.

Keno Merckx 32/38

Page 153: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

Etape 3: OK

définir une correspondance f entre une instance d’un problèmeNP-complet connu L et TETRIS,

montrer que si x ∈ L alors f (x) ∈ TETRIS,

montrer que si x 6∈ L alors f (x) 6∈ TETRIS.

⇒ TETRIS est NP-complet.

Keno Merckx 33/38

Page 154: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

Etape 3: OK

définir une correspondance f entre une instance d’un problèmeNP-complet connu L et TETRIS,

montrer que si x ∈ L alors f (x) ∈ TETRIS,

montrer que si x 6∈ L alors f (x) 6∈ TETRIS.

⇒ TETRIS est NP-complet.

Keno Merckx 33/38

Page 155: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

Autres questions

Voici d’autres questions liées au problème TETRIS

Peut-on vider au moins k lignes ?

Peut-on placer au moins n pièces avant de perdre ?

Peut-on placer toutes nos pièces sans remplir une case à la ligne h?

Peut-on réaliser au moins t lignes complètes ?

"Malheureusement"

Tous ces problèmes sont NP-complets.

Keno Merckx 34/38

Page 156: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

Autres questions

Voici d’autres questions liées au problème TETRIS

Peut-on vider au moins k lignes ?

Peut-on placer au moins n pièces avant de perdre ?

Peut-on placer toutes nos pièces sans remplir une case à la ligne h?

Peut-on réaliser au moins t lignes complètes ?

"Malheureusement"

Tous ces problèmes sont NP-complets.

Keno Merckx 34/38

Page 157: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

Autres questions

Voici d’autres questions liées au problème TETRIS

Peut-on vider au moins k lignes ?

Peut-on placer au moins n pièces avant de perdre ?

Peut-on placer toutes nos pièces sans remplir une case à la ligne h?

Peut-on réaliser au moins t lignes complètes ?

"Malheureusement"

Tous ces problèmes sont NP-complets.

Keno Merckx 34/38

Page 158: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

Autres questions

Voici d’autres questions liées au problème TETRIS

Peut-on vider au moins k lignes ?

Peut-on placer au moins n pièces avant de perdre ?

Peut-on placer toutes nos pièces sans remplir une case à la ligne h?

Peut-on réaliser au moins t lignes complètes ?

"Malheureusement"

Tous ces problèmes sont NP-complets.

Keno Merckx 34/38

Page 159: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

Autres questions

Voici d’autres questions liées au problème TETRIS

Peut-on vider au moins k lignes ?

Peut-on placer au moins n pièces avant de perdre ?

Peut-on placer toutes nos pièces sans remplir une case à la ligne h?

Peut-on réaliser au moins t lignes complètes ?

"Malheureusement"

Tous ces problèmes sont NP-complets.

Keno Merckx 34/38

Page 160: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

Autres questions

Voici d’autres questions liées au problème TETRIS

Peut-on vider au moins k lignes ?

Peut-on placer au moins n pièces avant de perdre ?

Peut-on placer toutes nos pièces sans remplir une case à la ligne h?

Peut-on réaliser au moins t lignes complètes ?

"Malheureusement"

Tous ces problèmes sont NP-complets.

Keno Merckx 34/38

Page 161: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

Un résultat sur le vrai jeu

Théorème

Une série suffisamment longue de pièces "S" et "Z" cause une défaite.— Brzustowski, 1992

Ceci implique qu’un joueur de Tetris (même très doué) finira par perdre avecprobabilité 1.

Si on part du principe que les pièces données au joueur sont "bien"aléatoires.

Keno Merckx 35/38

Page 162: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

Un résultat sur le vrai jeu

Théorème

Une série suffisamment longue de pièces "S" et "Z" cause une défaite.— Brzustowski, 1992

Ceci implique qu’un joueur de Tetris (même très doué) finira par perdre avecprobabilité 1.

Si on part du principe que les pièces données au joueur sont "bien"aléatoires.

Keno Merckx 35/38

Page 163: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

Un résultat sur le vrai jeu

Théorème

Une série suffisamment longue de pièces "S" et "Z" cause une défaite.— Brzustowski, 1992

Ceci implique qu’un joueur de Tetris (même très doué) finira par perdre avecprobabilité 1.

Si on part du principe que les pièces données au joueur sont "bien"aléatoires.

Keno Merckx 35/38

Page 164: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

Résultats sur d’autres jeux vidéo classiques

Avec ce système de réduction, il existe des résultats de complexité sur un bonnombre de jeux classiques:

Par exemple

I Super Mario Bros est NP-difficile.I Donkey Kong Country est NP-difficile.I Super Metroid est NP-difficile.I Pokemon (Red/Blue) est NP-difficile.I Lemmings est NP-difficile.I Pac-man est NP-difficile.I Starcraft est NP-difficile.I Legend of Zelda: Ocarina of Time est P-space-difficile.I Doom est P-space-difficile.

Keno Merckx 36/38

Page 165: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

Résultats sur d’autres jeux vidéo classiques

Avec ce système de réduction, il existe des résultats de complexité sur un bonnombre de jeux classiques:

Par exemple

I Super Mario Bros est NP-difficile.I Donkey Kong Country est NP-difficile.I Super Metroid est NP-difficile.I Pokemon (Red/Blue) est NP-difficile.I Lemmings est NP-difficile.I Pac-man est NP-difficile.I Starcraft est NP-difficile.I Legend of Zelda: Ocarina of Time est P-space-difficile.I Doom est P-space-difficile.

Keno Merckx 36/38

Page 166: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

Conclusion

Beaucoup de problèmes intéressants sont NP-complets.

Est-ce que P = NP ?En tous cas, pour l’instant nous avons plus facile à vérifier qu’une solution estcorrecte que d’en construire une à partir de rien.

Un lien intéressant entre le jeux, les problèmes NP-difficiles, et leraisonnement humain.

Utile pour les créateurs de jeux, mais aussi les joueurs.

Un moyen facile de gagner un million de dollars cette semaine:

Montrer que TETRIS ∈ P .

Keno Merckx 37/38

Page 167: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

Conclusion

Beaucoup de problèmes intéressants sont NP-complets.Est-ce que P = NP ?

En tous cas, pour l’instant nous avons plus facile à vérifier qu’une solution estcorrecte que d’en construire une à partir de rien.

Un lien intéressant entre le jeux, les problèmes NP-difficiles, et leraisonnement humain.

Utile pour les créateurs de jeux, mais aussi les joueurs.

Un moyen facile de gagner un million de dollars cette semaine:

Montrer que TETRIS ∈ P .

Keno Merckx 37/38

Page 168: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

Conclusion

Beaucoup de problèmes intéressants sont NP-complets.Est-ce que P = NP ?En tous cas, pour l’instant nous avons plus facile à vérifier qu’une solution estcorrecte que d’en construire une à partir de rien.

Un lien intéressant entre le jeux, les problèmes NP-difficiles, et leraisonnement humain.

Utile pour les créateurs de jeux, mais aussi les joueurs.

Un moyen facile de gagner un million de dollars cette semaine:

Montrer que TETRIS ∈ P .

Keno Merckx 37/38

Page 169: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

Conclusion

Beaucoup de problèmes intéressants sont NP-complets.Est-ce que P = NP ?En tous cas, pour l’instant nous avons plus facile à vérifier qu’une solution estcorrecte que d’en construire une à partir de rien.

Un lien intéressant entre le jeux, les problèmes NP-difficiles, et leraisonnement humain.

Utile pour les créateurs de jeux, mais aussi les joueurs.

Un moyen facile de gagner un million de dollars cette semaine:

Montrer que TETRIS ∈ P .

Keno Merckx 37/38

Page 170: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

Conclusion

Beaucoup de problèmes intéressants sont NP-complets.Est-ce que P = NP ?En tous cas, pour l’instant nous avons plus facile à vérifier qu’une solution estcorrecte que d’en construire une à partir de rien.

Un lien intéressant entre le jeux, les problèmes NP-difficiles, et leraisonnement humain.

Utile pour les créateurs de jeux, mais aussi les joueurs.

Un moyen facile de gagner un million de dollars cette semaine:

Montrer que TETRIS ∈ P .

Keno Merckx 37/38

Page 171: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

Conclusion

Beaucoup de problèmes intéressants sont NP-complets.Est-ce que P = NP ?En tous cas, pour l’instant nous avons plus facile à vérifier qu’une solution estcorrecte que d’en construire une à partir de rien.

Un lien intéressant entre le jeux, les problèmes NP-difficiles, et leraisonnement humain.

Utile pour les créateurs de jeux, mais aussi les joueurs.

Un moyen facile de gagner un million de dollars cette semaine:

Montrer que TETRIS ∈ P .

Keno Merckx 37/38

Page 172: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

Conclusion

Beaucoup de problèmes intéressants sont NP-complets.Est-ce que P = NP ?En tous cas, pour l’instant nous avons plus facile à vérifier qu’une solution estcorrecte que d’en construire une à partir de rien.

Un lien intéressant entre le jeux, les problèmes NP-difficiles, et leraisonnement humain.

Utile pour les créateurs de jeux, mais aussi les joueurs.

Un moyen facile de gagner un million de dollars cette semaine:Montrer que TETRIS ∈ P .

Keno Merckx 37/38

Page 173: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

Il faut rendre à César...

Erik D. Demaine, Susan Hohenberger et David Liben-Nowell.Tetris is Hard, Even to Approximate.COCOON’03, 351–363, 2003.

Michael Sipser.Introduction to the Theory of Computation.International Thomson Publishing, 1996.

Greg Aloupis, Erik D. Demaine, Alan Guo et Giovanni Viglietta.Classic Nintendo Games Are (Computationally) Hard.Fun with Algorithms, Springer, 2014.

Giovanni Viglietta.Gaming Is a Hard Job, but Someone Has to Do It!Theory of Computing Systems, 54, 4, Springer, 2015.

Scott Aaronson.Why Philosophers Should Care About Computational ComplexityCoRR, 2011.

Merci de votre attention.

Keno Merckx 38/38

Page 174: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

Il faut rendre à César...

Erik D. Demaine, Susan Hohenberger et David Liben-Nowell.Tetris is Hard, Even to Approximate.COCOON’03, 351–363, 2003.

Michael Sipser.Introduction to the Theory of Computation.International Thomson Publishing, 1996.

Greg Aloupis, Erik D. Demaine, Alan Guo et Giovanni Viglietta.Classic Nintendo Games Are (Computationally) Hard.Fun with Algorithms, Springer, 2014.

Giovanni Viglietta.Gaming Is a Hard Job, but Someone Has to Do It!Theory of Computing Systems, 54, 4, Springer, 2015.

Scott Aaronson.Why Philosophers Should Care About Computational ComplexityCoRR, 2011.

Merci de votre attention.

Keno Merckx 38/38

Page 175: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

Il faut rendre à César...

Erik D. Demaine, Susan Hohenberger et David Liben-Nowell.Tetris is Hard, Even to Approximate.COCOON’03, 351–363, 2003.

Michael Sipser.Introduction to the Theory of Computation.International Thomson Publishing, 1996.

Greg Aloupis, Erik D. Demaine, Alan Guo et Giovanni Viglietta.Classic Nintendo Games Are (Computationally) Hard.Fun with Algorithms, Springer, 2014.

Giovanni Viglietta.Gaming Is a Hard Job, but Someone Has to Do It!Theory of Computing Systems, 54, 4, Springer, 2015.

Scott Aaronson.Why Philosophers Should Care About Computational ComplexityCoRR, 2011.

Merci de votre attention.

Keno Merckx 38/38

Page 176: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

Il faut rendre à César...

Erik D. Demaine, Susan Hohenberger et David Liben-Nowell.Tetris is Hard, Even to Approximate.COCOON’03, 351–363, 2003.

Michael Sipser.Introduction to the Theory of Computation.International Thomson Publishing, 1996.

Greg Aloupis, Erik D. Demaine, Alan Guo et Giovanni Viglietta.Classic Nintendo Games Are (Computationally) Hard.Fun with Algorithms, Springer, 2014.

Giovanni Viglietta.Gaming Is a Hard Job, but Someone Has to Do It!Theory of Computing Systems, 54, 4, Springer, 2015.

Scott Aaronson.Why Philosophers Should Care About Computational ComplexityCoRR, 2011.

Merci de votre attention.

Keno Merckx 38/38

Page 177: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

Il faut rendre à César...

Erik D. Demaine, Susan Hohenberger et David Liben-Nowell.Tetris is Hard, Even to Approximate.COCOON’03, 351–363, 2003.

Michael Sipser.Introduction to the Theory of Computation.International Thomson Publishing, 1996.

Greg Aloupis, Erik D. Demaine, Alan Guo et Giovanni Viglietta.Classic Nintendo Games Are (Computationally) Hard.Fun with Algorithms, Springer, 2014.

Giovanni Viglietta.Gaming Is a Hard Job, but Someone Has to Do It!Theory of Computing Systems, 54, 4, Springer, 2015.

Scott Aaronson.Why Philosophers Should Care About Computational ComplexityCoRR, 2011.

Merci de votre attention.

Keno Merckx 38/38

Page 178: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

Il faut rendre à César...

Erik D. Demaine, Susan Hohenberger et David Liben-Nowell.Tetris is Hard, Even to Approximate.COCOON’03, 351–363, 2003.

Michael Sipser.Introduction to the Theory of Computation.International Thomson Publishing, 1996.

Greg Aloupis, Erik D. Demaine, Alan Guo et Giovanni Viglietta.Classic Nintendo Games Are (Computationally) Hard.Fun with Algorithms, Springer, 2014.

Giovanni Viglietta.Gaming Is a Hard Job, but Someone Has to Do It!Theory of Computing Systems, 54, 4, Springer, 2015.

Scott Aaronson.Why Philosophers Should Care About Computational ComplexityCoRR, 2011.

Merci de votre attention.

Keno Merckx 38/38

Page 179: La complexité du problème TETRIS · 2018-07-14 · Tetris est-il un problème? Le problème TETRIS est la transformation du jeu en problème de décision. Tetris offlineNous voyons

Il faut rendre à César...

Erik D. Demaine, Susan Hohenberger et David Liben-Nowell.Tetris is Hard, Even to Approximate.COCOON’03, 351–363, 2003.

Michael Sipser.Introduction to the Theory of Computation.International Thomson Publishing, 1996.

Greg Aloupis, Erik D. Demaine, Alan Guo et Giovanni Viglietta.Classic Nintendo Games Are (Computationally) Hard.Fun with Algorithms, Springer, 2014.

Giovanni Viglietta.Gaming Is a Hard Job, but Someone Has to Do It!Theory of Computing Systems, 54, 4, Springer, 2015.

Scott Aaronson.Why Philosophers Should Care About Computational ComplexityCoRR, 2011.

Merci de votre attention.

Keno Merckx 38/38