Table of Contents

1. Zasady zaliczenia

Część projektowa – 60 pkt, część ćwiczeniowa 40 pkt.

Do zaliczenia potrzeba ponad 50% z każdej części, oraz mieć nie więcej niż cztery nieusprawiedliwione nieobecności na ćwiczeniach.

Na oddaniu każdego dokumentu (raport, konspekt) na projekcie obecność również jest obowiązkowa. Nie ma możliwości zaocznego oddawania postępów. Nieobecność skutkuje otrzymaniem 0 punktów za dany deadline. Każdy z elementów można oddać z jednotygodniowym opóźnieniem, wtedy od wyniku odejmowane jest odpowiednio 2 punkty za konspekt i 5 punktów za raport.

1.1. Obecności

Za nieusprawiedliwione nieobecności w małej ilości odejmowane są punkty, w większej, nie zalicza się przedmiotu:

  • ćwiczenia:
    • 1 nieobecność: bez konsekwencji,
    • 2 lub 3 nieobecności: 4 punkty kary,
    • 4 nieobecności: 8 punktów kary,
    • więcej: niezdanie przedmiotu,
  • projekt:
    • nieobecność na terminie oddania, projektu (obowiązkowe jest wysłuchanie prezentacji innych grup): 6 punktów kary.

1.2. Zapisy na tematy

W kursie moodle znajdują się linki do:

  • wyboru tematów prezentacji na ćwiczenia,
  • podziału na zespoły dwuosobowe do drugiego projektu.

Proszę zapisać się na projekty jak najszybciej, zapisy na tematy prezentacji będą dostępne po pierwszych zajęciach ćwiczeniowych.

2. Projekt

Zaliczenie na podstawie wykonania dwóch projektów mających zbadać

  • możliwości rozwiązania problemu CVRP z użyciem algorytmu mrówkowego (realizowany indywidualnie),
  • możliwości wykorzystania i usprawnienia podejścia MCTS do implementacji sztucznej inteligencji w wybranej grze (realizowany w parach).

Celem projektu jest przeprowadzenie świadomego i celowego procesu badawczego oraz opisanie jego wyników w sposób przystępny dla innych badaczy. W związku z tym, poza implementacją samych metod, co oczywiste, na projekcie wymagamy następujących elementów:

  • konspektu – wstępny plan badań, zawierający:

    • opis problemu,
    • wstępny przegląd literatury,
    • hipotezy badawcze, które zostaną zweryfikowane w ramach projektu,
    • sposób weryfikacji hipotez,
      • w szczególności sposób przeprowadzenia eksperymentów i
      • plan na opracowanie wyników,
    • harmonogram działań,
    • ogólny projekt techniczny – planowane wykorzystanie istniejących rozwiązań i bibliotek (bardzo zgrubne).

    Stawiając hipotezy należy pamiętać, że metody bazujące na generatorach liczb losowych mogą dawać różne wyniki w zależności od startowego ziarna. Należy zapewnić wielokrotne powtórzenia eksperymentu z różnym ziarnem losowości, aby stwierdzić czy wyniki są regularnie powtarzalne i jak duży jest ich rozrzut. Program należy zaprojektować w taki sposób, aby możliwe było powtórzenie konkretnego przebiegu z zadanego ziarna generatora.

  • raportu końcowego, zawierającego:
    • opis problemu (uzupełniony z konspektu),
    • sprawdzone hipotezy i opis eksperymentów, które posłużyły do ich weryfikacji (rozszerzona wersja z konspektu)
    • wyniki eksperymentów przedstawione w sposób przystępny dla czytelnika – nie w formie surowych tabel z pojedynczymi wartościami,
    • wniosków, w tym stwierdzenia czy postawione hipotezy są prawdziwe,
    • raport powinien zawierać odnośniki
      • streszczenie na około 250 słów podsumowujące eksperymenty i najważniejsze wyniki,
      • bibliograficzne do literatury, publikacji recenzowanych.
  • prezentacji wyników przed całą grupą. Prezentacja powinna trwać około 10 minut i prezentować to co zostało zrobione w projekcie + najciekawsze wyniki.

Z racji tego, że projekt jest badawczy, a nie inżynierski (to nie są studia na specjalności związanej z inżynierią oprogramowania), program ma być tylko środkiem do przeprowadzenia badania, a nie jego centrum. Najważniejszym elementem oceny są konspekt i raport. Jeśli program będzie miał funkcjonalności, które nie posłużyły do przeprowadzenia badań lub nie zostały uwzględnione w raporcie, nie będą one brane pod uwagę przy ocenie. Architektura programu również nie będzie oceniana. Najważniejszym elementem oceny będzie treść i forma raportu.

Każdy z projektów będzie oceniany do 30 punktów. 5 punktów za konspekt, z naciskiem na przegląd literatury oraz postawione hipotezy i sposób ich weryfikacji. 25 punktów za raport+prezentację z naciskiem na dobrze przeprowadzone i opracowane eksperymenty i wnioski.

2.1. Harmonogram 2022

Wyróżnionym tekstem zaznaczone terminy, na których trzeba oddać jakiś element projektu.

  1. [2022-02-28 pon] Zasady zaliczenia, wyjaśnienie pierwszego tematu
  2. [2022-03-07 pon] Wstępny konspekt
  3. [2022-03-14 pon] Ostateczny konspekt
  4. [2022-03-21 pon] Wstępna implementacja
  5. [2022-03-28 pon] Wstępny raport
  6. [2022-04-04 pon] Oddanie pierwszego tematu: Raport+prezentacje cz. 1: w tym terminie wszyscy muszą oddać raport, ale nie zmieszczą się wszystkie prezentacje, część prezentacji (tylko prezentacji) tydzień później.
  7. [2022-04-11 pon] Prezentacje cz. 2, wyjaśnienie drugiego tematu
  8. [2022-04-20 śro] Konsultacje
  9. [2022-04-25 pon] Wstępny konspekt P2
  10. [2022-05-09 pon] Pełny konspekt P2
  11. [2022-05-16 pon] Konsultacje
  12. [2022-05-23 pon] Wstępna implementacja P2
  13. [2022-05-30 pon] Konsultacje
  14. [2022-06-06 pon] Wstępny raport P2
  15. [2022-06-13 pon] Oddanie: Raport+Prezentacje P2

2.2. Projekt 1

Zastosowanie algorytmu mrówkowego do rozwiązania problemu Capacitated Vehicle Routing Problem. Rozważamy wariant CVRP, gdize:

  • liczba pojazdów jest ustalona, podana na wejściu,
  • droga, którą może przebyć każdy z pojazdów jest ograniczona przez wartość \(s_{max}\) (taka sama dla każdego pojazdu), podaną na wejśiu.

Należy porównać ze sobą następujące podejścia:

  • algorytm mrówkowy w podstawowej wersji,
  • algorytm mrówkowy z modyfikacją zaproponowaną przez siebie lub zaczerpniętą z literatury – zaproponować dwie różne modyfikacje i sprawdzić obie,
  • algorytm zachłanny.

Do przetestowania algorytmu należy wykorzystać wybrany przez siebie zbiór lub zbiory testowe, które zapewnią:

  • zróżnicowanie przypadków testowych (w szczególności pod względem rozmiaru i struktury grafu),
  • rozsądną liczbę przypadków testowych, żeby dało się wyciągnąć ogólne wnioski.

Przy stawianiu hipotez uwzględnić porównanie skuteczności i czasu obliczeń poszczególnych podejść, uwzględniając rozmiar wejściowego problemu i różne warianty parametryzacji algorytmu mrówkowego.

2.3. Projekt 2

Zastosowanie Monte Carlo Tree Search/Upper Confidence Bound Applied To Trees do stworzenia sztucznej inteligencji grającej w wybraną grę dla dwóch graczy z pełną (doskonałą) informacją.

Wybór gry musi być zaakceptowany przez prowadzącego przez rozpoczęciem prac nad konspektem. (W celu zapewnienia, że nie będzie to gra zbyt prosta dla algorytmu MCTS).

W ramach hipotez badawczych uwzględnić porównanie skuteczności graczy:

  • opartego o UCT bez dodatkowych modyfikacji,
  • dwóch wariantów usprawnień UCT, przynajmniej jednego zaczerpniętego z literatury,
  • wybranego podejścia heurystycznego wyspecjalizowanego w danej grze.

Należy także postawić własną hipotezę istotnie inne od powyższych zagadnień.

Ponadto należy dostarczyć interfejs, który umożliwi przeprowadzenie rozgrywki człowiek-komputer.

3. Ćwiczenia

Ćwiczenia mają charakter seminaryjny. Zaliczenie polega na wygłoszeniu dwóch prezentacji i aktywnym uczestnictwie w prezentacjach koleżanek i kolegów z grupy.

Każda osoba ma wygłosić dwie prezentacje na temat związany z metodami sztucznej inteligencji. Wybieramy dwa tematy, po jednym dla każdej prezentacji. Można albo zaprezentować zastosowanie/modyfikację jakiejś metody do pewnego problemu albo przedstawić jedną prezentację problem i przegląd podejść do problemu. Tematy każdy proponuje sam. Proponowany temat nie może być zbyt prosty, w szczególności nie może być z tego co jest w programie studiów (np. podstawowa sieć MLP, czy podstawowy algorytm ewolucyjny). Temat musi być zaakceptowany przez prowadzącego. Tematy zgłaszamy prowadzącemu ćwiczenia w pierwszym tygodniu.

Długość przygotowywanych prezentacji jest zróżnicowana:

  • Pierwsza prezentacja w semestrze trwa 15 minut (wraz z pytaniami i czasem na podłączenie do rzutnika, czyli około 11 minut na samą prezentację).
  • Druga prezentacja trwa 20 minut wraz z pytaniami.

Na każdą z prezentacji należy wybrać temat stosownie do dostępnego czasu.

Prezentacja powinna być oparta na artykułach naukowych. Można wykorzystać tylko materiały recenzowane. W przypadku prezentacji o jednym podejściu powinno być około 2 pozycje bibliograficzne. W przypadku przeglądu około 6.

Oprócz samej prezentacji należy przygotować konspekt w następującej formie: streszczenie zawartości prezentacji tekstem ciągłym wraz z odnośnikami do literatury. Opis musi mieć od 3/4 do 1 strony A4

  • marginesy 2cm,
  • times 11pt,
  • u góry strony tytuł i nazwisko,
  • bibliografia nie liczy się do objętości konspektu.

**W dniu prezentacji, najpóźniej o godzinie rozpoczęcia zajęć, należy umieścić w moodle konspekt i slajdy do prezentacji. Za niedostarczenie slajdów w terminie kara 4 punkty. Za każdy kolejny tydzień opóźnienia w dostarczeniu tych materiałów kolejne 4 punkty kary.**

Każda z prezentacji za 20 punktów, oceniane na podstawie:

  • Zmieszczenie się w narzuconym czasie. Za każdą kolejną minutę poza zakresem -2 punkty.
  • Ogólna jakość opracowania materiału i jakość wypowiedzi.
  • Zgodność i styl konspektu.
  • Prawidłowy wybór źródeł.
  • Sposób wygłoszenia prezentacji – czy był przystępny i zrozumiały? Czy prezentacja była na temat?
  • Dobór materiału ilustracyjnego i przejrzystość slajdów.
  • Podanie źródeł wykorzystanych obrazków, wyników, przykładów, itp.

Author: Jan Karwowski

Created: 2022-02-22 wto 17:18