• Aucun résultat trouvé

Posters de médiation scientifique III : Réseaux de Tri

N/A
N/A
Protected

Academic year: 2021

Partager "Posters de médiation scientifique III : Réseaux de Tri"

Copied!
9
0
0

Texte intégral

(1)

HAL Id: hal-01645164

https://hal.inria.fr/hal-01645164

Submitted on 23 Nov 2017

HAL is a multi-disciplinary open access

archive for the deposit and dissemination of sci-entific research documents, whether they are pub-lished or not. The documents may come from teaching and research institutions in France or abroad, or from public or private research centers.

L’archive ouverte pluridisciplinaire HAL, est destinée au dépôt et à la diffusion de documents scientifiques de niveau recherche, publiés ou non, émanant des établissements d’enseignement et de recherche français ou étrangers, des laboratoires publics ou privés.

Posters de médiation scientifique III : Réseaux de Tri

Nicolas Nisse

To cite this version:

(2)

Posters de m´ediation scientifique III : R´eseaux de Tri

Nicolas Nisse?,??

Universit´e Cˆote d’Azur, Inria, CNRS, I3S, France

Abstract. Ces posters font partie d’une s´erie de posters que nous pr´esentons lors de divers interven-tions de m´ediation (vulgarisation) scientifique (Fˆete de la Science, intervention dans des ´ecoles, etc.). Nous essayons d’y pr´esenter des bases th´eoriques (math´ematiques) de l’algorithmique (Un algorithme est une suite finie et non ambigu¨e d’op´erations ou d’instructions permettant de r´esoudre un probl`eme ou d’obtenir un r´esultat) et structures de donn´ees (comment “coder” un nombre, une image, etc.).. Ici, nous pr´esentons une fa¸con (un algorithme) de trier des ´el´ements (par exemple, des nombres) grˆace aux r´eseaux de tri. Pour les plus curieux d’entre vous, nous d´ecrivons bri`evement certains constituants ´el´ementaires d’un ordinateur et comment ceux-ci permettent de faire des calculs (comment ils peuvent ˆetre assembl´es pour trier).

Ces posters sont accessibles d`es l’´ecole primaire (except´ee, peut-ˆetre, la partie relative `a l’architecture des ordinateurs).

?nicolas.nisse@inria.fr

(3)

Institut Esope 21

Maison des sciences

(4)

Règle du jeu

:

Six joueurs (de tailles différentes) se présentent à l’entrée (DEPART) du

réseau. Ils progressent (de bas en haut) de cercle blanc en cercle blanc (qu’on appelera un trieur) en suivant la règle simple suivante : lorsque 2 joueurs sont dans un cercle, le plus grand suit le chemin bleu et le plus petit suit le chemin rouge (interdit d’avancer tant qu’on n’est pas deux dans un cercle).

Pour commencer, chaque joueur fait un pas en avant (flèches jaunes) pour atteindre un premier

cercle blanc.

Que s’est il passé ?

Les joueurs sont TRIÉS par ordre CROISSANT de taille !! J

Cela fonctionne-t-il quel que soit l’ordre initial ? OUI !!

nicolas.nisse@inria.fr DEPART ARRIVEE DEPART ARRIVEE DEPART ARRIVEE DEPART ARRIVEE

Réseau de Tri pour 6 éléments

https://www.smurf.com/fr/

http://www.dreamworksanimation.com/ shrek/

movies.disney.com/the-bfg

0) Les joueurs sont au départ 1) Premières comparaisons 2) Deuxièmes comparaisons

DEPART ARRIVEE DEPART ARRIVEE DEPART ARRIVEE DEPART ARRIVEE

3) Encore des comparaisons... 4) Et encore... 5) Et encore... 6) Et finalement...

(5)

5 2 14 4 80 6 42 63 2 5 80 14 42 4 63 6 DEPART 5 80 42 2 14 63 4 6

Quand ?

Vous triez (ou utilisez des choses triées) tout le temps !! (si, si…)

dictionnaire moteurs de recherche partir en voyage ? mettre de l’ordre ?

Pourquoi ?

Permet de trouver PLUS RAPIDEMENT !!

Un ordinateur passe également son temps à trier des choses (nombres, mots, images…)...

Pour cela, il existe de nombreux algorithmes (= méthode systématique ``expliquable” à un ordinateur) qui comparent ces choses deux-à-deux.

jouer

Pour aller plus vite, il faut faire des comparaisons simultanées (parallélisme). C’est ce que permettent les réseaux de tri !! (utilisés, par exemple, dans certaines cartes graphiques des ordinateurs)

Comment ?

Les réseaux de tri permettent de trier autant de nombres que l’on veut !!

Mais ça demande de la place (nombre de trieurs) et du temps (« hauteur » du réseau) …

Essayons de trier 8 nombres.

Combien de fois faut il parcourir (répéter) le

« morceau » de réseau ci-dessous pour les trier ? (Essayez !!)

Réponse :

Adapter le réseau ci-dessus permet (en le répétant) de trier autant de nombres que l’on veut.

Par exemple, répéter cinq fois (45 trieurs) le réseau de droite permet de trier 10 nombres.

Cependant,

on peut faire mieux !!!

c’est-à-dire utiliser

MOINS de trieurs, MOINS d’étapes !!

nicolas.nisse@inria.fr

DEPART

Voyons (illustration à droite) ce qui se passe si on le répète 2 fois.

DEPART 2 il f aut le ré pét er 4 fo is, so it 2 8 tri eurs !

(6)

DEPART B A C D min(A,B) Max(A,B) min(C,D) Max(C,D) min(A,B,C,D) ARIVEE 3e min 2e max Max(A,B,C,D) DEPART

B

A

C

D

min(A,B) Max(A,B) min(C,D) Max(C,D) min(A,B,C,D) Max(A,B,C,D) DEPART

B

A

C

D

min(A,B) Max(A,B) min(C,D) Max(C,D) min(A,B,C,D) DEPART B A C D Minimum de A et B min(A,B) Maximum de A et B Max(A,B) Minimum de C et D min(C,D) Maximum de C et D Max(C,D)

Essayons de trier 4 éléments !

DEPART B

A C D

Intuitivement, on compare d’une part A et B, et d’autre part C et D.

L’expérience montre que l’on est tenté de comparer la flèche bleue de gauche (Max(A,B)) et celle rouge de droite (Min(C,D)). Pourtant, on peut faire mieux (construire un réseau de tri avec moins de trieurs)

Comparer les deux plus petits (flèches rouges) permet de déterminer « le plus petit des plus petits », donc le plus petit de tous.

Comparer 4 éléments n é c e s s i t e a u p l u s 5 trieurs.

(essayez de faire mieux, i.e., d’utiliser moins de trieurs…)

De même, comparer les deux plus grands (flèches bleues)

permet de

déterminer « le plus grand des plus

grands », donc le

plus grand de tous.

1

2

3

4

5

Il ne reste qu’à comparer les 2 derniers éléments.

(7)

Pour trier 8 éléments, le réseau ci-dessus à droite (avec 19 trieurs) est optimal (on ne peut pas faire moins).

Pour trier 10 éléments, le réseau ci-dessus à gauche (avec 29 trieurs) est optimal.

Pour trier 16 éléments, il faut 60 trieurs ! (on ne sait que c’est optimal que depuis 2017 !!)

Pour plus que 16 éléments, on ne connaît pas le plus petit réseau de tri

(pour trier 17 éléments il faut au moins 60 trieurs et au plus 71)

[D.E. Knuth. The Art of Computer Programming, Vol. III: SorEng and Searching. Addison-Wesley, 1973.]

[D.Bundala, M.Codish, L. Cruz-Filipe,P.Schneider-Kamp, J. Zavodny. OpEmal-depth SorEng Networks, hZps://arxiv.org/abs/1412.5302, 2017]

Pour trier jusqu’à 16 nombres, on connaît des réseaux de tri optimaux (utilisant le moins de trieurs)

nicolas.nisse@inria.fr DEPART ARRIVEE DEPART ARRIVEE ARRIVEE DEPART DEPART ARRIVEE ARRIVEE DEPART 4

(8)

Rappel :

Un ordinateur ne comprend que 2 symboles (binaire) : 1 (signal) et 0 (pas de signal). Un ordinateur est une combinaison d’interrupteurs (signal/pas de signal)

John VON NEUMANN (1903-1957) invente l’ordinateur. L’invenEon du TRANSISTOR (= interrupteur

« commandé ») par J.BARDEEN,W.BRATTAIN,W.SHOCKLEY (Nobel de physique 1956) est une REVOLUTION !!

Opérations binaires :

Combiner des signaux binaires a et b (qui valent 0 ou 1)

Comparateur (binaire)

Avec ces 3 portes

(en fait 2 suffisent)

, on peut tout faire !!

ET

OU

NON

La sor1e vaut 1 si (et seulement si) les 2 entrées (a ET b) valent 1 La sor1e vaut 1 si (et seulement si) au moins une des 2 entrées (a OU b) vaut 1 La sor1e vaut 1 si (et seulement si) l’entrée vaut 0

Par exemple, étant donnés deux signaux a et b binaires (0 ou 1) on peut :

Déterminer lequel est le plus grand,

ou s’il y a égalité

:

(a>b ? a<b ? a=b ?)

nicolas.nisse@inria.fr

Implicitement, on interprète

le signal de sortie :

Déterminer le minimum et le maximum

:

(quelle est la « taille » du plus grand/petit ?)

0 = FAUX

1 = VRAI

5

Entrée 1 Entrée 2 Sor1e

a b s

0 0 0

0 1 0

1 0 0

1 1 1

Entrée 1 Entrée 2 Sor1e

a b s 0 0 0 0 1 1 1 0 1 1 1 1 Table de vérité OU (OR) Table de vérité ET (AND) Entrée 1 Sor1e a s 0 1 1 0 Table de vérité NON (NOT)

Entrée 1 Entrée 2 Sor1e 1 Sor1e 2 Sor1e 3

a b a < b a = b a > b

0 0 0 1 0 0 1 1 0 0 1 0 0 0 1 1 1 0 1 0 ET a b min(a,b) Max(a,b) OU

Entrée 1 Entrée 2 Sor1e 1 Sor1e 2

a b min Max

0 0 0 0

0 1 0 1

1 0 0 1

(9)

Comparer 2 nombres de plusieurs bits

est à peine plus compliqué.

À droite, un

multiplexeur

(binaire) pouvant choisir

(en fonction du signal binaire x) entre 2 signaux

(binaires) a et b.

«Habituellement», pour comparer 2 nombres (décimaux), par exemple 20123 et 20115, on

compare d’abord les dizaines de milliers (2 et 2), puis les milliers (0 et 0), puis les centaines (1 et 1), puis les dizaines (ici 2 et 1). On en déduit que le premier nombre est plus grand que le second.

Pour comparer 2 nombres binaires, c’est la «même chose» !!

Finalement, pour déterminer les maximum et minimum de 2 entrées A et B :

Pour 2 nombres binaires, on compare les bits 2 à 2, en partant des bits de poids fort :

Le circuit de gauche est une

façon « d’implémenter »

les trieurs (les « ronds

blancs » des réseaux de tri)

On peut facilement généraliser à des entrées

avec n’importe quel nombre de bits.

A (n bits) Comparateur (n bits) Multiplexeur (n bits) min(A,B) Max(A,B) B (n bits) B A B A ? nicolas.nisse@inria.fr 6

Multiplexeur (binaire)

Si x alors s = b Sinon, s = a Comparateur b3>a3 b3=a3 b3<a3 b3 a3 Comparateur b2>a2 b2=a2 b2<a2 b2 a2 Comparateur b1>a1 b1=a1 b1<a1 b1 a1 Comparateur b0>a0 b0=a0 b0<a0 b0 a0 ET ET ET OU ET OU ET OU OU Comparateur de 2 nombres de 4 bits : A=a3a2a1a0 et B=b3b2b1b0

B

A

B

A

?

ET ET OU s a x b

Références

Documents relatifs

Skippy le kangourou et Charlotte la puce décident de faire une course sur la demi-droite graduée ci- dessus.. Le point de départ est l’origine de

(2 points) 5) Expliquer en utilisant la description ci-dessus pourquoi soit notre hypothèse est fausse, soit elle n'est pas suffisante, c'est-à-dire que des facteurs

I étant centre de symétrie de la figure 3, les triangles et sont eux aussi semblables

Elle est transférée dans le cœur du réacteur nucléaire à de l’eau sous pression qui assure à la fois le ralentissement des neutrons et l’évacuation de l’énergie produite..

• Sur la Terre, l’eau se trouve sous trois états physiques (cf.. Elle est surtout présente

Si les Russes ont cherché à moderniser leurs forces aériennes, les efforts ukrainiens dans ce domaine ont été très minces.. Or, les miracles n’existent pas dans

Après examen de votre demande d’extension et de dérogation et compte tenu de l'impact réduit des travaux projetés résumés dans le poste 273, nous estimons

grammation conditionnelle et les macros prédéfinies __STRICT_ANSI__ et __STDC__. Vous compi- lerez votre programme successivement avec les options de compilation -ansi -pedantic.