Zaawansowane algorytmy i struktury danych/Ćwiczenia 5: Różnice pomiędzy wersjami

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
m Zastępowanie tekstu – „ </math>” na „</math>”
Linia 15: Linia 15:
{{kotwica|zadanie 2|}}
{{kotwica|zadanie 2|}}


'''Układ ograniczeń różnicowych''' zadany jest poprzez zbiór zmiennych <math>X=\{x_0, \ldots, x_n\}</math> oraz zbiór nierówności liniowych <math>O=\{x_{i_0} - x_{j_0} \le b_0, \ldots, x_{i_m} - x_{j_m} \le b_m\} </math>, gdzie <math>i_k, j_k \in X</math>, <math>b_k\in \mathcal{R}</math> dla <math>k = 0,\ldots, m</math>. Rozwiązaniem układu ograniczeń różnicowych jest wartościowanie zmiennych <math>X</math>, dla którego spełnione są wszystkie nierówności z <math>O</math>. Zaproponuj efektywny algorytm znajdujący rozwiązanie układu ograniczeń liniowych.
'''Układ ograniczeń różnicowych''' zadany jest poprzez zbiór zmiennych <math>X=\{x_0, \ldots, x_n\}</math> oraz zbiór nierówności liniowych <math>O=\{x_{i_0} - x_{j_0} \le b_0, \ldots, x_{i_m} - x_{j_m} \le b_m\}</math>, gdzie <math>i_k, j_k \in X</math>, <math>b_k\in \mathcal{R}</math> dla <math>k = 0,\ldots, m</math>. Rozwiązaniem układu ograniczeń różnicowych jest wartościowanie zmiennych <math>X</math>, dla którego spełnione są wszystkie nierówności z <math>O</math>. Zaproponuj efektywny algorytm znajdujący rozwiązanie układu ograniczeń liniowych.


<div class="mw-collapsible mw-made=collapsible mw-collapsed">'''Rozwiązanie'''  
<div class="mw-collapsible mw-made=collapsible mw-collapsed">'''Rozwiązanie'''  

Wersja z 11:01, 5 wrz 2023

Zadanie 1

Zaproponuj efektywny algorytm obliczania najkrótszych ścieżek z jednego wierzchołka w DAG-u o dowolnych wagach krawędzi.

Rozwiązanie

Zadanie 2

Układ ograniczeń różnicowych zadany jest poprzez zbiór zmiennych X={x0,,xn} oraz zbiór nierówności liniowych O={xi0xj0b0,,ximxjmbm}, gdzie ik,jkX, bk dla k=0,,m. Rozwiązaniem układu ograniczeń różnicowych jest wartościowanie zmiennych X, dla którego spełnione są wszystkie nierówności z O. Zaproponuj efektywny algorytm znajdujący rozwiązanie układu ograniczeń liniowych.

Rozwiązanie

Zadanie 3

Skrzynka d-wymiarowe o wymiarach (x1,x2,,xd) mieści się w skrzynce o wymiarach (y1,y2,,yd), jeżeli istnieje permutacja p zbioru {1,2,,d} tak, że xp1<y1,xp2<y2,,xpd<yd.

  1. Uzasadnij, że relacja mieszczenia się jest przechodnia.
  2. Opisz skuteczną metodę określania, czy jedna d-wymiarowa skrzynka zagnieżdża się w drugiej.
  3. Przypuścimy, że dany jest zbiór n d-wymiarowych skrzynek B1,B2,,Bn. Podaj skuteczny algorytm określający najdłuższy ciąg {B1,B2,,Bn} skrzynek mieszczących się w sobie nawzajem, tzn. takich, że Bj mieści się w Bj+1 dla j=1,2,,n1. Podaj czas działania algorytmu ze względu na n i d.


Rozwiązanie

Zadanie 4

Arbitraż walutowy polega na operacji jednoczesnego kupna i sprzedaży waluty na tym samym rynku w celu osiągnięcia zysku wynikającego z różnic kursowych. Na przykład: załóżmy, że kurs wymiany 1 USD wynosi 46.4 rupii, kurs rupii w jenach japońskich wynosi 2.5, natomiast 1 jen kosztuje 0.0091 USD. Poprzez wymianę walut, spekulant może rozpocząć transakcję kupna USD: 46.4 × 2.5 × 0.0091 = 1.0556 USD, osiągając korzyść finansową w wysokości 5.56 %. Przypuścimy, że mamy dane n walut c1,c2,,cn i n×n tabelę R kursów walutowych, tak że kurs 1 jednostki waluty ci wynosi R[i,j] jednostek waluty cj. Podaj skuteczny algorytm stwierdzający istnienie następującego ciągu walut, takich że:

  1. Parser nie mógł rozpoznać (błąd składni): {\displaystyle R[i_1, i_2] \cdots R[i_2, i_3] \cdot R[i_{k-1}, i_k] · R[i_k, i_1] > 1} . Zanalizuj czas działania algorytmu.
  1. Podaj skuteczny algorytm drukowania takiego ciągu walut, jeżeli on istnieje. Ponadto, zanalizuj czas działania tego algorytmu.
Rozwiązanie