Sztuczna inteligencja jest dziedziną budzącą emocje. Chyba każdy programista
chciałby, żeby jego programy (przynajmniej niektóre) działały inteligentnie,
czyli tak jak ludzie, tylko szybciej i bardziej bezbłędnie.
Z drugiej strony budzi też obawy: czy ONE (komputery) będą myśleć lepiej niż
MY (ludzie)? Czy komputer lepszy od człowieka (swego twórcy), będzie mógł
tworzyć jeszcze bardziej inteligentne komputery?
Niniejszy wykład ma na celu przedstawienie najistotniejszych wątków sztucznej
inteligencji, czyli dziedziny, która próbuje modelować zachowanie inteligentne
i tworzyć systemy, które to zachowanie przejawiają.
Choć wykład ma być dość ogólny i przeglądowy, będziemy starać się, by student,
który go ukończy, nie tylko wiedział, jak używać wybrane metody sztucznej
inteligencji, ale je również dobrze rozumiał, potrafił zaimplementować i
zmodyfikować na potrzeby konkretnego zadania.
Będziemy omawiać następujące zagadnienia
* Podstawy uczenia maszynowego
* Metody przeszukiwania, zarówno z wiedzą o problemie, jak i bez niej
* Decyzyjne procesy Markowa
* Uczenie ze wzmocnieniem
* Programy grające w różne gry (w tym gry z niepełną informacją), zagadnienia uczenia się strategii
* Podstawy terorii gier
* Algorytmy spełnianie więzów
* Sieci Bayesowskie (wnioskowanie, uczenie się struktury)
* Podstawy wnioskowania w różnych logikach
* Algorytmy planowania
* Rezolucja i podstawowe metody dowodzenia twierdzeń
* Podstawy rozumienia języka języka naturalnego
* Analiza sieci społecznościowych
* Wnioskowane z dużych baz faktów
Niektóre zagadnienia mają naturalną kontynuację na przedmiotach Sieci
neuronowe, Eksploracja danych, Przetwarzanie języka naturalnego, Text mining
czy Sztuczna inteligencja w grach -- w takich przypadkach będziemy
koncetrowali się na podstawach tych dziedzin, pozostawiając zainteresowanemu
studentowi możliwość ich zgłębienia na dedykowanych przedmiotach. Wykład
będzie prowadzony we współpracy z Piotrem Wnuk-Lipińskim oraz Janem
Chorowskim.