Эффективные алгоритмы, осень 2007: Жадные алгоритмы

  • View
    132

  • Download
    3

Embed Size (px)

Transcript

  • / 17:

    .

    Computer Science http://logic.pdmi.ras.ru/infclub/

    . (CS ) 17. 1 / 39

    http://logic.pdmi.ras.ru/~infclub/

  • 1 ?: ?

    2

    3

    4

    5 SAT

    . (CS ) 17. 2 / 39

  • 1 ?: ?

    2

    3

    4

    5 SAT

    . (CS ) 17. 2 / 39

  • 1 ?: ?

    2

    3

    4

    5 SAT

    . (CS ) 17. 2 / 39

  • 1 ?: ?

    2

    3

    4

    5 SAT

    . (CS ) 17. 2 / 39

  • 1 ?: ?

    2

    3

    4

    5 SAT

    . (CS ) 17. 2 / 39

  • 1 ?: ?

    2

    3

    4

    5 SAT

    . (CS ) 17. 3 / 39

  • 1 ?: ?

    2

    3

    4

    5 SAT

    . (CS ) 17. 4 / 39

  • ., , , - . : .

    . (CS ) 17. 5 / 39

  • .

    , , , - . : .

    . (CS ) 17. 5 / 39

  • ., , , - .

    : .

    . (CS ) 17. 5 / 39

  • ., , , - . : .

    . (CS ) 17. 5 / 39

  • 1 ?: ?

    2

    3

    4

    5 SAT

    . (CS ) 17. 6 / 39

  • n (si , fi ), si < fi , fi ., (si , fi ) (sj , fj) , [si , fi ) [sj , fj) : fi sj fj si . (activity-selection problem) .

    , : f1 f2 fn.

    . (CS ) 17. 7 / 39

  • n (si , fi ), si < fi , fi .

    , (si , fi ) (sj , fj) , [si , fi ) [sj , fj) : fi sj fj si . (activity-selection problem) .

    , : f1 f2 fn.

    . (CS ) 17. 7 / 39

  • n (si , fi ), si < fi , fi ., (si , fi ) (sj , fj) , [si , fi ) [sj , fj) : fi sj fj si .

    (activity-selection problem) .

    , : f1 f2 fn.

    . (CS ) 17. 7 / 39

  • n (si , fi ), si < fi , fi ., (si , fi ) (sj , fj) , [si , fi ) [sj , fj) : fi sj fj si . (activity-selection problem) .

    , : f1 f2 fn.

    . (CS ) 17. 7 / 39

  • n (si , fi ), si < fi , fi ., (si , fi ) (sj , fj) , [si , fi ) [sj , fj) : fi sj fj si . (activity-selection problem) .

    , : f1 f2 fn.

    . (CS ) 17. 7 / 39

  • Greedy-Activity-Selector(s, f )1 n length[s]2 A {1}3 j 14 for i 2 to n5 do if si fj6 then A A {i}7 j i8 return A

    . (CS ) 17. 8 / 39

  • (n) ( , !). , 1: 1 , ( ) 1. , ., , 1. , , c . .

    . (CS ) 17. 9 / 39

  • (n) ( , !).

    , 1: 1 , ( ) 1. , ., , 1. , , c . .

    . (CS ) 17. 9 / 39

  • (n) ( , !). , 1: 1 , ( ) 1. , .

    , , 1. , , c . .

    . (CS ) 17. 9 / 39

  • (n) ( , !). , 1: 1 , ( ) 1. , ., , 1. , , c .

    .

    . (CS ) 17. 9 / 39

  • (n) ( , !). , 1: 1 , ( ) 1. , ., , 1. , , c . .

    . (CS ) 17. 9 / 39

  • 1 ?: ?

    2

    3

    4

    5 SAT

    . (CS ) 17. 10 / 39

  • ?

    1 : () . , , , .

    2 : .

    . (CS ) 17. 11 / 39

  • ?

    1 : () . , , , .

    2 : .

    . (CS ) 17. 11 / 39

  • ?

    1 : () . , , , .

    2 : .

    . (CS ) 17. 11 / 39

  • ?

    (fractional knapsack problem), , .

    , : (/). , : , .

    . (CS ) 17. 12 / 39

  • ?

    (fractional knapsack problem), , .

    , : (/). , : , .

    . (CS ) 17. 12 / 39

  • ?

    (fractional knapsack problem), , .

    , : (/).

    , : , .

    . (CS ) 17. 12 / 39

  • ?

    (fractional knapsack problem), , .

    , : (/). , : , .

    . (CS ) 17. 12 / 39

  • ?

    , , . , . , 2- .

    . (CS ) 17. 13 / 39

  • ?

    , , . , .

    , 2- .

    . (CS ) 17. 13 / 39

  • ?

    , , . , . , 2- .

    . (CS ) 17. 13 / 39

  • 1 ?: ?

    2

    3

    4

    5 SAT

    . (CS ) 17. 14 / 39

  • 130, A, B , C , D. , , :

    A B C D70 3 20 37

    , , . : A = 00, B = 01, C = 10, D = 11. 260 . , , A (, , B ).

    . (CS ) 17. 15 / 39

  • 130, A, B , C , D. , , :

    A B C D70 3 20 37

    , , . : A = 00, B = 01, C = 10, D = 11. 260 . , , A (, , B ).

    . (CS ) 17. 15 / 39

  • 130, A, B , C , D. , , :

    A B C D70 3 20 37

    , , .

    : A = 00, B = 01, C = 10, D = 11. 260 . , , A (, , B ).

    . (CS ) 17. 15 / 39

  • 130, A, B , C , D. , , :

    A B C D70 3 20 37

    , , . : A = 00, B = 01, C = 10, D = 11. 260 .

    , , A (, , B ).

    . (CS ) 17. 15 / 39

  • 130, A, B , C , D. , , :

    A B C D70 3 20 37

    , , . : A = 00, B = 01, C = 10, D = 11. 260 . , , A (, , B ).

    . (CS ) 17. 15 / 39

  • ()

    . . . ( , ) , 0 1, .

    . (CS ) 17. 16 / 39

  • ()

    .

    . . ( , ) , 0 1, .

    . (CS ) 17. 16 / 39

  • ()

    . .

    . ( , ) , 0 1, .

    . (CS ) 17. 16 / 39

  • ()

    . . .

    ( , ) , 0 1, .

    . (CS ) 17. 16 / 39

  • ()

    . . . ( , ) , 0 1, .

    . (CS ) 17. 16 / 39

  • 70A 60

    37D23

    3B 20C

    01

    01

    01

    A B C D70 3 20 370 100 101 11

    213 .

    . (CS ) 17. 17 / 39

  • , ,

    ni=1

    fi ( i- ).

    . , . .

    . (CS ) 17. 18 / 39

  • , ,

    ni=1

    fi ( i- ).

    . , . .

    . (CS ) 17. 18 / 39

  • , ,

    ni=1

    fi ( i- ).

    . , .

    .

    . (CS ) 17. 18 / 39

  • , ,

    ni=1

    fi ( i- ).

    . , . .

    . (CS ) 17. 18 / 39

  • , ., f1, f2 . f1, . . . fn, f1 f2 -, (f1 + f2) (f1 + f2), . . . fn.

    . (CS ) 17. 19 / 39

  • , .

    , f1, f2 . f1, . . . fn, f1 f2 -, (f1 + f2) (f1 + f2), . . . fn.

    . (CS ) 17. 19 / 39

  • , ., f1, f2 .

    f1, . . . fn, f1 f2 -, (f1 + f2) (f1 + f2), . . . fn.

    . (CS ) 17. 19 / 39

  • , ., f1, f2 . f1, . . . fn, f1 f2 -, (f1 + f2) (f1 + f2), . . . fn.

    . (CS ) 17. 19 / 39

  • Huffman(f )1 : f [1 . . n]2 : n 3 H, f4 for i 1 to n5 do Insert(H, i)6 for k n + 1 to 2n 17 do i Extract-Min(H)8 j Extract-Min(H)9 k i , j10 f [k] f [i ] + f [j ]11 Insert(H, k)

    . (CS ) 17. 20 / 39

  • 1 ?: ?

    2

    3

    4

    5 SAT

    . (CS ) 17. 21 / 39

  • U = {u1, . . . , un} = {S1, . . . , Sk}, Si U. U: U =

    S S .

    (set cover problem) , U.

    NP-. , .

    . (CS ) 17. 22 / 39

  • U = {u1, . . . , un} = {S1, . . . , Sk}, Si U.

    U: U =

    S S . (set cover problem) , U.

    NP-. , .

    . (CS ) 17. 22 / 39

  • U = {u1, . . . , un} = {S1, . . . , Sk}, Si U. U: U =

    S S .

    (set cover problem) , U.

    NP-. , .

    . (CS ) 17. 22 / 39

  • U = {u1, . . . , un} = {S1, . . . , Sk}, Si U. U: U =

    S S .

    (set cover problem) , U.

    NP-. , .

    . (CS ) 17. 22 / 39

  • U = {u1, . . . , un} = {S1, . . . , Sk}, Si U. U: U =

    S S .

    (set cover problem) , U.

    NP-. , .

    . (CS ) 17. 22 / 39

  • , . , ., , , m , , m ln n . nt t. m , , nt/m .

    . (CS ) 17. 23 / 39

  • , .

    , ., , , m , , m ln n . nt t. m , , nt/m .

    . (CS ) 17. 23 / 39

  • , . , .

    , , , m , , m ln n . nt t. m , , nt/m .

    . (CS ) 17. 23 / 39

  • , . , ., , , m , , m ln n .

    nt t. m , , nt/m .

    . (CS ) 17. 23 / 39

  • , . , ., , , m , , m ln n . nt t.

    m , , nt/m .

    . (CS ) 17