Minimalismen in der. Informatik



Ähnliche Dokumente
Übung Theoretische Grundlagen

Theoretische Informatik I

Zeichen bei Zahlen entschlüsseln

Kann ein Computer denken?

Informatik 2 Labor 2 Programmieren in MATLAB Georg Richter

Mathematik. UND/ODER Verknüpfung. Ungleichungen. Betrag. Intervall. Umgebung

Fachdidaktik der Informatik Jörg Depner, Kathrin Gaißer

der Eingabe! Haben Sie das Ergebnis? Auf diesen schwarzen Punkt kommen wir noch zu sprechen.

Semantik von Formeln und Sequenzen

SWE5 Übungen zu Software-Engineering

Formale Sprachen und Grammatiken

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage:

Das Pflichtenheft. Dipl.- Ing. Dipl.-Informatiker Dieter Klapproth Ains A-Systemhaus GmbH Berlin

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster

Programmiersprachen und Übersetzer

6.2 Petri-Netze. kommunizierenden Prozessen in der Realität oder in Rechnern Verhalten von Hardware-Komponenten Geschäftsabläufe Spielpläne

2. Negative Dualzahlen darstellen

Übung Grundlagen der Programmierung. Übung 03: Schleifen. Testplan Testergebnisse

-Inhalte an cobra übergeben

Kapitel 1: Einführung. Was ist Informatik? Begriff und Grundprobleme der Informatik. Abschnitt 1.1 in Küchlin/Weber: Einführung in die Informatik

Eine Logikschaltung zur Addition zweier Zahlen

Theoretische Informatik SS 04 Übung 1

9 Auto. Rund um das Auto. Welche Wörter zum Thema Auto kennst du? Welches Wort passt? Lies die Definitionen und ordne zu.

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

OutLook 2003 Konfiguration

Zahlensysteme: Oktal- und Hexadezimalsystem

Was meinen die Leute eigentlich mit: Grexit?

SMS-Versand in MACS Einrichtung des SMS-Versand Verwendung des SMS-Versandes Der SMS-Versand Empfängerfeld Empfänger-Rufnummer Inhalt der SMS

Grammatiken. Einführung

Grundbegriffe der Informatik

Institut für Telematik Universität zu Lübeck. Programmieren. Kapitel 0: Organisatorisches. Wintersemester 2008/2009. Prof. Dr.

Grundlagen der Technischen Informatik. Sequenzielle Netzwerke. Institut für Kommunikationsnetze und Rechnersysteme. Paul J. Kühn, Matthias Meyer

Zahlensysteme. von Christian Bartl

Grundlagen der Informatik

Eine Einführung in die Installation und Nutzung von cygwin

Grundbegriffe der Informatik

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?

Grundlagen von Python

Programmierkurs Java

Informatikgrundlagen (WS 2015/2016)

AutoTexte und AutoKorrektur unter Outlook verwenden

Serienbrieferstellung in Word mit Kunden-Datenimport aus Excel

Skript und Aufgabensammlung Terme und Gleichungen Mathefritz Verlag Jörg Christmann Nur zum Privaten Gebrauch! Alle Rechte vorbehalten!

Daten verarbeiten. Binärzahlen

Grundlagen der Theoretischen Informatik, SoSe 2008

Erwin Grüner

FIS: Projektdaten auf den Internetseiten ausgeben

Also kann nur A ist roter Südler und B ist grüner Nordler gelten.

Teil 1: IT- und Medientechnik

WS 2002/03. Prof. Dr. Rainer Manthey. Institut für Informatik III Universität Bonn. Informationssysteme. Kapitel 1. Informationssysteme

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

Mediumwechsel - VR-NetWorld Software

Probleme beim Arbeiten mit Variablen, Termen und Gleichungen

«Eine Person ist funktional gesund, wenn sie möglichst kompetent mit einem möglichst gesunden Körper an möglichst normalisierten Lebensbereichen

Erfolgreiche Webseiten: Zur Notwendigkeit die eigene(n) Zielgruppe(n) zu kennen und zu verstehen!

Informationsblatt Induktionsbeweis

Geld wechseln kann als Visualisierung des Zehnerübergangs dienen. Die Zwischengrössen (CHF 2.-, 5.-, 20.-, 50.-) weglassen.

Kurzeinweisung. WinFoto Plus

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

M. Graefenhan Übungen zu C. Blatt 3. Musterlösung

Übungen zur Softwaretechnik

Anleitung: Einrichtung der Fritz!Box 7272 mit VoIP Telefonanschluss

Windows XP Jugendschutz einrichten. Monika Pross Molberger PC-Kurse

Automatisches Beantworten von - Nachrichten mit einem Exchange Server-Konto

Verkehrsteilnehmer. Beispiel: Wir betrachten die Modellierung von Handlungskomponenten wie Verkehrsteilnehmern und Straßen.

Facebook I-Frame Tabs mit Papoo Plugin erstellen und verwalten

Wurzeln als Potenzen mit gebrochenen Exponenten. Vorkurs, Mathematik

Proxy. Krishna Tateneni Übersetzer: Stefan Winter

Beschreibung Regeln z.b. Abwesenheitsmeldung und Weiterleitung

Mit dem Tool Stundenverwaltung von Hanno Kniebel erhalten Sie die Möglichkeit zur effizienten Verwaltung von Montagezeiten Ihrer Mitarbeiter.

Software Engineering Interaktionsdiagramme

Mobile-Szenario in der Integrationskomponente einrichten

OLXTeamOutlook 1.5 für Outlook 2003, 2002/XP, 2000 und 97/98

Vorgestellt von Hans-Dieter Stubben

1 topologisches Sortieren

Konzepte der Informatik

In diesem Tutorial lernen Sie, wie Sie einen Termin erfassen und verschiedene Einstellungen zu einem Termin vornehmen können.

Kurze Anleitung zum Guthaben-Aufladen bei.

Unterrichtsmaterialien in digitaler und in gedruckter Form. Auszug aus:

Diana Lange. Generative Gestaltung Operatoren

Grundlagen der Programmierung Prof. H. Mössenböck. 3. Verzweigungen

Zahlen und das Hüten von Geheimnissen (G. Wiese, 23. April 2009)

Objektorientierte Programmierung für Anfänger am Beispiel PHP

Was ist das Budget für Arbeit?

Lineare Gleichungssysteme

PowerMover. Eine Zusatz-Anwendung für Outlook-PowerUser. Damit können eingehende s schneller verwaltet werden. Vasquez Systemlösungen

Wie bekomme ich eine Adresse. Eva Lackinger, Rene Morwind Margot Campbell

Kurzbeschreibung. ABC-Baubetriebshof. Version 3.0

Anleitung Typo3-Extension - Raumbuchungssystem

Grundbegriffe der Informatik

OSD-Branchenprogramm. OSD-Version Was ist neu? EDV-Power für Holzverarbeiter

AUTOMATISCHE -ARCHIVIERUNG. 10/07/28 BMD Systemhaus GmbH, Steyr Vervielfältigung bedarf der ausdrücklichen Genehmigung durch BMD!

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.

Ein Vorwort, das Sie lesen müssen!


Computerarithmetik ( )

Das Leitbild vom Verein WIR

Robot Karol für Delphi

Transkript:

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 1 Einstieg 3 Modellieren 1 01 0011011 0101000 0101110 0101001 1010010 1001100 Maschine 2

3 Minimalismen in der Informatik Minimierung von Ressourcen Datenkompression Laufzeit Speicherbedarf... Minimierung von Beschreibungen Maschinenbegriff Bausteinsätze Konstruktoren... geringe Komplexität bei ggf. hoher Kompliziertheit hohe Komplexität bei geringer Kompliziertheit Merkmale Komplexität Unüberschaubarkeit der generierten Struktur Kompliziertheit Unüberschaubarkeit der Beschreibung der Struktur

4 2 Maschinenbegriff Zielvorstellung [Minsky, Thue, Church, Turing,...] Wie läßt sich das Wesen eines Automaten/einer Maschine erfassen? Was sind die Minimalmerkmale, die eine Maschine/ein Automat besitzen muß, um Maschine/Automat genannt werden zu können? Definitionen 1) künstliche Verbindungen widerstandsfähiger Körper, vermöge deren mechanische Kräfte genötigt werden, unter gewissen Bedingungen bestimmte Bewegungen zu bewirken... [Brockhaus 1924] 2) Vorrichtung, die nach dem Einrichten und Beschicken vorbestimmte Handlungen nach einem Auslöseimpuls selbständig und zwangsläufig, unter Umständen auch überwacht und geregelt, auf mechanischem, elektrischem, hydraulischem, pneumatischem Wege ablaufen läßt... [Meyers 1971] 3) Vorrichtung, mit der eine zur Verfügung stehende Energieform in eine andere, für einen bestimmten Zweck geeignete Form umgewandelt wird... [Meyers 1975] 4) jedes Gerät, jede Vorrichtung, jedes System, das einen bestimmten Input (bzw. bestimmte Typen von Inputs) in einen bestimmten Output (bzw. bestimmte Typen von Outputs) verarbeitet... [Klaus 1971]

5 Allgemeines Automatenmodell: Eingaben τ Ausgaben e E α z Zustände ω a A Problem: keine Einschränkungen an α, τ, ω. Folglich: auf "Machbares" einschränken aber nichts Machbares wegschneiden Beispiel für einen Automaten, bei dem die Freiheiten auf genau das "Machbare" eingeschränkt sind: Turingmaschine [A. Turing 1936]

6 Aufbau Eingabe... # # # 2 7 # 1 5 6 # # # # #... Lese-Schreibkopf # Leerzeichen 5 Zustandskasten vorher nachher Zustand Band Zustand Band Kopf 1 # 2 1 L 1 2 1 3 R............... 17 1 S 2 L............... Turingtafel

7 Beispiele: [Quelle für Turing-Simulator: http://math.hws.edu/tmcm/programs/xturingmachine.hqx] 1) Addition zweier Dualzahlen 2) Sortieren Theoretisches Ergebnis: Die Turingmaschine ist DAS Modell eines Automaten: Sie kann alles, was ein Automat überhaupt können kann, aber nicht mehr. Churchsche These: Jede intuitiv berechenbare Funktion ist auch Turing-berechenbar und umgekehrt. Überlegungen zur Minimalisierung: Wieviele Bandsymbole braucht man? -> max. 2 Wieviele Schritte werden benötigt?... Wieviele Zustände benötigt man?

8 Busy-Beaver-Turingmaschine: Beispiel für die Komplexität des Maschinenmodells Gegeben Anzahl n der Zustände Bandalphabet {,#} leeres Band Gesucht Turingmaschine, die irgendwann stoppt und zugleich möglichst viele Striche auf das Band schreibt

9 Beispiele: Zustände Striche Schritte Busy Beaver 3 6 11 Busy Beaver 4 13 107 Busy Beaver 5 4098 47176870 Administration 0 67 Beaver Scientific Beaver 1 187 Government Beaver??? 2.000.000.000

10 3 Bausteinsätze Wie baut man Maschinen? Ziel: möglichst wenige Bausteine Einzigartiges Ergebnis in der Informatik: EIN Baustein reicht aus: NAND-Gatter NOR-Gatter E1 E1 1 A A E2 E2 E1 E2 A E1 E2 A Realisierung durch etwa 10 elektron. Bauelemente, wie Transistoren, Widerstände

11 Beispiel: Addierer a b s u

12 4 Modellierung Schaffen künstlicher Welten (im Rechner), die sich so verhalten wie ihre Vorbilder. Was ist Modellbildung? Original T Modell M Subjekt S Zweck P Wie bildet man reale Welten im Rechner ab? Zwei Teilaspekte: Gegenstände --> Datenstrukturen einer Programmiersprache Abläufe --> Kontrollstrukturen einer Programmiersprache -> Zwei schöne Minimalsysteme

13 Idee: Baukastenprinzip mit wenigen einfachen Grundbausteinen, wenigen einfachen Kombinationsregeln, aber beliebige Anwendung der Regeln ("komplex, aber nicht kompliziert") Modellierung von Daten Also: Baukasten = (Elementare Datentypen; Konstruktoren) Datenstrukturbaukasten= int, ganze Zahlen real, Dezimalzahlen bool, Wahrheitswerte wahr, falsch char; Zeichen a,b,c, Semikolon, Komma,... Aggregation Generalisation Rekursion... Modellierung ("Verdatung") der gesamten realen Welt durch den obigen Baukasten

14 Beispiele: 1) Fahrzeuge=Pkw Lkw Bus Marke Fahrgestellnr. Typ P Sitzplätze Frontantrieb Hubraum Leistung

15 Marke Fahrgestellnr. Typ B Sitzplätze Stehplätze Elektroantr.

16 Modellierung von Abläufen Baukasten = (elementare Abläufe; Konstruktoren) Elementarer Ablauf: Variable := Ausdruck über Objekte mit Grundoperationen Konstruktoren: Hintereinanderausführung ; Beispiel: Telefonhörer abnehmen; Nummer wählen bedingte Anweisung wenn... dann... sonst... ende Beispiel: wenn 12:00 Uhr dann Pause machen sonst weiterschlafen ende bedingte Schleife solange... tue... ende Beispiel: solange Auto schmutzig tue putzen Modellierung aller maschinisierbaren Abläufe (-> Turingmaschine) durch den obigen Baukasten

17 Beispiel: Wieviele Fahrzeuge befinden sich in der Autoschlange s? n:=0; solange s ε tue s:=rumpf(s); n:=n+1 ende; Ausgabe n. Renault MAN VW ε Kopf Rumpf Renault MAN VW ε

18 5 Phantasien zu Komplexität und Kompliziertheit Komplexität Unüberschaubarkeit von Strukturen Bedingung hochentwickelter Systeme Organismen Gesellschaften Verwaltungen Kompliziertheit Unüberschaubarkeit der Beschreibung von Strukturen Maß für die Einfachheit der Beschreibung des Managements der Beherrschung von Komplexität Steigerung der Leistungsfähigkeit -> Steigerung der Komplexität Reduktion der Komplexität -> Reduktion der Leistungsfähigkeit Ethischer Imperativ: Verhalte Dich stets so, daß sich die Zahl der Alternativen erhöht geringe Effizienz hoher Ressourcenverbrauch geringe Überlebenschancen im Wettbewerb geringe Verständlichkeit und Einflußnahme Machtakkumulation und -erhaltung Reduktion der Selbstbestimmung/Entscheidungsfreiheit Subsidiaritätsprinzip Lean Management Outsourcing Deregulierung Profit Center Management by Objectives Beispiele: Steuerverwaltung Bauordnungsrecht Rentenversicherung Krankenversicherung