Wykład 2: Upraszczanie, optymalizacja i implikacja
description
Transcript of Wykład 2: Upraszczanie, optymalizacja i implikacja
1
Wykład 2: Upraszczanie, Wykład 2: Upraszczanie, optymalizacja i implikacjaoptymalizacja i implikacja
2
Upraszczanie, optymalizacja i Upraszczanie, optymalizacja i implikacjaimplikacja
Upraszczanie więzów Projekcja Upraszczacze więzowe Optymalizacja Implikacja i równoważność
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ść
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
( , ) ( , )
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
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
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
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
{ }
{ }
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
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
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
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
( ) { } ( )
{ ( ), } { ( )} { ( ), }
{ ( ), } { ( )} { ( ), }
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.
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
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 ( )
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
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
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.
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
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
21
Algorytm SimplexAlgorytm Simplex
Najpowszechniej używany algorytm optymalizacyjny
Optymalizuje funkcję liniową wzgl. więzów liniowych
Związany z eliminacją Gaussa-Jordana
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
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
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
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
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
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
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
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
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.
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
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
. .
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
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
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( , ) ( )
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