From af5651188b4aef9bfd231ffa49732021062e34ad Mon Sep 17 00:00:00 2001 From: Samuel Ortion Date: Thu, 6 Nov 2025 08:22:33 +0100 Subject: [PATCH] Add a post on Vertex Cover and its Integer Linear Programming solution --- config.yaml | 2 +- content/images/R/languages_count.png | Bin 97575 -> 0 bytes content/pages/news.org | 12 +- ...1101_vertex_cover_linear_programming.fr.md | 88 ++++++++++++ .../camera-traps-PiCameraTrap.fr.md | 26 +++- .../cameratraps/camera-traps-arduino.en.fr.md | 2 +- .../cameratraps/camera-traps-arduino.en.md | 2 +- ...101_vertex_cover_linear_programming.fr.org | 125 ++++++++++++++++++ org/vertex-cover-example-lp_solve.svg | 68 ++++++++++ org/vertex-cover-example.svg | 68 ++++++++++ static/ox-hugo/example.svg | 63 +++++++++ .../ox-hugo/vertex-cover-example-lp_solve.svg | 68 ++++++++++ static/ox-hugo/vertex-cover-example.svg | 68 ++++++++++ 13 files changed, 587 insertions(+), 5 deletions(-) delete mode 100755 content/images/R/languages_count.png create mode 100644 content/posts/20251101_vertex_cover_linear_programming.fr.md create mode 100644 org/20251101_vertex_cover_linear_programming.fr.org create mode 100644 org/vertex-cover-example-lp_solve.svg create mode 100644 org/vertex-cover-example.svg create mode 100644 static/ox-hugo/example.svg create mode 100644 static/ox-hugo/vertex-cover-example-lp_solve.svg create mode 100644 static/ox-hugo/vertex-cover-example.svg diff --git a/config.yaml b/config.yaml index 3d15d08..94ea487 100755 --- a/config.yaml +++ b/config.yaml @@ -1,5 +1,5 @@ --- -baseURL: 'https://blog.samuel.ortion.fr/' +baseURL: 'https://samuel.ortion.fr/' languageCode: en-us title: A blog from a juvenile Geekus biologicus theme: 'mus' diff --git a/content/images/R/languages_count.png b/content/images/R/languages_count.png deleted file mode 100755 index ecac2be1190615a05813ba4d9c30d979612a182a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 97575 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

k*S4}R5;%{XosDLs%cTR!g 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 #+updated: <2024-04-14 Sun> -#+draft: true +#+draft: false + + +* <2025-10-01 Wed> +Je commence une thèse au Laboratoire d'Analyses Bioinformatiques pour la Génomique et le Métabolisme au Génoscope ([[https://labgem.genoscope.cns.fr/][LABGeM]]). +Je vais travailler sur une méthode de reconstruction de réseaux métaboliques à l'échelle des pangénomes de bactéries et d'archées. + +* <2025-01-01 Wed> + +Je commence un stage de Master 2 au LaMME, sous la direction de Carène Rizzon, Marie Szafranski et Franck Samson du LaMME et de Emmanuelle Lerat du LBBE (CNRS / Lyon). Il porte sur la prédiction de la redondance fonctionelle de paire de gènes dupliqués chez /Arabidopsis thaliana/ avec des approches de /machine learning/. + * <2024-04-15 Mon> Je commence un stage au Laboratoire de Mathématiques et Modélisation d'Évry (LaMME), pour travailler sur un pipeline de détection de gènes dupliqués en tandem sous la supervision de Carène Rizzon et Franck Samson. diff --git a/content/posts/20251101_vertex_cover_linear_programming.fr.md b/content/posts/20251101_vertex_cover_linear_programming.fr.md new file mode 100644 index 0000000..d7324b0 --- /dev/null +++ b/content/posts/20251101_vertex_cover_linear_programming.fr.md @@ -0,0 +1,88 @@ ++++ +title = "Le problème de couverture par sommets en Integer Linear Programming avec LP-solve" +author = ["Samuel Ortion"] +date = 2025-11-01 +slug = "couverture-par-sommets-optimisation-linéaire" +tags = [["graph"]] +draft = false ++++ + +Le [problème de couverture par sommets](https://fr.wikipedia.org/wiki/Probl%C3%A8me_de_couverture_par_sommets) (ou _Vertex Cover_ en anglais) consiste, étant donné un graphe, à trouver un ensemble minimum de sommets de sorte que toutes les arêtes soient couvertes. + +Formellement: soit \\(G(V, E)\\) un graphe, une couverture est un ensemble \\(S\\) tel que: +\\[ +S \subseteq V \text{ tel que } \forall e = (u, v) \in E, u \in S, \text{ ou } v \in S +\\] + +L'objectif est de miniser la taille de \\(S\\). + +{{< figure src="/ox-hugo/vertex-cover-example.svg" >}} + +Le problème de la couverture par sommets est NP-complet. + +Dans ce post, nous allons tenter d'utiliser l'integer programming pour résoudre ce problème. + + +## Encodage du problème en Integer Programming {#encodage-du-problème-en-integer-programming} + +En Integer Programming, on peut utiliser des variables entières, et des contraintes, telles que \\(a + b \geq c\\). + +Pour encoder notre problème en Integer Programming, on va se donner une variable Booléenne \\(x\_v\\) pour chaque sommet \\(v\\), sur \\(\\{0, 1\\}\\), évaluée à 1 si \\(v\\) est sélectionné dans \\(S\\). + +Puis, pour chaque arête \\((u, v)\\), on crée une contrainte pour s'assurer qu'elle soit couverte: + +\\[ +x\_u + x\_v \geq 1 +\\] + +Dans cette condition, la contrainte est satisfaite si au moins une des variables \\(x\_u\\) et \\(x\_v\\) est vraie (c'est-à-dire égale à 1). + +La fonction à miniser, correspondant au cardinal de \\(S\\) est simplement: +\\[ +\sum\_{v \in V} x\_v +\\] + +Les valeurs de \\(x\_v\\) en sortie du solveur d'Integer Programming indiquent quel est l'ensemble \\(S\\) de la solution. + + +## Implementation avec LP-solve {#implementation-avec-lp-solve} + +[LP-solve](https://lp-solve.github.io/) est un solveur pour le problème Mixed Integer Linear Programming. + +Pour l'exemple présenté au début de ce post, le graphe est composé des arrêtes suivantes: \\((a, c), + (c, b), + (d, e), + (a, e), + (a, d)\\) + +```lp_solve +min: a + b + c + d + e; + +r_1: a + c >= 1; +r_2: d + e >= 1; +r_3: c + b >= 1; +r_4: a + e >= 1; +r_5: a + d >= 1; + +bin a; +bin b; +bin c; +bin d; +bin e; +``` + +```text + +Value of objective function: 3.00000000 + +Actual values of the variables: +a 1 +b 0 +c 1 +d 0 +e 1 +``` + +Ce qui correspond à la couverture suivante (sommets jaunes), sur le graphe initial. + +{{< figure src="/ox-hugo/vertex-cover-example-lp_solve.svg" >}} diff --git a/content/posts/cameratraps/camera-traps-PiCameraTrap.fr.md b/content/posts/cameratraps/camera-traps-PiCameraTrap.fr.md index 35e7ee1..a594c86 100755 --- a/content/posts/cameratraps/camera-traps-PiCameraTrap.fr.md +++ b/content/posts/cameratraps/camera-traps-PiCameraTrap.fr.md @@ -17,7 +17,31 @@ J'ai donc utilisé le logiciel [Motion](https://motion-project.github.io/), qui - Alimentation pour Raspberry Pi; - Batterie externe USB (optionnel, utile pour obtenir un piège photo autonome); - Caméra Raspberry Pi (avec sa nâpe de câblage), ou une caméra USB; -- Carte SD (avec assez de stockage pour les photos et l'OS); +- Carte micro SD (avec assez de stockage pour les photos et l'OS); - Une boîte (étanche de préférence). +## Installation du système d'exploitation + +Pour un piège photo, un système d'exploitation sans interface graphique suffit. On peut installer, par exemple [Raspberry Pi OS Lite](https://www.raspberrypi.com/software/operating-systems/). + +L'installation du système d'exploitation est en dehors du cadre de ce tuto. Le plus simple est d'utiliser l'outil Raspberry Pi Imager. Pensez à mettre en place le service SSH, à entrer les identifiants / mots de passes de votre point d'accès WiFi. + +## Installation de Motion et configuration + +Motion est un logiciel qui analyse en continue le flux vidéo de la caméra et peux déclencher la prise de vue lorsqu'il détecte un changement important de couleur de pixel (quand un oiseau ou un chat passe devant la caméra par exemple). + +Pour installer motion, on utilise la commande suivante: + +```console +sudo apt install motion +``` + + +Sur les versions récente de Raspberry Pi OS (basées sur Bookworm), la gestion des caméras nécessite l'utilisation de `libcamera`. + +On installe donc `libcamera`: + +```console +sudo apt install libcamera-tools libcamera-v4l2 +``` diff --git a/content/posts/cameratraps/camera-traps-arduino.en.fr.md b/content/posts/cameratraps/camera-traps-arduino.en.fr.md index 5a1dfe9..13c6660 100755 --- a/content/posts/cameratraps/camera-traps-arduino.en.fr.md +++ b/content/posts/cameratraps/camera-traps-arduino.en.fr.md @@ -135,4 +135,4 @@ Voici deux images prise par le piège photo Arduino, à l'occasion: ![Mésange Charbonière au nichoir - Photo 1 prise par le piège photo Arduino](https://framagit.org/BioloGeeks/WildBytes/CameraTraps/www/-/raw/main/static/media/images/arduino/photo-mesange-1.jpg) -![Mésange Charbonière au nichoir - Photo 1 prise par le piège photo Arduino](https://framagit.org/BioloGeeks/WildBytes/CameraTraps/www/-/raw/main/static/media/images/arduino/photo-mesange-2.jpg) \ No newline at end of file +![Mésange Charbonière au nichoir - Photo 1 prise par le piège photo Arduino](https://framagit.org/BioloGeeks/WildBytes/CameraTraps/www/-/raw/main/static/media/images/arduino/photo-mesange-2.jpg) diff --git a/content/posts/cameratraps/camera-traps-arduino.en.md b/content/posts/cameratraps/camera-traps-arduino.en.md index b810a76..17b1854 100755 --- a/content/posts/cameratraps/camera-traps-arduino.en.md +++ b/content/posts/cameratraps/camera-traps-arduino.en.md @@ -134,7 +134,7 @@ void loop() { ## Results -I had the change to have a family of great tit, that were in a birdhouse I made. +I had the chance to have a family of great tit, that were in a birdhouse I made. Here are two images taken by the Arduino Camera Trap. diff --git a/org/20251101_vertex_cover_linear_programming.fr.org b/org/20251101_vertex_cover_linear_programming.fr.org new file mode 100644 index 0000000..3073962 --- /dev/null +++ b/org/20251101_vertex_cover_linear_programming.fr.org @@ -0,0 +1,125 @@ +#+title: Le problème de couverture par sommets en Integer Linear Programming avec LP-solve +#+date: 2025-11-01 +#+lastmod: 2025-11-01 +#+hugo_tags: [graph] +#+author: Samuel Ortion +#+hugo_lang: fr +#+hugo_draft: nil +#+hugo_base_dir: .. +#+hugo_pseudocode: true +#+hugo_slug: couverture-par-sommets-optimisation-linéaire + +Le [[https://fr.wikipedia.org/wiki/Probl%C3%A8me_de_couverture_par_sommets][problème de couverture par sommets]] (ou /Vertex Cover/ en anglais) consiste, étant donné un graphe, à trouver un ensemble minimum de sommets de sorte que toutes les arêtes soient couvertes. + +Formellement: soit $G(V, E)$ un graphe, une couverture est un ensemble $S$ tel que: +$$ +S \subseteq V \text{ tel que } \forall e = (u, v) \in E, u \in S, \text{ ou } v \in S +$$ + +L'objectif est de miniser la taille de $S$. + +#+begin_src dot :file vertex-cover-example.svg :results file graphics +graph G { + { + node [width=0.25 shape=circle style=filled] + a + b + c + d + e + } + a -- c + c -- b + d -- e + a -- e + a -- d +} +#+end_src + +#+RESULTS: +[[file:vertex-cover-example.svg]] + +Le problème de la couverture par sommets est NP-complet. + +Dans ce post, nous allons tenter d'utiliser l'integer programming pour résoudre ce problème. + +* Encodage du problème en Integer Programming + +En Integer Programming, on peut utiliser des variables entières, et des contraintes, telles que $a + b \geq c$. + +Pour encoder notre problème en Integer Programming, on va se donner une variable Booléenne $x_v$ pour chaque sommet $v$, sur $\{0, 1\}$, évaluée à 1 si $v$ est sélectionné dans $S$. + +Puis, pour chaque arête \((u, v)\), on crée une contrainte pour s'assurer qu'elle soit couverte: + +$$ +x_u + x_v \geq 1 +$$ + +Dans cette condition, la contrainte est satisfaite si au moins une des variables $x_u$ et $x_v$ est vraie (c'est-à-dire égale à 1). + +La fonction à miniser, correspondant au cardinal de $S$ est simplement: +\[ +\sum_{v \in V} x_v +\] + +Les valeurs de $x_v$ en sortie du solveur d'Integer Programming indiquent quel est l'ensemble $S$ de la solution. + +* Implementation avec LP-solve + +[[https://lp-solve.github.io/][LP-solve]] est un solveur pour le problème Mixed Integer Linear Programming. + +Pour l'exemple présenté au début de ce post, le graphe est composé des arrêtes suivantes: \((a, c), + (c, b), + (d, e), + (a, e), + (a, d)\) + +#+begin_src lp_solve :exports both +min: a + b + c + d + e; + +r_1: a + c >= 1; +r_2: d + e >= 1; +r_3: c + b >= 1; +r_4: a + e >= 1; +r_5: a + d >= 1; + +bin a; +bin b; +bin c; +bin d; +bin e; +#+end_src + +#+RESULTS: +: +: Value of objective function: 3.00000000 +: +: Actual values of the variables: +: a 1 +: b 0 +: c 1 +: d 0 +: e 1 + +Ce qui correspond à la couverture suivante (sommets jaunes), sur le graphe initial. + +#+begin_src dot :file vertex-cover-example-lp_solve.svg :results file graphics +graph G { + { + node [width=0.25 shape=circle style=filled] + a [fillcolor=yellow] + b + c [fillcolor=yellow] + d + e [fillcolor=yellow] + } + a -- c + c -- b + d -- e + a -- e + a -- d +} +#+end_src + +#+RESULTS: +[[file:vertex-cover-example-lp_solve.svg]] diff --git a/org/vertex-cover-example-lp_solve.svg b/org/vertex-cover-example-lp_solve.svg new file mode 100644 index 0000000..a939764 --- /dev/null +++ b/org/vertex-cover-example-lp_solve.svg @@ -0,0 +1,68 @@ + + + + + + +G + + + +a + +a + + + +c + +c + + + +a--c + + + + +d + +d + + + +a--d + + + + +e + +e + + + +a--e + + + + +b + +b + + + +c--b + + + + +d--e + + + + diff --git a/org/vertex-cover-example.svg b/org/vertex-cover-example.svg new file mode 100644 index 0000000..762ab19 --- /dev/null +++ b/org/vertex-cover-example.svg @@ -0,0 +1,68 @@ + + + + + + +G + + + +a + +a + + + +c + +c + + + +a--c + + + + +d + +d + + + +a--d + + + + +e + +e + + + +a--e + + + + +b + +b + + + +c--b + + + + +d--e + + + + diff --git a/static/ox-hugo/example.svg b/static/ox-hugo/example.svg new file mode 100644 index 0000000..d927fd4 --- /dev/null +++ b/static/ox-hugo/example.svg @@ -0,0 +1,63 @@ + + + + + + +G + + + +a + + + + +c + + + + +a--c + + + + +d + + + + +a--d + + + + +e + + + + +a--e + + + + +b + + + + +c--b + + + + +d--e + + + + diff --git a/static/ox-hugo/vertex-cover-example-lp_solve.svg b/static/ox-hugo/vertex-cover-example-lp_solve.svg new file mode 100644 index 0000000..a939764 --- /dev/null +++ b/static/ox-hugo/vertex-cover-example-lp_solve.svg @@ -0,0 +1,68 @@ + + + + + + +G + + + +a + +a + + + +c + +c + + + +a--c + + + + +d + +d + + + +a--d + + + + +e + +e + + + +a--e + + + + +b + +b + + + +c--b + + + + +d--e + + + + diff --git a/static/ox-hugo/vertex-cover-example.svg b/static/ox-hugo/vertex-cover-example.svg new file mode 100644 index 0000000..762ab19 --- /dev/null +++ b/static/ox-hugo/vertex-cover-example.svg @@ -0,0 +1,68 @@ + + + + + + +G + + + +a + +a + + + +c + +c + + + +a--c + + + + +d + +d + + + +a--d + + + + +e + +e + + + +a--e + + + + +b + +b + + + +c--b + + + + +d--e + + + +