Introduktion til kunstig intelligens
Overordnede kursusmål
Målet er at give den studerende en forståelse af fundamentale begreber og teknikker indenfor kunstig intelligens (AI), samt træne den studerendes evne til at anvende disse teknikker. Kurset fokuserer primært på symbolske teknikker indenfor kunstig intelligens, især relateret til søgning og logik.
See course description in English
Læringsmål
- Forklare, anvende og implementere uinformerede og informerede søgeteknikker til løsning af AI-problemer
- Forklare, anvende og implementere søgeteknikker til kunstig intelligens i spil
- Designe, implementere, benchmarke og analysere søgeheuristikker og spil-evalueringsfunktioner
- Forklare og anvende logiske teknikker til repræsentation af viden og ræssonering
- Forklare, anvende og implementere inferensteknikker i udsagnslogik og første-ordenslogik
- Forklare de logiske metoder for opdatering af vidensbaser
- Forklare styrker og svagheder ved forskellige AI-teknikker indenfor søgning og logik
- Korrekt identificere den relevante AI-teknik til løsning af et givet problem
- Forklare anvendelsesområderne for kunstig intelligens, dets potentiale for samfundet samt dets begrænsninger
- Diskutere filosofiske, etiske, juridiske og samfundsmæssige konsekvenser af AI
Kursusindhold
Hvad er kunstig intelligens? Grundlaget for kunstig intelligens. Uinformeret søgning. Informeret/heuristisk søgning: A*, greedy best-first search. Ikke-determinisme og partiel observerbarhed. Adversarial search: spiltræer, Minimax, Monte-Carlo Tree Search. Vidensbaser i udsagnslogik og prædikatlogik. Inferensteknikker i udsagnslogik og prædikatlogik: modus ponens, forward og backward chaining, resolution, model-checking, SAT-solving. Basale strategier til opdatering af vidensbaser (belief revision). Filosofiske, etiske, juridiske og samfundsmæssige aspekter af kunstig intelligens.
Anbefalede forudsætninger
02100/02101/02102/02312/02314/02105/01017/01019, eller ækvivalente kurser. Du skal have erfaring med algoritmer og datastrukturer, programmering, udsagnslogik og rekursive procedurer. Kurset kræver erfaring med implementation af ikke-trivielle algoritmer i et standard programmeringssprog som fx Java eller Python. Kurset kan tages af bachelorstuderende som opfylder de anbefalede forudsætninger.
Undervisningsform
Forelæsninger, øvelser og skriftlige afleveringer.