您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

263 行
4.5KB

  1. ---
  2. title: "Graphes"
  3. author: "Maxime Wack"
  4. date: "17/11/2020"
  5. output:
  6. xaringan::moon_reader:
  7. css: ['default','css/my_style.css']
  8. lib_dir: libs
  9. seal: false
  10. nature:
  11. ratio: '4:3'
  12. countIncrementalSlides: false
  13. self-contained: true
  14. beforeInit: "addons/macros.js"
  15. ---
  16. ```{r, include = FALSE}
  17. library(gapminder)
  18. library(tidyverse)
  19. library(DT)
  20. library(knitr)
  21. opts_chunk$set(message = F)
  22. options(DT.options = list(paging = F,
  23. info = F,
  24. searching = F))
  25. datatable <- partial(datatable, rownames = F)
  26. ```
  27. class: center, middle, title
  28. # UE Visualisation
  29. ### 2020-2021
  30. ## Dr. Maxime Wack
  31. ### AHU Informatique médicale
  32. #### Hôpital Européen Georges Pompidou, </br> Université de Paris
  33. ---
  34. class: center, middle
  35. # Objectif
  36. ## Théorie des graphes
  37. ## Créer et manipuler des graphes
  38. ## Représenter des graphes
  39. ---
  40. # Théorie des graphes
  41. ### Étude des graphes et leurs applications
  42. ### Topologie des graphes
  43. ### Propriétés des graphes
  44. ### Développement d'algorithmes
  45. - parcours en largeur/profondeur
  46. - calcul de trajet (A*, Dijkstra)
  47. - détection de sous-graphes
  48. - inférence, effets de réseaux
  49. - résolution de contraintes
  50. ---
  51. # Graphes
  52. .pull-left[
  53. ## Graphes ou réseaux
  54. *graphs* and *networks*
  55. ## Représentation de **relations** entre des **éléments**
  56. ]
  57. .pull-right[
  58. ![](06-img/graphe.png)
  59. ]
  60. ---
  61. # Sommets
  62. .pull-left[
  63. ### (ou nœuds, ou points)</br> *vertex (vertices)* en anglais
  64. ### Servent à représenter les **éléments**
  65. ### Peuvent posséder des **attributs** arbitraires (label, valeurs, etc.)
  66. ### Des attributs peuvent être **calculés** (degré, centralité, etc.)
  67. ]
  68. .pull-right[
  69. ![](06-img/vertices.png)
  70. ]
  71. ---
  72. # Arêtes
  73. .pull-left[
  74. ### (ou liens, ou lignes)</br> *edges* en anglais
  75. ### Servent à représenter les **relations**
  76. ### Peuvent également posséder des **attributs** (label, poids, etc.)
  77. ]
  78. .pull-right[
  79. ![](06-img/edges.png)
  80. ]
  81. ---
  82. # Graphe dirigé
  83. .pull-left[
  84. ### Graphe dont les arêtes ont une **direction**
  85. ### Arêtes **bidirectionnelles** possibles
  86. ]
  87. .pull-right[
  88. ![](06-img/directed.png)
  89. ]
  90. ---
  91. # Cycles
  92. .pull-left[
  93. ### Groupes de sommets formant un **anneau**
  94. ### Dans un graphe dirigé, on doit pouvoir tourner
  95. ]
  96. .pull-right[
  97. ![](06-img/cycle.png)
  98. ]
  99. ---
  100. # Clique
  101. .pull-left[
  102. ### Ensemble de sommets **tous connectés entre eux**
  103. ]
  104. .pull-right[
  105. ![](06-img/clique.png)
  106. ]
  107. ---
  108. # Graphe connecté
  109. .pull-left[
  110. ### Graphe dont **tous les sommets** forment une **clique**
  111. ]
  112. .pull-right[
  113. ![](06-img/connected.png)
  114. ]
  115. ---
  116. # Arbre
  117. .pull-left[
  118. ### Graphe ne comportant **pas de cycle**
  119. ### Possède une ou plusieurs **racines**
  120. ]
  121. .pull-right[
  122. ![](06-img/tree.png)
  123. ]
  124. ---
  125. # Graphe dirigé acyclique
  126. .pull-left[
  127. ### Depuis le graphe dirigé précédent
  128. ### Quelles arêtes supprimer pour obtenir un DAG ?
  129. ]
  130. .pull-right[
  131. ![](06-img/directed.png)
  132. ]
  133. ---
  134. # Graphe dirigé acyclique
  135. .pull-left[
  136. ### **DAG** (Directed Acyclic Graph)
  137. ### Structure très reconnue
  138. - Réseaux bayésiens
  139. - Arbres généalogiques
  140. - Systèmes de contrôle de version
  141. - Systèmes de workflow
  142. - Graphe de citations
  143. ]
  144. .pull-right[
  145. ![](06-img/DAG.png)
  146. ]
  147. ---
  148. # Représentation numérique
  149. .pull-left[
  150. ![](06-img/numbered.png)
  151. ]
  152. .pull-right[
  153. ## Liste de sommets
  154. `(1, 2, 3, 4, 5, 6, 7, 8)`
  155. ## Liste d'arêtes
  156. `((2, 1), (3, 1), (4, 1),`</br>
  157. ` (2, 3), (4, 3), (4, 2),`</br>
  158. ` (2, 5), (5, 2), (5, 7),`</br>
  159. ` (6, 5), (6, 7), (7, 4),`</br>
  160. ` (7, 8))`
  161. ]
  162. ---
  163. # Représentation numérique
  164. .pull-left[
  165. ![](06-img/numbered.png)
  166. ]
  167. ## Matrice d'adjacence
  168. ```{r matrice, echo = F}
  169. matrix(c(0, 0, 0, 0, 0, 0, 0, 0,
  170. 1, 0, 1, 0, 1, 0, 0, 0,
  171. 1, 0, 0, 0, 0, 0, 0, 0,
  172. 1, 1, 1, 0, 0, 0, 0, 0,
  173. 0, 1, 0, 0, 0, 0, 1, 0,
  174. 0, 0, 0, 0, 1, 0, 1, 0,
  175. 0, 0, 0, 1, 0, 0, 0, 1,
  176. 0, 0, 0, 0, 0, 0, 0, 0),
  177. nrow = 8) %>% t
  178. ```
  179. ---
  180. class: center
  181. # Visualisation
  182. ## Cytoscape
  183. ## yEd
  184. ## ggraph
  185. ---
  186. # Outils externes
  187. ## Cytoscape
  188. https://cytoscape.org/
  189. Pour l'analyse de réseaux, orienté biologie à l'origine</br>
  190. Visualisation de réseaux</br>
  191. Calculs d'indicateurs</br>
  192. Mapping d'attributs sur des propriété esthétiques
  193. ## yEd
  194. https://www.yworks.com/products/yed
  195. Éditeur de graphes, multiples supportés</br>
  196. Visualisation de réseaux</br>
  197. Nombreux algorithmes de layout</br>
  198. Calculs d'indicateurs</br>
  199. Mapping d'attributs sur des propriété esthétiques</br>
  200. ---
  201. # ggraph
  202. https://ggraph.data-imaginist.com/
  203. ### `geom_node_*` → geom pour les sommets
  204. ### `geom_edge_*` → geom pour les arêtes
  205. ### Propriété `layout` dans `ggraph()`