Vad handlar artificiell intelligens (AI) egentligen om? Att ge en generellt accepterbar definition av vad begreppet AI står för är svårt--förmodligen omöjligt; frågar vi 100 AI-forskare torde vi få lika många olika svar. Om vi ändå ska våga oss på ett försök till definition, kan vi tänka oss att "AI är att få en maskin att göra sådant som skulle kräva intelligens om det utfördes av en människa". En annan funktionell definition av AI skulle kunna vara att
AI är en gren inom datavetenskapen där man studerar och skapar datoriserade system som besitter någon form av intelligens:
* system som lär sig nya begrepp och uppgifter
* system som kan resonera och dra vettiga slutsatser om omvärlden
* system som förstår naturligt språk och uppfattar och förstår i visuell mening
* system som utför andra göromål som kräver mänsklig intelligens
En sista, populär "definition" på AI är att AI-problem är sådana problem som vi inte kan lösa. Så snart det finns en lösning på problemet är det inte längre något AI-problem. Det är lite skämtsamt formulerat, men det ligger mycket sanning i det; gårdagens AI är skiljd från dagens AI, som i sin tur inte kommer vara densamma som morgondagens AI.
Då AI är såpass vittomfattande och spänner över flera delområden--från mer generella som kunskapsrepresentation, sökning, resonerande, inlärning, problemlösning och planering till mer specialiserade som expertsystem, visuell mönsterigenkänning, språkförståelse och teorembevisning--torde det stå klart att det inte är möjligt att behandla alla dessa delområden på en enda kurs. Vi inskränker oss därför till att på kursen AI1 behandla endast några av de mer generella delområdena:
Kunskapsrepresentation refererar förstås till olika sätt att representera kunskap. Vi tittar när- mare på logikbaserade representationer, semantiska nätverk, ramar, manus och regelbaserade representationer.
Sökning ligger till grund för det mesta inom AI. Vi tittar på ett flertal klasser av sökmetoder och olika typer av problem de är lämpade för: blind sökning när man inte har någon kunskap om problemet, heuristisk sökning när vi kan utnyttja problemspecifik kunskap och spelsökning när vi har sökproblem (exempelvis schack) som inbegriper en motståndare.
Logik använder vi utöver att representera kunskap också bland annat till att dra slutsatser och resonera om densamma. Satslogik, predikatlogik, unifiering och resolution tas upp.
Planering och problemlösning är att kunna ta fram och följa en sekvens av steg för att uppnå en önskad situation. Vi tittar på några kända programsystem för att få en uppfattning av vad det hela handlar om.
Inlärning inbegriper de processer med vilka ett program kan utöka sin kunskap eller förbättra sina färdigheter. Vi skiljer ut några olika typer av inlärning och ser hur vi kan tillämpa dem på program.