Podstawy i zastosowania złożoności obliczeniowej

Język wykładowy Polski
Semestr Zimowy
Status Poddana pod głosowanie
Opiekun Jakub Michaliszyn
Liczba godzin 30 (wyk.) 30 (ćw.)
Rodzaj Informatyczny inż.
ECTS 6
Polecany dla I roku Nie
Egzamin Tak

Opis przedmiotu:

Celem przedmiotu jest zaznajomienie słuchaczy z podstawowymi zagadnieniami teorii obliczeń oraz omówienie praktycznych zastosowań tej teorii, ze szczególnym uwzględnieniem implementowania algorytmów korzystających z narzędzi takich, jak SAT solvery, SMT solvery czy QBF solvery. Program przedmiotu obejmuje: modele obliczeń (automaty i maszyny), praktyczne klasy złożoności obliczeniowej (LogSpace, P, NP, PSpace), dyskusję o problemach nienależących do tych klas oraz omówienie narzędzi i technik wykorzystywanych do radzenia sobie z problemami o dużej złożoności. Przedmiot ten nie będzie trudny: powinien być przystępny dla studentów trzeciego semestru. Zajęcia pomocnicze będą składały się z list zadań rozwiązywanych w trakcie zajęć oraz z zadań domowych (implementacyjnych oraz teoretycznych).