curs8p2

Upload: vasilexxl5

Post on 07-Mar-2016

3 views

Category:

Documents


0 download

DESCRIPTION

Curs

TRANSCRIPT

  • GeneralitatiAlgoritmul lent

    Grahams scan

    Acoperiri convexe

    Mihai-Sorin Stupariu

    Curs 8 (II), Sem. I, 2011-2012

    Mihai-Sorin Stupariu Acoperiri convexe

  • GeneralitatiAlgoritmul lent

    Grahams scan

    Multimi convexe

    I Conceptul de multime convexa:O multime M Rm este convexa daca oricare ar fi p, q M,segmentul [pq] este inclus n M.

    I Problematizare:Multimile finite cu cel putin doua elemente nu sunt convexe necesara acoperirea convexa.

    Mihai-Sorin Stupariu Acoperiri convexe

  • GeneralitatiAlgoritmul lent

    Grahams scan

    Multimi convexe

    I Conceptul de multime convexa:O multime M Rm este convexa daca oricare ar fi p, q M,segmentul [pq] este inclus n M.

    I Problematizare:Multimile finite cu cel putin doua elemente nu sunt convexe necesara acoperirea convexa.

    Mihai-Sorin Stupariu Acoperiri convexe

  • GeneralitatiAlgoritmul lent

    Grahams scan

    Acoperire convexa a unei multimi finite P (formal)

    I Cea mai mica (n sensul incluziunii) multime convexa carecontine P.

    I Intersectia tuturor multimilor convexe care contin P.I Multimea tuturor combinatiilor convexe ale punctelor din P.

    Mihai-Sorin Stupariu Acoperiri convexe

  • GeneralitatiAlgoritmul lent

    Grahams scan

    Acoperire convexa a unei multimi finite P (formal)

    I Cea mai mica (n sensul incluziunii) multime convexa carecontine P.

    I Intersectia tuturor multimilor convexe care contin P.

    I Multimea tuturor combinatiilor convexe ale punctelor din P.

    Mihai-Sorin Stupariu Acoperiri convexe

  • GeneralitatiAlgoritmul lent

    Grahams scan

    Acoperire convexa a unei multimi finite P (formal)

    I Cea mai mica (n sensul incluziunii) multime convexa carecontine P.

    I Intersectia tuturor multimilor convexe care contin P.I Multimea tuturor combinatiilor convexe ale punctelor din P.

    Mihai-Sorin Stupariu Acoperiri convexe

  • GeneralitatiAlgoritmul lent

    Grahams scan

    Acoperire convexa a unei multimi finite P (practic)

    I De fapt, daca P este finita, acoperirea sa convexa, Conv(P)este un poligon convex.

    I Problema:Cum determinam, algoritmic, varfurile acestui poligon?

    I Conventie: Sensul de parcurgere a frontierei este cel al acelorde ceasornic.

    Mihai-Sorin Stupariu Acoperiri convexe

  • GeneralitatiAlgoritmul lent

    Grahams scan

    Acoperire convexa a unei multimi finite P (practic)

    I De fapt, daca P este finita, acoperirea sa convexa, Conv(P)este un poligon convex.

    I Problema:Cum determinam, algoritmic, varfurile acestui poligon?

    I Conventie: Sensul de parcurgere a frontierei este cel al acelorde ceasornic.

    Mihai-Sorin Stupariu Acoperiri convexe

  • GeneralitatiAlgoritmul lent

    Grahams scan

    Acoperire convexa a unei multimi finite P (practic)

    I De fapt, daca P este finita, acoperirea sa convexa, Conv(P)este un poligon convex.

    I Problema:Cum determinam, algoritmic, varfurile acestui poligon?

    I Conventie: Sensul de parcurgere a frontierei este cel al acelorde ceasornic.

    Mihai-Sorin Stupariu Acoperiri convexe

  • GeneralitatiAlgoritmul lent

    Grahams scan

    Algoritmul lent: idee de lucru

    I Sunt considerate muchiile orientate.

    I Q: Cum se decide daca o muchie orientata fixata este pefrontiera?

    I A: Toate celelalte puncte sunt n dreapta ei.

    Mihai-Sorin Stupariu Acoperiri convexe

  • GeneralitatiAlgoritmul lent

    Grahams scan

    Algoritmul lent: idee de lucru

    I Sunt considerate muchiile orientate.I Q: Cum se decide daca o muchie orientata fixata este pe

    frontiera?

    I A: Toate celelalte puncte sunt n dreapta ei.

    Mihai-Sorin Stupariu Acoperiri convexe

  • GeneralitatiAlgoritmul lent

    Grahams scan

    Algoritmul lent: idee de lucru

    I Sunt considerate muchiile orientate.I Q: Cum se decide daca o muchie orientata fixata este pe

    frontiera?

    I A: Toate celelalte puncte sunt n dreapta ei.

    Mihai-Sorin Stupariu Acoperiri convexe

  • GeneralitatiAlgoritmul lent

    Grahams scan

    Comentarii

    I Complexitatea: O(n3).

    I Tratarea cazurilor degenerate: poate fi adaptat.I Robustetea: datorita erorilor de rotunjire este posibil ca

    algoritmul sa nu returneze o lista coerenta de muchii.

    Mihai-Sorin Stupariu Acoperiri convexe

  • GeneralitatiAlgoritmul lent

    Grahams scan

    Comentarii

    I Complexitatea: O(n3).I Tratarea cazurilor degenerate: poate fi adaptat.

    I Robustetea: datorita erorilor de rotunjire este posibil caalgoritmul sa nu returneze o lista coerenta de muchii.

    Mihai-Sorin Stupariu Acoperiri convexe

  • GeneralitatiAlgoritmul lent

    Grahams scan

    Comentarii

    I Complexitatea: O(n3).I Tratarea cazurilor degenerate: poate fi adaptat.I Robustetea: datorita erorilor de rotunjire este posibil ca

    algoritmul sa nu returneze o lista coerenta de muchii.

    Mihai-Sorin Stupariu Acoperiri convexe

  • GeneralitatiAlgoritmul lent

    Grahams scan

    Grahams scan: idee de lucru

    I Punctele sunt mai ntai sortate si renumerotate lexicografic.

    I Algoritmul este de tip incremental, punctele fiind adaugateunul cate unul, fiind apoi eliminate anumite puncte.

    I Q: Cum se decide daca trei puncte sunt varfuri consecutiveale acoperirii convexe?

    I A: Se efectueaza un viraj la dreapta n punctul din mijloc.

    Mihai-Sorin Stupariu Acoperiri convexe

  • GeneralitatiAlgoritmul lent

    Grahams scan

    Grahams scan: idee de lucru

    I Punctele sunt mai ntai sortate si renumerotate lexicografic.I Algoritmul este de tip incremental, punctele fiind adaugate

    unul cate unul, fiind apoi eliminate anumite puncte.

    I Q: Cum se decide daca trei puncte sunt varfuri consecutiveale acoperirii convexe?

    I A: Se efectueaza un viraj la dreapta n punctul din mijloc.

    Mihai-Sorin Stupariu Acoperiri convexe

  • GeneralitatiAlgoritmul lent

    Grahams scan

    Grahams scan: idee de lucru

    I Punctele sunt mai ntai sortate si renumerotate lexicografic.I Algoritmul este de tip incremental, punctele fiind adaugate

    unul cate unul, fiind apoi eliminate anumite puncte.

    I Q: Cum se decide daca trei puncte sunt varfuri consecutiveale acoperirii convexe?

    I A: Se efectueaza un viraj la dreapta n punctul din mijloc.

    Mihai-Sorin Stupariu Acoperiri convexe

  • GeneralitatiAlgoritmul lent

    Grahams scan

    Grahams scan: idee de lucru

    I Punctele sunt mai ntai sortate si renumerotate lexicografic.I Algoritmul este de tip incremental, punctele fiind adaugate

    unul cate unul, fiind apoi eliminate anumite puncte.

    I Q: Cum se decide daca trei puncte sunt varfuri consecutiveale acoperirii convexe?

    I A: Se efectueaza un viraj la dreapta n punctul din mijloc.

    Mihai-Sorin Stupariu Acoperiri convexe

  • GeneralitatiAlgoritmul lent

    Grahams scan

    Comentarii

    I Complexitatea: O(n log n).

    I Tratarea cazurilor degenerate: corect.I Robustetea: datorita erorilor de rotunjire este posibil ca

    algoritmul sa returneze o lista eronata (dar coerenta) demuchii.

    Mihai-Sorin Stupariu Acoperiri convexe

  • GeneralitatiAlgoritmul lent

    Grahams scan

    Comentarii

    I Complexitatea: O(n log n).I Tratarea cazurilor degenerate: corect.

    I Robustetea: datorita erorilor de rotunjire este posibil caalgoritmul sa returneze o lista eronata (dar coerenta) demuchii.

    Mihai-Sorin Stupariu Acoperiri convexe

  • GeneralitatiAlgoritmul lent

    Grahams scan

    Comentarii

    I Complexitatea: O(n log n).I Tratarea cazurilor degenerate: corect.I Robustetea: datorita erorilor de rotunjire este posibil ca

    algoritmul sa returneze o lista eronata (dar coerenta) demuchii.

    Mihai-Sorin Stupariu Acoperiri convexe

    GeneralitatiAlgoritmul "lent"Graham's scan