Fußballspielende Roboter
Künstliche Intelligenz (KI)
Vorgehen
Ihr sollt Euch tw. eigenständig (gern in Kleingruppen) die
Grundlagen des Themas Künstliche Intelligenz erarbeiten.
Dazu findet ihr hier Verweise auf Erklärungen (Texte und Videos), Aufgaben und Tipps.
Parallel zur Erarbeitung sollt ihr eine
Dokumentation z.B. in Form eines Blogs, Wikis oder Word-Dokuments erstellen.
Aufgaben
Aufgabe 1
Den
Einstieg in das Thema bildet die Audiodatei:
Herr Cholerik und die Zugauskunft
Höre Dir die Audiodatei an und beantworte folgende Fragen:
- Worum geht's hierbei?
- Was hat das Ganze mit dem Thema Künstliche Intelligenz zu tun?
Aufgabe 2
Künstliche Intelligenz (Artificial Intelligence) ist ein interdisziplinäres Forschungsgebiet,
das sich u.a. auf die Informatik, Psychologie, Biologie, Linguistik und Mathematik erstreckt.
Dabei werden vor allem zwei Richtungen verfolgt:
- das menschliche Gehirn mithilfe von Computern zu simulieren, um seine Funktion besser zu verstehen (Kognitionswissenschaft)
- Computerprogramme "intelligenter" zu machen, indem menschliche Problemlösefähigkeiten nachgebildet werden
Recherchiere die Anwendungsgebiete (Teilgebiete) der Künstlichen Intelligenz,
suche dir zwei davon aus, die dich ansprechen, und beschreibe sie kurz in eigenen Worten.
Künstlicher Bambus
Aufgabe 3
Zu den
grundlegenden Algorithmen in der Informatik gehören Such- und Sortierverfahren.
- Recherchiere, wie die folgenden Sortierverfahren funktionieren:
- Sortieren durch Einfügen (Insert-sort)
- Sortieren durch Auswahl (Select-sort)
- Bubblesort
- Quicksort
- Wende die Verfahren jeweils auf die angegebenen Daten an, indem Du jeden Bearbeitungsschritt notierst.
Zu sortierende Daten: 5 2 4 1 3
Man findet im Internet einige sehr aufschlussreiche, aber auch lustige
Visualisierungen von Sortieralgorithmen.
Hier eine kleine Auswahl:
Aufgabe 4
Recherchiere, wie man solche und ähnliche Verfahren bewerten bzw. miteinander vergleichen kann.
Was wird genau betrachtet? Wie wird der Aufwand gemessen und angegeben?
Dabei sollten Dir Begriffe wie Landau-Notation, worst-case und logarithmischer Zeitaufwand über den Weg laufen.
Aufgabe 5
QuickSort-Algorithmus:
- Das zu sortierende (Teil-)Array* habe mehr als ein Element
- Dann wähle ein beliebiges Element des Arrays - das so genannte Pivot-Element
- Positioniere das Pivot-Element an seine endgültige Position im Array
- Sorge dabei dafür, dass alle Elemente des Arrays links vom Pivot-Element wertmäßig kleiner
oder gleich diesem sind und
- dass alle Elemente des Arrays rechts vom Pivot-Element wertmäßig größer oder gleich diesem sind
- Rufe QuickSort für das Teil-Array vor dem Pivot-Element auf
- Rufe QuickSort für das Teil-Array nach dem Pivot-Element auf
*Ein Array ist eine Struktur zur Speicherung von gleichartigen Elementen.
Der Quicksort-Algorithmus ist ein Beispiel für eine sog.
Rekursion.
- Erläutere, wie eine Rekursion definiert wird und wie sie "funktioniert".
(Begriffe, die du dabei verwenden solltest: Rekursionsanfang, Rekusionsschritt, Abbruchbedingung.)
- Beschreibe kurz, worin genau die Rekursion im Quicksort-Algorithmus besteht (Woran erkennt man sie?).
- Recherchiere, wie das Gegenstück zur Rekursion genannt wird, was die beiden Strategien gemeinsam haben
und worin sie sich unterscheiden.
- Welche Vor- und Nachteile hat eine Rekursion?
- Finde mehrere Beispiele aus dem Alltag (also nicht aus der Informatik) für eine Rekursion.
Aufgabe 6
Der folgende Pseudo-Code veranschaulicht zwei Algorithmen, bei denen es um die Berechnung der Fakultät geht.
Einer der beiden Algorithmen ist rekursiv, der andere iterativ.
- Recherchiere, was ein Pseudo-Code ist.
- Begründe, woran man erkennt, um welchen der beiden Algorithmen es sich jeweils handelt.
Sierpinski-Dreieck
fakultät_A(n)
{
fakultät = 1
faktor = 2
solange faktor <= n
{
fakultät = fakultät * faktor
faktor = faktor + 1
}
return fakultät
}
fakultät_B(n)
{
wenn n <= 1
dann return 1
sonst return ( n * fakultät_B(n-1) )
}
Aufgabe 7
Such dir zunächst einen Team-Partner und hole dir anschließend das Material für diese Aufgabe bei deiner Lehrerin.
Es handelt sich dabei um das Spiel "Schiffe versenken", was ihr im Team in 3 Varianten spielen müsst.
- Bearbeite die Aufgaben aus dem Material.
- Worum geht es hierbei?
- Beschreibe die 3 Varianten stichwortartig.
- Welches der 3 Verfahren ist am effektivsten? Begründe!
Breitensuche
Aufgabe 8
Algorithmen und Datenstrukturen gehören inhaltlich zusammen.
Wir werden uns vor allem mit den folgenden Datenstrukturen beschäftigen:
- (Warte-)Schlange (queue)
- Keller / Stapel (stack)
- Liste
- Baum
- Graph
- Array
Material zu den einzelnen Datenstrukturen findest du bei Bedarf auch bei deiner Lehrerin.
- Finde heraus, was in der Informatik unter Datenstrukturen überhaupt verstanden wird und
welcher Zusammenhang zwischen den Begriffen Algorithmen und Datenstrukturen besteht.
- Erkläre stichwortartig die oben genannten Datenstrukturen mit ihren wichtigsten Eigenschaften.
- Erarbeite Beispiele bzw. Einsatzmöglichkeiten für jede dieser Datenstrukturen.