Abstraktion
Abstraktion
Definition
Ein induktiver Denkprozess, bei welchem man Einzelheiten eines Problems weg lässt und es verallgemeinert bzw. vereinfacht. Trennung der äußeren Eigenschaften eines Gegenstands und seiner inneren Zusammensetzung, Trennung von Funktion und Bauweise #Definition
- Induktion =: abstrahierender Schluss aus beobachteten Phänomenen auf eine allgemeinere Erkenntnis
Begriff:
- abstractus (lat.) - “abgezogen” von abs-trahere
- “abziehen, entfernen, trennen”
Vor- und Nachteile
- Vorteile einer Abstraktion
- Vereinfachung
- Generalisierung
- Untersuchung der Funktion eines Systems
- Nachteile
- Entfremdung
- Fehlschluss
Beispiele
Neuronenmodell
Topographie – Lagedarstellung
- realistische Lagedarstellung unnötig
- 45° Winkel der Linien erhöhen Übersichtlichkeit
- Kunst des Weglassens und Vereinfachens muss und kann man lernen
Vom Speziellen zum Allgemeinen – Beispiel Stromtarif
| Tarif | Grundgebühr pro Monat | Verbrauch pro Einheit (kWh) |
|---|---|---|
| "Billig-Strom" | 4,90 EUR | 0,19 EUR |
| "Watt für wenig" | 8,20 EUR | 0,16 EUR |
| Algorithmen zur Berechnung: |
define billig_strom(verbrauch):
return 4.9 + .19* verbrauch
define watt_für_wenig(verbrauch):
return 8.2 + .16* verbrauch
Algorithmus zur Berechnung aller Tarife
define alle_Tarife(grundgebühr, pro_einheit, verbrauch):
return grundgebühr + pro_einheit * verbrauch
Abstraktion in der Informatik
- Funktionen sind wichtige Abstraktionstechnik in Programmen.
- Modellierung und damit Abstraktion ist eine zentrale Informatiktechnik und unabdingbar für die Abbildung der realen Welt auf den Computer / die Software.
- Rechnen (Computing) ist letztlich nichts anderes als das Konstruieren, Manipulieren (Verarbeiten) und Folgern auf Basis von Abstraktionen.
- Mit Abstraktion lassen sich komplexe System (besser) beherrschen, z.B. komplexe Softwaresysteme.
- Durch Abstrahieren kann man Lösungsansätze verallgemeinern und Softwarelösungen mehrfach verwenden.
- Abstrahieren schärft den Blick aufs Wesentliche. Damit werden Lösungsstrategien sichtbar.
Algorithmen und Abstraktion
- Algorithmen können Probleme lösen, die erstmal unterschiedlich aussehen, sich in ihrer Grundstruktur aber ähnlich sind un deshalb auf gleiche Weise gelöst werden können
- Probleme lösen erfordert Abstraktion
- Phasen der Problemlösung (nach Polya, 1945)
- das Problem verstehen
- einen Plan zum Lösen des Problems entwerfen
- den Plan umsetzen
- die Lösung bewerten: wie gut passt sie und kann sie benutzt werden, um andere Probleme zu lösen (Generalisierbarkeit: abstrakt → konkret)
- manchmal versteht man Problem erst, wenn man es gelöst hat
- siehe Beispiel: Ausgang offen
Graphentheorie
- Graph repräsentiert paarweise Beziehungen zwischen Objekten
- Graphentheorie ist ein Werkzeug NACHDEM die Abstraktion stattgefunden hat
- Schnittfeld von Mathematik und Informatik
- Graphen sind mathematische Modelle für netzartige Strukturen in der Welt
- Soziale Netzwerke (V - Personen, E Beziehungen)
- Spielpläne (V - Teams, E - Begegnungen)
- Verarbeitung von Molekülstrukturen (V - Atome, K - Bindungen)
- Personalplanung, Kommunikationsnetze, Zuordnungen ...
Definitionen
- Objekte: Knoten (Ecken), engl. Vertices,
z.B. Orte #Definition - Beziehungen zw. Objekten: Kanten, engl. Edges (
) z.B: Brücken #Definition - Graph
#Definition - Multigraph: Mehr als 1 Verbindung zw. 2 Punkten #Definition
- Weg: Folge von Knoten
, in der me zwei aufeinanderfolgende Knoten durch eine Kante verbunden sind, z.B. für alle (Kantenzug) #Definition - Pfad: Sind alle Knoten eines Weges verschieden, nennt man ihn Pfad. #Definition
- Kreis: Zyklus, bei dem ausser
und alle Knoten verschieden sind, heißt Kreis #Definition - Zyklus: Ist
spricht man von einem Zyklus. #Definition - Eulerpfad: ein Weg
, bei dem jede Kante des Graphen genau einmal als vorkommt und jeder Knoten mind. einmal besucht wird #Definition - Eulerkreis: Eulerpfad, der gleichzeitig ein Zyklus ist #Definition