Skip to content

Commit

Permalink
maj
Browse files Browse the repository at this point in the history
  • Loading branch information
glassus committed Nov 23, 2023
1 parent 6848a10 commit 0ea2f39
Show file tree
Hide file tree
Showing 8 changed files with 1,591 additions and 18 deletions.
16 changes: 8 additions & 8 deletions docs/T4_Bases_de_donnees/4.2_Langage_SQL/02_exercices_inter.md
Original file line number Diff line number Diff line change
Expand Up @@ -666,7 +666,7 @@
**Q1**. Combien d'équipes ont participé à ce championnat ?

{{
correction(False,
correction(True,
"""
??? success \"Correction\"
```sql
Expand All @@ -681,7 +681,7 @@
**Q2**. Listez les noms des clubs ainsi que leur date de création dans l'ordre chronologique de leur création.

{{
correction(False,
correction(True,
"""
??? success \"Correction\"
```sql
Expand All @@ -698,7 +698,7 @@


{{
correction(False,
correction(True,
"""
??? success \"Correction\"
```sql
Expand All @@ -716,7 +716,7 @@


{{
correction(False,
correction(True,
"""
??? success \"Correction\"
```sql
Expand All @@ -732,7 +732,7 @@
**Q5**. Combien de cartons ont été distribués ?

{{
correction(False,
correction(True,
"""
??? success \"Correction\"
```sql
Expand All @@ -748,7 +748,7 @@

**Q6**. Combien de buts ont été marqués ?
{{
correction(False,
correction(True,
"""
??? success \"Correction\"
```sql
Expand All @@ -765,7 +765,7 @@
**Q7**. Affichez tous les renseignements sur les 10 cartons rouges obtenus le plus rapidement pendant un match.

{{
correction(False,
correction(True,
"""
??? success \"Correction\"
```sql
Expand All @@ -781,7 +781,7 @@

**Q8**. Donnez le nom du joueur qui a obtenu le carton rouge le plus rapidement.
{{
correction(False,
correction(True,
"""
??? success \"Correction\"
```sql
Expand Down
90 changes: 80 additions & 10 deletions docs/T7_Divers/11_parcoursup/cours.md
Original file line number Diff line number Diff line change
@@ -1,26 +1,96 @@
# Les algorithmes d'appariement
# Gale-Shapley et l'algorithme de Parcoursup

!!! quote "Appariement"
*Action d'apparier, d'unir par couple, d'assortir par paire.*


L'affectation des élèves dans l'enseignement supérieur (par l'algorithme APB jusqu'en 2020, par l'algorithme Parcoursup depuis) fait intervenir un algorithme *d'appariement*. Il s'agit d'associer, de la meilleure manière possible, les élèves à leur formation préférée.

!!! quote "Appariement"
*Action d'apparier, d'unir par couple, d'assortir par paire.*


Considérons que les élèves aient fait un classement de leurs formations préférées (**ce n'est pas le cas dans Parcoursup**, nous y reviendrons). Considérons aussi que ces formations aient classé ces élèves au vu de leur dossier. L'algorithme d'appariement va avoir pour but d'associer chaque élève à une formation, sans qu'un élève ait pris la place d'un autre tout en étant moins bien classé que lui.

L'algorithme de Gale-Shapley permet de résoudre ce problème.

## L'algorithme de Gale-Shapley

La présentation classique de cet algorithme fait intervenir non pas des élèves et des formations, mais des couples garçons-filles à associer.
## 1. Algorithmes d'appariement

*TODO*


### 1.1 Notion de mariages instables

!!! tip "Mariages instables"
Deux mariages sont dits **instables** si, dans chacun des deux couples, il existe la possibilité de quitter son conjoint actuel pour quelqu'un mieux classé dans ses préférences.


!!! note "Exemple de mariage instable"
Considérons 4 personnes : 2 hommes (Bryce, Gregory) et 2 femmes (Trinity et Riley).

On leur a demandé de classer les deux personnes du sexe opposé par ordre de préférence. Voilà le résultat :

![image](data/class.png){: .center width=60%}

Bryce préfère Riley à Trinity, Gregory préfère Riley à Trinity, Trinity préfère Bryce à Gregory, Riley préfère Bryce à Gregory.

Considérons maintenant qu'un algorithme d'appariement a formé les couples suivants : Bryce-Trinity et Gregory-Riley.


![image](data/unst1.png){: .center width=40%}

Mais alors :

- Bryce est avec Trinity alors qu'il préfère Riley.
- Riley est avec Gregory alors qu'elle préfère Byrce.

:arrow_right: le couple Bryce-Riley crée donc deux mariages **instables**, car leur intérêt est de briser leur couple actuel et de partir ensemble.

Par abus de langage, on pourra dire que le couple Bryce-Riley est un couple instable (car leurs mariages respectifs sont instables).

![image](data/cass.png){: .center width=40%}

!!! abstract "Exercice 1"
La configuration ci-dessous contient-elle des mariages instables ?

![image](data/stable.png){: .center}

{{
correction(True,
"""
??? success \"Correction\"
Le couple Christopher-Evelyn est un couple instable.
"""
)
}}

!!! abstract "Exercice 2"
À l'adresse [https://uw-cse442-wi20.github.io/FP-cs-algorithm/](https://uw-cse442-wi20.github.io/FP-cs-algorithm/){. target="_blank"}, allez jusqu'à la zone «Identify Unstable Pairs» et entraînez-vous à repérer les mariages instables.


1.2 Notion de mariage stable


!!! tip "Mariages stables"
Un ensemble de mariages sera dit **stable** s'il n'existe aucun couple instable parmi tous les mariages.

![image](data/stable4.png){: .center}

La situation ci-dessus est stable, car aucun couple n'est instable.



Cet algorithme est appelé «algorithme des mariages stables».
Le travail des algorithmes d'appariement va être d'essayerd d'arriver à une situation stable.

Mais qu'est-ce qu'un mariage stable ?
L'algorithme le plus connu est l'algorithme de Gale-Shapley

## 2. Algorithme de Gale-Shapley

### Notion de «mariage stable»
![image](data/GS.png){: .center width=40%}

![image](data/stable.png){: .center}
David Gale (1921-2008) et Lloyd Shapley (1923-2016), deux universitaires américains, ont présenté en 1962 un algorithme d'appariement qui porte leur nom. ([lien vers la publication originale](https://www.eecs.harvard.edu/cs286r/courses/fall09/papers/galeshapley.pdf){. target="_blank"})

!!! tip "Algorithme de Gale-Shapley :heart: :heart: :heart:"
- Tant qu'il existe un homme n'ayant pas trouvé de femme :
- chaque homme libre se propose à la femme de son classement la mieux classée parmi celles à qui il n'a pas encore proposé.
- si la femme est libre, elle accepte.
- si elle n'est pas libre mais que l'homme qui vient de lui faire une proposition est mieux classé que son mari actuel, elle brise son couple actuel et accepte la proposition qui vient de lui être faite.

Binary file added docs/T7_Divers/11_parcoursup/data/GS.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/T7_Divers/11_parcoursup/data/cass.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/T7_Divers/11_parcoursup/data/class.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading

0 comments on commit 0ea2f39

Please sign in to comment.