Grundbegriffe Informatik
Grundbegriffe Informatik
- Daten,Variablen und Datentypen
- Datenstrukturen
- Modelle
- Algorithmen und Programmlogik
Daten
Wissensbasiertes System
Die Ebenen der Datenverarbeitung
- Faktendaten (Rohdaten & Information):
- Repräsentiertes Wissen: Strukturierte Daten, die logische Zusammenhänge, Regeln oder Beziehungen beschreiben
- Metadaten: Daten über die Daten
Typen von Daten in Wissenssystemen
Je nach Architektur und Einsatzzweck des Systems werden unterschiedliche Datenformen genutzt:
A. Regelbasiertes Wissen (Explizites Wissen)
- Form: „Wenn–Dann“-Regeln (If-Then-Rules).
- Anwendung: Klassische Expertensysteme (z. B. in der Medizin oder bei der Fehlerdiagnose).
- Beispiel: Wenn der Fehlercode E-101 auftritt und der Druck > 5 bar ist, dann öffne Ventil B.
B. Strukturierte Wissensgraphen & Ontologien
- Form: Entitäten (Knoten) und deren Beziehungen (Kanten).
- Anwendung: Semantic Web, moderne Wiki-Systeme, Enterprise Search.
- Beispiel: [Ahrensburg] --(ist eine Stadt in)--> [Schleswig-Holstein].
C. Dokumentenbasiertes / Unstrukturiertes Wissen
- Form: Volltexte, Markdown-Dateien, PDFs, Quellcode, Wiki-Seiten.
- Anwendung: Wissensmanagement-Plattformen, Dokumentations-Engines.
- Besonderheit: Oft kombiniert mit Volltext-Indizes oder Schlagwort-Katalogen zur schnellen Durchsuchbarkeit.
D. Vektor-Daten (für KI & RAG)
- Form: Einbettungen (Embeddings) – hochdimensionale numerische Vektoren, die die semantische Bedeutung von Texten darstellen.
- Anwendung: Modernes LLM-basiertes Wissensmanagement (Retrieval-Augmented Generation / RAG).
- Vorteil: Ermöglicht die Suche nach Bedeutung und Kontext, nicht nur nach exakten Begriffen.
Variable
Speicherarten in menschlichen kognitiven Systemen
In der Kognitionswissenschaft unterscheidet man bezüglich des veränderbaren (variablen) Wissens vor allem zwei Speicherformen im Langzeitgedächtnis:
Explizites / Deklaratives Wissen ("Wissen, dass")
- Episodisches Gedächtnis: Speichert konkrete, zeitlich gebundene Erlebnisse und Ereignisse (z. B. „Gestern habe ich Thema X unterrichtet").
- Semantisches Gedächtnis: Speichert allgemeines, dekontextualisiertes Fakten- und Konzeptwissen (z. B. „Ein Verb beschreibt eine Handlung"). Dieses Netz aus Konzepten passt sich dynamisch an, wenn neue Regeln oder Fakten gelernt werden.
Implizites / Prozedurales Wissen ("Wissen, wie")
- Speichert Handlungsabläufe und Fertigkeiten (z. B. Grammatikregeln im Sprachgebrauch anwenden). Es verändert sich schrittweise durch Automatisierung und Praxis.
Speicherungsarten in technischen/digitalen Systemen (KI & Software)
Bei variablen Wissenssystemen in der Informatik unterscheidet man hauptsächlich zwei Speicherebenen:
A) Parameter-Speicher (Parametrisches Wissen)
- Wie gespeichert? In den mathematischen Verknüpfungen (Gewichten) neuronaler Netze.
- Variabilität: Ändert sich kontinuierlich während des Trainings oder Fine-Tunings. Einmal trainiert, ist dieses Wissen im laufenden Betrieb jedoch oft starr.
B) Externe Vektor- und Graphdatenbanken (Non-parametrisches Wissen)
- Wie gespeichert? Informationen werden als Einbettungen (Vectors) oder als semantische Netze (Knowledge Graphs) in Datenbanken abgelegt.
- Variabilität: Sehr hoch. Neue Daten können jederzeit hinzugefügt, aktualisiert oder gelöscht werden, ohne das Grundmodell neu zu trainieren (z. B. bei RAG-Systemen – Retrieval-Augmented Generation).
Datentypen
1. Primitive / Elementare Datentypen
Diese bilden die kleinsten Bausteine jedes Systems:
- Ganzzahlen (Integer): Diskrete Werte ohne Nachkommastellen (z. B. -42, 0, 1024).
- Gleitkommazahlen (Float, Double): Reelle Zahlen mit Nachkommastellen (z. B. 3.14159).
- Wahrheitswerte (Boolean): Binärwerte (true / false bzw. 1 / 0).
- Zeichen & Zeichenketten (Char, String): Textdaten (z. B. "Wissensgraph").
- Datum & Zeit (Date, Timestamp): Zeitstempel zur zeitlichen Einordnung von Wissen.
2. Strukturierte & Komplexe Datentypen
Dienen dazu, mehrere Datenpunkte logisch miteinander zu verknüpfen:
| Datentyp | Beschreibung | Beispiel / Anwendungsfall |
|---|---|---|
| Listen / Arrays | Geordnete Reihenfolge von Elementen | [1, 2, 3, 5, 8] |
| Schlüssel-Wert-Paare (Maps / Dictionaries) | Zuordnung von eindeutigen Keys zu Werten | {"Titel": "Artikel", "Autor": "Max"} |
| Sätze (Sets) | Ungeordnete Mengen ohne Duplikate | {Rot, Grün, Blau} |
| JSON / BSON | Hierarchisch strukturierte Dokumente | Ideal für semi-strukturierte Wissenseinträge |
| Blob / Binary | Unstrukturierte Binärdaten | Bilder, Audio-Dateien, Dokumente |
3. Semantische Datentypen (Wissensrepräsentation)
In modernen Wissenssystemen (z. B. RDF, OWL, Knowledge Graphs) gehen Datentypen über rein technische Formate hinaus und beschreiben Bedeutung und Beziehungen:
- Entitäten / Ressourcen (URIs/IRIs): Eindeutige Identifikatoren für Objekte, Personen oder Konzepte (z. B. http://example.org/person/Thorsten).
- Literale: Konkrete Werte, die an Entitäten hängen (oft kombiniert mit XML-Schema-Datentypen wie xsd:string oder xsd:dateTime).
- Relational- / Kanten-Typen (Predicates): Beschreiben die Art der Beziehung zwischen zwei Entitäten (z. B. istAutorVon, gehörtZuKategorie).
- Vektoren (Embeddings): Dichte numerische Vektoren, die von KI-Modellen und Vektordatenbanken verwendet werden, um semantische Ähnlichkeit zwischen Texten oder Konzepten abzubilden.
Datenstrukturen
Wissenssysteme (Knowledge Management Systems, Wissensdatenbanken) nutzen je nach Einsatzzweck, Flexibilität und Abfragesprache ganz unterschiedliche Datenstrukturen. Hier ist eine Übersicht der wichtigsten Strukturen – von einfach und unstrukturiert bis hin zu hochkomplex und semantisch vernetzt:
1. Unstrukturierte & Hierarchische Strukturen
Flat Files / Plain Text (Markdown, Wikitext)
- Funktionsweise: Daten liegen in einfachen Textdateien vor (oft mit Frontmatter für Metadaten).
- Vorteile: Extrem schnell, versionierbar (z. B. via Git), zukunftssicher und ohne Datenbank-Overhead.
- Einsatz: Static Site Generators (Hugo, Jekyll), moderne Notiz-Systeme (Obsidian, Logseq), flache Dokumentationen.
Baumstrukturen & Taxonomien
- Funktionsweise: Hierarchische Anordnung in Ordnern, Kategorien oder Unterkategorien (Eltern-Kind-Beziehungen).
- Vorteile: Intuitive Navigation für Menschen, klar abgegrenzte Themenbereiche.
- Einsatz: Klassische Dateisysteme, Firmen-Wikis, Inhaltsverzeichnisse.
2. Strukturierte & Relationale Datenstrukturen
Relationale Datenbanken (SQL)
- Funktionsweise: Tabellen mit festem Schema, Primär- und Fremdschlüsseln (z. B. PostgreSQL, MySQL).
- Vorteile: Hohe Datenintegrität (ACID-Konformität), ausgereifte Abfragesprachen, hervorragend für strukturierte Metadaten.
- Einsatz: Klassische Enterprise-CMS (Drupal, TYPO3), Lernplattformen (Moodle), MediaWiki.
Dokumentenorientierte Datenbanken (NoSQL)
- Funktionsweise: Speicherung in semi-strukturierten Formaten wie JSON, BSON oder XML.
- Vorteile: Flexibles Schema, einfache Skalierbarkeit, schnelle Entwicklung bei sich ändernden Datenmodellen.
- Einsatz: MongoDB, CouchDB, dynamische Wissensplattformen.
3. Semantische & Vernetzte Strukturen (Graph-basiert)
Eigenschaftsgraphen (Property Graphs)
- Funktionsweise: Knoten (Entitäten) und Kanten (Beziehungen) tragen Schlüssel-Wert-Paare (Attributes).
- Vorteile: Abfrage von komplexen, tief verschachtelten Zusammenhängen ohne teure SQL-JOINs.
- Einsatz: Neo4j, Memgraph, Wissensnetze, Empfehlungsdienste.
RDF-Tripel / Semantisches Web (Knowledge Graphs)
- Funktionsweise: Wissen wird in Form von Aussagen-Tripeln gespeichert: Subjekt → Prädikat → Objekt (z. B. „Ahrensburg → liegtIn → Schleswig-Holstein").
- Vorteile: Standardisiert (W3C, SPARQL, OWL), erlaubt automatische logische Schlussfolgerungen (Inferenz).
- Einsatz: Wikidata, DBpedia, Semantic MediaWiki, ontologiebasierte Expertensysteme.
4. Moderne & Vektorbasierte Strukturen
Vektordatenbanken (Embeddings)
- Funktionsweise: Texte oder Objekte werden durch Machine-Learning-Modelle in hochdimensionale Vektoren (Zahlenreihen) umgewandelt.
- Vorteile: Ermöglicht semantische Suche (Suche nach Bedeutung statt nach exakten Stichwörtern) und Retrieval-Augmented Generation (RAG).
- Einsatz: Pinecone, Qdrant, Chroma, pgvector für KI-Assistenten und LLM-Erweiterungen.
Modelle
Während die vorigen Abschnitte einzelne Daten, Datentypen und Datenstrukturen behandeln, beschreibt ein Modell das übergeordnete Ordnungsprinzip, nach dem ganze Wissensbestände organisiert werden. Die folgenden sieben Modelle sind die in der Praxis dominierenden Ansätze, von einfach bis hochformal.
1. Hierarchisches / Baum-Modell (Tree / Folder Model)
- Prinzip: Ordnung über verschachtelte Ordner, Kategorien oder Seitenbäume (Eltern-Kind-Beziehung).
- Typischer Einsatz: Klassische CMS, Dateisysteme, Notiz-Apps (wie Notion, Confluence).
- Vorteil: Intuitive Bedienung, klare Navigation.
- Nachteil: Wissen lässt sich oft nicht eindeutig einem Fachbereich zuordnen (Problem der eierlegenden Wollmilchsau).
2. Flaches Modell mit Metadaten & Tags (Flat / Key-Value Model)
- Prinzip: Alle Dokumente liegen auf einer Ebene ("Flat-File") und werden über Schlagwörter (Tags), Taxonomien oder Key-Value-Eigenschaften charakterisiert.
- Typischer Einsatz: Flat-File CMS (z. B. Grav, Kirby), statische Wissensdatenbanken (Markdown-basiert mit Frontmatter).
- Vorteil: Keine starre Ordnerstruktur, hochgradig durchsuchbar, extrem einfach zu sichern/versionieren (z. B. mit Git).
- Nachteil: Ohne disziplinierte Verschlagwortung geht die Übersicht schnell verloren.
3. Relationales Datenmodell (Relational Model / SQL)
- Prinzip: Wissen wird in zusammenhängenden Tabellen (Entitäten, Attribute, Fremdschlüssel) strukturiert.
- Typischer Einsatz: Enterprise-Wikis, Moodle/LMS, strukturierte Unternehmensdatenbanken.
- Vorteil: Hohe Datenintegrität, komplexe Abfragen über Fremdschlüssel und Tabellenverknüpfungen möglich.
- Nachteil: Starres Schema; Schemaänderungen bei sich veränderndem Wissen sind aufwendig.
4. Netzwerk- / Graphen-Modell (Graph Model)
- Prinzip: Daten bestehen aus Knoten (Entitäten/Dokumenten) und Kanten (Beziehungen).
- Typischer Einsatz: Personal Knowledge Management (z. B. Obsidian, Roam Research), Graph-Datenbanken (Neo4j).
- Vorteil: Spiegelt vernetztes Denken wider. Beziehungen wie [Projekt X] --hängt ab von--> [Technologie Y] sind native Bestandteile der Datenbank.
- Nachteil: Schwer zu visualisieren/navigieren bei sehr großen Datenmengen ohne gute Filter.
5. Semantisches / Triples-Modell (RDF / Knowledge Graph)
- Prinzip: Wissen wird in formallogischen Aussagen aus Subjekt – Prädikat – Objekt (Triples) gespeichert (z. B. [MediaWiki] [verwendet] [PostgreSQL]).
- Typischer Einsatz: Semantic MediaWiki, Wikidata, Ontologie-Systeme (OWL, RDF/SPARQL).
- Vorteil: Maschinenlesbar, erlaubt automatische logische Rückschlüsse (Inferenz) und komplexe semantische Abfragen.
- Nachteil: Hohe Einarbeitungszeit und formale Komplexität beim Erstellen der Ontologien.
6. Dokumentenorientiertes Modell (NoSQL / JSON)
- Prinzip: Ein Wissenselement ist ein eigenständiges, strukturiertes Dokument (z. B. JSON/YAML), das eingebettete Attribute und Arrays enthält.
- Typischer Einsatz: CouchDB, MongoDB, elasticsearch-basierte Wissensspeicher.
- Vorteil: Flexibles Schema; jedes Dokument kann individuelle Felder haben, ohne das Gesamtsystem zu blockieren.
- Nachteil: Redundanzen bei Datenbanksicherungen, schwächere Konsistenzprüfungen als bei SQL.
7. Vektorraum-Modell (Embedding / Latent Space Model)
- Prinzip: Wissen wird nicht symbolisch, sondern als Position in einem hochdimensionalen Vektorraum repräsentiert; semantische Nähe entspricht geometrischer Nähe (siehe auch Vektor-Daten weiter oben).
- Typischer Einsatz: Retrieval-Augmented Generation (RAG), semantische Suche, Empfehlungssysteme (Pinecone, Qdrant, pgvector).
- Vorteil: Findet Zusammenhänge über Bedeutung statt exakter Begriffe, robust gegenüber Synonymen und unscharfen Anfragen.
- Nachteil: Nicht direkt interpretierbar ("Black Box"), keine expliziten Regeln oder Beziehungen wie im Graphen-Modell.
Hinweis: In der Praxis werden diese Modelle selten pur eingesetzt, sondern kombiniert – dieses Wiki selbst ist ein Beispiel: Es nutzt eine Baumstruktur (Modell 1, über die `==`/`===`-Überschriften), liegt aber als flache, versionierte Textdatei vor (Modell 2).
| Nr. | Modell | Kernprinzip | Größter Vorteil | Größter Nachteil |
|---|---|---|---|---|
| 1 | Hierarchisch (Baum) | Eltern-Kind-Verschachtelung | Intuitive Navigation | Eindeutige Einordnung oft unmöglich |
| 2 | Flach mit Tags | Ebene Dateien + Metadaten | Einfach, git-versionierbar | Erfordert Tagging-Disziplin |
| 3 | Relational (SQL) | Tabellen + Fremdschlüssel | Hohe Datenintegrität | Starres Schema |
| 4 | Graph (Property Graph) | Knoten + Kanten | Bildet vernetztes Denken ab | Schwer visualisierbar bei großer Skala |
| 5 | Semantisch (RDF/Triples) | Subjekt–Prädikat–Objekt | Maschinelle Inferenz möglich | Hoher Formalisierungsaufwand |
| 6 | Dokumentenorientiert (NoSQL) | Eigenständige JSON-Dokumente | Flexibles Schema | Schwächere Konsistenzprüfung |
| 7 | Vektorraum (Embeddings) | Position im semantischen Raum | Suche nach Bedeutung statt Begriff | Nicht direkt interpretierbar |
Algorithmen und Programmlogik
Wenn es darum geht, Algorithmen und Programmlogik bildhaft, strukturiert oder regelbasiert darzustellen, unterscheidet man zwischen visuellen Repräsentationsformen (zur Dokumentation und Planung) und formalen Wissenssystemen (zur automatischen Verarbeitung).
1. Visuelle Wissenssysteme & Graphische Modelle
Diese Systeme helfen Entwicklern und Lernenden, die Logik eines Programms unabhängig von einer konkreten Programmiersprache zu visualisieren.
| System / Modell | Einsatzbereich | Besonderheit / Logikbausteine |
|---|---|---|
| Nassi-Shneiderman-Diagramm (Struktogramm) | Strukturierte Programmierung, Lehre & Didaktik | Vermeidet Unordnung (kein Pfeilsalat). Basiert auf Sequenz, Auswahl (If-Else) und Wiederholung (Schleifen). |
| Programmablaufplan (PAP) / Flowchart | Prozessvisualisierung, technische Abläufe | Klassisches Flussdiagramm (DIN 66001) mit Pfeilen, Rauten für Entscheidungen und Rechtecken für Aktionen. |
| UML-Aktivitätsdiagramm | Software-Engineering, objektorientiertes Design | Standard in der Industrie. Zeigt komplexe Kontroll- und Datenflüsse inklusive paralleler Verzweigungen. |
| Entscheidungstabellen | Komplexe Geschäftslogik & Regelwerke | Stellt alle möglichen Bedingungen und daraus resultierende Aktionen in Tabellenform gegenüber. |
2. Formale & Regelbasierte Wissenssysteme
Diese Systeme dienen nicht nur der Visualisierung, sondern führen Programmlogik und Regeln direkt aus:
Regelbasierte Systeme & Expertensysteme
- Funktionsweise: Wissen wird in Form von Fakten und Logikregeln (WENN Bedingung DANN Aktion) gespeichert. Eine Inferenzmaschine (Inference Engine) wertet diese Logik aus.
- Beispiele:
- Prolog: Deklarative Programmierung basierend auf Prädikatenlogik.
- Drools / Business Rules Engines: Für komplexe Geschäftsregeln im Unternehmensumfeld.
Pseudocode & Algorithmen-Markup
- Funktionsweise: Eine strukturierte, halbsprachliche Beschreibung von Logik. Er kombiniert natürliche Sprache mit Elementen höherer Programmiersprachen.
- Vorteil: Unabhängig von Syntaxfehlern und konzentriert auf das reine Problemlösungsmuster.