450 likes | 634 Views
Algorithmes et graphes. Olivier Cogis Professeur des Université Informatique. Algorithmes et Graphes olivier cogis . Regroupement inter académique 1 et 2 décembre 2011 − Montpellier. première partie _______. Autour d’un algorithme numérique. Algorithmes et Graphes olivier cogis .
E N D
Algorithmes et graphes Olivier Cogis Professeur des Université Informatique Algorithmes et Graphes olivier cogis Regroupement inter académique 1 et 2 décembre 2011 − Montpellier
première partie_______ Autour d’un algorithme numérique Algorithmes et Graphes olivier cogis Regroupement inter académique 1 et 2 décembre 2011 − Montpellier
function Ahmes(a, b : integer) : integer ; • var • x, y , z : integer ; • begin • x := a ; • y := b ; • z := 0 ; • while x<>0 do • begin • if odd(x) then z := z+y ; • x := x div 2 ; • y := y*2 ; • end • Ahmes := z • end 10 x = 50 20 y = 64 30 z = 0 40 if 2*int(x/2) = x then 60 50 z = z+y 60 x = int(x/2) 70 if (x = 0) then 100 80 y = 2*y 90 goto 40 100 print z 110 end Basic Pascal Algorithmes et Graphes olivier cogis Regroupement inter académique 1 et 2 décembre 2011 − Montpellier
static int ahmes(int a, int b) { int x = a; int y = b; int z = 0; while (x != 0) { if (x % 2 == 1) { z = z + y; } x = x / 2; y = y * 2; } return z; } def ahmes(a,b) : x = a y = b z = 0 while x != 0 : if x%2 == 1 : z = z+y x = int(x/2) y = y*2 return z Python Java Algorithmes et Graphes olivier cogis Regroupement inter académique 1 et 2 décembre 2011 − Montpellier
donnée : deux entiers positifs ou nuls a et b résultat : calcule dans … Algorithmes et Graphes olivier cogis Regroupement inter académique 1 et 2 décembre 2011 − Montpellier
Une trace de avec a = 50 et y = 64 x y z 50 64 0 25 128 0 12 256 128 128 6 512 3 1024 128 1 2048 1152 0 4096 3200 Algorithmes et Graphes olivier cogis Regroupement inter académique 1 et 2 décembre 2011 − Montpellier
Principe de preuve par invariant • Soit l'instruction répétitive tantque < B > faire < I > où • < B > est une expression booléenne • < I > est une instruction • Soit P une propriété. On montre successivement que : • la propriété P est établie par l’initialisation • la propriété P est maintenue par chaque itération • la répétitive converge. • On en conclut que la propriété P< B > est satisfaite à la fin de la répétitive Algorithmes et Graphes olivier cogis Regroupement inter académique 1 et 2 décembre 2011 − Montpellier
donnée : deux entiers positifs ou nuls a et b résultat : calcule dans … z + xy = ab ∧ x = 0 z = ab Algorithmes et Graphes olivier cogis Regroupement inter académique 1 et 2 décembre 2011 − Montpellier
x y z z+xy 50 64 0 3200 25 128 0 3200 12 256 128 3200 128 6 512 3200 3 1024 128 3200 1 2048 1152 3200 0 4096 3200 3200 Algorithmes et Graphes olivier cogis Regroupement inter académique 1 et 2 décembre 2011 − Montpellier
donnée : deux entiers positifs ou nuls a et b résultat : calcule dans z le produit ab spécifications Algorithmes et Graphes olivier cogis Regroupement inter académique 1 et 2 décembre 2011 − Montpellier
donnée : deux entiers positifs ou nuls a et b résultat : calcule dans z le produit ab • initialiser x, y et z de sorte que z + xy = ab • tantquex 0 faire • diminuer strictement la valeur de x • tout en conservant la valeur • de l'expression z + xy z + xy = ab ∧ x = 0 z = ab Algorithmes et Graphes olivier cogis Regroupement inter académique 1 et 2 décembre 2011 − Montpellier
donnée : deux entiers positifs ou nuls a et b • et un entier k ≥ 2 • résultat : calcule dans z le produit ab • xa • yb • z 0 • tantquex 0 faire • zz + (x mod k) y • xxk • yyk z + xy = ab z + xy = z + (kq+r)y = (z+ry) + q(yk) = z’ + x’y’ ∧ x = 0 z = ab Algorithmes et Graphes olivier cogis Regroupement inter académique 1 et 2 décembre 2011 − Montpellier
x y z 4 5 0 0 1 2 3 0 _____________ 1 3 5 1 3 5 9 0 0 4 5 0 0 9 0 0 ______________ 4 5 0 0 + z 5 5 3 5 ______________ 5 5 3 5 Algorithmes et Graphes olivier cogis Regroupement inter académique 1 et 2 décembre 2011 − Montpellier
Complexité asymptotique On compte le nombre d’itérations effectuées par l’algorithme. Soit N ce nombre, et soit k la base utilisée : Algorithmes et Graphes olivier cogis Regroupement inter académique 1 et 2 décembre 2011 − Montpellier
deuxième partie_______ Autour de la notion d’ordre Algorithmes et Graphes olivier cogis Regroupement inter académique 1 et 2 décembre 2011 − Montpellier
Graphe de précédence A On peut imaginer que A, B, … et G sont les chapitre d’un manuel d’enseignement et qu’il y a un arc de X vers Y lorsque les notions développées dans X sont utilisées dans Y G B F C E D graphe de précédence le graphe n’a pas de circuit Algorithmes et Graphes olivier cogis Regroupement inter académique 1 et 2 décembre 2011 − Montpellier
A G B F C E D un graphe de précédence Algorithmes et Graphes olivier cogis Regroupement inter académique 1 et 2 décembre 2011 − Montpellier
B A E D G B A G F C F C E D un graphe de précédence le même graphe de précédence Algorithmes et Graphes olivier cogis Regroupement inter académique 1 et 2 décembre 2011 − Montpellier
B E D A G F C l‘ordre induit Algorithmes et Graphes olivier cogis Regroupement inter académique 1 et 2 décembre 2011 − Montpellier
Un algorithme non déterministe donnée : un graphe de précédence G résultat : ? lequel ? un graphe transitif ? en tout cas un graphe transitif contenant G au sens des arcs • tantqueG possède un triplet incomplet (x,y,z) faire • ajouter à G l’arc de x à z (x,y,z) triplet incomplet de G G possède l’arc de xy et l’arc de yz, mais pas l’arc de xz Algorithmes et Graphes olivier cogis Regroupement inter académique 1 et 2 décembre 2011 − Montpellier
La fermeture transitive Gt est le plus petit des graphes transitifs contenant G l’inclusion des graphes s’entend au sens des arcs • première caractérisation • la définition est fondée : • le graphe complet est un des H • contenir G « passe » à l’intersection • être transitif « passe » à l’intersection Regroupement inter académique 1 et 2 décembre 2011 − Montpellier Algorithmes et Graphes olivier cogis
La fermeture transitive Gt est le plus petit des graphes transitifs contenant G l’inclusion des graphes s’entend au sens des arcs • deuxième caractérisation • Gt est le graphe qui comporte l’arc xy si et seulement si il existe dans G un parcours non trivial de x à y • un tel graphe : • contient G • est transitif • est contenu dans tout graphe transitif contenant G Regroupement inter académique 1 et 2 décembre 2011 − Montpellier Algorithmes et Graphes olivier cogis
Un algorithme non déterministe pour la fermeture transitive donnée : un graphe G résultat : calcule dans H la fermeture transitive Gtde G • HG • tantqueH possède un triplet incomplet (x,y,z) faire • ajouter à H l’arc xz Algorithmes et Graphes olivier cogis Regroupement inter académique 1 et 2 décembre 2011 − Montpellier
1 4 2 3 Algorithmes et Graphes olivier cogis Regroupement inter académique 1 et 2 décembre 2011 − Montpellier
Les opérateurs • Si G = (S, A) est un graphe avec : • S ensemble des sommets • A ensemble des arcs, A SS • et si xS est un sommet de G, • on définit le graphe x(G) par x(G) = (S, x(A)) où : • x(A) = A { yzSSyx, xzA } x x y y z z x(G) Algorithmes et Graphes olivier cogis Regroupement inter académique 1 et 2 décembre 2011 − Montpellier
L’algorithme de Roy-Warshall donnée : un graphe G résultat : calcule dans H la fermeture transitive de G • HG • pour chaque sommetx de Hfaire • H x(H) Algorithmes et Graphes olivier cogis Regroupement inter académique 1 et 2 décembre 2011 − Montpellier
1 4 2 3 Algorithmes et Graphes olivier cogis Regroupement inter académique 1 et 2 décembre 2011 − Montpellier
L’algorithme de Roy-Warshall donnée : un graphe G résultat : calcule dans H la fermeture transitive de G • HG • pour chaque sommetx de Hfaire • H x(H) Algorithmes et Graphes olivier cogis Regroupement inter académique 1 et 2 décembre 2011 − Montpellier
Soit x1,x2,… xn une permutation de S et posons : Preuve de l’algorithme avec l’invariant : ab est un arc de Gisi et seulement si il existe dans G un parcours de a vers b dont tous les sommets intermédiaires appartiennent à l’ensemble {x1,x2,… xi} Algorithmes et Graphes olivier cogis Regroupement inter académique 1 et 2 décembre 2011 − Montpellier
Preuve par les propriétés algébriques des opérateurs • les opérateurs sont • isotones : Gx(G) • croissants : GHx(G) x(H) • idempotents : x(x(G)) = x(G) • permutables : x(y(G)) = y(x(G)) Algorithmes et Graphes olivier cogis Regroupement inter académique 1 et 2 décembre 2011 − Montpellier
Preuve par les propriétés algébriques des opérateurs GGn isotonie Gn est transitif propriété caractéristique avec commutativité et idempotence GnGtcroissance et idempotence Algorithmes et Graphes olivier cogis Regroupement inter académique 1 et 2 décembre 2011 − Montpellier
Algorithmes et Graphes olivier cogis Regroupement inter académique 1 et 2 décembre 2011 − Montpellier
Complexité asymptotique Le nombre d’itérations de l’algorithme de Roy-Warshall est n3 si n est l’ordre du graphe Algorithmes et Graphes olivier cogis Regroupement inter académique 1 et 2 décembre 2011 − Montpellier
B B E E D D A A G G graphe de précédence fermeture transitive B E D F F C C A G réduction transitive F C Algorithmes et Graphes olivier cogis Regroupement inter académique 1 et 2 décembre 2011 − Montpellier
Un algorithme non déterministe pour la réduction transitive • donnée : un graphe G • résultat : calcule dans H un graphe ayant la même • fermeture transitive que G et minimum pour cette propriété • HG • tantqueH possède un triplet complet (x,y,z) faire • supprimer de H l’arc xz (x,y,z) triplet complet de G G possède les 3 arcs de xy,yz et xz Algorithmes et Graphes olivier cogis Regroupement inter académique 1 et 2 décembre 2011 − Montpellier
Algorithmes et Graphes olivier cogis Regroupement inter académique 1 et 2 décembre 2011 − Montpellier
La t-équivalence l’inclusion des graphes s’entend au sens des arcs • Définition • Deux graphes sont t-équivalents lorsqu’ils ont • la même fermeture transitive. • Propriété • La t-équivalence est une relation d’équivalence. • La classe de t-équivalence d’un graphe G possède un plus grand élément qui est Gt, mais ne possède pas, en général, de plus petit élément. Algorithmes et Graphes olivier cogis Regroupement inter académique 1 et 2 décembre 2011 − Montpellier
La réduction transitive des graphes sans circuits • Théorème • Si un graphe est sans circuits, sa classes de • t-équivalence possède un plus petit élément. Ce plus petit élément s’appelle la réduction transitive du graphe et c’est l’intersection de tous les graphes de la classe. C’est également le résultat unique du calcul effectué par l’algorithme non déterministe de réduction transitive. Algorithmes et Graphes olivier cogis Regroupement inter académique 1 et 2 décembre 2011 − Montpellier
Quelques propriétés étapes pour une démonstration • tous les parcours d’un graphe sans circuits d’ordre n sont de longueur majorée par n 1 • tout graphe t-équivalent à un graphe sans circuits est lui-même sans circuit • deux graphes sans circuits t-équivalents possèdent les mêmes parcours de longueur maximum entre chaque couple de sommets • l’intersection de deux graphes t-équivalents est un graphe t-équivalent aux deux premiers Algorithmes et Graphes olivier cogis Regroupement inter académique 1 et 2 décembre 2011 − Montpellier
Point de vue • A la notion intuitive d’ordre, on peut associer une classe de t-équivalence de graphes sans circuits qui : • est ordonnée par inclusion au sens des arcs • possède un plus grand élément qui est la fermeture transitive de tous les éléments de la classe et qui est un ordre au sens de l’algèbre des relations • possède un plus petit élément, appelé réduction transitive de chaque élément de la classe Algorithmes et Graphes olivier cogis Regroupement inter académique 1 et 2 décembre 2011 − Montpellier
Numérotations compatibles ou extensions linéaires B E D 7 7 A 6 6 5 4 G 4 3 5 3 F C 1 1 2 2 Algorithmes et Graphes olivier cogis Regroupement inter académique 1 et 2 décembre 2011 − Montpellier
Numérotations compatibles ou extensions linéaires • une numérotation compatible des sommets d’un graphe est une numérotation telle que si xy est un arc du graphe, le numéro de x est inférieur à celui de y • le fait de posséder une numérotation compatible de ses sommets est une caractérisation des graphes sans circuits • une numérotation compatible des sommets d’un graphe sans circuits induit un ordre total sur ses sommets, qui est une extension linéaire de l’ordre induit par le graphe : si x précède y dans l’ordre partiel, il doit le précéder dans l’extension linéaire, qui est un ordre total Algorithmes et Graphes olivier cogis Regroupement inter académique 1 et 2 décembre 2011 − Montpellier
Extension linéaire ou numérotation compatible donnée : un graphe G = (S, A) sans circuits résultat : calcule dans une numérotation compatible pour G • X • k 0 • tantque X ≠ Sfaire • choisir une source x de G[S \ X] • kk + 1 • [x] k • XX {x} • X S • est numérotation compatible de G[S] • G ne possède aucun arc de A\S vers S Algorithmes et Graphes olivier cogis Regroupement inter académique 1 et 2 décembre 2011 − Montpellier
En guise de conclusion Les algorithmes sont des objets dignes de l’attention du mathématicien ! • ils sont conçus pour résoudre des problèmes • il faut les spécifier • il faut les prouver • il faut en évaluer la complexité • il faut les généraliser • il faut les spécialiser • … Algorithmes et Graphes olivier cogis Regroupement inter académique 1 et 2 décembre 2011 − Montpellier
Merci de votre attention Algorithmes et Graphes olivier cogis Regroupement inter académique 1 et 2 décembre 2011 − Montpellier