142
Pytanie 1 (WI) Omówić hierarchię języków Chomsky'ego. Przedstawić pojęcie automatu (maszyny stanowej) i wyjaśnić związek automatów z językami. Gramatyka formalna opisująca język: G = < T, N, S, P> T - skończony niepusty zbiór - alfabet symboli terminalnych N - skończony niepusty zbiór - alfabet symboli pomocniczych T and N = NULL S - sym. początkowy P - skonczony zbiór produkcji G = < {a}, {S}, S, S -> aS, S -> a > (gr. regularna) L(G) = a* Automat Rabina-Scotta: A = <S, X, M, s0, F> S - zb. stanów {s0,s1,..} X - alfabet wejściowy F - zb. stanów terminalnych M*: S x X -> 2^S (określa przejścia np. M(s0, a) = { s0, s1} ) Słowo "x" jest akceptowalne, jeśli [ M*(s0,x) and F != NULL ] Dla każdego aut. skończonego A istnieje deterministyczny automat A' taki, że L(A) = L(A'). Noam Chomsky zaproponował następującą hierarchię gramatyk formalnych, które generują języki formalne: Ty p Języki Gramatyka Automat Produkcje gramatyki 0 rekursywnie przeliczaln e bez ograniczeń Maszyna Turinga (nieskończona taśma) bez ograniczeń 1 kontekstowe (większość jęz. Programowan kontekstowa ograniczona maszyna Turinga (liczba komórek z taśmy jest funkcją alpha A beta alpha Y beta (po lewej mamy ciąg nie dłuższy niż po prawej)

Pytanie 2 (PTCY) - Serwer studenckihome.elka.pw.edu.pl/~mmajchro/Pytania-ISID.doc · Web viewOdpowiedzi zostały zaczerpnięte z jego książki – „Podstawy projektowania układów

Embed Size (px)

Citation preview

Page 1: Pytanie 2 (PTCY) - Serwer studenckihome.elka.pw.edu.pl/~mmajchro/Pytania-ISID.doc · Web viewOdpowiedzi zostały zaczerpnięte z jego książki – „Podstawy projektowania układów

Pytanie 1 (WI)

Omówić hierarchię języków Chomsky'ego. Przedstawić pojęcie automatu (maszyny stanowej) i wyjaśnić związek automatów z językami.

Gramatyka formalna opisująca język:G = < T, N, S, P>

T - skończony niepusty zbiór - alfabet symboli terminalnychN - skończony niepusty zbiór - alfabet symboli pomocniczychT and N = NULLS - sym. początkowyP - skonczony zbiór produkcji

G = < {a}, {S}, S, S -> aS, S -> a > (gr. regularna)L(G) = a*

Automat Rabina-Scotta:A = <S, X, M, s0, F>

S - zb. stanów {s0,s1,..}X - alfabet wejściowy F - zb. stanów terminalnychM*: S x X -> 2^S (określa przejścia np. M(s0, a) = { s0, s1} )

Słowo "x" jest akceptowalne, jeśli [ M*(s0,x) and F != NULL ]

Dla każdego aut. skończonego A istnieje deterministyczny automat A' taki, że L(A) = L(A').Noam Chomsky zaproponował następującą hierarchię gramatyk formalnych, które generują języki formalne:

Typ Języki Gramatyka Automat Produkcje gramatyki0 rekursywnie

przeliczalnebez ograniczeń Maszyna Turinga

(nieskończona taśma)bez ograniczeń

1 kontekstowe (większość jęz. Programowania)

kontekstowa ograniczona maszyna Turinga (liczba komórek z taśmy jest funkcją liniową długości łańcucha wejściowego)

alpha A beta alpha Y beta(po lewej mamy ciąg nie dłuższy niż po prawej)

2 bezkontekstowe bezkontekstowa skończony, niedeterminis-tyczny automat ze stosem

A Y(po lewej mamy pojedyncze nieterminale, a po prawej dowolny ciąg)

3 liniowe regularna deterministyczny automat skończony

A aA aB(po lewej mamy pojedyncze nieterminale a po prawej słowa zawierające co najwyżej jeden nieterminal na początku lub na końcu)

Page 2: Pytanie 2 (PTCY) - Serwer studenckihome.elka.pw.edu.pl/~mmajchro/Pytania-ISID.doc · Web viewOdpowiedzi zostały zaczerpnięte z jego książki – „Podstawy projektowania układów

alpha, beta – ciągi znaków terminalnych bądź nieterminalnychA – pojedynczy znak nieterminalnyB – ciąg znaków nieterminalnychY – niepusty ciąg znaków termialnych bądź nieterminalnycha – znak terminalny

Gramatyki regularne mogą być opisywane za pomocą wyrażeń regularnych.

Związek automatów z językami generowanymi przez gramatyki jest bezpośredni:L(A) – język akceptowalny przez automat A; zbiór wszystkich słów akceptowalnych przez automat A

Page 3: Pytanie 2 (PTCY) - Serwer studenckihome.elka.pw.edu.pl/~mmajchro/Pytania-ISID.doc · Web viewOdpowiedzi zostały zaczerpnięte z jego książki – „Podstawy projektowania układów

Pytanie 2 (PTCY)

Scharakteryzować układy kombinacyjne, synchroniczne i asynchroniczne. Jak opisywane jest stan tych układów i przy jakich założeniach są projektowane?

Układy cyfrowe można podzielić na kombinacyjne i sekwencyjne. Układy sekwencyjne dzielą się z kolei na układy synchroniczne i asynchroniczne.

Przy jakich założeniach są projektowane? Krótka charakterystyka: Układy kombinacyjne – stan wyjść jest w każdej chwili określony przez stan wejść.

Stosowane tam, gdzie automaty stanowe nie są potrzebne, w najprostszych urządzeniach bezstanowych.

Układy sekwencyjne – stan wyjść jest w każdej chwili określany przez stan wejść oraz od stanu wejść w chwilach poprzednich (automaty stanowe). Obecny stan automatu jest pamiętany przez przerzutniki (pamięci 1-o bitowe). Liczba przerzutników musi być wystarczająca do reprezentacji wszystkich możliwych stanów.

o Synchroniczne – zmiana stanu automatu następuje tylko w chwilach określonych przez zewnętrzny zegar. Stosowane najczęściej w technice komputerowej, gdzie sygnały wejściowe zmieniają się najczęściej w takt impulsów synchronizujących.

o Asynchroniczne – zmiana stanu automatu następuje w chwili zmiany sygnałów wejściowych. Stosowane głównie w urządzeniach automatyki, gdzie zwykle sygnały wejściowe pojawiają się w chwilach przypadkowych.

Istnieją dwa typy układów sekwencyjnych (automatów stanowych), zarówno synchronicznych jak i asynchronicznych:

Automaty Moore’a – stan wyjściowy zależy jedynie od stanu automatu Automaty Mealy’ego – stan wyjściowy zależy od stanu automatu oraz stanu sygnałów

wejściowych

Opis układów kombinacyjnych:Układy kombinacyjne realizują pewną funkcję Boolowską (złożenie operacji sumy, iloczynu i negacji logicznej). Stosowane są 4 sposoby opisu tych funkcji:

1. Tablica prawdy – przedstawia stan wyjściowy układu dla wszystkich możliwych kombinacji sygnałów wejściowych

x1 x2 y1 y20 0 1 10 1 1 01 0 0 11 1 0 0

2. Algebraiczny zapis funkcji a. Postać sumacyjna – suma iloczynów sygnałów wejściowych, zanegowanych

lub nie, dla których wartość wyjściowa = 1.;

Page 4: Pytanie 2 (PTCY) - Serwer studenckihome.elka.pw.edu.pl/~mmajchro/Pytania-ISID.doc · Web viewOdpowiedzi zostały zaczerpnięte z jego książki – „Podstawy projektowania układów

b. Postać iloczynowa – iloczyn sum sygnałów wejściowych, zanegowanych lub nie, dla których wartość wyjściowa = 0.

;

3. Dziesiętny zapis funkcji – odpowiednim kombinacjom zmiennych wejściowych przyporządkowuje się liczby dziesiętne. Wyznacza się liczby, dla których wartość wyjściowa przyjmuje 0 lub 1.

; ; ; ;

4. mapa Karnaugha – zapis graficzny przedstawiający wartości funkcji dla poszczególnych kombinacji zmiennych w polach prostokąta

y1 = y2 =

Opis układów sekwencyjnych:1. Tablica przejść i wyjść – tablica przejść w pełni opisuje wszystkie możliwe przejścia

od stanu do stanu. Tablica wyjść opisuje wartości wyjściowe automatu w zależności od aktualnego stanu (automat Moore’a) bądź w zależności od aktualnego stanu i aktualnych wartości wyjściowych (automat Mealy’ego).

Przykładowa tablica przejść automatu dwustanowego (Moore’a lub Mealy’ego):

Przykładowe tablice wyjść ww. automatu (Moore’a po lewej, Mealy’ego po prawej):

2. Graf automatu – graf składający się z węzłów (stanów) i strzałek (przejść między stanami)

3. Opis czasowy – graficzne przedstawienie zmian stanów automatu oraz sygnałów wejściowych i wyjściowych funkcji czasu. Stosowany tylko w automatach asynchronicznych, służy do wyznaczenia wszystkich możliwych stanów automatu oraz tablicy przejść i wyjść.

x2x1 0 1

0 1 11 0 0

x2x1 0 1

0 1 01 1 0

x1x2 00 01 10 11ss1 s1 s2 s1 s2s2 s2 s1 s2 s1

x1x2 00 01 10 11ss1 0 1 0 1s2 0 1 1 1

s ys1 0s2 1

Page 5: Pytanie 2 (PTCY) - Serwer studenckihome.elka.pw.edu.pl/~mmajchro/Pytania-ISID.doc · Web viewOdpowiedzi zostały zaczerpnięte z jego książki – „Podstawy projektowania układów

Pytanie 3 (PTCY)

Sposoby projektowania systemów cyfrowych z bloków funkcjonalnych. Układ operacyjny, układ sterujący, systemy współbieżne.

Uwaga: Systemy współbieżne nie były omawiane u Skorupskiego. Może u Zielińskiego? Terminologia stosowana w pytaniu wskazuje na wykłady Zielińskiego. Odpowiedzi zostały zaczerpnięte z jego książki – „Podstawy projektowania układów cyfrowych”.

Blok funkcjonalny – niewielkie wyodrębnione moduły kombinacyjne bądź sekwencyjne zdolne do transformacji bądź zapamiętania kilkubitowych danych. Funkcje wykonywane przez blok mogą być wielorakie – wtedy sygnały sterujące determinują rodzaj wykonywanej operacji.

Typowe bloki funkcjonalne: Multiplekser – układ realizujący funkcję wybierania. Posiada wejścia informacyjne i

wejścia sterujące. Podając odpowiednie słowo na wejście sterujące wybiera się sygnał z jednego z wejść informacyjnych, którego wartość zostanie podana na wyjście układu.

Demultiplekser – to samo na odwrót. Słowo podane na wejście strujące determinuje, na które z wielu wyjść trafi sygnał z pojedynczego wejścia. Na pozostałych wyjściach podawane jest 0.

Koder – układ realizujący pewną transformację słowa wejściowego w słowo wyjściowe, złożone z mniejszej liczby bitów. Przykład: kod NKB kod „1 z N”.

Dekoder – jw. na odwrót – słowo wyjściowe jest dłuższe niż wejściowe Sumator – dodaje arytmetycznie dwie liczby dwójkowe Komparator – porównuje dwie liczby dwójkowe. 3 wyjścia (a>b, a=b, a<b). ALU – jednostka arytmetyczno-logiczna. Służy do przeprowadzania różnorodnych

mikrooperacji. Typ przeprowadzanej operacji zależy od sygnałów sterujących. Rejestr – służy do przechowywania danych. Licznik – umożliwia dodanie lub odjęcie jedności od przechowywanej przez siebie

wartości (oraz oczywiście jej ładowanie i resetowanie).

Poprzez odpowiednie połączenie wybranych bloków funkcjonalnych możliwe jest skonstruowanie złożonych systemów cyfrowych. Kolejne fazy projektowania systemów cyfrowych:

1. Rozgraniczenie systemu od jego otoczenia (definicja sygnałów wejściowych otrzymywanych przez system z otoczenia oraz sygnałów wyjściowych zwracanych przez system).

2. Określenie wewnętrznej struktury systemu, w zależności realizowanych przez niego operacji. W tym celu ustala się algorytm działania systemu, czyli formalnie opisuje się jego sposób funkcjonowania. Do tego celu stosuje się najczęściej sieci działań, które ustalają jakie operacje i jakiej kolejności będą wykonywane.

3. Określenie na podstawie algorytmu, jakie bloki funkcjonalne będą stosowane oraz jak będą przypływały dane między nimi, a więc jakie połączenia wewnętrzne między nimi powinny zostać zapewnione. Podział funkcjonalności systemu na układ operacyjny i sterujący. Zaprojektowanie obydwu.

Page 6: Pytanie 2 (PTCY) - Serwer studenckihome.elka.pw.edu.pl/~mmajchro/Pytania-ISID.doc · Web viewOdpowiedzi zostały zaczerpnięte z jego książki – „Podstawy projektowania układów

Sieć działań – służy do formalnego zapisu algorytmu. Składa się z 2 typów klatek działań – operacyjnych i warunkowych. Ta pierwsza służy do określenia czynności, którą system ma zrealizować, zaś druga do sprawdzenia prawdziwości pewnego warunku. Klatki działań połączone są strzałkami, definiującymi przepływ sterowania w algorytmie.

Układ operacyjny – część systemu odpowiedzialna za przetworzenie danych wejściowych w dane wyjściowe. Składa się z bloków funkcjonalnych niezbędnych do realizacji algorytmu działania systemu. Posiada wejścia (dzięki którym może być wprowadzany w odpowiedni tryb pracy) oraz wyjścia (dzięki którym informuje układ sterujący o swoim stanie) sterujące. Projektowanie jest trywialne – wiadomo, co ma układ robić, więc wystarczy odpowiednio połączyć wybrane bloki funkcjonalne.

Układ sterujący – część systemu odpowiedzialna za odpowiednie sterowanie pracą układu operacyjnego oraz za synchronizację systemu z jego otoczeniem. Układy sterujące mogą być realizowane jako:

1. Automat sterujący Moore’a. Projektowanie autmatu:a. Przekształcanie sieci działań w graf automatu:

i. Umieść po jednym węźle grafu (stanie) przed każdą klatką operacyjną.ii. Jeżeli w sieci działań istnieje pętla nie zawierająca węzłów, to

wprowadź dodatkowy węzeł przed klatkę warunkową znajdującą się wewnątrz pętli.

b. Przeprowadź minimalizację (w sensie liczby stanów i użytych elementów logicznych) powstałego automatu.

2. Automat sterujący Mealy’ego. Projektowanie automatu:a. Przekształcanie sieci działań w graf automatu:

i. Umieść po jednym węźle grafu (stanie) przed każdą klatką warunkową.ii. Jeżeli w sieci działań istnieją dwie klatki operacyjne nie rozdzielone

węzłem, to wprowadź dodatkowy węzeł pomiędzy te klatki.b. Przeprowadź minimalizację (w sensie liczby stanów i użytych elementów

logicznych) powstałego automatu.3. Rozdzielacz sterujący1 Moore’a. Projektowanie rozdzielacza:

a. Przekształcanie sieci działań w graf automatu Moore’a (jak w 1.a)b. Przyporządkowanie elementom grafu elementów rozdzielacza

1 Rozdzielacz sterujący – rejestr przesuwny, posiadający tyle bitów, ile stanów przyjmuje automat sterujący. Każdy stan reprezentowany jest pojedynczym elementem kodu „1 z n” – 1 na bicie określającym obecny stan, na reszcie bitów 0. Zmiana stanu polega na przemieszczeniu jedynki z jednego przerzutnika do innego. Zaletą rozdzielacza sterującego jest fakt, iż jego struktura bezpośrednio odzwierciedla strukturę działań w sieci – jest o wiele prostszy w projektowaniu i debugowaniu od minimalnych automatów Moore’a i Mely’ego. Wada – duża liczba wymaganych przerzutników.

Page 7: Pytanie 2 (PTCY) - Serwer studenckihome.elka.pw.edu.pl/~mmajchro/Pytania-ISID.doc · Web viewOdpowiedzi zostały zaczerpnięte z jego książki – „Podstawy projektowania układów

i. Węzeł (stan) przerzutnikii. Klatka operacyjna wyprowadzenie sygnału wyjściowego z układu

sterującego do układu operacyjnegoiii. Klatka warunkowa układ decyzyjny

4. Rozdzielacz sterujący Mealy’ego. Projektowanie rozdzielacza:a. Przekształcanie sieci działań w graf automatu Mealy’ego (jak w 2.a)b. Przyporządkowanie elementom grafu elementów rozdzielacza (jak w 3.b)

5. Mikroprogramowalny układ2 sterujący Moore’a6. Mikroprogramowalny układ sterujący Mealy’ego

System współbieżny – klasa automatów, które realizują swoje zadania równolegle. Do ich projektowania wykorzystuje się sieci Petriego.

Sieć Petriego – graf dwudzielny ze skierowanymi łukami. Formalnie sieć Petriego stanowi czwórkę uporządkowaną B = (P, T, I, O), w której:

P – zbiór miejsc (węzły pierwszego typu) T – zbiór tranzycji (węzły drugiego typu) I – funkcja określająca liczbę łuków łączących każde miejsce z każdą tranzycją O – funkcja określająca liczbę łuków łączących każdą tranzycję z każdym miejscem

Miejsca reprezentowane są okręgami, a tranzycje odcinkami bądź prostokątami. Łuki skierowane przedstawione są jako strzałki. Aspekt dynamiczny do sieci Petriego wprowadza ich znakowanie. Kropka wewnątrz okręgu oznacza, że jeden element wykonawczy właśnie realizuje czynność zdefiniowaną przez miejsce, „w którym się znajduje”.

Przykład 1:

Przykład 2:

2 Układ mikroprogramowalny – układ o niezmiennej architekturze zdolny do realizacji wielu różnych algorytmów. Sieć działań została przeniesiona na program zawarty w pamięci tego układu.

Page 8: Pytanie 2 (PTCY) - Serwer studenckihome.elka.pw.edu.pl/~mmajchro/Pytania-ISID.doc · Web viewOdpowiedzi zostały zaczerpnięte z jego książki – „Podstawy projektowania układów

Zaprojektowanie układu sterującego systemem współbieżnym polega na:1. Wyznaczeniu sieci Petriego realizującej wyznaczone zadanie2. Wyznaczeniu zredukowanej sieci Petriego – zastąpienie pojedynczymi miejscami

nierozgałęzionych sekwencji miejsc i tranzycji. Sekwencja taka musi się zaczynać i kończyć miejscem

3. Wyznaczeniu zbioru znakowań osiągalnych w uproszczonej sieci. Poniższy rysunek przedstawia zbioru znakowań osiągalnych dla nieuproszczonej sieci, w celach poglądowych:

4. Wyznaczeniu grafu osiągalności:

5. Wyznaczenie grafu stanów automatu sterującego – ten sam graf co powyżej, tylko że zamiast jest .

6. Dalej już po staremu – realizacja automatu

Page 9: Pytanie 2 (PTCY) - Serwer studenckihome.elka.pw.edu.pl/~mmajchro/Pytania-ISID.doc · Web viewOdpowiedzi zostały zaczerpnięte z jego książki – „Podstawy projektowania układów

Pytanie 4 (SOI)

Procesy i wątki w systemie operacyjnym. Omówić budowę, szybkość działania o zakres zastosowania. Przedstawić problemy i możliwości komunikacji i synchronizacji.

Procesem nazywamy wykonujący się program wraz z jego środowiskiem obliczeniowym. Proces stanowi podstawowy obiekt dynamiczny w systemie operacyjnym. Wymagania odnośnie systemu operacyjnego odnośnie zarządzania procesami: umożliwienie przeplatania się wykonywania procesów, akceptowalnie krótki czas odpowiedzi systemu, zarządzanie przydziałem zasobów poszczególnym procesom, udostępnianie mechanizmów do komunikacji międzyprocesowej, udostępnianie mechanizmów do tworzenia procesów.

Wątki w odróżnieniu od procesów nie są niezależne (wykonują się w ramach jednego procesu), dzielą tą samą pamięć oraz inne zasoby bezpośrednio. Przełączanie kontekstu pomiędzy wątkami jest szybsze.

Wątki nie posiadają własnych zasobów poza stosem oraz kopią rejestrów procesora (włączając licznik rozkazów, program counter, PC). Procesy posiadają zasoby, takie jak przydzielona pamięć, zmienne środowiskowe, otwarte pliki, itp.

Wątki mogą komunikować się przez: zmienne globalne, z wykorzystaniem mechanizmów komunikacji i synchronizacji– np. semafory, mutex-y,

bariery itp.

Procesy mogą komunikować się z wykorzystaniem pamięci dzielonej, mechanizmów sieciowych (np. spotkania), przestrzeni dyskowej.

Standard POSIX (ang. Portable Operating System Interface). P1003.1b (poprzednio POSIX.4) Rozszerzenia dotyczące systemów czasu rzeczywistego: semafory (binarne), proces blokowania pamięci, pliki mapowane w pamięci i współdzielona pamięć, kolejkowanie priorytetowe, sygnały w czasie rzeczywistym, liczniki czasu (timers), komunikacja międzyprocesowa synchroniczne operacje wejścia/wyjścia (I/O), asynchroniczne operacje wejścia/wyjścia (I/O).

Page 10: Pytanie 2 (PTCY) - Serwer studenckihome.elka.pw.edu.pl/~mmajchro/Pytania-ISID.doc · Web viewOdpowiedzi zostały zaczerpnięte z jego książki – „Podstawy projektowania układów

Pytanie 5 (SOI)

Scharakteryzować problemy i mechanizmy zarządzania pamięcią. Porównać cechy i przeznaczenie mechanizmów stronicowania i segmentacji.

Fragmentacja:fragmentacja wewnętrzna – efekt uboczny statycznego przydziału pamięci; część przydzielonego obszaru pamięci wykraczająca poza potrzeby obsługiwanego procesu, która mogłaby zostać wykorzystana przez inny potrzebujący pamięci proces, pozostaje zablokowana i niewykorzystana do czasu zwolnienia całej strefy.fragmentacja zewnętrzna – efekt uboczny dynamicznego przydziału pamięci; po przyznaniu pewnej liczby stref pamięci pojawiają się szczeliny między zajętymi obszarami; szczeliny te mogą okazać się nazbyt małe, aby mogły być wykorzystane przez jakiekolwiek inne procesy.

Efektom fragmentacji można przeciwdziałać poprzez: zwalnianie i scalanie, zagęszczanie i relokacje, mechanizm stronicowania.

Algorytmy alokacji:Zadaniem algorytmu alokacji jest wybranie wolnego bloku w celu przydzielenia procesowi pamięci. Wybrane algorytmy alokacji: algorytm pierwszej zgodności (ang. First Fit), wybór pierwszego pasującego ze

zbioru/listy, algorytm najlepszej zgodno±ci (ang. Best Fit), wybór najmniejszego wystarczającego

bloku ze zbioru/listy, algorytm najgorszej zgodności (ang. Worst Fit), wybór największego ze zbioru/ listy, algorytm bliźniaków (ang. Buddies), podział pamięci (o długości 2k) na dwa równe

bliźniacze bloki; połowienie jednego aż do uzyskania bloku o minimalnej długości spełniającego zapotrzebowanie.

Zarządzanie w kontekście wieloprogramowania:Dwa zasadnicze aspekty: obsługa relokacji,

o nie ma pewności gdzie dokładnie program zostanie załadowany do pamięci,o wykorzystanie rejestrów bazowych i rejestrów ograniczających.

wzajemna ochrona pamięci.

Funkcje systemu operacyjnego w kontekście zarządzania pamięcią: zagospodarowanie przestrzeni adresowej poprzez wykorzystanie mechanizmów translacji

adresów, ochrona zawartości pamięci, organizacja dostępu do obszarów dzielonych, efektywna organizacja pamięci operacyjnej.Wielkość pamięci operacyjnej przeznaczonej na kod systemu operacyjnego jest zazwyczaj stała, natomiast bardziej złożony jest przydział pamięci procesom użytkowym.

Page 11: Pytanie 2 (PTCY) - Serwer studenckihome.elka.pw.edu.pl/~mmajchro/Pytania-ISID.doc · Web viewOdpowiedzi zostały zaczerpnięte z jego książki – „Podstawy projektowania układów

Pamięć wirtualna – system pamięci złożony z co najmniej dwóch rodzajów pamięci: małej i szybkiej (np. pamięci operacyjnej) oraz dużej, lecz wolnej (np. pami¶ci pomocniczej), a także z dodatkowego sprzętu i oprogramowania umożliwiającego automatyczne przenoszenie fragmentów pamięci z jednego rodzaju pamięci do drugiego.Pamięć wirtualna ma być prawie tak szybka jak szybsza z pamięci i prawie tak duża jak większa z pamięci.Metody realizacji pamięci wirtualnej: stronicowanie, segmentacja, stronicowanie z segmentacją.

Stronicowanie a segmentacja: celem segmentacji logiczny podział pamięci operacyjnej, celem stronicowania fizyczny

podział pamięci, stronicowanie mechanizmem niskiego poziomu, niewidocznym dla programisty;

segmentacja mechanizmem wyższego poziomu, widocznym dla programisty, rozmiar strony stały, ustalona, wynikający z architektury, rozmiar segmentu dowolny

określany przez programistę, zarówno w przypadku zastosowania stronicowania jak i segmentacji całkowita przestrzeń

adresowa może być większa od dostępnej pamięci fizycznej, segmentacja umożliwia lepszą ochronę poszczególnych elementów procesu poprzez

możliwość rozróżniania segmentów logicznie grupujących elementy procesów, segmentacja umożliwia łatwiejsze zarządzanie elementami procesu o zmiennym

rozmiarze (np. stos, sterta), segmentacja udostępnia współdzielenie procedur między procesami (np. segmenty

dzielone, a przez to biblioteki dzielone), główny cel wprowadzenia stronicowania: uzyskanie większej pamięci adresowej bez

konieczności zakupu dodatkowej pamięci fizycznej, główny cel wprowadzenia segmentacji: umożliwienie rozdzielenia programów i danych

na logicznie niezależne przestrzenie adresowe z ułatwieniem współdzielenia wybranych obszarów i lepszej ochron,

segmentacja - może zachodzić fragmentacja zewnętrzna, stronicowanie - może zachodzić fragmentacja wewnętrzna.

Page 12: Pytanie 2 (PTCY) - Serwer studenckihome.elka.pw.edu.pl/~mmajchro/Pytania-ISID.doc · Web viewOdpowiedzi zostały zaczerpnięte z jego książki – „Podstawy projektowania układów

Pytanie 6 (BD2)

Zdefiniować postacie normalne relacji w relacyjnej bazie danych. Która postać normalna jest zwykle wymagana i dlaczego?

Podejrzewam, że znajomość 1PN, 2PN, 3PN i PNBC załatwia sprawę. Pozostałe PN są przywalone i na 99.9999% wystarczy tylko wiedzieć, że istnieją

Pierwsza postać normalna (lPN):Pierwsza postać normalna (1PN) oznacza, że tabela nie zawiera powtarzających się grup informacji. To znaczy, że każda kolumna jest wartością skalarną (atomową), a nie macierzą lub listą czy też czymkolwiek, co posiada własną strukturę. W przypadku języka SQL, nie jest możliwe, aby tabela nie odpowiadała pierwszej postaci normalnej, chyba że producent oprogramowania dodał do języka macierze lub inne rozszerzenia.

Wszystkie wartości atrybutów są elementarne, tzn. są to pojedyncze wartości określonego typu, a nie zbiory wartości.

Druga postać normalna (2PN):Tabela odpowiada drugiej postaci normalnej (2PN), jeśli nie posiada żadnych zależności kluczy częściowych. To znaczy, jeśli X i Y są kolumnami, a X jest kluczem, wtedy dla dowolnego Z, będącego kolumną należącą do X, nie występuje sytuacja, w której ZY. Każdy atrybut zależy od całego klucza w swej tabeli (a nie od jego części). Inaczej mówiąc, tabela jest lPN oraz posiada klucz określający wszystkie niekluczowe atrybuty w tej tabeli.

Wszystkie atrybuty niekluczowe (nie należące do klucza właściwego) są funkcjonalnie zależne od całego klucza właściwego.

Trzecia postać normalna (3PN):Tabela jest w 3PN, jeżeli jest w 2PN oraz żaden niekluczowy atrybut nie jest tranzytywnie zależny od żadnego klucza (głównego bądź nie) tabeli.

DEF Tranzytywna zależność:Atrybut A jest tranzytywnie zależny od klucza K, jeśli istnieje zbiór atrybutów X nie będący kluczem taki, że AX oraz XA. Przykładowo, załóżmy, że istnieje tabela z kolumnami (A, B, C) oraz (AB) i (BC), zatem wiemy, że (AC).

Niemniej jednak wciąż mogą istnieć zależności od wartości niekluczowych. Przykładowo tabela ma kolumny K, A, B, C. K jest kluczem. Zachodzą własności KA, KB, KC. Może się zdarzyć, że BCA.

Każdy atrybut niekluczowy jest bezpośrednio zależny od całego klucza właściwego.

Postać normalna Boyce’a-Codda (PNBC):Tabela odpowiada PNBC, jeśli dla wszystkich XY, X jest kluczem kropka. Każdy atrybut tabeli zależy od całego klucza i od niczego więcej (zatem jest w 3PN).

Każda nietrywialna zależność funkcjonalna jest zależnością od klucza (niekoniecznie właściwego).

Page 13: Pytanie 2 (PTCY) - Serwer studenckihome.elka.pw.edu.pl/~mmajchro/Pytania-ISID.doc · Web viewOdpowiedzi zostały zaczerpnięte z jego książki – „Podstawy projektowania układów

Czwarta postać normalna (4PN):Czwarta postać normalna usuwa zależności wielowartościowe. Załóżmy, że istnieje tabela (WYDZIAŁ, PROJEKT, PRACOWNIK), gdzie WYDZIAŁPROJEKT i WYDZIAŁPRACOWNIK. Innymi słowy wydział pracuje nad pewnymi projektami oraz wydział zatrudnia pewnych pracowników. WYDZIAŁ jest jedynym kluczem, więc tabela jest w PNBC. Jeśli chcemy dodać pracownika do wydziału, musimy utworzyć co najmniej jeden nowy wiersz (i od razu trzeba mu przydzielić projekt). Podobnie, chcąc usunąć pracownika albo projekt z wiersza, możemy spowodować zniszczenie informacji. Aktualizacja nazwy pracownika lub projektu wymaga wprowadzenia zmian w wielu wierszach. Rozwiązaniem jest podzielenie tej tabeli na dwie inne, z których jedna będzie zawierać (WYDZIAŁ, PROJEKT), a druga (WYDZIAŁ, PRACOWNIK). Definicja 4PN mówi, że w tabeli nie występuje więcej niż jedna zależność wielowartościowa. Jeżeli tabela odpowiada 4PN, to również odpowiada PNBC.

Każda nietrywialna wielowartościowa zależność funkcjonalna jest zależnością od klucza (niekoniecznie właściwego).

Piąta postać normalna (5PN):Podstawą piątej postaci normalnej (5PN), zwanej także postacią normalną złączenie-rzut (PNZR) albo postacią normalną rzut-złączenie, jest koncepcja złączenia bezstratnego lub brak anomalii złączenie-rzut. Taki problem występuje w przypadku zależności n-wartościowej, gdzie n > 2. Szybki sposób sprawdzenia zgodności z 5PN polega na sprawdzeniu, czy tabela odpowiada 3PN oraz czy wszystkie klucze kandydujące (kluczem kandydującym jest unikalny zbiór kolumn identyfikujący każdy wiersz tabeli; nie można usunąć kolumny z klucza kandydującego bez naruszenia jego unikalności) są pojedynczymi kolumnami. Po ludzku można by to ująć, że tabela, która jest w 4PN jest w także w 5PN, jeżeli nie istnieje rozkład odwracalny na zbiór mniejszych tabel.

Generalnie najczęściej schematy relacyjne są projektowane w 3PN, trochę rzadziej w PNBC. Bywa również, że używane są 2PN a nawet 1PN – ze względów wydajnościowych. Dzieje się tak dlatego, że w pełni znormalizowana baza danych wymaga sporej liczby zleceń JOIN dla skonstruowania wspólnej perspektywy (VIEW) danych składowych. JOIN jest bardzo kosztownym zleceniem w sensie czasu i zasobów komputera, zatem wstępne "przekonstruowanie" zlecenia JOIN w tabelę zdenormalizowaną może zapewnić całkiem spore oszczędności. 4PN i 5PN są bardzo rzadko wykorzystywane, ponieważ są mało wydajne oraz dlatego, że są trudne to stworzenia (nie istnieje systematyczny sposób znajdowania tych postaci; ten problem jest znany jako problem NP-zupełny).

Page 14: Pytanie 2 (PTCY) - Serwer studenckihome.elka.pw.edu.pl/~mmajchro/Pytania-ISID.doc · Web viewOdpowiedzi zostały zaczerpnięte z jego książki – „Podstawy projektowania układów

Pytanie 7 (BD2)

Zdefiniować pojęcie transakcji i wyjaśnić znaczenie cech ACID. Scharakteryzować systemy OLTP.

Transakcja – Niepodzielna operacja wykonywana przez serwer na zamówienie klienta. Kwestie techniczne synchronizacji, takie jak, takie jak zarządzanie sekcją krytyczną (fragment kodu, który powinien być wykonany z zachowaniem niepodzielności, tj. jednoetapowo, bez przerwań), zapobieganie blokadom i rekonstrukcje po awarii są ukryte przed klientem.

ACID (Atomicity, Consistency, Isolation, Durability) – Są to 4 wymagania stawiane procesowi przetwarzania transakcyjnego w środowiskach rozproszonych:

Niepodzielność (atomicity) – określa pojedyncze zadanie jednostkowe. Gdy transakcja jest rozproszona, wszystkie podtransakcje, wpływające na dane w różnych miejscach muszą być zrealizowane wspólnie - tak jakby stanowiły pojedynczą transakcję. Transakcja musi być zrealizowana w pełni lub wycofana, jeśli zaistnieją ku temu powody.

Spójność (consistency) – wymaganie to zapewnia skoordynowane przejście bazy danych z jednego stanu do drugiego. Monitor transakcji musi zweryfikować spójność wszystkich zmienianych danych.

Wyłączność (isolation) – proces realizacji transakcji musi przebiegać w izolacji od wszelkich innych transakcji.

Trwałość (durability) – wymaganie to dotyczy zakończenia transakcji. Jeśli poprawność wykonania transakcji została stwierdzona we wszystkich systemach (których dotyczyła), uznawana jest ona za ważną i nie może już być wycofana.

System OLTP (online transaction processing) – pracuje w czasie rzeczywistym, zbierając i przetwarzając dane związane z transakcjami oraz dokonując zmian we wspólnych bazach danych oraz w innych plikach. Podczas przetwarzania transakcyjnego w czasie rzeczywistym transakcje wykonywane są natychmiastowo, w przeciwieństwie do przetwarzania wsadowego, podczas którego partia transakcji jest przechowywana przez pewien czas i wykonywana później. Rezultaty pracy systemu OLTP są natychmiast udostępniane bazie danych - przy założeniu, że transakcje zostały zrealizowane pomyślnie. Najczęściej spotykane przykłady systemów OLTP to systemy rezerwacji biletów lotniczych oraz rozliczeń bankowych.

Page 15: Pytanie 2 (PTCY) - Serwer studenckihome.elka.pw.edu.pl/~mmajchro/Pytania-ISID.doc · Web viewOdpowiedzi zostały zaczerpnięte z jego książki – „Podstawy projektowania układów

Pytanie 8 (PRI)

Scharakteryzować sposoby komunikowania się podprogramów z otoczeniem w językach programowania i wyjaśnić ich wpływ na efektywność wykonywanego kodu.

Podprogramy (funkcje, procedury) mogą komunikować się z otoczeniem za pomocą następujących mechanizmów:

1. Przez mechanizm zmiennych globalnych (zmiennych zewnętrznych). Zmienne globalne są dostępne domyślnie w obrębie pliku, w którym zostały zdefiniowane (chyba, że zostały zadeklarowane jako _extern_). Istnieje dokładnie jedna instancja każdej zmiennej globalnej, widoczna w ciele każdego podprogramu. W przypadku zastosowania zmiennych globalnych należy uwzględnić możliwość ich konkurentnej modyfikacji przez podprogramy.

2. Przez argumenty wywołania podprogramu. Parametry podprogramu mogą być przekazywane jako jego argumenty. Przy wywołaniu podprogramu tworzona jest lokalna kopia argumentów na stosie wywołań (argument jest traktowany jako zmienna automatyczna).

a. Mechanizm przekazywania "przez wartość" - każde wywołanie podprogramu posiada własną kopię argumentów tworzoną na stosie. Jej zmiany nie mają wpływu na wyjściową wartość argumentu.

b. Mechanizm przekazywania "przez wskaźnik" - argumenty wywołania w postaci wskazania. Istnieje możliwość przekazywania wskazania do argumentu (adresu argumentu z pamięci komputera). W ten sposób można zmieniać bezpośrednio wartość we wskazanym miejscu.

3. Przez wartość zwracaną przez podprogram. W większości języków programowania (wliczając asembler) istnieje możliwość zwrócenia wartości przez podprogram. Wartość zwracana może być również typem złożonym bądź wskazaniem. Wartość zwracana jest umieszczana na stosie wywołań.

Page 16: Pytanie 2 (PTCY) - Serwer studenckihome.elka.pw.edu.pl/~mmajchro/Pytania-ISID.doc · Web viewOdpowiedzi zostały zaczerpnięte z jego książki – „Podstawy projektowania układów

Pytanie 9 (PRI)

Wyjaśnić koncepcję obliczeń iteracyjnych i rekurencyjnych. Podać przykład zastosowania w programowaniu, przy definiowaniu języków programowania itd.

Programy rekurencyjne zawierają podprogramy, które odwołują się do samych siebie. Podprogram może być bezpośrednio lub pośrednio rekurencyjny. Z reguły nie należy stosować rozwiązań rekurencyjnych, jeśli jest znane oczywiste rozwiązanie iteracyjne. Rozwiązania iteracyjne są bardziej efektywne, gdyż rekurencja oznacza ponowne umieszczenie wywołania na stosie programu (istnieje możliwość przepełnienia stosu). Są jednak problemy, dla których opis rekurencyjny jest bardziej naturalny.

int silnia(int val) {int sil = 1;for (int i=2; i <= val; i++) {

sil = sil*i;}return sil;

}

int silnia_recurse(int val) {int sil = 1;if (val > 1) {

sil = val*silnia_recurse(val - 1);} return sil;

}

Rozwiązania rekurencyjne nadają się szczególnie do obsługi rekurencyjnie zdefiniowanych struktur danych jak drzewa, listy (przykład: wypisywanie listy jednokierunkowej w odwrotnej kolejności).

Page 17: Pytanie 2 (PTCY) - Serwer studenckihome.elka.pw.edu.pl/~mmajchro/Pytania-ISID.doc · Web viewOdpowiedzi zostały zaczerpnięte z jego książki – „Podstawy projektowania układów

Pytanie 10 (PROBE)

Scharakteryzować paradygmat programowania obiektowego. Wymienić i podać przykłady zastosowania najważniejszych cech języków obiektowych.

Paradygmat programowania proceduralnego:"Zadecyduj, jakie chcesz mieć procedury, stosuj najlepsze algorytmy, jakie możesz znaleźć"

Paradygmat programowania obiektowego:"Zadecyduj, jakie chcesz mieć moduły, podziel program tak, aby ukryć dane w modułach"

Programowanie obiektowe oznacza sposób rozwiązywania problemów programistycznych z wykorzystaniem obiektów, sposób interpretacji problemu jako zbioru obiektów i relacji pomiędzy nimi. W przeciwieństwie do programowania proceduralnego, w którym główny nacisk był kładziony na procedury, funkcje, dobór algorytmów przetwarzania, programowanie obiektowe przypisuje większą wagę sposobowi uporządkowania, organizacji danych. Programowanie obiektowe oznacza więc grupowanie danych oraz funkcji, które na nich operują we wspólne byty zwane obiektami. Paradygmat programowania obiektowego wprowadza zasadę ukrywania danych. Język wspiera programowanie obiektowe, jeśli jego mechanizmy umożliwiają w łatwy i prosty sposób stosowanie obiektowego stylu programowania. Podstawowe mechanizmy, które powinien wspierać język obiektowy to:

hermetyzacja (encapsulation) - oznacza połączenie danych i instrukcji programu w jednostkę programową, zwaną obiektem. Zaletą hermetyzacji jest możliwość zabezpieczenia danych przed równoczesnym dostępem ze strony różnych fragmentów kodu programowego. W tym celu wszystkie dane (pola w obiekcie) i zapisy instrukcji (metody w obiekcie) dzieli się na ogólnodostępne (interfejs obiektowy) i wewnętrzne (implementacja obiektu). Dostęp do pól i metod wewnętrznych jest możliwy tylko za pośrednictwem pól i metod ogólnodostępnych. Wybrane pola i metody można więc kryć przed obiektami zewnętrznym.

dziedziczenie (ang. inheritance) - służy w językach obiektowych do odwzorowania występujących często w naturze powiązań typu generalizacja - specjalizacja. Umożliwia programiście definiowanie potomków istniejących obiektów. Każdy potomek dziedziczy przy tym (wszystkie lub wybrane) pola i metody obiektu bazowego, lecz dodatkowo uzyskuje pewne pola i własności unikatowe, nadające mu nowy charakter. Typ takiego obiektu potomnego może stać sięz kolei typem bazowym do zdefiniowania kolejnego typu potomnego. Dziedziczenie może mieć charakter jednokrotny lub wielokrotny (wielodziedziczenie). W tym drugim wypadku dopuszcza się możliwość definiowania typów potomnych dziedziczących równocześnie po wielu typach bazowych. Odpowiednio zaprojektowana hierarchia dziedziczenia pozwala znacznie obniżyć nakłady pracy potrzebne do powstania programu.

Page 18: Pytanie 2 (PTCY) - Serwer studenckihome.elka.pw.edu.pl/~mmajchro/Pytania-ISID.doc · Web viewOdpowiedzi zostały zaczerpnięte z jego książki – „Podstawy projektowania układów

---------------| pracownik | ---------------

| || |V V

--------- -----------|dyrektor | |sekretarka | --------- -----------

polimorfizm - trzeci paradygmat programowania obiektowego umożliwia tworzenie

w obiektach potomnych tzw. metod wirtualnych, nazywających się identycznie jak w typach bazowych, lecz różniących się od swych odpowiedników pod względem znaczeniowym (implementacyjnym). Polimorfizm, stanowiący uzupełnienie dziedziczenia sprawia, że możliwe jest pisanie kodu, który w przyszłości będzie wykorzystywany w warunkach nie dających się jeszcze przewidzieć.

Page 19: Pytanie 2 (PTCY) - Serwer studenckihome.elka.pw.edu.pl/~mmajchro/Pytania-ISID.doc · Web viewOdpowiedzi zostały zaczerpnięte z jego książki – „Podstawy projektowania układów

Pytanie 11 (PROBE)

Omówić schemat obsługi wyjątków w językach obiektowych i porównać cechy tego mechanizmu z "proceduralną" obsługą błędów.

W programowaniu obiektowym błędy oraz sytuacje wyjątkowe, które mogą zachodzić podczas wykonywania programu są również reprezentowane przez obiekty. Informacje dotyczące błędu są zawarte bezpośrednio w obiekcie, który go reprezentuje. Obiektowy mechanizm wyjątków pozwala łatwo oddzielić wykrywanie błędów od ich obsługi. Funkcja, która wykrywa błąd zgłasza go (throw) z nadzieją, iż w miejscu skąd ją wywołano wiadomo co z nim zrobić. Zgłoszony w miejscu wywołania błąd może zostać przechwycony (catch) i obsłużony.

Autor biblioteki może wykrywać błędy, lecz zazwyczaj nie ma pojęcia, co z nimi zrobić. Użytkownik może wiedzieć, jak sobie z nimi poradzić lecz nie może ich wykryć - gdyby mógł obsłużyłby je we własnym kodzie. Separowalność wykrywania błędów od ich obsługi zapewniana przez mechanizm wyjątków pomaga rozwiązać ten problem.

Po wykryciu błędu, który nie może być obsłużony lokalnie program mógłby:1. zakończyć się (wywołując abort() bądź exit()) – w większości przypadków

można i trzeba zaproponować coś lepszego,2. przekazać wartość reprezentującą błąd - nie jest to zawsze możliwe; jeżeli funkcja

zwraca "int", to każdy "int" może być wynikiem możliwym do przyjęcia,3. przekazać prawidłową wartość i pozostać w niepoprawnym stanie – funkcja

wywołująca może nie zauważyć, że stan programu jest niepoprawny (np. poprzez ustawienie globalnej zmiennej "errno")

4. wywołać procedurę obsługi błędu – obsługa błędów jest dostarczana razem z programem/biblioteką; nie można jej zmienić.

Języki wspierające programowanie obiektowe umożliwiają obsługę sytuacji wyjątkowych w specjalnych blokach:

try {... dangerous operations ...

} catch (Exception e1) {...

} finally {

}

Projektowanie hierarchii typów dla wyjątków nie jest niezbędne, lecz zalecane, gdyż ułatwia ich obsługę (bloki "catch" należy wtedy umieszczać od najbardziej szczegółowego do najbardziej ogólnego przełapywanego wyjątku).

Kod pisany z wykorzystaniem konstrukcji try/catch jest znacznie bardziej czytelny niż proceduralna obsługa błędów. Operacje, które mogą zakończyć się błędem nie są obwarowywane warunkami sprawdzającymi.

Page 20: Pytanie 2 (PTCY) - Serwer studenckihome.elka.pw.edu.pl/~mmajchro/Pytania-ISID.doc · Web viewOdpowiedzi zostały zaczerpnięte z jego książki – „Podstawy projektowania układów

Większość języków wspierających programowanie obiektowe (C++/Java) umożliwia specyfikację listy wyjątków, które mogą być generowane przez daną funkcję.

Konstrukcja try/catch umożliwia zagnieżdżanie wyjątków - przełapany wyjątek jest opakowywany przez inną, bardziej szczegółową klasę reprezentującą wyjątek. Powstały obiekt jest rzucany ponownie.

Page 21: Pytanie 2 (PTCY) - Serwer studenckihome.elka.pw.edu.pl/~mmajchro/Pytania-ISID.doc · Web viewOdpowiedzi zostały zaczerpnięte z jego książki – „Podstawy projektowania układów

Pytanie 12 (AISDI)

Wyszukiwanie danych na podstawie wartości klucza. Przedstawić stosowane w tym celu struktury danych oraz algorytmu i ich złożoność obliczeniową.

Nieposortowana tablica, lub 1-o i 2-u kierunkowe listy:Stosuje się algorytm wyszukiwania liniowego. Należy sprawdzić każdy element tablicy (lub listy), począwszy od pierwszego do ostatniego. Złożoność O(n).

Posortowana tablica:Stosuje się algorytm wyszukiwania binarnego. Sprawdzany jest środkowy element tablicy:

Jeżeli znaleziony element jest większy od wartości poszukiwanej, to od tej pory wyszukiwanie będzie się odbywało w dolnej połowie tablicy

Jeżeli jest mniejszy, to od tej pory wyszukiwanie będzie się odbywało w górnej połowie tablicy

Jeżeli równy – STOPI tak dalej dla coraz to mniejszych fragmentów początkowej tablicy. Złożoność obliczeniowa O(log 2n) dla najgorszego przypadku.

Drzewa nieuporządkowane:Prosty algorytm rekurencyjny. Zaczynamy od korzenia. Jeżeli znaleziono szukany element, to STOP. Jeżeli nie, to wywołaj algorytm dla każdego dziecka obecnego elementu. Złożoność obliczeniowa O(n).

Drzewa binarne uporządkowane (ang. BST – Binary Serach Teres):Każdy węzeł ma max 2 dzieci – lewe i prawe. Dla każdego węzła o wartości n wszystkie węzły lewego poddrzewa tego węzła mają wartość mniejszą niż n, natomiast wszystkie węzły prawego poddrzewa tego węzła mają wartość większą niż n. Drzewo nie musi być wyważone. Algorytm wyszukiwania ten sam co powyżej, ale złożoność wynosi O(h), gdzie h jest wysokością drzewa. Jeżeli drzewo powstało losowo (dodawanie i usuwanie losowych wartości), to zostało wykazane, że złożoność wyszukiwania wynosi O(log n).

Tablice podziału z porcjami lub z listami:Jest to struktura danych stworzona specjalnie, aby przyspieszać proces poszukiwania. Tworzona jest tablica dwuwymiarowa albo tablica wskaźników na listy jednokierunkowe. Przy wstawianiu elementu do struktury dowolna funkcja hashująca, np. modulo liczba pierwsza jest wykorzystywana do przekształcenia klucza w pierwszą współrzędną tablicy. Element jest wstawiany w pierwsze wolne miejsce tablicy albo na końcu listy jednokierunkowej. Przy wyszukiwaniu w taki sam sposób jak powyżej funkcja hashująca przekształca klucz w wartość pierwszej współrzędnej struktury, przeszukiwanie odbywa się jedynie na małym fragmencie danych. Złożoność jest całkowicie zależna od zastosowanej funkcji hashującej.

Page 22: Pytanie 2 (PTCY) - Serwer studenckihome.elka.pw.edu.pl/~mmajchro/Pytania-ISID.doc · Web viewOdpowiedzi zostały zaczerpnięte z jego książki – „Podstawy projektowania układów

Pytanie 13 (AISDI)

Algorytmy sortowania. Przedstawić i sklasyfikować podstawowe algorytmy sortowania, omówić zasadę ich działania i porównać właściwości.

Poniżej przedstawiłem 6 typowych algorytmów sortowania, od najwolniejszego do najszybszego (w przypadku losowych danych wejściowych).

Sortowanie przez wybór:Jest to chyba najbardziej intuicyjny algorytm sortowania. Polega on na wielokrotnym wyborze minimalnego elementu z coraz krótszego podciągu danych. Dokładnie ma to następujący przebieg:

Wybierz minimum z ciągu elementów na pozycjach od 1 do n i zamień go z pierwszym elementem.

Wybierz minimum z ciągu elementów na pozycjach od 2 do n i zamień go z drugim elementem (po tym kroku elementy na pozycjach od 1 do 2 są uporządkowane).

... Wybierz minimum z elementów na pozycjach n-1 i n i zamień go z elementem na

pozycji n-1 (po tej operacji elementy na pozycjach od 1 do n-1 są uporządkowane, a element na pozycji n jest maksymalny, czyli ciąg elementów na pozycjach od 1 do n jest uporządkowany)

Znalezienie minimum w ciągu wymaga m-1 porównań, gdzie m jest długością ciągu. Algorytm sortowania przez wybór wykonuje n-1 takich operacji, a długość ciągu, z którego wybierany jest element minimalny zmienia się od n do 2.

Sortowanie bąbelkowe:Algorytm sortowania bąbelkowego polega na porównywaniu par elementów leżących obok siebie i, jeśli jest to potrzebne, zmienianiu ich kolejności. Czyli w pierwszym przebiegu porównujemy (i ewentualnie zamieniamy):

Element pierwszy i drugi Element drugi i trzeci ... Element (n-1)-wszy i n-ty

Każdy element jest tak długo przesuwany w ciągu, aż napotkany zostanie element większy od niego, wtedy w następnych krokach przesuwany jest ten większy element.Po pierwszym przebiegu ciąg nie musi być jeszcze uporządkowany, ale na pozycji n znajdzie się maksymalny element ciągu. Zatem w drugim przebiegu można porządkować ciąg krótszy, czyli tylko elementy na pozycjach od 1 do n-1. Po drugim przebiegu, dwa ostatnie elementy są na swoich miejscach, czyli pozostaje posortować ciąg o dwa elementy krótszy, itd.Można jeszcze bardziej usprawnić ten algorytm. Jeżeli w pewnym przebiegu algorytmu ostatnia zamiana nastąpiła na pozycji i, to w następnym przebiegu wystarczy porządkować tylko elementy na pozycjach od 1 do i-1.

Page 23: Pytanie 2 (PTCY) - Serwer studenckihome.elka.pw.edu.pl/~mmajchro/Pytania-ISID.doc · Web viewOdpowiedzi zostały zaczerpnięte z jego książki – „Podstawy projektowania układów

Sortowanie przez wstawianie:W algorytmie sortowania przez wstawianie ciąg danych jest dzielony na dwie części: już uporządkowaną (przed uruchomieniem procedury nie zawiera ona żadnych elementów) oraz jeszcze nie uporządkowaną (na początku zawiera wszystkie elementy). Sposób porządkowania można opisać następująco:

weź pierwszy element z części nieuporządkowanej (jeśli jest pusta to zakończ działanie algorytmu)

wstaw go w odpowiednie miejsce w części uporządkowanej (po takiej operacji część nieuporządkowana jest jeden element krótsza, a część posortowana zyskuje jeden element).

Pozostaje jeszcze do rozstrzygnięcia, w jaki sposób wyznaczyć prawidłowe położenie nowego elementu w części uporządkowanej. Najprostszy sposób polega na porównaniu tego elementu z kolejnymi elementami części uporządkowanej. Jeżeli element na pozycji i jest większy od wstawianego, to ten nowy element należy wstawić między elementy na pozycjach i-1 i i. Inna strategia wstawiania elementu do uporządkowanego ciągu jest zastosowana w sortowaniu przez wstawianie z binarnym umieszczaniem.

Sortowanie przez wstawianie z wyszukiwaniem binarnym:Algorytm ten jest usprawnieniem sortowania przez wstawianie, polegającym na tym, że do wyszukania pozycji dla elementu wstawianego do ciągu uporządkowanego, stosowany jest algorytm wyszukiwania binarnego. Dzięki temu usprawnieniu algorytm sortowania przez wstawianie osiąga efektywność zbliżoną do efektywności najlepszych algorytmów sortowania.

Należy jednak pamiętać, że chociaż algorytm ten jest bardzo efektywny ze względu na liczbę wykonywanych porównań, to jednak operacja wstawienia elementu do ciągu uporządkowanego powoduje przesunięcie tej części elementów, które są większe od wstawianego. Jeżeli sortowanie odbywa się w tablicy, to takie przesunięcie generuje dużą liczbę zamian elementów miejscami - w sumie rzędu n2.

Sortowanie przez scalanie:W algorytmie sortowania przez scalanie jest wykorzystywana strategia "dziel i zwyciężaj". Jest to bardzo efektywna technika algorytmiczna (wykorzystana jest także w algorytmie sortowania "szybkiego"). Załóżmy, że mamy dwa uporządkowane ciągi, a chcemy utworzyć z nich jeden – także uporządkowany. Warto zastosować następujący sposób:

Porównujemy ze sobą pierwsze elementy z każdego z ciągów danych. Mniejszy element wstawiamy do nowego ciągu i usuwamy z ciągu danych. Powtarzamy te czynności, aż oba ciągi danych będą puste.

W ten sposób, w nowo utworzonym ciągu wszystkie elementy są uporządkowane, a co najważniejsze operacja ta wymaga wykonania niewielu porównań. Wiadomo już, jak z dwóch uporządkowanych ciągów otrzymać jeden. Wykorzystując to, można sformułować algorytm sortowania dowolnego ciągu:

Podziel ciąg na dwie równe części (jeśli ciąg ma nieparzystą liczbę elementów, jedna z części będzie miała o jeden element więcej).

Każdą z części uporządkuj. Połącz dwa uporządkowane ciągi w jeden ciąg uporządkowany.

Page 24: Pytanie 2 (PTCY) - Serwer studenckihome.elka.pw.edu.pl/~mmajchro/Pytania-ISID.doc · Web viewOdpowiedzi zostały zaczerpnięte z jego książki – „Podstawy projektowania układów

Podsumowując, do posortowania dowolnego ciągu można stosować poniższy rekurencyjny algorytm:

Jeśli ciąg zawiera więcej niż jeden element, to podziel go na dwie równe części (lub prawie równe, jeśli ciąg ma nieparzystą liczbę elementów).

Posortuj pierwszą część stosując ten sam algorytm. Posortuj drugą część stosując ten sam algorytm. Połącz dwa uporządkowane ciągi w jeden ciąg uporządkowany.

Sortowanie „szybkie” (Quicksort):Przypuśćmy, że potrafimy podzielić dany ciąg na dwie takie części, że elementy pierwszego ciągu są mniejsze od elementów drugiego ciągu, czyli nieformalnie mówiąc, na elementy "małe" i "duże". Mając taki podział ciągu, możemy każdą z części uporządkować osobno. Otrzymamy ciąg składający się z uporządkowanych elementów "małych", a po nich następują uporządkowane elementy "duże" - czyli cały ciąg jest już uporządkowany! Algorytm służący do dzielenia ciągu na dwie części, spełniające opisany warunek, ma następującą postać:

Weź pierwszy element ciągu (oznaczmy go przez x). Podziel ciąg tak, aby w pierwszej części znalazły się elementy mniejsze lub równe x, a

w drugiej większe lub równe x

Aby posortować dowolny ciąg należy rekurencyjnie wykonywać poniższy algorytm sortujący:

Jeżeli liczba elementów w ciągu jest większa od 1, to podziel ciąg na dwie części tak, aby elementy z pierwszej części były nie większe niż elementy z drugiej części.

Wywołaj procedurę sortującą dla pierwszej części ciągu. Wywołaj procedurę sortującą dla drugiej części ciągu.

Dla poprawności działania powyższego algorytmu nie ma znaczenia, który element zostanie wybrany jako element rozdzielający ciąg na dwie części. Ma to jednak wpływ na efektywność algorytmu. Najczęściej wybierany jest pierwszy element ciągu lub element losowy.Czas działania tego algorytmu sortowania zależy od wielkości podziałów wykonywanych przez procedurę dzielącą ciąg. Jeżeli podziały te są zrównoważone, czyli wielkości powstających części są sobie równe, to algorytm ten jest praktycznie najszybszą metodą sortowania – stąd jego nazwa: sortowanie szybkie (ang. quicksort). Jeżeli natomiast otrzymane w wyniku podziału ciągi mają bardzo różne długości, to złożoność algorytmu jest większa.

Złożoność ww. algorytmów nie jest jednoznaczna i silnie zależy od sortowanych danych (losowe, posortowane rosnąco, posortowane malejąco itp.).

Page 25: Pytanie 2 (PTCY) - Serwer studenckihome.elka.pw.edu.pl/~mmajchro/Pytania-ISID.doc · Web viewOdpowiedzi zostały zaczerpnięte z jego książki – „Podstawy projektowania układów

Pytanie 14 (PROZ)

Schemat obsługi zdarzeń w języku Java. Wymienić rodzaje zdarzeń oraz typy danych i metody stosowane w procesie obsługi. Wyjaśnić znaczenie "wątku rozdziału zdarzeń".

Schemat obsługi zdarzeń w języku Java w obecnej postaci został zainspirowany przez wzorzec projektowy "Command" (reprezentuje zdarzenie jako obiekt z odpowiednią metodą). Inżynierowie Sun'a nazwali nowy model modelem delegacji. Model delegacji został pierwszy raz zastosowany w bibliotece AWT (stosowany również w SWING) służącej do konstruowania i obsługi GUI.

Zastosowanie modelu delegacji umożliwia aplikacjom rejestrowanie handlerów (obiektów listeners) dla obiektów generujących zdarzenia, które są wołane w momencie pojawienia się odpowiedniego zdarzenia. Model delegacji umożliwia odseparowanie obsługi zdarzeń (Model) od widoku (warstwy), który je generuje (View).

AWT definiuje 11 standardowych typów handlerów: ActionListerner, AdjustmentListener, ComponentListerner, ContainerListener, FocusListener, ItemListener, KeyListener, MouseListener, MouseMotionListener, TextListener, WindowListener.Każdy z nich jest odpowiedzialny za obsługę odpowiednich zdarzeń GUI (ActionEvent, MouseEvent itp). Niektóre eventy (MouseEvent) posiadają dodatkowe metody (getX(), getY()), które służą do uzyskiwania dodatkowych informacji o zdarzeniu.

Zdarzenia AWT są dziedziczone z klasy bazowej AWTEvent.Zdarzenia AWT są podzielone na trzy kategorie:

1. niskopoziomowe zdarzenia generowane przez każdy komponent GUI: ComponentEvent, FocusEvent, KeyEvent, MouseEvent

2. niskopoziomowe zdarzenia generowane przez Frame oraz Dialog: WindowEvent3. zdarzenia wyższego poziomu: ActionEvent, AdjustmentEvent, ItemEvent

Eventy niskopoziomowe posiadają różne wartości chronionego pola Id, które można pobrać za pomocą metody getId() (MOUSE_CLICKED, MOUSE_MOVED itp.). Zdarzenia wyższego poziomu zawsze zwracają jednakową wartość pola Id (np. ACTION_PERFORMED).

Dla każdego typu zdarzenia Odpowiednia klasa Listener'a musi implementować wymagane metody, których nazwy zostały ustalone na podstawie identyfikatorów zdarzeń, np: WindowClosing(), MosueMoved(), MouseClicked(), FocusGained().

...Button myButton = new Button("Click Me");myButton.addActionListener(new Clicker()); // register...

class Clicker implements ActionListener{ public void actionPerformed(ActionEvent e)

Page 26: Pytanie 2 (PTCY) - Serwer studenckihome.elka.pw.edu.pl/~mmajchro/Pytania-ISID.doc · Web viewOdpowiedzi zostały zaczerpnięte z jego książki – „Podstawy projektowania układów

{System.out.println("Click Me was clicked."); // perfrom task

}}

Zdarzenia są umieszczane w kolejce zdarzeń (event queue). Klasa odpowiedzialna za obsługę zdarzenia (listener) jest rejestrowana w komponencie (metodą addXXXListener()). Komponent wie, na które zdarzenia z kolejki jest zainteresowany który "słuchacz" i może je odpowiednio przekazywać. Metody "słuchaczy" odpowiedzialne za obsługę zdarzeń są wywoływane przez metodę komponentu processEvent(). Wątek rozdziału zdarzeń, który przegląda kolejkę zdarzeń zgłasza zdarzenia, które należą do danego komponentu.

Kolejka zdarzeń - java.awt.EventQueue.Klasa AWTEvent posiada statyczne pola masek bitowych (MOUSE_EVENT_MASK), które są wykorzystywane przez AWTEventListener'y – konfigurują typ zdarzenia, które dany Listener konsumuje.

Komponent (java.awt.Component np. Button) może włączać/wyłączać obsługę zdarzeń za pomocą metod enable/disableEvents. Dostarczanie zdarzeń jest automatycznie włączane w momencie zarejestrowania w komponencie Listenera.

Page 27: Pytanie 2 (PTCY) - Serwer studenckihome.elka.pw.edu.pl/~mmajchro/Pytania-ISID.doc · Web viewOdpowiedzi zostały zaczerpnięte z jego książki – „Podstawy projektowania układów

Pytanie 15 (PROZ)Realizacja graficznego intefejsu użytkownika w bibliotece SWING języka JAVA. Omówić podstawowe klasy i kontenery, klasyfikację komponentów i zasady ich rozmieszczania przez menadżery oraz proces malowania kontenera i komponentów.

SWING (JAVA FOUNDATION CLASSES - JFC) jest kompleksową biblioteką zaprojektowaną z myślą o wygodnym i szybkim projektowaniu i realizacji graficznego interfejsu użytkownika w jęz. JAVA. Bibliotekę SWING zaprojektowano zgodnie z wzorcem Model-View-Controller (MVC).

Krótko dla nieznających MVC:

Model - opisuje komponenty np. ich wysokość, szerokość

View - GUI w sensie "widocznego" na ekranie, widok jest zależny od platformy / Look'and'Feel

Controller - część interfejsu odpowiedzialna za przekazywanie i obsługę zdarzeń, nazwijmy to "układem sterującym" GUI ;-)

W przeciwieństwie do biblioteki AWT, która bazowała na natywnym Look'and'Feel systemu operacyjnego, SWING zapewnia jednakowy wygląd GUI na wszystkich platformach. SWING nie ma jednak zastąpić AWT. W gruncie rzeczy jest w znacznym stopniu oparty o rdzeń biblioteki AWT, nie zawiera jednak kodu zależnego od platformy. Jako model obsługi zdarzeń jest wykorzystywany model delegacji z biblioteki AWT (pojedyncza kolejka zdarzeń, komponenty + listenery).

Kontener jest obiektem graficznym, który służy do grupowania innych obiektów graficznych. JComponent może być kontenerem, gdyż wywodzi się z klasy Container AWT.

Podstawowe klasy biblioteki SWING:java.lang.Object java.awt.Component java.awt.Container javax.swing.JComponen

Page 28: Pytanie 2 (PTCY) - Serwer studenckihome.elka.pw.edu.pl/~mmajchro/Pytania-ISID.doc · Web viewOdpowiedzi zostały zaczerpnięte z jego książki – „Podstawy projektowania układów

Podstawowe kontenery:

1. JWindow - okno najwyższego poziomu (bez ramki)

2. JFrame - okno najwyższego poziomu (okna i ramki posiadają specjalne kontenery tzw. ContentPane, dodajemy komponenty graficzne (nie można dodawać bezpośrednio add(...) )

3. JInternalFrame - rama wewnętrzna

4. JPanel - panel, który może służyć jako kontener dla innych komponentów

5. JApplet - kontener dla apletów

Pozostałe komponenty:

1. JMenu - menu pod paskiem okna

2. JMenuItem - przycisk menu

3. JLabel - nieedytowalny tekst

4. JTextField - edytowalne pole tekstowe

5. JButton - przycisk

6. JToggleButton, JRadioButton, JCheckBox - specjalne przyciski

7. JList - lista z wyborem

[...]

8. JDialog - okienka dialogowe

[...]

Layout Managers:

Menadżer ?położenia? jest obiektem, który kontroluje rozmieszczenie oraz rozmiar komponentów umieszczonych wewnątrz kontenera. LM może być zmieniany przez metodę setLayout().

Podstawowe LM:

1. FlowLayout - najprostszy, domyślny manager; umieszcza komponenty w wierszu, jeden obok drugiego i nie zmienia ich rozmiarów

2. BorderLayout - rozmieszczenie (NORTH/SOUTH/WEST/EAST/CENTER)

3. BoxLayout - układa komponenty "jeden na drugim" w jednej kolumnie (bądz "jeden koło drugiego" w jednym wierszu)

Page 29: Pytanie 2 (PTCY) - Serwer studenckihome.elka.pw.edu.pl/~mmajchro/Pytania-ISID.doc · Web viewOdpowiedzi zostały zaczerpnięte z jego książki – „Podstawy projektowania układów

4. GridLayout - podział i rozmieszczenie na regularnej kratownicy

5. GridBagLayout - najbardziej skomplikowany layout manager; podobny do GridLayout'a , posiada możliwość rozszerzania komponentów na wiele wierszy/kolumn (coś jak <table> HTML'owe)

Proces malowania:

Komponenty biblioteki SWING są lightweight - nie bazują w rzaden sposób na GUI systemu operacyjnego, tylko same rysują się na ekranie. Każdy komponent może być wyrysowany na ekranie w dowolnej chwili poprzez zawołanie metody paint(). Metoda paint() jest wołana automatycznie przez watek biblioteki SWING przy pierwszym pojawieniu się obiektu oraz przy każdej zmianie jego wyglądu (przesłonięcie/odsłonięcie). Repaint() "kolejkuje" komponent do ponownego rysowania.

Kontenery JWindow/JFrame posiadają metodę pack(), która dostosowuje rozmiar okna do rozmiaru preferowanego. Po wyliczeniu preffered size wołana jest metoda validate() - zmusza kontener do ponownego rozmieszczenia swoich wszystkich subkomponentów.

Page 30: Pytanie 2 (PTCY) - Serwer studenckihome.elka.pw.edu.pl/~mmajchro/Pytania-ISID.doc · Web viewOdpowiedzi zostały zaczerpnięte z jego książki – „Podstawy projektowania układów

Pytanie 16 (POBO)

Zdefiniować zadania programowania liniowego, mieszanego i całkowitoliczbo-wego. Opisać podstawowe metody rozwiązywania dyskretnych problemów decyzyjnych (programowanie dynamiczne, schemat metody podziału i oszacowań metody heurystyczne).

Programowanie liniowe to klasa problemów programowania matematycznego, w której wszystkie warunki ograniczające oraz funkcja celu mają postać liniową. Mamy zmaksymalizować lub zminimalizować funkcję celu, również liniową. Zmienne xi są liczbami rzeczywistymi.

Programowaniem całkowitoliczbowym nazywamy programowanie liniowe, w którym na wszystkie zmienne decyzyjne nałożono dodatkowe warunki, że muszą przyjmować wartości całkowite dodatnie, ponieważ rozwiązania z wartościami ułamkowymi nie miały by sensu rzeczywistego (np. określenia 2/3 osoby lub 3/4 samochodu). W zagadnieniach programowania liniowego z reguły nie jest możliwe stosowanie zaokrągleń rozwiązań z wartościami ułamkowymi do najbliższych liczb całkowitych, gdyż wynik takiego postępowania może być daleki od rozwiązania optymalnego; może też nie spełniać warunków ograniczających. Przy programowaniu całkowitoliczbowym zachodzi więc potrzeba stosowania metod uwzględniających te warunki. Problem NP-trudny.

Programowanie mieszane jest to programowanie liniowe, w którym część zmiennych decyzyjnych musi być całkowitoliczbowa, a część liczbami rzeczywistymi. Problem NP-trudny.

Programowanie dynamiczne:Metoda programowania dynamicznego służy do rozwiązywania zadań optymalizacji, w których można wyodrębnić tzw. strukturę wieloetapową, gdzie etapy najczęściej odpowiadają okresom czasu. Metoda ta została opracowana przez Bellmana i polega na dekompozycji problemu na prostsze podproblemy etapowe, rozwiązywane rekurencyjnie w kolejnych etapach. Rekurencyjny sposób rozwiązywania podproblemów oparty jest na tzw. zasadzie optymalności Bellmana. Mamy N etapów k=0,1,…,N-1, wektor niezależnych zmiennych decyzyjnych (sterowań) (u0, u1, …, uk, …, uN-1), wektor zmiennych stanu (x0, x1, …, xk, …, xN) wyznaczanych z odpowiednich równań oraz wektor znanych parametrów dk. W etapie k-tym, przy zadanej wartości stanu xk na początku etapu i po podjęciu decyzji uk, stan xk+1 na początku etapu k+1 jest określony z równań stanu xk+1 = fk(xk, uk, dk), k=0,1, …, N-1 Ciąg sterowań (u0, u1, …, uk, …, uN-1) jest nazywany trajektorią sterowania, natomiast ciąg zmiennych stanu (x0, x1, …, xk, …, xN) jest nazywany trajektorią stanu. x0 jest ustalone Jeśli xN jest zadane wówczas mamy do czynienia z ustalonym stanem końcowym w przeciwnym wypadku mamy do czynienia ze swobodnym stanem końcowym. Funkcja celu musi spełniać tzw. własność Markowa – tzn. po podjęciu decyzji u0, u1, …, uk-1, wartości optymalne pozostałych zmiennych decyzyjnych uk, …, uN-1 zależały tylko od stanu xk

Page 31: Pytanie 2 (PTCY) - Serwer studenckihome.elka.pw.edu.pl/~mmajchro/Pytania-ISID.doc · Web viewOdpowiedzi zostały zaczerpnięte z jego książki – „Podstawy projektowania układów

(stan ten gromadzi zatem całą historię układu do etapu k). Z własności Markowa wynika, że w k-tym etapie wartość sterowania uk zależy wyłącznie od stanu xk. Stąd można przyjąć, że wartość optymalna sterowania jest funkcją aktualnego stanu uk = φ(xk). Problem decyzyjny można zatem przeformułować równoważnie tak, aby poszukiwać sprzężenia zwrotnego do stanu, czyli tzw. prawa sterowania. Przy zadanym stanie początkowym x0 problem polega na znalezieniu dopuszczalnego prawa sterowania Φ = {φ0,φ1,…,φk,…,φN-1}, minimalizującego funkcję kosztu przy spełnieniu ograniczeń

Zasada optymalności Bellmana:Niech będzie optymalnym prawem sterowania dla podstawowego problemu. Rozważmy podproblem, w którym jesteśmy w stanie w etapie k i chcemy zminimalizować koszt pozostałej części trajektorii od stanu xk do końca. Wtedy skrócone prawo sterowania jest optymalne dla tego podproblemu.Problem dynamiczny może być przedstawiony za pomocą warstwowego grafu przejść stanu jako problem najkrótszej ścieżki. Wierzchołki grafu odpowiadają dyskretnym wartościom, jakie przybiera zmienna stanu w danym etapie, natomiast każdy łuk łączy dwa wierzchołki z sąsiadujących warstw i odpowiada przejściu od pewnego stanu i=xk w pewnym etapie k do stanu j=xk+1=fk(xk,uk,dk) w etapie następnym. Łukowi (i,j) odpowiada pewien koszt cij=gk(xk,uk,dk) związany z tym przejściem. Wyznaczenie optymalnej trajektorii sterowania odpowiada wyszukaniu najtańszej ścieżki rozpoczynającej się w wierzchołku S=x0 i kończącej się w wierzchołku końcowym T. Oznaczając przez minimalny koszt przejścia od stanu i do stanu j (jeśli istnieje wiele sterowań uk doprowadzających ze stanu i do j, to wybieramy wartość optymalną) oraz przez koszt związany ze stanem końcowym algorytm programowania dynamicznego przyjmuje postać:

1. Krok N-ty dla

2. Krok k-ty, k=N-1, …, 1, 0 dla

Metoda podziału i oszacowań:Metoda podziału i oszacowań jest ogólnym schematem rozwiązywania problemów optymalizacji dyskretnej, w tym zadań programowania całkowitoliczbowego i mieszanego. W metodzie tej dokonuje się niejawnego przeglądu wszystkich elementów zbioru dopuszczalnego. Niejawność przeglądu polega na tym, że wiele rozwiązań, dla których można wykazać, że nie mogą być lepsze od najlepszego z dotychczas znalezionych rozwiązań, są odrzucane niejawnie, bez konieczności ich dokładnego badania. W tej metodzie przeszukiwanie przestrzeni polega na naprzemiennym podziale (aktualnie przeszukiwanego) zbioru rozwiązań na podzbiory oraz analizie (sondażu) podproblemów określonych na tych podzbiorach. Analiza jest przeprowadzana z wykorzystaniem tzw. oszacowań od dołu i góry optymalnej wartości funkcji celu dla tych podproblemów.Proces przeszukiwania zbioru rozwiązań jest wygodnie reprezentować za pomocą tzw. drzewa podproblemów, w którym wierzchołkom odpowiadają podproblemy Pk, przy czym korzeniem drzewa jest problem pierwotny P0. W pewnych przypadkach (np. gdy oszacowanie od góry jest równe oszacowaniu od dołu) potrafimy wyznaczyć rozwiązanie optymalne dla tego podproblemu. W przeciwnym wypadku należy dalej kontynuować przeszukiwanie poprzez podział podproblemu Pj na mniejsze podproblemy. Zazwyczaj staramy się wybierać

Page 32: Pytanie 2 (PTCY) - Serwer studenckihome.elka.pw.edu.pl/~mmajchro/Pytania-ISID.doc · Web viewOdpowiedzi zostały zaczerpnięte z jego książki – „Podstawy projektowania układów

podziały rozłączne, ale nie jest to konieczne. W trakcie sondażu wierzchołka P j są wyznaczane oszacowania i ponadto jest znane . Możliwe są następujące sytuacje:

: najlepsze rozwiązanie podproblemu Pj nie jest lepsze od dotychczas

znalezionego rozwiązania dopuszczalnego, wierzchołek zostaje zamknięty, : rozwiązanie jest optymalnym rozwiązaniem Pj, wierzchołek zostaje

zamknięty, : podproblem Pj musi być dalej badany przez dalszy podział.

Page 33: Pytanie 2 (PTCY) - Serwer studenckihome.elka.pw.edu.pl/~mmajchro/Pytania-ISID.doc · Web viewOdpowiedzi zostały zaczerpnięte z jego książki – „Podstawy projektowania układów

Pytanie 17 (POBO)

Przedstawić modele sieci przepływowych, przykładowe zadania modelowane w tych sieciach oraz podstawowe typy zadań optymalizacji. Omówić właściwości modeli sieciowych w zastosowaniu do rozwiązywania dyskretnych problemów decyzyjnych.

Wiele problemów lub podproblemów optymalizacyjnych związanych z rozdziałem zasobów, przepływem informacji lub materiałów można formułować jako zadania przepływu w sieciach. Zadania te są bardzo skutecznie rozwiązywane metodami programowania sieciowego. Zadanie przepływu w sieci, to szczególny rodzaj zadania programowania liniowego

w którym macierz ograniczeń A jest macierzą incydencji pewnego grafu G=(V,E), przy czym V={1…m} jest zbiorem wierzchołków, oraz jest zbiorem łuków. Dla grafu G zawierającego m wierzchołków oraz wierszy odpowiadających wierzchołkom v1, …, vm oraz n kolumn odpowiadających łukom e1, …, en zmienne xij mają interpretację przepływu po łuku (i, j). Wielkość przepływu w każdym łuku jest ograniczona przepustowością łuku od dołu i od góry:

Wierzchołki możemy podzielić na: źródła o wydajności bi (gdy bi>0), wierzchołki wewnętrzne (pośredniczące) (gdy bi = 0), ujścia (odpływy), punkty odbioru z zapotrzebowaniem bi (gdy bi<0).

Ze względu na możliwą postać funkcji celu wyróżnia się dwa główne typy zadań przepływu w sieciach:

problem maksymalnego przepływu, problem minimalnokosztowego przepływu.

Podstawowe klasy zagadnień modelowanych w ten sposób to: zadania przydziału – mamy dwie kategorie obiektów, np. procesorów i zadań.

Należy przydzielić zadania do procesorów w taki sposób, aby minimalizować pewne kryterium jakości,

zagadnienia szeregowania – wiele różnorodnych zagadnień szeregowania zadań na procesorach można sprowadzić do modeli sieciowych. Konstruując sieć przydziału wierzchołkom mogą odpowiadać operacje, zadania, procesory, zasoby, jednostki czasu, pozycje zadania w uszeregowaniu, itp.,

zagadnienia dystrybucji zasobów do odbiorców, zagadnienia zarządzania produkcją i dystrybucją wyrobów – należy podjąć

decyzje o alokacji zamówień do poszczególnych zakładów i oraz o wysyłkach do odbiorców w taki sposób, aby minimalizować koszty produkcji i dystrybucji z uwzględnieniem ograniczeń produkcyjnych i transportowych.

Page 34: Pytanie 2 (PTCY) - Serwer studenckihome.elka.pw.edu.pl/~mmajchro/Pytania-ISID.doc · Web viewOdpowiedzi zostały zaczerpnięte z jego książki – „Podstawy projektowania układów

Pytanie 18 (PSTE)

Sposoby opisu ciągłych liniowych układów dynamicznych. Omówić równaniastanu, transmitancje, charakterystyki częstotliwościowe i odpowiedzi skokowe.

1. Równania stanuCałkowity wpływ na układ minionych wartości wejść jest reprezentowany przez pojęcie stanu wewnętrznego układu. Dzięki wprowadzeniu tego pojęcia upraszczamy analizę układu, bowiem by wyznaczyć wyjście układu y w chwili tn musimy znać tylko dwie wielkości: wejścia układu u w chwili bieżącej oraz stan układu x w chwili bieżącej. Związek między wejściami, wyjściami oraz stanami wewnętrznymi (w ogólnym przypadku wielkości te są wektorami) układu jest reprezentowany przez równania stanu, które w przypadku modelu ciągłego mają postać:

2. TransmitancjaTransmitancja operatorowa jednowymiarowego układu stacjonarnego to stosunek:transformaty Laplace'a sygnału wyjściowego Y(s) (odpowiedzi układu na wymuszenie) do transformaty Laplace'a sygnału wejściowego U(s) przy zerowych warunkach początkowych:

Dla układów opisanych liniowymi równaniami różniczkowymi o stałych współczynnikach transmitancja operatorowa jest funkcją wymierną zmiennej zespolonej s, tzn. można ją przedstawić za pomocą ilorazu dwóch wielomianów:

gdzie , w przeciwnym razie układ jest niestabilny.

Wartości s, dla których L(s) = 0 i G(s) dąży do 0, nazywa się zerami transmitancji, natomiast te, dla których M(s) = 0 i G(s) -> nieskończoności - biegunami transmitancji.

W przypadku wielowymiarowego układu o r wejściach i m wyjściach definiuje się macierz transmitancji poszczególnych układów. Transmitancję taką nazywa się niekiedy transmitancją macierzową:

Transmitancja operatorowa układu nie zależy od sygnału jakim pobudzamy układ, ani od sygnału wyjściowego. Zależy wyłącznie od parametrów układu. Charakteryzuje układ jednoznacznie.

Page 35: Pytanie 2 (PTCY) - Serwer studenckihome.elka.pw.edu.pl/~mmajchro/Pytania-ISID.doc · Web viewOdpowiedzi zostały zaczerpnięte z jego książki – „Podstawy projektowania układów

3. Charakterystyki częstotliwościoweCharakterystyka częstotliwościowa opisuje odpowiedź układu na wymuszenie harmoniczne (sinusoidalne) o częstotliwości zmieniającej się w określonym zakresie (charakter fizyczny sygnału wejściowego i wyjściowego może by ć różny).Sygnał harmoniczny jest szczególnie przydatny jako sygnał testowy z kilku powodów: każdy sygnał (skończony lub okresowy) może być wyrażony jako suma sygnałów

sinusoidalnych o różnych częstotliwościach (rozkład sygnału na szereg Fouriera), odpowiedź stacjonarnego stabilnego układu liniowego na wymuszenie sinusoidalne jest

sinusoidą o tej samej częstotliwości, przebieg sinusoidalny jest łatwy do wygenerowania, sygnały robocze w wielu układach są (przynajmniej w pewnym zakresie) harmoniczne.

[odsyłam! http://www.el.pcz.czest.pl/~za/stud/ais/aislab-cf.pdf]

4. Odpowiedzi skokoweOdpowiedź skokowa h(t) to w automatyce odpowiedź układu na wymuszenie w postaci skoku jednostkowego przy zerowych warunkach początkowych.

Page 36: Pytanie 2 (PTCY) - Serwer studenckihome.elka.pw.edu.pl/~mmajchro/Pytania-ISID.doc · Web viewOdpowiedzi zostały zaczerpnięte z jego książki – „Podstawy projektowania układów

Pytanie 19 (PSTE)

Sprzężenie zwrotne i jego wpływ na dokładność, odporność na błędy i zakłócenia oraz stabilność układu sterowania. Przedstawić warunki podtrzymania drgań oraz kryterium Nyquista dla obiektu stabilnego. Zdefiniować pojęcia zapasu fazy i modułu.

Rysunek przedstawia blokowy schemat układu regulacji ze sprzężeniem zwrotnym, czyli układ zamknięty. Układ taki charakteryzuje się tym że wartość zadana regulatora jest sumowana z sygnałem wyjściowym układu (sprzężenie zwrotne). Mamy zatem: Y0 – sygnał wejściowy (wartość zadaną regulacji, to co byśmy chcieli na wyjściu), Y = GuU + GzZ = GuR(Y0 – Y) + GzZ – sygnał wyjściowy, R – regulator o wzmocnieniu R(s) = kr dla regulatora proporcjonalnego, Gu – transmitancja układu Gz – transmitancja związana z zakłóceniami, Z –sygnał zakłóceń.

Od regulatora oczekujemy, aby wraz upływem czasu układ ustabilizował się czyli:

Jednak porównując wpływ zakłóceń na dokładność sterowania (nadążania za wartością zadaną) otrzymujemy: dla układu otwartego (bez sprzężenia zwrotnego) brak redukcji wpływu zakłócenia. Całe

zakłócenie przenosi się na wyjście układu (k jest wzmocnieniem obiektu),

dla układu zamkniętego (ze sprzężeniem zwrotnym) otrzymujemy redukcję zakłóceń,

W układzie ze sprzężeniem zwrotnym uchyb ustalony nadążania (za wartością zadaną) jest tym mniejszy im większe jest wzmocnienie regulatora kr zaś wpływ zakłóceń (i zmiana parametrów obiektu tj. k) jest redukowany (1+kkr) razy. Jednak im większy jest współczynnik sprzężenia kr O tym większa jest oscylacja układu. Zatem nie możemy go zwiększać w nieskończoność.

- sprzężenie zwrotne zapewnia wyzerowanie uchybu e(t), przy k -> nieskończoność (coraz większe wzmocnienia regulatora). Jak zapewne wiecie, regulator bez integratora (P, PD) nie musi zerować uchybu ustalonego przy t-> nieskończoność e(t) = 0.

Page 37: Pytanie 2 (PTCY) - Serwer studenckihome.elka.pw.edu.pl/~mmajchro/Pytania-ISID.doc · Web viewOdpowiedzi zostały zaczerpnięte z jego książki – „Podstawy projektowania układów

- sprzężenie zwrotne zapewnia 1+kkr razy redukcję wpływu zakłóceń na wartość wyjściową

Sposób, w jaki się dochodzi do tych wniosków: Mamy układ otwarty i zamknięty. Dla obu, dla wartości y_zad = 0 podajemy skok jednostkowy na wejściu zakłóceń i porównujemy wyjścia w granicy t->niesk, (s->0). No i odwrotnie, dla z=0 podajemy skok y_zad.

Zalety sprzężenia zwrotnego: redukcja współczynnika zakłóceń i zmian parametrów układu (1+kkr) razy przyspieszenie dynamiki układu (szybkości reakcji na zmiany).Koszty (wady) sprzężenia zwrotnego: większa złożoność układu, utrata wzmocnienia (kkr >> 1). Efektywne wzmocnienie fizyczne (y0y) jest mniejsze

(1+kkr) razy, możliwość zbytniej oscylacyjności (wzbudzenia) czyli niestabilności układu.

Warunki podtrzymania drgańW układzie ze sprzężeniem zwrotnym przesunięcie w fazie sygnału wyjściowego musi wynosić oraz jego moduł musi wynosić 1/kkr. [napisałem jako kompilacja tego, co znalazłem w Googlach...]. Chodzi o to, żeby sygnał wychodzący z układu po tym jak trafi przez pętlę sprzężenia zwrotnego do obiektu (ze znakiem minus, stąd przesunięcie o PI) nie mienił się i dalej "zasilał" układ. Nie może zatem gasnąć ani się wzbudzać, stąd warunek na jego moduł amplitudy.

Kryterium NyquistaUkład zamknięty jest stabilny, jeżeli charakterystyka amplitudowo-fazowa układu otwartego nie obejmuje punktu (-1,j0).

Page 38: Pytanie 2 (PTCY) - Serwer studenckihome.elka.pw.edu.pl/~mmajchro/Pytania-ISID.doc · Web viewOdpowiedzi zostały zaczerpnięte z jego książki – „Podstawy projektowania układów

Zapas modułu to krotność, o która możemy zwiększyć wzmocnienie układu otwartego bez zmiany fazy, aby układ zamknięty znalazł się na granicy stabilności.Zapas fazy to przesuniecie fazowe wprowadzone w układ otwarty (bez zmian wzmocnienia), które doprowadza układ zamknięty do granicy stabilności.

Zapas fazy/modułu odczytujemy z ch. Nyquista bądź charakterystyk Bodego (logarytmicznych). Są to wielkości, o jakie możemy zwiększyć moduł dla częstotoliwości -PI tak, aby charakterystyka przechodziła przez pkt. -1 +j0 oraz  wielkość, o jaką możemy zwiększyć przesunięcie w fazie dla modułu o wartości 1.

Page 39: Pytanie 2 (PTCY) - Serwer studenckihome.elka.pw.edu.pl/~mmajchro/Pytania-ISID.doc · Web viewOdpowiedzi zostały zaczerpnięte z jego książki – „Podstawy projektowania układów

Pytanie 20 (IOP)

Proces projektowy RUP. Wymienić fazy procesu, opisać cele, czynności i wyniki kolejnych faz oraz wyjaśnić iteracyjny charakter opracowywania oprogramowania.

Proces tworzenia oprogramowania podzielony jest na cykle, gdzie każdy cykl reprezentuje tworzenie nowej generacji (wydania) produktu. RUP dzieli jeden cykl tworzenia oprogramowania na cztery kolejne fazy:1. inicjacji (ang.inception –rozpoczęcia);2. rozwinięcia (ang.elaboration);3. budowy (ang.construction);4. wdrożenia (ang.transition -przejścia);Każda faza kończy się tzw. kamieniem milowym – punktem w czasie, w którym muszą zostać podjęte pewne krytyczne decyzje. Każda faza ma swój specyficzny cel.

Każda faza RUP może zostać podzielona na iteracje. Iteracja jest kompletną „pętlą” tworzenia pewnej części finalnego produktu, który przyrasta inkrementalnie z jednej iteracji na drugą tworząc ostatecznie końcowy system. Korzyści podejścia iteracyjnego: łatwiejsze zażegnanie elementów ryzyka, większa zarządzalność zmianami, możliwość nauki zespołu projektowego w trakcie projektu, lepsza całkowita jakość.

Faza inicjacji - podczas fazy inicjacji: określa się zakres projektu, celowość projektu –w przybliżeniu ile będzie kosztował i jakie

korzyści przyniesie – oraz wszelkie inne kwestie biznesowe projektu; na kwestie biznesowe projektu składa się: ocena ryzyka, kryteria sukcesu, oszacowanie

potrzebnych zasobów oraz plan ukazujący daty głównych kamieni milowych; identyfikowane są wszystkie zewnętrzne jednostki, z którymi system będzie współdziałał

(aktorów) - natura tej interakcji jest określana na wysokim poziomie abstrakcji; współdziałanie z systemem wymaga zidentyfikowania wszystkich przypadków użycia

oraz opisania kilku najbardziej znaczących;

Wynikiem fazy inicjacji jest: dokument wizja – ogólna wizja zasadniczych wymagań projektowych, kluczowych cech i głównych ograniczeń; wstępny słownik projektu; wstępny model przypadków użycia; wstępna ocena ryzyka; plan projektu, ukazujący fazy i iteracje; jeden lub szereg prototypów; model biznesowy, jeśli jest niezbędny;

Kamień milowy: Cele projektu.Na końcu fazy inicjacji znajduje się pierwszy podstawowy kamień milowy projektu.Głównymi kryteriami oceny fazy inicjacji są: zgoda udziałowców co do definicji zakresu projektu oraz szacunku

kosztu/harmonogramu; zrozumienie wymagań oddane przez dokładność przypadków użycia;

Page 40: Pytanie 2 (PTCY) - Serwer studenckihome.elka.pw.edu.pl/~mmajchro/Pytania-ISID.doc · Web viewOdpowiedzi zostały zaczerpnięte z jego książki – „Podstawy projektowania układów

wiarygodność szacunku kosztów/harmonogramu, priorytetów, ryzyka; omówienie zaproponowanej architektury prototypowej; porównanie aktualnych wydatków w stosunku do planowanych wydatków;Jeżeli projekt nie przejdzie kamienia milowego może zostać odwołany bądź rozważony ponownie.

Celem fazy rozwinięcia jest: analiza domeny problemu, ustalenie właściwych podstaw architektury, rozwinięcie planu projektu, eliminacja elementów największego ryzyka dla projektu.Spełnienie tych celów wymaga posiadania dokładnego obrazu systemu. Faza rozwinięcia jest najbardziej krytyczną z czterech faz ponieważ ustalenie kompletności tej fazy jest jednoznaczne z podjęciem decyzji o budowie systemu oraz jego wdrożeniu, wiążących się z realizacją operacji o dużym ryzyku, wysokich kosztach i znacznej wewnętrznej inercji.Czynności realizowane w fazie rozwinięcia zapewniają, że architektura, wymagania oraz plany są na tyle stabilne, a ryzyko na tyle złagodzone, że istnieje możliwość określenia kosztów oraz harmonogramu zakończenia prac.

W fazie rozwinięcia budowany jest „wykonywalny” prototyp architektury w kilku iteracjach, zależnie od zakresu, rozmiaru, ryzyka oraz nowatorstwa projektu. Wysiłek ten powinien co najmniej dotyczyć krytycznych przypadków użycia zidentyfikowanych w fazie inicjacji,które zazwyczaj stanowią główne techniczne ryzyko dla projektu.Jednocześnie w fazie rozwinięcia może powstać jeden bądź kilka badawczych ( pomocniczych) prototypów, np. w celu demonstracji klientom czy użytkownikom końcowym.

Wynikiem fazy rozwinięcia jest: model przypadków użycia – wszystkie przypadki użycia zostały zidentyfikowane oraz

większość ich opisów została rozwinięta; wymagania uzupełniające opisujące wymagania niefunkcjonalne i dowolne inne

wymagania, które nie są związane z żadnym specyficznym przypadkiem użycia; opis architektury; wykonywalny prototyp architektury; skorygowana lista ryzyka; plan rozwoju całego projektu, ukazujący poszczególne iteracje i kryteria realizacji każdej

iteracji; opcjonalnie wstępny podręcznik użytkownika;

Kamień milowy: Architektura.Na końcu fazy rozwinięcia znajduje się drugi istotny kamień milowy projektu. W tym punkcie projektu oceniane są szczegółowe cele systemu oraz zakres, wybór architektury oraz rozwiązanie głównych elementów ryzyka.Głównymi kryteriami oceny fazy rozwinięcia jest ustalenie: czy wizja produktu jest stabilna; czy zaproponowana architektura jest stabilna; czy główne elementy ryzyka zostały uwzględnione i wiarygodnie rozwiązane; czy plan fazy budowy jest wystarczająco precyzyjny;

Page 41: Pytanie 2 (PTCY) - Serwer studenckihome.elka.pw.edu.pl/~mmajchro/Pytania-ISID.doc · Web viewOdpowiedzi zostały zaczerpnięte z jego książki – „Podstawy projektowania układów

czy wszyscy udziałowcy zgadają się, że wizja systemu zostanie osiągnięta jeżeli bieżący plan stworzenia kompletnego systemu zostanie wykonany w kontekście bieżącej architektury;

czy stan aktualnych wydatków w stosunku do planowanych wydatków jest akceptowalny;Jeżeli projekt nie przejdzie kamienia milowego może zostać porzucony bądź rozważony ponownie.

Podczas fazy konstrukcji wszystkie pozostałe komponenty oraz cechy aplikacji są rozwijane oraz integrowane w produkt jak również gruntownie testowane.W tej fazie podejście do projektu ulega przeobrażeniu z tworzenia własności intelektualnej podczas fazy inicjacji oraz rozwinięcia do tworzenia wdrażalnego produktu podczas fazy budowy oraz wdrożenia.Faza konstrukcji jest procesem wytwórczym, który kładzie nacisk na zarządzanie zasobami oraz koordynację operacji w celu optymalizacji kosztów, harmonogramu oraz jakości.

Wynikiem fazy konstrukcji jest: produkt software’owy przeznaczony na konkretną platformę; podręcznik użytkownika; opis bieżącego wydania oprogramowania;

Kamień milowy: Wstępne możliwości operacyjne.Na końcu fazy konstrukcji znajduje się trzeci istotny kamień milowy projektu. W tym punkcie projektu podejmowane są decyzje czy oprogramowanie może zostać przekazane użytkownikom do użytkowania. To wydanie oprogramowania jest często zwane wydaniem „beta”.Głównymi kryteriami oceny fazy konstrukcji jest ustalenie: czy wydanie produktu jest stabilne i dostatecznie dojrzałe do wdrożenia wśród

użytkowników; czy wszyscy udziałowcy są na to gotowi; czy stan aktualnych wydatków w stosunku do planowanych wydatków jest wciąż

akceptowalny;Wdrożenie może zostać odroczone jeżeli projekt nie przejdzie kamienia milowego.

Celem fazy wdrożenia jest wdrożenie produktu wśród użytkowników. Po wdrożeniu produktu zazwyczaj powstają kwestie wymagające stworzenia nowych wydań, poprawiających pewne problemy, lub uzupełnienia produktu o cechy odsunięte na dalszy plan.Wejście w fazę wdrożenia wymaga uzupełnienia pewnych części systemu do akceptowalnego poziomu jakości oraz dostarczenia dokumentacji użytkownika tak, aby wdrożenie mogło zostać skutecznie zakończone we wszystkich jego częściach. Wymaga to wykonania: weryfikacji (testów beta) nowego systemu w stosunku do oczekiwań użytkowników; równoległego działania ze starym systemem, który jest zamieniany; przebudowy istniejących baz danych; szkolenia użytkowników i operatorów, wstępnego wsparcia przy użytkowaniu produktu;Faza wdrożenia oddaje produkt w ręce użytkownika. Faza wdrożenia może być bardzo prosta, np. dla aplikacji desktopowej, bądź ekstremalnie złożona, np. dla narodowego systemu kontroli ruchu lotniczego.

Kamień milowy: Wydanie produktu.Na końcu fazy wdrożenia znajduje się czwarty ważny kamień milowy projektu.Głównymi kryteriami oceny fazy konstrukcji jest ustalenie:

Page 42: Pytanie 2 (PTCY) - Serwer studenckihome.elka.pw.edu.pl/~mmajchro/Pytania-ISID.doc · Web viewOdpowiedzi zostały zaczerpnięte z jego książki – „Podstawy projektowania układów

czy użytkownik jest usatysfakcjonowany; czy stan aktualnych wydatków w stosunku do planowanych wydatków jest wciąż akceptowalny;W tym punkcie zostają podjęte decyzje czy cele zostały spełnione i czy należy podjąćjeszcze jeden cykl rozwoju oprogramowania. W niektórych przypadkach ten kamień milowy może zbiec się z końcem fazy inicjacji następnego cyklu.

Page 43: Pytanie 2 (PTCY) - Serwer studenckihome.elka.pw.edu.pl/~mmajchro/Pytania-ISID.doc · Web viewOdpowiedzi zostały zaczerpnięte z jego książki – „Podstawy projektowania układów

Pytanie 21 (IOP)

Modele obiektowe. Scharakteryzować podstawowe modele analityczne i projektowe, wyjaśnić ich współzależności i zastosowanie w toku projektu.

Page 44: Pytanie 2 (PTCY) - Serwer studenckihome.elka.pw.edu.pl/~mmajchro/Pytania-ISID.doc · Web viewOdpowiedzi zostały zaczerpnięte z jego książki – „Podstawy projektowania układów

Pytanie 22 (SKM)

Wymienić rodzaje urządzeń służących do łączenia sieci, wskazać ich odniesienie do warstw OSI/ISO oraz porównać właściwości i zakres stosowania.

Warstwy modelu OSI/ISO 1. Fizyczna. Zadania warstwy fizycznej: zapewnienie dostępu do danych, kodowanie

strumienia danych. Media komunikacyjne: przewodowe (kable miedziane, światłowody), bezprzewodowe (radiowe (Bluetooth, WIFI), podczerwień (IrDA))

2. Łącza danych. Zdania warstwy łącza danych: dostęp do łącza, formatowanie i transmisja ramek, zapewnienie adresacji. Cechy protokołu dostępu do łącza: przystosowany do dużej zmienności sieci, optymalnie wykorzystujący łącze, posiadający priorytety - bez monopolizowania jednej stacji, odporny na zakłócenia i uszkodzenia. Protokoły można podzielić na deterministyczne (Token Ring, FDDI) i niedeterministyczne (Ethernet). Ponieważ Ethernet jest protokołem niedeterministycznym wprowadzono dodatkowy protokół rywalizacji o medium transmisji - CSMA/CD, czyli Carier Sense Multiple Acces with Collision Detection.Carier Sense - wykrywanie fali nośnej - nie nadajemy gdy medium jest zajęte,Multiple Acces - wielokrotny dostęp - jeżeli medium jest wolne dwie stacje mogą ropocząć nadawanie, następuje kolizja, Collision Detection - wykrywanie kolizji - po wykryciu kolizji stacja nadaje sekwencję zagłuszającą, po odczekaniu czasu zgodnego z algorytmem exponential backoff stacja ponawia próbę transmisji.

3. Sieciowa. Zadania warstwy sieciowej: dostarczenie logicznej adresacji. Istnieją różne protokoły warstwy sieciowej: Internet Protocol (IP), IPX, AppleTalk, NetBEUI.

4. Transportu: segmentacje danych w strumień i ponowne ich złożenie w punkcie docelowym, zapewnienie niezawodność przesyłu danych, zapewnienie parametrów jakości transmisji (QOS - Quality of Service), TCP i UDP.

5. Sesji: odpowiedzialna za sesje między dwoma procesami na różnych komputerach, implementowana jest przez system operacyjny, odpowiada za synchronizację danych między komputerami, określenie czy stacje mają uprawnienia do komunikacji przez sieć.

6. Prezentacji: odpowiedzialna za reprezentacje danych, implementowana przez system operacyjny, konwersja między standardami kodowania znaków.

7. Aplikacji: najbliżej użytkownika, przeglądarka WWW, klient poczty elektronicznej, aplikacje konferencyjne, FTP.

Implementacja każdej warstwy jest niezależna od innej. Każda warstwa ma zdefiniowany interfejs z warstwami sąsiednimi.

Komunikacja w modelu warstwowym warstwa modelu OSI/ISO dostając informacje z warstwy wyższej opakowuje ją w

niezbędne dla siebie informacje i przekazuje do warstwy niższej, porcja danych na poziomie warstwy N nosi nazwę N-PDU (Protocol Data Unit) i

składa się z trzech podstawowych części: 1. nagłówek 2. pole danych 3. zamknięcie

na samym dole dane są fizycznie przesyłane, a następnie kolejno rozpakowywane po stronie odbiorcy

Urządzenia do łączenia sieci:

Page 45: Pytanie 2 (PTCY) - Serwer studenckihome.elka.pw.edu.pl/~mmajchro/Pytania-ISID.doc · Web viewOdpowiedzi zostały zaczerpnięte z jego książki – „Podstawy projektowania układów

1) przekaźnik (repeater) – jest urządzeniem, które regeneruje sygnał elektryczny przesyłany za pomocą kabla sieciowego (podczas przesyłania sygnał ulega osłabieniu i odkształceniu, dlatego potrzebne jest jego wzmocnienie i regeneracja). Pozwala to na zwiększenie zasięgu sieci komputerowej poza ograniczenia wynikające z zastosowanego medium transmisyjnego. Przekaźnik działa na poziomie warstwy fizycznej modelu OSI, nie zmienia struktury sygnału, dwa segmenty sieci połączone nim muszą używać tej samej metody dostępu do medium transmisyjnego, mogą natomiast używać różnych mediów transmisyjnych.

2) koncentrator (hub) – jest urządzeniem posiadającym wiele portów służących do przyłączania stacji roboczych zestawionych przede wszystkim w topologii gwiazdy. Wadą podłączenia przy użyciu huba jest to, że wszystkie podłączone stacje robocze współdzielą przepustowość koncentratora – jednak są one urządzeniami nie wymagającymi obsługi i bardzo tanimi. Działają w warstwie łącza danych modelu OSI. Istnieje wiele urządzeń, które mogą być określane mianem "hub". W najprostszej postaci hub jest urządzeniem, w którym zbiegają się przewody od stacji roboczych. Istnieją huby pasywne oraz aktywne: a) hub pasywny - posiada kilka portów do podłączenia komputerów, terminali i innych

urządzeń. Cechą huba pasywnego jest to, że nie wzmacnia sygnałów - jest tylko skrzynką łączącą - i nie wymaga zasilania. Hubem pasywnym może być po prostu panel łączeniowy, czyli krosownica;

b) hub aktywny - zazwyczaj posiada więcej portów od huba pasywnego. Regeneruje sygnały przechodzące od jednego urządzenia do drugiego. Może być używany jako regenerator sygnału (repeater).

3) przełącznik (switch) – główną funkcją przełączników jest odbieranie pakietów z jednego portu, poddawanie ich filtrowaniu i wysyłanie ich do drugiego portu. Zapewniają więc zawsze i każdemu użytkownikowi pełną przepustowość sieci. Klasyczne przełączniki odczytują adresy zawarte w warstwie MAC, dlatego mogą obsługiwać dowolny protokół operujący w warstwie sieciowej modelu OSI. Natomiast przełączniki pracujące w trybie Layer 3 Switching (zwane też przełącznikami trasującymi) mają już dostęp do adresów sieciowych stacji docelowych (czyli na przykład w sieci Internet do adresów IP). Przełączniki używają do przesyłania pakietów najczęściej jednej z dwóch technologii: cut through (przełączanie bezzwłoczne, węzeł sieci czyta adres MAC i kieruje natychmiast pakiet do portu przeznaczenia, nie czekając nawet na koniec ramki, jest to bardzo szybkie, ale pakiety tak przekazywane nie są sprawdzane, więc wszelkiego rodzaju błędy i przekłamania nie są wykrywane przez przełącznik) oraz store and forward (węzeł sieci odczytuje całą ramkę, zapisuje ją w pamięci i dopiero wtedy odczytuje adres MAC; przełącznik sprawdza, czy pakiet został odebrany prawidłowo i dopiero wtedy kieruje go do portu przeznaczenia; praca jest wolniejsza ale prawie niezawodna). Przełączniki inteligentne zazwyczaj mają zaimplementowane obie metody i pracują w taki sposób, że na początku pracują w szybkim trybie cut through ale po przekroczeniu określonego poziomu błędów same przełączają się w wolniejszy ale pewniejszy tryb store and forward. W momencie powrotu sytuacji do normalności przełącznik taki z powrotem przechodzi w szybszy tryb działania. Przełącznik trasujący to z kolei taki przełącznik, który potrafi wyznaczać pakietom marszrutę, a więc działać nie tylko w drugiej (adresy MAC) ale również w trzeciej warstwie OSI (adresy IP). Przełączniki te realizują więc zadania stawiane przed routerami: określenie ścieżki dla pakietów IP opierając się na informacjach zawartych w warstwie trzeciej, sprawdzenie poprawności i integralności nagłówków warstwy trzeciej, weryfikacja czasu ważności pakietów, czuwanie nad bezpieczeństwem pakietów.

4) mostek (bridge) – działa w warstwie łącza, urządzenie posiadające 2 lub więcej portów, służące do łączenia segmentów w sieci. Gdy komputer z jednego segmentu wysyła

Page 46: Pytanie 2 (PTCY) - Serwer studenckihome.elka.pw.edu.pl/~mmajchro/Pytania-ISID.doc · Web viewOdpowiedzi zostały zaczerpnięte z jego książki – „Podstawy projektowania układów

wiadomość, mostek analizuje zawarte w niej adresy i jeśli nie jest to konieczne to nie rozsyła jej do innego segmentu, nigdy też nie rozsyła ramek do segmentu, z którego je otrzymał. Mostki nie potrafią jednak zablokować pakietów uszkodzonych. Most funkcjonuje jako samodzielne urządzenie (może zostać stworzony w serwerze przez zainstalowanie dodatkowych kart sieciowych, a system operacyjny musi udostępniać funkcję do jego obsługi), ale jednocześnie jest elementem składowym sieci. Może zostać użyty do rozdzielenia ruchliwej sieci na dwa segmenty, co spowoduje zwiększenie natężenia ruchu w każdym z segmentów. Główne powody instalowania mostów to: a) zwiększenie zasięgu lub liczby węzłów w całej sieci; b) zredukowanie nadmiarowego natężenia ruchu; c) łączenie różnych sieci (np. Ethernet z Token Ring); Każdemu z przyłączonych do mostu segmentów sieci LAN jest przypisywany unikalny numer sieci. Most powiela pakiety między przyłączone do niego segmenty. Mosty mogą odfiltrowywać ramki - odczytują adres zapisany w ramce sieci Ethernet lub Token Ring i na jego podstawie wprowadzają pakiet do sieci lub nie. Mosty nie mają jednak dostępu do informacji protokołów warstwy sieciowej, nie są więc w stanie dokonywać wyboru najlepszej trasy dla pakietów. W miarę rozrastania sieci powstaje problem związany z powstawaniem pętli i nieefektywnych dróg transmisji. Mosty nie rozwiązują też problemów związanych z powstawaniem zatorów. Zator powstaje w sytuacji, gdy wiele stacji próbuje rozsyłać dane w trybie rozgłaszania.

Mosty realizują następujące funkcje: a) powielanie ramek - most powieli pakiet do innego segmentu LAN tylko wtedy, gdy

adres tego pakietu będzie odpowiadał adresowi segmentu; b) wykrywanie pętli - rozbudowane sieci LAN z połączonymi segmentami mogą

zawierać pętle, w których pakiety będą krążyły bez końca, mosty z wykrywaniem pętli likwidują takie pakiety;

c) techniki uczenia się - mosty tworzą tablice adresów opisujące trasy: przez śledzenie przepływających pakietów lub przez specjalne pakiety (explorer packets), które krążąc po sieci rozpoznają jej topologię. W pierwszej metodzie wykorzystuje się mosty przeźroczyste (inteligentne, uczące się), drugą określa się jako routing źródłowy.

5) router – działa w warstwie sieciowej, to najbardziej zaawansowane urządzenie stosowane do łączenia segmentów sieci i zwiększania jej fizycznych rozmiarów. Router jest urządzeniem w pełni konfigurowalnym, pozwala sterować przepustowością sieci i zapewnia pełną izolację pomiędzy segmentami. Różnica pomiędzy routerem a mostem polega na tym, że routery są używane do przekazywania danych pomiędzy sieciami opartymi na różnych topologiach (łączone sieci muszą jednak używać tego samego protokołu warstwy sieciowej) oraz na większym zaawansowaniu technicznym. Głównym zadaniem routera jest przesłanie danych jak najlepszą trasą do miejsca docelowego. Do tego celu używają one tzw. tablic rutowania, budowanych statycznie przez administratora lub dynamicznie na podstawie informacji przekazywanych z innych urządzeń sieciowych (głównie routerów ale również przełączników trasujących) przy pomocy specjalnych protokołów rutowania (RIP, OSPF). Router potrafi przeprowadzić segmentację pakietów, ich składanie, buforowanie pakietów (dla sieci o różnych przepustowościach), sterowanie przepływem, konwersję adresów sieciowych na adresy MAC. Routery są integralną częścią Internetu, który jest zbiorem sieci opartych na różnych technologiach sieciowych. Informacje o stanie sieci dostępne są dla protokołów warstwy sieciowej. Mosty natomiast nie mają dostępu do tych informacji.

6) brama (gateway) – spełnia podobne funkcje do routerów jednak działa w warstwach OSI wyższych niż trzecia. Służy do łączenia sieci o radykalnie różnych zestawach protokołów. Połączenie następuje na poziomie warstwy aplikacji. Każda z „połówek” bramy odpowiada swoją architekturą strukturze danej sieci, zaś wspólną platformę stanowią

Page 47: Pytanie 2 (PTCY) - Serwer studenckihome.elka.pw.edu.pl/~mmajchro/Pytania-ISID.doc · Web viewOdpowiedzi zostały zaczerpnięte z jego książki – „Podstawy projektowania układów

usługi (programy transferu danych). Z powodu konieczności obsługi wielu warstw protokołów brama stanowi potencjalne wąskie gardło sieci.

7) TRANSCEIVER: Urządzenie nadawczo-odbiorcze łączące port AUI (Attachment Unit Interface) urządzenia sieciowego z wykorzystywanym do transmisji typem okablowania. Poza wysyłaniem i odbieraniem danych realizuje on funkcje wykrywania kolizji (przy jednoczesnym pojawieniu się pakietów danych), nie dopuszcza do przesyłania zbyt długich (>20 ms) pakietów danych (Jabber function) oraz wykrywa przerwy w linii światłowodowej.

Page 48: Pytanie 2 (PTCY) - Serwer studenckihome.elka.pw.edu.pl/~mmajchro/Pytania-ISID.doc · Web viewOdpowiedzi zostały zaczerpnięte z jego książki – „Podstawy projektowania układów

Pytanie 23 (SKM)

Scharakteryzować i porównać podstawowe metody sterowania ruchem pakietów w sieci (przełączanie, rutowanie statyczne i dynamiczne, MPLS)

Przełączanie: Przełączanie odbywa się na podstawie adresów ARP wykorzystując tablice adresów ARP w przełącznikach. Przełączanie odbywa się z wykorzystaniem metod „cut-through” albo „store-and-forward”.

Rutowanie statyczne: statyczne tablice routingu, routery zawsze wybierają dla pakietu tę drogę, którą nakazał im administrator i w razie awarii części sieci nie mogą samodzielnie wybrać innej. Błędy w konfiguracji statycznego routingu mają zasięg raczej lokalny (najbliższe segmenty w otoczeniu routera). Pozostała część sieci zazwyczaj działa bez zarzutów.

Rutowanie dynamiczne (RIP, IGRP, EIGRP, OSPF, BGP, IS-IS): każda pomyłka może mieć po relatywnie krótkim czasie globalne skutki, w przeciwieństwie do routingu statycznego.Protokoły rutujące:

Protokoły stanu łącza: OSPF, IS-IS Protokoły wektora odległości: RIP, EIGRP i BGP Protokoły bramy zewnętrznej EGP Protokoły bramy wewnętrznej IGP, IGRP

1) RIP: Jest to protokół routingu działający na podstawie wektora odległości. Do utworzenia metryki złożonej stosuje się jedynie liczbę przeskoków. Aktualizacje routingu są rozgłaszane domyślnie co 30 sekund. RIP wysyła informacje o trasach w stałych odstępach czasowych oraz po każdej zmianie topologii sieci. Dobrze opisany i łatwy w konfiguracji. Wolny czas konwergencji (inaczej długi czas osiągania zbieżności), niemożliwość skalowania powyżej 15 skoków, a także wybór mało optymalnych ścieżek.

2) OSPF (Open Shortest Path First) - w wolnym tłumaczeniu: "otwórz/wybierz na początku najkrótszą ścieżkę"; jest protokołem routingu typu stanu łączy (Link State). W przeciwieństwie do protokołu RIP, OSPF charakteryzuje się dobrą skalowalnością, wyborem optymalnych ścieżek i brakiem ograniczenia skoków powyżej 15. Przeznaczony jest dla sieci posiadających do 50 routerów w obszarze. Cechami protokolu OSPF są: routing wielościeżkowy, routing najmniejszym kosztem i równoważne obciążenia. OSPF jest protokołem typu link-state jedynie wewnątrz obszaru. Oznacza to, że w ramach pojedynczego obszaru wszystkie routery znają całą jego topologię i wymieniają się między sobą informacjami o stanie łącz, a każdy z nich przelicza trasy samodzielnie wykorzystując algorytm Dijkstry. Między obszarami OSPF działa jak protokół typu distance-vector, co oznacza, że routery brzegowe obszarów wymieniają się między sobą gotowymi trasami. Istnienie obszaru zerowego umożliwia trasowanie pakietów pomiędzy obszarami bez powstawania pętli.

3) IGRP (Interior Gateway Routing Protocol), czyli protokół routingu bramy wewnętrznej, jest jednym z protokołów sieciowych kontrolujących przepływ pakietów wewnątrz tzw. systemu autonomicznego (sieć lub grupa sieci pod wspólną administracyjną kontrolą, w której utrzymywany jest spójny schemat działania). Cechy protokołu:a) Działa na podstawie algorytmu wektora odległości.b) Decyzje co do ścieżki, na którą skierować pakiet są podejmowane przez Router

wykorzystujący IGRP na podstawie metryki złożonej wyliczonej z szerokości pasma, obciążenia, opóźnienia i niezawodności.

c) Aktualizacje routingu są rozgłaszane tylko po zmianie stanu sieci.

Page 49: Pytanie 2 (PTCY) - Serwer studenckihome.elka.pw.edu.pl/~mmajchro/Pytania-ISID.doc · Web viewOdpowiedzi zostały zaczerpnięte z jego książki – „Podstawy projektowania układów

d) IGRP jest protokołem "własnościowym", opracowanym przez jedną z największych firm sieciowych Cisco.

4) EIGRP – właścicielski protokół Cisco Systems typu balanced hybrid przeznaczony do routingu wewnątrz systemu autonomicznego. Jest to protokół distance-vector z pewnymi cechami protokołów typu link-state, jak np. utrzymywanie relacji sąsiedzkich z przyległymi routerami i utrzymywanie tablicy topologii. Używany w sieciach o wielkości nieprzekraczającej 50 routerów. Od protokołów typu link-state odróżnia go fragmentaryczna wiedza o strukturze sieci (jedynie połączenia do sąsiadów), a co za tym idzie nie wykorzystuje algorytmu Dijkstry Shortest Path First do przeliczania tras. Chętnie wykorzystywany ze względu na łatwą konfigurację i krótki czas konwergencji.

MPLS: Technologia MPLS (ang. Multi Protocol Label Switching), wprowadza mechanizmy zarządzania ruchem (Traffic Management) do sieci opartych o protokół IP (Internet Protocol). MPLS jest rezultatem połączenia technologii przełączania, którą nadal z powodzeniem stosuje się w sieciach szkieletowych (ATM, Frame Relay) z protokołem IP stosowanym na brzegu sieci. MPLS pozwala mapować usługi transportu warstwy trzeciej (IP) na mechanizmy transportowe warstwy drugiej, podobnie jak ma to miejsce w ATM. Na przykład: MPLS pozwala na dodanie do każdego pakietu IP etykiety z informacją o ścieżce (podobnie jak ścieżki PVC w sieci ATM). Implementacje MPLS nie należą do tanich, dlatego są przeprowadzane przede wszystkim w dużych sieciach szkieletowych.

Page 50: Pytanie 2 (PTCY) - Serwer studenckihome.elka.pw.edu.pl/~mmajchro/Pytania-ISID.doc · Web viewOdpowiedzi zostały zaczerpnięte z jego książki – „Podstawy projektowania układów

Pytanie 24 (BSS)

Wymienić i scharakteryzować cele (aspekty) ochrony informacji. Co to jest uwierzytelnianie?

Cele:Poufność – zabezpieczenie informacji przed nieuprawnionym odczytaniem. Podstawowy cel uzyskiwany przez szyfrowanie danych. Uwierzytelnienie – stwierdzenie tożsamości oraz uprawnień osoby chcącej uzyskać dostęp do informacji. Integralność – zapewnienie spójności danych i systemu. Uniemożliwienie niedostrzeżonej modyfikacji przez niepowołane osoby. Dostępność – uniemożliwienie zniszczenia danych lub zakłócenia systemu, które mogłoby spowodować utratę danych lub zaburzenie pracy organizacji. Niezaprzeczalność – zapewnienie kontroli nad systemem. Realizowana przez mechanizm pozostawiania śladu w systemie z informacją kto zainicjował istotną z punktu widzenia bezpieczeństwa systemu czynność.

Uwierzytelnianie jest procesem mającym na celu upewnienie co najmniej jednej z dwóch stron biorących w nim udział o tożsamości drugiej strony.

Page 51: Pytanie 2 (PTCY) - Serwer studenckihome.elka.pw.edu.pl/~mmajchro/Pytania-ISID.doc · Web viewOdpowiedzi zostały zaczerpnięte z jego książki – „Podstawy projektowania układów

Pytanie 25 (BSS)

Scharakteryzować symetryczne i asymetryczne algorytmy szyfrowania. Omówić podobieństwa i różnice między obydwoma rodzajami szyfrowania.

Szyfrowanie symetryczne (konwencjonalne) Jeden klucz do szyfrowania i odszyfrowania Algorytmy szybkie

Szyfrowanie asymetryczne (z kluczem publicznym) Jeden klucz do szyfrowania a drugi do odszyfrowania, klucz publiczny jest ogólnie

dostępny, Drugi klucz prywatny jest kluczem tajnym Nie ma możliwości wyzna$czenia klucza prywatnego na podstawie znajomości klucza

publicznego Osoba chcąca przesłać zaszyfrowaną informację do drugiej szyfruje ją kluczem

publicznym odbiorcy, odbiorca może ją odszyfrować swoim kluczem prywatnym

Zalety algorytmów symetrycznych: Krótkie klucze szyfrujące Duża szybkość działania Możliwość wykorzystania z innymi algorytmami (np. MAC) Możliwość łączenia algorytmówWady algorytmów symetrycznych: Konieczność częstej zmiany kluczy Problem wymiany klucza Konieczność utrzymywania klucza w sekrecie i jego współdzielenia.Zalety algorytmów asymetrycznych: W sekrecie utrzymujemy klucz prywatny, Odpowiednio silna para kluczy nie musi być często zmieniana, W systemach dla wielu użytkowników – prostota w zarządzaniu i współdzieleniu kluczy. Nie ma problemu z wymianą klucza szyfrującego Wady algorytmów asymetrycznych: Konieczność zapewnienia autentyczności dla klucza publicznego, Niska szybkość działania, Długie klucze, Nie udowodniono formalnie bezpieczeństwa.

Symetryczne algorytmy szyfrowania:Lucyfer, DES, AES, IDEA, TwoFishAsymetryczne algorytmy szyfrowania:RSA, DSA

Page 52: Pytanie 2 (PTCY) - Serwer studenckihome.elka.pw.edu.pl/~mmajchro/Pytania-ISID.doc · Web viewOdpowiedzi zostały zaczerpnięte z jego książki – „Podstawy projektowania układów

Pytanie 26 (IW)

Scharakteryzować podstawowe metody reprezentacji wiedzy oraz porównać zalety i wady tych metod. Wyjaśnić pojęcia reprezentowane przez zbiory przybliżone i rozmyte.

Zdania, formuły zdaniowe:Opis cech formułowany jest w postaci zdań, przy czym zdanie prawdziwe ma wartość 1, zaś zdanie fałszywe – wartość 0; zdania oznaczamy symbolami (A, B, C, ...), możemy je łączyć (tworząc tym samym wyrażenia logiczne, tzw. formuły zdaniowe) za pomocą funktorów zdaniotwórczych, takich jak negacja , koniunkcja , alternatywa, implikacja, czy równoważność.Przykłady zdań:

„INFLACJA PRZEKIRACZA 5%” DOCHÓD(POSEŁ) > 4*DOCHÓD_PRZECIĘTNY

Przykład formuły zdaniowej: „ROZLICZENIA INDYWIDUALNE” „PODSTAWA OBLICZANIA PODATKU

NIE PRZEKRACZA 40%” „PODATEK WYNOSI 19%”

Agregaty (stwierdzenia):Dotyczą zjawisk, zdarzeń, objawów, czynności; zapisujemy je najczęściej postaci uporządkowanej trójki: <OBIEKT, ATRYBUT, WARTOŚĆ>. Mogą być:

Dwuelementowe: <INFLACJA, 10%> Trójelementowe: <ZBIORNIK, POZIOM_WODY, 5m> Wieloelementowe, np.:

o Dodano czas: <DOLAR, CENA, 3,5zł, 22.06.2006 00:00:00>o Dodano poziom pewności: <JUTRO, POGODA, DESZCZ, 50%>o Itd…

Predykaty, formuły predykatowe:Wartością każdego predykatu jest TRUE albo FALSE. Predykaty mogą być:

Bezargumentowe (zdanie albo stan) – PADA, JEST_WIOSNA Jednoargumentowe (cecha lub stan) – ŁYSY(x), USZKODZONY(x) Dwuargumentowe (relacja) – RÓWNE(x,5), WYNOSI(PODATEK, 20%) Wieloargumentowe (funkcja, charakterystyka) – ODLEGŁOŚĆ (W-WA, KRAKÓW,

300), MA(ABACKI, WYKSZTAŁCENIE, WYŻSZE, DZIECI, 3)

Formuła predykatowa jest tym dla predykatów, czym formuła zdaniowa dla zdań (wprowadza , , , , , (, ) ) oraz dodatkowo wprowadza kwantyfikatory (dla każdego) i

(istnieje taki, że), Główną zaletą predykatów są proste i zrozumiałe interpretacje wyrażenia zdań. Przykład formuły predykatowej:

PRACOWNIK(x) WIĘKSZY(ZAROBEK(x), 300) PŁACI_PODATEK(x) INFORMATYK(x) JĘZYK_PROGRAMOWANIA(y) ZNA(x,y)

Page 53: Pytanie 2 (PTCY) - Serwer studenckihome.elka.pw.edu.pl/~mmajchro/Pytania-ISID.doc · Web viewOdpowiedzi zostały zaczerpnięte z jego książki – „Podstawy projektowania układów

Reguły:Zbiór faktów (stwierdzeń) najczęściej nie jest wystarczający do opisania jakiejś dziedziny wiedzy. Potrzebne są reguły, których ogólna postać może być wyrażona jako: IF przesłanka THEN konkluzja1 ELSE konkluzja2. Reprezentacja regułowa często jest wykorzystywana w systemach dedukcyjnych, gdzie zbiór faktów początkowych jest przekształcany w pewien zbiór faktów końcowych. Zebrane reguły możemy traktować jako pewien szczególny sposób zapisu sieci stwierdzeń, ponieważ z faktu prawdziwości jednego stwierdzenia mogą wynikać inne.Przykładowe reguły:

TEMPERATURA JEST WYSOKA PACJENT JEST CHORY A>B B>C A>C

Reguły możemy podzielić na dwie grupy, które charakteryzują się różnym sposobem uzyskania ostatecznych konkluzji:

reguły proste  - mają postać wniosków pośrednich, reguły złożone - umożliwiają bezpośrednie wyznaczenie wniosków przez system.

Konkretny przykład:System ma wygenerować decyzję o przyznaniu kredytu klientowi. Każdy klient posiada 6 atrybutów: DOCHÓD, ZABEZPIECZENIE, ZADŁUŻENIE, WIEK, PŁYNNOŚĆ_FINANSOWA, RENTOWNOŚĆ_PRODUKCJI. Każdy z atrybutów może przyjąć jedną z 3 wartości (MAŁY, ŚREDNI, DUŻY).

Wykorzystując reguły złożone należy napisać 36=769 reguł po 6 elementów każda. Wykorzystując reguły proste można przykładowo napisać 27 reguł o 2 elementach i

27 reguł o 3 elementach:o DOCHÓD(3), ZABEZPIECZENIE(3) GWAR_KRED(3)o ZADŁUŻENIE, WIEK ST_RYZYKA(3)o PŁYNNOŚĆ_FIN.(3), RENTOWNOŚĆ_PROD.(3) SYT_FIN.(3)o GWAR_KRED(3), ST_RYZYKA(3), SYT_FIN.(3) DECYZJA

Zaletą reguł prostych jest łatwość weryfikacji zbioru reguł i ograniczenie ich redundacji. Wadą jest potrzeba realizacji złożonych działań przez maszynę wnioskującą. Wnioskowanie wymaga uruchomienia wielu reguł. Kolejne wnioski pośrednie, które zostały udowodnione tworzą łańcuch wnioskowania.Zaletą reguł złożonych jest to, że nie wymagają maszyn wnioskujących o skomplikowanym sposobie działania. Wynika to z tego, że każda z reguł w konkluzji zawiera jakiś wynik końcowy. Do osiągnięcia wyniku wystarcza uaktywnienie jednej reguły. Wadą jest trudność w formułowaniu odpowiedniego zbioru reguł, złożony sposób jego weryfikacji oraz uzupełniania oraz bardzo duża liczba reguł (iloczyn kartezjański wszystkich możliwych wartości wszystkich atrybutów).

Zbiory przybliżone i zbiory rozmyte są metodami służącymi do reprezentowania niepewności. Zbiory przybliżone reprezentują logikę kilkuwartościową, np. trójwartościową (TAK, NIE, NIE WIADOMO), (MAŁO, DUŻO, ŚREDNIO), zaś zbiory rozmyte opisane są funkcjami i reprezentują logikę wielowartościową typu „prawdziwe do pewnego stopnia”, nadają się szczególnie dobrze do opisu niepewności decydenta co do jego preferencji.

Page 54: Pytanie 2 (PTCY) - Serwer studenckihome.elka.pw.edu.pl/~mmajchro/Pytania-ISID.doc · Web viewOdpowiedzi zostały zaczerpnięte z jego książki – „Podstawy projektowania układów

Pytanie 27 (IW)

Przedstawiać zasady i podstawy logiczne automatycznego wnioskowania

Wnioskowanie polega na wykorzystaniu przekształcenia , gdzie: F – Fakty, mogą być:

o znane a priorio podane przez użytkownika w trakcie wnioskowaniao wynikiem dopasowania pewnych reguł do już znanych faktów (rozszerzanie

zbioru danych) W – Wiedza, stały zbiór reprezentujący wiedzę ekspertów na pewien temat (a priori),

np. w postaci reguł C – Cel R – Reguła wnioskowania

o rezolucja – (najważniejszy, reszta to szczególne przypadki)

o modus ponens –

o modus tollens –

o sylogizm hipotetyczny -

Istnieją różne warianty takiego przekształcenia: Czy to prawda, że ? (dane F i C) Jakie C może być spowodowane przez F? (dane F) Dla jakich F zachodzi C? (dane C) Dla jakich x zachodzi C(x)? (dane C(x)) Jak pewne jest C? (dane C)

W każdym z powyższych wariantów należy przeprowadzić wnioskowanie . Istnieje kilka sposobów przeprowadzania wnioskowania:

Wnioskowanie na podstawie danych (wprzód)Do posiadanych danych dopasowujemy wszystkie reguły, które pasują. Po każdym takim kroku powiją nowe dane, które są dołączane do początkowych (rozszerzanie zbioru danych). Krok ten powtarzany jest tak długo, aż cel zostanie osiągnięty, bądź cel nie zostanie osiągnięty i nowo dopasowane reguły nie wygenerują żadnych nowych faktów.

Wnioskowanie na podstawie celu (wstecz)Wnioskowanie na podstawie celu składa się z następujących kroków1. Określenie celu2. Wyznaczenie reguły o konkluzji zgodnej z celem3. Określenie podceli

Page 55: Pytanie 2 (PTCY) - Serwer studenckihome.elka.pw.edu.pl/~mmajchro/Pytania-ISID.doc · Web viewOdpowiedzi zostały zaczerpnięte z jego książki – „Podstawy projektowania układów

4. Uzgodnić podcele z dostępnymi faktami. Jeżeli pewne fakty nie są znane, pytać użytkownika. Jeżeli podcele potwierdzone – cel osiągnięty, STOP.

5. Jeżeli nie, to uzgodnić podcele z konkluzjami innych reguł.6. Skok do 4.

Page 56: Pytanie 2 (PTCY) - Serwer studenckihome.elka.pw.edu.pl/~mmajchro/Pytania-ISID.doc · Web viewOdpowiedzi zostały zaczerpnięte z jego książki – „Podstawy projektowania układów

Pytanie 30 (ISR)

Robot jako agent upostaciowiony. Opis działania poprzez funkcje przejścia. Sterowanie behawioralne i deliberatywne.

Robot może być traktowany jako agent upostaciowiony (mający rzeczywiste „ciało”, czyli sensory i efektory, który może oddziaływać na otoczenie). Stan robota (agenta) aj można wtedy opisać jako (bardziej ogólny przypadek wielu agentów):

sj = <cj, ej, Vj, Tj>, gdzie j = 1, ..., na

gdzie: cj – określa stan podsystemu sterowania (zmienne, stan programu, itp.), ej – stan efektorów agenta, Vj – zestaw odczytów czujników wirtualnych agenta, Ti – informacje wysłane/odebrane do/od innych agentów.

Podsystem sterowania robota zawiera następujące komponenty: – obraz efektorów (np. pozycja enkodera, wychylenia kątowe przegubów), – obraz czujników wirtualnych. (np. ich odczyty i konfiguracja), – dane wymieniane między agentami, – wszystkie inne znaczące zmienne.Działanie agenta w czasie dyskretnym można wyrazić poprzez funkcję przejścia z chwili czasu i do i+1:

Page 57: Pytanie 2 (PTCY) - Serwer studenckihome.elka.pw.edu.pl/~mmajchro/Pytania-ISID.doc · Web viewOdpowiedzi zostały zaczerpnięte z jego książki – „Podstawy projektowania układów

"Myśl sposobem w jaki działasz." Sterowanie behawioralne czerpie swoją inspirację w biologii i usiłuje modelować sposób, w jaki zwierzęta radzą sobie z rozwiązywaniem złożonych problemów przez równoczesne myślenie i działanie. Systemy behawioralne, podobnie jak hybrydowe (reaktywno-deliberatywne) posiadają różne „części” lub warstwy, ale w przeciwieństwie do nich te warstwy nie różnią się tak znacząco od siebie. Wszystkie są traktowane jako zachowania, czyli procesy, które na podstawie wejść w szybki sposób przesyłają do siebie wyjścia. Kiedy robot musi coś zaplanować, robi to przez sieć zachowań, które komunikują się ze sobą w przeciwieństwie do podjedyńczego plannera, jak w systemach hybrydowych. Obecnie systemy behawioralne są obecnie alternatywą dla systemów hybrydowych – mają podobne możliwości i są tak samo popularne. Stanowią jednak odrębną grupę i są używane do realizacji innych zadań.

Cechy systemów behawioralnych: alternatywne do systemów hybrydowych łączą możliwości podejścia reaktywnego i bazującego na modelu

– mogą działać reaktywnie, ale– mają też zdolność do planowania swych działań z wykorzystaniem modelu

nie ma pośredniej warstwy – jednolita struktura jednolity, spójny sposób opisu dla całego systemu – współbieżne „zachowania” zachowania są układami sterowania ze sprzężeniem zwrotnym zachowania służą do osiągania celu/wykonania zadania (np. unikaj kolizji, idź do bazy)

zachowania wykonują się zazwyczaj współbieżnie zachowania mogą bezpośrednio łączyć czujniki i efektory mogą korzystać z innych zachowań i oddziaływać na inne zachowania (możliwe jest

tworzenie sieci zachowań) mogą pamiętać stan i wykorzystywać go do tworzenia modelu środowiska zachowania są zwykle bardziej złożone niż reakcje (np. wracaj do bazy a nie skręć w lewo

o 10 stopni)

“Przemyśl dobrze, potem działaj.” W sterowaniu deliberatywnym robot bierze wszystkie dane dostępne z czujników oraz całą wewnętrznie przechowywaną wiedzę i na tej podstawie wnioskuje tworząc plan działań. W tym celu robot przeszukuje wszystkie potencjalnie wszystkie możliwe plany, aż znajdzie ten, który prowadzi do celu. To wymaga przewidywania i wnioskowania w sposób: „jeżeli wykonam to i stanie się tamto, to jeżeli potem wykonam jeszcze coś innego stanie się coś tam...” itd. Może to wymagać długiego czasu, co jest niepraktyczne jeśli robot musi reagować szybko. W przypadku kiedy czas nie gra większej roli możliwe jest natomiast strategiczne działanie robota.

Cechy systemów deliberatywnych (bazujących na modelu) działanie na zasadzie „wyczuwaj-planuj-działaj” (sense-planact) z założenia sekwencyjne (w/w czynności są wykonywane kolejno) planowanie wymaga przeszukiwania, które jest wolne (czasochłonne) przeszukiwanie wymaga modelu środowiska w czasie trwania obliczeń mogą zajść zmiany w środowisku i użyty model może być

nieadekwatny algorytmy planowania są złożone zatem faza planowania jest zazwyczaj zbyt długa (dla

działania w rzeczywistych środowiskach)

Page 58: Pytanie 2 (PTCY) - Serwer studenckihome.elka.pw.edu.pl/~mmajchro/Pytania-ISID.doc · Web viewOdpowiedzi zostały zaczerpnięte z jego książki – „Podstawy projektowania układów

Pytanie 31 (ISR)

Autonomiczna nawigacja robotów. Przedstawić zadania składowe i omówić główne metody ich rozwiązania.

Robot autonomiczny jest przykładem maszyny, która musi sama, na podstawie informacji otrzymanych ze swoich czujników i przetworników, wypracować wszystkie sygnały sterujące. Ilość, rodzaj i jakość (dokładność, szybkość, powtarzalność, itp.) czujników jest zdeterminowana zadaniami realizowanymi przez maszynę, oraz sposobem poruszania.

Zadanie nawigacji jest kombinacją następujących czynności:1. Percepcji – pomiaru za pomocą rożnych czujników stanu środowiska.2. Samo-lokalizacji robota – określenia pozycji robota w danym układzie odniesienia.3. Planowania ścieżki – wyznaczenia ścieżki przejścia z pozycji aktualnej do zadanej

pozycji docelowej.4. Budowy mapy środowiska – tworzenie wzajemnie jednoznacznego odwzorowania

środowiska w pewną reprezentację wewnętrzną.5. Wykrywania i unikania kolizji – lokalnej modyfikacji ścieżek ruchu w celu uniknięcia

kolizji z przeszkodami.6. Sterowania ruchem – obliczenie wielkości sterujących dla napędów robota.

1. ???? 2. Samo-lokalizacja : Typowe sformułowanie zadania:

Dane: Model środowiska w postaci mapy geometrycznej (np. siatka) lub mapy topologicznej (graf).Zadanie: Określenie (estymacja) pozycji robota w środowisku na podstawie obserwacji. Obserwacje składają się z danych pomiarowych z czujników odometrycznych oraz danych uzyskanych z czujników zbliżeniowych, odległości lub kamer wizyjnych.Podział podejść do problemu lokalizacji. Kryteria podziału:• Zasięg: Lokalne GlobalneLokalne: śledzenie pozycji robota. Zalety – efektywność i dokładność; Wady – możliwość określenia pozycji robota na małym obszarze, konieczna znajomość pozycji początkowej.Globalne: określenie pozycji robota w globalnym układzie odniesienia. Zalety – możliwość określenia pozycji robota bez znajomości jego pozycji początkowej, możliwość ponownej lokalizacji robota po „zagubieniu się”; Wady – duża złożoność obliczeniowa.• Środowisko: statyczne dynamiczneStatyczne – zakłada się, że tylko robot porusza się w środowisku lub ruch nie może być wykryty przez czujniki robota.Dynamiczne – obiekty w otoczeniu robota mogą przemieszczać się (np. przesuwanie mebli, otwieranie/zamykanie drzwi, poruszający się ludzie).• Zachowanie: bierne aktywneBierne – zakłada się, że dla potrzeb lokalizacji robot nie wykonuje dodatkowych ruchow oraz nie steruje się czujnikami.Aktywne – zakłada się konieczność przemieszczenia robota przy lokalizacji w celu eliminacji niejednoznaczności określenia pozycji np. ze względu na bardzo podobne otoczenie (widziane przez czujniki) w rożnych obszarach środowiska. • Liczba robotów: pojedynczy robot wiele robotówLokalizacja pojedynczego robota – wszystkie dane są gromadzone w jednym robocie, nie ma potrzeby komunikacji w trakcie lokalizacji.

Page 59: Pytanie 2 (PTCY) - Serwer studenckihome.elka.pw.edu.pl/~mmajchro/Pytania-ISID.doc · Web viewOdpowiedzi zostały zaczerpnięte z jego książki – „Podstawy projektowania układów

Lokalizacja wielu roboóow – lokalizacja zespołu robotów. Jeśli roboty mogą nawzajem wykrywać się i komunikować problem lokalizacji może być rozwiązany sprawniej i lepiej niż gdyby każdy robot miałby lokalizować się niezależnie.Metody pomiaru pozycji (samo-lokalizacji) robota.• Odometria – najprostszy sposób lokalizacji polegający na obliczeniu względnego liniowego przemieszczenia pojazdu na podstawie odczytów z enkoderów mierzących kąt obrotu kół napędowych (lub wałów silników). Odometria obarczona jest błędami systematycznymi, które się ciągle kumulują (nierówne średnice kół, rzeczywiste wymiary kół oraz ich rozmieszczenie są różne od nominalnych, skończona rozdzielczość enkodera) oraz błędami niesystematycznymi (ruch po nierównym podłożu, jeżdżenie po przedmiotach (obiektach) leżących na podłożu, ślizganie się kół (śliskie podłoże, gwałtownie przyspieszenie, szybkie skręcanie, niepunktowy kontakt koła z podłożem, działanie sił zewnętrznych i wewnętrznych).• Nawigacja inercyjna – wykorzystuje żyroskopy i akcelerometry do pomiaru prędkości obrotu i przyspieszenia; poprzez całkowanie jedno- lub dwukrotne uzyskuje się położenie.• Bezwzględny pomiar pozycji:

Aktywne latarnie kierunkowe (beacons) – obliczanie absolutnego położenia na podstawie kierunku promieniowania trzech lub więcej nadajników (ultradźwięków, światła lub fal radiowych) o znanych położeniach.

o Trilateracja – obliczenie położenia pojazdu na podstawie pomiaru odległości do znanych latarni (trzy lub więcej nadajników rozmieszczonych w znanych pozycjach i jeden odbiornik na pokładzie robota); GPS, systemy ultradźwiękowe.

o Triangulacja – pomiar katów, pod którymi odbiornik (obracający się czujnik) znajdujący się na pokładzie robota „widzi” trzy lub więcej nadajnikow umieszczonych w znanych lokalizacjach.

Rozpoznawanie sztucznych znaczników (terenowych znaków orientacyjnych) – charakterystyczne (wyróżniające się) znaki są rozmieszczane w środowisku w znanych położeniach; do obliczenia położenia konieczne jest znajdowanie się w polu widzenia robota co najmniej trzech znaczników.

Rozpoznawanie naturalnych znaczników – metoda wykorzystuje jako znaczniki naturalne charakterystyczne elementy środowiska (terenu); nie ma potrzeby przygotowania środowiska, ale musi być ono wcześniej znane.

Systemy nawigacji ze znacznikami (podsumowanie poprzednich 2 punktów)o Naturalne znaczniki zapewniają elastyczność i nie wymagają zmian w

środowisku.o Sztuczne znaczniki są tanie i dostarczają dodatkowej informacji

zakodowanej jako wzory lub kształty.o Dokładność pozycjonowania zależy od odległości i kąta między robotem i

znacznikami, im mniejsza odległość tym dokładniejsze pomiary.o Warunki otoczenia, takie jak oświetlenie, widoczność, mogą znacząco

wpływać na rozpoznawanie znaczników (mylenie z innymi obiektami).o Wymagana jest przybliżona pozycja startowa, w której robot „wie” gdzie

szukać znaczników (w przeciwnym przypadku konieczne jest czasochłonne poszukiwanie znaczników).

o Musi być utrzymywana i aktualizowana baza danych o znacznikach i ich lokalizacji w terenie.

Dopasowanie modelu (lokalizacja na mapie) – informacja z czujników jest porównywana (dopasowywana) do mapy lub modelu otoczenia; jeśli cechy z mapy

Page 60: Pytanie 2 (PTCY) - Serwer studenckihome.elka.pw.edu.pl/~mmajchro/Pytania-ISID.doc · Web viewOdpowiedzi zostały zaczerpnięte z jego książki – „Podstawy projektowania układów

utworzonej na podstawie odczytów czujników są dopasowane do mapy otoczenia wówczas może być oszacowane bezwzględne położenie.Podział ze względu na sposób reprezentacji (aproksymacji) funkcji wiarygodności Bel.Ciągłe:• Filtr Kalmana-Bucy. Aproksymacja funkcji wiarygodności za pierwszego i drugiego momentu rozkładu normalnego (wartość oczekiwana i kowariancja). Założenia: model percepcji oraz dynamiki układu (akcji) są liniowe względem stanu z dodatkowym addytywnym szumem gaussowskim. Stan początkowy ma rozkład normalny (unimodalny). Przy tych założeniach filtr Kalmana jest optymalnym estymatorem stanu. Cechy: wysoka efektywność – złożoność wielomianowa względem wymiaru przestrzeni stanu. Wykorzystywane w zdaniu jednoczesnej lokalizacji i mapowania (SLAM) do estymacji pozycji robota i znaczników. Główne zastosowanie do lokalizacji lokalnej – śledzenia pozycji.• Rozszerzony Filtr Kalmana. Nieliniowości są aproksymowane za pomocą linearyzacji wokół bieżącego stanu. Filtr nieoptymalny.• Śledzenie wielu hipotez. Reprezentacja funkcji wiarygodności przez mieszaniny gaussowskie. Każda hipoteza jest reprezentowana przez rozszerzony filtr Kalmana. Można stosować do problemu globalnej samolokalizacji.Dyskretne:• Siatki z stałą/zmienną rozdzielczością (wielkością komorek). Bazują na dyskretnej przedziałami stałej reprezentacji funkcji wiarygodności. Metryczna aproksymacja umożliwia dokładną estymację pozycji robota z dużą odpornością na szumy czujnikow pomiarowych. Wada – duża złożoność obliczeniowa – rosnąca wykładniczo z liczbą wymiarow przestrzeni stanow. Każda komorka musi być odświeżona po każdej obserwacji (odczycie czujnikow).• Topologiczne. Bazują na symbolicznych, grafowych reprezentacjach środowiska. Przestrzeń stanu robota składa się ze zbioru dyskretnych, lokalnie rozrożnialnych lokalizacji takich jak: narożniki, przecięcia korytarzy, drzwi, charakterystycznych obiektow, itp. Cechy: duża efektywność obliczeniowa, skalowalność – złożoność struktury topologicznej nie zależy bezpośrednio od rozmiaru wyjściowej przestrzeni stanu. Wada: zazwyczaj mała dokładność – tylko zgrubna informacja o pozycji robota.• Filtry cząsteczkowe. Funkcja wiarygodności jest aproksymowana przez zbiór próbek (cząsteczek). Filtry cząsteczkowe mogą aproksymować gęstości dowolnych rozkładów prawdopodobieństwa.Podejścia mieszane:Łączenie podejścia ciągłego i dyskretnego np. filtru Kalmana z filtrami cząsteczkowymi.

• Jednoczesna lokalizacja i mapowanie (Simultaneous Localization And Mapping – SLAM)Problem: autonomiczny robot rozpoczyna działanie w nieznanej pozycji początkowej i nieznanym środowisku, a następnie w sposób przyrostowy buduje mapę swego otoczenia i jednocześnie wykorzystuje tę mapę do obliczenia aktualnej pozycji robota. Pozycja robota i mapa są nieznane i muszą być jednocześnie estymowane. Zazwyczaj zakłada się, że środowisko jest statyczne i pozycja robota nie zależy od mapy.

Nie wiem gdzie tu wcisnąć lokalizację Monte-Carlo i Markowa. :-(3. Planowanie ścieżk i:

Page 61: Pytanie 2 (PTCY) - Serwer studenckihome.elka.pw.edu.pl/~mmajchro/Pytania-ISID.doc · Web viewOdpowiedzi zostały zaczerpnięte z jego książki – „Podstawy projektowania układów

Podstawowy problem planowania ścieżki polega poszukiwaniu krzywej geometrycznej przejścia pomiędzy początkowym i zadanym końcowym stanem (pozycją) robota tak, aby nie występowały kolizje z przeszkodami oraz planowany ruch nie powodował naruszenia ograniczeń kinematycznych i dynamicznych robota (ścieżka była możliwa do wykonania).Metody globalne i lokalne.Metody topologiczne (polegają na przekształceniu pierwotnego opisu otoczenia w graf określający sieć możliwych ścieżek. Znalezienie drogi (ścieżki ruchu) polega na przeszukiwaniu grafu) i geometryczne (polegają na podziale (równomiernym albo nierównomiernym) pierwotnej przestrzeni na komórki siatki. Planowanie polega na przeszukiwaniu komórek w wolnej przestrzeni w celu znalezienia ścieżki przejścia od konfiguracji początkowej do konfiguracji docelowej).

Metoda propagacji fal - Metoda globalna ogólnego przeznaczenia (powszechnie stosowana do projektowania ścieżek na płytkach drukowanych).• Zastosowanie metody jest ograniczone dla środowisk zamkniętych i stacjonarnych.• Podział dwuwymiarowej przestrzeni konfiguracyjnej na elementarne komorki, zazwyczaj rownomierną siatką (np. kwadratową lub sześciokątną). Dla każdej komorki należy określić komorki sąsiednie. • Zadanie ma rozwiązanie, jeśli rozpatrywany obszar jest jednospojny i składa się ze skończonej liczby komorek.• Planowanie odbywa się przez przypisanie każdej komorce znacznika i wagi.• Algorytm planowania jest dwufazowy: w fazie pierwszej nadawane są wagi wszystkim komorkom.• W fazie drugiej wyznacza się optymalną drogę przez poszukiwanie wśrod sąsiadow komorki takiej, ktora ma wagę o 1 mniejszą. Proces poszukiwania jest iteracyjny.

Metoda diagramu Woronoia służy do planowania skrajnie bezpiecznych ścieżek ruchu, w znanych środowiskach, zwykle o niezbyt dużej liczbie przeszkod stacjonarnych.• Planowanie ścieżki odbywa się w dwoch etapach:– Tworzenie nieskierowanego grafu w postaci diagramu Woronoia – czasochłonne, realizowane off-line.– Przeszukiwanie utworzonego grafu w celu znalezienia ścieżki – może być wykonywane w czasie rzeczywistym (dla niezbyt rozbudowanych grafow).• Na mapie środowiska nanosi się krzywe rownoodległe od przeszkod. Kształt krzywych zależy od metryki przyjętej do wyznaczania odległości.• Na przecięciach krzywych są węzły tworzonego grafu. Dodatkowe węzły to punkt początkowy i docelowy oraz dwa węzły w grafie położone w miejscach najbliższych od wierzchołka początkowego i docelowego.• Łukom grafu są przypisywane wagi rowne długościom krzywej między węzłami (odległość ta jest zazwyczaj większa od odległości euklidesowej między węzłami).• W drugim etapie planowania graf nieskierowany jest przeszukiwany np. algorytmem A* lub Dijkstry w celu znalezienia najkrotszej ścieżki łączącej węzeł początkowy i końcowy.• Głowną zaletą metody jest bezpieczeństwo ścieżki ze względu na kolizje z przeszkodami. W pewnych przypadkach taka ścieżka może być dopuszczalna dla robotow nieholonomicznych, gdyż umożliwia przeorientowanie robota bez kolizji z przeszkodami.• Wady:– Dla przeszkod niebędących wielobokami wypukłymi wyznaczanie diagramu Woronoia może być złożone obliczeniowo.– Trudno uwzględnić zmiany w środowisku (np. ruchome przeszkody).

Page 62: Pytanie 2 (PTCY) - Serwer studenckihome.elka.pw.edu.pl/~mmajchro/Pytania-ISID.doc · Web viewOdpowiedzi zostały zaczerpnięte z jego książki – „Podstawy projektowania układów

– Wiele zakrętow ścieżki oraz zmiany odcinkow ruchu pod kątem ostrym mogą spowodować, że wyznaczona ścieżka ruchu będzie trudna do fizycznej realizacji przez robota.

Metoda grafu widoczności • Metoda wykorzystuje tzw. graf widoczności. Umożliwia efektywne planowanie optymalnej ścieżki ruchu punktowego robota w przestrzeni dwu- lub trojwymiarowej z przeszkodami o kształcie odpowiednio wielokątow lub wielościanow wypukłych.• Budowany graf powstaje przez łączenie węzłow, ktorych incydencja (istnienie krawędzi łączącej) jest wyznaczana na podstawie kryterium „widoczności”.• Efektywność ruchu jest określona długością euklidesową toru.• Algorytm wykorzystujący graf widoczności może być wykonywany w trybie czasu rzeczywistego z ruchomymi przeszkodami pod warunkiem, że mapa otoczenia robota jest odpowiednio często uaktualniana.• Wada – ścieżka ruchu może stykać z przeszkodami (zwykle w wierzchołkach lecz niekiedy także wzdłuż krawędzi). Można temu zapobiec przez poszerzenie przeszkód.

Metoda sztucznego pola potencjałowego – metoda ogolnego przeznaczenia z powodzeniem stosowana do planowania ruchu robotow mobilnych.• Ruch robota jest wypadkową działających nań sił – siła wypadkowa określa chwilowy kierunek ruchu (nie ma żadnego związku z siłami mechanicznymi określającymi wektor przyspieszenia).• Zakłada się, że robot i inne obiekty mają ładunek elektryczny. Przeszkody w otoczeniu robota mają ten sam ładunek co robot, stąd siły odpychania zapewniają unikanie kolizji między robotem i przeszkodami. Punkt końcowy ma ładunek o przeciwnym znaku, stąd siły pochodzące od punktu docelowego przyciągają robota.• Jest to metoda lokalna, niewrażliwa na kształt przeszkod.Wada: minimum lokalne – wypadkowy wektor sił może mieć wartość zero poza punktem docelowym.

Metoda elastycznej wstęgi – Metoda elastycznej wstęgi łączy dwa podejścia: metodę ciągłej deformacji i metodę pol potencjału. Nazwa pochodzi od obiektow odkształcających się pod wpływem sił sprężystości, ktore usiłują doprowadzić obiekt do kształtu minimalizującego naprężenia wewnętrzne. Siły sprężystości powodują skrocenie ścieżki przy zachowaniu gładkości krzywej wynikowej, nie zapewniają jednak jej bezkolizyjności. Zadaniem planera ścieżek jest modyfikacja (odkształcenie) dopuszczalnej ścieżki ruchu, tak aby nowa ścieżka była łatwiejsza do realizacji przez robota mobilnego lub zapewniała ominięcie ruchomych przeszkod na drodze robota.Wada metody: Ograniczenie poszukiwań rozwiązania do tej składowej przestrzeni bezkolizyjnej, w której znajduje się ścieżka inicjalizująca działanie metody (jest to wada iteracyjnych metod gradientowych)

Metoda probabilistycznych map drogowych – PRM. Nie chce mi się już….

4. Budowanie mapy środowiska : Mapa jest wzajemnie jednoznacznym odwzorowaniem (bijekcją) środowiska zewnętrznego (świata) w pewną reprezentację wewnętrzną (w pamięci robota). Jest to model środowiska tworzony na podstawie pomiarów z czujników. Mapy różnią się sposobem reprezentacji środowiska.Podstawowe rodzaje map:

Page 63: Pytanie 2 (PTCY) - Serwer studenckihome.elka.pw.edu.pl/~mmajchro/Pytania-ISID.doc · Web viewOdpowiedzi zostały zaczerpnięte z jego książki – „Podstawy projektowania układów

1. Mapy geometryczne – opisują bezwzględne relacje geometryczne między obiektami (tzn. położenia,rozmiary) np. siatkowe mapy zajętości, mapy linii, mapy wielokątów.2. Mapy topologiczne – grafy, w których węzły odpowiadają pewnym obserwowanym cechom (znacznikom terenowym) a łuki opisują związki między tymi cechami, np. grafy widoczności, diagramy Woronoia.3. Mapy hybrydowe (metryczno-topologiczne) – połączenie elementów geometrycznych i topologicznych.Problemy występujące przy budowie map:1. Charakter szumow pomiarowych. Szumy w rożnych pomiarach zazwyczaj nie są statystycznie niezależne. Błędy w sterowaniu (wykonaniu ruchu) sumują się w czasie i mają wpływ na interpretację dalszych pomiarów. Dane pomiarowe obarczone są systematycznymi, skorelowanymi błędami.2. Bardzo duża wymiarowość zadania budowy mapy. Do stworzenia dokładnych map 2D potrzeba zazwyczaj tysięcy liczb (wymiarów), dla map 3D konieczne jest określenie milionów wymiarów.3. Problem zgodności (skojarzenia danych) z fizycznymi obiektami (cechami). Problem polega na stwierdzeniu, czy dane pomiarowe wykonane w rożnych punktach w czasie odpowiadają temu samemu obiektowi fizycznemu.4. Zmienne w czasie środowisko. Zmiany mogą być wolne (np. zmiana ustawienia mebli w pomieszczeniu) lub szybkie (np. pojawianie się ludzi, zamykanie/otwieranie drzwi).5. Efektywna eksploracja środowiska. Robot musi wybierać ścieżki ruchu w celu zbierania danych potrzebnych do tworzenia mapy. Efektywna eksploracja nieznanego środowiska jest ciągle otwartym problemem badawczym.

Wybrane klasy algorytmów do tworzenia map:1. Siatki zajętości: Model środowiska w postaci siatki (zazwyczaj rownomiernej). Problem polega na estymacji prawdopodobieństwa, że pozycja (lokalizacja) jest zajęta przez przeszkodę.

Podstawowe założenia:1. Zajętości poszczególnych komórek siatki są niezależne.2. Pozycje robota są dokładnie znane!3. Mapa jest statyczna (środowisko nie zmienia się w czasie).

2. Metoda EM (Expectation Maximization) – maksymalizacji wartości oczekiwanej. Algorytmy EM bazują na estymacji metodą największej wiarygodności. Algorytm iteracyjny wykonuje dwa zasadnicze kroki:

o E-step: Wykorzystaj najlepszą aktualną mapę i dane z czujnikow do obliczenia prawdopodobieństwa a posteriori (funkcji „wiarygodności”) pozycji robota.

o M-step: Oblicz najbardziej prawdopodobną mapę mając dane wartości oczekiwane pozycji.

W rezultacie otrzymujemy ciąg coraz dokładniejszych map m[0],m[1], . . ..Mapa początkowa m[0] jest mapą pustą.

3. Metody hybrydowe – np. przyrostowa metoda największej wiarygodności (incremental ML – Maximum Likelihood).4. Filtr Kalmana – algorytmy jednoczesnej lokalizacji i tworzenia mapy (SLAM).

5. Wykrywanie i unikanie kolizji :Problem unikania kolizji polega na lokalnej modyfikacji trajektorii ruchu robota w celu ominięcia przeszkody wykrytej na za pomocą czujnikow. Wynikowy ruch jest funkcją

Page 64: Pytanie 2 (PTCY) - Serwer studenckihome.elka.pw.edu.pl/~mmajchro/Pytania-ISID.doc · Web viewOdpowiedzi zostały zaczerpnięte z jego książki – „Podstawy projektowania układów

bieżących i poprzednich odczytow czujnikow, pozycji docelowej oraz bieżącej pozycji robota względem celu.Wspolną cechą algorytmow unikania kolizji jest kluczowa rola lokalnych odczytow z czujnikow robota w wyznaczaniu bieżącej trajektorii ruchu. Zadanie unikania kolizji wymaga jednoczesnej realizacji dwoch celow:1. Wykrywania i omijania przeszkod w czasie rzeczywistym2. Poruszania się w kierunku najbliższym do kierunku celu.Większość algorytmow unikania kolizji można zaliczyć do jednej z dwoch podstawowych grup:• wyznaczania kierunku ruchu – metody sztucznego pola potencjałowe, metody histogramow pola wektorowego Vector Field Histogram VFH, VFH+ oraz VHF*, diagramy bliskości (Nearness Diagram (ND))• wyznaczania prędkości liniowej i kątowej robota w wyniku przeszukiwania odpowiednio dobranej przestrzeni prędkości – techniki okna dynamicznego (Dynamic Window), metoda krzywizn i prędkości (Curvature Velocity Method – CVM)

Algorytm typu BUG - Podstawowa idea algorytmu polega podążaniu wzdłuż konturu (brzegu) przeszkody, w taki sposob aby ją okrążyć. Robot wykorzystuje aktualne odczyty z czujnikow i przybliżone dane o kierunku celu.

Algorytm histogramu pola wektorowego - W podejściu VFH wykorzystuje się lokalne mapy otoczenia robota. Otoczenie jest reprezentowane w postaci siatki zajętości, ktorej komorkom przypisane jest wartość prawdopodobieństwa, że znajduje się w niej przeszkoda.

Techniki krzywizn i prędkości (Curvature-Velocity Method) – Problem omijania przeszkod jest opisywany jako zadanie optymalizacji z ograniczeniami w przestrzeni prędkości robota. Przestrzeń prędkości składa się z prędkości liniowej i kątowej. (v, ω). Zakłada się, że robot porusza się po łukach okręgow c = ω/v. Podejście to umożliwia uwzględnienie ograniczeń kinematycznych (niekiedy dynamicznych) robota w trakcie unikania kolizji z robotem. Ograniczenia fizyczne dla robota i środowiska są uwzględniane w przestrzeni prędkości. Do zalet tak sformułowanego zadania:• łatwość dodawania ograniczeń wynikających z dynamiki robota,• niezależne sterowanie prędkością oraz zmianą orientacji robota przez zadawanie prędkości liniowej i kątowej (sterowanie prędkością kątową wpływa tylko na orientację, natomiast prędkość liniowa wpływa jedynie na prędkość robota),• możliwość wprowadzania dodatkowych czynnikow decydujących o wyborze prędkości przez modyfikację funkcji celu.

Dynamiczne okna – W algorytmie dynamicznych okien (podejście lokalne) wartości sterujące robota (prędkość liniowa v oraz kątowa w) otrzymuje się w wyniku przeszukiwania przestrzeni prędkości. Przestrzeń ta jest zbiorem wszystkich możliwych wartości (v,w), gdzie v to prędkość liniowa robota, natomiast w to prędkość kątowa. W algorytmie tym zakładamy, że robot porusza się po torze będącym łukiem okręgu. Mając daną aktualną prędkość wyznaczamy najpierw wszystkie dynamiczne okna dla pary (v,w), które mogą być osiągnięte w następnej chwili czasowej (uwzględniając dynamikę robota). Następnie zbiór uprzednio wyznaczonych okien jest redukowany do takich, które zapewniają bezpieczne zatrzymanie się robota przed przeszkodą. Wybrane w ten sposób pary prędkości (v,w) nazywamy dopuszczalnymi. Nowy kierunek i prędkość jest wyznaczana przez minimalizację wskaźnika jakości dobieranego jako liniowa zależność

Page 65: Pytanie 2 (PTCY) - Serwer studenckihome.elka.pw.edu.pl/~mmajchro/Pytania-ISID.doc · Web viewOdpowiedzi zostały zaczerpnięte z jego książki – „Podstawy projektowania układów

(z odpowiednimi wagami) pomiędzy: odległością od przeszkody, która wynika z danej pary (v,w), orientacją względem celu (też wynikającym z danej pary (v,w)) oraz prędkością, z jaką będzie możliwy ruch (preferuje się szybki ruch na wprost).

6. ???

Page 66: Pytanie 2 (PTCY) - Serwer studenckihome.elka.pw.edu.pl/~mmajchro/Pytania-ISID.doc · Web viewOdpowiedzi zostały zaczerpnięte z jego książki – „Podstawy projektowania układów

Pytanie 36 (RSO)

Przedstawić algorytmy synchronizacji zegarów i algorytmy elekcji w środowisku rozproszonym.Algorytmy synchronizacji zegarów:1. algorytm Cristian'a,

Klient wysyła zapytanie o czas opatrzone własnym stemplem T0, jeden wyznaczony serwer odsyła odpowiedź z własnym stemplem T. Zapytanie wraca do klienta w chwili T1 i ustawiany jest nowy czas na: T' = T+(T0+T1)/2 (dla uwzględnienia opóźnienia w sieci). Rozwiązanie dobre, gdy dedykowany serwer ma dobre (najlepiej własne, takie jak GPS) źródło czasu.

2. algorytm Berkley,1. dedykowany serwer odpytuje maszyny z sieci lokalnej o ich czas.2. serwer uśrednia czasy pozostałych maszyn.3. i odsyła rezultat do maszyn, które ustawiaj ten czas jako własny.Rozwiązanie dobre w przypadku sieci maszyn bez maszyny z jednoznacznym czasem odniesienia.

3. algorytmy uśredniające (averaging), np. NTP (Network Time Protocol)Odpowiedź na centralizacje powyższych algorytmów – klient ustala swój czas w oparciu o informacje z wielu serwerów, bazując na uśrednieniu (z wagami zależnymi np. od opóźnienia do źródła) i dodatkowej filtracji (wyeliminowaniu błędnych danych, które zakłócają wynik).

Algorytmy elekcji w środowisku rozproszonym:

W wielu algorytmach rozproszonych jest potrzebny jeden proces koordynujący, wykonujący funkcje potrzebne innym procesom w systemie: wymuszanie wzajemnego wykluczania, generowanie utraconych żetonów, utrzymywanie globalnych struktur danych itp. Celem algorytmów elekcji jest wskazanie miejsca, w którym nastąpi wznowienie kopii koordynatora.

Zakładamy, że z każdym aktywnym procesem w systemie jest związany jednoznaczny numer priorytetu. Dla uproszczenia przyjmiemy, że i jest numerem priorytetu procesu Pi. Koordynatorem jest zawsze proces z najwyższym numerem priorytetu. Jeśli koordynator ulegnie awarii, to algorytm musi wybrać ten spośród aktywnych procesów, który ma największy numer. Numer ten musi zostać wysłany do każdego aktywnego procesu w systemie. Proces przywrócony do działania musi umieć zidentyfikować bieżącego koordynatora.

Algorytm tyrana (ang. bully algorithm)

Algorytm ma zastosowanie w systemach, w których każdy proces może wysłać komunikat do każdego innego. Na wykonanie algorytmu potrzeba N^2 komunikatów, gdzie N jest liczbą procesów w systemie.

Proces P wysyła komunikat ELECTION do wszystkich procesów z wyższymi numerami. Jeśli nikt nie odpowiada, to P wygrywa.

Page 67: Pytanie 2 (PTCY) - Serwer studenckihome.elka.pw.edu.pl/~mmajchro/Pytania-ISID.doc · Web viewOdpowiedzi zostały zaczerpnięte z jego książki – „Podstawy projektowania układów

Proces wygrywający wybory wysyła komunikat COORDINATOR do wszystkich procesów z niższymi numerami.

Jeśli ktoś odpowiedział (komunikat ANSWER), to proces P czeka na komunikat COORDINATOR.

Jeśli taki komunikat nie przychodzi, to P rozpoczyna następne wybory. Proces, który otrzymał komunikat ELECTION wysyła ANSWER i rozpoczyna następne

wybory.

Rysunek: proces 7 to poprzedni koordynator, a proces 6 - nowy koordynator.

Algorytm pierścieniowy (ang. ring algorithm) (wariant wg Tanenbauma)

Algorytm ma zastosowanie w systemach zorganizowanych w postaci pierścienia (logicznego lub fizycznego). Na wykonanie algorytmu potrzeba N^2 komunikatów, gdzie N jest liczbą procesów w systemie. Zakłada się, że łącza są jednokierunkowe i że procesy wysyłają komunikaty zgodnie z ruchem wskazówek zegara. Procesy mogą ulegać awarii, każdy proces może się komunikować bezpośrednio z każdym innym w grupie. Główną strukturą danych jest lista aktywna zawierająca numery priorytetów wszystkich procesów aktywnych w systemie w chwili zakończenia algorytmu. Każdy proces utrzymuje własną listę aktywną.

Jeśli proces Pi wykrywa awarię koordynatora, to wysyła komunikat ELECTION ze swoim numerem do sąsiada. Jeśli sąsiad nie działa, to wysyła komunikat do następnego procesu wzdłuż pierścienia.

Na każdym kroku nadawca dodaje swój własny numer do listy w komunikacie.

Page 68: Pytanie 2 (PTCY) - Serwer studenckihome.elka.pw.edu.pl/~mmajchro/Pytania-ISID.doc · Web viewOdpowiedzi zostały zaczerpnięte z jego książki – „Podstawy projektowania układów

Kiedy komunikat dociera do procesu, który go wysłał (proces rozpoznaje swój własny numer w komunikacie), to zostaje wybrany zwycięzca (proces z najwyższym numerem), a odbiorca komunikatu wysyła do sąsiada komunikat COORDINATOR w celu poinformowanie wszystkich kto wygrał wybory oraz jakie procesy wchodzą w skład pierścienia i w jakiej kolejności. Kiedy ten komunikat okrąży pierścień, zostaje usunięty przez nadawcę.

Rysunek: dwa procesy, 2 i 5, równocześnie wykryły awarię poprzedniego koordynatora, 7. Każdy z nich tworzy komunikat ELECTION. W końcu oba komunikaty okrążą sieć i oba procesy, 2 i 5, zmienią je w komunikat COORDINATOR (z tym samym zwycięzcą). Komunikaty COORDINATOR zostaną usunięte po okrążeniu sieci.

Page 69: Pytanie 2 (PTCY) - Serwer studenckihome.elka.pw.edu.pl/~mmajchro/Pytania-ISID.doc · Web viewOdpowiedzi zostały zaczerpnięte z jego książki – „Podstawy projektowania układów

Pytanie 37 (RSO)

Zdefiniować silne i słabe modele spójności danych w środowisku rozproszonym.

Silne modele spójności z przykładamiOperacje na dany współdzielonych są synchronizowane: 1. Strict consistency (oparte na czasie) – odczyt zwraca dane zapisane przez najpóźniejszą

operację WRITE. To samo co sekwencyjna spójność w przypadku, gdy programy nie interferują ze sobą. P1: W(x) = a, P2: R(x) = a. Jeśli nie ma tej spójności może się zdarzyć P1: W(x) = a, P2: R(x) = NIL a po drugim odczycie R(x) = a, mimo ze zapis nastąpił wcześniej. (a poprawne, b niepoprawne)

2. Sekwencyjna spójność (do tego jesteśmy przyzwyczajeni) – The result of any execution is the same as if the operations of all processes were executed in some sequential order, and the operations of each individual process appear in this sequence in the order specified by its program. (a poprawne, b niepoprawne)

3. Causal consistency (maintains only causal relations) – Necessary condition: Writes that are potentially causally related must be seen by all processes in the same order. Concurrent writes may be seen in a different order on different machines. (b poprawne, niepoprawne)

4. FIFO consistency (maintains only individual ordering) – Necessary Condition: Writes done by a single process are seen by all other processes in the order in which they were

Page 70: Pytanie 2 (PTCY) - Serwer studenckihome.elka.pw.edu.pl/~mmajchro/Pytania-ISID.doc · Web viewOdpowiedzi zostały zaczerpnięte z jego książki – „Podstawy projektowania układów

issued, but writes from different processes may be seen in a different order by different processes (poprawny)

Słabe modele spójności z przykładami

Weak consistency. Properties:1. Accesses to synchronization variables associated with a data store are sequentially consistent 2. No operation on a synchronization variable is allowed to be performed until all previous writes have been completed everywhere 3. No read or write operation on data items are allowed to be performed until all previous operations to synchronization variables have been performed.Basic idea: You don't care that reads and writes of a series of operations are immediately known to other processes. You just want the effect of the series itself to be known.(a poprawne, b niepoprawne)

Release consistency: Rules:

• Before a read or write operation on shared data is performed, all previous acquires done by the process must have completed successfully.

• Before a release is allowed to be performed, all previous reads and writes by the process must have completed

• Accesses to synchronization variables are FIFO consistent (sequential consistency is not required).

Page 71: Pytanie 2 (PTCY) - Serwer studenckihome.elka.pw.edu.pl/~mmajchro/Pytania-ISID.doc · Web viewOdpowiedzi zostały zaczerpnięte z jego książki – „Podstawy projektowania układów

Entry consistency: • with release consistency, all local updates are propagated to other copies/servers

during release of shared data.• with entry consistency, each shared data item is associated with a synchronization

variable.• when acquiring the synchronization variable, the most recent values of its associated

shared data item are fetched.

Consistency DescriptionStrict Absolute time ordering of all shared accesses matters.

Linearizability All processes must see all shared accesses in the same order. Accesses are furthermore ordered according to a (nonunique) global timestamp

Sequential All processes see all shared accesses in the same order. Accesses are not ordered in time

Causal All processes see causally-related shared accesses in the same order.

FIFO All processes see writes from each other in the order they were used. Writes from different processes may not always be seen in that order(a)

Consistency DescriptionWeak Shared data can be counted on to be consistent only after a synchronization is

doneRelease Shared data are made consistent when a critical region is exitedEntry Shared data pertaining to a critical region are made consistent when a critical

region is entered.(b)

a) modele spójności nie wymagające synchronizacji

b) modele z synchronizacją

Page 72: Pytanie 2 (PTCY) - Serwer studenckihome.elka.pw.edu.pl/~mmajchro/Pytania-ISID.doc · Web viewOdpowiedzi zostały zaczerpnięte z jego książki – „Podstawy projektowania układów

Pytanie 46 (TAP)

Omówić zasady doboru struktury układu regulacji wielopętlowej z regulatorami PID i metodę odprzęgania. Przedstawić zasadę regulacji predykcyjnej i przykładowy algorytm.

Strutkura wielopętlowa regulacji jest stosowana dla obiektów MIMO. Polega ona na wyborze regulowanych torów (ustaleniu un ym ) i zastosowaniu kilku regulatorów PID.

Dynamikę torów zakłóceń i sterowań określają macierze RGA oraz RDG.

RDG - Relative Disturbance Gain

B1 = L11 ( 1 - (kz1 * k12) / (kz2 * k22) )

RGA - Relative Gain Array

L11 = k11 * k22 / ( k11 * k22 - k12 * k21)

W macierzy RGA suma względnych wzmocnień w wierszu i kolumnie wynosi 1.

Dla 2x2, L12 = L21 = 1 - L11; L22 = L11

1. Lij < 0 - ujemne wzmocnienie na torze ij, sytuacja niebezpieczna, grozi destabilizacją.

2. Lij = 0 - nie zapinamy regulatora, kij = 0, brak wzmocnienia.3. 0 < Lij < 1 – zamknięcie pętlą regulacji toru ij spowoduje spadek wzmocnienia kij

4. Lij > 1 - zamknięcie pętlą regulacji toru ij spowoduje wzrost wzmocnienia kij, potrzebny silny regulator

5. Lij = 1 - sytuacja idealna, brak interakcji torów innych niż ij

Sposób postępowania:1. Wyznaczyć macierz RGA dla wszystkich potencjalnych (możliwych) struktur.2. Wyeliminować struktury złe (Lij < 0)3. Wykorzystując model dynamiki (np. liniowy) wybrać strukturę o najszybszej

dynamice w torach głównych (regulowanych).4. Wykorzystując RDG dla najważniejszych zakłóceń uściślić bądź zmodyfikować

wybór z pkt. 3.5. Zweryfikować wybór na modelu dynamicznym (z regulatorami).

Metoda odprzęgania:W tej metodzie traktujemy _JEDNĄ_ z interakcji G12 bądź G21 jako mierzone zakłócenie. Projektujemy _REALIZOWALNY_ człon odprzęgający wpływ toru i na j Dji. Przykładowo dla wpływu toru 2 na 1:

u1 * G21 = - u1 * D21 * G22

D21 = - G21 / G22 (odwrotność G22 - uwaga na opóźnienia oraz zera transmitancji)

Page 73: Pytanie 2 (PTCY) - Serwer studenckihome.elka.pw.edu.pl/~mmajchro/Pytania-ISID.doc · Web viewOdpowiedzi zostały zaczerpnięte z jego książki – „Podstawy projektowania układów

Realizacja jest możliwa jeśli T22 <= T21 (opóźnienie toru odprzęganego jest większe od opóźnienia toru głównego)

Odprzęganie od sterowania: stosuje się w celu uniezależnienia poszczególnych wyjść układu od zmiany pozostałych sygnałów sterujących. Można wtedy łatwiej sterować obiektem. Do układu wprowadza się kompensator o odpowiedniej macierzy transmitancji operatorowych

- -------------- R1 ------------- o <------- y1_zad| + |+

u1 -------------- G11 ------ o ----------------> y1| | | |+D21 -|- | - G12 ------ | | | | | | | |D12 - | --|- G21 ------| | | |+

u2 -------------- G22 ------ o ---------------> y2y2_zad

| + | + -------------- R2 ------------- o <-------- y2_zad

-

Regulacja predykcyjna:Jak pokazuje praktyka przemysłowa, ograniczenia wielkości sterujących są często bardzo istotne. Sterowanie wygenerowane przez regulatory liniowe (PID) mogą przyjmować wartości nierealizowalne. Ignorowanie w regulatorze aktywnego ograniczenia wielkości sterujących może istotnie pogorszyć jakość regulacji. Próbą zaradzenia jest struktura anti-wind-up, która doprowadza na integrator sygnał sterujący faktyczny podawany na obiekt (daje dobre efekty dla SISO).Zadanie regulacji z ograniczeniami zostało rozwiązane przez algorytmy regulacji predykcyjnej. Algorytmy predykcyjne w każdym kroku rozwiązują zadanie optymalizacji kryterialnej (funkcji celu) zdefiniowane na skończonym horyzoncie, na którym w oparciu o predykcyjne modele obiektów predykowane jest zachowanie obiektu. Algorytmy predykcyjne pozwalają przy wyliczaniu sterowania uwzględniać ograniczenia sygnałów sterujących oraz wyjść obiektu.

Zasada regulacji predykcyjnej (Model Predictive Control):W każdej iteracji algorytmu, czyli w każdej kolejnej chwili "k" dysponując:

dynamicznym modelem obiektu, zakładającym określony model zakłóceń, pomiarami zmiennych wyjściowych obiektu w chwili bieżącej i poprzednich oraz

poprzednimi wartościami sterowania, znaną bądź założoną trajektorią wartości zadanych wyjść regulowanych obiektu w

chwili "k" i w chwilach przyszłychwyznaczmy wartości sterowania u(k) = u(k|k), u(k+1|k), ..., u(k+Nu-1|k). Sterowania są wyliczane tak, aby minimalizować różnice między wartościami regulowanymi obiektu y(k+p|k) - predykowanymi na podstawie modelu a wartościami zadanymi yzad(k+p|k) na horyzoncie predykcji Np. Algorytmy predykcyjne stosują zasadę przesuwnego horyzontu.

Np - hor. predykcji (ile wyjść obiektu uwzględnić)

Page 74: Pytanie 2 (PTCY) - Serwer studenckihome.elka.pw.edu.pl/~mmajchro/Pytania-ISID.doc · Web viewOdpowiedzi zostały zaczerpnięte z jego książki – „Podstawy projektowania układów

Nu - hor. sterowania (ile sterowań wyliczyć)

Predykcja wartości regulowanych obiektu (wyjść) składa się z: trajektorii przewidywanej y0 (k + p | k), odpowiadającej sytuacji utrzymywania

sterowania u(k-1) przez cały horyzont predykcji wyznaczonego i zastosowanego w kroku poprzednim; trajektoria y0 zwana jest składową swobodną wyjść prognozowanych (zależy tylko od poprzednich wartości sterowań); trajektoria y0 jako zależna od przeszłości obliczana jest tylko raz

trajektorii przewidywanej y(k + p | k) dla sterowań zarówno poprzednich jak i przyszłych u (k + p - 1 | k); trajektoria ta jest zwana składową wymuszoną (wynikającą z predykowanych sterowań u).

Znana jest trajektoria wartości zadanych yzad, która może być stała bądź zmienna na horyzoncie predykcji.

Minimalizowany wskaźnik jakości ma postać:

min J(k) = sum FI(k) * || y_zad(k+p|k) - y(k+p|k) ||^2 + sum LAMBDA (k)* || du(k+p|k)||^2 du

W przypadku, gdy nie występują ograniczenia na wielkości sterowań u, przyrostów sterowań du oraz wartości regulowanych y zadanie sprowadza się do znalezienia minimum funkcji kwadratowej J(k). Analityczne rozwiązanie można wyznaczyć jednokrotnie i nie ma potrzeby przeprowadzania optymalizacji w każdym kroku. W ogólności, jeśli model predykcji obiektu jest modelem nieliniowym należy rozwiązać zadanie optymalizacji wielokryterialnej funkcji niewypukłej.

Współczynniki FI, LAMBDA umożliwiają wprowadzenie wag, które będą różnicować wpływ poszczególnych składników na wartość wskaźnika jakości J(k).

Modele wykorzystywane do predykcji odpowiedzi obiektu są zwykle niedokładne. Dwie wersje algorytmu MPC są obecnie stosowane w praktyce:

DMC - wykorzystujący jako model obiektu model odpowiedzi skokowych GPC - wykorzystujący jako model obiektu opis za pomocą transmitancji oraz model

zakłóceń DMC ( d(k) = y(k) - y(k-1|k) )

Alg. DMC:Wykorzystuje współczynniki model obiektu w post. odpowiedzi skokowych. Znając dyskretną odpowiedź {s1,...,sN} obiektu (wyznaczoną jako odpowiedz na skok jednostkowy) możemy modelować dyskretną odpowiedź wyjścia w postaci dowolnego sygnału dyskretnego jako sumę skoków rozpoczynających się w kolejnych chwilach (wykorzystujemy zasadę superpozycji).

y(1) = y(0) + s1 * du(0)y(2) = y(0) + s2 * du(0) + s1 * du(1)...

Składową swobodną możemy zapisać jako (Mp - macierz dynamiczna wyznaczająca predykcje wyjść w zal. od przeszłych sterowań):

Page 75: Pytanie 2 (PTCY) - Serwer studenckihome.elka.pw.edu.pl/~mmajchro/Pytania-ISID.doc · Web viewOdpowiedzi zostały zaczerpnięte z jego książki – „Podstawy projektowania układów

Y0(k) = Y(k) + Mp * dUp(k)

Składową wymuszoną możemy zapisać (M - macierz dynamiczna obiektu):dY(k) = M* dU(k)

Dla wersji analitycznej:du(k) = K1 * [Yzad(k) - Y0(k)], gdzie K = [M'M+LAMBDA]^-1 * M'

Page 76: Pytanie 2 (PTCY) - Serwer studenckihome.elka.pw.edu.pl/~mmajchro/Pytania-ISID.doc · Web viewOdpowiedzi zostały zaczerpnięte z jego książki – „Podstawy projektowania układów

Pytanie 47 (TAP)Warstwowa struktura sterowania procesami przemysłowymi. Przedstawić strukturę oraz cechy opisać zadania i cechy poszczególnych warstw.

Struktura warstwowa jest efektem dekompozycji funkcjonalnej podstawowego, całościowego zadania (celu) sterowania. Regulacja obiektem przemysłowym wiąże się z realizacją pewnych szczegółowych celów, z których najważniejsze to:1. bezpieczeństwo - ograniczenia do akceptowalnego poziomu możliwości wystąpienia

awarii i zjawisk niekontrolowanych2. zapewnienie odpowiednich cech wyjść obiektu (np. jakości produktu) - utrzymanie

zmiennych wyjściowych w dopuszczalnym obszarze wartości3. optymalizacja bieżącej efektywności działania obiektu - maksymalizacja zysku przy

ograniczeniach surowcowych, bądź minimalizacja kosztów przy założonym poziomie produkcji.

-------------------------------------> |planowanie produkcji |

---------------------------| ^v |

---------------------------- --> |optymalizacja | | ----------------------------

| | ^ | ^ | v | | |

| -------------------- | | --> |regulacja nadrzędna | | | | -------------------- | | | | ^ | | | v | v | | ---------------------------- --> |regulacja bezpośrednia | | ---------------------------- | | ^ | v u (sterowania) | y (pomiary) | ---------------------------

---------> | obiekt |-------------->wejścia ---------------------------niesterowalnez

Page 77: Pytanie 2 (PTCY) - Serwer studenckihome.elka.pw.edu.pl/~mmajchro/Pytania-ISID.doc · Web viewOdpowiedzi zostały zaczerpnięte z jego książki – „Podstawy projektowania układów

Etap Cel Model Czas regulacji

planowanie produkcji długoplanowa maksymalizacja efektów ekonomicznych

model liniowy bilansowy (statyczny)

doba, kilka dni

optymalizacjamaksymalizacja bieżących maksymalizacja bieżących optymalizacja pkt. pracy

rozw. zad. optymalizacji model nlin. statyczny

godzina

regulacja nadrzędna

sterowanie jakością, zaawansowana reg. kluczowych zmiennych (często blisko ogr.),

wyznaczanie wart. zadanych PID

MPC,DMC,GPC model wolny

dynamiczny (lin. lub nlin.)

minuta

regulacja bezpośrednia

stabilizacja, nadzorowanie procesu BEZPOŚREDNI DOSTĘP DO OBIEKTU

PID na PLC model szybki dynamiczny

(lin. lub nlin.)

ułamek sekundy

Podstawowa zaleta zastosowania warstwowej struktury regulacji to dekompozycja wyjściowego problemu sterowania na zadania prostsze, funkcjonalnie wzajemnie powiązane - projektujemy i nadzorujemy układy sterowania dla poszczególnych warstw zamiast jednego, centralnego układu sterowania dla całego procesu.

Page 78: Pytanie 2 (PTCY) - Serwer studenckihome.elka.pw.edu.pl/~mmajchro/Pytania-ISID.doc · Web viewOdpowiedzi zostały zaczerpnięte z jego książki – „Podstawy projektowania układów

Pytanie 50 (MNUM)

Omówić ograniczenia dokładności reprezentacji liczb i wykonywania obliczeń w komputerze, uwarunkowania zadań obliczeniowych oraz stabilność algorytmów numerycznych.

W systemach dwójkowych reprezentacja zmiennoprzecinkowa rd(x) liczby x ma postać , gdzie:

mt – mantysa reprezentowana przez t bitów cr – cecha reprezentowana przez r bitów

Reprezentacja jest znormalizowana, gdy .

Przykład dla t = 4 i r = 2: rd(x) =

Wytłuszczono bity znaków mantysy i cechy, odpowiednio. Podana liczba ma wartość:

Zbiór możliwych do uzyskania liczb M jest skończony, przy czym: Im większe t, tym M jest liczniejsze dla tego samego zakresu, a więc „gęściejsze” Im większe r, tym M pokrywa większy zakres liczb

Jeżeli posiadamy dokładną liczbę x i chcemy ją zapisać w postaci maszynowej, możemy to zrobić na dwa sposoby (przy czym za każdym razem założeniem jest, że liczba mieści się w zakresie definiowanym przez liczbę bitów cechy):

1. Poprzez zaokrąglenie – wybierana jest taka reprezentacja maszynowa rd(x), która możliwie najdokładniej przybliża x. Zachodzi relacja .

Zapis błędu względnego : , gdzie Dokładność maszynowa eps wynosi zatem 2-t.

2. Poprzez obcięcie – jeżeli założymy, że x już jest reprezentowane w dokładnej postaci maszynowej ( ) i obetniemy tyle ostatnich bitów mantysy, aby powstała docelowa reprezentacja, to wynik będzie dokładnie przybliżeniem liczby x przez obcięcie.Zapis błędu względnego : , gdzie Dokładność maszynowa eps wynosi zatem 2-t+1.

0 1 0 1 1 0 1 0

Page 79: Pytanie 2 (PTCY) - Serwer studenckihome.elka.pw.edu.pl/~mmajchro/Pytania-ISID.doc · Web viewOdpowiedzi zostały zaczerpnięte z jego książki – „Podstawy projektowania układów

Ograniczenie dokładności wykonywania obliczeń w komputerze:Oznaczając przez fl wynik działania zmiennopozycyjnego możemy zapisać wyniki działań elementarnych w postaci:

; ; , gdzie

Na ogół można przyjąć, że błąd elementarnych operacji arytmetycznych to jedynie błąd zaokrąglenia dokładnego wyniku tych operacji. Wynika to z faktu stosowania rejestrów jednostki arytmetycznej o długości większej niż odpowiadająca długości wyjściowego słowa maszynowego.

Uwarunkowanie zadań obliczeniowych:Zadanie obliczeniowe nazywamy źle uwarunkowanym, jeżeli niewielkie (względnie) zaburzenia danych zadania powodują duże (względne) zmiany jego rozwiązania. Wskaźnikiem uwarunkowania nazywamy wielkość charakteryzującą ilościowo wzrost zmian w stosunku do zmian (zaburzeń) danych. Uwarunkowanie zadania zależy od konkretnych wartości danych (przedziałów).

Stabilność algorytmów numerycznych:Algorytm numerycznie stabilny to taki algorytm, który dla dowolnych danych z pewnego zakresu gwarantuje uzyskanie rozwiązania z błędem względnym tego samego rzędu, co błąd względny powodowany jedynie zaburzeniami danych.Błąd nieunikniony (optymalny) jest wartością zależną od dwóch składników: pierwszego odpowiadającemu bezwzględnemu błędowi rozwiązania spowodowanego jedynie zaburzeniem danych (uwarunkowanie zadania) i drugiego będącego estymatą błędu reprezentacji zmiennoprzecinkowej dokładnego wyniku.Algorytm numerycznie stabilny generuje błędy na poziomie błędu nieuniknionego.

Page 80: Pytanie 2 (PTCY) - Serwer studenckihome.elka.pw.edu.pl/~mmajchro/Pytania-ISID.doc · Web viewOdpowiedzi zostały zaczerpnięte z jego książki – „Podstawy projektowania układów

Pytanie 51 (MNUM)

Algorytmy rozwiązywania układów równań: liniowych, nieliniowych i różniczkowych zwyczajnych.

Równania liniowe są w postaci Ax = b, gdzie A jest macierzą o rozmiarach m x n, zaś x i b są wektorami o wysokości n. Metody rozwiązywania układów liniowych dzielą się na 2 grupy:

Metody skończone – wynik otrzymywany jest po skończonej, ściśle określonej ilości przekształceń, zależnej od wymiarowości zadania.

o Eliminacja Gaussa – macierz A i wektor b są przekształcane aż do otrzymania odpowiadającej im macierzy trójkątnej górnej. Rozwiązanie takiej macierzy jest trywialne.

o Rozkład LU – macierz A jest rozkładana na macierz dolnotrójkątną L i górnotrójkątną U (A = LU). Rozwiązanie wyznaczane jest z prostych obliczeń wykonywanych na L i U. Pojedynczy rozkład A=LU może i powinien być wykorzystywany do wyznaczania rozwiązań dla różnych wektorów b.

o Rozkład LLT – dla symetrycznej, dodatnio określonej macierzy A wyznaczana jest macierz L taka, że A = LLT. Wyznaczenie rozwiązania analogicznie jak w LU.

o Rozkład LDLT – dla symetrycznej macierzy A wyznaczane są macierze L i D takie, że A = LDLT.

Metody iteracyjne – startując z przybliżenia początkowego (znanego lub założonego) w kolejnych krokach otrzymywane jest kolejne przybliżenie. Ilość kroków nie jest znana. Czasami się zdarza tak, że otrzymany przy zastosowaniu opisanych powyżej metod wektor x nie spełnia dokładnie równania Ax = b. Wtedy korzystając ze znanych już rozkładów LU lub LLT przeprowadzając proste obliczenia można minimalizować błąd x, przy każdej kolejnej iteracji otrzymując dokładniejsze wyniki.

Równania nieliniowe – sposoby rozwiązywania: Metoda Newtona – dla każdej z funkcji rozwijany jest szereg Taylora, brana jest pod

uwagę tylko składowa liniowa. Wykorzystywana jest macierz pochodnych funkcji po x-ach. Metoda iteracyjnie poprawia otrzymany wynik, jest lokalnie zbieżna.

Dyskretna metoda Newtona – jw., ale każdy element macierzy pochodnych jest wynikiem pewnej aproksymacji.

Metoda Broydena – jw., ale macierz pochodnych jest zastępowana macierzą B, obliczaną prościej niż w dyskretnej metodzie Newtona.

Metoda iteracji prostej – wykorzystywane jest twierdzenie Ostrowskiego o zbieżności procesu iteracyjnego, metoda lokalnie zbieżna. Szybkość zbieżności jest niższa niż w opisanych wyżej metodach, ale metoda jest o wiele prostsza.

Page 81: Pytanie 2 (PTCY) - Serwer studenckihome.elka.pw.edu.pl/~mmajchro/Pytania-ISID.doc · Web viewOdpowiedzi zostały zaczerpnięte z jego książki – „Podstawy projektowania układów

Równania różniczkowe zwyczajne – wymienione poniżej metody służą do rozwiązywania układów różniczkowych zwyczajnych pierwszego rzędu. Metody te są wykorzystywane w pakietach symulacji ciągłych układów dynamicznych. Metody rozwiązywania dzielą się na:

Metody jednokrokoweo Metoda Rungego-Kutty (RK) – parametrem metody jest m, określające, ile

razy należy obliczyć prawą stroną równań różniczkowych. Najczęściej wykorzystywane jest m = 4 (RK4), co zapewnia kompromis pomiędzy dokładnością metody (im większe m tym większa dokładność) a jej złożonością. Jest to metoda iteracyjna.

o Metoda Rungego-Kutty-Fehlberga (RKF) – modyfikacja metod RK, zwiększająca ich efektywność.

Metody wielokrokowe – są iteracyjne. Mogą być jawne (wartość y obliczona w n-tej iteracji zależy od wartości y oraz f(x,y) obliczonych w poprzednich iteracjach) i niejawne (wartość y n-tej iteracji zależy dodatkowo od wartości funkcji w punkcie bieżącym).

o Metoda Adamsa – wyznaczane i obliczane jest równanie z całką oznaczoną (na pewnym podprzedziale), równoważne pierwotnemu równaniu różniczkowemu.

o Metoda Adamsa-Bashforta – funkcja podcałkowa jest przybliżana wielomianem interpolacyjnym stopnia co najwyżej k-1 (poprzez zastosowanie wzoru interpolacyjnego Lagrange’a. Metoda jawna.

o Metoda Adamsa-Moultona - funkcja podcałkowa jest przybliżana wielomianem interpolacyjnym stopnia co najwyżej k. Metoda niejawna.

Page 82: Pytanie 2 (PTCY) - Serwer studenckihome.elka.pw.edu.pl/~mmajchro/Pytania-ISID.doc · Web viewOdpowiedzi zostały zaczerpnięte z jego książki – „Podstawy projektowania układów

Pytanie 52 (POPTY)

Przedstawić metody minimalizacji funkcji bez ograniczeń oraz metody rozwiązywania zadań optymalizacji z ograniczeniami. Zdefiniować warunki konieczne i dostateczne optymalności ciągłych zadań optymalizacji z ograniczeniami i bez ograniczeń oraz warunki regularności.

Oznaczenia:g(x) – gradient (wektor pochodnych) funkcji w punkcie .G(x) – hesjan (macierz drugich pochodnych) funkcji w punkcie .

- jest funkcją różniczkowalną w sensie Frecheta. - punkt lokalnego minimum

- i należy do zbioru indeksów ograniczeń nierównościowych, - i należy do zbioru indeksów ograniczeń równościowych,

- mnożniki Lagrange’a związane z ograniczeniami aktywnymi.

Optymalizacja bez ograniczeń:Ponieważ stosunkowo łatwo jest znaleźć minimum funkcji jednej zmiennej, to algorytmy minimalizacji konstruuje się jako sekwencję kolejno po sobie następujących dwu etapów:- wybór kierunku minimalizacji- minimalizacja w kierunku

Metody wyboru kierunku (poszukiwań) d:1. Metoda Gaussa-Seidla (bezgradientowa): minimalizacji dokonujemy cyklicznie w

kierunku kolejnych wersorów osi kartezjańskiego układu współrzędnych.2. Metoda Najszybszego Spadku: kierunek jest przeciwny do gradientu funkcji:

.3. Metody kierunków sprzężonych:

a. Metoda Powella (bezgradientowa): ???b. Metoda gradientów sprzężonych: Ogólnie, metoda gradientów sprzężonych działa

według schematu zgodnego z dotychczas rozważanymi metodami minimalizacji kierunkowej, tzn. , przy czym kierunek jest generowany zgodnie z regułą . Poszczególne warianty metody gradientów sprzężonych różnią się definicjami współczynnika , które zewnętrznie są różne, ale teoretycznie dla funkcji kwadratowych równoważne.

metoda gradientów sprzężonych w wersji Fletchera-Reevesa:

wzór sprzężonego kierunku spadku zapewniający, że następny kierunek jest

kierunkiem spadku: .

metoda gradientu sprzężonego w wersji Polaka-Ribiery:

Trudno wskazać jakieś argumenty przemawiające za wyborem któregoś z podanych wzorów. W praktyce najczęściej stosuje się wzory Fletchera-Reevesa i Polaka-

Page 83: Pytanie 2 (PTCY) - Serwer studenckihome.elka.pw.edu.pl/~mmajchro/Pytania-ISID.doc · Web viewOdpowiedzi zostały zaczerpnięte z jego książki – „Podstawy projektowania układów

Ribiery. Dla funkcji kwadratowych wymienione powyżej metody powinny znajdować rozwiązanie po wykonaniu co najwyżej n poszukiwań w kierunku.

4. Metoda Newtowa: kierunek jest przeciwny do gradientu funkcji wymnożonego przez odwrotność hesjanu w punkcie : . Jeśli macierz G jest ściśle dodatnio określona i punkt początkowy jest dostatecznie blisko punktu , to metoda Newtona jest dobrze określona dla wszystkich k i zbiega do punktu optymalnego z szybkością drugiego rzędu (kwadratową). W wersji podstawowej metody Newtona nie przewiduje się minimalizacji w kierunku (nie szukamy a następny punkt wyznaczamy ze wzoru:

) i w rezultacie metoda ta jest zbieżna tylko lokalnie, tzn. wtedy, gdy punkt początkowy jest dostatecznie blisko optymalnego .

5. Metody quasi-newtonowskie: polegają na aproksymacji Hesjanu bądź jego odwrotności za pomocą gradientu. Stosuje się najczęściej, gdy Hesja nie jest dodatnio określony. Powszechnie znaną i najczęściej obecnie stosowaną metodą quasi-newtonowską jest metoda BFGS (Broyden, Fletcher, Goldfarb, Shanno). Starszą metodą jest metodą DFP (Davidon, Fletcher i Powell), która została wyparta po wprowadzeniu niedokładnej minimalizacji w na rzecz innych metod.

Minimalizacja w kierunku polega na wyznaczeniu , które jest argumentem minimalizacji funkcji f w kierunku d ( - funkcja jednej zmiennej). W praktyce stosuje się niedokładną minimalizację w kierunku. Następnie wyliczamy kolejny punkt, w którym cały proces powtarzamy (wybór kierunku oraz minimalizację): .Metody (niedokładnej) minimalizacji w kierunku:1. Bezgradientowe ( ): poszczególne metody różnią się sposobem określania punktów

i należących do przedziału [a,b], w którym szukamy minimum.a. Bisekcji: ????b. Złotego podziału:

Metoda złotego podziału jest oparta na zasadzie, że na bieżąco wyznaczany podprzedział zawierający poszukiwane minimum będzie się zmniejszał w każdej następnej iteracji o stały współczynnik τ – oraz jeden z dwu pomocniczych punktów wewnętrznych, które wykorzystujemy, zostaje zachowany w kolejnej iteracji, a drugi zostaje odrzucony.

c. Fibonacciego: ????d. Aproksymacji kwadratowej:

W każdym kroku korzystamy z informacji o wartościach , , minimalizowanej funkcji celu w punktach , , takich, że . W celu uzyskania kolejnego przybliżenia punktu minimalnego wzdłuż kierunku stosujemy wielomian interpolacyjny Lagrange’a. Kolejny punkt wyznaczamy z warunku koniecznego ekstremum dla tego wielomianu (wyliczamy , dla którego pochodna tego wielomiany się zeruje). Jako test STOP-u w analizowanym algorytmie przyjmuje się zwykle sprawdzenie, czy odległość między dotychczasowym punktem o najmniejszej wartości a jest dostatecznie mała. Metodę tę można jednak też łączyć z metodami gradientowymi i stosować inne testy – np. dwuskośny test Goldsteina. Jeśli nie jest spełniony test STOP-u, to odrzucamy jeden z czterech punktów , ,

i . Mamy znowu do dyspozycji trzy punkty i możemy od nowa powtórzyć operację znalezienia punktu ekstremalnego kolejnej aproksymacji kwadratowej (wielomianu interpolacyjnego Lagrange’a).

2. Gradientowe ( ):

Page 84: Pytanie 2 (PTCY) - Serwer studenckihome.elka.pw.edu.pl/~mmajchro/Pytania-ISID.doc · Web viewOdpowiedzi zostały zaczerpnięte z jego książki – „Podstawy projektowania układów

a. Średnich geometrycznych: ????b. Z interpolacją i ekstrapolacją:

Sformułowanie typowego gradientowego algorytmu minimalizacji kierunkowej.Krok 0. Dane: α1 = 0, α2 = +∞, α > 0, f1 = fk = f(xk), f′1 = (gk)Tdk < 0.Krok 1. Oblicz f = f(xk+αdk). Jeśli jest spełniony pierwszy test Goldsteina, to krok 3, w przeciwnym przypadku krok 2.Krok 2. Oblicz przez zastosowanie ograniczonej interpolacji kwadratowej korzystając z f1, f′1 oraz f (patrz dalej). Podstaw α2 = α, α = . Wróć do kroku 1.Krok 3. Oblicz g = g(xk + αdk) oraz f′ = gTdk. Jeśli jest spełniony drugi test Goldsteina, to STOP z αk = α, w przeciwnym przypadku przejdź $do kroku 4.Krok 4. Oblicz przy zastosowaniu ograniczonej ekstrapolacji kwadratowej, korzystając z f′1 i f′ (patrz dalej). Podstaw: α1 = α, f1 = f, f′1 = f′ , α = . Wróć do kroku 1.Zrozumienie działania tego algorytmu wymaga wyjaśnienia pojęć kwadratowej interpolacji oraz ekstrapolacji minimalizowanej funkcji wzdłuż kierunku d.Interpolacja: Zakładamy, że aproksymacja funkcji f(xk + αdk) ma postać funkcji kwadratowej, w której występują trzy parametry a, b i c. Wartości tych parametrów wyznaczamy korzystając z warunków brzegowych na podstawie f1, f′1 oraz f.Ekstrapolacja oznacza wyznaczenie pewnych wartości na zewnątrz przedziału, w którym mamy dane pewne informacje o przebiegu funkcji. Wzory umożliwiające tworzenie aproksymacji, które wykorzystujemy w tym celu, mogą mieć identyczną postać jak dla interpolacji, trzeba tylko pamiętać, że w przypadku ekstrapolacji uzyskujemy mniej pewne wyniki, niż w przypadku interpolacji.

Istotne są warunki zatrzymania metody minimalizacji w kierunku: 1. Osiągnięcie względnego poziomu dokładności.2. testy Goldsteina (test jednoskośny oraz dwuskośny)3. testy Wolfe’a (dla metod gradientowych).

Warunki optymalności dla zadań optymalizacji nieliniowej bez ograniczeń:Warunki konieczne optymalności dla funkcji różniczkowalnych:Dla funkcji jednej zmiennej warunkami koniecznymi minimum w punkcie α = 0 są zerowanie się pierwszej pochodnej i lokalna wypukłość wykresu (dla funkcji dwukrotnie różniczkowalnych jest to równoważne nieujemności drugiej pochodnej). Zatem po skorzystaniu z reguł różniczkowania funkcji złożonych w odniesieniu do funkcji warunkiem koniecznym optymalności dla funkcji f(x) jest spełnienie warunków:

i dla wszystkich kierunków Ponieważ muszą one zachodzić dla wszystkich kierunków , są one równoważne warunkom, określonym w następującym twierdzeniu:Jeśli funkcja jest dwukrotnie różniczkowalna, to w każdym jej minimum lokalnym bez ograniczeń spełnione są następujące warunki konieczne optymalności bez ograniczeń

warunek I rzędu,, warunek II rzędu.

Warunek I rzędu jest często nazywany warunkiem stacjonarności, ponieważ oznacza zerowanie się pierwszej pochodnej. Natomiast warunek II rzędu dla funkcji dwukrotnie różniczkowalnych implikuje lokalną wypukłość minimalizowanej funkcji celu.

Warunki dostateczne optymalności dla funkcji różniczkowalnych:

Page 85: Pytanie 2 (PTCY) - Serwer studenckihome.elka.pw.edu.pl/~mmajchro/Pytania-ISID.doc · Web viewOdpowiedzi zostały zaczerpnięte z jego książki – „Podstawy projektowania układów

Warunki dostateczne lokalnego minimum dwukrotnie różniczkowalnej funkcji f w punkcie są następujące:

,, .

Optymalizacja z ograniczeniami:Metody dzielimy na:1) Metody przekształcania (indirect)

a) Transformacji zmiennych: zmieniamy x na y transformacją x=T(y). Zamiast rozwiązywać , rozwiązujemy . Możemy zastosować redukcję zmiennych niezależnych (jak przy rozwiązywaniu układu równań). WADY: Można stosować tylko dla prostych ograniczeń (przy redukcji zmiennych – tylko

dla ograniczeń równościowych) Nieliniowa transformacja może istotnie zmienić własności zadania (utrata

wypukłości, dodatkowe minima). Częste kłopoty numeryczne

2) Transformacji na nieskończony ciąg zadań bez ograniczeń: do minimalizowanej funkcji dopisujemy kolejny człon będący funkcją kary za przekroczenie ograniczenia (min f = f(x) + ).

Wewnętrzna funkcja kary: nie można wykorzystywać ograniczeń równościowych. Najczęściej stosowana funkcja:

(1) logarytmiczna ( ). gj(x) to ograniczenia.

WADY: aby otrzymać zadowalającą dokładność trzeba stosować taką wartość ,

która najczęściej daje źle uwarunkowane zadanie bez ograniczń. Algorytm rozwiązywania zadania bez ograniczeń musi być tak określony,

aby sobie „poradzić” w sytuacji gdy wyliczany punkt jest w zbiorze, w którym funkcja kary nie jest określona.

(2) hiperboliczna ( ). gj(x) to ograniczenia.

WADY: aby otrzymać zadowalającą dokładność trzeba stosować taką wartość ,

która najczęściej daje źle uwarunkowane zadanie bez ograniczeń. Funkcja minimalizowana ma w pobliżu rozwiązania nieciągłość, „za którą”

jej wartości są bliskie minus nieskończoności. Z reguły, funkcja minimalizowana ma wiele minimów lokalnych.

Zewnętrzna funkcja kary: różnica polega na tym, że ograniczenia mogą także być równościowe. Najczęściej stosowana kwadratowa zewnętrzna funkcja kary.

.

WADY: aby otrzymać zadowalającą dokładność trzeba stosować taką wartość , która

najczęściej daje źle uwarunkowane zadanie bez ograniczeń.

Page 86: Pytanie 2 (PTCY) - Serwer studenckihome.elka.pw.edu.pl/~mmajchro/Pytania-ISID.doc · Web viewOdpowiedzi zostały zaczerpnięte z jego książki – „Podstawy projektowania układów

Dla ograniczeń nierównościowych funkcja minimalizowana w zadaniu bez ograniczeń nie jest dwukrotnie różniczkowalna

b) Transformacji na skończony ciąg zadań bez ograniczeń:

Dokładna funkcja kary: .

WADY: Funkcja minimalizowana w zadaniu bez ograniczeń nie jest różniczkowalna.

Metoda rozszerzonego lagrangianu. Nie pytajcie.3) Metody bezpośrednie (direct)

a) Bezgradientowe z ograniczeniami: Oparte o rozsiewanie punktów Metoda COMPLEX

b) Metoda kierunków dopuszczalnych Metoda kolejnych aproksymacji kwadratowych SQP. Polega na wyznaczaniu

kierunku d wykorzystywanego do wyznaczenia następnego punktu x (). d wyznacza się w wyniku rozwiązania zadania programowania

kwadratowego. Funkcja minimalizowana jest rozszerzona o człon zawierający gradient tej funkcji oraz hesjan. Ograniczenia są przycinane za pomocą ich liniowych aproksymacji w bieżącym punkcie. Zadania programowania kwadratowego z ograniczeniami da się jakoś rozwiązać.WADA: Jak policzyć hesjan. Stosuje się metody jak w technikach quasi-

newtonowskich i zamiast kroku o długości „1” stosuje się minimalizację w kierunku ( ).

W wyniku tego ma takie same wady co metody Newtona.c) Metoda kolejnych aproksymacji liniowych

Metoda płaszczyzn tnących: podobna do SQP tylko rozwiązuje się zadanie programowania liniowego zamiast kwadratowego. Można tę metodę stosować do zadań programowania: ciągłego, dyskretnego i mieszanego.WADA: Ciąg rozwiązań jest niedopuszczalny Dla zadań programowania ciągłego zbiór ograniczeń musi być wypukły.

Warunki optymalności dla zadań optymalizacji nieliniowej z ograniczeniami:Tradycyjny zapis warunków koniecznych optymalności Kuhna-Tuckera dla zadań z ograniczeniami nierównościowymi:

1. ,

2. dla ,3. dla ,4. dla .

Warunek 4 jest nazywany warunkiem komplementarności. Często zapisuje się go w innej, równoważnej postaci:

4'.

Page 87: Pytanie 2 (PTCY) - Serwer studenckihome.elka.pw.edu.pl/~mmajchro/Pytania-ISID.doc · Web viewOdpowiedzi zostały zaczerpnięte z jego książki – „Podstawy projektowania układów

Warunki 4 i 4’ są równoważne ze względu na warunki 2 i 3, ponieważ w 4′ sumujemy składniki o jednolitym znaku (wszystkie są niedodatnie). Sformułowane warunki konieczne nie zawsze są spełnione w punkcie optymalnym. Ażeby tak było, muszą być spełnione pewne dodatkowe warunki nazywane warunkami regularności.Typowe warunki regularności:

1. Wszystkie funkcje ograniczeń są liniowe (Karlin).2. Wszystkie funkcje ograniczeń są funkcjami wypukłymi oraz istnieje taki punkt ,

że dla wszystkich indeksów (Slater).3. Gradienty wszystkich ograniczeń aktywnych ( dla ) są liniowo

niezależne (Fiacco i McCormick).4. Domknięcie zbioru kierunków dopuszczalnych jest identyczne ze zbiorem

kierunków - warunek regularności Zangwilla (Zangwill).

5. Warunek regularności Kuhna-Tuckera:Dla każdego istnieje różniczkowalna krzywa styczna do kierunku d w punkcie , wychodząca z tego punktu i zawarta w zbiorze punktów dopuszczalnych dla wszystkich wartości parametru . W formalnym zapisie matematycznym oznacza to, że istnieje taka n-wymiarowa funkcja wektorowa określona w przedziale [0, 1], dla której:

a) ,b) dla i ,

c) e jest różniczkowalna w i dla pewnego .

Przykłady wskazują, że mogą występować zadania optymalizacyjne, w których w punkcie optymalnym – punkcie minimum nie zachodzą warunki Kuhna-Tuckera mimo tego, że wszystkie funkcje zadania są bardzo gładkie (nieskończenie wiele razy różniczkowalne). W tych punktach nie jest spełniony żaden warunek regularności.(FAJNE WAR. KONIECZNE)

Warunki konieczne KT w przypadku ograniczeń równościowych:1. ,

2. dla .Różnice w zapisie w porównaniu z przypadkiem zadań z ograniczeniami nierównościowymi:

mnożniki mogą przyjmować dowolne wartości (w tym również ujemne), brak warunku komplementarności, zadanie z ograniczeniami równościowymi jest łatwiejsze do rozwiązania, ponieważ

wszystkie ograniczenia równościowe są z definicji aktywne, a więc nie ma problemu eliminacji ograniczeń nieaktywnych w rozwiązaniu optymalnym.

Z formalnego punktu widzenia warunek komplementarności jest spełniony. Nie ma jednak potrzeby formułowania go, ponieważ zgodnie z warunkiem 2 byłby on tożsamością, niezależnie od wartości mnożników .Podobnie jak dla zadania z ograniczeniami nierównościowymi, warunki Kuhna-Tuckera muszą być spełnione w punkcie minimum, jeśli zachodzą pewne warunki regularności, np. jeśli wektory pochodnych funkcji ograniczeń w punkcie optymalnym są liniowo niezależne albo wszystkie funkcje ograniczeń są liniowe.

Page 88: Pytanie 2 (PTCY) - Serwer studenckihome.elka.pw.edu.pl/~mmajchro/Pytania-ISID.doc · Web viewOdpowiedzi zostały zaczerpnięte z jego książki – „Podstawy projektowania układów

Przykłady pokazują, że istnieją również zadania z ograniczeniami równościowymi, nie spełniające warunków regularności i mające punkt minimum, w którym nie zachodzą warunki konieczne Kuhna-Tuckera.

Warunki konieczne KT w przypadku zadań z ograniczeniami równościowymi i nierównościowymi:Zadanie postaci:

1. ,

2. dla ,3. dla 4. dla ,5. dla .

Wszystkie te warunki KT można zapisać za pomocą za pomocą funkcji Langrange’a:

Warunki dostateczne Kuhna-Tuckera:1. Zadania wypukłe:

Jeśli: funkcja f jest wypukła, funkcje ograniczeń nierównościowych ( ) – są wypukłe, funkcje ograniczeń równościowych ( ) – są liniowe,to punkt spełniający warunki Kuhna-Tuckera jest minimum globalnym.

2. Warunki konieczne II rzędu: , są klasy

Jeśli: - minimum lokalne, spełniony jest warunek liniowej niezależności pochodnych ograniczeń aktywnych

w punkcie ,to istnieją takie, że spełniają warunki Kuhna-Tuckera oraz dla dowolnego kierunku spełniającego warunki:

dla zachodzi nierówność

3. Warunki dostateczne II rzędu:, są klasy

Jeśli w punkcie istnieje wektor takie, że spełniają warunki Kuhna-Tuckera oraz dla dowolnego kierunku spełniającego warunki:

dla dla

dla

Page 89: Pytanie 2 (PTCY) - Serwer studenckihome.elka.pw.edu.pl/~mmajchro/Pytania-ISID.doc · Web viewOdpowiedzi zostały zaczerpnięte z jego książki – „Podstawy projektowania układów

zachodzi nierówność,

to jest minimum lokalnym.

Page 90: Pytanie 2 (PTCY) - Serwer studenckihome.elka.pw.edu.pl/~mmajchro/Pytania-ISID.doc · Web viewOdpowiedzi zostały zaczerpnięte z jego książki – „Podstawy projektowania układów

Pytanie 53 (POPTY)

Opisać dualność zadań programowania liniowego i optymalizacji wypukłej. Zdefiniować odstęp dualności.

Zasady przekształcania zadania programowania liniowego (zadania pierwotnego)w zadanie dualne:1) Jeżeli w zadaniu pierwotnym funkcja celu jest maksymalizowana (minimalizowana),

wtedy funkcja celu zadania dualnego jest minimalizowana (maksymalizowana).2) Zadanie dualne ma tyle zmiennych decyzyjnych, ile jest warunków ograniczających w

zadaniu pierwotnym.3) Zadanie dualne ma tyle warunków ograniczających, ile jest zmiennych decyzyjnych w

zadaniu pierwotnym.4) Współczynniki stojące przy poszczególnych zmiennych w funkcji celu zadania dualnego

odpowiadają prawym stronom warunków ograniczających zadania pierwotnego.5) Prawe strony warunków ograniczających zadania dualnego są równe współczynnikom,

które stoją przy zmiennych w funkcji celu zadania pierwotnego.6) Współczynniki, które stoją przy poszczególnych zmiennych w i-tym warunku

ograniczającym zadania dualnego są równe współczynnikom, które stoją przy zmiennej xi

w poszczególnych warunkach ograniczających zadania pierwotnego.

Reguły ustalania zwrotów warunków ograniczających zadania dualnego:1a) Jeżeli w zadaniu pierwotnym na zmienną xi jest nałożony warunek nieujemności ( ),

wtedy i-ty warunek ograniczający zadania dualnego jest nierównością o zwrocie typowym.

1b) Jeżeli w zadaniu pierwotnym na zmienną xi jest nałożony warunek niedodatności ( ), wtedy i-ty warunek ograniczający zadania dualnego jest nierównością o zwrocie nietypowym.

1c) Jeżeli w zadaniu pierwotnym na zmienną xi nie jest nałożony żaden z powyższych warunków (czyli ), wtedy i-ty warunek ograniczający zadania dualnego jest równaniem.

2a) Jeżeli w zadaniu pierwotnym i-ty warunek ograniczający jest nierównością o zwrocie typowym, wtedy w zadaniu dualnym obowiązuje warunek .

2b) Jeżeli w zadaniu pierwotnym i-ty warunek ograniczający jest nierównością o zwrocie nietypowym, wtedy w zadaniu dualnym obowiązuje warunek .

2c) Jeżeli w zadaniu pierwotnym i-ty warunek ograniczający jest równością, wtedy w zadaniu dualnym obowiązuje warunek .

Typowość/nietypowość zwrotu nierówności w zależności od kierunku optymalizacji przedstawia poniższa tabela:

max f(x) min f(x)zwrot typowy ≤ ≥

zwrot nietypowy ≥ ≤

Rozpatrzmy przykładowe zadanie programowania liniowego:

Page 91: Pytanie 2 (PTCY) - Serwer studenckihome.elka.pw.edu.pl/~mmajchro/Pytania-ISID.doc · Web viewOdpowiedzi zostały zaczerpnięte z jego książki – „Podstawy projektowania układów

Zadanie dualne do powyższego będzie miało postać:

Zależności pomiędzy rozwiązaniami optymalnymi zadania pierwotnego i dualnego.Niech będzie dane jakiekolwiek zadanie programowania liniowego ZP. Niech ZD będzie zadaniem do niego dualnym. Jeżeli x=(x1,x2,...,xn) jest rozwiązaniem optymalnym zadania ZP, a y=(y1,y2,...,ym) jest optymalnym rozwiązaniem zadania ZD, wtedy:1) f(x) = g(y)2) Jeżeli i-ty warunek ograniczający ZP nie jest wiążący (tzn. jego lewa strona nie jest równa

prawej stronie), wtedy yi=0.3) Jeżeli j-ty warunek ograniczający ZD nie jest wiążący, wtedy xj=0.4) Jeżeli xi≠0, wtedy i-ty warunek ograniczający ZD jest wiążący (jest spełniony z

równością)5) Jeżeli yj≠0, wtedy j-ty warunek ograniczający ZP jest wiążący.

TwierdzenieZadaniem dualnym do zadania dualnego jest zadanie prymalne.Twierdzenie o słabej dualnościJeśli x jest rozwiązaniem dopuszczalnym dla zadania prymalnego i λ jest rozwiązaniem dopuszczalnym dla zadania dualnego, to wartość funkcji celu w zadaniu prymalnym nie może być mniejsza od wartości funkcji celu w zadaniu dualnym

cT x ≥ bTyTwierdzenie o silnej dualnościJeśli dla pary rozwiązań dopuszczalnych (x0, y0) zachodzi równość cTx0=bTy0 to para ta jest parą rozwiązań optymalnych. Między zadaniem pierwotnym a dualnym zachodzi dokładnie jeden z następujących związków:1) Oba zadania mają skończone rozwiązania optymalne, przy czym 0 0 v = x .2) Zadanie pierwotne jest nieograniczone, a dualne niedopuszczalne.3) Zadanie dualne jest nieograniczone, a pierwotne niedopuszczalne.4) Oba zadania są niedopuszczalne.

Optymalizacja nieliniowaDla zadania optymalizacji nieliniowej postaci

Page 92: Pytanie 2 (PTCY) - Serwer studenckihome.elka.pw.edu.pl/~mmajchro/Pytania-ISID.doc · Web viewOdpowiedzi zostały zaczerpnięte z jego książki – „Podstawy projektowania układów

podstawowe podejście przy określaniu pojęcia dualności opiera się na wprowadzeniu funkcji Lagrange’a i analizie jej punktu siodłowego. Funkcję Lagrange’a dla tego zadania można zapisać w postaci:

gdzie składowe ≥0, a składowe mogą być dowolnego znaku.Z zadaniem prymalnym jest ściśle związane tzw. zadanie dualne

gdzie LD (λ) jest dualną funkcją Lagrange’a.

Twierdzenie o słabej dualnościNiech x będzie punktem dopuszczalnym zadania prymalnego, tzn.. Niech punkt λ będzie punktem dopuszczalnym zadania dualnego. Wtedy f(x)≥LD(λ).Wnioski:1. Minimum wartości funkcji celu zadania prymalnego jest większe bądź równe maksimum

wartości funkcji celu zadania dualnego.2. Jeżeli punkt jest prymalnie dopuszczalny, a punkt jest dualnie dopuszczalny oraz f( )

= LD( ) to v jest rozwiązaniem optymalnym zadania prymalnego, a jest rozwiązaniem optymalnym zadania dualnego.

3. Jeżeli zadanie prymalne jest nieograniczone to dualna funkcja celu jest równa -∞.4. Jeżeli supremum w zadaniu dualnym jest równe plus nieskończoności to zadanie

prymalne jest sprzeczne.

Okazuje się jednak, że nawet jeśli obydwa zadania – prymalne i dualne – mają rozwiązania optymalne, to nie zawsze optymalne wartości funkcji celu będą sobie równe. W przypadku, gdy

f( ) > LD( )to mówimy o tzw. odstępie dualności.

Optymalizacja nieliniowa wypukłaZwiązek między zadaniem prymalnym i dualnym dla tzw. zadań wypukłych, gdy funkcja celu jest wypukła, funkcje ograniczeń nierównościowych są wypukłe, a funkcje ograniczeń równościowych są liniowe określa twierdzenie o silnej dualności.Twierdzenie o silnej dualnościZałóżmy, że X jest niepustym, wypukłym zbiorem w skończenie wymiarowej przestrzeni euklidesowej Rn, funkcja celu f:Rn→R1 jest wypukła, funkcje ograniczeń nierównościowych ci:Rn→R1 są także wypukłe, natomiast funkcje ograniczeń równościowych są liniowe, tzn. cE(x) = Ax-b. Niech ponadto wartość optymalna funkcji celu w zadaniu będzie skończona i niech będzie spełniony warunek regularności Slatera wówczas zadanie prymalne i zadanie dualne nie wykazują odstępu dualności.W odniesieniu do zadań optymalizacji wypukłej wygodne jest użycie tzw. dualnego zadania Wolfe’a, które formułujemy dla wypukłych zadań prymalnych z ograniczeniami wyłącznie nierównościowymi:

Interpretacja rozwiązania zadania dualnego.

Page 93: Pytanie 2 (PTCY) - Serwer studenckihome.elka.pw.edu.pl/~mmajchro/Pytania-ISID.doc · Web viewOdpowiedzi zostały zaczerpnięte z jego książki – „Podstawy projektowania układów

Optymalna wartość i-tej zmiennej dualnej mówi o tym, o ile wzrośnie optymalna wartość funkcji celu zadania pierwotnego, jeśli prawa strona i-tego warunku ograniczającego w zadaniu pierwotnym wzrośnie o 1 jednostkę.W szczególności: w przypadku typowego zadania optymalizacji asortymentu produkcji, optymalna wartość i-tej zmiennej dualnej informuje o tym, o ile wzrośnie osiągalny przychód/zysk, jeżeli dostępny zasób i-tego środka produkcji zwiększy się o jednostkę. Można więc powiedzieć, że wartość zmiennej dualnej odpowiada krańcowej produktywności kolejnej jednostki środka produkcji. Alternatywnie możemy wartość zmiennej dualnej interpretować jako wycenę środka produkcji (maksymalną cenę, za którą warto dokupić dodatkową jednostkę, lub minimalną cenę za którą warto jednostkę sprzedać).

Page 94: Pytanie 2 (PTCY) - Serwer studenckihome.elka.pw.edu.pl/~mmajchro/Pytania-ISID.doc · Web viewOdpowiedzi zostały zaczerpnięte z jego książki – „Podstawy projektowania układów

Pytanie 56 (SRD)

Synteza reguły decyzyjnej w warunkach niepewności. Przedstawić problemy: syntezy optymalnej (w tym algorytmu programowania dynamicznego), estymacji stanu, separowalności prawa sterowania i estymacji.

Reguły decyzyjne w sterowaniu (zarządzaniu) procesem dynamicznym w warunkach niepewności.

Nie ma wartości zadanej. Nie występuje zagadnienie regulacji.Główne różnice w porównaniu z zadaniem regulacji:1. Brak wartości zadanych (punktu lub trajektorii odniesienia).2. Niepewność, np. dotycząca wejść swobodnych, ma podstawowe znaczenie.

Przykład. Sterowanie zbiornikiem podczas powodzi.

Cel działania.W taki sposób kształtować odpływ u(t) ze zbiornika podczas powodzi, aby minimalizować straty w punkcie D.

Co może popsuć sterowanie:– urządzenia odpływowe mogą nie pozwolić na wypuszczenie wody przy niskim stanie w

zbiorniku (w zbiornikach retencyjnych stosuje się odpływ grawitacyjny).– niepewność tego co dopływa.– niemożliwość wytworzenia potrzebnych ubytków (pustego miejsca) w zbiorniku.

Opis zagadnienia syntezy reguły decyzyjnej (polityki decyzyjnej).Czas dyskretny. – ograniczona częstość zmiany decyzji.

– ograniczona częstość dopływu nowych danych.– natura systemu.

Page 95: Pytanie 2 (PTCY) - Serwer studenckihome.elka.pw.edu.pl/~mmajchro/Pytania-ISID.doc · Web viewOdpowiedzi zostały zaczerpnięte z jego książki – „Podstawy projektowania układów

Model procesu.a)

xk – stan w początku etapu kuk – decyzja na etapie kwk – zakłócenia w etapie k

Jak opisać wk ? – rozkład prawdopodobieństwa (elementy – przynależne do danego

zbioru).

b) Prawdopodobieństwa przejścia, sterowany proces Markowa. – stan obiektów.

Pomiary:

yk – funkcja pomiaruvk – zakłócenia pomiarowe

W sytuacji szczególnej: – pełen niezakłócony pomiar stanu.Ograniczenia:

(S1) lub (S. Ogr.)

Wskaźnik jakości:

np.

Maksymalizujemy lub minimalizujemy.

Zagadnienie optymalnej syntezy (S1 – sterowania zależą tylko od poprzednich stanów: yk=xk pełen niezakłócony pomiar stanu).Znaleźć reguły uk=μk(xk) k=0, …, N-1, dla których osiągana jest maksymalna lub minimalna wartość wskaźnika jakości przy odpowiednich ograniczeniach.Na ogół nie można stosować linearyzacji równań obiektu.

Estymacja stanu:

yk – funkcja pomiaru

Page 96: Pytanie 2 (PTCY) - Serwer studenckihome.elka.pw.edu.pl/~mmajchro/Pytania-ISID.doc · Web viewOdpowiedzi zostały zaczerpnięte z jego książki – „Podstawy projektowania układów

vk – zakłócenia pomiaroweIk – informacja, która dysponujemy w chwili k

W sytuacji szczególnej: – pełen niezakłócony pomiar stanu.

Zadanie optymalnej syntezy stochastycznej.Zagadnienie optymalnej syntezy (S1 – sterowania zależą tylko od poprzednich stanów: yk=xk pełen niezakłócony pomiar stanu).

ZOSS:

Zał.: W każdej chwili dysponujemy pomiarem stanu.

gdzie: – model procesu

dane: ; Uwaga: , k = 0, …, N-1

Rozwiązywanie metodą stochastycznego programowania dynamicznego.

Programowanie dynamiczne:Podstawę teoretyczną, na której opiera się metoda programowania dynamicznego, stanowi zasada optymalności. W oryginalnym ujęciu Bellmana została ona przedstawiona w sposób następujący:

Jako oczywisty wniosek z powyższego sformułowania możemy napisać:

Co to jest separowalność prawa sterowania i estymacji?

Optymalna strategia sterowania ma tę własność, że jakikolwiek by był stan początkowy i decyzja początkowa, to następne decyzje muszą tworzyć optymalną strategię sterowania względem stanu wynikającego z pierwszej decyzji.

Każdy końcowy odcinek strategii optymalnej jest dla swoich warunków początkowych strategią optymalną.

Page 97: Pytanie 2 (PTCY) - Serwer studenckihome.elka.pw.edu.pl/~mmajchro/Pytania-ISID.doc · Web viewOdpowiedzi zostały zaczerpnięte z jego książki – „Podstawy projektowania układów

Pytanie 57 (SRD)

Opisać mechanizmy decyzyjne stosowane w układzie z powtarzalną optymalizacją z wykorzystaniem prognoz. Scharakteryzować parametryczne reguły decyzyjne, podać przykłady i sposoby strojenia oraz zastosowanie w układach uczących się.

Praktczne mechanizmy syntezy reguł decyzyjnych.Stosujemy, gdy nie potrafimy sformułować lub rozwiązać Z adania o ptymalnej s yntezy s tochastycznej ( ZOSS ).

1. Stosujemy reguły strojone parametrycznie – o zaproponowanej a priori postaci.2. Sterowanie predykcyjne – z powtarzaną (uproszczoną) optymalizacją sterowań.+ Podejście warstwowe.

1. Reguły parametryczne.

Są to uproszczone metody syntezy decyzyjnej. Stosowane wtedy, gdy nie można sformułować zadania syntezy optymalnej (nie są znane modele).

Parametryczne reg. deczyjne wyglądają tak: mk = Mk(xk, α), czyli zwykłe reguły decyzyjne sparametryzowane dodatkowo względem wektora parametrów α. α są wektorami parametrów, których wartości trzeba ustalić przed wykorzystaniem tej reguły.Zadanie poszukiwania wartości tych parametrów może być sformułowane jako zadanie stochastycznego projektowania parametrycznego.

W chwili k dysponujemy informacją .

Proponujemy postać reguły decyzyjnej:,αk – parametry w chwili k, których zestaw trzeba dostroić.

Typowa sytuacja: itd.: , dla k = 0, …, N – 1.Poszukujemy reguły stacjonarnej.Pytania.1. Jakie reguły proponować ?2. Jakie stosować parametry ?

Propozycja postaci reguł?a) reguła liniowa: np. regulatory P, PI, PID.b) tzw. sztuczne sieci neuronowe.

c) reguły (sterowniki) rozmyte (Fuzy Controllers).Można korzystać z reguł lingwistycznych.1. Jeśli temperatura mała, to 2. Jeśli temperatura duża, to

3. Jeśli temperatura średnia, to

Page 98: Pytanie 2 (PTCY) - Serwer studenckihome.elka.pw.edu.pl/~mmajchro/Pytania-ISID.doc · Web viewOdpowiedzi zostały zaczerpnięte z jego książki – „Podstawy projektowania układów

Dla każdej temperatury mamy określone wagi dla wykorzystania poszczególnych reguł. Zaproponowano różne sposoby wykorzystania wag. Np. uśrednianie wag.

Regułami mogą stać się parametry tych zbiorów.

Jak dobrać parametry tych reguł ?Założenie – reguła parametryczna.ZOP – Zadanie optymalizacji parametrycznej

gdzie: – model procesu.

Najprościej wpływ parametrów ocenia się poprzez symulację procesu.

2. Sterowanie predykcyjne – z powtarzaną optymalizacją sterowań. Wykorzystujemy model obiektu i opis niepewności.

Do wyznaczenia decyzji w układzie z powtarzalną optymalizacją z wykorzystaniem prognoz można stosować jeden z poniższych algorytmów sterowania predykcyjnego w układzie otwartym ze sprzężeniem zwrotnym:1. Na każdym etapie k wyznacza się trajektorię sterowania wykorzystując pojedynczą,

deterministyczną prognozę zakłócenia (tzw. podstawowy algorytm sterowania predykcyjnego PASP).

2. Na każdym etapie k wyznacza się trajektorię sterowania w oparciu o model stochastyczny zakłócenia (np. reprezentowany przez pęk prognoz z odpowiadającymi im prawdopodobieństwami realizacji), (tzw. SPOUOSZ).

Sterowanie predykcyjne polega na powtarzaniu optymalizacji trajektorii sterowania w chwilach , zawsze gdy dostarczana jest nowa (aktualna) prognoza zakłóceń , przyjmując za stan początkowy zmierzony stan bieżący. Każdorazowo jest wyznaczana trajektoria sterowania na horyzoncie , gdzie N oznacza chwilę końcową. Wyznaczona trajektoria sterowania jest realizowana do chwili dostarczenia nowej prognozy i proces obliczania sterowań powtarza się (z uwzględnieniem aktualnego stanu procesu). Takie podejście nazywamy sterowaniem repetycyjnym.

Przykład. – P odstawowy S terownik P redykcyjny – PSP . 1. W chwili k stawiamy prognozę przyszłych wejść swobodnych – WS .2. Rozwiązujemy zadanie:

Page 99: Pytanie 2 (PTCY) - Serwer studenckihome.elka.pw.edu.pl/~mmajchro/Pytania-ISID.doc · Web viewOdpowiedzi zostały zaczerpnięte z jego książki – „Podstawy projektowania układów

optymalizacja względem ciągu decyzji: , 3. Stosując , w chwili k + 1 mierzymy xk+1 i powtarzamy rozumowanie.

Przykład – wprowadzanie filmu na rynek.1. Koszt licencji dla lepszych kin.2. Mniejsza opłata licencyjna do popularnych kin.3. Rozprowadzanie na kasetach VIDEO.

Obecny rozwój sterowników przemysłowych umożliwia zastosowanie w nich sterowania predykcyjnego.

Kiedy i którą regułę stosować ?Podejście predykcyjne jest dobre gdy znamy model i dysponujemy dokładnymi prognozami o wejściach swobodnych. Reguły parametryczne stosujemy gdy nie mamy prognoz co do wejść swobodnych oraz dobrego modelu, a decyzje możemy podjąć na podstawie przeszłych zdarzeń.

Page 100: Pytanie 2 (PTCY) - Serwer studenckihome.elka.pw.edu.pl/~mmajchro/Pytania-ISID.doc · Web viewOdpowiedzi zostały zaczerpnięte z jego książki – „Podstawy projektowania układów

Pytanie 58 (WDEC)

Zdefiniować system wspomagania decyzji i jego elementy składowe. Wskazać miejsce i funkcje hurtowni danych we wspomaganiu procesów decyzyjnych.

System wspomagania decyzji jest to system komputerowy, który wspomaga użytkownika w racjonalnej organizacji i kierowaniu procesem decyzyjnym. SWD zawiera reprezentację wiedzy o sytuacji decyzyjnej w postaci modelu analitycznego (model może mieć również postać logiczną), odpowiednie algorytmy umożliwiające korzystanie z tych modeli, oraz dodatkowe moduły, jak bazę danych, interfejs komunikacji z użytkownikiem.

Baza danych i zarządzanie Baza modeli i zarządzanie\ /Zarządzanie systemem/ \

Baza algorytmów i zarządzanie System zarządzania dialogiem(interfejs)

W ogólnej strukturze SWD możemy wyróżnić pięć podstawowych elementów składowych: Moduł bazy danych i zestawu funkcji do zarządzania tą bazą. Dane, które są dostępne dla

użytkownika systemu wspomagania decyzji, można podzielić na dwie grupy. Dane pierwotne, które dotyczą modelu rzeczowego analizowanego problemu decyzyjnego i zostały dostarczone do systemu z zewnątrz, oraz dane wygenerowane przez system (w przypadku metod interaktywnych zawierają one również dane dostarczane przez użytkownika w trakcie procesu interakcji).

Moduł bazy modeli i zestawu funkcji do tworzenia modeli. W trakcie procesu modelowania powstają różne wersje modeli. Wynika to ze wzbogacania wiedzy o modelowanym procesie, czego efektem są nowe wersje modelu, czy warianty modeli o różnych wartościach parametrów. Niezbędne jest więc dostarczanie narzędzi do budowy, sprawdzania poprawności oraz zapisywania modeli.

Moduł algorytmów i funkcje selekcji algorytmów. W systemie wspomagania decyzji wykorzystującym modele analityczne można wyróżnić moduł, w którym zawarte będą algorytmy, które korzystają z modelu, czy baz danych, ale które nie są związane bezpośrednio z zarządzaniem bazy modeli, czy bazy danych. Przykładowo, w tego typu module mogą się znaleźć procedury optymalizacji.

Moduł zarządzania dialogiem z użytkownikiem. W systemie, który wspomaga działalność decyzyjną człowieka moduł interakcji z użytkownikiem powinien być zaprojektowany ze szczególną uwagą. Zadaniem tego modułu jest prezentacja informacji dla użytkownika i translacja poleceń z jeżyka użytkownika na język systemu.

Moduł zarządzania systemem. Zadaniem tego systemu jest koordynacja pracy całego systemu, zapewnienie komunikacji między modułami, dostarczenie informacji o zadaniach wykonywanych w systemie itp.

Bazy danych gromadzące dane dla SWD są zwane hurtowniami danych. Hurtownia danych jest skonsolidowanym repozytorium danych historycznych. Repozytorium zawiera dane historyczne, nie podlegające już zmianom (bo nie zmieniamy danych o sprzedaży sprzed np. roku). Dane są skonsolidowane, co rzutuje na architekturę bazy danych – jest ona znacznie mniej złożona niż w przypadku baz OLTP (On Line Transactional Processing – baz danych

Page 101: Pytanie 2 (PTCY) - Serwer studenckihome.elka.pw.edu.pl/~mmajchro/Pytania-ISID.doc · Web viewOdpowiedzi zostały zaczerpnięte z jego książki – „Podstawy projektowania układów

dla przetwarzania transakcyjnego). Ponadto dane są zorganizowane w strukturę wielowymiarową, w której fakty (liczby przechowywane w bazie) są zależne od wielu parametrów (nazywanych wymiarami). W najprostszym przypadku baza ma strukturę gwiazdy, w której dane dotyczące sprzedaży (wielkość, wartość, …) gromadzone są w centralnej tabeli faktów, natomiast parametry (wymiary) od których sprzedaż zależy znajdują się w mniejszych tabelach takich jak np. produkt, geografia czy czas.

Najczęściej wykorzystywana jest zdenormalizowana struktura bazy hurtowni danych, co umożliwia wydajne, złożone i wszechstronne raportowanie.

Kolejnym ważnym elementem stosowanym w hurtowniach danych są narzędzia analityczne. Wykorzystuje się narzędzia pozwalające prowadzić nawet skomplikowane analizy w trybie on-line (On Line Analitycal Processing - OLAP). Systemy klasy OLAP przełamały wszystkie ograniczenia systemów raportujących z baz OLTP umożliwiając prowadzenie różnego rodzaju analiz biznesowych także na bardzo dużych bazach danych. Powszechnie zaczęto wykorzystywać te nowe możliwości dla wsparcia biznesu oferując mu wszechstronne raportowanie, elastyczne planowanie oraz zawansowane analizy finansowe, sprzedaży, klientów i rynku.

Page 102: Pytanie 2 (PTCY) - Serwer studenckihome.elka.pw.edu.pl/~mmajchro/Pytania-ISID.doc · Web viewOdpowiedzi zostały zaczerpnięte z jego książki – „Podstawy projektowania układów

Pytanie 59 (WDEC)

Scharakteryzować metody interaktywne analizy zadań wielokryterialnych. Opisać sposoby reprezentowania niepewności w modelowaniu sytuacji decyzyjnej.

Metody interaktywne pozwalają użytkownikowi na zmianę modelu preferencji podczas procesu decyzyjnego. Możemy określić, które kryteria są dla nas interesujące, które nie mają większego znaczenia, jakie są granice dolne i górne wartości kryteriów. Następnie ponownie uruchamiamy proces decyzyjny i sprawdzamy, czy wyliczone rozwiązanie jest satysfakcjonujące.

W met. pkt. odniesienia użytkownik specyfikuje poziomy aspiracji oraz rezerwacji dla wszystkich kryteriów (poziom aspiracji określa poziom, który chcemy osiągnąc a poziom rezerwacji określa poziom, poniżej którego nie chcemy spaść). Na tej podstawie poszukuje się rozwiązania sprawnego, najlepiej spełniającego aspiracje użytkownika. Następnie prezentuje się to rozw. użytkownikowi, który zmienia poziomy odniesienia, jeśli otrzymane rozwiązanie nie jest satysfakcjonujące. Metoda pkt. odniesienia wykorzystuje funkcję realizacji celu.

Jednym z ważniejszych aspektów bądź kryteriów, niemal zawsze występującym w procesach decyzyjnych, jest stopień niepewności co do rezultatów decyzji. Dlatego też w każdym rodzaju modeli (preferencyjnych czy rzeczowych, logicznych czy analitycznych) bardzo istotnym aspektem jest sposób reprezentacji tej niepewności.

Źródła tej niepewności mogą być: statystyczne – modele mogą być budowane w oparciu o dane pochodzące z dużej

populacji zdarzeń, pochodzące od człowieka – na przykład niepewność w określaniu preferencji

użytkownika, systematyczne – gdy modelujemy złożone zjawiska i procesy i w modelu występują

uproszczenia i agregacja, jakościowe – na przykład w modelowaniu wykorzystującym teorię chaosu.

Wśród metod reprezentowania niepewności można wyróżnić: metody probabilistyczne. Podejście to jest szczególnie dobrze umotywowane w takich

przypadkach, gdy możemy określić, jakie czynniki powodują losowy charakter rozpatrywanych zjawisk, a także mamy do dyspozycji dane, pozwalające na konstrukcję i weryfikację rozkładów prawdopodobieństw. Klasycznym przykładem są tu loterie lub inne gry losowe, w których dla opisania niepewności dobrze nadaje się aparat teorii prawdopodobieństwa.

zbiory rozmyte, reprezentujące logikę nieskończenie wielowartościową typu „prawdziwe do pewnego stopnia”, nadają się szczególnie dobrze do opisu niepewności decydenta co do jego preferencji oraz zbiory przybliżone, reprezentujące logikę trójwartościową typu „tak, nie, jeszcze nie wiem”. Ludzie często posługują się słownym opisem niepewności typu „w przybliżeniu”, „liczba duża” itp. Formalizacja takiego opisu niepewności może być oparta na logice wielowartościowej lub, co równoważne ale znacznie lepiej spopularyzowane, na teorii zbiorów rozmytych. Tak

Page 103: Pytanie 2 (PTCY) - Serwer studenckihome.elka.pw.edu.pl/~mmajchro/Pytania-ISID.doc · Web viewOdpowiedzi zostały zaczerpnięte z jego książki – „Podstawy projektowania układów

więc ten sposób bardzo dobrze nadaje się do reprezentacji niepewności decydenta o jego preferencjach.

metody przedziałowe reprezentacji niepewności z analizą wrażliwości, teoria chaosu.