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