Informatik II Zusammenfassung

Größe: px
Ab Seite anzeigen:

Download "Informatik II Zusammenfassung"

Transkript

1 Informatik II Zusammenfassung 1. Formale Modelle der Informatik Fragestellung der Theoretischen Informatik Automatentheorie / Grammatiken / Formale Sprachen: Modelle um Rechner Formal zu beschreiben? Syntaktische Korrektheit überprüfen? Eigenschaften von P Sprachen Berechenbarkeit, Komplexitätstheorie, Alogorthm Engineering: Aufwand einer Berechnung? Komplexität eines Problems? Was ist ein Algorithmus? Bedeutung von Automaten und Formale Sprachen für Software und Systems Engineering (Verhalten endlicher Systeme) Schaltwerkssynthese Programmiersprachen (Syntax, Compilerbau) Datamining (Volltextsuche) Grundlagen Formaler Sprachen Was gehört zur Beschreibung einer Formalen Sprache Syntax : Vorschriften / Regeln für korrekten Aufbau von Wörtern / Sätzen Semantik : Bedeutung eines korrekten Satzes Pragmatik : subjektive Aspekte (Geringe Bedeutung für die Informatik) Wichtige Notationen: A Alphabet: endliche, nichtleere Menge von Zeichen W Wort über A: endliche Folge von Zeichen aus A w Länge von w λ leeres Wort, länge 0 A! Menge der Wörter mit Länge n A* Menge ALLER Wörter über A A+ Menge aller nichtleeren Wörter über A L Sprache über A ó L A* (heißt formale Sprache, falls L durch ein endliches formales System vollständig beschreibbar ist) Klassifizierung formaler Systeme erzeugend: jedes Wort kann nach endlichen vielen Schritten durchs System erzeugt werden (è Grammatik) analysierend: nach endlich vielen Schritten kann man sagen ob ein Wort w zu L gehört oder nicht (è Automat) operationell: Sprache wird durch ein Term aus definierten Basismengen und Operationen beschrieben

2 Chomsky Grammatik Definition: Tupel G = ( N, T, P, S ) N Nonterminalsymbole (syntaktische Variablen) T Terminalsymbole (syntaktische Konstanten) P Menge der Produktionen S Startsymbol (Element von N) è Für eine Chomsky Grammatik G ist L(G):={w T* S *w} die durch G erzeugte Sprache Überführbarkeit v=>w: v heißt unmittelbar überführbar in w (w ist ableitbar aus v), wenn aus dem Wort v durch die Produktion irgendwann das Wort w erreichen kann Chomsky Hirachie Typ0 (Phrasenstrukturgrammatik) P beliebig. Typ 1 (Kontextsensitive / monotone Grammatik) alle Produktionen von der Form φ1aφ2 φ1ψφ2 mita N, φ1,φ2,ψ (N T)*,ψ= λ, zusätzlich S λ nur als erste Regel (S darf nicht auf der rechten Seite sein) Typ 2 (Kontextfreie Grammatik) P N (N T)* : alle Produktionen von der Form A ψmit A N undψ (N T)* (links Nichterminalsymbol, rechts egal) Typ 3 (rechtslineare Grammatik) P N (T TN {λ}) : alle Produktionen von einer der Formen A λ, A a oder A ab mit a T und A,B N. è Jede Sprache vom Typ i ist auch vom Typ i1, für i=1,2,3 è Zwei Grammatiken G1 und G2 heißen äquivalent, L(G1) = L(G2). 2. Endliche Automaten und reguläre Sprachen Endliche Automaten mit Ausgabe (Fahrkarten / Getränke / Geldautomat) definierter Ablauf von Handlungen selbständige Ausführung von Aktionen abhängig von Eingabe, Zustand und Ausgabe Eingabe E, Zustände S, Ausgabe A è endliche Mengen, Aphabete

3 Mealy Automat (Zustandsübergang) Ein MealyAutomat ist ein Tupel M = (E, S, A, δ, γ, s0), mit E= {e1,...} Eingabealphabet S={s1,...} Zustandsmenge A= {a1,...} Ausgabealphabet δ : S x E S Überführungsfunktion γ : S x E A Ausgabefunktion s0 S Anfangszustand è Die Ausgabe wird mit einem Zustandsübergang assoziiert. Darstellung von Überführungsfunktion und Ausgabefunktion als Zustandstafel oder Zustandsdiagramm Moore Automat (Zustand) Ein MooreAutomat ist ein Tupel M = (E, S, A, δ, γ, s0), mit E= {e1,...} Eingabealphabet S={s1,...} Zustandsmenge A= {a1,...} Ausgabealphabet δ : S x E S Überführungsfunktion γ : S x E A Ausgabefunktion s0 S Anfangszustand è Ausgabe wird mit Zustand assoziiert und hängt nur vom aktuellen Zustand ab. Bei der Initialisierung im Anfangszustand findet keine Ausgabe statt è Für jeden Mealy Automaten gibt es einen Äquivalenten Moore Automat und umgekehrt, aber Anzahl der Zustände kann verschieden sein dabei Darstellung von Überführungsfunktion und Ausgabefunktion als Zustandsdiagramm

4 Akzeptoren / Endliche Automaten ohne Ausgabe Brauchen keine Ausgabe mehr, entweder sie akzeptieren Eingabewort oder nicht Keine Ausgabealphabet, keine Ausgabefunktion Menge von Endzuständen Definition Akzeptor : Tupel A = (E, S, A, δ, γ, s0), mit E= {e1,...} Eingabealphabet S={s1,...} Zustandsmenge δ : S x E S Überführungsfunktion s0 S Anfangszustand F S : Menge der Endzustände (nicht leer) Darstellung der Überführungsfunktionδ Konfiguration eines EA: Tupel (s,w) S x E* s: aktueller Zustand von A w: zu verarbeitendes Restwort Übergangsrelation: Alle möglichen durchδhervorgerufenen Konfigurationsübergänge Sprache L(A) eines endlichen Automaten A=(E,S,d,s0,F) akzeptiert w E*, gdw. δ(s0,w) F L(A) := {w E* δ(s0,w) F} Die Sprache die von dem endlichen Automaten erkannt / akzeptiert wird

5 Pumping Lemma Es gibt Sprachen die von endlichen Automaten nicht erkannt werden, da die endliche Menge der Zustände nicht ausreicht, wenn ein Wort mindestens so viele Zeichen hat, wie es Zustände gibt. è Automat würde mindestens 1 Schleife brauchen: es gilt w=xyz mit y als Teilfolge der Schleife, dann würde der Automat aber auch xz, xyyz, oder xyyyz... erkennen Konfiguration eines EA: Welche Infos brauch ich um das weitere Verhalten des Automaten eindeutig festlegen zu können? Konfiguration: aktueller Zustand s, Restwort w è Tupel (s,w) Übergangsrelation: alle möglichen Konfigurationsübergänge Reflexiv transitive Hülle A* Beweis für Pumping Lemma 1. Annahme: Die Sprache L wird von dem EA A =(E,S,d,s0,F) mit S =n erkannt 2. A hat n Zustände. Man wählt ein Wort w relativ am Rand der Menge mit Mächtigkeit n meistens. Es gilt w L und w >= n a. Sei w=xyz eine beliebige Partition von w gibt es laut PPL: i. xy n ii. y 1 iii. i N xy! z L b. Da xy n und y 1 gilt xy=j und y=k sowie x=jk, und z=nj für 0<j, k n c. Wir wähle eine Pumpvariable i =, dann ist xy! z =... =... =... L 3. Widerspruch zu unserer Annahme è Es gibt keinen EA der L erkennt Äquivalenz und Minimierung endlicher Automaten Äquivalente Automaten: 2 EA mit demselben Eingabealphabet heißen äquivalent A1 ~ A2 wenn L(A1) = L(A2) Erreichbarer Zustand: s heißt erreichbar falls es ein w E* gibt mit δ(s0,w)=s Vereinfachter Automat: A ist der vereinfachter Automat von A, falls alle Zustände von A erreichbar sind (A=A ) è A ~ A und s0 ist ereichbar Äquivalenz von Zuständen: s und s heißen käquivalent, gdw für alle wεe mit w k gilt, dass δ(s,w) F δ (s,w) F É (wenn 2 Wörter der Länge k in Bezug auf ihr Akzeptierungsverhalten nicht unterscheidbar sind, Folgezustand ist 0äquivalent) 0äquivalent: wenn beide Zustände Endzustände oder nicht Endzustände sind Zerlegung der Zustandsmenge: π = {[ s ] s S} Zerlegung von S in Äquivalenzklassen bzgl ~ Lemma: π π! (Zustände von S sind Teilmenge von S_k) Für k1 < k2 gitl π!! π!! Satz:... Korollar: Reduzierter Automat: Ein Endlicher Automat A heißt reduziert, wenn: A vereinfacht ist Alle Zustände paarweise nicht äquivalent zueinander sind

6 Wie reduziert man einen Automaten? è Idee: 1. Entferne alle nicht erreichbare Zustände 2. Bestimme die Klassen äquivalenter Zustände 3. Ersetze s in S durch [s] (induzierte Äquivalenzklasse) uns modifiziere δ Algorithmus für Reduktion eines EA (Äquivalenzklassen bestimmen) Nichtdeterministische Endliche Automaten Endliche Automaten, die nichtdeterministisch sind. Das heißt über ein Eingabewort e kann es aus einem Zustand mehrere Folgezustände (è Menge von Zuständen) geben. Definition: Ein nichtdeterministischer endlicher Automat (nea) ohne Ausgabe ist gegeben durch A = (E, S, δ, s0, F) mit: i. E, S, s0 und F wie für (deterministische) EA 's ii. ii. δ : S E (S) (Menge von Folgezuständen) è Folgezustand nicht eindeutig, kann auch leer sein Akzeptiertes Wort: Sei A=(E,S,δ,s0,F) ein nea. a) A akzeptiert w E*, wenn δ(s0,w) F!= (wenn ein Endzustand erreicht werden kann) b) L(A):= {w E* A akzeptiert w} (Sprache = alle Wörter die der Automat akzeptiert) Umwandlung eines nea in eine äquivalenten deterministischen EA Jeder nea kann in einen deterministischen EA umgewandelt werden, indem man verschiedene Folgezustände zu einer Menge vereinigt. S = Potenzmenge von S è Zustandsmenge kann dabei sehr groß werden: S = n => S = 2 n

7 Endzustände: Menge aller Zustände, wo ein Endzustand des Ursprünglichen Automaten enthalten ist (im Beispiel S3) Folgerung: Die Menge der Sprachen die von ea erkannt wird ist gleiche die von nea erkannt wird è L EA (E) = L NEA (E) Vorteil von nichtdeterministischen Automaten Einfache Definition von Automaten / Akzeptoren (enthält ein Wort eine bestimmte Zeichenkette?) Operationen auf Automaten bei disjunkten Zustandsmengen o Vereinigung von Sprachen / EA: Neuer Automat der beide ursprüngliche Automaten enthält L(A ) = L L o Multiplikation von Sprachen EA: Zuerst wird ein Automat A, dann der andere A abgearbeiet è Endzustand von A = Anfangszustand von A Für EA: linear in Wortlänge, O( w ) Für nea: auch linear in Wortlänge, O( S * w ) Reguläre Ausdrücke/Sprachen: Wie kann man über Operationen Sprachen definieren? a) Basisimengen B1,.. B_n definieren b) Erlaubte Operationen Op definieren (Vereinigung, Prudukt, Stern *...) c) Jeder Term über B_1 B_n mit Operationen aus Op beschreib eine formale Sprache è Abstrakte Sprachfamilien sind so definiert Menge der regulären Sprachen: L reg (E) Menge alle Sprachen über E, die aus Basismenge: einelementige Teilmenge {e} oder leere Menge Ø Durch endlich häufiges anwenden der Operationen o Vereinigung: A B:={x x Aoderx B} o Produkt(Hintereinanderschreiben) : AB = A o B:= {xy x A und y B } o Iteration: A*= U A i

8 Menge der reguläre Ausdrücke: Terme die wie folgt definiert sind RA(E) (Leere Menge ist ein regulärer Ausdruck) e E:e RA(E) (Eingabealphabet ist regulärer Ausdruck α,α $ RA(E): (α+α %) RA(E), (α α #) RA(E), (α*) RA(E) (Alle diese Operationen über reguläre Ausdrücke sind auch wieder reguläre Ausdrücke) Interpretation von RA: durch Sprachen über E: Jeder regulärer Ausdruck a kann durch eine reguläre Sprache L(a) interpretiert werden. Dabei gilt: (1) L( ) := (Sprache über Leere Menge ist die Leere Menge) (2) e E L(e):={e} (Sprache über einelementige Menge ist diese Menge) (3) α, α $ RA(E): L((α + α $)) := L(α) L(α #) L((α α #)) := L(α) L(α #) L((α*)) := L(α)*. (quasi wie Rechenregeln) è Klammer vor Iteration vor Produkt vor Summe Satz: L reg (E):= { L E* α RA mit L=L(α)} è L reg (E) L EA (E) jede reguläre Sprache kann durch einen endlichen Automaten erkannt werden Satz: Zu jedem endlichen Automaten A gibt es einen regulären Ausdruck a L(a) = L(A) è L EA = L nea = L reg, Analogien Automat / Grammatik / RA: è Die Menge der Sprachen, die ein endlicher (nichtdeterm.) Automat akzeptiert, die durch einen reguläreren Ausdruck beschreibbar ist oder durch eine rechtslineare Grammatik erzeugt werden kann, ist die gleiche. L 3 (E) = L reg (E)= L EA (E) = L nea (E)= L reg (E) = RA(E) Konstruktion rechtslineare Grammatik aus einem nea: Menge Nonterminalsymbole simuliert Zustandsmenge Menge Terminalsymbole entspricht Eingabealphabet Für jede Überführungsfunktion wird eine Regel erzeugt für Zustandswechsel Regel s λ ermöglicht für jeden Endzustand Abbruch einer Ableitung 3. Kellerautomaten und kontextfreie Sprachen Erweiterung eines endlichen Automaten / Aktzeptor (Band und Lesekopf) um einen unbeschränkt großen Speicher (Keller), um auch Klammersprachen zu erkennen Sehr eingeschränkte Nutzungsmöglichkeiten: strenges LIFO Prinzip: Last in First Out Zustandsübergänge abhängig von 1. Aktuellem Zustand 2. Aktuelle Eingabe 3. Oberstem Kellerzeichen Operationen auf einem Keller (Lesekopf immer auf obersten Kellerzeichen) push (v) schreiben von vk (v wird über / vor k in den Keller geschrieben) pop Schreiben von λ = löschen oberstes Kellerzeichen

9 deterministischer Kellerautomat KA = (E, S, K, δ, s0, k0, F) E= {e1,...} Eingabealphabet K={k0,...} Kelleralphabet K0 K Kellerstartzeichen S={s1,...} Zustandsmenge s0 S Anfangszustand F S nichtleere Menge der Endzustände δ:s (E {λ}) K S K* partielle Überführungsfunktion Arbeitsweise eines Kellerautomaten Zu Beginn: Zustand s0; Lesekopf ganz links; im Keller nur k0 Während Bearbeitung: Zustand s; Lesekopf (LK) über s; oberstes Kellerzeichen k I. δ nicht definiert für (s,e,k) und (s,λ,k) è KA hält an II. δ(s,e,k)=(s,v) è Neuer Zustand = s ; k wird im Keller durch v ersetzt (linkstes Zeichen von v oberstes Kellerzeichen); Lesekopf eins nach rechts III. δ(s,λ,k)=(s,v), analog zu II nur dass Lesekopf unverändert bleibt Akzeptierung: Wort w wird akzeptiert, falls Wort vollständig bearbeitet (LK rechts von w) und KA im Endzustand è Erkennt wohlgeformte Klammerausdrücke (WKA) (bsp: Wörter der Form a n b n ) Konfiguration eines KA S aktueller Zustand W zu verarbeitendes Restwort V aktueller Kellerinhalt Satz: Für jeden endlichen Automaten EA existiert ein deterministischer Kellerautomat KA mit L(KA) = L(EA) è L EA L det KA. Gespiegelte Wörter: Ein deterministischer Kellerautomat erkennt nur gespiegelte Wörter der Form vcv aber nicht vv (v = v gespiegelt), da er nicht weiß, wo die Spiegelachse / Umkehrpunkt wär. Dazu würde man nichtdeterministische Kellerautomaten benötigen. Nichtdeterministischer Kellerautomat Tupel KA = (E, S, K, δ, s0, k0, F), alles wie beim deterministischen Kellerautomaten außer δ δ:s (E {λ}) K (S K*) (Es kann mehrere Nachfolgezustände haben) è Ein nichtdeterministischer Automat akzeptiert ein Wort, wenn es eine Konfigurationsfolge gibt, die zu einem Endzustand führt Satz: L detka (E) L ndetka (E) (Nichtdeterministische KA erkennen mehr Sprachen) Satz: L ndetka (E) (E*) (Menge Sprachen über dem Alphabet ist größte als die, die ein (nichtdeterm.) Kellerautomat erkennen kann) è L EA (E) = Ln detea (E) L detka (E) L ndetka (E) (E*) Aufwand für Spracherkennung detka: linear in der Wortlänge (ç Möglichst für Prog. Sprachen nutzen) ndetka: O(n 3 ), da Backtracking (alle Möglichkeiten durchsuchen)

10 Kontextfreie Sprachen (Typ 2 Sprachen) Die Grammatik heißt kontextfrei, weil jede Regel A ψ auf ein Nonterminalsymbol A angewendet werden kann, ohne dass der Kontext, d.h. der Rest des Wortes oder ein Teil davon, berücksichtigt werden muss(ψ beliebige Folge von Symbolen) Ableitungsbaum Die Ableitungsfolge S * w einer kontextfreien Grammatik kann auch als Ableitungsbaum dargestellt werden Wurzel des Baumes mit Startsymbol S erzeugen Wird eine Regel φ1aφ2 angewandt, so ist jedes Zeichen bisher ein Blattknoten o Für jedes neue Zeichen X i wird ein neuer Sohnknoten unter A angelegt o Sohnknoten werden von links nach rechts mit X 1, X 2,..., X k beschriftet o Für ψ = λ wird genau 1 Sohnknoten mit λ angelegt è Blätter geben von links nach rechts gelesen das Wort w è Zu jedem Ableitungsbaum gibt es mehrere Ableitungsfolgen (Rechts / Linksableitung) Möglichkeiten wie man eine Sprache angeben kann (obiges Beispiel) BackusNaurForm (BNF) <block> ::= BEGIN <statement sequence> END <statement sequence> ::= <statement> {; <statement>} <statement> ::= a <block> <repeatstatement> <repeatstatement> ::= REPEA T <statement sequence> UNTIL <expr> <expr>(expression) ::= e Syntaxdiagramm

11 Konfextfreie Grammatik G = (N, T, P, S) mit N = {A, B, C, D, S}, T = {beg, end, rep, unt, a, e, ;} und P= { S beg A end, A B B;A, B a S C, C rep A unt D, D e } mit der folgenden Interpretation: S= <block> A= <statement sequence> B= <statement> C= <repeatstatement> D= <expr> beg = BEGIN end = END rep = REPEAT unt = UNTIL Grammatikformen Satz: Zu jeder kontextfreien Grammatik G gibt es einen nichdeterministischen Kellerautomaten L(KA) = L (G) und umgekehrt Konstruktion eines KA zu einer kontextfreien Grammatik... Satz: Zu jeder Grammatik G kann eine λfreie, kontextfreier Grammatik G mit L(G) = L(G ) \{λ} angegeben werden (durch konstruktives Verfahren). ChomskyNormalform G = (N, T, P, S) sei eine kontextfreie Grammatik G ist in ChomskyNormalform : P N (NN T) gilt, d.h.nur Regeln der Form A BC (rechts höchstens 2 Nonterminalsymbole) A a mit A,B,C N,a (rechts höchstens 1 Terminalsymbol) Vorgehensweise: 1. Mache G λfrei 2. Eliminierung aller reinen Umbenennungen (A è B) 3. P so umformen das rechts entweder 1 Terminalsymbol oder beliebig viele Nonterminalsymbole sind 4. Ersetze jeder Regel der Form A B1... Bn durch A B1D1, D1 B2D2... Satz: Zu jeder kontextfreien Grammatik gibt es eine kontextfreie Grammatik in Chomsky Normalform mit L(G) = L(G ) \{λ} GreibachNormalform Eine Grammatik G ist in GNF wenn jede Regel die Form A aφ mit a T und φ N* besitzt (jede Regel auf ein Terminalsymbol und danach eine beliebige Folge Nichtterminalsymbole) è bei w =n: S * w in genau n Ableitungsschritten, da in jedem Schritt eine Variable durch eine Konstante ersetzt wird.

12 Pumping Lemma für kontextfreie Sprachen Ableitungsbaum mind. einen Weg der Länge N, damit eine Variable / Nonterminalsymbol mehrfach auftritt Jedes Wort w > 2 n hat einen Ableitungsbaum mit mindesten einen Pfad der Länge >n 2 Pumpstellen v und x Formal: Wenn L kontextfrei ist, dann gibt es ein k IN, so dass z L mit z k u,v,w,x,y T* mit a) z = uvwxy b) vwx k c) vx!= λ d) i N0 uv i wx i y L. è Wenn dieses Pumping Lemma nicht zutrifft ist L auch nicht kontextfrei CockeYoungerKasami Algorithmus Entscheidet ob ein Wort von einer kontextfreien Grammatik erzeugt werden kann, welche in Chomsky Normal Form ist

13 Beispiel: 1. Man nummeriert Felder über dem Zielfeld und auf der Diagonalen 2. Alle Felder mit gleicher Nummerierung werden verglichen: z.b. für Nr. 2, kann aus der Produktion AB oder SB entstehen? Ja durch S schreibe S ins Zielfeld 3. Man fängt in der ersten Ziele an und arbeitet sich dynamisch mit den Zielfeldern durch bis die Matrix ausgefüllt ist 4. Steht im untersten Feld das Startsymbol S, kann das Wort aus der kontextfreien Grammatik erzeugt werden Komplexität des Cocke Younger Kasami Algorithmus: Der Algorithmus hat eine Laufzeit in O(n 3 P ) (Wörter können in polynomieller Zeit erkannt werden in der Zeit O(n 3 ) für Wörter der Länge n) 4. Kontextsensitive Sprachen, Allgemeine Sprachen und Turinmaschinen Kontextsensitive Sprachen ( Typ 1 Sprachen ) Eine Grammatik heißt kontextsensitive Grammatik, wenn alle Produktionen der Form φ 1 Aφ 2 φ 1 ψφ 2 mit A N; φ 1,φ 2, ψ (N T)*, ψ!= λ (Regel nur in dem Kontext mit φ 1 und φ 2 welche danach auch wieder auf der rechten Seite auftauchen) S λ darf zusätzlich definiert sein Monotone Grammatik: Eine ChomskyGrammatik G = (N, T, P, S) heißt monoton, wenn abgesehen von S λ nur Regeln der Form φ ψ mit φ ψ existieren. (Wenn auf der rechten Seite mindestens genauso viele Symbole stehen wie auf der linken Seite) è jede kontextsensitive Regel ist monoton Satz: Zu jeder monotonen Grammatik gibt es eine äquivalente kontextsensitive Grammatik Satz: Es gilt Es gilt L 2 L 1 (Jede Typ 2 Sprache gehört zu den Typ 1 Sprachen) Allgemeine Sprachen (Typ 0 Sprachen) Zur Erinnerung: Eine ChomskyGrammatik G = (N, T, P, S) heißt Typ0Grammatik wenn P beliebig ist Eine Typ0 Grammatik heißt auch Phrasenstrukturgrammatik oder allgemeine ChomskyGrammatik. Wörter können kürzer werden im Gegensatz zu Typ 1 Sprachen, da diese Grammatik nicht mehr monoton sind Es gibt Sprachen die nicht von Typ 0 sind, da die Anzahl Typ 0 Sprachen abzählbar ist Korollar: Es gilt offensichtlich L 1 L 0 TuringMaschinen Eine Turing Maschine ist ein endlicher Automat mit (potentiell unendlichem) 2Weg Arbeitsband mit sequentiellem Zugriff.

14 Definition: Tupel T = (E, B, S, δ, s0, F) mit nichtleeren, endlichen Mengen E = {e1,..., er} mit * E (Eingabealphabet) B = {b1,..., bm} mit E {*} B (Bandalphabet) S = {s0,..., sn} (Zustandsmenge) δ : S x B S x B x {L, R, N} (Überführungsfunktion) s0 S (Anfangszustand) F S (Menge der Endzustände) (* = leeres Feld) Zustandstafel / Turingtafel Zustandsübergangstabelle, die definiert, was für jeden Zustand s und jedes Zeichen b definiert, was anschließend passieren soll. δ(s,b)=(s,b,x): Lesekopf T liest das Zeichen b, geht in Zustand s, schreibt Zeichen b auf das Band, bewegt Kopf in Richtung X die Turing Maschine hält an, wenn δ für (s,b) nicht mehr definiert ist Bandinschrift: Der Inhalt des Bandes beginnend im linksten NichtleerFeld und endend mindestens mit der Position des S/LKopf und spätestens mit dem Zeichen im rechtesten Nichtleerfeld. (Alle Zeichen die von den Sternen bzw S/Lkopf umrandet wird ) Konfiguration einer Turingmaschine aktuelle Bandinschrift vw Bandinschrift v links vom S/L Kopf Bandinschrift w rechts vom S/LKopf Aktuelle Zustand s Wann akzeptiert eine TuringMaschine ein Wort w? è Wenn sie in Endkonfiguration (v 1,s,v 2 )ist: falls s F gilt falls es für (v 1,s,v 2 ) keine Nachfolgekonfiguration gibt (Bandinschrift egal) (T könnte auch nie anhalten / nicht im Endzustand anhalten / w verändern

15 Sprache einer TuringMaschine T T akzeptiert ein Wort w und ist danach in Endkonfiguration L(T) = { w E* T akzeptiert w}, dann ist L(T) die von T akzeptierte Sprache è L TM steht für die Klausse der von Turing Maschinen erkannten Sprachen Nützliche Eigenschaften von TM S/LKopf kann nach links und nach rechts gehen S/LKopf kann Zeichen übergehen (Einfach gleiches Zeichen Schreiben was gelesen wird) TM kann Zeichen verändern Nichtdeterministische TuringMaschinen Wie bei anderen Automaten, es kann mehrere Möglichkeiten für Nachfolgekonfigurationen / Zustände geben (Menge von Nachfolgekonfigurationen) Definition: Tupel T = (E, B, S, δ, s0, F) δ= S B (S x B x {L, R, N}) (mehrere Nachfolgekonfigurationen) T akzeptiert ein Wort w wenn es eine Konfigurationsfolge gibt, die in eine Endkonfiguration führt L(T) = { w E* T akzeptiert w}, dann ist L(T) die von T akzeptierte Sprache Satz: L ndettm = L TM (deterministische TM sind genauso mächtig wie nichtdeterministische TM) Satz: L EA L KA L TM Satz: L 0 L TM TuringMaschinen mit linearer Bandbeschränkung Eine akzeptierende TuringMaschine, bei der nur ein beschränkter Teil des Bandes benutzt werden darf (linear in der Länge des Eingabewortes). Länge des Bandabschnitts L(w)= k* w +c hängt linear von der Länge des Eingabeworts ab (è linear beschränkt), da bei monotonen Grammatiken bei der Rückwärtsableitung des Wortes das Wort nicht länger werden kann $ = Begrenzungssymbol Satz: Zu jeder Typ1Grammatik G gibt es einen linear beschränkten Automaten T mit L(T) = L(G) und umgekehrt d.h è L 1 = L LBA

16 Zusammenfassung SprachenGrammatikenAutomaten 5. Berechenbarkeit und Komplexität Grundbegriffe Algorithmus im intuitiven Sinn P :bezeichne eine Problemklasse (z.b. Sortieren) A: Menge konkreter Problemausprägungen / Probleminstanzen (z.b. Folge von Zahlen) L: Menge von Lösungen zu den Problemen aus A Algorithmus A p der Klasse P: Allgemeines Verfahren das nach endlich vielen Schritten aus den Anfangsdaten A die Lösung L a liefert o A p = A L Berechenbare Funktion: f heißt berechenbar gdw es einen Algorithmus A f : M 1 M 2 gibt mit Af(w) = f(w) für alle w M 1 (Algorithmus A berechnet Funktionswert von f) Abzählbare Menge: M heißt abzählbar gdw M injektiv in IN abbildbar ist (endliche Mengen) überabzählbare Menge: wenn M nicht abzählbar ist (reele Intervall (0,1)) Satz: Sei E ein Alphabet. a) Die Menge aller Funktionen f : E* E* ist überabzählbar. b) Die Menge aller berechenbaren Funktionen f : E* E* ist abzählbar Entscheidbare Menge, charakteristische Funktion Seien M 1 M 2 E*. a) M 1 heißt entscheidbar relativ zu M2, : es gibt einen Algorithmus der feststellt ob jedes Element aus M 2 zu M 1 gehört. A M1,M2 heißt Entscheidungsverfahren. b) Sei M E*. M heißt absolut entscheidbar oder kurz entscheidbar oder rekursiv : M relativ zu E* entscheidbar (jedes Wort aus E* ist feststellbar ob es zu M gehört)

17 Lemma: M 1 ist entscheidbar relativ zu M 2 die charakteristische Funktion χ M1,M2 ist berechenbar. Aufzählbare Menge M E* heißt (rekursiv) aufzählbar : es gibt eine surjektive, berechenbare Funktion f : INo M (M wird dann durch f aufgezählt, d.h. M = {f(0), f(1), f(2),...} ) Satz: Für jede Menge M E* gilt: a) Wenn M aufzählbar ist, ist M auch abzählbar: aufzählbarkeit è abzählbarkeit b) M ist entscheidbar gdw. M und E*/M aufzählbar sind: Entscheidbarkeit è aufzählbarkeit Struktur von (E*) entscheidbar = rekursiv ; aufzählbar =rekursiv aufzählbar = semientscheidbar Formale Beschreibung durch TuringMaschinen Turing Berechenbarkeit Definition: Sei T= (E, B, S, δ, s0, F) eine TuringMaschine und M1, M2 E*. Sei f : M1 M2 eine beliebige Funktion. a) T berechnet f : für alle w,v E* gilt: w M1 v = f(w) (λ,s0,w) (u,s,x) mit ux=v und (u, s, x) ist Endkonfiguration (Es gibt eine Konfigurationsfolge, wo aus dem Anfangswort w in eine Endkonfiguration mit der Bandinschrift f(w) kommt) b) F ist Turing berechenbar gdw. Es eine Turing Maschine gibt die f berechnet TuringAufzälbarkeit und Entscheidbarkeit Sei E ein Alphabet und M E*. a) M heißt Turingaufzählbar, gdw es eine surjektive, Turingberechenbare Funktion f : IN0 M gibt (f ist turing berechenbar und M aufzählbar) b) M heißt Turingentscheidbar gdw χm Turingberechenbar ist. c) Turing aufzählbare Mengen heißen auch semientscheidbar, da sie nur w M akzeptieren, aber für w nicht aus M evt nie stoppen

18 Simulation einer Turing Maschine Es soll eine universelle TuringMaschine U geben, die das Verhalten einer beliebigen Turing Maschine simulieren kann. Dabei werden Die TM vereinfacht: festes Bandalphabet B = {0,1,*}, feste Zustandsmenge S, Anfangs und Endzustände sind einheitlich Überführungsfunktionen der simulierten TM werden auf dem Band von U codiert, dabei werden aktuelle Bandinschrift und Zustand durch Nullen getrennt Jede TuringMaschine kann aufgrund der angegebenen Codierung c TM durch eine Zeichenkette über dem Alphabet {0, 1, *} spezifiziert werden. Allemöglichen TuringMaschinen können in eine feste Reihenfolge gebracht werden: T1, T2, T3... (z.b. lexikographische Ordnung). Alle möglichen Eingabewörter w E* dieser Maschinen können ebenfalls in eine feste Reihenfolge gebracht werden: w1,w2, w3 Satz: Es gibt keine TuringMaschine, die die Sprache L NA := {w i w i L(T i )} akzeptieren kann. (das ite Wort wird nicht durch die ite Turingmaschine erkannt) è Des gibt Sprachen die nicht in L 0 enthalten sind Wie konstruiert man Turing Maschinen? Man definiert Basismaschinen für die Berechnung elementarer Funktionen (Addition, Multiplikation, Vergleich...) Man definiert Turing Maschinen zur Verknüpfung von anderen Turing Maschinen (Kontrollstrukturen) Church sche These: Jede (im intuitiven Sinne) berechenbare Funktion ist auch Turing- berechenbar. Bei effizienten Berechenbarkeit reicht es aus Turing Maschinen zu betrachten Jede aufzählbare Menge ist auch Turingaufzählbar Jede entscheidbare Menge ist auch Turingentscheidbar Halteproblem: Gibt es eine TM die für jede TM entscheiden kann, ob sie für die Eingabe w halten wird oder nicht? è Nein, das Halteproblem ist unentscheidbar

19 Sprachklassen der ChomskyHierachie Zusammenfassung wichtiger Ergebnisse Komplexität Kosten für Berechnung einer Funktion / Kosten für die Lösung eines Problems. Für feste Probleme bestimmt man: obere Schranken O : für den Berechnungsaufwand durch Analyse eines Algorithmus untere Schranken Ω: durch Aussagen über den Mindestaufwand beliebiger Algorithmen Zeitkomplexität: für die Berechnung von f mit einer TM für ein Wort w t TM (w) := Länge der kürzesten Konfigurationsfolge von Anfangs zur Endkonfiguration T TM (n) := max {t TM (w) TM hält angesetzt auf w und w =n} (Länge des Maximums aller kürzesten Berechnungsfolgen für Wörter der Länge n ) Platzkomplexität: : für die Berechnung von f mit einer TM für ein Wort w p TM (w) := Anzahl der zum Schreiben benötigten Zellen des Bandes in der kürzesten Konfigurationsfolge von Anfangs zur Endkonfiguration P TM (n) := max {p TM (w) TM hält angesetzt auf w und w =n} (Maximaler Platz aller kürzesten Berechnungsfolgen für Wörter der Länge n )

20 Komplexitätsklassen mit Turing Maschinen Sei g : IN IN eine beliebige Funktion, f wie vorher. DTime(g) := { f f ist mit Zeitkomplexität O(g) von einer deterministischen Turing Maschine berechenbar} NTime(g) := { f f ist mit Zeitkomplexität O(g) von einer nichtdeterministischen TuringMaschine berechenbar} DSpace(g) := { f f ist mit Platzkomplexität O(g) von einer deterministischen Turing Maschine berechenbar} NSpace(g) := { f f ist mit Platzkomplexität O(g) von einer nichtdeterministischen TuringMaschine berechenbar} Weitere Komplexitätsklassen P:= Klasse der von deterministischen TuringMaschinen polynomieller Zeit berechenbaren Funktionen ist ( U DTime (n k ) ) NP = Die Klasse der von nichtdeterministischen TuringMaschinen in polynomieller Zeit berechenbaren Funktionen (man kann nichtdet. eine Lösung raten und in polynonieller Zeit die Korrektheit der Lösung überprüfen) ( U NTime (n k ) ) PSPACE := Klasse aller Funktionen die in polynomiellem Platz berechenbar sind (U Dspace (n k ) EXPTIME := U DTime (2 n^k )... EXPSPACE := U DSpace (2 n^k )... Reduzierbarkeit Satz: sei P und Q Probleme mit ihren Mengen von Lösungen L P und L Q Q ist polynomialreduzierbar auf P (Q pol P) gdw Q in P transformiert werden kann und jede Lösung von f(q) = P in eine Lösung von Q transformiert werden kann (beides jeweils in polynomieller Zeit) Q pol P : P polynomiell lösbar Q polynomiell lösbar Q pol P : Q nicht polynomiell lösbar P nicht polynomiell lösbar Allgemein sind (so gut wie) alle Sprachen, für die ein deterministischer Polynomialzeit Algorithmus existiert, paarweise auf einander in Polynomialzeit reduzierbar

21 NPSchwer: Ein Problem X ist NPSchwer, wenn jedes Problem Q aus NP in polynomialzeitreduzierbar auf X ist. NPVollständig: Ein Problem P ist NPVollständig, wenn es NP Schwer ist und gleichzeitig Element aus NP ist. Sozusagen die schwersten Probleme aus NP. Beispiele Travelling Salesperson Problem (TSP) SAT: Erfüllbarkeitsproblem der Aussagenlogik (ist eine Formel in KNF wahr?) CLIQUE: Gibt es einen vollständig verbundenen Teilgraph der Größe k? BSP: Reduzierung von 3SAT nach Clique è Jedes Literal wird ein eigener Knoten im Graph, Kanten werden Verbunden wenn 2 Knoten gleichzeitig erfüllbar sind è Der ganze Ausdruck ist erfüllbar wenn 3 durch kantenverbundene Knoten gefunden wurden Entscheidungsprobleme, Optimierungsprobleme und Konstruktionsprobleme liegen in der gleichen Komplexitätsklasse (bis auf polynomielle Unterschiede)

22 6. Schaltwerke und Schaltnetze Boolsche Algebren (Wiederholung + Ergänzung) Zum Beipiel: Aussagenlogik, Mengenalgebra, Schaltalgebra Definition: Sei IB = {0,1} Boolesche Funktion: Eine Abbildung f : IB n IB Menge Boolescher Variablen: V = {a1, a2,..., an} Menge der Symbole: S = { 0, 1,, +, ', (, ) } mit V S = { } Boolesche Terme: Jede Konstante (0,1) und Variable a V, sind A und B boolesche Terme sind auch A, (A*B) und (A+B) boolesche Terme Darstellungen boolescher Funktionen: Wertetabelle / Wahrheitstafel Boolescher Ausdruck: o DNF: a XOR b = ab + a b o KNF: a XOR b = (a + b) (a + b ) Binary Decision Diagram (BDD) (meist kürzere Darstellung als die anderen) Entwicklungssatz für Boolesche Funktionen Seien f eine beliebige Boolesche Funktion mit x 1,..,x n ihre Booleschen Variablen Dann gilt: f(x 1,..,x n ) = x 1 * f(1,x 1,..,x n ) + x 1 * f(0, x 2,..,x n ) (Multipliziere den Term einmal mit x 1 und setze x 1 =1 ein und einmal mit x 1 und setze x 1 =0 ein und verknüpfe beide Multiplikationen durch eine Summe) Reduktion eines Baums zu einem BDD a) Verschmelzen identischer Teilgraphen (meist Blätter 0/1 oder Knoten die mit Gleicher Eingabe zum gleichen Knoten führen) b) Eliminiere die Knoten, falls beide Kanten des Knotens auf denselben Nachfolger zeigen è Daraus ergibt sich ein eindeutig bestimmter reduzierter Funktionsgraph / Binary Decision Diagramm (BDD) è Für jede andere Reihenfolge [f(a,b,c), f(b,a,c)...] kann sich ein andere BDD ergeben

23 Schaltalgebra Boolesche Elemente Bistabile Schaltelemente: z.b. Schalter, Dioden,... 2 stabilen Schaltzuständen: offen / geschlossen,... Schaltwerte: M=B={0,1} (Jedem Zustand wird 0 oder 1 zugeordnet) 0 und 1 nennt man auch Schaltkonstanten Definitionen a) Schaltvariable: Variable die endlich viele Werte annehmen kann (binär) b) Binäre Schaltfunktion: Boolesche Funktion im Schaltzusammenhang c) Schaltung: technische Realisierung einer binären Schaltfunktion d) Schaltkonstante 0: ständig offene Schaltung. 0. e) Schaltkonstante 1: ständig geschlossene Schaltung._1. Verknüpfungen Konjunktion (Boolesches Produkt): Reihenschaltung Disjunkktion (Boolesche Summe): Paralellschaltung Komplement (Boolesches Komplement): Ruhekontaktschaltung Verknüpfungbasis Eine Menge V für eine Funktionsmenge F ist eine Verknüpfungsbasis, wenn sich jede Funktion allein durch Verknüpfungen aus V darstellen lässt V = {,, } ist Verknüpfungsbasis per Definition. {, } und {, } sind auch Verknüpfungsbasen (reichen aus) {NOR}={ } und {NAND} = { } sind auch Verknüpfungsbasen è Es ist eine Verknüpfung ausreichend für Darstellung aller binären Schaltfunktionen, man braucht also nur noch einen Baustein (NOR oder NAND)

24 Grundlegende Schaltungen Schaltgattern: Schaltung zur Realisierung schaltalgebraischer Verknüpfungen Elementare Gatter Weitere Gatter Mehrstellige Gatter Schaltnetze: Technische Realisierung einer Abbildung f: B n B m, (a 1,...,a n ) f(a)=(f 1 (a),..,f m (a)) n Eingaben / Eingänge: a= f(a)=(f 1 (a),..,f m m Ausgaben /Ausgänge: f(a)=(f 1 (a),..,f m ) f: Zusammenfassung von m Schaltfunktionen Beispiele für Schaltnetze alle elementaren Schaltgatter Halbaddierer (berechnet Summe von 2 Dualziffern und gibt einen Übertrag) Volladdierer (berechnet Summe von 2 Dualziffern unter Berücksichtigung eines Übertrag aus vorheriger Stelle) Ripple Carry Addierer Addiernetz aus Halb und Volladdierern zu einem Addierer mit durchlaufendem Übertrag. Es werden 2 nstellige Binärzahlen addiert Schaltzeit O(n) linear in Wortlänge

25 (Halbaddierer liefert ersten Übertrag, im nächsten Volladdierer wird ü dazugezählt) Ungetakteter Ripple Carry Addierer Da jeder Volladdierer auf den Übertrag der vorherigen Operation warten muss (sequentiell), dauert die Berechnung länger (linear zu n). Man führt eine Zwischentaktung ein, in der in jedem Takt eine neue Addition ausführen kann è Pipelining o Erhöhng des Berechnungsdurchsatzes o Zeitgewinn bei Massenbetrieb gleichartiger Berechnungen Schaltwerke Bei Schaltnetzen: Ausgabe hängt nur von der Eingabe ab (kein Gedächtnis) Bei Schaltwerken: Ausgabe hängt von (endlich) vorausgegangenen Eingaben ab Gedächtnis vorhanden in Form innerer Zustande è endlicher Automat, durch Rückkoppelung Sequentielles Schaltverhalten Definition: Ein Schaltwerk ist die technischer Realisierung zweier Abbildungen: (a,z)=>f(a,z) und (a,z)=>g(a,z) mit a: Eingaben / Schaltzustände an Eingängen von f z: inner Zustände f(a,z,) : Ausgaben / Schaltzustände an Ausgängen von F g(a,z) Rückkoppelung / neue innere Zustände Grundeinheiten eines Schaltwerks Schaltnetz Verzögerungsglieder τ (Zur Rückführung innerer Zustände, Verzögerung um τ)

26 Zustand eines Schaltwerks Stabil: g(a,z) = z (Rückführung ohne Verzögerungsglieder möglich) o Eingabe a=1 (immer), f(a,z)=1 (immer) Instabil: g(a,z) z (Es ändert sich immer was am Endzustand è Blinkende Lampe) o Eingabe a=1 (immer), f(a,z) = è Zeitlicher Signalverlauf abhängig von: Verzögerungsglied, Laufzeit der Signale, Wechsel von 0 auf 1 nicht schlagartig möglich Synchrone / getaktete Schaltwerke Man betrachtet nur diskrete Taktzeitpunkte t*τ Zeitspanne Taktzeit τ (maximale Dauer zur Stabilisierung eines Zustands) Schaltzeit: Zeit bis das Schaltnetz aus Eingabe a Wert f(a) bestimmt Zustandsänderungen erfolgt nur während der Taktzeiten beim Takt(Signal) è Erst bei jedem neuen Takt erscheint z(t)= g(a(t1),z(t1)) am Ausgang des Verzögerungsgliedes (Verzögerungsglied wie eine Schleuse, immer nur ein Zugang geöffnet) Schaltwerke zur Speicherung: Flipflops und Register Flip Flop: Schaltwerk mit folgenden Eigenschaften: Speicherung: mindestens 2 stabile Zustände (0 / 1) Einschreiben in den Speicher (neuer Zustand 0 oder 1) Auslesen aus dem Speicher (Inhalt in negierter oder nichtnegierter Form ausgeben) è stabiler Zustand wechselt durch Anstoß in anderen stabilen zustand (Flip => Flop => Flip => Flop => Flip => Flop => Flip...)

27 Das asynchrone RSFlipflop 2 Eingänge RS: Rücksetzen (reset) und setzen (set) Durch s=1 und r =0 wird am Ausgang eine 1 erzeugt Durch s=0 und r=1 wird stabil am Ausgang eine 0 erzeugt Bei r=s=0 verharrt Flip Flop in vorherigen Zustand R=S=1 ist unzulässig Das synchrone RSFlipflop Hinzunahme eines Takts t: Nur wenn gerade t=1 können s und r weitergegeben werden Information kann zu einem frei bestimmbaren Zeitpunkt in den Speicher überführt werden Das synchrone JKFlipflop Modifizierter RS Flipflop, der Eingangswerte 1 und 1 haben darf man hat Eingänge j und k, die nur weitergeben werden wenn t=1 ist an beiden Ausgängen der UndGatter kann keine 1 erscheinen Das RSMasterSlaveFlipflop (MSFlipflop) 2 synchrone RS Flipflops mit gleichem t o VF: Vorspeicher Flipflop (Master) o HF: Hauptspeicher Flipflop (Slave) 2 Eingänge: Dateneingang und Takteingang è t=0: HF Eingang gesperrt VF speichert Wert von d è t=1 : VF Eingang gesperrt HF übernimmt Zustand von VF

28 Register Folge von n Flipflops mit gleicher Taktleitung mit Operationen: einzelne / aller Flipflops auf 0 oder 1 setzen invertieren durch: o Paralell: gleichzeitiges Ansprechen der Flipflops o Seriell: Verwendung von Schiebeoperationen schieben (shift) o Rechtsshift: q i =q i1 (bei q 1 =q n, zyklischer Rechtsshift) o Linksshift: q i =q i+1 (bei q n =q 1, zyklischer Linksshift) (Schieberegister) Schaltwerke für die Arithmetik Zähler: Ein Schaltwerk das einmaliger Eingabe 1 über die Setzleitung genau 1 mal die Ausgabe 1 generiert nach q mal 1, wieder Ausgabe 0 bis die nächste 1 als Eingabe erfolgt Realisierung durch q Flip Flops Schaltwerke für serielle Binäraddition Addition von 2 qstelligen Binärzahlen Über MS FlipFlops Wird die Binärzahl taktweise nach vorne geschoben und dort die Ziffern einem Volladdierer übergeben (mit Übertrag aus vorheriger Rechnung) Aspekte der Physikalischen Realisierung Halbleiter: Stoff mit elektrischer Leitfähigkeit zwischen der von Metallen und der von Isolatoren

29 Dotierte Halbleiter: dotierte Zusätze bestimmter chemischer Elemente, die eine Veränderung der Leitfähigkeit von Halbleitern bewirken Von n nach p sperrend Von p nach n durchlässig Halbleitertransistor nmos Transistor Unterschreitet die Schwellspannung U t die Spannung zwischen U GS zwischen Gate und Source, wird ein nkanal induziert è Strom fließt Der nmos Transistor fungiert als Schalter: Liegt am Gate eine 0: Transistor sperrt Liegt am Gate eine 1: Transistor leitend pmos Transistor Analog zum nmos Transistor nur umgekehrt. P dotiert in einer nwanne. PMOS Transistor verhält sich komplementär zum nmos Transistor Der nmos Transistor fungiert als Schalter: Liegt am Gate eine 1: Transistor sperrt Liegt am Gate eine 0: Transistor leitend NMOSTechnologie: Nur Verwendung von nmos Transistoren CMOSTechnologie: gemeinsame Verwendung von nmos und pmos in komplementärer Form (heutige Standard Technologie)

30 Schaltgatter Drain of Drains (VDD): Überträgt eine 1 Ground (GND): Überträgt eine 0 Inverter NAND NOR TransferGatter Verzögerungsglied Für ϕ=1 wird der Wert von a nach b übertragen Man kann damit Schieber Register realisieren Schaltkreisentwurf Full Custom: Entwickler zeichnen alles selber, daraus werden Masken für Fertigung generiert Semi Custom: Entwickler verwenden Standardzellen für elementare Gatter, Layout wird dann automatisch erzeugt Entwurfsregeln: Minimale Leiterbahnbreiten Minimale Abstände zwischen Leiterbahnen Minimale Größe von Transistoren, Kontakte, Vorgehensweise beim Hardware Entwurf Hardware Bausteine benötigt zur Berechnung von Funktionen Transformation von Signalfolgen Steuerung technischer Geräte Realisierung von Prozessoren...

31 Codierung Problem der Darstellung Alle Datentypen (Texte, Zahlen, Objekte) der realen Welt müssen in computerverständliche Form gebracht werden (und umgekehrt) Alle Objekte werden als endliche Folgen über B ={0,1} dargestellt (Bits) Codierungsprobleme auf anderen Gebieten: Bildsignalübertragung, Geheimhaltung, Übersetzung... Code und Codierung Seien A und B Alphabete: Codierung: die Abbildung c: A B* Code: der Bildbereich c(a) = { c(a) a A} Codewort: jedes Element b c(a) Bsp: Zählcodierung Spezielle Klassen von Codierung Chiffrierung: c: A B* (Substitution eines Zeichens) Blockcodierung: c: A B n (Zeichen wird durch Wort ersetzt) Binärcodierung: c: A B* NBit Codierung: c: A B! Wann ist eine Codierung umkehrbar? Wenn die Abbildung injektiv ist (x1 x1 f x1 f x2 ) Dann existiert eine Umkehrabbildung (auch Decodierung) Fano Bedingung muss erfüllt sein: kein Codewort darf Anfang eines anderen Codewortes sein Fehlererkennung und korrektur Kriterium für die Güte einer Codierung ist die Möglichkeit zur Fehlerbehandlung. Fehler bei der Codierung sollten erkennbar und korrigierbar sein. Hammingabstand: zwischen x und y: Anzahl der Stellen in denen sich x und y unterscheiden Hammingzahl h c : Minimaler Abstand zwischen verschiedenen Codewörtern

32 Wann ist ein Fehler erkennbar? Wenn durch ihn kein anderes Codewort entstehen kann. (zum Beispiel wenn Hammingabstand kleiner als Hammingzahl wäre) Eine n Bit Codierung heißt kfehlererkennbar, wenn durch Verfälschungen von bis zu k Fehler kein anderes Codewort entstehen kann Wann ist ein Fehler korrigierbar? Wenn ein Fehler nur durch genau ein Codewort entstanden sein kann eine n Bit Codierung heißt kfehlerkorrigierbar, wenn aus einem durch Verfälschung bis zu k Stellen eines Codeworts das richtige Codewort ermittelt werden kann Folgerung: Jeder Kreis enthält Wörter mit max k Fehler aus dem Codewort in der Mitte (Radius k) è Es muss echt weniger Fehler als die (halbe) Hammingzahl h c Verfahren zur Codesicherung a) Anhängen eines Prüfbits (Parity Bits), Anzahl der 1 in jedem Code einheitlich (un)gerade ist b) Anhängen mehrerer Prüfbits, jedes Prüfbit sichert (un)gerade Paritität bestimmter Stellen des Codeworts c) Kontrollziffern bei dezimaler Codierung Häufigkeitsabhängige Codierung Man berücksichtigt die Häufigkeit der Verwendung von Zeiche. Man verkürzt Nachrichten indem häufige Zeichen kurze Codewörter und seltene lange bekommen. è Häufigkeitsverteilung muss bekannt sein Definition: Seien A und B Zeichenvorräte mit p: A [0,1], eine Wahrscheinlichkeitsfunktion c: A B*, eine injektive Codierung, welche die Fano Bedingung erfüllt Codelänge von c : L!,! c =!! p a c a (Länge der Codewörter mal ihre Wahrscheinlichkeiten) c heißt optimal, wenn die Codelänge minimal ist

33 Huffman Codierung 1. Man legt für jedes Zeichen einen Knoten beschriftet mit der Wahrscheinlichkeit des jeweiligen Knotens (der größer nach sortieren ist besser) 2. Die beiden Knoten mit der niedrigsten Wahrscheinlichkeit werden zusammengelegt und ihre Wahrscheinlichkeiten addiert 3. Man führt solange die Knoten mit niedrigster Wahrscheinlichkeit zusammen bis sich eine Wurzel ergibt 4. Die Kanten mit 0 links und 1 rechts beschriften, jedes Blatt bekommt als Codewort die Folge den Pfad der Kantenbeschriftung è Die Huffman Codierung ist nicht eindeutig, aber stets minimal Darstellung von Zeichen und Ziffern Kriterien für geeignete Codierungen: Einfache technische Realisierung und billig Schnelle Codierung und Decodierung Schnell / einfache zu realisierende Operationen auf codierten Wörtern Darstellung fester Zeichensätze Darzustellen sind Schriftzeichen (Buchstaben, Ziffer, Sonderzeichen...) und Steuerzeichen meistens mit nbitcodes è n abhängig von Zeichenvorratsgröße: Zeichenvorrat 2 n Gebräuchliche nbitcodes 1. ASCII: 7 Bit Code (+ Prüfbit) mit 128 Zeichen, 8Bit ASCII 256 Zeichen 2. EBCDIC: 8 Bit Code, erweiteter BCD (Binary Coded Decimal) Code 3. Unicode: einheitliche Codierung für alle Zeichensätze der Welt, 16 Bit pro Zeichen (ASCII ist eingebettet) Darstellung von Ziffern Ziffern kann man mit ASCII oder EBCDIC darstellen, jedoch Redundanz (4 Bit statt 8 Bit würden ausreichen für 10 Ziffern) Arithmetische Operationen auf codierten Wörtern nicht unterstützt

34 Wichtige Blockcodierungen für Ziffern: BCDCodierung: Dualdarstellung jeder Ziffer in 4 Bits mit Stellenwertigkeit (8421) Leicht decodierbar Einfach Umwandlung binär ó dezimal Exzess 3 Codierung: Dualdarstellung in 4 Bits mit BCD3, (Die 3 in BCD ist 0 in Exczess 3) Symmetrisch Keine Stellenwertigkeiten 0000 und 1111 keine gültigen Ziffern AikenCodierung Darstellungen in 4 Bits o Normale BCD Dualdarstellung für d {0,1,2,3,4} o BCD Dualdarstellung + 6 für d {5,6,7,8,9} Symmetrisch Stellenwertigkeit (2421) leicht decodierbar 2 aus 5 Codierung 5 Bit Codierung è es ist redundant 2 der 5 Bits sind auf 1 die anderen auf 0 1 Fehler erkennbar Stellenwertigkeit (74210) außer für 0 Ungünstig für Arithmetik Darstellung von Zahlen Kriterien für eine Zahlencodierung I. Einfache technische Realisierung II. Leichte Konvertierbarkeit in / aus Dezimalsystem III. Einfache Arithmetik ( hoher Rechengeschwindigkeit /geringer Schaltaufwand ) Verschiedene Möglichkeiten Dualsystem oder anderes 2 k System (erfüllt (ii) und (i) ) Dezimalsystem (erfüllt nur (i)) Binärdezimale Codierung (erfüllt alle 3 Punkte)

35 Natürliche Zahlen können mit n Bits als Dualdarstellung dargestellt werden Arithmetische Operationen wie für Dezimalzahlen Ganze Zahlen man braucht einen Zahlenbereich mit negativen Zahlen Es soll symmetrisch zum Nullpunkt (ca so viele negative wie positive Zahlen) Arithmetische Operationen sollen leicht zu realisieren sein Mehrere Möglichkeiten zur Realisation Vorzeichen Betrag Darstellung (1. Bit hat Wertigkeit 1) Exzessq Darstellung (x x+q, man schiebt alle Codewörter um q nach rechts), besonders gut wenn man Werte vergleichen will KomplementDarstellung (1er bzw. 2er Komplement Darstellung) 2KomplementDarstellung Erstes Bit hat negatives Vorzeichen mit Wertigkeit 2 n Positive Zahlen: 1. Bit auf 0, Rest ist normale Dualzahl Negative Zahlen: 1. Bit auf 1, Rest wird dazu addiert 1 negative Zahl mehr als Positive (nicht ganz symetrisch) Atihtmetik der 2 Komplement Darstellung Addition von n: n Schritte im Zahlenring gegen den Uhrzeigersinn Subtraktion von n: Addition mit dem Komplement von n Negation: Komplementbildung durch Kippen aller Bits und Addition von 1 Bereichsüberschreitung: Wenn sich Vorzeichen einer Summe von den Summanden unterscheidet 1KomplementDarstellung Wie 2 Komplement nur dass alle negative Zahlen um 1 nach rechts verschoben Erstes Bit wieder negatives Vorzeichen aber mit Wertigkeit 2 n 1 Positive und negative Zahlen ansonsten dargestellt wie in 2Komplement Komplementdarstellung durch kippen aller Bits Doppelbelegung der 0 = 0000 = 1111 (dafür symmetrisch) Arithmetik der 1 Komplement Darstellung Addition: Analog zu 2 Komplement Subtraktion: Addition des Komplements Negation: Komplementbildung, Kippen aller Bits Bereichsüberschreitung: analog zu 2 Komplement

36 Reelle Zahlen Festpunktdarstellung Darstellung als nbitworte Darstellung von (nm) Vorkommastellen und m Nachkommastellen der Dualzahlen einer Zahl Sowohl für Positive als auch Negative Zahlen è Nicht geeignet um reele Zahlen approximativ Darzustellen und damit zu operieren Gleitpunktdarstellung Darstellungen als Gleitpunktzahlen mit der Form GPZ = m*b i Mantisse m, Basis B, Exponent i Normierte Gleitpunktzahlen (ngpz) falls 1< m <B (Wenn Basis 2 ist muss Mantisse kleiner als 2 sein, z.b. 1,9) Arithmetik normierter Gleitpunktzahlen Vergleich: Erst Exponenten vergleichen, dann Mantissen vergleichen ( Addition: x1 + x2 = m! B!! + m! B!!!!! B!! = m! + m! B!!!!! B!! = m B! Exponentenangleich è Addition der Mantissen è eventuell Normierung Subraktion: analog zu Addition Multiplikation: x1 x2 = m! m! B!!!!! è generelles Problem: Rundungsfehler bei Darstellung mit nbits Dualdarstellung normierter Gleitpunktzahlen Normierte Gleitpunktdarstellung zu Basis 2 in nbit Worten, da jedes x eine Darstellung der Form x = m 2! mit 1 m < 2 è es reicht das Paar (m,e) zu codieren V: Vorzeichen der Mantisse Charakteristik c: Excess q Darstellung des Exponenten e mit q =2 nk1 1è e = cq Mantisse m: Wegen Normierung wird höchstsignifikante 1 nicht gespeichert è dargestellte Zahl x = (1) v * (1+m )*2 cq Beispiel

37 Gleitpunktdarstellung nach IEEE Standard Einfache Genauigkeit (float): 8 Bit Charakteristik, 23+1 Bit Mantisse Doppelte Genauigkeit (double): 11 Bit Charakteristik, 52+1 Bit Mantisse Vierfache Genauigkeit (quadruple): 15 Bit Charakteristik, Bit Mantisse Sonderfälle: Darstellung der Null: c=0 und m =0 Darstellung Unendlich: c maximal und m =0 Darstellung Not a number : c maximal und m!= 0 Denormalisierte Zahlen: für c=0 wird auf führende 1 verzichtet Ausnahmefälle der Arithmetik Überlauf des Exponenten: bei Multiplikation sehr großer Zahlen Unterlauf des Exponenten: bei Multiplikation sehr kleiner Zahlen Große Rundungsfehler: durch Exponentenangleich bei Addition sehr unterschiedlich großer Zahlen oder Subtraktion gleich großer Zahlen Codierung zur Geheimhaltung Motivation zur Geheimhaltung Aufgrund vertrauliche Informationen bei elektronische Kommunikation (Online Banking / ECommerce) gewährleistet werden: Vertraulichkeit: Schutz vor Spionage, unberechtigten Zugriffen Integrität: Gültigkeit von Informationen, Schutz vor Sabotage Authentifizierung: Prüfung der Identität des Autors / Absenders (Maskerade) Annahmen Sender, Empfänger kennen Chiffrieralgorithmus Sender und Empfänger verwenden gleichen Schlüsselparameter Angreifer kennt nicht Schlüsselparameter Anforderungen einfache Ver und Entschlüsselung Aufwand für Knacken des Codes sollte größer als die chiffrierte Nachricht sein Kryptologie: Systeme für geheime Kommunikation Kryptographie: Entwicklung von Systemen für geheime Kommunikation Kryptanalyse: Methoden für Entschlüsselung und Verschlüsselung von Nachrichten Klartext: der zu verschlüsselnde Text Geheimtext: Ergebnis der Verschlüsselung (Chiffretext)

38 Einfache Methoden Cäsar Chiffre: Verschiebung des Alphabets um k Positionen (Schlüssel leicht zu erraten) Tabellen Chiffre: Zeichen werden einfach durch andere substituiert (Schlüssel durch Häufigkeitsanalyse ermittelbar) VigenereChiffre: mehr als nur eine Tabelle wird verwendet (ABC: jedes 1. Wort um 1 verschoben, das 2. um 2, das 3. um 3 Stellen verschoben) è Verbesserungen: unterschiedliche Tabellen, lange Schlüssel (so lang wie Klartext), Schlüssel muss geheim bleiben Rechnerarchitektur und organisation Von Neumann Rechner Referenzmodell für Computer, wonach ein gemeinsamer Speicher sowohl Computerprogrammbefehle als auch Daten enthält. Bestandteile: a) Speicherwerk: Speicherung von Programmen und Daten b) Rechenwerk: Ausführung arithmetische und logischer Operationen c) Steuerwerk: Steuerung des Programmablaufs d) Eingabe / Ausgabewerk: Eingabe von Daten / Programme in den Speicher, Ausgabe von Ergebnisse aus dem Speicher Struktur Für jedes Problem wird ein Programm im Speicher abgelegt und ausgeführt Programme und Daten sind im selben Speicher, der sich in o Register und Speicherzelle unterteilt o Mittels Adressen direkter Zugriff auf Speicherzellen Aufeinanderfolgende Befehle in aufeinanderfolgenden Speicherzellen Programme und Daten sind binär codiert è Struktur des Rechners unabhängig vom zu lösenden Problem Funktionseinheiten heutiger Neumann Rechner Arbeitsspeicher (mit Speicherhierachie) Rechenwerk (mehrere) Steuereinheit (mehrere) Ein / Ausgabewerk Interne Datenwege (Busse) für Informationsaustausch, in der Regel Zentraler Bus

Programmiersprachen und Übersetzer

Programmiersprachen und Übersetzer Programmiersprachen und Übersetzer Sommersemester 2010 19. April 2010 Theoretische Grundlagen Problem Wie kann man eine unendliche Menge von (syntaktisch) korrekten Programmen definieren? Lösung Wie auch

Mehr

Grundlagen der Informatik II. Teil I: Formale Modelle der Informatik

Grundlagen der Informatik II. Teil I: Formale Modelle der Informatik Grundlagen der Informatik II Teil I: Formale Modelle der Informatik 1 Einführung GdInfoII 1-2 Ziele/Fragestellungen der Theoretischen Informatik 1. Einführung abstrakter Modelle für informationsverarbeitende

Mehr

Wortproblem für kontextfreie Grammatiken

Wortproblem für kontextfreie Grammatiken Wortproblem für kontextfreie Grammatiken G kontextfreie Grammatik. w Σ w L(G)? Wortproblem ist primitiv rekursiv entscheidbar. (schlechte obere Schranke!) Kellerautomat der L(G) akzeptiert Ist dieser effizient?

Mehr

Theoretische Grundlagen der Informatik

Theoretische Grundlagen der Informatik Theoretische Grundlagen der Informatik Vorlesung am 12.01.2012 INSTITUT FÜR THEORETISCHE 0 KIT 12.01.2012 Universität des Dorothea Landes Baden-Württemberg Wagner - Theoretische und Grundlagen der Informatik

Mehr

Vertiefungsstoff zum Thema Darstellung von Zahlen

Vertiefungsstoff zum Thema Darstellung von Zahlen Vertiefungsstoff zum Thema Darstellung von Zahlen Addition von Zahlen in BCD-Kodierung Einerkomplementdarstellung von ganzen Zahlen Gleitpunktdarstellung nach dem IEEE-754-Standard 1 Rechnen mit BCD-codierten

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Einheit 15: Reguläre Ausdrücke und rechtslineare Grammatiken Thomas Worsch Universität Karlsruhe, Fakultät für Informatik Wintersemester 2008/2009 1/25 Was kann man mit endlichen

Mehr

Motivation. Formale Grundlagen der Informatik 1 Kapitel 5 Kontextfreie Sprachen. Informales Beispiel. Informales Beispiel.

Motivation. Formale Grundlagen der Informatik 1 Kapitel 5 Kontextfreie Sprachen. Informales Beispiel. Informales Beispiel. Kontextfreie Kontextfreie Motivation Formale rundlagen der Informatik 1 Kapitel 5 Kontextfreie Sprachen Bisher hatten wir Automaten, die Wörter akzeptieren Frank Heitmann heitmann@informatik.uni-hamburg.de

Mehr

Einführung. Vorlesungen zur Komplexitätstheorie: Reduktion und Vollständigkeit (3) Vorlesungen zur Komplexitätstheorie. K-Vollständigkeit (1/5)

Einführung. Vorlesungen zur Komplexitätstheorie: Reduktion und Vollständigkeit (3) Vorlesungen zur Komplexitätstheorie. K-Vollständigkeit (1/5) Einführung 3 Vorlesungen zur Komplexitätstheorie: Reduktion und Vollständigkeit (3) Univ.-Prof. Dr. Christoph Meinel Hasso-Plattner-Institut Universität Potsdam, Deutschland Hatten den Reduktionsbegriff

Mehr

Theoretische Informatik I

Theoretische Informatik I Theoretische Informatik I Einheit 2.4 Grammatiken 1. Arbeitsweise 2. Klassifizierung 3. Beziehung zu Automaten Beschreibungsformen für Sprachen Mathematische Mengennotation Prädikate beschreiben Eigenschaften

Mehr

Deterministische Turing-Maschinen (DTM) F3 03/04 p.46/395

Deterministische Turing-Maschinen (DTM) F3 03/04 p.46/395 Deterministische Turing-Maschinen (DTM) F3 03/04 p.46/395 Turing-Machine Wir suchen ein Modell zur formalen Definition der Berechenbarkeit von Funktionen und deren Zeit- und Platzbedarf. Verschiedene Modelle

Mehr

4.9 Deterministische Kellerautomaten Wir haben bereits definiert: Ein PDA heißt deterministisch (DPDA), falls

4.9 Deterministische Kellerautomaten Wir haben bereits definiert: Ein PDA heißt deterministisch (DPDA), falls 4.9 Deterministische Kellerautomaten Wir haben bereits definiert: Ein PDA heißt deterministisch (DPDA), falls δ(q, a, Z) + δ(q, ɛ, Z) 1 (q, a, Z) Q Σ. Die von einem DPDA, der mit leerem Keller akzeptiert,

Mehr

Theoretische Informatik SS 04 Übung 1

Theoretische Informatik SS 04 Übung 1 Theoretische Informatik SS 04 Übung 1 Aufgabe 1 Es gibt verschiedene Möglichkeiten, eine natürliche Zahl n zu codieren. In der unären Codierung hat man nur ein Alphabet mit einem Zeichen - sagen wir die

Mehr

Theorie der Informatik

Theorie der Informatik Theorie der Informatik 6. Formale Sprachen und Grammatiken Malte Helmert Gabriele Röger Universität Basel 17. März 2014 Einführung Beispiel: Aussagenlogische Formeln Aus dem Logikteil: Definition (Syntax

Mehr

Kapitel 4 Schaltungen mit Delays (Schaltwerke) Literatur: Oberschelp/Vossen, Kapitel 4. Kapitel 4: Schaltungen mit Delays Seite 1

Kapitel 4 Schaltungen mit Delays (Schaltwerke) Literatur: Oberschelp/Vossen, Kapitel 4. Kapitel 4: Schaltungen mit Delays Seite 1 Kapitel 4 Schaltungen mit Delays (Schaltwerke) Literatur: Oberschelp/Vossen, Kapitel 4 Kapitel 4: Schaltungen mit Delays Seite 1 Schaltungen mit Delays Inhaltsverzeichnis 4.1 Einführung 4.2 Addierwerke

Mehr

Primzahlen und RSA-Verschlüsselung

Primzahlen und RSA-Verschlüsselung Primzahlen und RSA-Verschlüsselung Michael Fütterer und Jonathan Zachhuber 1 Einiges zu Primzahlen Ein paar Definitionen: Wir bezeichnen mit Z die Menge der positiven und negativen ganzen Zahlen, also

Mehr

Ein polyadisches Zahlensystem mit der Basis B ist ein Zahlensystem, in dem eine Zahl x nach Potenzen von B zerlegt wird.

Ein polyadisches Zahlensystem mit der Basis B ist ein Zahlensystem, in dem eine Zahl x nach Potenzen von B zerlegt wird. Zahlensysteme Definition: Ein polyadisches Zahlensystem mit der Basis B ist ein Zahlensystem, in dem eine Zahl x nach Potenzen von B zerlegt wird. In der Informatik spricht man auch von Stellenwertsystem,

Mehr

N Bit binäre Zahlen (signed)

N Bit binäre Zahlen (signed) N Bit binäre Zahlen (signed) n Bit Darstellung ist ein Fenster auf die ersten n Stellen der Binär Zahl 0000000000000000000000000000000000000000000000000110 = 6 1111111111111111111111111111111111111111111111111101

Mehr

Aufbau und Funktionsweise eines Computers - II

Aufbau und Funktionsweise eines Computers - II Aufbau und Funktionsweise eines Computers - II Schaltwerke Schaltwerke Bei Schaltnetzen: Ausgabe hängt nur von der aktuellen Eingabe ab. Bei Schaltwerken: Ausgabe hängt zusätzlich von endlich vielen vorausgegangenen

Mehr

Formale Grundlagen der Informatik 1 Kapitel 12 Zusammenfassung

Formale Grundlagen der Informatik 1 Kapitel 12 Zusammenfassung Formale Grundlagen der Informatik 1 Kapitel 12 Zusammenfassung Frank Heitmann heitmann@informatik.uni-hamburg.de 13. Mai 2014 Frank Heitmann heitmann@informatik.uni-hamburg.de 1/17 Überblick Wir hatten

Mehr

Technische Informatik - Eine Einführung

Technische Informatik - Eine Einführung Martin-Luther-Universität Halle-Wittenberg Fachbereich Mathematik und Informatik Lehrstuhl für Technische Informatik Prof. P. Molitor Ausgabe: 2005-02-21 Abgabe: 2005-02-21 Technische Informatik - Eine

Mehr

t r Lineare Codierung von Binärbbäumen (Wörter über dem Alphabet {, }) Beispiel code( ) = code(, t l, t r ) = code(t l ) code(t r )

t r Lineare Codierung von Binärbbäumen (Wörter über dem Alphabet {, }) Beispiel code( ) = code(, t l, t r ) = code(t l ) code(t r ) Definition B : Menge der binären Bäume, rekursiv definiert durch die Regeln: ist ein binärer Baum sind t l, t r binäre Bäume, so ist auch t =, t l, t r ein binärer Baum nur das, was durch die beiden vorigen

Mehr

Die Komplexitätsklassen P und NP

Die Komplexitätsklassen P und NP Die Komplexitätsklassen P und NP Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen 3. Dezember 2009 Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit und

Mehr

Theoretische Informatik 2 (WS 2006/07) Automatentheorie und Formale Sprachen 19

Theoretische Informatik 2 (WS 2006/07) Automatentheorie und Formale Sprachen 19 Inhalt 1 inführung 2 Automatentheorie und ormale prachen Grammatiken Reguläre prachen und endliche Automaten Kontextfreie prachen und Kellerautomaten Kontextsensitive und yp 0-prachen 3 Berechenbarkeitstheorie

Mehr

Grammatiken. Einführung

Grammatiken. Einführung Einführung Beispiel: Die arithmetischen Ausdrücke über der Variablen a und den Operationen + und können wie folgt definiert werden: a, a + a und a a sind arithmetische Ausdrücke Wenn A und B arithmetische

Mehr

Daten verarbeiten. Binärzahlen

Daten verarbeiten. Binärzahlen Daten verarbeiten Binärzahlen In Digitalrechnern werden (fast) ausschließlich nur Binärzahlen eingesetzt. Das Binärzahlensystem ist das Stellenwertsystem mit der geringsten Anzahl von Ziffern. Es kennt

Mehr

Eine Logikschaltung zur Addition zweier Zahlen

Eine Logikschaltung zur Addition zweier Zahlen Eine Logikschaltung zur Addition zweier Zahlen Grundlegender Ansatz für die Umsetzung arithmetischer Operationen als elektronische Schaltung ist die Darstellung von Zahlen im Binärsystem. Eine Logikschaltung

Mehr

Binärdarstellung von Fliesskommazahlen

Binärdarstellung von Fliesskommazahlen Binärdarstellung von Fliesskommazahlen 1. IEEE 754 Gleitkommazahl im Single-Format So sind in Gleitkommazahlen im IEEE 754-Standard aufgebaut: 31 30 24 23 0 S E E E E E E E E M M M M M M M M M M M M M

Mehr

Vorlesung Theoretische Informatik

Vorlesung Theoretische Informatik Vorlesung Theoretische Informatik Automaten und Formale Sprachen Hochschule Reutlingen Fakultät für Informatik Masterstudiengang Wirtschaftsinformatik überarbeitet von F. Laux (Stand: 09.06.2010) Sommersemester

Mehr

Einführung in. Logische Schaltungen

Einführung in. Logische Schaltungen Einführung in Logische Schaltungen 1/7 Inhaltsverzeichnis 1. Einführung 1. Was sind logische Schaltungen 2. Grundlegende Elemente 3. Weitere Elemente 4. Beispiel einer logischen Schaltung 2. Notation von

Mehr

Komplexität und Komplexitätsklassen

Komplexität und Komplexitätsklassen Dr. Sebastian Bab WiSe 12/13 Theoretische Grundlagen der Informatik für TI Termin: VL 21 vom 21.01.2013 Komplexität und Komplexitätsklassen Die meisten Probleme mit denen wir zu tun haben sind entscheidbar.

Mehr

2 Darstellung von Zahlen und Zeichen

2 Darstellung von Zahlen und Zeichen 2.1 Analoge und digitale Darstellung von Werten 79 2 Darstellung von Zahlen und Zeichen Computer- bzw. Prozessorsysteme führen Transformationen durch, die Eingaben X auf Ausgaben Y abbilden, d.h. Y = f

Mehr

Mathematische Grundlagen der Informatik 2

Mathematische Grundlagen der Informatik 2 Zusammenfassung Math2I Mathematische Grundlagen der Informatik 2 Emanuel Duss emanuel.duss@gmail.com 12. April 2013 1 Zusammenfassung Math2I Mathematische Grundlagen der Informatik 2 Dieses Dokument basiert

Mehr

Frank Weinhold Professur VSR Fakultät für Informatik TU Chemnitz Mai 2011

Frank Weinhold Professur VSR Fakultät für Informatik TU Chemnitz Mai 2011 Rechnernetze Übung 5 Frank Weinhold Professur VSR Fakultät für Informatik TU Chemnitz Mai 2011 Ziel: Nachrichten fehlerfrei übertragen und ökonomisch (wenig Redundanz) übertragen Was ist der Hamming-Abstand?

Mehr

4. Jeder Knoten hat höchstens zwei Kinder, ein linkes und ein rechtes.

4. Jeder Knoten hat höchstens zwei Kinder, ein linkes und ein rechtes. Binäre Bäume Definition: Ein binärer Baum T besteht aus einer Menge von Knoten, die durch eine Vater-Kind-Beziehung wie folgt strukturiert ist: 1. Es gibt genau einen hervorgehobenen Knoten r T, die Wurzel

Mehr

Zeichen bei Zahlen entschlüsseln

Zeichen bei Zahlen entschlüsseln Zeichen bei Zahlen entschlüsseln In diesem Kapitel... Verwendung des Zahlenstrahls Absolut richtige Bestimmung von absoluten Werten Operationen bei Zahlen mit Vorzeichen: Addieren, Subtrahieren, Multiplizieren

Mehr

Formale Sprachen und Grammatiken

Formale Sprachen und Grammatiken Formale Sprachen und Grammatiken Jede Sprache besitzt die Aspekte Semantik (Bedeutung) und Syntax (formaler Aufbau). Die zulässige und korrekte Form der Wörter und Sätze einer Sprache wird durch die Syntax

Mehr

Daten, Informationen, Kodierung. Binärkodierung

Daten, Informationen, Kodierung. Binärkodierung Binärkodierung Besondere Bedeutung der Binärkodierung in der Informatik Abbildung auf Alphabet mit zwei Zeichen, in der Regel B = {0, 1} Entspricht den zwei möglichen Schaltzuständen in der Elektronik:

Mehr

Grundlagen der Theoretischen Informatik, SoSe 2008

Grundlagen der Theoretischen Informatik, SoSe 2008 1. Aufgabenblatt zur Vorlesung Grundlagen der Theoretischen Informatik, SoSe 2008 (Dr. Frank Hoffmann) Lösung von Manuel Jain und Benjamin Bortfeldt Aufgabe 2 Zustandsdiagramme (6 Punkte, wird korrigiert)

Mehr

Binäre Gleitkommazahlen

Binäre Gleitkommazahlen Binäre Gleitkommazahlen Was ist die wissenschaftliche, normalisierte Darstellung der binären Gleitkommazahl zur dezimalen Gleitkommazahl 0,625? Grundlagen der Rechnerarchitektur Logik und Arithmetik 72

Mehr

Einführung in die Algebra

Einführung in die Algebra Prof. Dr. H. Brenner Osnabrück SS 2009 Einführung in die Algebra Vorlesung 13 Einheiten Definition 13.1. Ein Element u in einem Ring R heißt Einheit, wenn es ein Element v R gibt mit uv = vu = 1. DasElementv

Mehr

Informatik IC2. Balazs Simon 2005.03.26.

Informatik IC2. Balazs Simon 2005.03.26. Informatik IC2 Balazs Simon 2005.03.26. Inhaltsverzeichnis 1 Reguläre Sprachen 3 1.1 Reguläre Sprachen und endliche Automaten...................... 3 1.2 Determinisieren.....................................

Mehr

183.580, WS2012 Übungsgruppen: Mo., 22.10.

183.580, WS2012 Übungsgruppen: Mo., 22.10. VU Grundlagen digitaler Systeme Übung 2: Numerik, Boolesche Algebra 183.580, WS2012 Übungsgruppen: Mo., 22.10. Aufgabe 1: Binäre Gleitpunkt-Arithmetik Addition & Subtraktion Gegeben sind die Zahlen: A

Mehr

Zusammenfassung. 1 Wir betrachten die folgende Signatur F = {+,,, 0, 1} sodass. 3 Wir betrachten die Gleichungen E. 4 Dann gilt E 1 + x 1

Zusammenfassung. 1 Wir betrachten die folgende Signatur F = {+,,, 0, 1} sodass. 3 Wir betrachten die Gleichungen E. 4 Dann gilt E 1 + x 1 Zusammenfassung Zusammenfassung der letzten LV Einführung in die Theoretische Informatik Woche 7 Harald Zankl Institut für Informatik @ UIBK Wintersemester 2014/2015 1 Wir betrachten die folgende Signatur

Mehr

2.11 Kontextfreie Grammatiken und Parsebäume

2.11 Kontextfreie Grammatiken und Parsebäume 2.11 Kontextfreie Grammatiken und Parsebäume Beispiel: Beispiel (Teil 3): Beweis für L(G) L: Alle Strings aus L der Länge 0 und 2 sind auch in L(G). Als Induktionsannahme gehen wir davon aus, dass alle

Mehr

Grundlagen Theoretischer Informatik I SoSe 2011 in Trier. Henning Fernau Universität Trier fernau@uni-trier.de

Grundlagen Theoretischer Informatik I SoSe 2011 in Trier. Henning Fernau Universität Trier fernau@uni-trier.de Grundlagen Theoretischer Informatik I SoSe 2011 in Trier Henning Fernau Universität Trier fernau@uni-trier.de 1 Grundlagen Theoretischer Informatik I Gesamtübersicht Organisatorisches; Einführung Logik

Mehr

Computerarithmetik ( )

Computerarithmetik ( ) Anhang A Computerarithmetik ( ) A.1 Zahlendarstellung im Rechner und Computerarithmetik Prinzipiell ist die Menge der im Computer darstellbaren Zahlen endlich. Wie groß diese Menge ist, hängt von der Rechnerarchitektur

Mehr

Brückenkurs Mathematik, THM Friedberg, 15 19.9.2014

Brückenkurs Mathematik, THM Friedberg, 15 19.9.2014 egelsammlung mb2014 THM Friedberg von 6 16.08.2014 15:04 Brückenkurs Mathematik, THM Friedberg, 15 19.9.2014 Sammlung von Rechenregeln, extrahiert aus dem Lehrbuch: Erhard Cramer, Johanna Neslehová: Vorkurs

Mehr

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren Lineargleichungssysteme: Additions-/ Subtraktionsverfahren W. Kippels 22. Februar 2014 Inhaltsverzeichnis 1 Einleitung 2 2 Lineargleichungssysteme zweiten Grades 2 3 Lineargleichungssysteme höheren als

Mehr

Einfache kryptographische Verfahren

Einfache kryptographische Verfahren Einfache kryptographische Verfahren Prof. Dr. Hagen Knaf Studiengang Angewandte Mathematik 26. April 2015 c = a b + a b + + a b 1 11 1 12 2 1n c = a b + a b + + a b 2 21 1 22 2 2n c = a b + a b + + a b

Mehr

Theoretische Informatik

Theoretische Informatik Theoretische Informatik - das Quiz zur Vorlesung Teil I - Grundzüge der Logik In der Logik geht es um... (A) die Formen korrekten Folgerns (B) die Unterscheidung von wahr und falsch (C) das Finden von

Mehr

Kapitel 2: Formale Sprachen Kontextfreie Sprachen. reguläre Grammatiken/Sprachen. kontextfreie Grammatiken/Sprachen

Kapitel 2: Formale Sprachen Kontextfreie Sprachen. reguläre Grammatiken/Sprachen. kontextfreie Grammatiken/Sprachen reguläre Grammatiken/prachen Beschreibung für Bezeichner in Programmiersprachen Beschreibung für wild cards in kriptsprachen (/* reguläre Ausdrücke */)?; [a-z]; * kontextfreie Grammatiken/prachen Beschreibung

Mehr

Schaltungen Jörg Roth 197

Schaltungen Jörg Roth 197 Schaltungen Jörg Roth 197 2.2.2 Flipflops Flipsflops sind einfache rückgekoppelte Schaltungen, die jeweils ein einzelnes Bit speichern können. Es gibt verschiedene Typen, die sich im "Komfort" der Ansteuerung

Mehr

Mathematische Maschinen

Mathematische Maschinen Mathematische Maschinen Ziel: Entwicklung eines allgemeinen Schemas zur Beschreibung von (mathematischen) Maschinen zur Ausführung von Algorithmen (hier: (partiellen) Berechnungsverfahren). Mathematische

Mehr

4. Woche Decodierung; Maximale, Perfekte und Optimale Codes. 4. Woche: Decodierung; Maximale, Perfekte und Optimale Codes 69/ 140

4. Woche Decodierung; Maximale, Perfekte und Optimale Codes. 4. Woche: Decodierung; Maximale, Perfekte und Optimale Codes 69/ 140 4 Woche Decodierung; Maximale, Perfekte und Optimale Codes 4 Woche: Decodierung; Maximale, Perfekte und Optimale Codes 69/ 140 Szenario für fehlerkorrigierende Codes Definition (n, M)-Code Sei C {0, 1}

Mehr

Teil II. Schaltfunktionen

Teil II. Schaltfunktionen Teil II Schaltfunktionen 1 Teil II.1 Zahlendarstellung 2 b-adische Systeme Sei b IN mit b > 1 und E b = {0, 1,..., b 1} (Alphabet). Dann ist jede Fixpunktzahl z (mit n Vorkomma und k Nachkommastellen)

Mehr

Formale Systeme. Binary Decision Diagrams. Prof. Dr. Bernhard Beckert WS 2010/2011 KIT INSTITUT FÜR THEORETISCHE INFORMATIK

Formale Systeme. Binary Decision Diagrams. Prof. Dr. Bernhard Beckert WS 2010/2011 KIT INSTITUT FÜR THEORETISCHE INFORMATIK Formale Systeme Prof. Dr. Bernhard Beckert WS / KIT INSTITUT FÜR THEORETISCHE INFORMATIK KIT University of the State of Baden-Württemberg and National Large-scale Research Center of the Helmholtz Association

Mehr

Übung Theoretische Grundlagen

Übung Theoretische Grundlagen Übung Theoretische Grundlagen Berechenbarkeit/Entscheidbarkeit Nico Döttling November 26, 2009 INSTITUT FÜR KRYPTOGRAPHIE UND SICHERHEIT KIT University of the State of Baden-Wuerttemberg and National Laboratory

Mehr

Informationssysteme Gleitkommazahlen nach dem IEEE-Standard 754. Berechnung von Gleitkommazahlen aus Dezimalzahlen. HSLU T&A Informatik HS10

Informationssysteme Gleitkommazahlen nach dem IEEE-Standard 754. Berechnung von Gleitkommazahlen aus Dezimalzahlen. HSLU T&A Informatik HS10 Informationssysteme Gleitkommazahlen nach dem IEEE-Standard 754 Berechnung von Gleitkommazahlen aus Dezimalzahlen Die wissenschaftliche Darstellung einer Zahl ist wie folgt definiert: n = f * 10 e. f ist

Mehr

10. Elektrische Logiksysteme mit

10. Elektrische Logiksysteme mit Fortgeschrittenenpraktikum I Universität Rostock - Physikalisches Institut 10. Elektrische Logiksysteme mit Rückführung Name: Daniel Schick Betreuer: Dipl. Ing. D. Bojarski Versuch ausgeführt: 22. Juni

Mehr

Zahlensysteme: Oktal- und Hexadezimalsystem

Zahlensysteme: Oktal- und Hexadezimalsystem 20 Brückenkurs Die gebräuchlichste Bitfolge umfasst 8 Bits, sie deckt also 2 8 =256 Möglichkeiten ab, und wird ein Byte genannt. Zwei Bytes, also 16 Bits, bilden ein Wort, und 4 Bytes, also 32 Bits, formen

Mehr

15 Optimales Kodieren

15 Optimales Kodieren 15 Optimales Kodieren Es soll ein optimaler Kodierer C(T ) entworfen werden, welcher eine Information (z.b. Text T ) mit möglichst geringer Bitanzahl eindeutig überträgt. Die Anforderungen an den optimalen

Mehr

1 Mathematische Grundlagen

1 Mathematische Grundlagen Mathematische Grundlagen - 1-1 Mathematische Grundlagen Der Begriff der Menge ist einer der grundlegenden Begriffe in der Mathematik. Mengen dienen dazu, Dinge oder Objekte zu einer Einheit zusammenzufassen.

Mehr

Informatik III - WS07/08

Informatik III - WS07/08 Informatik III - WS07/08 Kapitel 5 1 Informatik III - WS07/08 Prof. Dr. Dorothea Wagner dwagner@ira.uka.de Kapitel 5 : Grammatiken und die Chomsky-Hierarchie Informatik III - WS07/08 Kapitel 5 2 Definition

Mehr

Zusammenfassung. Satz. 1 Seien F, G Boolesche Ausdrücke (in den Variablen x 1,..., x n ) 2 Seien f : B n B, g : B n B ihre Booleschen Funktionen

Zusammenfassung. Satz. 1 Seien F, G Boolesche Ausdrücke (in den Variablen x 1,..., x n ) 2 Seien f : B n B, g : B n B ihre Booleschen Funktionen Zusammenfassung Zusammenfassung der letzten LV Einführung in die Theoretische Informatik Woche 6 Harald Zankl Institut für Informatik @ UIBK Wintersemester 2014/2015 Satz 1 Seien F, G Boolesche Ausdrücke

Mehr

Grundlagen der Informatik

Grundlagen der Informatik Mag. Christian Gürtler Programmierung Grundlagen der Informatik 2011 Inhaltsverzeichnis I. Allgemeines 3 1. Zahlensysteme 4 1.1. ganze Zahlen...................................... 4 1.1.1. Umrechnungen.................................

Mehr

Codierungstheorie Rudolf Scharlau, SoSe 2006 9

Codierungstheorie Rudolf Scharlau, SoSe 2006 9 Codierungstheorie Rudolf Scharlau, SoSe 2006 9 2 Optimale Codes Optimalität bezieht sich auf eine gegebene Quelle, d.h. eine Wahrscheinlichkeitsverteilung auf den Symbolen s 1,..., s q des Quellalphabets

Mehr

Die Gleichung A x = a hat für A 0 die eindeutig bestimmte Lösung. Für A=0 und a 0 existiert keine Lösung.

Die Gleichung A x = a hat für A 0 die eindeutig bestimmte Lösung. Für A=0 und a 0 existiert keine Lösung. Lineare Gleichungen mit einer Unbekannten Die Grundform der linearen Gleichung mit einer Unbekannten x lautet A x = a Dabei sind A, a reelle Zahlen. Die Gleichung lösen heißt, alle reellen Zahlen anzugeben,

Mehr

1. Das dekadische Ziffernsystem (Dezimalsystem) Eine ganze Zahl z kann man als Summe von Potenzen zur Basis 10 darstellen:

1. Das dekadische Ziffernsystem (Dezimalsystem) Eine ganze Zahl z kann man als Summe von Potenzen zur Basis 10 darstellen: Zahlensysteme. Das dekadische Ziffernsystem (Dezimalsystem) Eine ganze Zahl z kann man als Summe von Potenzen zur Basis darstellen: n n n n z a a... a a a Dabei sind die Koeffizienten a, a, a,... aus der

Mehr

Binär Codierte Dezimalzahlen (BCD-Code)

Binär Codierte Dezimalzahlen (BCD-Code) http://www.reiner-tolksdorf.de/tab/bcd_code.html Hier geht es zur Startseite der Homepage Binär Codierte Dezimalzahlen (BCD-) zum 8-4-2-1- zum Aiken- zum Exeß-3- zum Gray- zum 2-4-2-1- 57 zum 2-4-2-1-

Mehr

Theoretische Grundlagen der Informatik WS 09/10

Theoretische Grundlagen der Informatik WS 09/10 Theoretische Grundlagen der Informatik WS 09/10 - Tutorium 6 - Michael Kirsten und Kai Wallisch Sitzung 13 02.02.2010 Inhaltsverzeichnis 1 Formeln zur Berechnung Aufgabe 1 2 Hamming-Distanz Aufgabe 2 3

Mehr

BITte ein BIT. Vom Bit zum Binärsystem. A Bit Of Magic. 1. Welche Werte kann ein Bit annehmen? 2. Wie viele Zustände können Sie mit 2 Bit darstellen?

BITte ein BIT. Vom Bit zum Binärsystem. A Bit Of Magic. 1. Welche Werte kann ein Bit annehmen? 2. Wie viele Zustände können Sie mit 2 Bit darstellen? BITte ein BIT Vom Bit zum Binärsystem A Bit Of Magic 1. Welche Werte kann ein Bit annehmen? 2. Wie viele Zustände können Sie mit 2 Bit darstellen? 3. Gegeben ist der Bitstrom: 10010110 Was repräsentiert

Mehr

1. Woche Einführung in die Codierungstheorie, Definition Codes, Präfixcode, kompakte Codes

1. Woche Einführung in die Codierungstheorie, Definition Codes, Präfixcode, kompakte Codes 1 Woche Einführung in die Codierungstheorie, Definition Codes, Präfixcode, kompakte Codes 1 Woche: Einführung in die Codierungstheorie, Definition Codes, Präfixcode, kompakte Codes 5/ 44 Unser Modell Shannon

Mehr

2. Negative Dualzahlen darstellen

2. Negative Dualzahlen darstellen 2.1 Subtraktion von Dualzahlen 2.1.1 Direkte Subtraktion (Tafelrechnung) siehe ARCOR T0IF Nachteil dieser Methode: Diese Form der Subtraktion kann nur sehr schwer von einer Elektronik (CPU) durchgeführt

Mehr

RS-Flip Flop, D-Flip Flop, J-K-Flip Flop, Zählschaltungen

RS-Flip Flop, D-Flip Flop, J-K-Flip Flop, Zählschaltungen Elektronik Praktikum / Digitaler Teil Name: Jens Wiechula, Philipp Fischer Leitung: Prof. Dr. U. Lynen Protokoll: Philipp Fischer Versuch: 3 Datum: 24.06.01 RS-Flip Flop, D-Flip Flop, J-K-Flip Flop, Zählschaltungen

Mehr

WS 2009/10. Diskrete Strukturen

WS 2009/10. Diskrete Strukturen WS 2009/10 Diskrete Strukturen Prof. Dr. J. Esparza Lehrstuhl für Grundlagen der Softwarezuverlässigkeit und theoretische Informatik Fakultät für Informatik Technische Universität München http://www7.in.tum.de/um/courses/ds/ws0910

Mehr

Technische Informatik Basispraktikum Sommersemester 2001

Technische Informatik Basispraktikum Sommersemester 2001 Technische Informatik Basispraktikum Sommersemester 2001 Protokoll zum Versuchstag 4 Datum: 21.6.2001 Gruppe: David Eißler/ Autor: Verwendete Messgeräte: - digitales Experimentierboard (EB6) - Netzgerät

Mehr

Algorithmen II Vorlesung am 15.11.2012

Algorithmen II Vorlesung am 15.11.2012 Algorithmen II Vorlesung am 15.11.2012 Kreisbasen, Matroide & Algorithmen INSTITUT FÜR THEORETISCHE INFORMATIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg und Algorithmen nationales

Mehr

Codierungsverfahren SS 2011. Reed-Solomon-Codes zur Mehrblock-Bündelfehler-Korrektur

Codierungsverfahren SS 2011. Reed-Solomon-Codes zur Mehrblock-Bündelfehler-Korrektur Reed-Solomon-Codes zur Mehrblock-Bündelfehler-Korrektur Wie die zyklischen BCH-Codes zur Mehrbitfehler-Korrektur eignen sich auch die sehr verwandten Reed-Solomon-Codes (= RS-Codes) zur Mehrbitfehler-Korrektur.

Mehr

<ruske.s@web.de> Oliver Liebold. NAND (negierte Undverknüpfung) L L H L H H H L H H H L

<ruske.s@web.de> Oliver Liebold. NAND (negierte Undverknüpfung) L L H L H H H L H H H L Elektronische Grundlagen Versuch E7, Grundelemente der Digitaltechnik Praktikumsgruppe IngIF, 04. Juni 2003 Stefan Schumacher Sandra Ruske Oliver Liebold

Mehr

Lösungen: zu 1. a.) 0 0 1 1 b.) 1 1 1 1 c.) 0 1 1 0 + 1 1 0 0 + 0 0 1 1 + 0 1 1 1 1 1 1 1 1 0 0 1 0 1 1 0 1

Lösungen: zu 1. a.) 0 0 1 1 b.) 1 1 1 1 c.) 0 1 1 0 + 1 1 0 0 + 0 0 1 1 + 0 1 1 1 1 1 1 1 1 0 0 1 0 1 1 0 1 Lösungen: zu 1. a.) 0 0 1 1 b.) 1 1 1 1 c.) 0 1 1 0 + 1 1 0 0 + 0 0 1 1 + 0 1 1 1 1 1 1 1 1 0 0 1 0 1 1 0 1 vorzeichenlose Zahl: 15 vorzeichenlose Zahl: 18 vorzeichenlose Zahl: 13 Zweierkomplement: - 1

Mehr

Teil 1: Digitale Logik

Teil 1: Digitale Logik Teil 1: Digitale Logik Inhalt: Boolesche Algebra kombinatorische Logik sequentielle Logik kurzer Exkurs technologische Grundlagen programmierbare logische Bausteine 1 Analoge und digitale Hardware bei

Mehr

Mathematische Grundlagen der Kryptographie. 1. Ganze Zahlen 2. Kongruenzen und Restklassenringe. Stefan Brandstädter Jennifer Karstens

Mathematische Grundlagen der Kryptographie. 1. Ganze Zahlen 2. Kongruenzen und Restklassenringe. Stefan Brandstädter Jennifer Karstens Mathematische Grundlagen der Kryptographie 1. Ganze Zahlen 2. Kongruenzen und Restklassenringe Stefan Brandstädter Jennifer Karstens 18. Januar 2005 Inhaltsverzeichnis 1 Ganze Zahlen 1 1.1 Grundlagen............................

Mehr

7. Formale Sprachen und Grammatiken

7. Formale Sprachen und Grammatiken 7. Formale Sprachen und Grammatiken Computer verwenden zur Verarbeitung von Daten und Informationen künstliche, formale Sprachen (Maschinenspr., Assemblerspachen, Programmierspr., Datenbankspr., Wissensrepräsentationsspr.,...)

Mehr

Theoretische Informatik

Theoretische Informatik Theoretische Informatik für die Studiengänge Ingenieur-Informatik berufsbegleitendes Studium Lehramt Informatik (Sekundar- und Berufsschule) http://theo.cs.uni-magdeburg.de/lehre04s/ Lehrbeauftragter:

Mehr

Theoretische Informatik I

Theoretische Informatik I Theoretische nformatik inheit 3 Kontextfreie Sprachen 1. Kontextfreie Grammatiken 2. Pushdown Automaten 3. igenschaften kontextfreier Sprachen Theoretische nformatik inheit 3.1 Kontextfreie Grammatiken

Mehr

- Strukturentwurf elementarer Rechenwerke - Grund-Flipflop (RS-Flipflop) - Register, Schieberegister, Zähler

- Strukturentwurf elementarer Rechenwerke - Grund-Flipflop (RS-Flipflop) - Register, Schieberegister, Zähler 3.Übung: Inhalte: - binäre Logik, boolsche Gleichungen - logische Grundschaltungen - trukturentwurf elementarer echenwerke - Grund-Flipflop (-Flipflop) - egister, chieberegister, Zähler Übung Informatik

Mehr

FH Jena Prüfungsaufgaben Prof. Giesecke FB ET/IT Binäre Rechenoperationen WS 09/10

FH Jena Prüfungsaufgaben Prof. Giesecke FB ET/IT Binäre Rechenoperationen WS 09/10 FB ET/IT Binäre Rechenoperationen WS 9/ Name, Vorname: Matr.-Nr.: Zugelassene Hilfsmittel: beliebiger Taschenrechner eine selbst erstellte Formelsammlung Wichtige Hinweise: Ausführungen, Notizen und Lösungen

Mehr

Sprachen/Grammatiken eine Wiederholung

Sprachen/Grammatiken eine Wiederholung Sprachen/Grammatiken eine Wiederholung Was sind reguläre Sprachen? Eigenschaften regulärer Sprachen Sprachen Begriffe Symbol: unzerlegbare Grundzeichen Alphabet: endliche Menge von Symbolen Zeichenreihe:

Mehr

4. AUSSAGENLOGIK: SYNTAX. Der Unterschied zwischen Objektsprache und Metasprache lässt sich folgendermaßen charakterisieren:

4. AUSSAGENLOGIK: SYNTAX. Der Unterschied zwischen Objektsprache und Metasprache lässt sich folgendermaßen charakterisieren: 4. AUSSAGENLOGIK: SYNTAX 4.1 Objektsprache und Metasprache 4.2 Gebrauch und Erwähnung 4.3 Metavariablen: Verallgemeinerndes Sprechen über Ausdrücke von AL 4.4 Die Sprache der Aussagenlogik 4.5 Terminologie

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Einheit 3: Alphabete (und Relationen, Funktionen, Aussagenlogik) Thomas Worsch Universität Karlsruhe, Fakultät für Informatik Oktober 2008 1/18 Überblick Alphabete ASCII Unicode

Mehr

Zahlendarstellungen und Rechnerarithmetik*

Zahlendarstellungen und Rechnerarithmetik* Zahlendarstellungen und Rechnerarithmetik* 1. Darstellung positiver ganzer Zahlen 2. Darstellung negativer ganzer Zahlen 3. Brüche und Festkommazahlen 4. binäre Addition 5. binäre Subtraktion *Die Folien

Mehr

Data Mining: Einige Grundlagen aus der Stochastik

Data Mining: Einige Grundlagen aus der Stochastik Data Mining: Einige Grundlagen aus der Stochastik Hagen Knaf Studiengang Angewandte Mathematik Hochschule RheinMain 21. Oktober 2015 Vorwort Das vorliegende Skript enthält eine Zusammenfassung verschiedener

Mehr

Semantik von Formeln und Sequenzen

Semantik von Formeln und Sequenzen Semantik von Formeln und Sequenzen 33 Grundidee der Verwendung von Logik im Software Entwurf Syntax: Menge von Formeln = Axiome Ax K ist beweisbar Formel ϕ beschreiben Korrektkeit Vollständigkeit beschreibt

Mehr

Grundlagen der Künstlichen Intelligenz

Grundlagen der Künstlichen Intelligenz Grundlagen der Künstlichen Intelligenz 27. Aussagenlogik: Logisches Schliessen und Resolution Malte Helmert Universität Basel 28. April 2014 Aussagenlogik: Überblick Kapitelüberblick Aussagenlogik: 26.

Mehr

Einführung in die Kodierungstheorie

Einführung in die Kodierungstheorie Einführung in die Kodierungstheorie Einführung Vorgehen Beispiele Definitionen (Code, Codewort, Alphabet, Länge) Hamming-Distanz Definitionen (Äquivalenz, Coderate, ) Singleton-Schranke Lineare Codes Hamming-Gewicht

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Tutorium 27 29..24 FAKULTÄT FÜR INFORMATIK KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Definition

Mehr

Theoretische Grundlagen des Software Engineering

Theoretische Grundlagen des Software Engineering Theoretische Grundlagen des Software Engineering 11: Abstrakte Reduktionssysteme schulz@eprover.org Reduktionssysteme Definition: Reduktionssystem Ein Reduktionssystem ist ein Tupel (A, ) Dabei gilt: A

Mehr

Organisation. Was kommt zum Test? Buch Informatik Grundlagen bis inkl. Kapitel 7.4 Wissensfragen und Rechenbeispiele

Organisation. Was kommt zum Test? Buch Informatik Grundlagen bis inkl. Kapitel 7.4 Wissensfragen und Rechenbeispiele Organisation Was kommt zum Test? Buch Informatik Grundlagen bis inkl Kapitel 74 Wissensfragen und Rechenbeispiele 3 Vorträge zur Übung Informationstheorie, Huffman-Codierung und trennzeichenfreie Codierung

Mehr

Grundlagen der Theoretischen Informatik

Grundlagen der Theoretischen Informatik Grundlagen der Theoretischen Informatik 3. Endliche Automaten (V) 21.05.2015 Viorica Sofronie-Stokkermans e-mail: sofronie@uni-koblenz.de 1 Bis jetzt Determinierte endliche Automaten (DEAs) Indeterminierte

Mehr

Logik für Informatiker

Logik für Informatiker Logik für Informatiker 2. Aussagenlogik Teil 3 30.04.2012 Viorica Sofronie-Stokkermans Universität Koblenz-Landau e-mail: sofronie@uni-koblenz.de 1 Letztes Mal Aussagenlogik Syntax: welche Formeln? Semantik:

Mehr