Beruflich Dokumente
Kultur Dokumente
2: Grundbegriffe
2.1 Begriffe der Mathematik (nur Wiederholung)
2.2 System, Abstraktion und Modell
2.3 Information und ihre Repräsentation
2.4 Formale Sprachen
2.5 Graphen und Bäume
2.6 Algorithmen
10.11.2022 © 2002, 2022 H. Werntges, FB Design Informatik Medien (DCSM), Hochschule RheinMain 2-1
Quellen
10.11.2022 © 2002, 2022 H. Werntges, FB Design Informatik Medien (DCSM), Hochschule RheinMain 2-2
2.1 Begriffe der Mathematik
• Symbole in Aussagen
Def ∃x es existiert ein x, es gibt ein x (Existenz-Quantor)
∃ ! x, ∄ x Varianten: es existiert genau ein x, es gibt kein x
∀x für alle x
(All-Quantor)
p∧q Aussage p und Aussage q
p∨q Aussage p oder Aussage q
¬p nicht p, Verneinung der Aussage p
p⇒q wenn p, dann q
p⇔q p genau dann, wenn q
p :⇔ q definitionsgemäß genau dann, wenn q
10.11.2022 © 2002, 2022 H. Werntges, FB Design Informatik Medien (DCSM), Hochschule RheinMain 2-3
Mengen
Def B
{a, b} Die Menge mit den Elementen a und b
{x | p(x)} Menge aller x, für die die Aussage a A
b
p(x) gilt
B
{ }, ∅ die leere Menge A
B\A
a∈A a ist Element der Menge A A∩B
A⊆B Teilmengenbeziehung A\B
A⊂B echte Teilmengenbeziehung A∪B
A∩B Durchschnitt B
A
A∪B Vereinigung
A\B Differenz
A⊕B Disjunkte Vereinigung, A∪B \ (A∩B) B
A
|A| Kardinalität oder Mächtigkeit der
Menge A. Bei endlichen Mengen:
Anzahl der Elemente A⊕ B
10.11.2022 © 2002, 2022 H. Werntges, FB Design Informatik Medien (DCSM), Hochschule RheinMain 2-4
Mengen (2)
10.11.2022 © 2002, 2022 H. Werntges, FB Design Informatik Medien (DCSM), Hochschule RheinMain 2-5
Potenzmenge, Produkt
10.11.2022 © 2002, 2022 H. Werntges, FB Design Informatik Medien (DCSM), Hochschule RheinMain 2-6
Relation
fährt = {
A B
113123 (113123, WI-AS 30),
157373 WI-AS 30
(157373, WI-AS 30),
238928 WI-TT 2
(247903, WI-TT 2),
247903
WI-GT 777 (247903, WI-GT 777),
479969
867483 WI-HH 89 (479969, WI-HH 89) }
837378 WI-CV 2
fährt(113123, WI-AS 30)
oder 113123 fährt WI-AS 30
10.11.2022 © 2002, 2022 H. Werntges, FB Design Informatik Medien (DCSM), Hochschule RheinMain 2-7
Relation (2)
• Eine Teilmenge R
⊆ A×A heißt Relation R auf der Menge A.
Def
─ Beispiel:
A: Menge der Personalausweisnummern (IDs) aller Wiesbadener,
R = { (x,y) ∈ A×A | Person mit ID x ist verwandt mit Person mit ID y }.
─ Relationen besitzen A
113123
spezielle Eigenschaften
157373
hier z.B.: Transitivität 867483
238928
247903
479969
837378
10.11.2022 © 2002, 2022 H. Werntges, FB Design Informatik Medien (DCSM), Hochschule RheinMain 2-8
Eigenschaften von Relationen
• Sei R
⊆ A×A eine binäre Relation auf A. Dann heißt R
─ reflexiv :⇔∀ a∈A: a R a
Beispiele: Relationen = und
≤ auf ℕ, ⊆ auf Mengen
• (Fortsetzung)
10.11.2022 © 2002, 2022 H. Werntges, FB Design Informatik Medien (DCSM), Hochschule RheinMain 2 - 10
Matrixdarstellung binärer Relationen
• Sei R⊆ A×A eine binäre Relation auf A.
• Das kartesische Produkt A×A lässt sich als Matrix veranschau-
lichen. Markiert man die Matrixzellen, die Elementen (a,b) ∈ R
entsprechen, erhält man eine Matrixdarstellung von R.
• Mit dieser lassen sich viele Relationseigenschaften visualisieren:
R=({1,2,3,4}2, =) R=({1,2,3,4}2,
≠) R=({1,2,3,4}2, ≤)
(2,1) …
(3,1)
(4,1) (4,4)
10.11.2022 © 2002, 2022 H. Werntges, FB Design Informatik Medien (DCSM), Hochschule RheinMain 2 - 11
Äquivalenzrelation
• Sei R
⊆ A×A eine Relation. Dann heißt R Äquivalenzrelation,
Def wenn R reflexiv, transitiv und symmetrisch ist.
─ Ist R eine Äquivalenzrelation und ist (a,b) ∈ R, so heißen a und b
äquivalent.
• Beispiel:
─ Sei A = ℕ, n ∈ ℕ. Dann ist R = { (x,y) | x mod n = y mod n }
eine Äquivalenzrelation.
(x und y haben bei Division durch n denselben Rest)
0 1 2 3 n=4
4 5 6 7
Äquivalenzklassen, d.h.
8 9 10 11
Mengen bzgl. R äquivalenter Elemente
12 13 14 15
(Restklassen)
... ... ... ...
10.11.2022 © 2002, 2022 H. Werntges, FB Design Informatik Medien (DCSM), Hochschule RheinMain 2 - 12
Partielle und totale Ordnung
─ Beispiel:
Sei A = { {a}, {b}, {a,b}, {a,b,c} }, ⊆ die Teilmengenrelation.
Dann definiert ⊆ eine partielle Ordnung R auf A:
{a} {b}
⊆
⊆
{a,b}
R = { ({a},{a,b}), ({a},{a,b,c}), ({b},{a,b}),
⊆
⊆
({b},{a,b,c}), ({a,b},{a,b,c}), ({a},{a}),
⊆
({b},{b}), ({a,b},{a,b}), ({a,b,c},{a,b,c}) } {a,b,c}
─ Bemerkung:
R ist keine totale Relation, z.B. gilt weder {a}⊆{b} noch {b}⊆{a}.
10.11.2022 © 2002, 2022 H. Werntges, FB Design Informatik Medien (DCSM), Hochschule RheinMain 2 - 13
Partielle und totale Ordnung (2)
0 1 2 3 4 5 ... "Reihenfolge"
10.11.2022 © 2002, 2022 H. Werntges, FB Design Informatik Medien (DCSM), Hochschule RheinMain 2 - 14
Funktion / Abbildung
• Bemerkungen:
─ Funktionen sind also spezielle Relationen.
─ Übliche Notation: f: A → B und f(a)=b statt (a,b) ∈ f
b heißt das Bild von a unter der Funktion f,
a ist ein(!) Urbild von b.
10.11.2022 © 2002, 2022 H. Werntges, FB Design Informatik Medien (DCSM), Hochschule RheinMain 2 - 15
Funktion / Abbildung (2)
• Eine Funktion f: A →
B heißt total :⇔Dom(f) = A.
Def ─ „Keine Definitionslücken – der Definitionsbereich ist gleich der
Ausgangsmenge“
• Eine Funktion f: A
→B heißt surjektiv :⇔Rng(f) = B.
Def ─ „Jedes Element der Zielmenge besitzt (mind.) ein Urbild“
• Eine Funktion f: A
→ B heißt injektiv :⇔f(a)=f(b)
⇒ a=b
Def
─ „Verschiedene Elemente der Definitionsmenge ergeben stets
verschiedene Werte“
• Eine Funktion f: A
→ B heißt bijektiv :⇔f ist total, surjektiv und
Def injektiv.
─ „Bijektive Funktionen sind umkehrbar. Jede Urbildmenge ist
einelementig.“
10.11.2022 © 2002, 2022 H. Werntges, FB Design Informatik Medien (DCSM), Hochschule RheinMain 2 - 16
Beispiel
• Funktion
Definitionsbereich Bildbereich
unzulässig für
A Injektivität
113123
B
157373 WI-AS 30
238928 WI-TT 2
247903
WI-GT 777
479969
867483 WI-HH 89
837378 WI-CV 2
unzulässig:
keine zwei Bilder
möglich
10.11.2022 © 2002, 2022 H. Werntges, FB Design Informatik Medien (DCSM), Hochschule RheinMain 2 - 17
Beispiel
• Bijektion
A B
a 1
b 2
c 3
d 4
e 5
f 6
g 7
...
x 24
y 25
z 26
10.11.2022 © 2002, 2022 H. Werntges, FB Design Informatik Medien (DCSM), Hochschule RheinMain 2 - 18
2.2 System, Abstraktion und Modelle
10.11.2022 © 2002, 2022 H. Werntges, FB Design Informatik Medien (DCSM), Hochschule RheinMain 2 - 19
Graphische Veranschaulichung
• zum Systembegriff
System
Umgebung Schnittstelle
Komponente
Beziehung /
Wechselwirkung
10.11.2022 © 2002, 2022 H. Werntges, FB Design Informatik Medien (DCSM), Hochschule RheinMain 2 - 20
Abstraktion und Modelle
10.11.2022 © 2002, 2022 H. Werntges, FB Design Informatik Medien (DCSM), Hochschule RheinMain 2 - 21
Abstraktion und Modelle (2)
10.11.2022 © 2002, 2022 H. Werntges, FB Design Informatik Medien (DCSM), Hochschule RheinMain 2 - 22
Hierarchische Abstraktionsebenen
• Vorgehensweise häufig
"von oben nach unten" Modell
(engl.: top-down)
Abstrahieren Konkretisieren
d.h. Informatiker beginnen oft
mit einem Modell der Realität
Modell
auf einer sehr hohen Abstraktions-
Abstraktionsebene und ebene
konkretisieren dieses Modell ...
schrittweise zu immer
detaillierteren Modellen, um Abstrahieren Konkretisieren
sich einer Realisierung zu
nähern. Modell
10.11.2022 © 2002, 2022 H. Werntges, FB Design Informatik Medien (DCSM), Hochschule RheinMain 2 - 23
Beispiel
10.11.2022 © 2002, 2022 H. Werntges, FB Design Informatik Medien (DCSM), Hochschule RheinMain 2 - 24
Beispiel: Verfeinerung eines Systems
Komponente
als Teilsystem
System
10.11.2022 © 2002, 2022 H. Werntges, FB Design Informatik Medien (DCSM), Hochschule RheinMain 2 - 25
2.3 Information und ihre Repräsentation
10.11.2022 © 2002, 2022 H. Werntges, FB Design Informatik Medien (DCSM), Hochschule RheinMain 2 - 26
2.3 Information und ihre Repräsentation
⇒ Die Informatik trennt strikt zwischen der abstrakten Information
und ihren äußeren Darstellungen.
10.11.2022 © 2002, 2022 H. Werntges, FB Design Informatik Medien (DCSM), Hochschule RheinMain 2 - 27
Information und Repräsentation - Definition
Information
Interpretieren
Repräsentieren
(Abstrahieren)
Repräsentation
10.11.2022 © 2002, 2022 H. Werntges, FB Design Informatik Medien (DCSM), Hochschule RheinMain 2 - 28
Anmerkungen
• Typische Repräsentationen:
─ Körperbewegungen (Handzeichen)
─ das gesprochene Wort (akustische Repräsentation)
─ Zeichenfolgen (das geschriebene Wort)
─ grafische Darstellungen (Zeichnungen, Ikonen, ...)
• Festlegung für die Deutung von Repräsentationen notwendig.
Durch Bedeutung wird die Repräsentation zu Information.
• Repräsentationen können mehrere Bedeutungen besitzen.
Beispiel: Zeichenfolge "G", "R" "Ü" "N":
• Repräsentationssysteme sind i.d.R.
─ unterschiedlich leistungsfähig (mächtig) und
─ abhängig von der darzustellenden Information unterschiedlich
zweckmäßig in Hinblick auf die beabsichtigte Verarbeitung.
10.11.2022 © 2002, 2022 H. Werntges, FB Design Informatik Medien (DCSM), Hochschule RheinMain 2 - 29
Anmerkungen (2)
Information
"Null", "Eins", "Zwei", "Drei", "Vier",...
10.11.2022 © 2002, 2022 H. Werntges, FB Design Informatik Medien (DCSM), Hochschule RheinMain 2 - 30
Verstehen
10.11.2022 © 2002, 2022 H. Werntges, FB Design Informatik Medien (DCSM), Hochschule RheinMain 2 - 31
Hierarchische Repräsentierungsebenen
10.11.2022 © 2002, 2022 H. Werntges, FB Design Informatik Medien (DCSM), Hochschule RheinMain 2 - 32
Beispiel: Hierarchie abstrakter Maschinen
neuer Zustand
• Hierarchiebildung
Abstrakte Maschine
der Ebene n
Repräsentierung Repräsentierung
Abstrakte Maschine
der Ebene n-1 ...
10.11.2022 © 2002, 2022 H. Werntges, FB Design Informatik Medien (DCSM), Hochschule RheinMain 2 - 33
Im Folgenden:
10.11.2022 © 2002, 2022 H. Werntges, FB Design Informatik Medien (DCSM), Hochschule RheinMain 2 - 34
2.4 Formale Sprachen
• In diesem Abschnitt:
Einführung des Begriffs der formalen Sprache
10.11.2022 © 2002, 2022 H. Werntges, FB Design Informatik Medien (DCSM), Hochschule RheinMain 2 - 35
Zeichen, Zeichenvorrat
10.11.2022 © 2002, 2022 H. Werntges, FB Design Informatik Medien (DCSM), Hochschule RheinMain 2 - 36
Alphabet
• Beispiele:
─ {0,1}, 0<1
─ {0,1,2,3,4,5,6,7,8,9}, 0<1<2<3<4<5<6<7<8<9
─ {A,B,C, ...,Z,a,b,c, ...,z}, A<B<C< ...<Z<a<b<c< ...<z.
10.11.2022 © 2002, 2022 H. Werntges, FB Design Informatik Medien (DCSM), Hochschule RheinMain 2 - 37
Zeichenketten
Def
• Σ* :Menge aller Zeichenketten über Σ
Σ+ :Menge aller nicht-leeren Zeichenketten über Σ
Σn : Menge aller Zeichenketten der Länge n über Σ.
─ Beispiel: Σ = {0,1}, Σ* = {0,1}* = {ε, 0, 1, 00, 01, 10, 11, 000, 001, ...}
w = xyz = x||y||z,
dann heißt
x ein Präfix (Anfangsstück) von w
y ein Teilwort von w und
z ein Suffix (Endstück) von w.
10.11.2022 © 2002, 2022 H. Werntges, FB Design Informatik Medien (DCSM), Hochschule RheinMain 2 - 40
Lexikographische Ordnung
∀ a1, a2
∈
Σ:
a1||w1
≤lex a2||w2, :⇔a1 < a2 oder (a1 = a2 und w1
≤lexw2)
10.11.2022 © 2002, 2022 H. Werntges, FB Design Informatik Medien (DCSM), Hochschule RheinMain 2 - 41
Formale Sprache
• Beispiel:
10.11.2022 © 2002, 2022 H. Werntges, FB Design Informatik Medien (DCSM), Hochschule RheinMain 2 - 42
Operationen auf formalen Sprachen
• Beispiel:
Σ = {0,1}, L = {01, 0001} ⊆ Σ*
L* ={ε, 01, 0101, 0001, 010101, 010001, 000101, ... }
10.11.2022 © 2002, 2022 H. Werntges, FB Design Informatik Medien (DCSM), Hochschule RheinMain 2 - 43
Codes
• Die Bildmenge {b∈B | b=c(a), a∈A} unter c, d.h. die Menge der
Codewörter von c, wird ebenfalls Code genannt.
• Die Elemente von A werden auch Klarzeichen genannt,
die Elemente von B auch Codezeichen.
• Die Abbildung eines Codes kann partiell sein, d.h. nicht für jedes
Wort aus A* muss eine Darstellung existieren.
10.11.2022 © 2002, 2022 H. Werntges, FB Design Informatik Medien (DCSM), Hochschule RheinMain 2 - 44
Decodierung
10.11.2022 © 2002, 2022 H. Werntges, FB Design Informatik Medien (DCSM), Hochschule RheinMain 2 - 45
Binär-Codierung
10.11.2022 © 2002, 2022 H. Werntges, FB Design Informatik Medien (DCSM), Hochschule RheinMain 2 - 46
2.5 Graphen und Bäume
10.11.2022 © 2002, 2022 H. Werntges, FB Design Informatik Medien (DCSM), Hochschule RheinMain 2 - 47
Graph
init working
error
10.11.2022 © 2002, 2022 H. Werntges, FB Design Informatik Medien (DCSM), Hochschule RheinMain 2 - 48
Graph (2)
• Ungerichtete Graphen:
Bei Kanten werden Richtungen nicht angenommen,
d.h. die Reihenfolge der Knoten zur Bezeichnung einer Kante ist
unerheblich.
10.11.2022 © 2002, 2022 H. Werntges, FB Design Informatik Medien (DCSM), Hochschule RheinMain 2 - 49
Beispiel
• G = (V,E) mit
─ V = { init, working, finished, error } und
─ E = { (init, working), (working, working),
(working, finished), (working, error ) }
─ Kantenbewertung action: E → {go, halt, fault}
go
halt finished
init working
go
fault error
10.11.2022 © 2002, 2022 H. Werntges, FB Design Informatik Medien (DCSM), Hochschule RheinMain 2 - 50
Gerichteter Kantenzug, gerichteter Weg
• Sei G = (V,E) ein gerichteter Graph. Sei z=(v0, ..., vn) eine Folge
Def
von n+1 Knoten des Graphen mit (v0,v1), ..., (vn-1,vn)E; dann
heißt z gerichteter Kantenzug in G der Länge n.
(Die Folge der Knoten ist durch Kanten verbunden, mehrfaches
Durchlaufen von Knoten ist erlaubt).
• Sei G = (V,E) ein gerichteter Graph. Ein gerichteter Kantenzug
w=(v0, ..., vn) in G heißt gerichteter Weg in G, wenn alle Knoten
verschieden sind. 1
• Beispiele: 2 6
─ (3, 5, 6, 2, 3, 4) ist ein
gerichteter Kantenzug
─ Wege sind z.B. 7 3 5
(1, 2, 3, 7, 4) und (2, 3, 5, 6)
4
10.11.2022 © 2002, 2022 H. Werntges, FB Design Informatik Medien (DCSM), Hochschule RheinMain 2 - 51
Zyklus
• Sei G = (V,E) ein gerichteter Graph und w=(v0, ..., vn) ein
Def
gerichteter Weg in G. Dann heißt c=(v0, ..., vn, vn+1) Zyklus, wenn
(vn,vn+1)∈
E und vn+1=v0 (d.h. Anfangs- und Endknoten stimmen
überein).
• Ein entarteter Zyklus (vi, vi)
E heißt Schlinge
(von einem Knoten unmittelbar in ihn zurück).
• Ein Graph heißt zyklenfrei, wenn er keinen Zyklus enthält.
1
• Beispiel:
─ G = (V,E), V={1,2,3,4,5,6,7}, 2 6
E = { (1,2), (2,3), (3,4), (3,5),
(5,6), (6,2), (3,7), (7,4) }
7 3 5
10.11.2022 © 2002, 2022 H. Werntges, FB Design Informatik Medien (DCSM), Hochschule RheinMain 2 - 52
Zusammenhängender Graph
2 6
2 6 2 6
7 3 5
7 3 5 7 3 5
4
4 4
nicht zusammenhängend streng
zusammenhängend nicht streng zusammenhängend zusammenhängend
10.11.2022 © 2002, 2022 H. Werntges, FB Design Informatik Medien (DCSM), Hochschule RheinMain 2 - 53
Zusammenhängender Graph (2)
2 6 2 6
7 3 5 7 3 5
4 4
10.11.2022 © 2002, 2022 H. Werntges, FB Design Informatik Medien (DCSM), Hochschule RheinMain 2 - 54
Gerichteter Baum
10.11.2022 © 2002, 2022 H. Werntges, FB Design Informatik Medien (DCSM), Hochschule RheinMain 2 - 55
Gerichteter Baum (2)
10.11.2022 © 2002, 2022 H. Werntges, FB Design Informatik Medien (DCSM), Hochschule RheinMain 2 - 56
Binärer Baum
10.11.2022 © 2002, 2022 H. Werntges, FB Design Informatik Medien (DCSM), Hochschule RheinMain 2 - 57
2.6 Algorithmen
10.11.2022 © 2002, 2022 H. Werntges, FB Design Informatik Medien (DCSM), Hochschule RheinMain 2 - 58
Einordnung
10.11.2022 © 2002, 2022 H. Werntges, FB Design Informatik Medien (DCSM), Hochschule RheinMain 2 - 59
Einordnung (2)
10.11.2022 © 2002, 2022 H. Werntges, FB Design Informatik Medien (DCSM), Hochschule RheinMain 2 - 60
Intuitiver Algorithmus-Begriff
10.11.2022 © 2002, 2022 H. Werntges, FB Design Informatik Medien (DCSM), Hochschule RheinMain 2 - 61
Wichtig
10.11.2022 © 2002, 2022 H. Werntges, FB Design Informatik Medien (DCSM), Hochschule RheinMain 2 - 62
Eigenschaften von Algorithmen
10.11.2022 © 2002, 2022 H. Werntges, FB Design Informatik Medien (DCSM), Hochschule RheinMain 2 - 63
Beispiel
10.11.2022 © 2002, 2022 H. Werntges, FB Design Informatik Medien (DCSM), Hochschule RheinMain 2 - 64
Beobachtung
10.11.2022 © 2002, 2022 H. Werntges, FB Design Informatik Medien (DCSM), Hochschule RheinMain 2 - 65
Güte von Algorithmen
10.11.2022 © 2002, 2022 H. Werntges, FB Design Informatik Medien (DCSM), Hochschule RheinMain 2 - 66
Güte von Algorithmen (2)
(zeitoptimiert) (speicheroptimiert)
Trade-off
10.11.2022 © 2002, 2022 H. Werntges, FB Design Informatik Medien (DCSM), Hochschule RheinMain 2 - 67
Repräsentierung von Algorithmen
10.11.2022 © 2002, 2022 H. Werntges, FB Design Informatik Medien (DCSM), Hochschule RheinMain 2 - 68
Repräsentierung von Algorithmen (2)
• Weitere Beispiele:
─ Programmiersprachen verschiedener Abstraktionsebenen
und Anwendungsbereiche (vgl. Vorlesung OOSE)
programmierbare Taschenrechner,
Maschinensprache
Assembler,
C/C++, Java, Ruby, ... (Universelle Programmiersprachen)
APL (Mathematik),
XSLT, XQuery (Auszeichnungssprachen)
Structured Query Language (SQL, für Datenbanken).
─ Hardware-Beschreibungssprachen
(vgl. Vorlesung Rechnerorganisation), z.B.
VHDL (Beschreibung von Verfahren, die in Hardware ablaufen)
10.11.2022 © 2002, 2022 H. Werntges, FB Design Informatik Medien (DCSM), Hochschule RheinMain 2 - 69
Programmiersprachen, Programme
• Für die Informatik sind nur Sprachen interessant, die eine exakte
Festlegung der Algorithmen erlauben, da nur so eine
maschinelle Verarbeitung erfolgen kann.
10.11.2022 © 2002, 2022 H. Werntges, FB Design Informatik Medien (DCSM), Hochschule RheinMain 2 - 70
Ausführung eines Programms
10.11.2022 © 2002, 2022 H. Werntges, FB Design Informatik Medien (DCSM), Hochschule RheinMain 2 - 71
Anmerkungen
10.11.2022 © 2002, 2022 H. Werntges, FB Design Informatik Medien (DCSM), Hochschule RheinMain 2 - 72
Programme verschiedener Abstraktionsebenen
10.11.2022 © 2002, 2022 H. Werntges, FB Design Informatik Medien (DCSM), Hochschule RheinMain 2 - 73
Abstraktionsebenen in Anwendungsprogrammen
10.11.2022 © 2002, 2022 H. Werntges, FB Design Informatik Medien (DCSM), Hochschule RheinMain 2 - 74
Beispiel: Primzahlsuche (einfacher Algorithmus)