Zagadnienia na zaliczenie ćwiczeń oraz egzamin „Badania

Transkrypt

Zagadnienia na zaliczenie ćwiczeń oraz egzamin „Badania
Zagadnienia na zaliczenie ćwiczeń oraz egzamin
„Badania Operacyjne - Programowanie Liniowe”
Zaliczenie ćwiczeń
Studentów obowiązuje znajomość problemów, zadań oraz algorytmów omawianych na
ćwiczeniach, m.in:
1. problem idola oraz lidera w grupie (przykłady, algorytmy, schematy blokowe, uzasadnienie poprawności)
2. problem wydawania reszty (przykłady, algorytmy, schematy blokowe)
3. zastosowanie algorytmów omawianych na wykładzie oraz ćwiczeniach do konkretnych
problemów
4. oszacowanie rzędu złożoności obliczeniowej algorytmów
Egzamin
1. Metody zachłanne i dynamiczne rozwiązywania problemów
(a) Optymalny wybór zajęć (sformułowanie problemu; algorytm; dowód poprawności
algorytmu);
(b) Problem plecakowy (sformułowanie problemu; metody zachłanne; algorytm wykorzystujący programowanie dynamiczne; wady i zalety powyższych algorytmów);
2. Grafy i ich podstawowe własności
(a) Podstawowe definicje (grafu skierowanego i nieskierowanego, grafu ważonego, drogi, cyklu, drzewa, minimalnego drzewa rozpinającego);
(b) Reprezentacje grafów (macierze oraz listy sąsiedztwa);
3. Podstawowe algorytmy grafowe
(a) Przeszukiwanie grafu wszerz;
(b) Algorytm Kruskala wyznaczający minimalne drzewa rozpinające;
(c) Algorytmy wyznaczające najkrótsze drogi w grafach (Dijkstry, Bellmana-Forda);
4. Grafy eulerowskie (definicje grafu eulerowskiego, półeulerowskiego, ścieżki oraz cyklu
Eulera, twierdzenie Eulera wraz z dowodem, algorytm Fleury’ego, przykłady)
5. Problem chińskiego listonosza (sformułowanie problemu, algorytm)
6. Sieci przepływowe
(a) Podstawowe definicje (sieci przepływowej, przepływu w sieci, wartości przepływu, maksymalnego przepływu, sieci residualnej, ścieżki powiększającej, przekroju
w sieci)
(b) Algorytm Forda-Fulkersona wyznaczający maksymalny przepływ w sieci (m.in.
rola sieci residualnych);
1
(c) Dowód poprawności algorytmu Forda-Fulkersona (m.in. związki pomiędzy przepływem w sieci, sieciami residualnymi oraz przekrojami w sieci);
7. Zagadnienie transportowe (sformułowanie problemu, algorytm)
8. Skojarzenia w grafach dwudzielnych
(a) Definicja skojarzenia oraz maksymalnego skojarzenia;
(b) Algorytmy wyznaczające maksymalne skojarzenie w grafach dwudzielnych (FordaFulkersona oraz wykorzystujący ścieżki M -rozszerzające);
(c) Dowody poprawności powyższych algorytmów;
9. Pokrycia wierzchołkowe w grafach dwudzielnych
(a) Definicja pokrycia wierzchołkowego oraz minimalnego pokrycia wierzchołkowego;
(b) Związki z maksymalnym skojarzeniem (m.in. twierdzenie Königa);
(c) Algorytm wyznaczania minimalnego pokrycia wierzchołkowego;
(d) Dowód poprawności powyższego algorytmu;
10. Grafy hamiltonowskie (definicje grafu hamiltonowskiego, półhamiltonowskiego, ścieżki
oraz cyklu Hamiltona, przykłady)
11. Problem komiwojażera (sformułowanie problemu oraz algorytm aproksymacyjny)
12. Algorytmy aproksymacyjne
(a) Pojęcia błędu względnego oraz ograniczenia błędu względnego algorytmu;
(b) Przykłady algorytmów aproksymacyjnych (problem pokrycia wierzchołkowego,
problem pokrycia zbioru, problem sumy podzbioru);
13. Zastosowania omawianych algorytmów
14. Złożoność obliczeniowa algorytmów (intuicja, przykłady)
2

Podobne dokumenty