wykład 2: upraszczanie, optymalizacja i implikacja

36
1 Wykład 2: Upraszczanie, Wykład 2: Upraszczanie, optymalizacja i implikacja optymalizacja i implikacja

Upload: crevan

Post on 06-Jan-2016

39 views

Category:

Documents


3 download

DESCRIPTION

Wykład 2: Upraszczanie, optymalizacja i implikacja. Upraszczanie, optymalizacja i implikacja. Upraszczanie więzów Projekcja Upraszczacze więzowe Optymalizacja Implikacja i równoważność. Upraszczanie więzów. Dwa równoważne więzy reprezentują tę samą informację, ale - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Wykład 2: Upraszczanie, optymalizacja i implikacja

1

Wykład 2: Upraszczanie, Wykład 2: Upraszczanie, optymalizacja i implikacjaoptymalizacja i implikacja

Page 2: Wykład 2: Upraszczanie, optymalizacja i implikacja

2

Upraszczanie, optymalizacja i Upraszczanie, optymalizacja i implikacjaimplikacja

Upraszczanie więzów Projekcja Upraszczacze więzowe Optymalizacja Implikacja i równoważność

Page 3: Wykład 2: Upraszczanie, optymalizacja i implikacja

3

Upraszczanie więzówUpraszczanie więzów

Dwa równoważne więzy reprezentują tę samą informację, ale

Jeden może być prostszy od drugiegoX X Y X

X Y X

X X Y

X Y X

X Y Y

X Y Y

1 3 2

3 2

3 2

2 3

2 3 2

2 1

Usuwanie nadmiarowych więzów, przepisywanie więzów bazowych, zmiana kolejności, podstawianie używiające równości zachowują równoważność

Page 4: Wykład 2: Upraszczanie, optymalizacja i implikacja

4

Więzy nadmiaroweWięzy nadmiarowe

Więz C1 implikuje C2 jeśli rozwiązania C1 są podzbiorem rozwiązań C2

C2 jest nadmiarowy wzgl. C1 Piszemy C C1 2

X X

Y X Y X

cons X X cons Z nil Z nil

3 1

2 4 1

( , ) ( , )

Page 5: Wykład 2: Upraszczanie, optymalizacja i implikacja

5

Więzy nadmiaroweWięzy nadmiarowe

Można usunąć więz bazowy, który jest nadmiarowy wzgłedem reszty więzów.

X X X

Y X X Y Y X Y

cons X X cons Z nil Z nil cons X X cons Z nil

1 3 3

2 1 4 2 4

( , ) ( , ) ( , ) ( , )

Powstają prostsze więzy

Page 6: Wykład 2: Upraszczanie, optymalizacja i implikacja

6

Solwery form rozwiązanychSolwery form rozwiązanych

Ponieważ solwer form rozwiązanych tworzy równoważne więzy służyć do upraszczania

cons X X cons Z nil Y succ X succ Z Y Z nil

X nil Z nil Y succ nil

( , ) ( , ) ( ) ( )

( )

Przykładowo, gdy używamy solwera termowego

Dla solwera Gaussa-JordanaX Y Y X T Z X Y Z T

X Y Z T

2 2 4 5

3 1 5

Page 7: Wykład 2: Upraszczanie, optymalizacja i implikacja

7

ProjekcjaProjekcja

Upraszczanie staje się ważniejsze, gdy interesują nas jedynie niektóre zmienne.

II1

I2

V

+

--3_--

+

--

V1V2

--

V I R

V I R

V V

V V

V V

I I I

I I I

R

R

1 1 1

2 2 2

1 0

2 0

1 2 0

1 2 0

1 2 0

1 5

2 10

Uproszczone wzgl. V oraz I V I

10

3

Page 8: Wykład 2: Upraszczanie, optymalizacja i implikacja

8

ProjekcjaProjekcja

Projekcją więzu C na zmienne V jest więz C1 taki, że C1 zawiera zmienne jedynie z V Każde rozwiązanie C jest rozwiązaniem C1 Rozwiązanie C1 może być rozszerzone by dać

rozwiązanie CX Y Y Z Z

X Y Z

X Y Z

0

0 0 0

4 3 1

{ , , }

{ , , }

X

X

X

0

0

4

{ }

{ }

Page 9: Wykład 2: Upraszczanie, optymalizacja i implikacja

9

Algorytm FourieraAlgorytm Fouriera

Usuń zmienną y z nierówności liniowych C Zapisz każdą nier. z y po jednej stronie

Dla każdej pary stwórz nową nier.

Wynikiem są wszystkie nowe nierówności oraz te nierówności z C, które nie zawierają y

t y y t1 2 t y y t1 2

t y y t t t1 2 1 2

Page 10: Wykład 2: Upraszczanie, optymalizacja i implikacja

10

Algorytm Fouriera. PrzykładAlgorytm Fouriera. Przykład

Projekcja. Eliminowanie Y

X

Y

+1

+1-1

-1

X-1 +1

X Y

X Y

Y X

Y X

1

1

1

1

X Y Y X X

X Y Y X

X Y Y X

X Y Y X X

1 1 1

1 1 0 2

1 1 0 2

1 1 1

Wynik (zawiera tylko X)

X X 1 1

Page 11: Wykład 2: Upraszczanie, optymalizacja i implikacja

11

Projekcja więzów termowychProjekcja więzów termowych

Możemy również wykonać projekcję na więzach termowych

projekcja na {X,Z} to Ale jak dokonać projekcji X = cons(Y,Z) na

X? Odpowiedź: nie ma takiego więzu!

cons Y Y cons X Z succ Z succ T( , ) ( , ) ( ) ( )

X Z

Page 12: Wykład 2: Upraszczanie, optymalizacja i implikacja

12

Upraszczanie więzówUpraszczanie więzów

więzy C1 i C2 są równoważne ze względu na V jeśli gdy weźmiemy dowolne rozwiązanie jednego i

ograniczymy je do zmiennych s V, to to ograniczone rozwiązanie może być rozszerzone aby być rozwiązaniem drugiego

Przykładowo X=succ(Y) i X=succ(Z) wzgl {X}X succ Y X X succ Z

X succ a Y a X succ a X succ a Z a

X succ nil Y nil X succ nil X succ nil Z nil

( ) { } ( )

{ ( ), } { ( )} { ( ), }

{ ( ), } { ( )} { ( ), }

Page 13: Wykład 2: Upraszczanie, optymalizacja i implikacja

13

Definicja upraszczaczaDefinicja upraszczacza

Upraszczaczem więzów jest funkcja simpl która bierze więz C oraz zbiór zmiennych V i zwraca więz C1 równoważny C wzgl. V

Możemy utworzyć upraszczacz dla nierówności liniowych bazujący na algorytmie Fouriera.

Page 14: Wykład 2: Upraszczanie, optymalizacja i implikacja

14

Upraszczacz więzów Upraszczacz więzów drzewowychdrzewowych

Zastosuj solwer termowy do C otrzymując C1 if C1 = false then return false foreach równanie x=t w C1

if x jest w V then if t jest zmienną spoza V

podstaw x za t w C1 i w wyniku else dodaj x=t do wyniku

return result

Page 15: Wykład 2: Upraszczanie, optymalizacja i implikacja

15

Przykład upraszczania drzewPrzykład upraszczania drzew

Wiezy drzewowe upraszczane wzgl. {Y,T}

))(),,(),),((())(,),,(( UgXXfXTgfhTgZYXfh

Równoważny więz z solwera drzewowego

Z f g U g U X g U Y g U T U ( ( ), ( )) ( ) ( )

Pomiń pierwsze dwa równania, zachowaj trzecie i użyj ostatnie do zamiany U na T

Y g T ( )

Page 16: Wykład 2: Upraszczanie, optymalizacja i implikacja

16

Własności upraszczaczaWłasności upraszczacza

Pożądanymi własnościami są: rzutowanie: słabe rzutowanie: dla wszystkich więzów C2

które są równoważne z C1 wzgl. V

słabo rzutujący solwer nigdy nie używa więcej zmiennych niż to konieczne

Obydwie te własności pozwalają by upraszczacz użyty był jako solwer

vars simpl C V V( ( , ))

| ( ( , )) | | ( ) |vars simpl C V V vars C V1 2

Page 17: Wykład 2: Upraszczanie, optymalizacja i implikacja

17

OptymalizacjaOptymalizacja

Często mając problem modelowany przez pewne więzy chcemy otrzymać nie ,,jakieś’’ rozwiązanie, ale rozw. ,,najlepsze’’

To jest problem optymalizacyjny Potrzebujemy funkcji celu do oceny

rozwiązań, czyli funkcji biorącej rozwiązanie i zwracającej liczbę rzeczywista

Page 18: Wykład 2: Upraszczanie, optymalizacja i implikacja

18

Problem optymalizacjiProblem optymalizacji

Problem optymalizacji (C,f) składa się z więzu C oraz funkcji celu f

Wartościowanie v1 jest lepsze niż v2 jeśli f(v1) < f(v2)

Rozwiązanie optymalne to takie, że nie ma od niego lepszego.

Page 19: Wykład 2: Upraszczanie, optymalizacja i implikacja

19

Przykład na optymalizacjęPrzykład na optymalizację

0 1 2 3 4

1

2

3

4

Y

X

X+Y=4

Problem optymalizacyjny

( , )C X Y f X Y 4 2 2

Znajdź najbliższy pocz. układu punkt spełniający C. Niektóre rozwiązania wraz z wartością f.

{ , }

{ , }

{ , }

X Y

X Y

X Y

0 4 16

3 3 18

2 2 8

Rozwiązanie optymalne

{ , }X Y 2 2

Page 20: Wykład 2: Upraszczanie, optymalizacja i implikacja

20

OptymalizacjaOptymalizacja

Pewne problemy optymalizacyjne nie mają rozwiązania. Więzy nie mają rozwiązanie

Problem nie ma optimim

Od każdego rozwiązania istnieje lepsze

( , )X X X 2 0 2

( , )X X0

Page 21: Wykład 2: Upraszczanie, optymalizacja i implikacja

21

Algorytm SimplexAlgorytm Simplex

Najpowszechniej używany algorytm optymalizacyjny

Optymalizuje funkcję liniową wzgl. więzów liniowych

Związany z eliminacją Gaussa-Jordana

Page 22: Wykład 2: Upraszczanie, optymalizacja i implikacja

22

Algorytm SimplexAlgorytm Simplex

Problem optymalizacyjny (C, f) ma postać simpleksową jeśli: C jest koniunkcją CE oraz CI CE jest koniunkcją równań liniowych CI ogranicza wszystkie zmienne z C, by były

nieujemne f jest linowym wyrażeniem nad zmiennymi z C

Page 23: Wykład 2: Upraszczanie, optymalizacja i implikacja

23

Simplex. PrzykładSimplex. Przykład

0000

123

3

wzgl123 jminimalizu

TZYX

TZYX

YX

Y-Z+X+

Problem optymalizacyjny w postaci simplesowej

•Dowolny problem można przekształcić do postaci simpl.

• Zastępując niezwiązane zm X przez nowe zm.

• wyrażając za pomocą nowej zm. s

X X

e r e s r

Page 24: Wykład 2: Upraszczanie, optymalizacja i implikacja

24

Rozwiązana postać simpleksowaRozwiązana postać simpleksowa

Simpleksowy problem optymalizacyjny jest w podstawowej wykonywalnej postaci jeśli: Równania są w postaci rozwiązanej Każda stała po prawej stronie jest nieujemna W funkcji celu znajdują się jedynie parametry

Postawowe wykonywalne rozwiązanie otrzymujemy podstawiając 0 za każdy parametr, a stałą z równania za każdy nie-parametr

Page 25: Wykład 2: Upraszczanie, optymalizacja i implikacja

25

Simplex. PrzykładSimplex. Przykład

minimize subject to10

3

4 2 2

0 0 0 0

Y Z

X Y

T Y Z

X Y Z T

Problem równoważny poprzedniemu w postaci bfs

Możemy odczytać rozwiązanie i odpowiadającą mu funkcję celu { , , , }X T Y Z

f

3 4 0 0

10

Page 26: Wykład 2: Upraszczanie, optymalizacja i implikacja

26

Algorytm simplexAlgorytm simplex

Zacznij od problemu w postaci bfs

repeat

Wybierz zmienną y z ujemnymi wsp. w funkcji celu

Znajdź równanie x = b + cy + ... gdzie c<0 i -b/c jest minimalne

Przepisz równanie with y the subject y = -b/c + 1/c x + ...

Podstaw -b/c + 1/c x + ... za y we wszystkich równ. i f-cji celu.

until nie ma takiej y lub nie ma takiego równania

if nie ma y to znaleźliśmy optimum

else nie ma rozwiązania optymalnego

Page 27: Wykład 2: Upraszczanie, optymalizacja i implikacja

27

Simpleks. PrzykładSimpleks. Przykładminimize subject to10

3

4 2 2

0 0 0 0

Y Z

X Y

T Y Z

X Y Z T

Choose variable Y, the first eqn is only one with neg. coeff Y X 3

minimize subject to7

3

10 2 2

0 0 0 0

X Z

Y X

T X Z

X Y Z T

Choose variable Z, the 2nd eqn is only one with neg. coeff Z X T 5 05.

minimize subject to2 2 05

3

5 05

0 0 0 0

X T

Y X

Z X T

X Y Z T

.

.

No variable can be chosen, optimal value 2 is found

Page 28: Wykład 2: Upraszczanie, optymalizacja i implikacja

28

Inny przykładInny przykład

0 1 2 3 4

1

2

3

4

Y

X

-2 -1 0

1

2

preferredsolutions

minimize subject toX Y

Y

X

X

Y X

0

1

3

2 3

Równoważną postacią simpleksową jest:

00000

32

3

1

321

1

3

2

SSSYX

SYX

SX

SX

Problem optymalizacyjny pokazujący poziomice funkcji celu

Page 29: Wykład 2: Upraszczanie, optymalizacja i implikacja

29

Inny przykładInny przykład

0 1 2 3 4

1

2

3

4

Y

X

-2 -1 0

1

2

Basic feasible solution form: circleminimize subject to0 05 05

3 05 05

2

3

1 3

1 3

2 3

3

. .

. .

S S

Y S S

S S

X S

Choose S3, replace using 2nd eq

2

23

21

21

1

2

5.05.02

subject to 5.05.01 minimize

SX

SS

SSY

SS

Rozwiązanie optymalne: kwadrat

Page 30: Wykład 2: Upraszczanie, optymalizacja i implikacja

30

Brakująca częśćBrakująca część

Jak obliczyć początkowe rozwiązanie (bfs)? Rozwiąż inny problem simpleksowy

Dodaj sztuczne zmienne, aby rozwiązania znalazły się w bfs

Minimalizuj sumę sztucznych więzów Gdy suma jest zero, możemy zbudować bfs dla

oryginalnego problemu.

Page 31: Wykład 2: Upraszczanie, optymalizacja i implikacja

31

Przykład z brakującą częściąPrzykład z brakującą częścią

X S

X S

X Y S

2

3

1

1

3

2 3

Original simplex form equations

A X S

A X S

A X Y S

1 2

2 3

3 1

1

3

3 2

With artificial vars in bfs form:

Objective function: minimizeA A A

X Y S S S1 2 3

1 2 37 2

Page 32: Wykład 2: Upraszczanie, optymalizacja i implikacja

32

Przykład z brakującą częścią IIPrzykład z brakującą częścią II

minimize subject toA A A

Y S S A A

S S A A

X S A

1 2 3

1 3 2 3

2 3 1 2

3 2

3 05 05 05 05

2

3

. . . .

Problem after minimization of objective function

Removing the artificial variables, the original problem

Y S S

S S

X S

3 0 5 0 5

2

3

1 3

2 3

3

. .

Page 33: Wykład 2: Upraszczanie, optymalizacja i implikacja

33

Implikacja i równoważnośćImplikacja i równoważność

Innymi ważnymi operacjami na więzach są: implikacja: sprawdź czy C1 implikuje C2

impl(C1, C2) odpowiada true, false lub unknown równoważność: sprawdź czy C1 i C2 są

równoważne equiv(C1, C2) odpowiada true, false lub

unknown

Page 34: Wykład 2: Upraszczanie, optymalizacja i implikacja

34

Implikacja. PrzykładImplikacja. Przykład

Czy dla więzu CH, stan B musi być osiągnięty po stanie C?

CH T TB C

Odpowiedź jest aIe, jeżeli dołożymy wymaganie, by dom zbudować w 15 dni, to

CH T T TE B C 15

B u d owan ie d om u

D oors2 d ays

E tap B

sc ian y wewn ê trzn e4 d n i

kom in3 d n i

E tap D

E tap E

kafe lk i3 d n i

d ach2 d n i

okn a3 d ays

E tap C

sc ian y zewen etrzn e3 d n i

E tap A

F u n d am en ty7 d n i

E tap S

Page 35: Wykład 2: Upraszczanie, optymalizacja i implikacja

35

Implikacja i równoważnośćImplikacja i równoważność

Można użyc impl by zdefiniować equiv i vice versa

Możemy skorzystać z solwera dla prostych testów z impl

e.g.

impl C C equiv C C C( , ) ( , )1 2 1 1 2

equiv C C impl C C impl C C( , ) ( , ) ( , )1 2 1 2 2 1

impl C C solv C C( , ) ( )1 2 1 2

impl CH T T solv CH T TB C B C( , ) ( )

Page 36: Wykład 2: Upraszczanie, optymalizacja i implikacja

36

Simplification, Optimization Simplification, Optimization and Implication Summaryand Implication Summary

Equivalent constraints can be written in many forms, hence we desire simplification

Particularly if we are only interested in the interaction of some of the variables

Many problems desire a optimal solution, there are algms (simplex) to find them

We may also be interested in asking questions involving implication