Künstliche Intelligenz selber programmieren für Dummies Junior (eBook)

eBook Download: EPUB
2024 | 2. Auflage
212 Seiten
Wiley-VCH (Verlag)
978-3-527-84752-5 (ISBN)

Lese- und Medienproben

Künstliche Intelligenz selber programmieren für Dummies Junior - Ute Schmid, Katharina Weitz, Michael Siebers
Systemvoraussetzungen
12,99 inkl. MwSt
  • Download sofort lieferbar
  • Zahlungsarten anzeigen

Was können intelligente Computer - und was nicht?

Finde heraus, wie Künstliche Intelligenz funktioniert. Dieses Buch hilft dir dabei. Kapitel für Kapitel beantwortet es folgende Fragen: Was ist Künstliche Intelligenz? Wie denken Computer? Wie lernen Computer? Wie kannst du mit Computern sprechen? Wie generieren Computer Texte und Bilder? Spielen Computer auch? Und können Computer fühlen? Grundlegende Methoden und Anwendungsbereiche von Künstlicher Intelligenz werden anhand von anschaulichen Beispielen erklärt. Beispielprogramme in Python zeigen, wie KI-Methoden konkret umgesetzt werden können und es werden Anregungen für eigene Experimente gegeben.

Du lernst

  • Gemeinsamkeiten und Unterschiede zwischen menschlichem Denken und KI
  • Wie Programme funktio-nieren, die lernen können
  • Wie du einen eigenen Chatbot programmieren kannst
  • Wie du einem Computer beibringen kannst, gegen dich Tic-Tac-Toe zu spielen


Ute Schmid, Katharina Weitz und Michael Siebers haben alle drei Informatik und Psychologie studiert. Sie forschen in den Themenbereichen Künstliche Intelligenz und maschinelles Lernen und geben ihr Wissen in Vorträgen und Workshops an Kinder und Jugendliche weiter.

Kapitel 1

Denken


Ich denke, also bin ich. Gilt das auch für Computer? In diesem Kapitel wollen wir dem Computer beibringen zu denken – wenigstens ein bisschen! Hierfür erklären wir dir, auf welch unterschiedliche Arten man denken kann.

Wie denken eigentlich Menschen?


Wir Menschen denken fast die ganze Zeit etwas, oft merken wir es gar nicht. Manchmal aber schon: Zum Beispiel, wenn du gefragt wirst, was 56 plus 18 ist, dann denkst du vielleicht: »Okay, 56 plus 10 ist 66 und jetzt muss ich noch 8 dazu tun, das sind dann 66 plus 8, also 74.« Vielleicht hättest du diese Rechenaufgabe auch anders gelöst, vielleicht hättest du erst plus 4 gerechnet und dann plus 14, aber du hättest sicher mehrere Rechenschritte nacheinander ausgeführt.

Wenn man einem Computer eine Aufgabe gibt, führt er auch meistens mehrere Rechenschritte nacheinander durch. Aber: Die sind vorprogrammiert. Das heißt, das Addieren von zwei Zahlen wird immer auf die gleiche Art erledigt. Du dagegen wirst beim Kopfrechnen unterschiedliche Lösungswege wählen – je nachdem welche Zahlen zu addieren sind. Wenn du dagegen schriftlich addierst, machst du es nach einer festen Vorschrift, wie du es im Matheunterricht gelernt hast, also ähnlich wie ein Computer.

Häufig kann man nicht sofort mit dem Programmieren beginnen, sondern muss die Arbeitsschritte und Rechenvorschriften für Programme erst einmal allgemeiner beschreiben. Erst wenn man sich einen Überblick über die wichtigsten Schritte verschafft hat, kann man sich Detailfragen widmen.

Eine allgemeine Formulierung von Rechenschritten oder Handlungsvorschriften zur Lösung eines Problems heißt Algorithmus.

Das immer gleiche Anwenden von Regeln ist typisch für Computerprogramme. Will man eine Künstliche Intelligenz programmieren, muss man es hinkriegen, Computerprogramme zu schreiben, die nicht so starr nach einem immer gleichen Schema arbeiten, sondern auf verschiedene Situationen flexibel reagieren, ähnlich wie wir Menschen. Wir wollen dir das mal zeigen, wie das gehen kann. Dafür gehen wir mal weg von der Welt der Zahlen und schauen uns ein Beispiel aus der Biologie an. Wenn du gefragt wirst, ob ein Pandabär eine Lunge hat, wirst du sagen: »Ja, klar.« Vielleicht sagst du sogar: »Ja, logisch!«, und damit hast du dann tatsächlich den Nagel auf den Kopf getroffen!

Um die Frage zu beantworten, hast du, wie vorher bei dem Rechenproblem, verschiedene Denkschritte nacheinander ausgeführt – aber du hast es nicht gemerkt. Wir sind uns ziemlich sicher, dass du nicht gelernt hast, dass ein Panda eine Lunge hat. Was du im Biologieunterricht gelernt hast, ist, dass ein Panda ein Säugetier ist und dass Säugetiere Lungen haben. Um die Frage »Hat ein Panda eine Lunge?« zu beantworten, hast du eine Kette von Denkschritten ausgeführt. Genau genommen hast du sogar eine logische Schlussfolgerung gezogen!

Wenn du dir den Ausschnitt aus dem Schaubild zur Einteilung von Tieren anschaust, kannst du deine Denkschritte noch mal bewusst nachvollziehen: Zeige mit dem Finger auf den Panda und gehe immer eine Ebene nach oben, so lange bis du bei einem Wort bist, das mit dem Merkmal »hat eine Lunge« versehen ist.

Du kannst natürlich auch mehr als nur einen Denkschritt ausführen. Wenn dich jemand fragt, ob ein Panda frisst, dann wirst du dem zustimmen. Du weißt, dass ein Panda ein Säugetier ist und dass Säugetiere zu den Tieren gehören. Deshalb kannst du logisch schließen: Ein Panda frisst, weil er ein Säugetier und somit ein Tier ist und Tiere fressen Nahrung. Anders übrigens als Pflanzen, die ihre Nährstoffe mithilfe der Fotosynthese aufnehmen. Aber das ist ein anderes Thema …

Das schrittweise Nach-oben-Laufen entspricht einer wichtigen logischen Regel – dem sogenannten transitiven Schluss. Den hat schon der alte Grieche Aristoteles vor mehr als 2000 Jahren gekannt und unter dem Namen »modus barbara« zu einer der grundlegenden Regeln für logisches Schließen erklärt.

Aber was hat jetzt Aristoteles mit Künstlicher Intelligenz zu tun? Damals gab es doch gar keine Computer! Es ist tatsächlich so, dass Aristoteles mit seinen Regeln für logisches Schließen eine ganz wichtige Grundlage für Künstliche Intelligenz geschaffen hat. Er hat damit zumindest einen Teil der Art, wie Menschen denken, so beschrieben, dass man daraus ein Computerprogramm machen kann.

Netze ohne Spinnen – dafür mit Knoten und Kanten


Das Schaubild zur Einteilung von Tieren ist aus Sicht der Künstlichen Intelligenz ein semantisches Netz. »Netz« deshalb, weil die Begriffe miteinander verbunden sind, wie zum Beispiel die Stationen im Streckennetz der Bahn. »Semantisch« deshalb, weil jedes Wort – Panda, Hund, Säugetier und so weiter – eine Bedeutung hat. Das Fachwort für Bedeutung heißt Semantik.

Bei einem semantischen Netz werden die Begriffe als Knoten und die Verbindungen dazwischen als Kanten bezeichnet. Ein solches Gebilde – egal ob Streckennetz oder semantisches Netz – heißt in der Informatik Graph.

Logisches Schließen ist eine spezielle Art zu rechnen. In der Mathematik rechnet man mit Zahlen, in der Logik mit Symbolen, die für etwas stehen. So können wir hund schreiben und meinen damit einen Hund. Damit wir nun zum Beispiel berechnen können, ob es stimmt, dass ein Hund ein Tier ist, müssen wir das semantische Netz, das wir als Graph gezeichnet haben, in eine Form bringen, mit der wir logische Schlüsse ausrechnen können. Dazu zerlegen wir das Netz so, dass wir jede Kante mit den zugehörigen Knoten einzeln der Reihe nach aufschreiben:

ist_ein(saeugetier,tier)
ist_ein(fisch,tier)
ist_ein(panda,saeugetier)
ist_ein(hase,saeugetier)
ist_ein(hund,saeugetier)
ist_ein(dackel,hund)
ist_ein(karpfen,fisch)

Der Graph ist jetzt zu einer Menge von einzelnen Fakten geworden. Auf diese Art kann man beliebige Graphen speichern. Zum Beispiel kannst du ein U-Bahn-Netz als Liste von Paaren speichern, wobei hier die Werte direkt benachbarte Stationen sind.

Die Kanten im Schaubild zur Einteilung von Tieren haben eine Richtung: ("sauegetier", "tier") sagt, dass jedes Säugetier ein Tier ist. Die umgekehrte Aussage – jedes Tier ist ein Säugetier – ist falsch, denn es gibt ja verschiedene Tierarten. Neben Säugetieren gibt es zum Beispiel noch Vögel oder Reptilien. Die Richtung haben wir im Schaubild durch Pfeile angezeigt.

Bei den U-Bahn-Stationen braucht man beide Richtungen – man kommt direkt von Bahnhof Zoo zum Ernst-Reuter-Platz und umgekehrt auch! Das heißt, in der Liste müssen beide Richtungen vorkommen: ("Bahnhof Zoo", "Ernst-Reuter-Platz") und ("Ernst-Reuter-Platz", "Bahnhof Zoo").

Wir haben bei den Fakten erst den Namen der Kante geschrieben und dann in Klammern die Knoteninformation. Eine solche Schreibweise nennt man Präfixnotation. Man könnte auch mathematische Ausdrücke so schreiben. Zum Beispiel kann man 4 + 7 auch so schreiben: +(4,7), was dasselbe bedeutet. Manche Programmiersprachen nutzen eine solche Präfixschreibweise. Man sieht gleich am ersten Symbol, worum es gehen soll, und muss nicht erst weiter schauen. Beispielsweise erkennt man bei 4 – 7 erst nachdem man die 4 gelesen hat, dass es um Subtraktion gehen soll. Bei -(4,7) hat man die Information, was man rechnen soll, gleich als Erstes. Die Symbole in Klammern nennt man auch Argumente. Das Anfangssymbol gibt an, in welcher Beziehung die Argumente stehen oder was man mit ihnen tun soll. Das kann eine mathematische Operation wie plus oder minus sein oder eben auch die ist_ein-Beziehung zwischen zwei Tieren.

Du möchtest das semantische Netz mit Tieren programmieren? Schau mal in Kapitel 8 – unter »Denken« findest du den Code dazu.

Schlussfolgerndes Denken mit semantischen Netzen


Jetzt haben wir einen Ausschnitt unseres menschlichen Wissens so aufgeschrieben, dass wir damit »rechnen« können. Auf diese Art kann man auch dem Computer das Denken beibringen.

Wissensfragen


Wir fangen ganz einfach an und schauen uns an, wie man reine Wissensfragen mithilfe eines semantischen Netzes beantworten kann. Wir fragen die Beziehungen ab, die schon direkt gegeben sind, also die Fakten, die wir oben aufgeschrieben haben. Das ist so, wie wenn deine Lehrer und Lehrerinnen auswendig gelerntes Wissen abfragen.

Um Fragen wie

  • Ist ein Säugetier ein Tier? JA
  • Ist ein Fisch ein Karpfen? NEIN

zu beantworten, musst du die Frage in das von uns gewählte Format übersetzen, also zum Beispiel ist_ein(karpfen, fisch) und prüfen, ob der Fakt vorhanden ist. Wenn der Fakt da ist, kannst du mit »ja« (das weiß ich)...

Erscheint lt. Verlag 2.8.2024
Reihe/Serie Für Dummies
Sprache deutsch
Themenwelt Mathematik / Informatik Informatik
Schlagworte Informatik • KI • Künstliche Intelligenz • Programmieren • Programmierung u. Software-Entwicklung
ISBN-10 3-527-84752-9 / 3527847529
ISBN-13 978-3-527-84752-5 / 9783527847525
Haben Sie eine Frage zum Produkt?
EPUBEPUB (Adobe DRM)
Größe: 29,5 MB

Kopierschutz: Adobe-DRM
Adobe-DRM ist ein Kopierschutz, der das eBook vor Mißbrauch schützen soll. Dabei wird das eBook bereits beim Download auf Ihre persönliche Adobe-ID autorisiert. Lesen können Sie das eBook dann nur auf den Geräten, welche ebenfalls auf Ihre Adobe-ID registriert sind.
Details zum Adobe-DRM

Dateiformat: EPUB (Electronic Publication)
EPUB ist ein offener Standard für eBooks und eignet sich besonders zur Darstellung von Belle­tristik und Sach­büchern. Der Fließ­text wird dynamisch an die Display- und Schrift­größe ange­passt. Auch für mobile Lese­geräte ist EPUB daher gut geeignet.

Systemvoraussetzungen:
PC/Mac: Mit einem PC oder Mac können Sie dieses eBook lesen. Sie benötigen eine Adobe-ID und die Software Adobe Digital Editions (kostenlos). Von der Benutzung der OverDrive Media Console raten wir Ihnen ab. Erfahrungsgemäß treten hier gehäuft Probleme mit dem Adobe DRM auf.
eReader: Dieses eBook kann mit (fast) allen eBook-Readern gelesen werden. Mit dem amazon-Kindle ist es aber nicht kompatibel.
Smartphone/Tablet: Egal ob Apple oder Android, dieses eBook können Sie lesen. Sie benötigen eine Adobe-ID sowie eine kostenlose App.
Geräteliste und zusätzliche Hinweise

Buying eBooks from abroad
For tax law reasons we can sell eBooks just within Germany and Switzerland. Regrettably we cannot fulfill eBook-orders from other countries.

Mehr entdecken
aus dem Bereich
Konzepte, Methoden, Lösungen und Arbeitshilfen für die Praxis

von Ernst Tiemeyer

eBook Download (2023)
Carl Hanser Verlag GmbH & Co. KG
69,99
Konzepte, Methoden, Lösungen und Arbeitshilfen für die Praxis

von Ernst Tiemeyer

eBook Download (2023)
Carl Hanser Verlag GmbH & Co. KG
69,99
Der Weg zur professionellen Vektorgrafik

von Uwe Schöler

eBook Download (2024)
Carl Hanser Verlag GmbH & Co. KG
29,99