Wprowadzenie do Sztucznej Inteligencji

Ćwiczenia: wtorki 08:15-10:00, sala 09, 2026

WSI – Ćwiczenia

Organizacja zajęć

  • W semestrze jest 14 spotkań ćwiczeniowych. Wynika z tego, że pierwszy teoretycznie możliwy termin należy pominąć.
  • W trakcie zajęć będzie do rozwiązania 7 zadań (miniprojektów) z obszaru sztucznej inteligencji.
  • Tematy kolejnych zadań będą pojawiać się zgodnie z harmonogramem poniżej.
  • Zadania realizujemy indywidualnie, za wyjątkiem ćwiczenia dotyczącego sieci neuronowych.
  • W przypadku pojawiających się wątpliwości należy pytać prowadzącego ćwiczenia.

Miniprojekty

Wymagania

  • Realizacja zadań typowo wymaga zaimplementowania algorytmu, przeprowadzenia eksperymentów badających jego właściwości i przygotowania raportu/dokumentacji z wnioskami z wykonanych prac. W ramach badań należy wypróbować różne zestawy parametrów implementowanego algorytmu i/lub zastosować go na różnych zbiorach danych, po czym rzetelnie porównać osiągnięte wyniki i wyciągnąć wnioski.
  • Nie można wyciągać wniosków na podstawie jednego uruchomienia metody niedeterministycznej (wykorzystującej liczby pseudolosowe). Należy pracować na zagregowanych wynikach z min. 25 uruchomień. Dla takich algorytmów podaje się średnią, odchylenie standardowe, najlepszy i najgorszy wynik.
  • Wyniki badań umieszczamy w postaci odpowiednich tabel i wykresów. Po każdym takim elemencie powinien być opis wyjaśniający, co na nim widać (np. dla jakich wartości uzyskano najlepsze wyniki), a następnie wnioski (wnioski z wyników powinny być możliwie blisko tych wyników). Na końcu sprawozdania: wnioski końcowe.
  • Jeśli wraz ze wzrostem wartości danego parametru rośnie jakość wyniku, to trzeba zwiększać ten parametr, dopóki nie nastąpi złamanie trendu (analogicznie, jeśli zaczynamy od dużych wartości parametru i prowadzimy eksperymenty w kierunku małych). Nie ma konieczności liniowej modyfikacji wartości parametru (możemy sprawdzić np. 1, 2, 5, 10, 20, 50, a potem zbadać okolice najlepszej wartości).
  • Czasem wyniki różnią się nieznacznie; nie można wtedy na siłę wyciągać wniosku o tym, który wiersz w tabeli jest najlepszy.
  • Kod przygotowujemy w języku Python.
  • Raport: notatnik Jupyter lub plik PDF.

Oddawanie prac

  • Oddawanie miniprojektów odbywa się na zajęciach. Oprócz tego kod wraz z raportem należy wysyłać e-mailem prowadzącemu ćwiczenia przed oddaniem.
  • Kod źródłowy wraz z raportem projektu należy spakować (najlepiej w formacie .zip). Proszę nie wysyłać linków do GitLaba ani dysku w chmurze.
  • W temacie e-maila proszę wpisać “WSI_CW” oraz nie przesyłać binariów, czyli bibliotek, plików wykonywalnych i wyników kompilacji. Jeśli plik okazuje się zbyt duży, należy sprawdzić, czy nie wysyłają Państwo katalogów ukrytych (np. .git), kodów istniejących bibliotek (np. CEC) lub plików z wykresami, które i tak są w sprawozdaniu.

Elementy wpływające na ocenę

  • Jakość techniczna dokumentacji (brak literówek, używanie prawidłowego słownictwa).
  • Jakość kodu (przydatność, czytelność, stabilność, uniwersalność).
    • Kod programu powinien być czytelny (samodokumentujący się).
    • W nagłówku każdego pliku z kodem należy umieścić informację o autorze.
    • Zaimplementowany algorytm musi być uniwersalny - nie może być związany z konkretnym zbiorem danych.
  • Jakość badań (zakres badań, prezentacja wyników, zasadność i głębokość wniosków).
    • Typowym błędem są zbyt ogólne wnioski niemające poparcia w wystarczającej liczbie badań; np. jeśli dla konkretnego zadania wyszło, że dobra jest maksymalna wartość pewnego parametru, to nie znaczy, że zawsze powinien on mieć taką wartość.
    • Podawanie zbyt wielu cyfr po przecinku nie ma sensu. Zwykle podaje się 2-3 cyfry po przecinku.
  • Nieznajomość własnego kodu czy nieumiejętność wyjaśnienia podjętych decyzji skutkuje obniżeniem oceny.
  • Za opóźnienia w stosunku do podanych terminów przewidziano karę 20% pkt. za każdy rozpoczęty tydzień spóźnienia, przy czym ostatni dzień zajęć przed sesją egzaminacyjną jest ostatecznym terminem oceny wszystkich zadań.

Harmonogram zajęć

#Termin zajęćTematykaPunktacja
012026-03-03Zad 1: Zagadnienie przeszukiwania i podstawowe podejścia do niego.0-7
022026-03-10Realizacja i konsultacje dot. zad 1. 
032026-03-17Zad 2: Algorytmy ewolucyjne i genetyczne. Ocena poprzedniego zadania.0-7
042026-03-24Realizacja i konsultacje dot. zad 2. 
052026-03-31Zad 3: Dwuosobowe gry deterministyczne. Ocena poprzedniego zadania.0-7
062026-04-14Realizacja i konsultacje dot. zad 3. 
072026-04-21Zad 4: Regresja i klasyfikacja. Ocena poprzedniego zadania.0-7
082026-04-28Realizacja i konsultacje dot. zad 4. 
092026-05-05Zad 5: Sztuczne sieci neuronowe (realizowane w zespołach 2-osobowych). Ocena poprzedniego zadania.0-8
102026-05-19Realizacja i konsultacje dot. zad 5. 
112026-05-26Zad 6: Uczenie się ze wzmocnieniem. Ocena poprzedniego zadania.0-7
122026-06-02Realizacja i konsultacje dot. zad 6. 
132026-06-09Zad 7: Modele bayesowskie. Ocena poprzedniego zadania.0-7
142026-06-16Ocena zad 7.