So does this work? Yes. So hello everybody. My name is Florian Rab. I'm filling in for
Michael today. This is my first time in this lecture hall, so if I'm doing anything wrong,
let me know. And in particular, this should be the lecture artificial intelligence one. So any
questions before we start? Yeah. Which project? AI systems project? Yes. And if I'm not mistaken,
it has already started, so just contact whoever is teaching it. So while you guys are getting
settled in, let me announce something about the homeworks. So we're gonna have the first homework
being published tonight or tomorrow, then the tutorials will start next week. The way the
scheduling will work is that the homework usually comes out around Thursday, then we have homeworks
in the following week, tutorials in the following week, and then the homework is due on Sunday.
We're gonna have submissions in groups of three, and that nicely helps you with forming study
groups, presumably. Every question will be submitted individually. If you want, you can
change teams from question to question. That doesn't really matter to us. Stood on starting
it out very nicely that you all get the right points at the end. We do not know which of the
questions we will actually grade. That will depend on how much TA hours we have. So we will grade
as many questions as the TAs have time to grade. It might be one question per sheet, maybe two
questions per sheet. Usually every homework sheet has like three to four questions, and we won't
announce in advance which questions will be graded, so you have to submit all of them, and then we
choose some of them to be graded. We would like to grade everything. We would also like to have
submissions individually instead of in groups, but we just don't have the resources to do any
grading otherwise. So in the last lecture, Michael started with Prologue, and Prologue is usually
something that many students are very confused by. That's why I want to take some time to revise
that a bit. So Prologue is important for three different reasons. One, as a logic-based programming
language, it is one of the programming languages that is nicest for symbolic artificial intelligence.
That's because contrary to other programming languages, the program is split into a set of
rules. So here, for example, you have six...this program has six rules, and every Prologue program
just consists of a set of rules. These rules capture knowledge of the if-then variety, so every
rule is an if-then rule, and that comes in very handy when we try to represent knowledge that we
want to implement in our artificial intelligence systems. So very often using Prologue, we can
just describe the knowledge of our domain, and then an algorithm that we can actually execute drops
out at the end. The other reason why Prologue is important is that it is the basis of first-order
logic. First-order logic is the most important, most widely used symbolic AI language. We're going
to have a whole chapter on it down the road in this course, and if you understand Prologue,
it certainly helps with understanding first-order logic later. And the third reason is that we're
going to use Prologue as the main programming language in the exercises. So there will be,
I don't know, around five or so homework questions where you just implement the algorithms we learn
in the lecture using Prologue. Many students have difficulties with Prologue, so really try to make
sure you understand this. Spend time on the exercises over the weekend, and use the tutorials
next week to really catch up on your Prologue. Otherwise, it just gets worse because you have
to actually use it throughout the semester. So how do Prologue programs work? There's two ways
to read these programs. Firstly, we can read every rule as an if-then rule. If we want to do that,
we have to start here after the colon minus, and we have to say if this is true and this is true,
so the comma means and. So if this is true and this is true, then the part at the beginning is
true. So it's an if-then just written in a slightly weird way. It's not an if-then-else that you know
from programming in a kind of branching statement. It's an if-then-else in the sense of statements
being true. So it's a knowledge if-then-else. If this is true and this is true, then this is true.
So in particular, what are we saying here? If the predicate has wheels is true for some object x and
the number 3, and the predicate has motor is true for that x, then the predicate car of x is also
true. So we're trying to capture the knowledge any object x, so the uppercase letters in Prologue
always mean any object. So any object x such that has wheels is 3 and has motor is true is also a
car. Not necessarily true in general, but it is the way how this particular program chooses to
Presenters
Zugänglich über
Offener Zugang
Dauer
01:30:02 Min
Aufnahmedatum
2022-10-27
Hochgeladen am
2022-10-27 23:29:32
Sprache
en-US