7 gierige algorithmen (greedy algorithms) gierige algorithmen (greedy algorithms) ! " c b. m¨oller

Download 7 Gierige Algorithmen (Greedy Algorithms) Gierige Algorithmen (Greedy Algorithms) !

Post on 12-Aug-2019

214 views

Category:

Documents

0 download

Embed Size (px)

TRANSCRIPT

  • 7 Gierige Algorithmen (Greedy

    Algorithms)

    �� ��������� ��� � ������ � ���� � ������ ������ ���������� ��� ���� ��� � ���� ��� ���� �������� ��� ��� �� � � ������� �� ������ ������

    ��� ���������� ����� � ���� � � ��������

    ��� �� ������ ���� �

    ��� ���� ���� �������� � ��� ���� ������� � � ������� ��� ������������� !��������� ���� �� " ������ �� ����� ���������� �����������

    c© B. Möller # $# Informatik III WS 2011/12

    Gierige Algorithmen (Greedy Algorithms)

    Prinzip� • %�������� �� �����&������ � � • !�� ���������� ���� ����������� �������� � ��� � � �� %���' ����

    • ���� � � ��� ���� ��� ���� ���(��� ����� ����� �������������� ��� ���� ��� ����� �������� ����� ��������� ��� �� ������ ����� �

    c© B. Möller # ) # Informatik III WS 2011/12

  • 7.1 Minimale Spannbäume

    Aufgabe:

    • Gegeben: ��� ������ � ����� �������� ��� ������ ��������� ��� • Gesucht: ��������� ����� � � ��� � ����� � ������������� ����� ���� ��� &� ��� �� ��� ����� �� ��� ����' ������

    • ����� ��� "�� ������� ��� �� ���� ��������� ����� ���� �� ����� Anwendungsbeispiel:

    ���� � � �������������� ��������� �������� ����������� ����� ��� ���� � ������������ ��!� ��������� ����� "������������

    c© B. Möller # � # Informatik III WS 2011/12

    Gierige Algorithmen (Greedy Algorithms)

    7.1.1 Charakterisierung von Bäumen

    ��� ���������� ��� � � ������� �� �������� ������ "������� ���� � � !� ����� Lemma 7.1.1 &�� T = (V, E) ��� ! ��� ��� ����

    � v, w ∈ V ��������� ��� � ������ � � v � ��w �� T � ��� ����

    v, w ∈ V �� �( ��� vw /∈ E� � � � T ∪ {vw} ��� � ����� ������ ������ ����� � vw�� � &��

    u ∈ V ��� |N(u)| = k� � �� �����

    � ��� ! �� ����� "��' ������ � �

    u ��

    k � �� �������

    �!� m = n − 1�

    c© B. Möller # " # Informatik III WS 2011/12

  • Beweis: ��� � T ��� ������ ����� ���� ���� �� �������� � � v � ��w� • �������� P1, P2 ����� ���������������� � � v � ��w� • � ������ �� ���� ������ ���v ′w ′ �� P2 � ��� ����� ��P1 ���� ��(

    P1

    v ′ •

    EE EE

    EE EE

    *j *j

    *j*j *j

    *j *j

    *j *j

    *j *j

    *j *j

    *j

    v •

    7w 7w

    7w 7w

    7w 7w

    7w 7w

    w ′ • /o/o/o/o/o/o/o •w P2

    • � P2 ��� ���� �� � v ′ 6= w ′ ��� v ′ 6= w�

    c© B. Möller # � # Informatik III WS 2011/12

    Gierige Algorithmen (Greedy Algorithms)

    1. Fall: "� ��� ���w ′ 6= w� • � �� ��� ��� v ′ · · ·w · · ·w ′v ′ ��� ������ • ����������� ��� ! ���������� ���

    2. Fall: "� �� � w ′ = w� • � �� ����� � � � ��������� v ′ · · ·w ���������� ����� �������� ������ ���� ��� � ���

    v ′w ��� � ��� � ��

    P2 ����� ������ • � ��� � ������ ��� � ������� v ′ · · ·wv ′ � ��� ����� ����� ���' � ��� ����� � ������ ����� ����������� ��� ! �������' ��� ���

    c© B. Möller # � # Informatik III WS 2011/12

  • ��� ��� � �� ��� ������������� � � v � ��w �� ��� ��� vw ����� ����� K� ��� vw ����� ��

    • �������� T ∪ {vw} �� ��� ����� �������� ����� K ′ � • ������ ���� ��� ��� vw ���� ���� � T ����� � ���� • ������������ ���� �� v ���w �� T ���������� ������������������ ��� � �� ��� ���������� �� ���������� ������ � ��� ��� &����� � �

    K ���

    vw ���������

    • � ��� ����K ���K ′ ����������

    c© B. Möller # � # Informatik III WS 2011/12

    Gierige Algorithmen (Greedy Algorithms)

    � � ��� ���� ����� �� ��� G� • !��� ���� ���� �� ������ � ��� �� v 6= w � � u� • ��� �� u ��� ��� � � ��� ���������� � ���� ������������� �� ���

    G ′ � • � �� �� ���� �� ��G ��� � �������� � � v � ��w����� ���� � ��

    vuw �����

    • ������ ������� ����� "�������� � � u ������ ��� • � � ����� v ���w �� ������������� � �� ������ � �G ′ � • � � � � G ′ ���������� k � �� �������

    c© B. Möller # � # Informatik III WS 2011/12

  • "� ��� ��� x 6= u ��� �� ������� �� ��� � �G�

    • ������ � �� �� ���� �� ��G ��� � �������� � � x � �� u� • ������ ������ ����� ����� � ��� �� v � � u �v = x ��� �� � ���� ��� ����� �

    u ������

    • � ���������� � � x � �� v � ���� ��G ′ ��� ���� � ���� x �� ��� � �� ����� � � v�

    • � ��� ���� �� ��� ����� ���� � k � �� �������

    c© B. Möller # � # Informatik III WS 2011/12

    Gierige Algorithmen (Greedy Algorithms)

    �!���� ������� ���� ������� � � ��n� • ��� ������� �� �� �� n = 1 ��� �

    �� • &�� � ��� n > 1���� ��������� ����� �� ������� �� ��� u� • &�� k =�� |N(u)|���� � �� � ������������k � �� ������ ���� ������ !� ���� �����

    �� � �� ������� ��� � ��������� � mi = ni − 1�

    c© B. Möller # $� # Informatik III WS 2011/12

  • "� � �� m

    = k +

    k∑

    i=1

    mi

    = k +

    k∑

    i=1

    (ni − 1)

    = k +

    k∑

    i=1

    ni − k

    =

    k∑

    i=1

    ni

    = n − 1 ,

    � u � �������� ������ ut

    c© B. Möller # $$# Informatik III WS 2011/12

    Gierige Algorithmen (Greedy Algorithms)

    ���� �� ��� ��� ��� ���

    Lemma 7.1.2 (Charakterisier

Recommended

View more >