Graphs are mathematical structures consisting of nodes connected by edges, used to model pairwise relations between objects.Un graphe est une structure mathématique composée de sommets et d'arêtes qui les relient. Contrairement à une carte géographique, ici ce n'est pas la forme des lignes qui importe, mais l'existence même de la connexion et, éventuellement, son poids (par exemple, la longueur de la route ou le temps de trajet). Cette abstraction permet d'appliquer les mêmes algorithmes de recherche aux réseaux sociaux, aux flux de transport et même aux chaînes de réactions chimiques.
Les origines de la théorie des graphes sont liées aux travaux de Leonhard Euler « Solution d'un problème lié à la géométrie de position » (1736), où il a montré l'impossibilité de parcourir les sept ponts de Königsberg sans passer deux fois par le même. Le terme « graphe » a été introduit par D. König en 1936. Au XXe siècle, la théorie des graphes s'est rapidement développée grâce aux problèmes d'optimisation discrète et d'informatique.
Les graphes modélisent des systèmes d'interactions par paires. L'analyse repose sur les matrices d'adjacence et d'incidence. Les propriétés des graphes sont étudiées via des invariants : connexité, nombre cyclomatique, nombre chromatique. Les algorithmes efficaces sur les graphes (recherche du plus court chemin, flot maximal) sont basés sur des méthodes de programmation dynamique et des stratégies gloutonnes. En physique, les graphes sont utilisés dans les techniques diagrammatiques (les diagrammes de Feynman sont des graphes orientés) et dans l'étude des milieux aléatoires.
Les graphes aident à trouver le chemin le plus court dans un navigateur et à recommander de nouveaux amis sur les réseaux sociaux.
Dans le graphe social de Facebook, il n'y a en moyenne que 3,5 étapes entre deux utilisateurs quelconques — c'est ce qu'on appelle la « théorie des six poignées de main » en pratique.
| w_1 | variable | weight for a — poids |
| a | variable | first value |
| w_2 | variable | weight for b — poids |
| b | variable | second value |





















