Übung Theoretische Grundlagen

Save this PDF as:
 WORD  PNG  TXT  JPG

Größe: px
Ab Seite anzeigen:

Download "Übung Theoretische Grundlagen"

Transkript

1 Ü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 of the Helmholtz Association

2 Themen Nico Döttling Übung November 26, /21

3 Das Rekursionstheorem Theorem Zu jeder (partiell) berechenbaren Funktion t : Σ Σ Σ gibt es eine Turingmaschine R die eine Funktion r : Σ Σ berechnet, sodass für alle w Σ gilt r(w) = t( R, w) Was heißt das nochmal genau? Man kann beliebigen Programmen (TMs) Zugriff auf ihren eigenen Sourcecode (Gödelnummer) geben! Davon verschieden: Programme die ihren Sourcecode aus dem Speicher lesen Nico Döttling Übung November 26, /21

4 Das Rekursionstheorem Theorem Zu jeder (partiell) berechenbaren Funktion t : Σ Σ Σ gibt es eine Turingmaschine R die eine Funktion r : Σ Σ berechnet, sodass für alle w Σ gilt r(w) = t( R, w) Was heißt das nochmal genau? Man kann beliebigen Programmen (TMs) Zugriff auf ihren eigenen Sourcecode (Gödelnummer) geben! Davon verschieden: Programme die ihren Sourcecode aus dem Speicher lesen Nico Döttling Übung November 26, /21

5 Das Rekursionstheorem Theorem Zu jeder (partiell) berechenbaren Funktion t : Σ Σ Σ gibt es eine Turingmaschine R die eine Funktion r : Σ Σ berechnet, sodass für alle w Σ gilt r(w) = t( R, w) Was heißt das nochmal genau? Man kann beliebigen Programmen (TMs) Zugriff auf ihren eigenen Sourcecode (Gödelnummer) geben! Davon verschieden: Programme die ihren Sourcecode aus dem Speicher lesen Nico Döttling Übung November 26, /21

6 Das Rekursionstheorem Theorem Zu jeder (partiell) berechenbaren Funktion t : Σ Σ Σ gibt es eine Turingmaschine R die eine Funktion r : Σ Σ berechnet, sodass für alle w Σ gilt r(w) = t( R, w) Was heißt das nochmal genau? Man kann beliebigen Programmen (TMs) Zugriff auf ihren eigenen Sourcecode (Gödelnummer) geben! Davon verschieden: Programme die ihren Sourcecode aus dem Speicher lesen Nico Döttling Übung November 26, /21

7 Das Rekursionstheorem Anwendung Das Rekursionstheorem ist das ultimative Werkzeug um Nichtberechenbarkeit/Nichentscheidbarkeit von Sprachen zu zeigen Notation: Wie notieren wir die Anwendung von Turingmaschinen die wir konstruieren? Üblicherweise so: Turingmaschine M Bei Eingabe w: Hole eigene Beschreibung M Tue irgendwas mit M und w Nico Döttling Übung November 26, /21

8 Das Rekursionstheorem Anwendung Das Rekursionstheorem ist das ultimative Werkzeug um Nichtberechenbarkeit/Nichentscheidbarkeit von Sprachen zu zeigen Notation: Wie notieren wir die Anwendung von Turingmaschinen die wir konstruieren? Üblicherweise so: Turingmaschine M Bei Eingabe w: Hole eigene Beschreibung M Tue irgendwas mit M und w Nico Döttling Übung November 26, /21

9 Das Rekursionstheorem Anwendung Das Rekursionstheorem ist das ultimative Werkzeug um Nichtberechenbarkeit/Nichentscheidbarkeit von Sprachen zu zeigen Notation: Wie notieren wir die Anwendung von Turingmaschinen die wir konstruieren? Üblicherweise so: Turingmaschine M Bei Eingabe w: Hole eigene Beschreibung M Tue irgendwas mit M und w Nico Döttling Übung November 26, /21

10 Zum Warmwerden (1) Es gibt eine Turingmaschine M die ihr eigens "Spiegelbild" erkennt. M Bei Eingabe w Hole eigene Beschreibung M Akzeptiere falls w = M, ansonsten lehne ab Nico Döttling Übung November 26, /21

11 Zum Warmwerden (1) Es gibt eine Turingmaschine M die ihr eigens "Spiegelbild" erkennt. M Bei Eingabe w Hole eigene Beschreibung M Akzeptiere falls w = M, ansonsten lehne ab Nico Döttling Übung November 26, /21

12 Zum Warmwerden (2) Die Sprache A = { M 1 M 2 M 1 akzeptiert M 2 gdw. M 2 akzeptiert M 1 } hat unendlich viele Elemente Nico Döttling Übung November 26, /21

13 Zum Warmwerden (2) Wir definieren ein geeignetes M 1 Turingmaschine M 1 Eingabe M 2 Hole eigene Beschreibung M 1 Simuliere M 2 bei Eingabe M 1 Akzeptiere genau dann wenn M 2 akzeptiert Nun gilt: Für jedes M 2 ist M 1 M 2 A. Nico Döttling Übung November 26, /21

14 Zum Warmwerden (2) Wir definieren ein geeignetes M 1 Turingmaschine M 1 Eingabe M 2 Hole eigene Beschreibung M 1 Simuliere M 2 bei Eingabe M 1 Akzeptiere genau dann wenn M 2 akzeptiert Nun gilt: Für jedes M 2 ist M 1 M 2 A. Nico Döttling Übung November 26, /21

15 Zum Warmwerden (3) Es gibt immer unendlich viele "Lösungen" R des Rekursionstheorems. Sei k eine beliebig große Zahl S so dass S > k und für alle M k berechnen S und M verschiedene Funktionen. Sei T die zur Funktion t : Σ Σ Σ gehörende Turingmaschine Wir definieren neues T Turingmaschine T Eingabe M und w Falls M k simuliere S bei Eingabe w und gib aus was immer S ausgibt. Falls M > k simuliere T mit Eingabe M, w und gib aus was immer T ausgibt. Nico Döttling Übung November 26, /21

16 Zum Warmwerden (3) Es gibt immer unendlich viele "Lösungen" R des Rekursionstheorems. Sei k eine beliebig große Zahl S so dass S > k und für alle M k berechnen S und M verschiedene Funktionen. Sei T die zur Funktion t : Σ Σ Σ gehörende Turingmaschine Wir definieren neues T Turingmaschine T Eingabe M und w Falls M k simuliere S bei Eingabe w und gib aus was immer S ausgibt. Falls M > k simuliere T mit Eingabe M, w und gib aus was immer T ausgibt. Nico Döttling Übung November 26, /21

17 Zum Warmwerden (3) Es gibt immer unendlich viele "Lösungen" R des Rekursionstheorems. Sei k eine beliebig große Zahl S so dass S > k und für alle M k berechnen S und M verschiedene Funktionen. Sei T die zur Funktion t : Σ Σ Σ gehörende Turingmaschine Wir definieren neues T Turingmaschine T Eingabe M und w Falls M k simuliere S bei Eingabe w und gib aus was immer S ausgibt. Falls M > k simuliere T mit Eingabe M, w und gib aus was immer T ausgibt. Nico Döttling Übung November 26, /21

18 Zum Warmwerden (3) Es gibt immer unendlich viele "Lösungen" R des Rekursionstheorems. Sei k eine beliebig große Zahl S so dass S > k und für alle M k berechnen S und M verschiedene Funktionen. Sei T die zur Funktion t : Σ Σ Σ gehörende Turingmaschine Wir definieren neues T Turingmaschine T Eingabe M und w Falls M k simuliere S bei Eingabe w und gib aus was immer S ausgibt. Falls M > k simuliere T mit Eingabe M, w und gib aus was immer T ausgibt. Nico Döttling Übung November 26, /21

19 Zum Warmwerden (3) Es gibt immer unendlich viele "Lösungen" R des Rekursionstheorems. Sei k eine beliebig große Zahl S so dass S > k und für alle M k berechnen S und M verschiedene Funktionen. Sei T die zur Funktion t : Σ Σ Σ gehörende Turingmaschine Wir definieren neues T Turingmaschine T Eingabe M und w Falls M k simuliere S bei Eingabe w und gib aus was immer S ausgibt. Falls M > k simuliere T mit Eingabe M, w und gib aus was immer T ausgibt. Nico Döttling Übung November 26, /21

20 Zum Warmwerden (3) Nach dem Rekursionstheorem gibt es eine TM R die eine Funktion r berechnet sodass für alle w r(w) = t ( R, w) Es gilt R > k, ansonsten T die Maschine S simulieren würde und es damit ein w gäbe, sodass r(w) t ( R, w). Also ist für alle w t ( R, w) = t( R, w). Also ist R auch eine Lösung für t. Das gilt für beliebige k, also gibt es unendlich viele solche R Nico Döttling Übung November 26, /21

21 Zum Warmwerden (3) Nach dem Rekursionstheorem gibt es eine TM R die eine Funktion r berechnet sodass für alle w r(w) = t ( R, w) Es gilt R > k, ansonsten T die Maschine S simulieren würde und es damit ein w gäbe, sodass r(w) t ( R, w). Also ist für alle w t ( R, w) = t( R, w). Also ist R auch eine Lösung für t. Das gilt für beliebige k, also gibt es unendlich viele solche R Nico Döttling Übung November 26, /21

22 Zum Warmwerden (3) Nach dem Rekursionstheorem gibt es eine TM R die eine Funktion r berechnet sodass für alle w r(w) = t ( R, w) Es gilt R > k, ansonsten T die Maschine S simulieren würde und es damit ein w gäbe, sodass r(w) t ( R, w). Also ist für alle w t ( R, w) = t( R, w). Also ist R auch eine Lösung für t. Das gilt für beliebige k, also gibt es unendlich viele solche R Nico Döttling Übung November 26, /21

23 Zum Warmwerden (3) Nach dem Rekursionstheorem gibt es eine TM R die eine Funktion r berechnet sodass für alle w r(w) = t ( R, w) Es gilt R > k, ansonsten T die Maschine S simulieren würde und es damit ein w gäbe, sodass r(w) t ( R, w). Also ist für alle w t ( R, w) = t( R, w). Also ist R auch eine Lösung für t. Das gilt für beliebige k, also gibt es unendlich viele solche R Nico Döttling Übung November 26, /21

24 Zum Warmwerden (3) Nach dem Rekursionstheorem gibt es eine TM R die eine Funktion r berechnet sodass für alle w r(w) = t ( R, w) Es gilt R > k, ansonsten T die Maschine S simulieren würde und es damit ein w gäbe, sodass r(w) t ( R, w). Also ist für alle w t ( R, w) = t( R, w). Also ist R auch eine Lösung für t. Das gilt für beliebige k, also gibt es unendlich viele solche R Nico Döttling Übung November 26, /21

25 Beispiel: Virenerkenner Ein Virenerkenner ist ein Programm T das für ein beliebiges Programm M entscheiden kann ob dieses ein Virus ist oder nicht. Was ist ein Virus? Sagen wir der Einfachheit halber ein Programm welches eine Ausgabe INFECT erzeugen kann. Virenprogramme müssen also nicht unbedingt bei jeder Eingabe das System infizieren! Ein Virenerkenner darf kein harmloses Programm als Virus klassifizieren! Nico Döttling Übung November 26, /21

26 Beispiel: Virenerkenner Ein Virenerkenner ist ein Programm T das für ein beliebiges Programm M entscheiden kann ob dieses ein Virus ist oder nicht. Was ist ein Virus? Sagen wir der Einfachheit halber ein Programm welches eine Ausgabe INFECT erzeugen kann. Virenprogramme müssen also nicht unbedingt bei jeder Eingabe das System infizieren! Ein Virenerkenner darf kein harmloses Programm als Virus klassifizieren! Nico Döttling Übung November 26, /21

27 Beispiel: Virenerkenner Ein Virenerkenner ist ein Programm T das für ein beliebiges Programm M entscheiden kann ob dieses ein Virus ist oder nicht. Was ist ein Virus? Sagen wir der Einfachheit halber ein Programm welches eine Ausgabe INFECT erzeugen kann. Virenprogramme müssen also nicht unbedingt bei jeder Eingabe das System infizieren! Ein Virenerkenner darf kein harmloses Programm als Virus klassifizieren! Nico Döttling Übung November 26, /21

28 Beispiel: Virenerkenner Ein Virenerkenner ist ein Programm T das für ein beliebiges Programm M entscheiden kann ob dieses ein Virus ist oder nicht. Was ist ein Virus? Sagen wir der Einfachheit halber ein Programm welches eine Ausgabe INFECT erzeugen kann. Virenprogramme müssen also nicht unbedingt bei jeder Eingabe das System infizieren! Ein Virenerkenner darf kein harmloses Programm als Virus klassifizieren! Nico Döttling Übung November 26, /21

29 Beispiel: Virenerkenner Ein Virenerkenner ist ein Programm T das für ein beliebiges Programm M entscheiden kann ob dieses ein Virus ist oder nicht. Was ist ein Virus? Sagen wir der Einfachheit halber ein Programm welches eine Ausgabe INFECT erzeugen kann. Virenprogramme müssen also nicht unbedingt bei jeder Eingabe das System infizieren! Ein Virenerkenner darf kein harmloses Programm als Virus klassifizieren! Nico Döttling Übung November 26, /21

30 Beispiel: Virenerkenner Lemma Es gibt keine Virenerkenner a a Der Fairness halber sei gesagt dass entsprechende Programme (Norton, Avira etc.) nicht als Virenerkenner sonder als Anti-Viren Software vermarktet werden Nico Döttling Übung November 26, /21

31 Beweis Annahme: Es gibt einen Virenerkenner T. Wir bauen uns den ultimativen Virus V. Turingmaschine V Hole eigene Beschreibung V. Simuliere T bei Eingabe V. Wenn T "Virus" ausgibt, dann gib Nichts aus Wenn T "kein Virus" ausgibt, dann gib INFECT aus Nico Döttling Übung November 26, /21

32 Beweis Annahme: Es gibt einen Virenerkenner T. Wir bauen uns den ultimativen Virus V. Turingmaschine V Hole eigene Beschreibung V. Simuliere T bei Eingabe V. Wenn T "Virus" ausgibt, dann gib Nichts aus Wenn T "kein Virus" ausgibt, dann gib INFECT aus Nico Döttling Übung November 26, /21

33 Beweis Annahme: Es gibt einen Virenerkenner T. Wir bauen uns den ultimativen Virus V. Turingmaschine V Hole eigene Beschreibung V. Simuliere T bei Eingabe V. Wenn T "Virus" ausgibt, dann gib Nichts aus Wenn T "kein Virus" ausgibt, dann gib INFECT aus Nico Döttling Übung November 26, /21

34 Beweis Ist V ein Virus? V ist Virus T klassifiziert V als Virus V gibt nie INFECT aus V ist kein Virus V ist kein Virus T klassifiziert V nicht als Virus V gibt INFECT aus V ist ein Virus Widerspruch! Nico Döttling Übung November 26, /21

35 Beweis Ist V ein Virus? V ist Virus T klassifiziert V als Virus V gibt nie INFECT aus V ist kein Virus V ist kein Virus T klassifiziert V nicht als Virus V gibt INFECT aus V ist ein Virus Widerspruch! Nico Döttling Übung November 26, /21

36 Beweis Ist V ein Virus? V ist Virus T klassifiziert V als Virus V gibt nie INFECT aus V ist kein Virus V ist kein Virus T klassifiziert V nicht als Virus V gibt INFECT aus V ist ein Virus Widerspruch! Nico Döttling Übung November 26, /21

37 Beweis Ist V ein Virus? V ist Virus T klassifiziert V als Virus V gibt nie INFECT aus V ist kein Virus V ist kein Virus T klassifiziert V nicht als Virus V gibt INFECT aus V ist ein Virus Widerspruch! Nico Döttling Übung November 26, /21

38 Beweis Ist V ein Virus? V ist Virus T klassifiziert V als Virus V gibt nie INFECT aus V ist kein Virus V ist kein Virus T klassifiziert V nicht als Virus V gibt INFECT aus V ist ein Virus Widerspruch! Nico Döttling Übung November 26, /21

39 Beweis Ist V ein Virus? V ist Virus T klassifiziert V als Virus V gibt nie INFECT aus V ist kein Virus V ist kein Virus T klassifiziert V nicht als Virus V gibt INFECT aus V ist ein Virus Widerspruch! Nico Döttling Übung November 26, /21

40 Beweis Ist V ein Virus? V ist Virus T klassifiziert V als Virus V gibt nie INFECT aus V ist kein Virus V ist kein Virus T klassifiziert V nicht als Virus V gibt INFECT aus V ist ein Virus Widerspruch! Nico Döttling Übung November 26, /21

41 Beweis Ist V ein Virus? V ist Virus T klassifiziert V als Virus V gibt nie INFECT aus V ist kein Virus V ist kein Virus T klassifiziert V nicht als Virus V gibt INFECT aus V ist ein Virus Widerspruch! Nico Döttling Übung November 26, /21

42 Beweis Ist V ein Virus? V ist Virus T klassifiziert V als Virus V gibt nie INFECT aus V ist kein Virus V ist kein Virus T klassifiziert V nicht als Virus V gibt INFECT aus V ist ein Virus Widerspruch! Nico Döttling Übung November 26, /21

43 Compiler Was sollen Compiler leisten? (Wikipedia) Übersetzen zwischen verschiedenen Programmiersprachen Elimination toten Programmcodes Erkennung unbenutzter Variablen Optimierung von Schleifen Nico Döttling Übung November 26, /21

44 Compiler Was sollen Compiler leisten? (Wikipedia) Übersetzen zwischen verschiedenen Programmiersprachen Elimination toten Programmcodes Erkennung unbenutzter Variablen Optimierung von Schleifen Nico Döttling Übung November 26, /21

45 Compiler Was sollen Compiler leisten? (Wikipedia) Übersetzen zwischen verschiedenen Programmiersprachen Elimination toten Programmcodes Erkennung unbenutzter Variablen Optimierung von Schleifen Nico Döttling Übung November 26, /21

46 Compiler Was sollen Compiler leisten? (Wikipedia) Übersetzen zwischen verschiedenen Programmiersprachen Elimination toten Programmcodes Erkennung unbenutzter Variablen Optimierung von Schleifen Nico Döttling Übung November 26, /21

47 Compiler Was sollen Compiler leisten? (Wikipedia) Übersetzen zwischen verschiedenen Programmiersprachen Elimination toten Programmcodes Erkennung unbenutzter Variablen Optimierung von Schleifen Nico Döttling Übung November 26, /21

48 Compiler Schön wäre doch ein Compiler der allen toten Programmcode entfernt, alle unbenutzten Variablen erkennt und alle Schleifen bestmöglich optimiert. Gehen wir davon aus dass die Quellsprache identsch mit der Zielsprache ist. Lemma Es gibt keine bestmöglich optimierenden Compiler Wird auch das "Compilerbauer werden nie arbeitslos"-theorem genannt (Goos) Nico Döttling Übung November 26, /21

49 Compiler Schön wäre doch ein Compiler der allen toten Programmcode entfernt, alle unbenutzten Variablen erkennt und alle Schleifen bestmöglich optimiert. Gehen wir davon aus dass die Quellsprache identsch mit der Zielsprache ist. Lemma Es gibt keine bestmöglich optimierenden Compiler Wird auch das "Compilerbauer werden nie arbeitslos"-theorem genannt (Goos) Nico Döttling Übung November 26, /21

50 Compiler Schön wäre doch ein Compiler der allen toten Programmcode entfernt, alle unbenutzten Variablen erkennt und alle Schleifen bestmöglich optimiert. Gehen wir davon aus dass die Quellsprache identsch mit der Zielsprache ist. Lemma Es gibt keine bestmöglich optimierenden Compiler Wird auch das "Compilerbauer werden nie arbeitslos"-theorem genannt (Goos) Nico Döttling Übung November 26, /21

51 Compiler Schön wäre doch ein Compiler der allen toten Programmcode entfernt, alle unbenutzten Variablen erkennt und alle Schleifen bestmöglich optimiert. Gehen wir davon aus dass die Quellsprache identsch mit der Zielsprache ist. Lemma Es gibt keine bestmöglich optimierenden Compiler Wird auch das "Compilerbauer werden nie arbeitslos"-theorem genannt (Goos) Nico Döttling Übung November 26, /21

52 Compiler Sei C ein optimaler Compiler (berechnet Funktion c), der ein Programm auf seine minimale Repräsentation abbildet und immer terminiert. Turingmaschine W Eingabe w Hole eigene Beschreibung W Zähle alle Turingmaschinen M auf und simuliere C bei Eingabe M. Sei N die Ausgabe von C. Falls das Programm N länger ist als W verlasse die Aufzählschleife. Simuliere N bei Eingabe w und gib aus was immer N ausgibt Nico Döttling Übung November 26, /21

53 Compiler Sei C ein optimaler Compiler (berechnet Funktion c), der ein Programm auf seine minimale Repräsentation abbildet und immer terminiert. Turingmaschine W Eingabe w Hole eigene Beschreibung W Zähle alle Turingmaschinen M auf und simuliere C bei Eingabe M. Sei N die Ausgabe von C. Falls das Programm N länger ist als W verlasse die Aufzählschleife. Simuliere N bei Eingabe w und gib aus was immer N ausgibt Nico Döttling Übung November 26, /21

54 Compiler Sei M 0 die Maschine für welche die Schleife Verlassen wird. C gibt bei Eingabe M 0 die Beschreibung N aus. W berechnet die selbe Funktion wie N aber ist kürzer. C ist also nicht optimal. Widerspruch! Nico Döttling Übung November 26, /21

55 Compiler Sei M 0 die Maschine für welche die Schleife Verlassen wird. C gibt bei Eingabe M 0 die Beschreibung N aus. W berechnet die selbe Funktion wie N aber ist kürzer. C ist also nicht optimal. Widerspruch! Nico Döttling Übung November 26, /21

56 Compiler Sei M 0 die Maschine für welche die Schleife Verlassen wird. C gibt bei Eingabe M 0 die Beschreibung N aus. W berechnet die selbe Funktion wie N aber ist kürzer. C ist also nicht optimal. Widerspruch! Nico Döttling Übung November 26, /21

57 Compiler Sei M 0 die Maschine für welche die Schleife Verlassen wird. C gibt bei Eingabe M 0 die Beschreibung N aus. W berechnet die selbe Funktion wie N aber ist kürzer. C ist also nicht optimal. Widerspruch! Nico Döttling Übung November 26, /21

58 Der fleißige Biber 1962 hat Tibor Rado folgende Funktion betrachtet Σ(n) = max{k M hat n Zustände und erzeugt k mal 1 } Wir sagen TM M mit Bandalphabet Γ = {0, 1} erzeugt k mal 1 wenn M mit leerem Band startet, nach endlich vielen Schritten terminiert und dann k mal das Zeichen 1 auf dem Band steht. Nico Döttling Übung November 26, /21

59 Der fleißige Biber 1962 hat Tibor Rado folgende Funktion betrachtet Σ(n) = max{k M hat n Zustände und erzeugt k mal 1 } Wir sagen TM M mit Bandalphabet Γ = {0, 1} erzeugt k mal 1 wenn M mit leerem Band startet, nach endlich vielen Schritten terminiert und dann k mal das Zeichen 1 auf dem Band steht. Nico Döttling Übung November 26, /21

60 Der fleißige Biber Theorem (Rado) Σ(n) wächst schneller als jede berechenbare Funktion Wie hat man sich das vorzustellen? n # TMs Σ(n) , , > 4, Nico Döttling Übung November 26, /21

61 Der fleißige Biber Theorem (Rado) Σ(n) wächst schneller als jede berechenbare Funktion Wie hat man sich das vorzustellen? n # TMs Σ(n) , , > 4, Nico Döttling Übung November 26, /21

62 Der fleißige Biber Theorem (Rado) Σ(n) wächst schneller als jede berechenbare Funktion Wie hat man sich das vorzustellen? n # TMs Σ(n) , , > 4, Nico Döttling Übung November 26, /21

63 Der fleißige Biber Theorem (Rado) Σ(n) wächst schneller als jede berechenbare Funktion Wie hat man sich das vorzustellen? n # TMs Σ(n) , , > 4, Nico Döttling Übung November 26, /21

64 Der fleißige Biber Theorem (Rado) Σ(n) wächst schneller als jede berechenbare Funktion Wie hat man sich das vorzustellen? n # TMs Σ(n) , , > 4, Nico Döttling Übung November 26, /21

65 Der fleißige Biber Theorem (Rado) Σ(n) wächst schneller als jede berechenbare Funktion Wie hat man sich das vorzustellen? n # TMs Σ(n) , , > 4, Nico Döttling Übung November 26, /21

66 Der fleißige Biber Theorem (Rado) Σ(n) wächst schneller als jede berechenbare Funktion Wie hat man sich das vorzustellen? n # TMs Σ(n) , , > 4, Nico Döttling Übung November 26, /21

67 Der fleißige Biber Theorem (Rado) Σ(n) wächst schneller als jede berechenbare Funktion Wie hat man sich das vorzustellen? n # TMs Σ(n) , , > 4, Nico Döttling Übung November 26, /21

68 Beweis Annahme: Es gibt eine berechenbare Funktion f(n) die mindestens so stark wächst wie Σ(n) d.h. n N : f(n) Σ(n). Dann gibt es auch eine berechenbare Funktion h(n) die echt stärker wächst als Σ(n). Setze z.b. h(n) = f(n) 2. Da h(n) berechenbar, gibt es TM H die h(n) berechnet. Wir betrachten folgende Turingmaschine, die mit leerem Band startet. Turingmaschine M Hole eigene Beschreibung M. Setze n 0 = # Zustände von M. Simuliere H mit Eingabe n 0. Gib Ergebnis k 0 von H aus (Schreibe k 0 mal 1 auf das Band). Nico Döttling Übung November 26, /21

69 Beweis Annahme: Es gibt eine berechenbare Funktion f(n) die mindestens so stark wächst wie Σ(n) d.h. n N : f(n) Σ(n). Dann gibt es auch eine berechenbare Funktion h(n) die echt stärker wächst als Σ(n). Setze z.b. h(n) = f(n) 2. Da h(n) berechenbar, gibt es TM H die h(n) berechnet. Wir betrachten folgende Turingmaschine, die mit leerem Band startet. Turingmaschine M Hole eigene Beschreibung M. Setze n 0 = # Zustände von M. Simuliere H mit Eingabe n 0. Gib Ergebnis k 0 von H aus (Schreibe k 0 mal 1 auf das Band). Nico Döttling Übung November 26, /21

70 Beweis Annahme: Es gibt eine berechenbare Funktion f(n) die mindestens so stark wächst wie Σ(n) d.h. n N : f(n) Σ(n). Dann gibt es auch eine berechenbare Funktion h(n) die echt stärker wächst als Σ(n). Setze z.b. h(n) = f(n) 2. Da h(n) berechenbar, gibt es TM H die h(n) berechnet. Wir betrachten folgende Turingmaschine, die mit leerem Band startet. Turingmaschine M Hole eigene Beschreibung M. Setze n 0 = # Zustände von M. Simuliere H mit Eingabe n 0. Gib Ergebnis k 0 von H aus (Schreibe k 0 mal 1 auf das Band). Nico Döttling Übung November 26, /21

71 Beweis Annahme: Es gibt eine berechenbare Funktion f(n) die mindestens so stark wächst wie Σ(n) d.h. n N : f(n) Σ(n). Dann gibt es auch eine berechenbare Funktion h(n) die echt stärker wächst als Σ(n). Setze z.b. h(n) = f(n) 2. Da h(n) berechenbar, gibt es TM H die h(n) berechnet. Wir betrachten folgende Turingmaschine, die mit leerem Band startet. Turingmaschine M Hole eigene Beschreibung M. Setze n 0 = # Zustände von M. Simuliere H mit Eingabe n 0. Gib Ergebnis k 0 von H aus (Schreibe k 0 mal 1 auf das Band). Nico Döttling Übung November 26, /21

72 Beweis M hält immer, da h(n) berechenbar und damit H immer hält. M hat n 0 Zustände. Nach Definition von Σ(n) gilt k 0 Σ(n 0 ) Es gilt aber auch n N : h(n) > Σ(n). Das macht zusammen h(n 0 ) = k 0 Σ(n 0 ) < h(n 0 ). Widerspruch! Nico Döttling Übung November 26, /21

73 Beweis M hält immer, da h(n) berechenbar und damit H immer hält. M hat n 0 Zustände. Nach Definition von Σ(n) gilt k 0 Σ(n 0 ) Es gilt aber auch n N : h(n) > Σ(n). Das macht zusammen h(n 0 ) = k 0 Σ(n 0 ) < h(n 0 ). Widerspruch! Nico Döttling Übung November 26, /21

74 Beweis M hält immer, da h(n) berechenbar und damit H immer hält. M hat n 0 Zustände. Nach Definition von Σ(n) gilt k 0 Σ(n 0 ) Es gilt aber auch n N : h(n) > Σ(n). Das macht zusammen h(n 0 ) = k 0 Σ(n 0 ) < h(n 0 ). Widerspruch! Nico Döttling Übung November 26, /21

75 Beweis M hält immer, da h(n) berechenbar und damit H immer hält. M hat n 0 Zustände. Nach Definition von Σ(n) gilt k 0 Σ(n 0 ) Es gilt aber auch n N : h(n) > Σ(n). Das macht zusammen h(n 0 ) = k 0 Σ(n 0 ) < h(n 0 ). Widerspruch! Nico Döttling Übung November 26, /21

76 Beweis M hält immer, da h(n) berechenbar und damit H immer hält. M hat n 0 Zustände. Nach Definition von Σ(n) gilt k 0 Σ(n 0 ) Es gilt aber auch n N : h(n) > Σ(n). Das macht zusammen h(n 0 ) = k 0 Σ(n 0 ) < h(n 0 ). Widerspruch! Nico Döttling Übung November 26, /21

Übung Theoretische Grundlagen Nachtrag zur Vorlesung Dirk Achenbach 21.11.2013

Übung Theoretische Grundlagen Nachtrag zur Vorlesung Dirk Achenbach 21.11.2013 Übung Theoretische Grundlagen Nachtrag zur Vorlesung Dirk Achenbach 21.11.2013 INSTITUT FÜR KRYPTOGRAPHIE UND SICHERHEIT KIT University of the State of Baden-Wuerttemberg and National Laboratory of the

Mehr

Theoretische Grundlagen der Informatik

Theoretische Grundlagen der Informatik Theoretische Grundlagen der Informatik Turing-Maschine, Berechenbarkeit INSTITUT FÜR THEORETISCHE 0 KIT 07.11.2011 Universität des Dorothea Landes Baden-Württemberg Wagner - Theoretische und Grundlagen

Mehr

Mächtigkeit von WHILE-Programmen

Mächtigkeit von WHILE-Programmen Mächtigkeit von WHILE-Programmen Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen 26. November 2009 Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit

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

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

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

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

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

Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I. Ulrich Furbach. Sommersemester 2014

Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I. Ulrich Furbach. Sommersemester 2014 Vorlesung Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I Ulrich Furbach Institut für Informatik Sommersemester 2014 Furbach Grundlagen d. Theoretischen Informatik:

Mehr

GTI. Hannes Diener. 6. Juni - 13. Juni. ENC B-0123, diener@math.uni-siegen.de

GTI. Hannes Diener. 6. Juni - 13. Juni. ENC B-0123, diener@math.uni-siegen.de GTI Hannes Diener ENC B-0123, diener@math.uni-siegen.de 6. Juni - 13. Juni 1 / 49 Die Turingmaschine war das erste (bzw. zweite) formale Modell der Berechenbarkeit. Sie wurden bereits 1936 (also lange

Mehr

5. Varianten des Turingmaschinen-Konzeptes I: Varianten der Programmstruktur

5. Varianten des Turingmaschinen-Konzeptes I: Varianten der Programmstruktur 5. Varianten des Turingmaschinen-Konzeptes I: Varianten der Programmstruktur In der Literatur findet sich eine Vielzahl von Varianten des Turingmaschinen-Konzeptes, die sich alle als äquivalent zum Grundkonzept

Mehr

Entscheidungsprobleme. Berechenbarkeit und Komplexität Entscheidbarkeit und Unentscheidbarkeit. Die Entscheidbarkeit von Problemen

Entscheidungsprobleme. Berechenbarkeit und Komplexität Entscheidbarkeit und Unentscheidbarkeit. Die Entscheidbarkeit von Problemen Berechenbarkeit und Komlexität Entscheidbarkeit und Unentscheidbarkeit Wolfgang Schreiner Wolfgang.Schreiner@risc.uni-linz.ac.at Research Institute for Symbolic Comutation (RISC) Johannes Keler University,

Mehr

Brainfuck. 1 Brainfuck. 1.1 Brainfuck Geschichte und Umfeld. 1.2 Esoterische Programmiersprachen

Brainfuck. 1 Brainfuck. 1.1 Brainfuck Geschichte und Umfeld. 1.2 Esoterische Programmiersprachen Brainfuck 1 Brainfuck 1.1 Brainfuck Geschichte und Umfeld Brainfuck ist eine sogenannte esoterische Programmiersprache. Sie wurde 1993 vom Schweizer Urban Müller entworfen mit dem Ziel, eine Sprache mit

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

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

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

Zur Vereinfachung betrachten wir nun nur noch Funktionen f, die einen Funktionswert f nµberechnen. Sie werden alle in einer Tabelle dargestellt:

Zur Vereinfachung betrachten wir nun nur noch Funktionen f, die einen Funktionswert f nµberechnen. Sie werden alle in einer Tabelle dargestellt: Informatik 13: Gierhardt Theoretische Informatik III Berechenbarkeit Nicht-berechenbare Funktionen Nach der Church-Turing-These kann alles, was berechenbar ist, mit einer Turing-Maschine oder einer While-Maschine

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

Satz. Für jede Herbrand-Struktur A für F und alle t D(F ) gilt offensichtlich

Satz. Für jede Herbrand-Struktur A für F und alle t D(F ) gilt offensichtlich Herbrand-Strukturen und Herbrand-Modelle Sei F eine Aussage in Skolemform. Dann heißt jede zu F passende Struktur A =(U A, I A )eineherbrand-struktur für F, falls folgendes gilt: 1 U A = D(F ), 2 für jedes

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

Primzahlzertifikat von Pratt

Primzahlzertifikat von Pratt Primzahlzertifikat von Pratt Daniela Steidl TU München 17. 04. 2008 Primzahltests in der Informatik "Dass das Problem, die Primzahlen von den Zusammengesetzten zu unterscheiden und letztere in ihre Primfaktoren

Mehr

Einführung in die Theoretische Informatik

Einführung in die Theoretische Informatik Einführung in die Theoretische Informatik Woche 10 Harald Zankl Institut für Informatik @ UIBK Wintersemester 2014/2015 Zusammenfassung Zusammenfassung der letzten LV Satz Sei G = (V, Σ, R, S) eine kontextfreie

Mehr

b) Eine nd. k-band-turingmaschine M zur Erkennung einer m-stelligen Sprache L (Σ ) m ist ein 8-Tupel

b) Eine nd. k-band-turingmaschine M zur Erkennung einer m-stelligen Sprache L (Σ ) m ist ein 8-Tupel 2. Turingmaschinen Zur Formalisierung von Algorithmen benutzen wir hier Turingmaschinen. Von den vielen Varianten dieses Konzeptes, die sich in der Literatur finden, greifen wir das Konzept der on-line

Mehr

Systeme 1. Kapitel 6. Nebenläufigkeit und wechselseitiger Ausschluss

Systeme 1. Kapitel 6. Nebenläufigkeit und wechselseitiger Ausschluss Systeme 1 Kapitel 6 Nebenläufigkeit und wechselseitiger Ausschluss Threads Die Adressräume verschiedener Prozesse sind getrennt und geschützt gegen den Zugriff anderer Prozesse. Threads sind leichtgewichtige

Mehr

1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen. I.2. I.2. Grundlagen von von Programmiersprachen.

1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen. I.2. I.2. Grundlagen von von Programmiersprachen. 1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen I.2. I.2. Grundlagen von von Programmiersprachen. - 1 - 1. Der Begriff Informatik "Informatik" = Kunstwort aus Information und Mathematik

Mehr

Wissensbasierte Systeme

Wissensbasierte Systeme WBS4 Slide 1 Wissensbasierte Systeme Vorlesung 4 vom 03.11.2004 Sebastian Iwanowski FH Wedel WBS4 Slide 2 Wissensbasierte Systeme 1. Motivation 2. Prinzipien und Anwendungen 3. Logische Grundlagen 4. Suchstrategien

Mehr

Literatur. Dominating Set (DS) Dominating Sets in Sensornetzen. Problem Minimum Dominating Set (MDS)

Literatur. Dominating Set (DS) Dominating Sets in Sensornetzen. Problem Minimum Dominating Set (MDS) Dominating Set 59 Literatur Dominating Set Grundlagen 60 Dominating Set (DS) M. V. Marathe, H. Breu, H.B. Hunt III, S. S. Ravi, and D. J. Rosenkrantz: Simple Heuristics for Unit Disk Graphs. Networks 25,

Mehr

In vergleichsbasierten Suchbäumen wird nicht in Schlüssel hineingeschaut.

In vergleichsbasierten Suchbäumen wird nicht in Schlüssel hineingeschaut. Binäre Suchbäume Tries (Folie 182, Seite 58 im Skript) In vergleichsbasierten Suchbäumen wird nicht in Schlüssel hineingeschaut. In Tries entspricht die ite Verzweigung dem iten Zeichen des Schlüssels.

Mehr

Pratts Primzahlzertifikate

Pratts Primzahlzertifikate Pratts Primzahlzertifikate Markus Englert 16.04.2009 Technische Universität München Fakultät für Informatik Proseminar: Perlen der Informatik 2 SoSe 2009 Leiter: Prof. Dr. Nipkow 1 Primzahltest Ein Primzahltest

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

Gliederung. Tutorium zur Vorlesung. Gliederung. Gliederung. 1. Gliederung der Informatik. 1. Gliederung der Informatik. 1. Gliederung der Informatik

Gliederung. Tutorium zur Vorlesung. Gliederung. Gliederung. 1. Gliederung der Informatik. 1. Gliederung der Informatik. 1. Gliederung der Informatik Informatik I WS 2012/13 Tutorium zur Vorlesung 1. Alexander Zietlow zietlow@informatik.uni-tuebingen.de Wilhelm-Schickard-Institut für Informatik Eberhard Karls Universität Tübingen 11.02.2013 1. 2. 1.

Mehr

3. Turingmaschinen FORMALISIERUNG VON ALGORITHMEN. Turingmaschinen Registermaschinen Rekursive Funktionen UNTERSCHEIDUNGSMERKMALE DER ANSÄTZE:

3. Turingmaschinen FORMALISIERUNG VON ALGORITHMEN. Turingmaschinen Registermaschinen Rekursive Funktionen UNTERSCHEIDUNGSMERKMALE DER ANSÄTZE: FORMALISIERUNG VON ALGORITHMEN Wegen der beobachteten Zusammenhänge zwischen Berechnungs-, Entscheidungs- und Aufzählungsverfahren genügt es Berechnungsverfahren zu formalisieren. Weiter genügt es Verfahren

Mehr

Das Briefträgerproblem

Das Briefträgerproblem Das Briefträgerproblem Paul Tabatabai 30. Dezember 2011 Inhaltsverzeichnis 1 Problemstellung und Modellierung 2 1.1 Problem................................ 2 1.2 Modellierung.............................

Mehr

Zusammenfassung Grundzüge der Informatik 4

Zusammenfassung Grundzüge der Informatik 4 Zusammenfassung Grundzüge der Informatik 4 Sommersemester 04 Thorsten Wink 21. September 2004 Version 1.2 Dieses Dokument wurde in L A TEX 2εgeschrieben. Stand: 21. September 2004 Inhaltsverzeichnis 1

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

Bestimmung einer ersten

Bestimmung einer ersten Kapitel 6 Bestimmung einer ersten zulässigen Basislösung Ein Problem, was man für die Durchführung der Simplexmethode lösen muss, ist die Bestimmung einer ersten zulässigen Basislösung. Wie gut das geht,

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

Einfache Arrays. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung

Einfache Arrays. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung Annabelle Klarl Zentralübung zur Vorlesung Einführung in die Informatik: http://www.pst.ifi.lmu.de/lehre/wise-13-14/infoeinf WS13/14 Action required now 1. Smartphone: installiere die App "socrative student"

Mehr

Graphenalgorithmen und lineare Algebra Hand in Hand Vorlesung für den Bereich Diplom/Master Informatik

Graphenalgorithmen und lineare Algebra Hand in Hand Vorlesung für den Bereich Diplom/Master Informatik Vorlesung für den Bereich Diplom/Master Informatik Dozent: Juniorprof. Dr. Henning Meyerhenke PARALLELES RECHNEN INSTITUT FÜR THEORETISCHE INFORMATIK, FAKULTÄT FÜR INFORMATIK KIT Universität des Landes

Mehr

Approximationsalgorithmen

Approximationsalgorithmen Makespan-Scheduling Kapitel 4: Approximationsalgorithmen (dritter Teil) (weitere Beispiele und Illustrationen an der Tafel) Hilfreiche Literatur: Vazarani: Approximation Algorithms, Springer Verlag, 2001.

Mehr

Grundlagen Programmierung

Grundlagen Programmierung 13. Aufgabe (13 Punkte) Schreiben Sie eine neue Klasse Zahlenanalyse, mit der Integer-Objekte genauer betrachtet werden können. Bei den zu entwickelnden Methoden kann es immer sinnvoll sein, sich den Ablauf

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

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

Algorithmentheorie. 13 - Maximale Flüsse

Algorithmentheorie. 13 - Maximale Flüsse Algorithmentheorie 3 - Maximale Flüsse Prof. Dr. S. Albers Prof. Dr. Th. Ottmann . Maximale Flüsse in Netzwerken 5 3 4 7 s 0 5 9 5 9 4 3 4 5 0 3 5 5 t 8 8 Netzwerke und Flüsse N = (V,E,c) gerichtetes Netzwerk

Mehr

5. Übung: PHP-Grundlagen

5. Übung: PHP-Grundlagen 5.1. Erstes PHP-Programm 1. Schreiben Sie PHP-Programm innerhalb einer Webseite, d.h. innerhalb eines HTML-Dokument. Ihr PHP-Programm soll einen kurzen Text ausgeben und Komentare enthalten. Speichern

Mehr

Bin Packing oder Wie bekomme ich die Klamotten in die Kisten?

Bin Packing oder Wie bekomme ich die Klamotten in die Kisten? Bin Packing oder Wie bekomme ich die Klamotten in die Kisten? Ich habe diesen Sommer mein Abi gemacht und möchte zum Herbst mit dem Studium beginnen Informatik natürlich! Da es in meinem kleinen Ort keine

Mehr

Softwarelösungen: Versuch 4

Softwarelösungen: Versuch 4 Softwarelösungen: Versuch 4 Nichtstun in Schleife wird ersetzt durch zeitweilige Zurücknahme der Anforderung, um es anderen Prozessen zu erlauben, die Ressource zu belegen: /* Prozess 0 */ wiederhole flag[0]

Mehr

Algorithmische Methoden für schwere Optimierungsprobleme

Algorithmische Methoden für schwere Optimierungsprobleme Algorithmische Methoden für schwere Optimierungsprobleme Juniorprof. Dr. Henning Meyerhenke Institut für Theoretische Informatik 1 KIT Henning Universität desmeyerhenke, Landes Baden-Württemberg Institutund

Mehr

1. Formulieren Sie den Algorithmus <Bedienung eines Getränkeautomaten> nach den oben genannten Kriterien.

1. Formulieren Sie den Algorithmus <Bedienung eines Getränkeautomaten> nach den oben genannten Kriterien. Java 1 Einführung Grundlegende Übungsaufgaben Arbeitsauftrag 1.1 1. Formulieren Sie den Algorithmus nach den oben genannten Kriterien. Beispiel: Bedienung eines Getränkeautomaten

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

Schritt 1. Schritt 1. Schritt 3. - Analysieren des Problems und Spezifizierung einer Lösung.

Schritt 1. Schritt 1. Schritt 3. - Analysieren des Problems und Spezifizierung einer Lösung. I. Programmierung ================================================================== Programmierung ist die Planung einer Abfolge von Schritten (Instruktionen), nach denen ein Computer handeln soll. Schritt

Mehr

Erfüllbarkeit und Allgemeingültigkeit

Erfüllbarkeit und Allgemeingültigkeit Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 3.3 Aussagenlogik Erfüllbarkeit 44 Erfüllbarkeit und Allgemeingültigkeit Def.: eine Formel ϕ heißt erfüllbar, wennesein I gibt, so dass I = ϕ

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

THEORETISCHE INFORMATIK THEORETISCHE INFORMATIK Vorlesungsskript Jiří Adámek Institut für Theoretische Informatik Technische Universität Braunschweig Januar 2014 Inhaltsverzeichnis 1 Endliche Automaten 1 1.1 Mathematische Grundbegriffe.......................

Mehr

Theoretische Informatik II

Theoretische Informatik II Theoretische Informatik II Einheit 4.6 Elementare Berechenbarkeitstheorie II: Unlösbare Probleme 1. Beweistechniken für Unlösbarkeit 2. Wichtige unlösbare Probleme 3. Der Satz von Rice 4. Unentscheidbare

Mehr

Übung Grundlagen der Programmierung. Übung 05: Arrays. Abgabetermin: xx.xx.xxxx. Java-Programm Testplan Testergebnisse

Übung Grundlagen der Programmierung. Übung 05: Arrays. Abgabetermin: xx.xx.xxxx. Java-Programm Testplan Testergebnisse Übung 05: Arrays Abgabetermin: xx.xx.xxxx Name: Name, Vorname Matrikelnummer: 0XXXXXX Gruppe: G1 (Prähofer) G2 (Wolfinger) G3 (Wolfinger) Aufgabe Punkte gelöst abzugeben schriftlich abzugeben elektronisch

Mehr

Algorithmen und Programmierung

Algorithmen und Programmierung Algorithmen und Programmierung Kapitel 5 Formale Algorithmenmodelle A&P (WS 14/15): 05 Formale Algorithmenmodelle 1 Überblick Motivation Formale Algorithmenmodelle Registermaschine Abstrakte Maschinen

Mehr

Minimalismen in der. Informatik

Minimalismen in der. Informatik Minimalismen in der Informatik Andreas Schwill Institut für Informatik Universität Potsdam Überblick Einstieg Maschinenbegriff Bausteinsätze Modellierung Phantasien zu Komplexität und Kompliziertheit 2

Mehr

Theoretische Informatik 2

Theoretische Informatik 2 Theoretische Informatik 2 Jürgen Koslowski Institut für Theoretische Informatik Technische Universität Braunschweig SS 2015 http://www.iti.cs.tu-bs.de/ koslowj/theo2 Jürgen Koslowski (TU-BS) Theoretische

Mehr

Seminar über Software Model Checking Vortrag zum Thema Predicate Abstraction

Seminar über Software Model Checking Vortrag zum Thema Predicate Abstraction Seminar über Software Model Checking Vortrag zum Thema Predicate Abstraction Robert Mattmüller Betreuer: Prof. Dr. Stefan Leue Wintersemester 2003/2004 1. Dezember 2003 1 Software Model Checking Predicate

Mehr

Rekursionsanfang, Rekursionsschritt oder äquivalente Antworten. (z.b.: Abbruchbedingung (= Basisfall), eigentliche Rekursion (= Selbstaufruf))

Rekursionsanfang, Rekursionsschritt oder äquivalente Antworten. (z.b.: Abbruchbedingung (= Basisfall), eigentliche Rekursion (= Selbstaufruf)) Formale Methoden der Informatik WS / Lehrstuhl für Datenbanken und Künstliche Intelligenz Prof.Dr.Dr.F.J.Radermacher H. Ünver T. Rehfeld J. Dollinger 8. Aufgabenblatt Besprechung in den Tutorien vom..

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

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

Basis und Dimension. Als nächstes wollen wir die wichtigen Begriffe Erzeugendensystem und Basis eines Vektorraums definieren.

Basis und Dimension. Als nächstes wollen wir die wichtigen Begriffe Erzeugendensystem und Basis eines Vektorraums definieren. Basis und Dimension Als nächstes wollen wir die wichtigen Begriffe Erzeugendensystem und Basis eines Vektorraums definieren. Definition. Sei V ein K-Vektorraum und (v i ) i I eine Familie von Vektoren

Mehr

ARBEITSBLATT ZU FORMALEN SPRACHEN

ARBEITSBLATT ZU FORMALEN SPRACHEN ARBEITSBLATT ZU FORMALEN SPRACHEN Aufgabe 1: Gegeben ist die folgende Formale Sprache L(G) mit G = (T, N, P, S). Die Produktionen lauten ZUWEISUNG ::= name zuweisungsoperator AUSDRUCK semikolon AUSDRUCK

Mehr

8: Zufallsorakel. Wir suchen: Einfache mathematische Abstraktion für Hashfunktionen

8: Zufallsorakel. Wir suchen: Einfache mathematische Abstraktion für Hashfunktionen Stefan Lucks 8: Zufallsorakel 139 Kryptogr. Hashfunkt. (WS 08/09) 8: Zufallsorakel Unser Problem: Exakte Eigenschaften von effizienten Hashfunktionen nur schwer erfassbar (z.b. MD5, Tiger, RipeMD, SHA-1,...)

Mehr

Erstellen von x-y-diagrammen in OpenOffice.calc

Erstellen von x-y-diagrammen in OpenOffice.calc Erstellen von x-y-diagrammen in OpenOffice.calc In dieser kleinen Anleitung geht es nur darum, aus einer bestehenden Tabelle ein x-y-diagramm zu erzeugen. D.h. es müssen in der Tabelle mindestens zwei

Mehr

Ein kausaler Zusammenhang entspricht einer speziellen wahren Implikation. Beispiel: Wenn es regnet, dann wird die Erde nass.

Ein kausaler Zusammenhang entspricht einer speziellen wahren Implikation. Beispiel: Wenn es regnet, dann wird die Erde nass. Implikation Implikation Warum ist die Tabelle schwer zu schlucken? In der Umgangssprache benutzt man daraus folgt, also, impliziert, wenn dann, nur für kausale Zusammenhänge Eine Implikation der Form:

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

1 Vom Problem zum Programm

1 Vom Problem zum Programm 1 Vom Problem zum Programm Ein Problem besteht darin, aus einer gegebenen Menge von Informationen eine weitere (bisher unbekannte) Information zu bestimmen. 1 Vom Problem zum Programm Ein Algorithmus ist

Mehr

Einführung in Online-Algorithmen

Einführung in Online-Algorithmen Einführung in Online-Algorithmen Skript zur Vorlesung Effiziente Algorithmen von Berthold Vöcking, RWTH Aachen 1. Juni 2007 Hilfreiche Literatur Borodin, El-Yaniv: Online Computation and Competitive Analysis,

Mehr

TEILWEISE ASYNCHRONE ALGORITHMEN

TEILWEISE ASYNCHRONE ALGORITHMEN TEILWEISE ASYNCHRONE ALGORITHMEN FRANK LANGBEIN Literatur: D. Berseas, J. Tsitsilis: Parallel and distributed computatoin, pp. 48 489 URI: http://www.langbein.org/research/parallel/ Modell teilweiser asynchroner

Mehr

Motivation. Formale Grundlagen der Informatik 1 Kapitel 10. Motivation. Motivation. Bisher haben wir mit TMs. Probleme gelöst/entschieden/berechnet.

Motivation. Formale Grundlagen der Informatik 1 Kapitel 10. Motivation. Motivation. Bisher haben wir mit TMs. Probleme gelöst/entschieden/berechnet. bei TMs bei Computern Formale Grundlagen der Informatik 1 Kapitel 10 Frank Heitmann heitmann@informatik.uni-hamburg.de Bisher haben wir mit TMs Probleme gelöst/entschieden/berechnet. Dabei war entscheidbar

Mehr

Theoretische Informatik

Theoretische Informatik Theoretische Informatik Einheit 1 Mathematische Methodik 1. Problemlösen 2. Beweistechniken 3. Wichtige Grundbegriffe Methodik des Problemlösens Klärung der Voraussetzungen Welche Begriffe sind zum Verständnis

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

Geometrische Mannigfaltigkeiten

Geometrische Mannigfaltigkeiten Geometrische Mannigfaltigkeiten Thilo Kuessner Abstract Kurzfassung der Vorlesung: Definitionen, Beispiele und Sätze, keine Beweise. Definition 1. Ein topologischer Raum ist eine Menge X mit einer Familie

Mehr

Ideen der Informatik. Was ist ein Computer? Was ist ein Programm? Können Computer Alles? Kurt Mehlhorn und Adrian Neumann

Ideen der Informatik. Was ist ein Computer? Was ist ein Programm? Können Computer Alles? Kurt Mehlhorn und Adrian Neumann Ideen der Informatik Was ist ein Computer? Was ist ein Programm? Können Computer Alles? Kurt Mehlhorn und Adrian Neumann Was ist ein Computer? 2 Übersicht Was ist ein Computer, ein Programm? Turings Antwort

Mehr

Cloud-Architekturen auf verschiedenen Ebenen Seminar: Datenbankanwendungen im Cloud Computing

Cloud-Architekturen auf verschiedenen Ebenen Seminar: Datenbankanwendungen im Cloud Computing Cloud-Architekturen auf verschiedenen Ebenen Seminar: Datenbankanwendungen im Cloud Computing Andreas Wixler INSTITUTE FOR PROGRAM STRUCTURES AND DATA ORGANIZATION, FACULTY OF INFORMATICS KIT University

Mehr

Fallunterscheidung: if-statement

Fallunterscheidung: if-statement Fallunterscheidung: if-statement A E 1 E 2 V 1 V 2 Syntax: if ( ausdruck ) Semantik: else anweisungsfolge_1 anweisungsfolge_2 1. Der ausdruck wird bewertet 2. Ergibt die Bewertung einen Wert ungleich 0

Mehr

Beweisbar sichere Verschlüsselung

Beweisbar sichere Verschlüsselung Beweisbar sichere Verschlüsselung ITS-Wahlpflichtvorlesung Dr. Bodo Möller Ruhr-Universität Bochum Horst-Görtz-Institut für IT-Sicherheit Lehrstuhl für Kommunikationssicherheit bmoeller@crypto.rub.de 6

Mehr

HaSi Jugend hackt Coaching-Leitfaden

HaSi Jugend hackt Coaching-Leitfaden 1 : Hallo Coaching-Leitfaden zum Kinder- und Jugendprogramm des HaSi e.v. Dein Hackspace in Siegen http://hasi.it/kiju 2 : Was wollen wir machen Was wollen wir machen? Du möchtest bei einem Workshop des

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Tutorium 4 26..25 INSTITUT FÜR THEORETISCHE INFORMATIK KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu

Mehr

J.5 Die Java Virtual Machine

J.5 Die Java Virtual Machine Java Virtual Machine Die Java Virtual Machine 22 Prof. Dr. Rainer Manthey Informatik II Java-Compiler und Java Virtual Machine Quellcode-Datei class C... javac D.java Java-Compiler - Dateien class class

Mehr

Einführung in Petri-Netze

Einführung in Petri-Netze Einführung in Petri-Netze Modellierung und Analysen von Workflows Vertretung: Stephan Mennicke, Reaktive Systeme SS 2012 Organisatorisches In der 24. KW (11.06. 17.06.): Vorlesung am Dienstag, 15:00 Uhr

Mehr

Was ist ein Computer?

Was ist ein Computer? Grundlagen 1 Lernziel der Vorlesung: Einblicke und Überblicke zu den Mitteln der Informatik Hardware und Software den Methoden der Informatik Analysieren, Entwerfen, Algorithmieren, Programmieren, Testen,

Mehr

Beispiel. Bsp.: Betrachte Schlussweise in: (3) folgt aus (1) und (2), siehe z.b. Resolutionsregel. was ist mit folgender Schlußweise:

Beispiel. Bsp.: Betrachte Schlussweise in: (3) folgt aus (1) und (2), siehe z.b. Resolutionsregel. was ist mit folgender Schlußweise: Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 5.4 Prädikatenlogik mit Gleichheit Resolution 192 Beispiel Bsp.: Betrachte Schlussweise in: 1 Wenn es regnet, dann wird die Straße nass. R N

Mehr

Fachseminar WS 2008/09

Fachseminar WS 2008/09 Fachseminar WS 2008/09 Fachgebiet: Compilerbau Thema: Lexikalische Analyse (Scanner) Referent: Ali Sediq Betreuer: Prof. Dr. Helmut Weber 1 Inhaltsverzeichnis Lexikalische Analyse 1.0 Grundprobleme der

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

Approximationsalgorithmen

Approximationsalgorithmen Ausarbeitung zum Thema Approximationsalgorithmen im Rahmen des Fachseminars 24. Juli 2009 Robert Bahmann robert.bahmann@gmail.com FH Wiesbaden Erstellt von: Robert Bahmann Zuletzt berarbeitet von: Robert

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

Minimale Darstellungen, Kommutator- und Fixräume, projektive Geometrie

Minimale Darstellungen, Kommutator- und Fixräume, projektive Geometrie Notation Die in dieser Arbeit verwendete Notation ist im Wesentlichen Standard, so wie sie beispielsweise in [As] zu nden ist. Einige Abweichungen hiervon, Klarstellungen und zusätzliche Notationen (sofern

Mehr

Informatik. Studiengang Chemische Technologie. Michael Roth WS 2012/2013. michael.roth@h-da.de. Hochschule Darmstadt -Fachbereich Informatik-

Informatik. Studiengang Chemische Technologie. Michael Roth WS 2012/2013. michael.roth@h-da.de. Hochschule Darmstadt -Fachbereich Informatik- Informatik Studiengang Chemische Technologie Michael Roth michael.roth@h-da.de Hochschule Darmstadt -Fachbereich Informatik- WS 2012/2013 Inhalt Teil VII Einstieg in Java I Michael Roth (h_da) Informatik

Mehr

Uebersicht. Webpage & Ilias. Administratives. Lehrbuch. Vorkenntnisse. Datenstrukturen & Algorithmen

Uebersicht. Webpage & Ilias. Administratives. Lehrbuch. Vorkenntnisse. Datenstrukturen & Algorithmen Datenstrukturen & Algorithmen Uebersicht Administratives Einleitung Ein einführendes Beispiel Matthias Zwicker Universität Bern Frühling 2010 2 Administratives Dozent Prof. Zwicker, zwicker@iam.unibe.ch

Mehr

Optimierung. Optimierung. Vorlesung 7 Lineare Programmierung II. 2013 Thomas Brox, Fabian Kuhn

Optimierung. Optimierung. Vorlesung 7 Lineare Programmierung II. 2013 Thomas Brox, Fabian Kuhn Optimierung Vorlesung 7 Lineare Programmierung II 1 Lineare Programme Lineares Programm: Lineare Zielfunktion Lineare Nebenbedingungen (Gleichungen oder Ungleichungen) Spezialfall der konvexen Optimierung

Mehr

Universität Koblenz-Landau, Abteilung Koblenz FB 4 Informatik. Seminar Entscheidungsverfahren für logische Theorien. Endliche Modelle.

Universität Koblenz-Landau, Abteilung Koblenz FB 4 Informatik. Seminar Entscheidungsverfahren für logische Theorien. Endliche Modelle. Universität Koblenz-Landau, Abteilung Koblenz FB 4 Informatik Seminar Entscheidungsverfahren für logische Theorien Tobias Hebel Koblenz, am 18.02.2005 Inhaltsverzeichnis 1 Einleitung... 3 2 Grundlagen...

Mehr

SOI 2013. Die Schweizer Informatikolympiade

SOI 2013. Die Schweizer Informatikolympiade SOI Die Schweizer Informatikolympiade Lösung SOI Wie schreibe ich eine gute Lösung? Bevor wir die Aufgaben präsentieren, möchten wir dir einige Tipps geben, wie eine gute Lösung für die theoretischen

Mehr

B H 0 H definieren, die somit die Antwort des Ordnungsparameters auf eine Variation der dazu konjugierten

B H 0 H definieren, die somit die Antwort des Ordnungsparameters auf eine Variation der dazu konjugierten In Anwesenheit eines äußeren magnetischen Felds B entsteht in der paramagnetischen Phase eine induzierte Magnetisierung M. In der ferromagnetischen Phase führt B zu einer Verschiebung der Magnetisierung

Mehr

Einführung in die Programmierung, WS 14/15 Übungsleiter: Sebastian Ebers <ebers@itm.uni-luebeck.de> Aufgabenblatt 2

Einführung in die Programmierung, WS 14/15 Übungsleiter: Sebastian Ebers <ebers@itm.uni-luebeck.de> Aufgabenblatt 2 Übung zur Vorlesung Einführung in die Programmierung, WS 14/15 Übungsleiter: Sebastian Ebers Aufgabenblatt 2 Abgabe: 17.11.2014, vor der Vorlesung / Großübung (10:00 Uhr, AM

Mehr

Einführung in die Informatik Grammars & Parsers

Einführung in die Informatik Grammars & Parsers Einführung in die Informatik Grammars & Parsers Grammatiken, Parsen von Texten Wolfram Burgard Cyrill Stachniss 12.1 Einleitung Wir haben in den vorangehenden Kapiteln meistens vollständige Java- Programme

Mehr

1 Syntax von Programmiersprachen

1 Syntax von Programmiersprachen 1 Syntax von Programmiersprachen Syntax ( Lehre vom Satzbau ): formale Beschreibung des Aufbaus der Worte und Sätze, die zu einer Sprache gehören; im Falle einer Programmier-Sprache Festlegung, wie Programme

Mehr