typo
This commit is contained in:
parent
1d7e676f43
commit
4bc10860a5
@ -1,18 +1,29 @@
|
||||
# Miniprojet optionnel
|
||||
## Qu'est-ce qu'on gagne ?
|
||||
|
||||
on reprend le jeu de l'exercice 1 du tp2 qui consiste à éteindre toutes les lumières d'une grille. Le but est d'ajouter un mode
|
||||
qui permet de tricher en indiquant au joueur les lumières qu'il doit allumer/ éteindre. Pour cela, on va utiliser des résultats "élémentaires" d'algèbre linéaire vus
|
||||
au S1.
|
||||
Des points bonus sur la note finale de la ressource. Les 5 premiers à m'envoyer
|
||||
un mail, avec un code fonctionnel et correct gagnent respectivement 6,5,4,3,2
|
||||
points. Il faut le faire avant vendredi (07/02/2024).
|
||||
|
||||
## Qu'est-ce qu'il faut faire ?
|
||||
|
||||
On reprend le jeu de l'exercice 1 du tp2 qui consiste à éteindre toutes les
|
||||
lumières d'une grille. Le but est d'ajouter un mode qui permet de tricher en
|
||||
indiquant au joueur les lumières qu'il doit allumer/ éteindre. Pour cela, on va
|
||||
utiliser des résultats "élémentaires" d'algèbre linéaire vus au S1.
|
||||
|
||||
<div align="center">
|
||||
<img src="./img/lights.png">
|
||||
</div>
|
||||
|
||||
|
||||
L'idée principale est que l'action d'allumer/éteindre une lumière (et ses voisins) peut se représenter par une addition modulo 2.
|
||||
À chaque fois qu'on allume/éteint une lumière, on ajoute la matrice des voisins à la matrice qui représente l'état de la grille.
|
||||
Pour savoir comment jouer, il suffit d'essayer de décomposer la matrice initiale en somme de matrices de voisins. Ce problème est un problème
|
||||
classique d'algébre linéaire. Voici un exemple sur une petite instance du jeu.
|
||||
L'idée principale est que l'action d'allumer/éteindre une lumière (et ses
|
||||
voisins) peut se représenter par une addition modulo 2. À chaque fois qu'on
|
||||
allume/éteint une lumière, on ajoute la matrice des voisins à la matrice qui
|
||||
représente l'état de la grille. Pour savoir comment jouer, il suffit d'essayer
|
||||
de décomposer la matrice initiale en somme de matrices de voisins. Ce problème
|
||||
est un problème classique d'algébre linéaire. Voici un exemple sur une petite
|
||||
instance du jeu.
|
||||
|
||||
<div align="center">
|
||||
<img src="./img/lights1.png">
|
||||
@ -37,11 +48,13 @@ Le problème se ramène à chercher quel(s) vecteurs \(v_i\) utilisés pour reco
|
||||
|
||||
|
||||
Cela s'écrit (\(x_i \{0,1\} \)) :
|
||||
|
||||
\[
|
||||
x_0.v_0 + x_1.v_1 + x_2.v_2 + x_3.v_3 = b
|
||||
\]
|
||||
|
||||
Et en rangeant les vecteurs \(v\) dans une matrice \(A\),
|
||||
|
||||
\[
|
||||
A = \left(\begin{array}{cccc}
|
||||
1 & 1 & 1 & 0\\
|
||||
@ -52,15 +65,19 @@ Et en rangeant les vecteurs \(v\) dans une matrice \(A\),
|
||||
\]
|
||||
|
||||
Le problème se ramène à la résolution de
|
||||
|
||||
\[
|
||||
A.x = b
|
||||
\]
|
||||
|
||||
Ça tombe bien, vous connaissez (cf S1) un algorithme qui résout ce type d'équation.
|
||||
Cela tombe bien, vous connaissez (cf S1) un [algorithme](https://grond.iut-fbleau.fr/monnerat/maths_2024/src/branch/main/outils/cours/systeme_lineaire.pdf) qui résout ce type d'équation.
|
||||
|
||||
|
||||
Remarques :
|
||||
- pour certaines dimensions, la matrice \(A\) est inversible, et donc quelque soit la configuration initiale,
|
||||
il y a une solution.
|
||||
- pour d'autres, la matrice \(A\) n'est plus inversible. Il n'y a pas de solution pour toutes les configurations initiales.
|
||||
- pour d'autres dimensions, la matrice \(A\) n'est plus inversible. Il n'y a pas de solution pour toutes les configurations initiales.
|
||||
vous pouvez proposer ces dimensions, mais il faudra vérifier alors que le jeu a une solution.
|
||||
- les calculs ici sont plus simples que le cas général, puisqu'on travaille modulo 2.
|
||||
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user