This content was uploaded by our users and we assume good faith they have the permission to share this book. If you own the copyright to this book and it is wrongfully on our website, we offer a simple DMCA procedure to remove your content from our site. Start by pressing the button below!
Wirtschaftsmathematik Herausgegeben von: Wolfgang König, Heinrich Rommelfanger, Dietrich Ohse, Oliver Wendt, Markus Hofmann, Michael Schwind, Klaus Schäfer, Helmut Kuhnle, Andreas Pfeifer
2., überarbeitete und erweiterte Auflage
Verlag
Harri Deutsch
Bibliografische Information Der Deutschen Bibliothek Die Deutsche Bibliothek verzeichnet diese Publikation in der Deutschen Nationalbibliografie; detaillierte bibliografische Daten sind im Internet über http://dnb.ddb.de abrufbar. ISBN 3-8171-1694-2
Dieses Werk ist urheberrechtlich geschützt. Alle Rechte, auch die der Übersetzung, des Nachdrucks und der Vervielfältigung des Buches – oder von Teilen daraus – sind vorbehalten. Kein Teil des Werkes darf ohne schriftliche Genehmigung des Verlages in irgendeiner Form (Fotokopie, Mikrofilm oder ein anderes Verfahren), auch nicht für Zwecke der Unterrichtsgestaltung, reproduziert oder unter Verwendung elektronischer Systeme verarbeitet werden. Zuwiderhandlungen unterliegen den Strafbestimmungen des Urheberrechtsgesetzes. Der Inhalt des Werkes wurde sorgfältig erarbeitet. Dennoch übernehmen Herausgeber, Autoren und Verlag für die Richtigkeit von Angaben, Hinweisen und Ratschlägen sowie für eventuelle Druckfehler keine Haftung.
2., überarbeitete und erweiterte Auflage 2003 c Wissenschaftlicher Verlag Harri Deutsch GmbH, Frankfurt am Main, 2003 Satz: Satzherstellung Dr. Steffen Naake, Chemnitz Druck: Clausen & Bosse, Leck Printed in Germany
Autoren (in alphabetischer Reihenfolge) Dipl.-Phys. Thomas Achenbach, FTZ, Telekom, Darmstadt, Prof. Dr. Jürgen Albrecht, Märkische Fachhochschule Iserlohn, Prof. Dr. Paul Alpar, Uni Marburg, Prof. Dr. Hans Babovsky, TU Ilmenau, Dr. Steffen Bass, Duke University, Prof. Dr. V. Baumgartner, HTW des Saarlandes, Saarbrücken, Dr. Arnd Bischoff, Uni Frankfurt, Dr. Marcus Bleicher, Uni Frankfurt, Prof. Dr. Steffen Bohrmann, Uni Kaiserslautern, Prof. Dr. Gerhard Brecht, Lemgo, Dipl.-Ing. Gerd Brinkmann, Leipzig, Dr. Gerd Buchwald, Christ Verlag, Prof. Dr. Helmut Carl, FH Biberach, Prof. Dr. Peter Chamoni, Uni Duisburg, Prof. Dr. Jörg Desel, KU Eichstätt, Dr. Ralf Dielschneider, SAP AG, Prof. Dr. A. Dobranis, Rheinische FH Köln, Prof. Dr. Adrian Dumitru, Uni Frankfurt, Dr. Ulrich Eichmann, Uni Frankfurt, Prof. Dr. Günter Flach, Dresden, Dr. Norbert Fleischer, Moskau, Prof. Dr.-Ing. Rainer Fremd, FH Rheinland-Pfalz, Abt. Kaiserslautern, Dipl.-Kfm. Markus Fricke, Uni Frankfurt, Prof. Dr. Siegfried Fuchs, Dresden, Prof. Dr. W. Glaser, FH Hamburg, Prof. Günter Graf, FH Karlsruhe, Dr. Harald Graf, Frankfurt, Prof. Dr. Adolf Grauel, Uni GH Paderborn, Dipl.-Kfm. Sven Grolik, Uni Frankfurt, Prof. E. Groth, FH Hamburg, Prof. Dr. Werner Güth, Humboldt-Universität Berlin, Dr. Christoph Hartnack, Ecole de Mines und Subatech Nantes, Prof. Dr. M. Herrmann, Uni Jena, Prof. Dr. Martin Hitz, Uni Klagenfurt, Dr. Christian Hofmann, Deutsche Bank AG, Dr. Markus Hofmann, Sun Microsystems, Langen, Prof. Dr. W. Hofner, FH Ravensburg-Weingarten, Dipl.-Inform. Jürgen Hollatz, TU München, Prof. Dr. Peter Junglas, FH Vechta/Diepholz, Dr. Kyung-Ho Kang, Uni Frankfurt, Prof. Dr. Gerti Kappel, TU Wien, Prof. Dr. K. Karow, FH Rheinland Pfalz, Dr. Andreas von Keitz, Frankfurt, Prof. Dr. Wolfgang König, Uni Frankfurt, Dr. Jens Konopka, Deutsche Flugsicherung, Langen, Prof. Dr. H.-J. Kröcker, Humboldt-Uni Berlin, Prof. Dr. Helmut Kuhnle, Uni Hohenheim, Dipl.-Ing. Helmut Kutz, Mauser AG, Oberndorf,
Prof. Dr. Eberhard Lanckau, TU Chemnitz, Prof. Dr. Bernd Luderer, TU Chemnitz, Prof. Dr.-Ing. Holger Lutz, FH Gießen-Friedberg, Prof. Dr.-Ing. Dipl.-Math. Monika Lutz, FH Gießen-Friedberg, Dr. Raffaele Mattiello, Frankfurt, Gerhard Merziger, Hannover, Prof. Dr. Heinz Dieter Motz, Uni Wuppertal, Dipl.-Ing. Robert Münzel, Studiendirektor, Feldbergschule Oberursel, Prof. Dr. Andreas Oberweis, Uni Frankfurt, Prof. Dr. Dietrich Ohse, Uni Frankfurt, Prof. Dr. Andreas Pfeifer, FH Darmstadt, Prof. Dr. Rudolf Pitka, FH Frankfurt, Prof. Dr. Kai Rannenberg, Uni Frankfurt, Prof. Dr. Rüdiger Reischuk, Uni Lübeck, Dr. Hans-Georg Reusch, Uni Münster, Prof. Dr. Wieland Richter, Uni GH Paderborn, Prof. Dr. Dirk Rischke, Uni Frankfurt, Prof. Dr. Heinrich Rommelfanger, Uni Frankfurt, Dr. Matthias Rosenstock, Frankfurt, Dipl.-Inform. Heiko Rossnagel, Uni Frankfurt, Dipl.-Inform. Inge Rumrich, Uni Frankfurt, Dr. Klaus Rumrich, Schumann und Partner, Köln, Dr. Klaus Schäfer, Uni München, Dr. Wolfgang Schäfer, Bosch Telekom, Paris, Prof. Dr. Jürgen Schaffner, Frankfurt, Dr. H.-J. Schell, TU Chemnitz, Dr. Thomas Schönfeld, DG Bank, Frankfurt, Prof. Dr. Thomas Schramm, HAW Hamburg, Prof. Dr. Bernd Schürmann, Siemens AG, Prof. Dr. Karlheinz Schüffler, FH Krefeld, Prof. Dr. Gerhard Schwabe, Uni Zürich, Dipl. Wirtsch.-Ing. Michael Schwind, Uni Frankfurt, Dr. Christian Spieles, KfW, Frankfurt, Prof. Dr. Horst Stöcker, Uni Frankfurt, Dipl.-Kfm. Tim Stockheim, Uni Frankfurt, Dr. Juri Stolyarsky, JINR Dubna, Prof. Dr. Georg Terlecki, FH Rheinland-Pfalz, Abt. Kaiserslautern, Prof. Dr. Peter Thieler, FH Flensburg, Dr. Dirk Troltenier, Louisiana State University, Prof. Dr. Christof Weinhart, Uni Karlsruhe, Dr. Oliver Wendt, Uni Frankfurt, Prof. Dr. Wilhelm Werner, FH Heilbronn, Außenstelle Künzelsau, Dr. Luke Winckelmann, Hewlett Packard, Bad Homburg, Prof. Dr. Robert Winter, Uni St. Gallen, Prof. Dr. Ulrich Wöhrl, FH Zwickau, Dr. Mario Vidovi´c, Sun Microsystems, Langen, Dr.-Ing. Dieter Zetsche, Vorstand Daimler-Chrysler AG, Detroit.
Was für wen? Die Lösung von Aufgabenstellungen in Wirtschaft und Verwaltung wie auch in den Ingenieur- und Naturwissenschaften wird heute durch den Einsatz von leistungsfähigen Computern, insbesondere vernetzten PCs bestimmt. Zur Anwendung kommen hierbei Methoden der Mathematik, Wirtschaftsinformatik, Informatik, Statistik sowie des Operations Research. Neben den Methoden der analytischen Mathematik kommen zunehmend rechnergestützte Simulationsverfahren zum Einsatz. Zur Unterstützung des Verständnisses einzelner Verfahren sind jeweils Beispiele ihrer Anwendung in der Praxis notwendig. Darüber hinaus sollen die Methoden in einen strukturellen Zusammenhang eingebettet werden, um Variationen zwischen den einzelnen Vorgehensweisen und deren jeweiliger Anwendbarkeit leicht erkennen zu können. Das Taschenbuch der Wirtschaftsinformatik und Wirtschaftsmathematik wurde von erfahrenen Wissenschaftlern und in der Praxis tätigen Ingenieuren unter diesen Gesichtspunkten entworfen und realisiert. Es spannt den Bogen vom Basiswissen für Studienanfänger über das Aufbauwissen für fortgeschrittene Studierende bis hin zu Fragestellungen für „Spezialisten“. Darüber hinaus liefert das Taschenbuch der Wirtschaftsinformatik und Wirtschaftsmathematik den technisch-konzeptionellen Hintergrund für den Aufbau und Betrieb von vernetzten Informationssystemen sowie den formalen Hintergrund für Entscheidungsträger in Wirtschaft und Verwaltung. In der hier vorliegenden zweiten vollständig überarbeiteten und stark erweiterten Auflage spiegelt sich die rasante Fortentwicklung der Wirtschaftsinformatik. Die zunehmende Bedeutung von webbasierten Applikationen findet ihren Niederschlag im neuen Kapitel „Vernetzung als Wettbewerbsfaktor“. Zudem wird nun auch die Spieltheorie als ein Bindeglied zwischen Mathematik und Wirtschaftstheorie ausreichend gewürdigt.
Wozu? Das Taschenbuch der Wirtschaftsinformatik und Wirtschaftsmathematik ist zugleich ein umfassendes Nachschlagewerk für die Berufspraxis, ein rasch verfügbarer Informationspool z. B. für Klausur- und Prüfungsvorbereitung sowie ein sicheres Hilfsmittel beim Lösen von Problemen und Übungsaufgaben.
Was ist enthalten und wie wird es dargestellt? ● alle wichtigen Begriffe, Formeln und Regeln ■ zahlreiche Beispiele und praktische Anwendungen ▲ Hinweise auf Fehlerquellen, wichtige Tips und Querverweise
Struktur und Besonderheiten Die Leserinnen und Leser gewinnen die benötigten Informationen gezielt und rasch durch die benutzerfreundliche Gestaltung des Taschenbuchs: • strukturiertes Inhaltsverzeichnis, • Griffleisten und farbige Lesezeichen für den schnellen Zugriff, • umfassendes Stichwortverzeichnis.
Leserkontakt Wir möchten auch Sie als Nutzer des Taschenbuchs bitten, Vorschläge und Ergänzungen an den Verlag zu senden. Herausgeber und Verlag Harri Deutsch Gräfstraße 47 D-60486 Frankfurt am Main [email protected] http://www.harri-deutsch.de/verlag/
Universalrechensysteme (URS) oder Mehrfunktionsautomaten sind die in der betrieblichen Praxis am häufigsten verwendeten Rechenanlagen. Sie sind prinzipiell für verschiedene Anwendungsbereiche einsetzbar. Der häufigste Vertreter dieser Rechnergattung ist der so genannte Personal Computer (PC). ▲ Im Gegensatz hierzu gibt es Spezialrechner, die für besondere Aufgaben entwickelt worden sind. ■ Rechner zur Steuerung von Dreh- und Fräsmaschinen.
Diese Spezialrechner bilden oftmals mit der zu steuernden Maschine eine Einheit und sind nicht Gegenstand der folgenden Darstellungen. ● Bei den hier zu betrachtenden URS unterscheidet man zwischen der Hardware und der Software des Systems. Unter Hardware versteht man alle Geräte, die der Benutzer „anfassen“ kann, die also materielle Eigenschaften besitzen. Der Begriff Software hingegen kennzeichnet alle immateriellen Bestandteile des Systems. ■ MS Office, Linux
1.1
Bestandteile der Hardware
■ Die einzelnen Bestandteile der Hardware werden hier am Beispiel eines PC-Arbeitsplatzes erklärt.
PC-Arbeitsplatz Ein typischer PC-Arbeitsplatz besteht aus den folgenden Hardwarekomponenten: • der Zentraleinheit, die sich aus Prozessor und Hauptspeicher zusammensetzt, • dem externen Speicher (z. B. Festplatte, CD-ROM, Diskette), • den Dateneingabegeräten (z. B. Tastatur, Maus, Scanner) sowie • den Datenausgabegeräten (z. B. Bildschirm, Drucker). ▲ Darüber hinaus lässt sich ein PC-Arbeitsplatz um eine Netzwerkschnittstelle (z. B. Netzwerkkarte, Modem) ergänzen, wodurch ein Anschluss an ein Kommunikationsnetz ermöglicht wird.
2
1 Universalrechensysteme und Netze
▲ Moderne Arbeitsplätze für Videokonferenzen bieten zusätzlich Mikrofon und Kamera als Eingabesowie Lautsprecher oder Kopfhörer als Ausgabegeräte. ▲ Neben diesen stationären Arbeitsplätzen gewinnen portable PCs an Bedeutung. Verbreitet sind vor allem Notebooks, die in ihrer Größe ungefähr dem DIN-A4-Format entsprechen. Kleiner sind Taschencomputer, so genannte Personal Digital Assistants (PDAs). Ähnliche Funktionen dieser Geräte werden allerdings in zunehmendem Maße auch von speziellen Mobiltelefonen übernommen, die als Smartphones bezeichnet werden. Die grundsätzliche Arbeitsweise eines Rechnersystems ist das EVA-Prinzip (Eingabe-Verarbeitung-Ausgabe-Prinzip): ■ Daten werden zunächst mittels Eingabegeräten oder externen Speichern eingegeben. Diese Daten werden dann in der Zentraleinheit zu Ergebnissen verarbeitet und anschließend über die Ausgabegeräte ausgegeben oder auf externen Speichern abgelegt. Schematisch kann dieser Prozess wie folgt dargestellt werden: externer Speicher
Zentraleinheit
Hauptspeicher Dateneingabe z. B. Tastatur oder Maus
Cache
Cache
AB
Datenausgabe z. B. Bildschirm oder Drucker
DB Prozessor
Steuerwerk
Rechenwerk
Legende: AB: Adressbus DB: Datenbus
Aufbau einer Zentraleinheit Eine Zentraleinheit besteht in der Grundform aus einem Hauptspeicher und einem Prozessor. Der Prozessor wiederum setzt sich aus einem Rechenwerk zur Ausführung der gestellten Aufgabe und einem Steuerwerk zur Ablaufkoordination zwischen allen Elementen des Gesamtsystems zusammen.
1.1.1
Prozessor
Prozessoren stellen das eigentliche Kernstück von DV-Systemen dar. Die Leistungsfähigkeit von Prozessoren wird mit der Taktfrequenz (i. d. R. in der Maßzahl Gigahertz) angegeben. Sie bestimmt, wie viele Befehle pro Sekunde ausgeführt werden können. Aus der Taktfrequenz können allerdings keine direkten Rückschlüsse auf die Verarbeitungsgeschwindigkeit eines Systems gezogen werden, da diese u. a. auch von der Prozessorarchitektur und dem Mix der zum Einsatz kommenden Programme beeinflusst wird. ● Die Verbindung zwischen den Einheiten erfolgt über spezielle Daten- und Adressleitungen, so genannte Busse: • Der Adressbus verbindet Hauptspeicher und Steuerwerk, • der Datenbus verbindet Hauptspeicher und Rechenwerk. ▲ Die Busbreite ist die Anzahl der Bits, die auf einmal über den Bus übertragen werden können.
Die Verarbeitungsgeschwindigkeit des Prozessors ist i. d. R. wesentlich höher als die Zugriffsgeschwindigkeit auf die Daten im Hauptspeicher.
1.1 Bestandteile der Hardware
3
● Caches sind Bestandteile des Prozessors und halten Informationen vor, die vom Rechner voraussichtlich demnächst abgerufen werden. ▲ Die Busbreite und die Größe der gleichzeitig mit einem Befehl verarbeitbaren Datenmenge unterscheiden die einzelnen Prozessoren. Der INTEL 80486 sowie der 68040 von Motorola sind 32-Bit Prozessoren mit einem 32-Bit-Daten- und -Adressbus, während der INTEL Pentium und der AMD Thunderbird einen 64-Bit breiten Datenbus und einen 36-Bit-Adressbus besitzen.
1.1.2
Hauptspeicher
Der Hauptspeicher eines PC-Systems besteht aus dem Arbeitsspeicher und dem Festwertspeicher. ● Der Arbeitsspeicher (Random Access Memory (RAM)) setzt sich aus direkt adressierbaren Speicherzellen zusammen. Die einzelnen Speicherzellen sind in Bytes organisiert, wobei eine Zelle aus zwei bis vier Bytes besteht. Ein Byte besteht aus 8 Bit, d. h., es können 28 = 256 mögliche Werte dargestellt werden. Ein Bit ist eine binäre Einheit, die nur die beiden Zustände 0 oder 1 annehmen kann. ▲ Die Hauptspeicherkapazität wird in Kilobytes (210 Bytes = 1024 Bytes) und Megabytes (220 Bytes
= 1048576 Bytes) gemessen. ● Im Hauptspeicher müssen sich alle relevanten Teile eines auszuführenden Programms und seiner
Daten befinden. Moderne Betriebssysteme vergrößern daher den physikalisch vorhandenen Arbeitsspeicher durch die virtuelle Speichertechnik. Hierbei werden Programmteile, die im Moment nicht zur Verarbeitung notwendig sind, auf den externen Speicher ausgelagert. ● Da der Arbeitsspeicher ein stromzufuhrabhängiger Halbleiterspeicher ist, hat eine Unterbrechung
der Stromzufuhr einen Verlust aller Daten im Arbeitsspeicher zur Folge. Deshalb ist eine Speicherung aller Daten, die wieder verwendet werden sollen, auf einem externen Speicher notwendig. ● Der Festwertspeicher (Read Only Memory (ROM)) dient u. a. zur Aufbewahrung grundlegender Teile des Betriebssystems. Die Informationen bleiben auch bei einem Stromausfall erhalten. Das ROM kann nur gelesen, nicht jedoch beschrieben werden. Dies erfolgt i. d. R. durch den Hersteller. ▲ Insbesondere wird hier die Information abgelegt, von welchem externen Speicher der Rechner das
Betriebssystem laden soll.
1.1.3
Externer Speicher
● Der externe Speicher dient zur langfristigen Aufbewahrung größerer Datenmengen. Man kann hierbei verschiedene Arten von externen Speichern unterscheiden: • Festplatte • Diskette • Magnetband bzw. Streamer • optische Speicher. ● Eine Festplatte (auch Harddisk genannt) ist ein Speicher, der besonders für die Aufnahme von großen Datenmengen und für den schnellen Zugriff auf diese Daten geeignet ist. ■ Es handelt sich hierbei um mehrere Aluminium- oder Kunststoffscheiben, die mit einer magnetisier-
baren Schicht überzogen sind. Die Daten werden auf diesem Speichermedium durch Magnetisierung einzelner Teilbereiche abgelegt. Die Festplatten sind hierbei in konzentrische Kreise (Spuren) eingeteilt, die wiederum in einzelne Teilbereiche (Sektoren) unterteilt werden. Der kleinsten Dateneinheit, dem Bit, kann hierbei durch Magnetisierung in der einen oder anderen Richtung der Wert 0 bzw. 1 zugewiesen werden.
4
1 Universalrechensysteme und Netze ● Das Speicherungsprinzip der Festplatten bezeichnet man als halbdirekten Speicherzugriff. Der
Zugriff auf die einzelnen Daten erfolgt durch Schreib-Leseköpfe, während sich die Scheiben mit einer konstanten Geschwindigkeit drehen. Der S-L-Kopf ist über den Magnetscheiben angeordnet und kann radial vor- und zurückgefahren werden, um die einzelnen Spuren zu erreichen. Ist die gewünschte Spur erreicht, muss der S-L-Kopf nur noch warten, bis der gewünschte Sektor mit den Daten „vorbeikommt“. Durch diese Art der Speicherung kann sehr schnell auf die jeweiligen Daten quasi direkt zugegriffen werden. ■ Die Festplatten moderner PCs erreichen heute Speicherkapazitäten von mehreren Gigabytes (1
Das internationale Maßeinheitensystem definiert „kilo“ = 103 , „Mega“ = 106 , „Giga“ = 109 . Im IT-Bereich ist jedoch das Binärsystem das zugrunde liegende Zahlensystem, sodass man üblicherweise definiert: „kilo“ = 210 = 1024 ≈ 103 und analog „Mega“ = 220 , „Giga“ = 230 . Die Abweichungen der Definitionen von „kilo“, „Mega“ etc. sind oft der Grund für anscheinend unpräzise Größenangaben für Festplatten!
● Vorteile von Festplatten sind:
• • • •
die hohe Speicherkapazität, der halbdirekte, d. h. relativ schnelle Zugriff, die Wiederverwendbarkeit, da Daten überschrieben werden können, sowie die relativ hohe Datensicherheit.
● Die Diskette ist im PC-Bereich noch heute einer der weitverbreitesten externen Speicher. Es handelt sich hierbei um eine flexible, 3 12 Zoll große, magnetisierbare Scheibe, die in ein Laufwerk eingeschoben wird. Die Speicherung der Daten erfolgt prinzipiell wie bei der Festplatte, sie besitzt jedoch eine geringere Speicherkapazität, längere Zugriffszeiten und bietet eine wesentlich geringere Datensicherheit. Dafür kann sie ausgetauscht werden und ist erheblich billiger. ■ Disketten gibt es heute noch in dem PC-Standardformat 3 12 Zoll mit einer Speicherkapazität zwi-
schen 1,44 bzw. 2,88 MB. Sie verbinden die Vorteile eines austauschbaren Speichermediums mit halbdirektem Zugriff mit den Nachteilen geringerer Speicherkapazität. ▲ Neben Disketten haben eine Reihe von transportablen Speichermedien mit ähnlicher Funktionsweise
Verbreitung gefunden, die jedoch durch höhere Umdrehungsgeschwindigkeiten und alternative Formate Kapazitäten von 120 MB bis 2 GB bei niedrigen Zugriffszeiten erreichen (z. B. LS-, Zipund Jaz-Disketten). ● Magnetbänder sind Kunststoffstreifen mit einer aufgedampften magnetisierbaren Schicht, auf der die Daten gespeichert werden. ● Streamer entsprechen Magnetbandspeichern in Kassettenform mit einer Speicherkapazität bis zu mehreren GB. ▲ Magnetbandspeicher besitzen den Nachteil der sequenziellen Speicherung: Um einen bestimmten
Datensatz zu lesen, muss erst auf alle vor ihm gespeicherten Datensätze sequenziell zugegriffen werden, wodurch lange Zugriffszeiten entstehen. Dieses Speichermedium eignet sich deshalb hauptsächlich zur Datensicherung (Backup) und Archivierung. ● Optische Systeme speichern die Daten mittels eines Laserstrahls. Die Daten werden auf einer unter einer Schutzschicht liegenden Speicherschicht aufgezeichnet. Die hierbei erzeugte Veränderung der Speicherschicht kann mittels eines Laserstrahls gelesen werden. Bedingt durch die genaue Positionierung des Laserstrahls kann auf einer kleinen Fläche eine große Datenmenge gespeichert werden. Auch bei diesen Medien erfolgt der Zugriff wie bei den Magnetplatten im halbdirekten Zugriff.
1.1 Bestandteile der Hardware
5
Man unterscheidet folgende Techniken: • Das ROM-Prinzip (Read Only Memory) eignet sich besonders für den Vertrieb von Standardsoftware und Multimedia-Anwendungen und -Daten, da diese vom Hersteller auf das Medium geschrieben werden und vom Anwender nur gelesen werden können. ■ Die CD-ROM (Compact Disc-Read-Only Memory) besitzt eine Speicherkapazität von bis zu
1 GB (Gigabyte), die übliche Größe beträgt jedoch 650 MB (Megabyte). ■ Bei Digital Versatile Disks (DVDs) handelt es sich um eine CD-Nachfolge-Technologie mit we-
sentlich erhöhter Speicherkapazität (bis ca. 17 GB). Eine DVD ist ähnlich einer CD sowohl in der Unterhaltungselektronik (DVD-ROM) als auch als Speichermedium (DVD-RAM) einsetzbar. • WORM-Medien (Write Once Read Many) sind Speichermedien, die vom Anwender einmalig beschrieben und dann viele Male gelesen werden können. Diese Speichermedien eignen sich besonders für die dauerhafte Speicherung wichtiger Unternehmensdaten, auf die immer wieder schnell zugegriffen werden muss. ■ Die CD-Recordable (CD-R) ist ein WORM-Medium, welches von handelsüblichen CD-ROM
Laufwerken gelesen werden kann. Sie bietet den Vorteil geringer Kosten in Verbindung mit einer hohen Portabilität. • Das Phase-Change-Prinzip stellt die digitalen Zustände 0 und 1 durch unterschiedliche optische Eigenschaften der speziellen Aufzeichnungsschicht im amorphen und kristallinen Zustand dar. Somit entstehen mehrfach beschreibbare optische Medien, auf denen einige tausend Schreibvorgänge durchgeführt werden können. ■ CD-Read-Write (CD-RW) ▲ Da der Unterschied im Reflexionsverhalten der beiden Zustände relativ klein ist, kann eine CD-
RW nicht von herkömmlichen CD-ROM-Laufwerken gelesen werden. • MO-Medien (MO = magneto optical) sind kombinierte magnetisch-optische Speicherverfahren. Sie nutzen die Veränderung der optischer Eigenschaften eines Speichermediums durch seine Magnetisierung. Das Auslesen der Daten erfolgt mittels eines Laserstrahls, sodass ähnlich hohe Spurdichten wie bei einer CD-ROM erreicht werden. ▲ MO-Medien können beliebig oft beschrieben werden. ▲ Moderne MO-Laufwerke gestatten zur CD-ROM vergleichbare Speicherkapazitäten und Daten-
sicherheit. Die Kosten für Laufwerk und Medien sind jedoch wesentlich höher als für CD-Rs. ● Smartcards haben das Format einer Scheckkarte und verfügen i. d. R. über einen Mikroprozessor mit eingebautem Speicher, dessen Inhalt verändert werden kann. Die Kapazität liegt derzeit bei ca. 15 DINA4-Seiten. Folgende Varianten kann man unterscheiden: • Memory Cards dienen ausschließlich zur Speicherung von Daten und werden u. a. als Krankenversicherungskarte verwendet. • Processor Cards verfügen über einen eigenen Mikroprozessor inklusive Betriebssystem. Dadurch können Daten nicht nur gespeichert, sondern auch verarbeitet werden. Sie finden u. a. in Telefonkarten Anwendung. • Encryption Cards verfügen über einen zusätzlichen Prozessor, den so genannten Co-Prozessor, der zur Verschlüsselung von Daten z. B. in elektronischen Zahlungssystemen dienen kann. ● Multi Media Cards (MMC) sind mit der Größe einer Briefmarke und einem Gewicht von weniger als zwei Gramm die kleinsten Speichermedien. Sie besitzen eine Speicherkapazität von bis zu 128 MByte und werden in mobilen Geräten bspw. zum Speichern von MP3-Files verwendet. ● Memory Sticks wurden von Sony entwickelt und sind etwas Größer als MMCs, besitzen jedoch nicht mehr Speicherkapazität. Andere Hersteller haben den Standard bis jetzt nicht übernommen.
6
1 Universalrechensysteme und Netze
1.1.4
Datenwege
● Als interne und externe Datenwege in Mikrorechnern werden vorwiegend Busse verwendet. Man unterscheidet folgende Datenwege: • Interne Datenwege dienen dem Datentransport innerhalb der CPU, z. B. zwischen Prozessor und Hauptspeicher. • Externe Datenwege übertragen Daten zwischen peripheren Geräten, z. B. externen Speichern und Arbeitsspeicher. ▲ Dagegen bedienen sich Großrechner stärker dem Kanalkonzept zur internen und externen Kommunikation. Dabei kann man sich einen Kanal als einen auf den Datentransport spezialisierten Prozessor vorstellen, der parallel zum Zentralprozessor läuft. Auch der Kanal benötigt ein Programm, das ebenfalls im Hauptspeicher liegt, d. h. Zentralprozessor und Kanalprozessor(en) arbeiten auf einem gemeinsamen Hauptspeicher.
1.1.5
Ein- und Ausgabegeräte
● Das wichtigste Dateneingabegerät neben der Tastatur ist die Maus. Unter einer Maus versteht man ein etwa faustgroßes Gerät mit einer Rollkugel oder einem optischen Abnehmer auf der Unterseite. ▲ Die Erkennung einer Ortsveränderung und deren Umsetzung in Impulse zur Bewegung des Posi-
tionierungspfeils (Pointer) auf dem Bildschirm erfolgen z. B. über mechanische Sensoren, die von der Rollkugel angesprochen werden. Durch Drücken der auf der Maus vorhandenen Tasten werden bestimmte Funktionen ausgelöst (in Abhängigkeit von der Position des Zeigers auf dem Bildschirm). ● Einen Trackball kann man sich als eine auf dem Rücken liegende Maus mit Rollkugel vorstellen. Die Kugel wird vom Benutzer direkt in Bewegung versetzt und steuert den Positionszeiger auf dem Bildschirm. ● Ein Touchpad ist eine wenige Quadratzentimeter große Sensorfläche, die auf direkten Fingerdruck reagiert und die Bewegung auf den Positionszeiger überträgt. ▲ Trackball und Touchpad sind besonders bei tragbaren Computern (Notebooks oder Laptops)
verbreitet, um dort platzsparend eine Maus zu emulieren. ● Ein Grafik-Tablett ist ein Eingabegerät, das besonders für Computer Aided Design (CAD)-Anwendungen geeignet ist. Vorlagen in Papierform können so millimetergenau in den Rechner eingegeben werden. ● Ein Joystick wird häufig bei Computerspielen verwendet. Über einen Hebel kann der Pointer bewegt und über Tasten eine Funktion ausgelöst werden. ● Ein Touchscreen ist ein Bildschirm, der gleichzeitig Ein- und Ausgabegerät ist. Die Funktionen werden durch die direkte Berührung bestimmter Felder auf dem Bildschirm ausgelöst. ▲ Da er durch fehlende empfindliche Kleinteile besonders robust und wartungsfrei ist, wird der
Touchscreen als bevorzugtes Eingabemedium für öffentlich zugängliche Computersysteme wie z. B. Geldautomaten verwendet. ● Ein optischer Belegleser ist ein Eingabegerät zum Erfassen von genormten Daten durch Abtastung der Vorlage mittels Licht. So werden optische Belegleser an Scannerkassen von Supermärkten (BAR-Codes) oder in Kreditinstituten zum Einlesen von Formularen verwendet. ▲ Eine weitere Variante eines optischen Beleglesers ist der Scanner, welcher eine Vorlage wie z. B.
Fotos und Grafiken in Bildpunkte zerlegt und als Graubild oder auch in Farbe erfasst. ▲ Auch die Handschrifterkennung, wie sie zurzeit in Kleinstcomputern eingesetzt wird, zählt zu den
Möglichkeiten der optischen Beleglesung.
1.2 Systematisierung der Software
7
● Zunehmendes Gewicht gewinnt im Rahmen von Multimediaanwendungen die Dateneingabe durch Kamera und Mikrofon. ▲ Ähnlich wie bei der Schrifterkennung ist das Hauptproblem bei der Spracherkennung die Verschie-
denheit der Sprache in Tonlage, Dialekt, Deutlichkeit und Lautstärke. Um eine akzeptable Voice Control realisieren zu können, muss das System auf einzelne Benutzer „trainiert“ werden. ● Das wichtigste Ausgabegerät ist der Bildschirm (Monitor). Er dient zur Datenausgabe und unterstützt die Eingabe, da auf dem Bildschirm z. B. auch Masken zur Datenerfassung und Symbole (Icons) zur Aktivierung von Programmen dargestellt werden. Die Auflösung gibt die Anzahl der Bildschirmpunkte (Picture Elements = Pixel) an, mit der Grafiken auf dem Bildschirm darstellbar sind. ▲ Ein Bildschirm ist nur in Verbindung mit einer Grafikkarte einsetzbar. Die Höhe der Auflösung
und die Anzahl der Farben werden durch die Grafikkarte und die Eigenschaften des Bildschirms bestimmt. ● Der Drucker ist ein weiteres Ausgabegerät. Er erlaubt es, Arbeitsergebnisse zu Papier zu bringen. Heute werden Tintenstrahl- und Laserdrucker eingesetzt. Beim Tintenstrahldrucker werden Zeichen und Grafiken aus Einzelpunkten zusammengesetzt, die als schnell trocknende Tinte auf das Papier gespritzt werden. Laserdrucker besitzen im Vergleich eine bessere Druckqualität und eine höhere Arbeitsgeschwindigkeit. Die Seite wird im Drucker als Ganzes aufgebaut und mittels Toner auf Papier übertragen.
1.2
Systematisierung der Software SOFTWARE
SYSTEMSOFTWARE
ANWENDUNGSSOFTWARE
Betriebssysteme Übersetzungsprogramme Dienstprogramme Protokolle und Treiber
Klassifizierung von Software ● Software bildet die Voraussetzung für den Betrieb eines Rechners und bezeichnet allgemein in einer Programmiersprache (vgl. Kapitel 2) geschriebene Programme, die auf einem Rechner ausführbar sind. Man unterscheidet nach dem Kriterium der Nähe zur Hardware bzw. der Nähe zum Anwender zwischen Systemsoftware und Anwendungssoftware.
8
1 Universalrechensysteme und Netze
1.2.1
Systemsoftware
● Zur Systemsoftware zählen: • Betriebssystem • Übersetzungsprogramme (für verschiedene Programmiersprachen) • Dienstprogramme (z. B. Programme zum Sortieren von Daten) • Protokolle • Treiber (zur Kommunikation mit Peripheriegeräten und anderen Rechnern im Netz)
a) Betriebssystem ▲ Ein Betriebssystem stellt alle Funktionen für den Zugriff auf Ein- und Ausgabegeräte sowie die externen Speicher zur Verfügung. Hauptaufgabe des Betriebssystems ist die Bildung einer Schnittstelle zu dem Benutzer bzw. zwischen dem Anwendungssystem und der Hardware. ● Betriebssysteme haben folgende Aufgaben zu erfüllen: • Verwaltung von Ein- und Ausgabengeräten • Verwaltung der Hardware-Betriebsmittel (Prozessor, Hauptspeicher, externe Speicher) • Umgebung schaffen, in der Programme ausgeführt werden können • Überwachung der Programmabläufe • Protokollierung • Bereitstellung eines Systems zur Dateiverwaltung • Verwaltung der Benutzeraufträge • Bereitstellung einer (grafischen oder textuellen) Schnittstelle, die es dem Benutzer erlaubt, mit dem System zu kommunizieren. ● Da ein Betriebssystem Teil eines jeden Rechnersystems ist, gibt es zahlreiche Einsatzgebiete für Betriebssysteme, die zum Teil recht unterschiedliche Anforderungen an das Betriebssystem stellen. • Mainframes: Als Mainframes bezeichnet man große Server, die eine Vielzahl von Benutzern bedienen. Mainframebetriebssysteme versuchen eine möglichst effiziente Auslastung von Ressourcen zu erreichen. ■ Beispiele für Mainframebetriebssysteme sind: OS/390, Unix
• Workstations/PCs: Workstations/PCs sind meist einem einzelnen Benutzer zugeordnet. Bei ihnen steht eine Benutzerfreundliche Bedienbarkeit im Vordergrund. ■ Beispiele für Workstation/PC-Betriebssysteme sind: Windows 9x, Windows NT, Windows 2000,
Windows ME, Windows XP, MacOS, OS/2, Unix (Linux) • Embedded Systems: Als Embedded Systems bezeichnet man zweckgebundene Systeme, mit denen der User interagiert, aber keine Möglichkeit zu Konfiguration hat. Typische Einsatzgebiete für Embedded Systems sind Geldautomaten, Waschmaschinen und Navigationssysteme. ■ Beispiele für Betriebssysteme von Embedded Systems sind: Windows CE, Embedded XP,
Embedded Linux. • Mobile Geräte: Im Bereich der Taschencomputer haben sich eine Reihe weiterer Betriebssysteme etabliert, die sich insbesondere durch eine hohe Leistungsfähigkeit bei geringem Ressourcenverbrauch auszeichnen. ■ Beispiele für Betriebssysteme von Mobilgeräten sind: Pocket PC, Windows CE, PalmOS, Sym-
bian. ● Betriebssystemarten • Einfache Batch-Systeme: Ein einfaches Batch-System führt eine Reihe von Programmen hintereinander aus. Der Benutzer kann während sein Programm läuft nicht mehr interagieren. Solche
1.2 Systematisierung der Software
•
•
• •
• •
9
Systeme verfügen über eine geringe Prozessorauslastung und werden heute in der Praxis nicht mehr eingesetzt. Multiprogramm Batch-Systeme: Multiprogramm Batch-Systeme verfügen über die Möglichkeit zum Job-Scheduling. Das Betriebssystem hält mehrere Programme im Arbeitsspeicher und führt ein Programm so lange durch, bis es blockiert wird, z. B durch eine Anforderung an ein I/O-Device. Dann wechselt das Betriebssystem zu einem anderen Programm. Der Benutzer ist nicht in der Lage ein Programm zu beinflussen, während es läuft. Time-Sharing Systeme: Time-Sharing oder Multitasking ist die logische Fortsetzung des Multiprogramming. Es werden mehrere Programme von der CPU bearbeitet, aber die Wechsel zwischen den einzelnen Prozessen werden so schnell durchgeführt, dass der Benutzer mit den Programmen während ihrer Laufzeit interagieren kann. Time-Sharing Systeme sind ausgelegt für viele Benutzer, die jeweils einen Teil der Rechenzeit zugeordnet bekommen. PC-Systeme: PC Systeme sind einem einzelnen Benutzer zugeordnet. Sie sind dafür ausgelegt, möglichst benutzerfreundlich zu sein und weniger ein maximale Auslastung der Ressourcen zu erreichen. Parallele Systeme: Parallele Systeme verwalten mehrere Prozessoren, wodurch Prozesse beschleunigt werden können. Eine Verdoppelung der Prozessoren führt allerdings nicht zu einer Verdoppelung der Rechengeschwindigkeit, da ein Overhead für die Verteilung der Aufgaben benötigt wird. In parallelen Systemen teilen sich mehrere Prozessoren den Hauptspeicher. Verteilte Systeme: Verteilte Systeme bestehen aus mehreren Prozessoren, von denen jeder über einen eigenen Arbeitsspeicher verfügt. Man bezeichnet solche Systeme häufig auch als lose gekoppelte Systeme. Echtzeitsysteme: Echtzeitsysteme werden verwendet, wenn es strenge Zeitanforderungen für Prozessoroperationen oder Datenfluss gibt.
● Folgende Eigenschaften charakterisieren moderne Betriebssysteme für Mikrocomputer: • Eine grafische Benutzeroberfläche (Graphical User Interface (GUI)), also eine auf die Benutzung mit der Maus ausgelegte, intuitive Benutzeroberfläche, die den unkomplizierten und leicht erlernbaren Umgang mit dem Computer ermöglichen soll. Die von ihr zur Verfügung gestellte Fenstertechnik wird auch von den Anwendungsprogrammen verwendet. ■ Vertreter dieser GUIs sind:
– – – –
MacOS von Apple Presentation Manager (PM) für OS/2 von IBM MS-Windows 95/98/ME/NT/2000/XP Motif, OpenWin und X-Windows für UNIX und Derivate
▲ Die Unterscheidung zwischen Betriebssystem und GUI ist nicht stringent, da einige GUIs fester
Bestandteil des Betriebssystems (aktuelle MS Windows Versionen, MacOS von Apple), andere hingegen Zusatzprodukte sind (PM für OS/2, X-Windows für UNIX und Derivate). • Eine hierarchische Dateiverwaltung ist vergleichbar mit der klassischen Papierverwaltung in Büros. Ein Aktenschrank enthält Regalböden (z. B. für Rechnungen, Belege etc.), auf denen einzelne Hefter stehen, in welche die Belege eingeordnet sind. Entsprechend werden in der Informationsverarbeitung Daten gesammelt und gemeinsam mit den Methoden, nach denen sie zu verarbeiten sind (Programme), gespeichert. ▲ Dateien können als Zusammenfassung logisch zusammengehörender Daten verstanden werden,
die vom Anwender in Verzeichnissen und Unterverzeichnissen auf den externen Speichermedien abgelegt und verwaltet werden können.
10
1 Universalrechensysteme und Netze • Eíne Batchverarbeitung, durch welche die aufeinander folgende Ausführung einer in Form einer Datei abgelegten Sequenz von Befehlen ohne Eingriff des Benutzers ermöglicht wird. Die Befehlsfolge muss vor Beginn der Ausführung vollständig spezifiziert werden. ■ Eine mögliche Anwendung für Batchverarbeitung ist der Ausdruck aller Lohnabrechnungen
eines Unternehmens. • Eine Funktion zur Dialogverarbeitung, auch interaktive Arbeitsweise genannt, bei der der Benutzer der Zentraleinheit lediglich Teilaufträge freigibt. Somit steht er ständig mit der Zentraleinheit in Kontakt, da das System z. B. die Eingabe eines Befehls erwartet, der dann sofort ausgeführt wird. ■ Beispiel ist die Erfassung eines Kundenauftrags in einer Bildschirmmaske.
• Multitasking, das die Fähigkeit des Betriebssystems zur quasi-gleichzeitigen Ausführung mehrerer Programme bezeichnet. Jedem Prozess wird für eine bestimmte Zeit Prozessorleistung gewährt und dann an den nächsten Prozess weitergegeben, bis der erste Prozess wieder an der Reihe ist (Zeitscheiben- bzw. Timesharing-Verfahren). Hierdurch wird scheinbar eine parallele Bearbeitung der einzelnen Prozesse erreicht. Jedem Prozess steht eine bestimmte Zeitscheibe zur Verfügung, in der er von der CPU bearbeitet wird. Ist diese Zeitscheibe abgelaufen, wird zum nächsten Prozess gewechselt. ▲ Man spricht von Multithreading, wenn ein Betriebssystem zulässt, dass ein Prozess aus
mehreren Leichtgewichtprozessen (Threads) besteht, z. B. aus einem Druckprozess und einem Rechenprozess, und der Rechner diese quasi-parallel ausführt. Durch diese Unterteilung in Leichtgewichtprozesse, wird der Overhead beim Prozesswechsel deutlich geringer. ■ So kann bspw. ein Text bearbeitet werden, während im Hintergrund eine Kalkulation durchge-
führt wird. • Multiusing, das die quasi-parallele Bedienung mehrerer Terminals und damit mehrerer Benutzer über einen zentralen Rechner erlaubt. Eine gleichzeitige Bearbeitung der einzelnen Benutzeraufträge wird allerdings nur scheinbar erreicht, da die interaktiven Prozesse der einzelnen Benutzer nach dem Timesharing-Prinzip abgearbeitet werden. Warteschlangen werden nach dem Prinzip „First come, first serve“ bedient.
erstellt von ciando
▲ Der gleichzeitige Zugriff mehrerer Benutzer wird durch die Bedienung mehrerer Terminals oder
durch Netzwerke erreicht. Bei besonders großen DV-Systemen übernehmen spezielle Vorrechner die Koordination des gesamten Ablaufs. ■ Multiusing-fähige Betriebssysteme sind UNIX, LINUX, MS Windows 2000 Server, OS/2 Server.
• Warteschlangen (Queues) zur Abarbeitung von zeitunkritischen Prozessen: Drucken, E-Mail und Faxversendung sind Prozesse in Warteschlangen, die eine niedrige Priorität haben und bei großer Rechnerlast nur eine kleine Zeitscheibe zugeteilt bekommen. Sie werden erst dann abgearbeitet, wenn keine Prozesse mit höherer Priorität mehr Rechenzeit anfordern. ▲ Alle Prozesse in einer Warteschlange werden sequenziell und nicht gleichzeitig abgearbeitet. ▲ Interaktive Prozesse können nicht über Warteschlangen abgewickelt werden, sondern bedürfen
der kontinuierlichen Zuteilung von Rechenzeit.
b) Übersetzungsprogramme ▲ Die Übersetzung eines Quellcodes in einen Objektcode erfolgt durch einen Compiler oder einen Interpreter. ● Compiler übersetzen das gesamte Quellprogramm „in einem Stück“ (Batch). Vor der Übetragung wird das Programm auf Syntaxfehler, z. B. korrekte Schreibweise aller Befehle, überprüft. Im nächsten
1.2 Systematisierung der Software
11
Schritt erfolgt die Übersetzung (Kompilierung). Das Programm ist noch nicht lauffähig und muss durch den Linker (Binder) um Hilfsprogramme (z. B. zur Ein- und Ausgabesteuerung) erweitert werden. Durch die Gesamtschau erfolgt eine Optimierung des Objektcodes. Das ablauffähige Programm kann gespeichert werden. ▲ Eine getrennte Kompilierung von in sich geschlossenen Teilprogrammen (Module) eines gesamten
Programmpakets ist möglich. Die Teile lassen sich später zu einem lauffähigen Programm verlinken. ▲ Nachteilig bei der Benutzung von Compilern ist, dass bei Fehlerkorrekturen oder Programmände-
rungen das Teilprogramm neu kompiliert werden muss. ● Interpreter erzeugen keinen archivierbaren Objektcode. Jeder Befehl wird einzeln abgearbeitet, d. h. immer wieder neu übersetzt und sofort ausgeführt. Dieses Vorgehen ist vorteilhaft für die interaktive Programmentwicklung, da man die Richtigkeit einzelner ausgeführter Programmschritte verfolgen kann. ▲ In einigen Programmiersprachen werden beide Vorgehensweisen kombiniert. Ein Java-Quellprogramm wird zuerst mittels eines Compilers in einen plattformunabhängigen Zwischencode (Byte Code) transformiert. Dieser Byte Code wird in einem zweiten Schritt durch eine so genannte Java Virtual Machine (JVM) interpretiert.
c) Dienstprogramme, Protokolle und Treiber ● Dienstprogramme sind kleine Hilfsprogramme zur Abwicklung systemorientierter, häufig wiederkehrender, anwendungsneutraler Aufgaben. Hierzu zählen insbesondere: • Editoren, also Programme zum Lesen, Ändern und Schreiben von Dateien mit formatierten Texten, Grafiken u. Ä. • Sortierprogramme zum Sortieren von Daten nach vom Benutzer zu spezifizierenden Kriterien • Weitere Hilfsprogramme erfüllen Funktionen wie (benutzerfreundliches) Kopieren von Dateien, Datensicherung oder Optimierung der Speicherorganisation. Hilfsprogramme sind als Bestandteil sowohl innerhalb der System- als auch der Basissoftware zu finden. ● Protokolle definieren sämtliche Vereinbarungen und Verfahren, die zur Kommunikation zwischen Prozessen und Rechnern beachtet werden müssen. ● Ein Treiber ist ein Programm, das als Übersetzer zwischen den Protokollen verschiedener Funktionseinheiten oder einer Programm- und einer Funktionseinheit (z. B. dem Drucker) fungiert. ▲ Treiber und Protokolle können ebenfalls als Dienstprogramme interpretiert werden.
1.2.2
Anwendungssoftware
● Anwendungssoftware gliedert sich in: • Standardsoftware wird für eine Vielzahl von Anwendern mit gleichen oder ähnlichen Problemstellungen entwickelt. Sie kann auf unterschiedlichen Betriebssystemen angewendet werden. Standardisierte Lösungen lassen sich zusätzlich unterscheiden in: – Basissoftware (z. B. Webbrowser) – Standardbürosoftware (z. B. Textverarbeitung) – funktionsorientierte Software (z. B. Finanzbuchhaltung) • Individualsoftware, die speziell auf die Wünsche des Benutzers hin entwickelt wird. Um sie für andere Anwender nutzbar zu machen, muss häufig eine individuelle Anpassung erfolgen.
12
1 Universalrechensysteme und Netze
a) Standardsoftware ● Basissoftware Schwerpunkte der Basissoftware sind: • E-Mail: Programme zum Versenden von elektronischer Post • Browser: Hilfsprogramme, die eine Recherche von Dateien und deren Platzierung in der Verzeichnishierarchie eröffnen. Die wohl bekannteste Browserart ist der Webbrowser (z. B. Internet Explorer oder Netscape Navigator). Er dient insbesondere als Navigationshilfe bei der Recherche im Internet. • Editoren für Webseiten: Programme zur Aufbreitung von Texten oder Grafiken, die im Netz angeboten werden sollen (z. B MS Frontpage, HomeSite und Dreamweaver). • Virenscanner: Programme zur Prüfung des Speichers von Rechnern auf den Befall durch einen bekannten Virus und zur Elimination dieses Befalls. • Komprimierungsprogramme: Programme zur Reduzierung der Größe einer Datei. Die Wiederherstellung der originalen Zeichenfolge erfolgt beim Empfänger durch die inverse Funktion. ● Standardbürosoftware Standardbürosoftware auf Grundlage der Windows-Betriebssysteme trägt zur weiten Verbreitung von Mikrocomputern bei. Hierzu zählen insbesondere: • Textverarbeitungsprogramme, die das Schreiben von Texten, Briefen, Referaten etc. erleichtern. Die Texte können am Computer erfasst und dann sehr leicht überarbeitet werden. Im Gegensatz zur Schreibmaschine können die einmal erfassten Texte beliebig oft reproduziert (auf dem Drucker ausgedruckt) und geändert werden. Korrekturen können problemlos am Bildschirm durchgeführt werden. Fast alle Textverarbeitungsprogramme unterstützen weitere nützliche Funktionen: – automatische Seitennummerierung und Datumsangleichung – Fußnotenverwaltung – automatische Silbentrennung – Rechtschreibhilfe – Thesaurus (Synonym-Wörterbuch) – Serienbrieferstellung – Integration von Grafiken, Sonderzeichen und mathematischen Formeln ■ Verbreitete Textverarbeitungssysteme: MS-Word für Windows, WordPerfect, StarOffice, Lotus
Word-Pro • Tabellenkalkulationsprogramme stellen Informationen auf dem Bildschirm in tabellarischer Form, d. h. geordnet nach Zeilen und Spalten, dar. Eine solche Tabelle wird Arbeitsblatt (Spreadsheet) genannt. Die Zeilen werden nummeriert und die Spalten über Buchstabenkombinationen angesprochen. ▲ Die sich aus Zeilen und Spalten ergebenden Schnittpunkte nennt man Zellen. Zellen werden ein-
deutig ‘wie die Felder eines Schachbretts’ durch die zugehörigen Zeilen-Spalten-Kombinationen angesprochen. ■ Typische Einsatzgebiete für Tabellenkalkulationen sind Routineberechnungen aller Art, betriebs-
wirtschaftliche Anwendungen, Budgetplanungen, Finanzplanungen, Personalplanungen etc. ■ Gängige Vertreter von Tabellenkalkulationen: MS-Excel, Lotus 123, Quattro Pro, StarOffice.
• Formatierungsprogramme übernehmen die Formatierung (Layout, Hervorhebungen etc.) eines Textes. Sie trennen den Prozess der Formatierung vom Prozess der Texteingabe vollständig ab. ▲ Durch spezielle Layoutverwaltungen kann ein einheitlicher optischer Eindruck erreicht werden.
1.2 Systematisierung der Software
13
▲ Die Texteingabe erfolgt vollständig unformatiert. Gewünschte Hervorhebungen und Formatie-
rungen werden über Steuerbefehle direkt in den Text eingefügt. Das Formatierungsprogramm übernimmt dann die Formatierung in einem zweiten, unabhängigen Arbeitsgang. ▲ Formatierungsprogramme erlauben die Verarbeitung sehr umfangreicher Dokumente. Der Be-
dienungskomfort ist allerdings eingeschränkt. ■ TEXoder LATEX
• Weitere Standardprogramme: – Datenbanken ■ MS-Access, dBase, Paradox
– Programme zur Erstellung professioneller Präsentationen ■ MS-PowerPoint, StarOffice Impress
– Programme zur Unterstützung von Konstruktionen und Design (CAD Computer Aided Design) ■ AutoCAD, VectorWorks
– Programme zur Erstellung ganzer Publikationen wie Bücher, Broschüren u. Ä. (PublishingProgramme) ■ Corel Ventura, Adobe PageMaker
● Funktionsorientierte Standardsoftware Unter funktionsorientierter Standardsoftware versteht man Lösungen, die aus betriebswirtschaftlicher Sicht eine Funktion oder funktionsübergreifend mehrere Anwendungsbereiche (z. B. Materialwirtschaft, Vertrieb, Finanzwesen etc.) und deren Prozesse unterstützen. ▲ Derartige Programme sind oftmals modular aufgebaut, damit der Anwender nur die benötigte
Software für seine Problemstellungen betreiben muss. Zudem wird die schrittweise Einführung neuer Systeme und damit das langsame Ablösen von Altsystemen vereinfacht. ▲ Die Anpassung einer solchen Standardsoftware an spezifische Einsatzbedürfnisse in Unternehmen
erfolgt durch das Einstellen von Parametern, ohne dass eine Veränderung des Quellprogramms stattfinden muss. ■ Funktionsübergreifende Standardsoftware lässt sich in branchenunabhängige (z. B. SAP R/3) und
-spezifische (z. B. SAP Industry Solutions) Standardsoftware einteilen.
b) Individualsoftware ● Individualsoftware ist eine Anwendungssoftware, die auf eine spezielle betriebliche Anforderung mit der zugehörigen Hard- und Softwareumgebung zugeschnitten ist. Sie wird entweder eigenentwickelt oder fremdbezogen. ▲ Aufgrund der hohen Enwicklungskosten der Individualsoftware ist heute zu beobachten, dass man häufig Standardsoftware verwendet. Demgegenüber wird der Einsatz von Individualsoftware durch ein größeres Funktionsspektrum gegenüber den Standardlösungen für bestimmte Problemstellungen begründet.
1.2.3
Groupware
Unter Groupware wird Software zur Unterstützung der Zusammenarbeit in Unternehmen und Verwaltungen verstanden; hierbei unterstützt Groupware die eher unstrukturierte Zusammenarbeit, während Workflow die eher strukturierte Zusammenarbeit zum Thema hat.
14
1 Universalrechensysteme und Netze
● Wesentliche Eigenschaften von Groupware sind: • Die Software dient zur Überbrückung von räumlichen und zeitlichen Barrieren bei der arbeitsteiligen Erledigung von Aufgaben, sowie zur Unterstützung von Sitzungen. • Multimediale Informationsdarstellung und -übertragung wird unterstützt. ● Klassisch ist die Einteilung der Unterstützungsmöglichkeiten nach ihrem Raum- und Zeitbezug.
zeitliche Verteilung
gleicher Ort, verschiedene Zeit: Bulletin Boards, Kioske
gleicher Ort, gleiche Zeit: Sitzungsunterstützung, elektronische Tafeln, große Displays
a) Gleicher Ort, gleiche Zeit • Sitzungsunterstützungssysteme erlauben es einem Sitzungsmoderator, Sitzungen mithilfe von Tagungsordnungswerkzeugen besser zu strukturieren und die Teilnehmer durch die Verwendung von Problemlösungstechniken (z. B. Elektronisches Brainstorming) besser am Sitzungsgeschehen zu beteiligen. Die Sitzungen erhalten durch den Einsatz von Moderationstechniken (ähnlich der bekannten Metaplanmethode) den Charakter von Workshops. Elektronische Sitzungsunterstützungssysteme bilden Kärtchen, Wandzeitungen und Abstimmungsmärkchen digital nach und machen sie dadurch flexibler nutzbar. Beispielsweise können Einzelbewertungen ad hoc mit anspruchsvollen mathematischen Methoden zu einem Gruppenmeinungsbild verdichtet werden und die Ergebnisse von Sitzungen in digitaler Form weiterverarbeitet werden. Sitzungsunterstützungssysteme sind insbesondere für die Unterstützung größerer Gruppen (10 - 40 Teilnehmer) gedacht. ■ GroupSystems ist das derzeit bekannteste kommerzielle Sitzungsunterstützungssystem. • Elektronische Tafeln dienen der Visualisierung von elektronischen Informationen für die Gruppenarbeit. Spezialsysteme, wie das Smartboard, haben eine Bilddiagonale von bis zu 1,80 m und eigenen sich auch zur manuellen Bearbeitung von digitalen Objekten auf der Tafel. Dabei übernimmt die elektronische Tafel die Funktion von Maus und Monitor. Elektronische Tafeln sind ein wesentlicher Bestandteil von elektronischen Sitzungsräumen. Sie können in Verbindung mit einem elektronischen Sitzungsunterstützungssystem oder auch isoliert z. B. in Klassenzimmern in Schulen eingesetzt werden. Für einfache Visualisierungsaufgaben reicht es aus, große Displays oder Beamer in Gruppenarbeitsräumen zu installieren.
b) Verschiedener Ort, gleiche Zeit • Telefonkonferenzen schalten drei oder mehr Personen über das Telefon zu einem Gespräch zusammen. Hierbei besteht die Herausforderung weniger in der technischen Realisierung, als vielmehr bei der Terminvereinbarung und der Gesprächsführung. Da eine implizite Verteilung der Rederechte mangels visuellem Kontakt nicht möglich ist, übernimmt ein Teilnehmer die Rolle des Moderators.
1.2 Systematisierung der Software
15
• Videokonferenzen fügen dem Audiokanal ein Videokanal hinzu. Videokonferenzen können als so genannte Desktopvideokonferenzen am Arbeitsplatz-PC oder auf Großbildschirmen in Gruppenarbeitsräumen umgesetzt werden. Während die Verbindung zweier Standorte z. B. mithilfe von Systemen von PictureTel schon technisch befriedigend und preiswert gelöst ist, ist die Verbindung von drei oder mehr Standorten noch technisch aufwendig und teuer. • Telepräsenz strebt an, das Gefühl von Co-Präsenz über das bei Videokonferenzen übliche Maß hinaus zu ermöglichen: Über Spiegelsysteme wird ein direkter Augenkontakt vermittelt. Regelmäßige Standbilder (Snapshots) oder Sensoren vermitteln laufend und ohne große Ablenkung Informationen über die Aktivitäten der anderen Gruppenmitglieder und damit das Gefühl eines gemeinsamen Arbeitskontextes („Awareness“). Über die geschickte Platzierung von Kamera/Bildschirmpaaren („Auge“ und „Kopf“) werden die Videokonferenzpartner an den gewohnten Platz im Raum positioniert (am Eingang, am Besprechungstisch . . . und nicht nur auf dem Schreibtisch!) und dadurch der gewohnte soziale Umgang ermöglicht. • Für das gemeinsame Arbeiten an Dokumenten stehen drei Typen von Groupwarewerkzeugen zur Verfügung: Application Sharing „gruppifiziert“ klassische Individualanwendungen, z. B. aus OfficePaketen, durch Vervielfältigung der Bildschirmausgabe und Bündelung der Tastatur- und Mauseingabe. Gemeinsame Editoren erlauben die verteilte Dokumentbearbeitung und verbessern im Vergleich zum Application Sharing das gekoppelte Arbeiten, z. B. durch so genannte Telepointer zum Deuten in gemeinsamen Dokumenten. Weiterhin erlauben sie einen Wechsel zwischen eng gekoppeltem Arbeiten (WYSIWIS = What You See Is What I See) und lose gekoppeltem Arbeiten (jeder Teilnehmer sieht den Textausschnitt, der ihn interessiert, aber mit den laufenden Änderungen durch die anderen Teilnehmer) durch spezielle Koppelmechanismen (View-Linking). • Whiteboards stellen (verteilten) Gruppen eine softwaregestützte gemeinsame Tafel zum Zeichnen und Malen zur Verfügung. • Chat-Systeme erlauben die (arbeitsbegleitende) Kommunikation durch einen schriftlichen Kommunikationskanal. Microsoft bietet mit Netmeeting das derzeit marktführende kommerzielle Produkt für Application Sharing und Whiteboards an.
c) Verschiedener Ort, verschiedene Zeit • E-Mail (elektronische Post) ist eine der ältesten und die am meisten verbreitete Groupware. E-Mail dient der elektronischen Nachrichtenübermittlung an Einzelne, mehrere ausgewählte Personen oder ganze Verteilerkreise. Der große Vorteil von E-Mail ist die zeitliche Entkopplung der Kommunikation - jeder schreibt und liest, wann er oder sie dazu Zeit hat - bei gleichzeitig sehr schneller Nachrichtenübermittlung. Neben dem einfachen Nachrichtenaustausch unterstützen Groupwaresysteme den Nachrichtenaustausch durch Filtersysteme und durch vorstrukturierte Kommunikationstypen (Anfrage . . . ). • Voice-Mail ersetzt einen Anrufbeantworter und ergänzt ihn um vom E-Mail her bekannte Funktionen. Mündliche Nachrichten können nicht nur entgegengenommen werden, sondern auch ergänzt und weitergeleitet werden sowie an eine Gruppe von Personen verteilt werden. Filtersysteme erlauben das automatische Routing von Voice-Mail-Nachrichten. Derzeit ist ein Zusammenwachsen von E-Mail und Voice-Mail zu beobachten. • Computer-Conferencing dient der verteilten schriftlichen Kommunikation. Die Beiträge der Teilnehmer werden in einer Listen- oder Baumstruktur inhaltlich und/oder zeitlich sortiert angeordnet und fortgeschrieben. Sie ist insbesondere für größere Gruppen geeignet, da die Persistenz der Nachrichten eine Parallelisierung von Kommunikationsvorgängen besser ermöglicht als z. B. Telefonkonferenzen. Eine zeitliche Entkopplung erlaubt es, sich zu einer selbstgewählten Zeit in eine schriftliche Unterhaltung einzuschalten. Im Unterschied zur E-Mail werden alle Beiträge einer Gruppe allen Teilnehmern angezeigt.
16
1 Universalrechensysteme und Netze
• Gemeinsame Arbeitsbereiche dienen als gemeinsame Dokumentencontainer. Neben der reinen Dokumentenaufbewahrung in Ordnerstrukturen (oder auch Räumen nachgebildeten Ordnungsstrukturen) können gemeinsame Arbeitsbereiche Mechanismen zum Ein- und Auslagern von Dokumenten, zur Verwaltung von Lese- und Bearbeitungsrechten, sowie zur Versionsverwaltung beinhalten. Sie vermitteln weiterhin z. B. durch Farbcodierung und Variation von Schriftzeichen passiv oder durch Audio- oder visuelle Signale aktiv darüber Kenntnis, wann welche Änderungen durch andere Gruppenmitglieder an welchen Dokumenten durchgeführt wurden. Die Herausforderung ist es dabei (ähnlich wie bei gemeinsamen Editoren), einerseits jedes Gruppenmitglied über den Gruppenarbeitsfortschritt auf dem Laufenden zu halten und ihn andererseits bei seiner anderen Arbeit nicht über das Maß zu stören. Gemeinsame Arbeitsbereiche sind insbesondere dann hilfreich, wenn sie in Verbindung mit gemeinsamen Editoren genutzt werden. • Ein digitales Gruppengedächtnis speichert und integriert die von Einzelwerkzeugen erzeugten Ergebnisse der Zusammenarbeit in einer speziellen Datenbank. Digitale Gruppengedächtnisse gehen insoweit über gemeinsame Arbeitsbereiche hinaus, als sie auch Verknüpfungen und Auswertungen von Dokumenteninhalten erlauben, z. B. durch Erstellen von Volltextindizes. Dabei müssen einerseits die gemeinsam erarbeiteten Inhalte möglichst ohne großen Aufwand für die Gruppenmitglieder durch Erfassung von Kontextinhalten (z. B. wer schrieb was und wann zu welchem Thema) für eine Suche vorbereitet werden und andererseits die Interessen der Gruppenmitglieder auf Vertraulichkeit (z. B. durch Anonymisierung von Beiträgen) gewahrt bleiben. Digitale Gruppengedächtnisse stellen einen bedeutenden Teil eines Organisationsgedächtnisses (Organizational Memory) dar. Wissensdatenbanken schöpfen ihre Information im Unterschied zum digitalen Gruppengedächtnis nicht aus dem laufenden Gruppenarbeitsprozess, sondern beinhalten redaktionell aufgearbeitete allgemeine Informationen zur Unterstützung der Zusammenarbeit. Auch hier erlaubt die Aufbereitung eine schnelle und gezielte Suche. • Gruppenterminkalender unterstützen die Terminkoordination in Gruppen. Die Gruppenmitglieder gewähren einander abgestuften Einblick in ihre individuellen Terminkalender (z. B. welche Zeiträume schon durch Termine belegt sind) und erleichtern dadurch die manuelle oder automatische Suche nach Terminen, an denen alle potenziellen Teilnehmer Zeit haben. Bei sehr enger Zusammenarbeit und einem guten Vertrauensverhältnis können die Akteure einander in Gruppenterminkalender auch für alle verbindliche Termine direkt eintragen. Andernfalls unterstützt ein Gruppenterminkalender die Terminbuchung, z. B. durch automatische Verteilung von Terminanfragen. Mit Gruppenterminkalendern können auch Ressourcen (z. B. spezielle Geräte oder Gruppenarbeitsräume) für Gruppen verwaltet werden.
d) Gleicher Ort, verschiedene Zeit Es gibt nur wenige spezifische Systeme zur Unterstützung von Gruppenarbeit am gleichen Ort zur verschiedenen Zeit. Darunter fallen spezielle elektronische Bulletin Boards oder Kiosksysteme, die dazu verwendet werden (vertrauliche) Informationen oder spezielle Dienstleistungen zusammenarbeitenden Personen zu verschiedenen Zeitpunkten an einem Ort zur Verfügung zu stellen. ▲ Neuere Groupwaresysteme streben eine integrierende Unterstützung für alle vier Bereiche an. Man spricht von Unterstützung „zu jeder Zeit an jedem Ort“. Beispielsweise bietet der derzeitige Marktführer mit Lotus/Domino (inkl. dem so genannten Sametime-Server) eine Plattform an, die die meisten der oben genannten Werkzeuge enthält und miteinander verknüpft. Dies erleichtert die Verknüpfung von individueller und gemeinsamer Arbeit sowie die medienbruchlose durchgängige Abdeckung von länger andauernden Gruppenarbeitsprozessen. Dadurch wird Groupware zum wesentlichen technischen Baustein für neue verteilte Organisationsformen wie so genannte virtuelle Unternehmen.
1.3 Rechnerklassen
1.3
17
Rechnerklassen
● Die Unterscheidung verschiedener Rechnerklassen erfolgt aufgrund ihrer Leistungsfähigkeit und des verwendeten Betriebssystems. Für die betriebliche Informationsverarbeitung (IV) werden folgende Rechnerklassen unterschieden: • Großrechner (auch Server, Mainframe oder Hosts genannt) • Workstations und Personal Computer (PCs) • Netzwerkcomputer (NCs) und Thin-Clients • Handheld Computer ▲ Zusätzlich existieren so genannte Superrechner mit einer speziellen Rechnerarchitektur für tech-
nisch-mathematische Problemstellungen (z. B. Wetterprognose, Luftraumüberwachung). Im Gegensatz zu Großrechnern stellen Superrechner ihre Leistungsfähigkeit lediglich einigen wenigen Programmen zur Verfügung. ▲ Steuerungsrechner sind Einfunktionsautomaten, die z. B. für den Betrieb in einer Werkshalle
gebaut sind. Häufig kommen sie in der Prozesslenkung und Steuerung von Maschinen zum Einsatz. Deswegen spricht man auch von so genannten Embedded Systems, die fest mit dem sie beherbergenden System verbunden sind.
1.3.1
Großrechner
● Großrechner sind Zentralrechner, die über große externe Datenspeicher und hohe Verarbeitungsgeschwindigkeiten verfügen. Sie bedienen zahlreiche Terminals und PC-Arbeitsstationen im Multiuserbetrieb. ▲ Um den Großrechner nicht mit Verwaltungsarbeiten (z. B. Kontrolle der Belegung des Zentral-
rechners) zu belegen und ihm so Rechenleistung zu entziehen, arbeitet man mit leistungsstarken Steuereinheiten oder Vorrechnern. ▲ Um hohe Leistungsbedarfe der Nutzer zu befriedigen oder eine Sicherung gegen Systemausfälle zu
haben, werden in größeren Unternehmen mehrere Hosts in einem Netz verbunden. ▲ Großrechner sind häufig Zentrum eines Sternnetzes (siehe Abschnitt 1.4) und bieten den Vorteil einer zentralen Datenhaltung mit Zugriffsmöglichkeiten durch oft mehrere hundert Terminals und PCs. ▲ Die hohe Leistungsfähigkeit wird u. a. durch umfangreiche Betriebssysteme ermöglicht, die spezielle Hardwareeigenschaften ausnutzen. Daraus folgt, dass Großrechnersysteme untereinander nicht kompatibel sind. Unterschiedliche Systeme werden deshalb als Rechnerwelten bezeichnet. ● Die Integration verschiedener Rechnerwelten in ein Netz wirft bis heute Probleme auf.
▲ Großrechner gelten als nicht besonders benutzerfreundlich. So verfügen sie z. B. i. d. R. nicht über eine grafische Benutzeroberfläche. Deshalb verlieren Großrechner auch in Bezug auf den Mensch-MaschineDialog an Bedeutung. ● Großrechner besitzen ausschließlich die Funktion von zentralen Datenservern, während die benutzerfreundliche Aufbereitung der Datenein- und -ausgabe durch Workstations und PCs übernommen wird. ● Da auf Großrechnern basierende Systeme als Rechnerleistung vorwiegend die Kapazitäten des Hosts nutzen, können bei einer steigenden Anzahl von Terminals auch Kapazitätsprobleme auftreten. ■ Bekannte Hersteller von Großrechnersystemen in Wirtschaft und Verwaltung sind: • IBM mit z. B. den z-, i- und p-Serien und den Betriebssystemen z/OS, LINUX oder VSE/ESA • Siemens mit den PRIME-Serien und den Betriebssystemen LINUX, Solaris oder MS Windows 2000 • HP mit z. B. der RP-Serie und den Betriebssystemen HP-UX 11i oder LINUX • Unisys mit der ES-Serie und den Betriebssystemen UnixWare oder MS Windows 2000.
18
1 Universalrechensysteme und Netze
1.3.2
Workstations
● Workstations sind als selbstständige Arbeitsplatzrechner mit hoher Rechenleistung konzipiert, deren Leistungsfähigkeit jedoch unter der eines Großrechners liegen. Workstations unterstützen hauptsächlich rechenintensive Aufgaben, die eine hohe dauerhafte Rechenleistung benötigen. Mehrere Workstations werden typischerweise zu so genannten Local Area Networks (LANs) zusammengefasst. ▲ Workstations werden i. d. R. mit dem Betriebssystem MS Windows oder einem UNIX Betriebssystem bzw. einem Derivat (inzwischen häufig Linux) ausgestattet. Große Workstation-Hersteller liefern eigene UNIX-Dialekte als Betriebssystem aus, die sich in den meisten Fällen jedoch relativ gering unterscheiden. ■ AIX (von IBM), HP-UNIX (von HP), SOLARIS (von SUN), IRIX (von Silicon-Graphics), LINUX
(Public-domain für PCs)
1.3.3
Netzwerkcomputer (NC) und Thin-Clients
● NCs und Thin-Clients sind preisgünstige Rechner mit geringer Leistungsfähigkeit, die speziell für den Client-Betrieb in Netzen konzipiert sind: Die Anwendungssysteme laufen auf einem entfernten Server ab, der NC bzw. Thin-Client empfängt und sendet Daten über das Netz an den Server. Dadurch kommt ein solches System im Idealfall z. B. ohne eigene Festplatte aus.
1.3.4
Handheld Computer
Handhelds, auch als PDAs (Personal Digital Assistants) bezeichnet, sind portable Computer im „Westentaschenformat“. Oftmals als Organizer benutzt, laufen auf Handhelds im Vergleich zu Workstations kleinere Anwendungen mit Kalender-, Termin-, Adress- und Notizbuchfunktionen. In Kombination mit einem Handy besteht die Möglichkeit, z. B. E-Mails zu senden und zu empfangen oder im Internet zu surfen. Die Eingabe erfolgt typischerweise mittels eines Pens (Stylus) in Verbindung mit Texterkennungsprogrammen oder Touchscreens. Handhelds bieten wachsende Einsatzmöglichkeiten für „mobile Lösungen“ in der Arbeitswelt. So kann bspw. ein Außendienstmitarbeiter Bestellungen schon direkt beim Kunden eingeben. ■ Beispiele für Handhelds sind: Palmtops von Palm, die iPAQ-Reihe von Compaq und Pocket LOOX von Fujitsu Siemens ● Durch geringe Größe und Portabilität bedingt, besteht eine erhöhte Problematik der Energieversorgung. Um dieser zu begegnen, wurden von der Firma ARM spezielle 16/32-bit Prozessoren entwickelt, die in den meisten PDAs Einsatz finden. Trotz hoher Performance und niedrigen Kosten bieten diese Prozessoren einen geringen Energieverbrauch. ■ Intel bietet u. a. StrongARM-Prozessoren an, die auf der ARM-Technologie basieren, aber auch auch
Xscale-Prozessoren, welche eine eigene Plattform darstellen und einen noch geringeren Energieverbrauch aufzuweisen haben. ● Aufgrund der im Vergleich zu Workstations nicht so leistungsfähigen Hardware, kommen speziell für PDAs entwickelte, mit geringerer Funktionalität ausgestattete Betriebssysteme zum Einsatz: ■ Palm OS von Palm, Pocket Windows von Microsoft
▲ In Zukunft wird sich die Entwicklung auf die Verschmelzung von PDAs mit Handys konzentrieren. Bereits heute existieren so genannte Smartphones, z. B. der Communicator von Nokia oder der Pocket LOOX (mit aufzusteckendem GPRS-Modul) von Siemens.
1.3 Rechnerklassen
1.3.5
19
Client-Server-Konzept
● Die Kommunikation zwischen Rechnern setzt die Existenz eines geeigneten Kooperationsmodells voraus, das im Hinblick auf die Partner eine eindeutige Rollenverteilung festlegt und die gemeinsamen Protokolle spezifiziert. ▲ Im Client-Server-Konzept versuchen auf der Benutzerseite so genannte Clients, von einem bestimmten Rechner im Netz (Server) angebotene Dienste (z. B. Daten und Transaktionen eines Anwendungssystems) in Anspruch zu nehmen. ▲ Aufgabe des Clients ist die Präsentation der entsprechenden Daten und die Interaktion mit dem Benutzer. Der Server, z. B. ein Datenbankserver, wartet so lange passiv, bis ihn die Anforderung des Client erreicht. ▲ Als Server werden ein oder mehrere Rechner im Netzwerk eingerichtet: Architektur
Client(s)
Server
Zweistufige Client-ServerArchitektur Präsentation
Applikations- und Datenbankserver
Dreistufige Client-ServerArchitektur
Präsentation
Applikationsserver
Datenbankserver
Mehrstufige Client-ServerArchitektur
Präsentation
Webserver
Applikationsserver
Datenbankserver
Client-Server-Architekturen ■ Integrierte Standardsoftwarelösungen wie z. B. SAP R/3 oder Baan IV lassen sich in drei verschiedene Funktionsbereiche (Schichten) zerlegen: • Präsentation (Aufbereitung der grafischen Oberfläche) • Applikation (Bereitstellung der Anwendungslogik) • Datenhaltung (Verwaltung der Daten) ▲ Bei zweistufigen Konfigurationen werden Applikations- und Datenbankdienste auf einem Server implementiert. Im dreistufigen Fall steht für jede Schicht ein Rechner zur Verfügung.
20
1 Universalrechensysteme und Netze
▲ Um einen webbasierten Zugriff auf Anwendungen zu ermöglichen, kann zusätzlich ein so genannter Webserver, der als Mittler zwischen Präsentation und Anwendung fungiert, implementiert werden. Die daraus resultierende Architektur wird als vier- oder mehrstufig bezeichnet. ■ Webserver dienen als wichtige Bindeglieder im Internet. Sie übermitteln auf Anfrage des Client (in
diesem Fall des Webbrowsers) die angeforderte HTML-Seiten und ermöglichen über Schnittstellen die Generierung dynamischer Dokumente, die als Ergebnisse der Programmabläufe zurückgeliefert werden. ▲ Ein wichtiges Kriterium bei der Entscheidung über eine bestimmte Architektur ist die Anzahl der Benutzer, die heute und künftig mit einer Anwendung parallel arbeiten sollen, da die Verteilung auf verschiedene Systeme eine höhere Performance bietet. ▲ Die Struktur dieses Kooperationsmodells setzt auf der Serverseite ein Betriebssystem voraus, das Multitasking zulässt, z. B. UNIX oder Windows Server Technologien. ▲ In großen Netzwerken dienen verschiedene Rechner häufig als Clients und auch als Server, was als Peer-to-Peer Kommunikation (siehe Abschnitt 1.4) bezeichnet wird. ■ Alle wichtigen Dienste im Internet basieren auf dem Client-Server-Konzept.
1.4
Rechnernetze und Netzarchitekturen
● Mit dem Einsatz von Rechnernetzen werden verschiedene Ziele verfolgt: • Kommunikationsverbund: die Möglichkeit zur Kommunikation der Rechner im Netzwerk • Geräteverbund: Die Möglichkeit jedes Rechners, auf im Netz enthaltene Ressourcen zurückzugreifen. ■ Beispielsweise können mehrere, innerhalb eines LANs (siehe Abschnitt Local Area Network)
verbundene Rechner auf einen Netzwerkdrucker zugreifen. • Lastverbund/Leistungsverbund: Ein Lastverbund führt zu einer besseren Ausnutzung der Kapazitäten von Computern im Netz. Ein Leistungsverbund dagegen zielt darauf ab, eine umfangreiche Aufgabe, die nicht mehr effizient durch einen einzelnen Rechner bearbeitet werden kann, im Netz von mehreren Maschinen gleichzeitig bearbeiten zu lassen. ▲ Bei vorhandener Vernetzung besteht die Möglichkeit, nicht genutzte Rechnerkapazität ver-
schiedener Workstations zu verbinden, um komplexe, rechenintensive z. B. mathemathischtechnische Anwendungen zu lösen (Grid Computing). Das international bekannteste Projekt, in dem auch viele Privatpersonen die Rechnerleistung ihrer PCs zur Verfügung stellen, ist SETI@home der Universität von Berkeley. Ziel ist die Überprüfung aus dem All empfangener Signale auf erkennbare Muster mittels über das Internet verbundener Rechner zur Suche nach außerirdischer Intelligenz (SETI - Search for Extraterrestrial Intelligence). • Datenverbund: der parallele Zugriff auf im Netz verfügbare Daten durch mehrere Rechner bzw. Anwender ■
▲ In Peer-to-Peer Netzwerken (P2P) dient jeder angeschlossene Rechner als Server und Client.
Hierbei handelt es sich um eigenständige, für sich lauffähige Rechner, die alle den gleichen Rang besitzen (peer=gleichgestellt). Den Nutzern solcher Netzwerke ist es möglich, auf Datenbanken und Ressourcen anderer Nutzer bzw. deren Rechner zuzugreifen. Welche Daten und Ressourcen zur Verfügung gestellt werden, entscheidet jeder einzelne Nutzer, da dieser als Administrator selbst für seinen Rechner verantwortlich ist. P2P beruht auf dem Prinzip der dezentralen Datenhaltung.
1.4 Rechnernetze und Netzarchitekturen
21
▲ Das bekannteste Anwendungsfeld ist das öffentlich zugängliche Filesharing, bei dem private
Nutzer über das Internet Dateien, z. B. Musikdateien, anderen Nutzern zum Download bereitstellen. Jedoch kommen verstärkt Businesslösungen zum Einsatz. Beispiele für P2P-Filesharing Programme sind Napster (gilt als Prototyp der P2P-Technologie), Gnutella und Freenet. • Programmverbund: die gemeinsame Nutzung eines Programms durch alle im Netz eingebundenen Rechner ■
▲ Application Service Provider (ASPs) stellen einen serverbasierten Betrieb von Anwendungen
zur Verfügung, welche über gesicherte Datenwege, z. B. über Virtual Private Networks (siehe Abschnitt 7.5), zum Kunden übermittelt werden. Die Anwendungsdaten werden beim Provider gespeichert. Auf dem Engerät des Kunden muss nicht mehr das Programm, sondern nur ein Browser zum Anzeigen der Anwendung und Daten installiert werden. Teure Software muss nicht mehr angeschafft werden, sie wird vom Application Service Provider gemietet. Bezahlt wird nur die tatsächliche Nutzung. Vorteile der Mietsoftware: – keine teure Soft- und Hardwarebeschaffung – niedrige Verwaltungs- und Betriebskosten und Ressourcenentlastung der IT – transparentere Kosten: Die Kosten sind kalkulierbarer, dadurch ist eine bessere Budgetierung möglich. – schnellere Implementierung – Man muss sich nicht mehr um komplizierte Updates kümmern. – Man befindet sich immer auf dem neusten technologischen Stand. Nachteil der Mietsoftware: – Die Daten werden über das Netz übertragen und beim Provider gespeichert. Handelt es sich um sensible oder geschäftskritische Daten, sind besondere Sicherheitsvorkehrungen zu treffen. • Sicherheitsverbund: Die Möglichkeit, auf kritische Daten über mehrere Wege (Zugriffspfade) zugreifen zu können, falls z. B. ein Rechner auf Grund technischer Probleme ausfällt.
1.4.1
Übertragungsprotokolle
Voraussetzung für Computer-Netzwerke ist neben der technischen Infrastruktur aus Leitungen und Vermittlungsrechnern eine allgemein verbreitete Sprache zur Verbindungsaufnahme und zum Austausch von Daten, ein Protokoll. ● Das ISO-OSI-Referenzmodell (OSI = Open Systems Interconnection), auch 7-Schichten-Modell genannt, veranschaulicht die Standardisierung der Übertragungsprotokolle zur Ermöglichung von Übertragungen zwischen verschiedenen Hardwareplattformen. Das komplexe Problem der offenen Datenübertragung wird in Teilprobleme zerlegt, indem der Weg der Daten von der Anwendung bis zum Übertragungsmedium über sieben hierarchisch angeordnete Schichten beschrieben wird. Der Vorteil ist, dass durch die hierarchische Anordnung der Schichten jede Schicht die Leistungen der darunter liegenden Schichten nutzen kann. Soll eine Datenverbindung zwischen unterschiedlichen Netzen erfolgen, muss ein Standard (Schnittstelle) zwischen benachbarten Schichten vereinbart werden.
22
1 Universalrechensysteme und Netze
Konzept und Aufbau des OSI-Modells Die 7 Schichten im Einzelnen: • 7. Schicht: Die Anwendungsschicht stellt Anwendungen den Zugang zum Netzwerk zur Verfügung. • 6. Schicht: In der Darstellungsschicht werden die Anwendungsdaten in ein plattformunabhängiges Format konvertiert, damit sie von unterschiedlichen Empfängersystemen gelesen werden können. • 5. Schicht: Die Sitzungsschicht oder Kommunikationssteuerungsschicht stellt Protokolle zur Flusskontrolle zur Verfügung. Die Daten werden mit so genannten Prüfpunkten versehen, damit bei einem Abbruch der Übertragung bei Wiederaufnahme nur die noch nicht übermittelten Daten erneut übertragen werden müssen. • 4. Schicht: Die Transportschicht stellt Transportprotokolle zur Verfügung, welche die Qualität der Übertragung steigern. Die Daten werden in Pakete aufgeteilt. Das Protokoll muss sicherstellen, dass die Daten in richtiger Reihenfolge und vollständig beim Empfänger ankommen. • 3. Schicht: Die Netzwerkschicht oder Vermittlungsschicht stellt Protokolle zur Verfügung, welche die Adressierung der Daten (Sender/Empfänger) und das Routing (Wegfindung im Netz) vornehmen. • 2. Schicht: Die Sicherungsschicht übermittelt die von der Netzwerkschicht erhalten Daten an die physikalische Schicht weiter, nachdem die Daten in so genannte Datenrahmen gepackt werden. Es werden Dienste angeboten, welche eine weitgehend gesicherte, fehlerfreie Übertragung ermöglichen. • 1. Schicht: Die Physikalische Schicht oder Bitübertragungsschicht beschreibt die Übermittlung von Daten (Datenrahmen) mittels Übertragungsmedien, z. B. Kabel. Hierzu müssen die Daten in Signale umgewandelt werden. ▲ Abwandlungen des OSI-Referenzmodells sind möglich, es können bspw. 2 oder 3 Schichten ver-
einigt werden. Einige Internetprotokolle, wie z. B TCP/IP, vereinigen die obersten 3 Schichten zu einer Anwendungsschicht. Hier findet also nur eine Aufteilung in 5 Schichten statt. ● Die Protokollfamilie TCP/IP bildet die Basis sowohl für heterogene Netzwerke insb. für das Internet (siehe Abschnitt 1.6) als auch für alle UNIX-LANs (zu LANs siehe Abschnitt Local Area Network). TCP/IP ist die Weiterentwicklung eines Netzwerkprotokolls, das ursprünglich Bestandteil des UnixBetriebssystems war. Durch die Verbreitung des Internets wird dieses Protokoll auch von anderen Betriebssystemen wie MS Windows unterstützt.
1.4 Rechnernetze und Netzarchitekturen
23
Das TCP (Transmission Control Protocol) zerlegt Nachrichten, z. B. eine E-Mail, in mehrere kleine Datenpakete und versieht jedes davon mit der IP-Adresse (Internet Protocol-Adresse) des Senders und Empfängers. Die Pakete werden an so genannte Router geschickt (z. B. denjenigen des Internet Providers), dessen Aufgabe in der IP-gesteuerten Weiterleitung der Informationen liegt. ▲ Innerhalb des Router-Netzwerks versuchen z. B. Telefongesellschaften, momentane Belastungstä-
ler in der verfügbaren Streckeninfrastruktur aufzufüllen, indem die Pakete über den am wenigsten ausgelasteten Weg in Richtung Ziel geleitet werden. Jedes Paket einer Nachricht kann über unterschiedliche Strecken zum Ziel gelangen, man spricht in diesem Zusammenhang von einem Packet Switching Network. Dies ist auch ein Grund für die geringen Übertragungskosten im Internet. Am Ziel angelangt, werden die einzelnen Pakete durch TCP in ihrer ursprünglichen Reihenfolge angeordnet. ● Das Internet Protokoll (IP) setzt auf der 3 Schicht, der Netzwerkschicht, auf und beinhaltet neben
den Adressinformationen noch Zusatzinformationen. Jeder Rechner innerhalb des IP-Netzwerkes besitzt eine IP-Adresse (Zifferncode), welche zur Identifikation dient. Sie hat eine Länge von 32 Bit (4 Byte) und wird in Form von vier durch Punkte getrennte Dezimalzahlen angegeben. Jede einzelne kann ganzzahlige Werte aus dem Intervall von 0 bis 255 annehmen. ■
Die zur URL (siehe Abschnitt 1.6) http://www.wiwi.uni-frankfurt.de gehörende IPAdresse lautet: 141.2.67.251
▲
Internet Provider besitzen einen Block von IP-Adressen. Bei jeder Einwahl ins Internet erhält der Kunde eine andere IP-Adresse zugeteilt, die zu diesem Zeitpunkt frei ist.
Eine beispielhafte Zusatzinformation ist das „Time-to-Live Byte“, welche die „Lebenszeit“ der Datenpakete bestimmt, damit bspw. das Netz bei Abbruch einer Übertragung nicht unnötig durch umherirrende Pakete überlastet wird. ▲
Mit der aktuellen Protokollversion, die als IPv4 bezeichnet wird, ist eine theoretische Adressierung von 4,3 · 109 Rechnern möglich. Jedoch verfügen IP-Netzwerke von z. B. großen Firmen oder Universitäten über große Adressräume, welche in Subsysteme (Subnets) aufgeteilt werden können. Häufig liegen weite Teile dieses Adressraumes brach. Diese ineffiziente Nutzung und der stetig wachsende Bedarf an adressierbaren Netzwerkkomponenten hat eine Verknappung der IP-Adressen zur Folge. Daher soll die alte durch eine neue Protokollversion, die als IPv6 bezeichnet wird, schrittweise ersetzt werden. Mit der Version 6 werden 128 Bits (16 Bytes) für die Adressierung verwendet, was einer Anzahl von 3,4 · 1038 Adressen entspricht. Während die bisherigen IP-Adressen in Dezimalziffern angegeben werden und jeweils durch Punkte voneinander getrennt sind, gibt man die IPv6 Adressen in Form von acht Hexadezimalziffern an und trennt sie durch Doppelpunkte voneinander. ■
z. B. 2BA:0:66:899:0:0:459:AC39
Zusätzlich gibt es eine Reihe weiterer Erneuerungen, z. B.: • vereinfachter, kleinerer Dateikopf (Header) und damit geringere Größe des Paketes • Priorisierung durch besondere Kennzeichnung von Datenpaketen ermöglicht eine differenziertere Behandlung während des Netztransportes. • automatische Vergabe von Netzwerkadressen und damit vereinfachte Installation insb. von mobilen Rechnern ●
Das Transmission Control Protocol (TCP) setzt auf der 4. Schicht, der Transportschicht, auf und nutzt die Dienste des IP, um einen verbindungsorientierten Datentransportdienst zur Verfügung zu stellen. Verbindungsorientiert deswegen, weil die Daten über eine eigene, vorher aufgebaute Sitzung übertragen werden. Die Sitzung stellt sicher, dass die Nachrichten vollständig
24
1 Universalrechensysteme und Netze und in richtiger Reihenfolge beim Empfänger ankommen. Beispielhafte Funktionen im Einzelnen sind: • Verbindungsauf- und abbau • Aufteilung der Nachricht in einzelne Pakete • Flusssteuerung • Sortieren der Pakete in die ursprüngliche Reihenfolge beim Empfänger • Bestätigung, wenn Nachricht richtig übermittelt wurde • Ausfiltern duplizierter und Wiederholung verlorener Pakete Der Vorteil des TCP ist in den Sicherheits- und Kontrollfunktionen begründet, die einen zuverlässigen Datentransportdienst ermöglichen. Dadurch entsteht jedoch der Nachteil, dass die hierzu notwendigen Zusatzangaben die Datenpakete vergrößern und es somit zu einer langsameren Übertragung kommt. Zusätzlich verzögert die Sortierung der Datenpakete den Empfang, da gewartet werden muss, bis das als nächstes erwartete Paket auch wirklich da ist. ▲
Zu Protokollen der Anwendungsschicht und darauf aufsetzenden Diensten, die TCP/IP nutzen (bspw. E-Mail mittels SMTP, FTP, Telnet, DNS), siehe Abschnitt 1.6.
● Das User Datagram Protocol (UDP) setzt, wie auch das TCP, auf der 4. Schicht, der Transportschicht, auf und nutzt die Dienste des verbindungslosen IP, um einen Datentransportdienst zur Verfügung zu stellen. Im Vergleich zu TCP ist UDP ein verbindungsloses Transportprotokoll, d. h. es wird keine eigene Sitzung aufgebaut. Der Vorteil des UDP ist in der schnelleren Übertragung durch fehlende Sicherheits- und Kontrollfunktionen und durch fehlende Reihenfolgekontrolle begründet. Dadurch entsteht jedoch der Nachteil, dass der Datentransport im Gegensatz zu TCP nicht so verlässlich ist, da Übertragungsfehler auftreten können. Die Datenpakete werden unabhängig von der ursprünglichen Reihenfolge in Realtime, genau dann, wenn sie beim Empfänger ankommen, diesem auch zur Verfügung gestellt. ▲ UDP ist in Situationen nützlich, in denen auf Sicherheits- und Kontrollfunktionen aufgrund der
Anwendung oder der geforderten Übertragungsgeschwindigkeit (Realtime) verzichtet wird, oder in Fällen, in denen auf höheren Schichten liegende Anwendungen diese Funktionen übernehmen. Zu Protokollen der Anwendungsschicht und darauf aufsetzenden Diensten, die UDP/IP nutzen (bspw. DNS, VoIP und Streaming mittels RTP), siehe Abschnitt 1.6. ■ Weitere Internet-Protokolle der unteren Schichten des ISO/OSI-Referenzmodells sind z. B. ARP (Adress Resolution Protocol) und ICMP (Internet Control Message Protocol). ■ Weitere LAN-Netzwerkprotokolle sind z. B. IPX/SPX (Novell-Netzwerke), NETBEUI (Microsoft) und NETBIOS (IBM-OS/2).
1.4.2
Komponenten von Rechnernetzen
▲ Werden an sich unabhängig arbeitsfähige Rechner über Kommunikationspfade zum Informationsaustausch miteinander verbunden, so entsteht ein Rechnernetz. ● Die wichtigsten Komponenten eines Rechnernetzes sind: • die Rechner selbst, einschließlich der Netzwerkanbindung (Modem, Netzwerkkarte) sowie der jeweiligen Betriebs-, Netz- und Anwendungssoftware. ■ Zum Zugriff auf das Netzwerk müssen die Rechner über spezielle Software verfügen, die in
heutigen Betriebssystemen integriert ist. • Verbindungs- und Kommunikationsrechner sowie ähnliche Komponenten zum Aufbau und Verbinden von Netzwerken (Repeater, Hubs, Bridges, Router, Switches). – Repeater setzen auf der ersten, physikalischen Schicht des ISO/OSI-Referenzmodells auf, um Signale der eingehenden Datenpakete zu verstärken und zu wiederholen.
1.4 Rechnernetze und Netzarchitekturen
25
– Hubs sind zentrale Punkte in einem lokalen Netzwerk, welche Rechner miteinander verbinden. Die Verbindung erfolgt über eine Reihe von Anschlüssen, so genannte Ports. Hubs operieren als Repeater, setzen damit auf der physikalischen Schicht des ISO/OSI-Referenzmodells auf und leiten die eingehenden Signale an alle Ports weiter. Hubs bieten keine Routingfunktionen. – Zwei, mit den gleichen Protokollen (z. B. Ethernet oder Token-Ring) arbeitende, lokale Netze können durch eine Bridge (Brücke) miteinander verbunden werden. Brücken leiten Datenpakete i. d. R. ohne Analyse der jeweiligen Inhalte mittels Adressen an einen bestimmten Empfänger weiter. Bridges arbeiten mit bis zur zweiten Schicht des ISO/OSI-Referenzmodells, d. h. der Sicherungsschicht. Zusätzlich zur ersten Schicht wird mithilfe von Protokollen eine gesicherte Verbindung aufgebaut, welche die eintreffenden Daten unverändert weiterleitet. – Router können mehrere und unterschiedliche LAN-Typen miteinander verbinden, deren Protokolle jedoch kompatibel sein müssen. Sie verbinden Netze mit bis zur dritten Schicht des ISO/OSI-Referenzmodells, der Netzwerkschicht. Sie können flexibel auf verschiedene Lastzustände in den beteiligten Netzwerken reagieren und eventuelle alternative Verkehrswege identifizieren. – Switches übernehmen zusätzlich die Filterung von Daten. Wie bei Routern, verbinden Switches Netze mit bis zur dritten Schicht des ISO/OSI-Referenzmodells. Eine Kombination dieser Konzepte ist möglich. So existieren bspw. Routing Switches, Switching Hubs und Bridge Router. • Die Datenübertragungswege (Leitungen oder Funkstrecken) ■ Die gängigsten Kabeltypen sind verdrillte Kupferkabel, Koaxialkabel und Glasfaserkabel. Zu-
nehmend werden auch Mobilfunk- oder optische Richtfunksysteme eingesetzt.
1.4.3
Local Area Network
● Aufgrund der verwendeten Übertragungswege und der räumlichen Ausdehnung unterscheidet man lokale und Fernnetze (LAN (Local Area Network) und WAN (Wide Area Network)). ● In einem LAN befinden sich die vernetzten Rechner auf einem Betriebsgelände und es wird kein öffentliches Gelände für den Kabelweg verwendet (Definition nach dem bundesdeutschen Fernmelderecht). ▲ Der maximale Abstand zwischen den vernetzten Rechnern und Netzwerkkomponenten darf aus technischen Gründen nur wenige hundert Meter betragen. ● Lokale Netze werden nach Art der Verknüpfungsstruktur der Rechner in vier (Netztopologien) unterschieden: • Ringnetze • Busnetze • Sternnetze • Vermaschte Netze. – In einem Ringnetz sind die Rechner logisch in einem Ring angeordnet. Die Übertragung von Daten und Nachrichten erfolgt in einer Richtung, in dem der sendende Rechner ein Datenpaket an seinen Nachfolger weitergibt, der es wiederum an seinen Nachfolger weitergibt, solange, bis das Ziel erreicht ist. Es erfolgt eine Bestätigung in der gleichen Laufrichtung, erst dann wird das nächste Datenpaket geschickt. Vorteil: leichte Realisierung: Jeder Rechner muss nur mit seinen zwei Nachbarn verbunden werden, d. h. es gibt n Kabelverbindungen. Nachteil: Der Ausfall nur eines Rechners führt zum Ausfall des gesamten Netzes.
26
1 Universalrechensysteme und Netze – In einem Busnetz werden alle Computer an einem Buskabel angeschlossen. Zum Senden prüft ein Rechner, ob der Bus frei ist und sendet dann einfach „in den Bus hinein“. Der Zielrechner kann die Datenpakete dem Bus entnehmen und sendet eine Bestätigung. Vorteil: Es ist nur ein Übertragungskabel notwendig, beim Ausfall eines Rechners ist die Funktionsfähigkeit des gesamten Netzes nicht beeinträchtigt. Nachteil: Gleichzeitige Kommunikation ist nur zwischen zwei Rechnern möglich. Zusätzlich legt jeder Schaden am Buskabel das gesamte Netz lahm. Bei steigender Anzahl der Rechner und damit verbundener Erhöhung des „Verkehrs“ auf dem Bus steigt die Anzahl der Kollisionen und damit die Übertragungszeit auf dem Netz. – In einem sternförmigen Netz sind alle Rechner direkt mit einem zentralen Rechner verbunden, über welchen die gesamte Kommunikation erfolgt. Diese Topologie findet insbesondere im Großrechnerbereich Verbreitung. So ist z. B. jedes Terminal über eine eigene Leitung mit dem Großrechner (Host) verbunden. Vorteil: Kein Ausfall des Gesamtnetzes aufgrund eines defekten Kabels oder Rechners. Zusätzlich: kurze Verbindung zwischen zwei Rechnern, keine Datenkollisionen. Nachteil: Ausfall des gesamten Netzes bei Ausfall der Zentrale. – In einem voll vermaschten Netz sind alle Rechner miteinander verbunden. Vorteil: Selbst beim Ausfall einiger Teile des Netzes, einschließlich der Zerstörung von Übertragungsmedien, kommt es nicht zu einem Totalausfall des Netzes. Zusätzlich: sehr leistungsfähiges Netz. Nachteil: Aufwändige Leitungsverlegung und damit verbundene Kosten, da [n ∗ (n − 1)]/2 Kabelverbindungen benötigt werden.
Ringnetz
Busnetz
Sternnetz
Vermaschtes Netz
Netzwerktopologien
1.4 Rechnernetze und Netzarchitekturen
27
● Zusätzlich werden Rechnernetze nach Art der genutzten Zugriffsverfahren zur Steuerung des Sendeund Empfangsbetriebes unterschieden. Diese Protokolle dienen u. a. der Festlegung, wie Daten in das Übertragungsmedium geschickt und auftretende Fehler behandelt werden. • In Token-Ring-Netzwerken wird das so genannte „token passing“ eingesetzt. Innerhalb des Netzes kreist ein „Token“, welches technisch durch eine definierte Bitfolge dargestellt wird. Ein Rechner, der Daten an einen anderen Rechner senden möchte, wartet, bis das „leere“ Token bei ihm angelangt ist. Erst jetzt kann die Nachricht gesendet werden, indem diese an das Token angehängt wird. Beim Empfängerrechner angekommen, wird die Nachricht vom Token gelöst. Erst von diesem Zeitpunkt an kann die nächste Übermittlung stattfinden. Token-Ring-Netzwerke verknüpfen die Ring- mit der Sternstruktur, wobei der zentrale Rechner durch ein Switch ersetzt wird, in dem das Token kreist. • Der weit verbreitete Ethernet-Standard nutzt das Carrier Sense Multiple Access with Collision Detection - Protokoll (CSMA/CD). Dieses Verfahren ist in Busnetzen implementiert. Kommt es zu Kollisionen, weil mehrere Rechner gleichzeitig in den Bus senden, verbreitet die Station, die das als erstes bemerkt, ein spezielles Fehlersignal („Jamming“-Signal). Da jede Station auch während der Sendung das Medium abhört, wird der Konflikt erkannt und die Übertragung zurückgesetzt. Erst nach einer gewissen Verzögerung wird der Übertragungsversuch wiederholt.
1.4.4
Wide Area Network
● Wide Area Networks (WAN) verbinden geographisch weit auseinander liegende lokale Rechner oder Netzwerke. Unterschieden werden i. Allg. geschlossene WANs, die über abgegrenzte Benutzergruppen verfügen, von öffentlichen WANs wie z. B. dem Internet. • Das Telefonnetz zeichnet sich durch seine weltweite Flächendeckung aus. Dem stehen die verhältnismäßig hohe Fehlerquote durch Geräusche und die eingeschränkten Übertragungsgeschwindigkeiten gegenüber. Mikrocomputer werden über Modems an das Telefonnetz angeschlossen. • Das Direktrufnetz wird über Standleitungen zwischen zwei oder mehreren Rechnerknoten realisiert. Es entstehen bezogen auf einen Vertragszeitraum ausschließlich fixe Kosten. • Beim Integrated Services Digital Network (ISDN) handelt es sich um ein digitales Netz, das dem Anwender das Senden und Empfangen von Informationen in unterschiedlicher Form ermöglicht. ▲ Durch die Integration der angebotenen Kommunikationsdienste können Telefongespräche, Tele-
fax und Datenübertragung mit einer einheitlichen Rufnummer abgewickelt werden. Zudem ist es möglich, verschiedene Kanäle gleichzeitig zu nutzen, z. B. für ein Telefongespräch und den Zugriff auf das Internet. ▲ Voraussetzung für eine Implementierung ist allerdings die Digitalisierung des analogen Telefon-
netzes. • Asynchronous Transfer Mode (ATM) ist eine breitbandige Übertragungstechnik für ISDN. Datenströme werden in Pakete konstanter Größe zerlegt. Die Übermittlung erfolgt, indem jeder Teilstrecke zwischen zwei Vermittlungsknoten ein verbindungsspezifischer Kanal zugeordnet und eine physikalische Route reserviert wird. Eine Abrechnung von Übertragungsleistungen soll so vereinfacht werden. • Asymmetric Digital Subscriber Line (ADSL) bezeichnet ein Verfahren zur hochratigen Datenübertragung, das bis zu 64mal schneller als ISDN ist. ADSL hat eine hohe Datenrate zum Teilnehmer und eine niedrige Datenrate in Gegenrichtung. Durch die Nutzung eines hohen Frequenzbandes wird der Telefon-/ISDN-Betrieb nicht beeinträchtigt. • Als Backbone (Rückgrat) werden zentrale Übertragungsstrecken in Netzwerken bezeichnet, die Daten unterschiedlicher Verbindungen und Subnetze bündeln und weiterleiten. Sie verfügen deswegen über hohe Übertragungskapazitäten.
28
1 Universalrechensysteme und Netze ■ Ein Backbone auf lokaler Ebene beschreibt daher Verbindungen zwischen Knoten, die räumlich
voneinander getrennte LANs zusammenführen. ■ Im Internet bilden Backbones diejenigen Subnetze, die lokale oder regionale Netze über große
Distanzen miteinander verbinden.
1.5
Mobile/kabellose Netzwerke
● Die Verbreitung mobiler drahtloser Netzwerke eröffnet neue Möglichkeiten der Vernetzung. Mit solcher Technik ausgerüstete Geräte können innerhalb der Reichweite des Netztes den Aufenthaltsort wechseln, was eine Vielzahl neuer Anwendungen mit mobiler Datenkommunikation ermöglicht. Im Folgenden werden die grundlegenden Techniken, nach der Reichweite des zugrunde liegenden drahtlosen Netzwerkes vorgestellt.
1.5.1
Drahtlose WAN-Techniken
● Global Standard for Mobile Communications (GSM) bezeichnet ein digitales, zellbasiertes Funknetz, optimiert für die verbindungsorientierte Übertragung, mit wechselndem Endgerätestandort. • GSM ermöglicht eine unterbrechungsfreie Übergabe der Verbindung beim Zellwechsel. Weltweiter Standard der unter anderem in Europa flächendeckend eingeführt ist. • Die Datenübertragung erfolgt bidirektional mit maximal 9,6 Kbps (Kilobit pro Sekunde). Die Abrechnung erfolgt nach Verbindungsdauer. • Die Nutzung des GSM Netzes ist benutzerorientiert, d. h. der Netzanbieter stellt über eine SmartCard (die SIM-Karte), die Anmeldeinformationen für den Netzzugang zur Verfügung.Der Betrieb eines GSM Netzes erfordert eine Lizenz. • Neben der verbindungsorientierten Übertragung erlaubt GSM auch die Übertragung von Kurzmitteilungen (Short Message Service (SMS)), die auf 160 Zeichen beschränkt sind. Im Gegensatz zur Verbindung gibt es hier keine Empfangsgarantie. Die Abrechnung erfolgt pro Mitteilung. SMS wird deshalb in Steuerungs und Überwachungsanwendungen verwendet. ● High Speed Circuit Switched Data (HSCSD) ist eine technische Erweiterung von GSM, die die Bündelung mehrerer GSM Kanäle erlaubt, um höhere Übertragungsraten zu erziehlen. • Die Übertragung erfolgt bidirektional asynchron, d. h. die Kanäle können für upload bzw. download gebündelt werden. Die Bepreisung erfolgt wie bei GSM nach Verbindungszeit. • Zurzeit unterstützt die Hardware eine Bündelung von maximal 3 Kanälen bei einer Nutzung von 4 Kanälen gleichzeitig. Die höchste in eine Richtung erreichbare Datenrate ist damit 28,8 Kbps. ● General Packet Radio Service (GPRS) ist ein auf dem GSM aufbauendes, paketorientiertes, schnelles Übertragungsverfahren. • Im Gegensatz zu GSM/HSCSD werden hier nicht Kanäle gebündelt, sondern die Zeitschlitze der GSM Übertragung genutzt. Theoretisch sind 8 Zeitschlitze für eine Datenverbindung nutzbar, was die maximale Datenrate von 171 Kbps. erlaubt. GPRS verwendet eine übertragungsvolumenbasierte Abrechnung von Datenverbindungen. • Eine weitere wesentliche Eigenschaft von GPRS ist die dauerhafte Anmeldung im GPRS-Netz, welches langfristige Nutzung von Datendiensten mit Unterbrechungen und aktiver Datenübertragungen von Netzseite ermöglicht. ● Universal Mobile Telecommunication System (UMTS) ist ein digitales, zellbasiertes Funknetz mit wechselndem Endgerätestandort.
1.6 Informationen im Internet
29
• Durch Verwendung neuer Frequenzen und Übertragungstechnologie werden deutlich höhere Bandbreiten (bis zu 2Mbps) erreicht. Das Abrechnungsmodell erlaubt sowohl Zeit als auch volumenabhängige Abrechnung. • Die UMTS-Netze befinden sich zurzeit in Planung und die zugehörigen Endgeräte in der Entwicklung.
1.5.2
Drahtlose LAN-Techniken
● Wireless Local Area Network (WLAN) ermöglicht eine punktuelle, drahtlose, räumlich beschränkte Anbindung von Endgeräten an ein Netz, mittels eines Access Points oder einer Gegenstelle. • Die Maximale Übertragungsrate liegt bei etwa 11Mbps, für alle gleichzeitig nutzenden Endgeräte zusammen. • Für den Betrieb eines Access Points ist keine Frequenzlizenz erforderlich. Beim Wechseln zwischen zwei WLANs bricht die Verbindung ab. Am Roaming zwischen WLANs wird gearbeitet. Der zum Einsatz kommende Standard heißt Mobile IP. Dieser erlaubt mobilen Geräten, welche innerhalb eines Netzwerkes fest zugeordnete IP-Adressen besitzen, verbunden zu bleiben, auch wenn das Netzwerk gewechselt wird. • Problematisch bei WLANs ist, dass das Sendefeld des Access Points auch außerhalb der Hoheitsgewalt des Betreibers empfangen werden kann. Daher ist beim Einsatz von WLANs auf Verschlüsselung und Zugangskontrolle zu achten.
1.5.3
Drahtlose Nahbereichstechniken
● Infrared Data Association (IrDA) ist ein auf infrarotlicht basierendes, bidirektionales, drahtloses Übertragungsverfahren, dass Sichtkontakt zwischen den Kommunikationspartnern voraussetzt. • Die Reichweite ist auf wenige Meter begrenzt. • Die maximale Übertragungsrate für IrDa ist 115 kbps. ● Bluetooth ist ein funkbasiertes, bidirektionales Datenübertragungsverfahren für den Nahbereich. • Innerhalb der Reichweite von etwa 10 Metern, können Geräte miteinander Daten austauschen, ohne dass ein Sichtkontakt bestehen muss. • Im Gegensatz zu IrDa können mehrere Geräte gleichzeitig interagieren. • Über die Bindung von einzelnen Geräten an einander kann man ad hoc ein persönliches Netzwerk aufbauen. • Bluetooth bietet eine maximale Übertragungsrate von 1 Mbps.
1.6
Informationen im Internet
1.6.1
Das World Wide Web
Die Möglichkeiten, die sich aus der Verbindung von Rechnern ergeben, wurden zuerst im militärischen und wissenschaftlichen Umfeld eingesetzt. Erst mit der Entwicklung von Programmen, die einen einfachen und unmittelbaren Zugang zu einer Vielfalt miteinander verknüpfter Informationen erlaubte, wurde das Netzwerk in seiner Form des „World Wide Web“ zu einem Massenmedium. Die Gesamtheit der weltweit miteinander verbundenen Rechner, die über das TCP/IP-Protokoll (siehe Abschnitt 1.4) Daten austauschen, bildet das Internet. ● Wichtiger Bestandteil des TCP/IP-Protokolls ist die Kennzeichnung von Empfänger und Absender durch weltweit eindeutige Nummern, den IP-Adressen. Zur Vereinfachung für den Benutzer werden
30
1 Universalrechensysteme und Netze diesen Nummern Domain-Namen zugeordnet. Der so genannte Domain Name Service (DNS) übersetzt die Namen in die zugehörige IP-Adresse. ■ Bei Eingabe eines Namens fragt der Browser beim lokalen Internet-Router an, ob der Name,
bspw. www.wiwi.uni-frankfurt.de, in eine Adresse umgewandelt werden kann. Kennt der lokale Router den Namen nicht, werden solange Anfragen vom lokalen an übergeordnete Router gestellt, bis die Adresse, in diesem Fall 141.2.67.251, aufgelöst werden kann oder endgültig nicht auffindbar ist. Domain-Namen sind folgendermaßen aufgebaut: RECHNERNAME.UNTERNETZ.NETZ.HAUPTNETZ Dabei bezeichnet RECHNERNAME den eigentlichen Rechner, UNTERNETZ eine Untergliederung von NETZ, HAUPTNETZ eine globale Einteilung aller angeschlossenen Teilnetze. Je nach Größe (Anzahl der Rechner) von NETZ kann das UNTERNETZ auch entfallen bzw. noch weiter untergliedert werden. ■ Die Adresse pc42.th.physik.uni-frankfurt.de bedeutet:
● Die Hauptnetze (Top-Level-Domains) unterscheiden zwischen Netzen in verschiedenen Ländern
und (historisch bedingt) Organisationen in den USA. An der Top-Level-Domain kann man häufig den groben geographischen Standort eines Rechners ablesen: Top-Level-Domain de fr uk jp edu gov com int info biz
Bedeutung Deutschland Frankreich Großbritannien Japan Hochschule/Forschungseinrichtung in den USA US-Regierung Firmen (auch weltweit) internationale staatliche Organisationen keine Einschränkungen Firmen (auch weltweit)
▲ Die Rechnerkommunikation auf den Schichten des TCP/IP-Protokolls (siehe Abschnitt 1.4) bleibt
für den Anwender i. d. R. unsichtbar. Er ist an der Nutzung spezieller Netzwerk-Anwendungen (Internet-Dienste) interessiert, die auf der höher gelegenen Anwendungsschicht aufsetzen. ■
▲ Mit der Zunahme der im Internet auf vielen Rechnern verfügbaren Informationen wurde es zunehmend schwierig, gezielt bestimmte Daten zu finden. Daher wurde am europäischen Kernforschungszentrum CERN ein bahnbrechendes System entwickelt, das die Integration verschiedenster Dokumente mit beliebigen Querverweisen gestattete: das World Wide Web (WWW).
1.6 Informationen im Internet
31
● Kernelemente des WWW sind: 1. ein Protokoll zur Formatierung und Übertragung verschiedenartigster Daten (wie Text, Bilder, Sound) von einem Server (dem WWW-Server) zum Rechner des Anwenders (das Hypertext Transfer Protocol, kurz HTTP), 2. eine Sprache zur Beschreibung des Inhalts eines Dokuments einschließlich vorhandener Querbezüge zu anderen Dokumenten, die Hypertext Markup Language, kurz HTML (siehe Abschnitt „HTML“), 3. ein Programm zum Anzeigen von HTML-Dokumenten und zum einfachen Verfolgen von Querverweisen, auch zu Dokumenten auf völlig anderen Rechnern, dem Browser (siehe Abschnitt 1.6.3). ▲ Sowohl die Protokolle und Methoden als auch die notwendigen konkreten Programme wurden vom CERN und anderen wissenschaftlichen Instituten entwickelt und frei der Allgemeinheit zur Verfügung gestellt. Sie fanden schnell weltweite Verbreitung und lösten damit den gegenwärtigen Internet-Boom aus. ▲ Mit der rasanten Entwicklung des WWW entstanden auch völlig neue Anwendungsfelder. Insbesondere wird es zunehmend zu kommerziellen Zwecken, wie dem Vertrieb von Software und Dienstleistungen aller Art inklusiver finanzieller Transaktionen genutzt. Dies erfordert die Entwicklung neuer Methoden, wie z. B. Verschlüsselungs- und Abrechnungsmechanismen - was von der ursprünglichen, auf freie Informationsausbreitung bedachten Internetgemeinde misstrauisch beäugt wird. ● Intranets sind geschlossenen Netzwerke auf der Basis von TCP/IP und den darauf aufsetzenden Protokollen und Diensten. Der Aufbau von Intranets ist insbesondere aus Gründen der Integration mit den Diensten im öffentlichen Intranet attraktiv, sodass Anwender beide Netze mit der gleichen Oberfläche nutzen können. Häufig bieten z. B. Firmen interne Handbücher, Rundbriefe, Adressverzeichnisse, Organisationsrichtlinien und nicht-öffentliche Teilekataloge in Intranets an. Bestehen Schnittstellen zwischen einem geschlossenen Netzwerk und dem Internet, so werden häufig so genannte Firewalls (siehe Abschnitt 7.5) implementiert. Diese schotten die innere Sicherheitszone vom öffentlichen Netz ab, indem sie alle ein- und ausgehenden Datenpakete kontrollieren und unbefugten Paketen den Durchgang verweigern. ● Wenn Außenstehende ein Zugriffsrecht auf ein Intranet besitzen, spricht man von einem Extranet. Eine verbreitete Technik sind so genannte Virtual Private Networks (siehe Abschnitt 7.5), in welchen Informationen vom Übergang vom privaten LAN in das öffentliche Netz (genauer: in der Firewall) verschlüsselt und beim Eintreffen am Empfangspunkt entsprechend decodiert werden. Darüber hinaus kann diese Technik auch in Intranets zum Einsatz kommen.
1.6.2
HTML
HTML (Hypertext Markup Language), die Sprache des WWW, dient zur Beschreibung der Struktur eines Dokuments, erlaubt die Verknüpfung von Dokumenten aller Art mittels Hyperlinks und das Einbinden vielfältiger multimedialer Elemente. ● Grundprinzip von HTML ist die Trennung von Struktur und Layout: HTML dient zur Beschreibung von Inhalt und logischer Struktur eines Dokuments. Die genaue Darstellung (Wahl der Fonts, Zeilenabstände etc.) wird grundsätzlich dem Browser überlassen. ▲ Der Wunsch nach genauerer Festlegung des Layouts führte zunehmend zu HTML-Erweiterungen, die dieses Prinzip durchbrachen. Mit der HTML-Version 4.0 wurden alle die Darstellung betreffenden Elemente entfernt. Zur Festlegung des Layouts dienen nun besondere Sprachelemente bzw. Beschreibungsdateien, die Style Sheets. Übergangsweise gibt es eine HTML-Version (4.0 Transitional), die zusätzlich noch die meisten der früheren Elemente unterstützt.
32
1 Universalrechensysteme und Netze
▲ HTML-Seiten bestehen aus reinen Texten und können mit beliebigen Editoren erstellt werden. Es gibt aber auch grafische HTML-Editoren, die ähnlich wie ein Textverarbeitungsprogramm arbeiten und den eigentlichen HTML-Code selbständig erzeugen. ● Eine HTML-Seite besteht aus dem eigentlichen Text, in den HTML-Elemente (Tags) zur Beschreibung der Struktur eingebettet sind. ● Der Text kann aus allen Zeichen des internationalen Unicode-Zeichensatzes bestehen. In der Regel wird man sich aber auf eine Teilmenge beschränken (z. B. den Latin-1-Zeichensatz mit den meisten westeuropäischen Umlauten oder sogar nur ASCII), wie sie etwa durch die eigene Tastatur nahegelegt wird. Zusätzliche Zeichen (Umlaute, spezielle Sonderzeichen) können dann durch einen numerischen Code als NNN; oder einen besonderen Namen in der Form &NAME; eingegeben werden. Sonderzeichen
HTML-Bezeichnung
ÄÖÜ äöüß æåé <>&"
Ä Ö Ü ä ö ü ß æ å é < > & "
● Zeilenumbrüche und zusätzliche Leerzeichen werden vom WWW-Browser ignoriert. Die Zeilen werden – wie in Textverarbeitungsprogrammen – automatisch umgebrochen. ● HTML-Tags weisen einem Text ein bestimmtes strukturelles Element zu. Sie werden in spitze Klammern eingeschlossen und umschließen i. d. R. den Text in der Form text text text Der Tag-Name kann klein oder groß geschrieben werden. Element
Einleitung
<em>Beachte: A<SUB>ij
Bedeutung Hauptüberschrift betonter Text tiefergestellter Text
● Bei einigen Elementen ist das Endtag überflüssig und kann entfallen. Element Bedeutung
Absatz
Element einer Liste ● Manche Elemente haben keinen Inhaltstext, auch bei ihnen entfällt das Endtag. Element Bedeutung neue Zeile horizontale Linie ● Tags können zusätzliche Eigenschaften (Attribute) haben, denen i. d. R. Werte zugewiesen werden. Sie werden angegeben als ■
Das IMG-Tag fügt in den Text das durch das Attribut src bezeichnetet Bild ein. Das Attribut alt enthält einen Text, der statt des Bildes angezeigt werden kann (z. B. bei reinen Textbrowsern). ● HTML-Dokumente können Kommentare enthalten, die vom Browser nicht angezeigt werden. Sie werden in eingeschlossen.
1.6 Informationen im Internet
33
■
ueber zwei Zeilen -> ● Eine HTML-Seite besteht aus einem Kopfteil (Header), der den Titel der Seite und zusätzliche Angaben (Author, Stichworte für Suchmaschinen etc.) enthalten kann, und dem Hauptteil (Body) mit dem gesamten sichtbaren Inhalt. Beide Teile werden vom -Tag umschlossen: <TITLE>Der Titel des Dokuments Der Inhalt des Dokuments ▲ Der Titel wird i. d. R. vom Browser in der Titelzeile des Fensters angezeigt. ■ Die folgenden Tabelle zeigt die wichtigsten HTML-Tags zur Strukturierung von Texten. Die Spalte „Darstellung“ gibt an, wie die entsprechenden Elemente im Browser typischerweise dargestellt werden. Tag
Bedeutung
Darstellung
Haupt-Überschrift
. . .
Unter-Überschriften
Absatz Zeilenumbruch
Aufzählungsliste
Listenelement
<EM> <STRONG>
eigener Absatz, sehr großer Font, fett eigener Absatz, großer Font, fett neue Zeile, größerer Zeilenabstand neue Zeile eigener Absatz, eingerückt eigene Zeile pro Element, beginnt mit Spiegelstrich (Kreis, Quadrat etc.) nummerierte Liste wie
, aber Elemente werden durchnummeriert vorformatierter Text nicht-proportionaler Font, Zeilenumbrüche und Leerzeichen werden beibehalten betonter Text schräggestellt stark betonter Text fett
▲ Listen können beliebig geschachtelt werden. ● Verweise (Links) auf andere Dokumente werden mit dem -Tag gekennzeichnet: Verweistext Dabei gibt URL das Ziel des Links an, Verweistext den Text im Dokument, der als Link gekennzeichnet ist. ■ URL kann direkt eine Datei bezeichnen (../inhalt.html) oder eine beliebige WWW-Adresse (http://..., ftp://... ). ▲ Browser zeigen den Linktext meistens unterstrichen und in einer anderen Farbe an. Wurde der Link bereits verfolgt, wird der Linktext in einer anderen Farbe dargestellt. ▲ Anstelle des Verweistextes kann auch ein Bild stehen. Browser zeigen einen solchen Link durch einen farbigen Rahmen um das Bild an oder durch eine Änderung des Mauszeigers, etwa in eine Hand. ● Grafiken können direkt in den Text eingebunden werden mit dem Tag ▲ Von den zahlreichen verbreiteten Bildformaten unterstützen alle gängigen Browser zumindest GIF und JPEG. Andere Formate erfordern ggf. Plugins zur Darstellung.
34
1 Universalrechensysteme und Netze
▲ Die Möglichkeit (z. B. bei GIF-Bildern), eine Farbe als „transparent“ zu kennzeichnen, ermöglicht eine nahtlose Einfügung von nicht-rechteckigen Bildern. ▲ So lange noch keine verbreitete Möglichkeit zur direkten Darstellung mathematischer Formeln in einem HTML-Dokument besteht, kann man sie (z. B. mithilfe von LATEX, einem speziellen Textverarbeitungsprogramm) als GIF-Bilder mit transparentem Hintergrund einfügen. ▲ Das GIF-Format erlaubt, mehrere Bilder zu einer kleinen Animation in einer GIF-Datei zusammenzufügen (animated GIF). Solche Animationen werden genau wie einfache GIF-Dateien mit dem IMG-Tag eingebunden. ● In eine HTML-Seite können in Java geschriebene Programme (Applets) eingebunden werden mit dem Tag Der Browser weist dem Applet, ähnlich wie einer Grafik, einen rechteckigen Bereich der Breite WWW und Höhe HHH in Pixeln zu, der zur Programmaus- und eingabe dient. ▲ Java-Applets müssen compiliert werden. Der compilierte Code liegt in einer Datei, die normalerweise die Endung .class trägt. ▲ Die folgende Tabelle führt einige weiterführenden Möglichkeiten von HTML auf. Zu deren genaueren Beschreibung sei auf die umfangreiche Literatur bzw. die vielen im WWW verfügbaren Kurse verwiesen (s. etwa http://www.teamone.de/selfaktuell/). Element Tabelle Imagemap Frame Style Sheet Formular JavaScript
1.6.3
Funktion Darstellung von Elementen in Zeilen und Spalten Links, die mit ausgewählten Bereichen einer Grafik verknüpft sind Aufteilung einer Seite in Teilseiten Spezifikation des Layouts Komponenten zur Eingabe von Daten Scriptsprache für dynamische HTML-Seiten
Browser
▲ Der erste grafische Browser, mit dem nicht nur das Anzeigen von Texten, sondern auch von Bildern, ermöglicht wird, war das Programm Mosaic, das am amerikanischen Supercomputer-Zentrum NCSA entwickelt worden war. Aufgrund seiner leichten Bedienbarkeit verbreitete er sich schnell und ermöglichte damit den Durchbruch des WWW zur Massenanwendung. ▲ Die derzeit am weitesten verbreiteten Browser sind der Netscape Navigator der Firma Netscape und der Internet Explorer von Microsoft. Beide sind grafische Browser, welche zusätzlich MultimediaInformationen, wie Sounds und Videos, wiedergeben können. Hierzu werden jedoch bei einigen Dateiformaten so genannte Plugins benötigt, welche kleine Softwareprogramme sind, die schon bestehende Anwendungen um bestimmte Zusatzleistungen erweitern. Während der Internet Explorer hauptsächlich auf Windows-Plattformen verbreitet ist und erst seit kurzem auch für andere Betriebssysteme portiert wird, ist der Netscape Navigator auf allen verbreiteten Systemen verfügbar. ▲ Infolge des Konkurrenzkampfes wurden beide Programme mit immer mehr Funktionen ausgestattet und sind heute Universal-Programme für Netzanwendungen geworden. ■ Einige Zusatzfunktionen des Navigators bzw. des Internet Explorers: Verwaltung von Email und News, grafischer Editor zum Erstellen von HTML-Dokumenten, netzwerkfähiger Terminkalender, OnlineVideokonferenzsystem.
1.6 Informationen im Internet
35
▲ Beide Browser führten jeweils verschiedene Erweiterungen des HTML-Standards ein, die ein genaueres Layout oder sich dynamisch ändernde HTML-Seiten ermöglichen sollen. Damit sind HTML-Seiten entstanden, die sich nur noch mit dem Browser einer Firma ansehen lassen – ganz im Gegensatz zur Idee des WWW. ▲ Der HTML-Standard 4.0 integriert viele der neuen Funktionen in hersteller-übergreifender Weise. Allerdings wird er noch nicht vollständig von den Browsern unterstützt. ▲ Ein Sonderfall ist der frei erhältliche Browser Lynx, der ohne grafische Oberfläche auf Textbasis arbeitet. Er ist damit für einfache Terminals oder - etwa mit einer Braille-Zeile oder einer Vorlesefunktion für Blinde geeignet. Die zunehmende Multimedia-Orientierung im WWW schränkt seinen Nutzen aber sehr ein.
1.6.4
Nutzung der Internet-Dienste
a) WWW Eine URL (Uniform Resource Locator) ist die eindeutige Bezeichnung eines Dokuments innerhalb des Internets. ● Eine URL hat folgende Form: PROTOKOLL://RECHNERNAME/LOKALER_NAME wobei PROTOKOLL das Verfahren zur Übertragung des Dokuments angibt, RECHNERNAME der Domainname des Servers ist, der das Dokument bereithält, und LOKALER_NAME Informationen über den Ort des Dokuments auf dem Server enthält. ■ http://www.harri-deutsch.de/verlag/titel/stoecker/s_1573.htm
▲ LOKALER_NAME ist im einfachsten Fall ein Verzeichnispfad zum gesuchten Dokument auf dem Server, kann aber vom Server auch anders interpretiert werden. Der letzte Teil ist meistens ein Dateiname (s_1573.html). Wird er weggelassen, sucht der Server i. d. R. nach einer Datei index.html oder index.htm an der entsprechenden Stelle. ▲ http ist das Protokoll zur Übertragung von HTML-Dokumenten (WWW-Seiten). Andere Protokolle dienen hauptsächlich zur Integration weiterer Internet-Dienste. ● Wesentliche Funktion des Browsers ist die formatierte Darstellung von HTML-Dokumenten. Querverweise zu anderen Dokumenten (Hyperlinks oder einfach Links) werden besonders gekennzeichnet (z. B. farblich oder durch Unterstreichung). Durch einfaches Anklicken eines Links wird die entsprechende Seite geladen und angezeigt. ▲ Browser bieten die Möglichlichkeit, zum letzten Dokument, meist auch zu allen bisherigen Dokumenten, zurückzugehen. ▲ Eine URL kann auch direkt als Text angegeben werden. Darüber hinaus kann man eine Liste interessierender Seiten anlegen (Bookmarks, Favoriten) und in hierarchischer Form gliedern. Als Homepage wird die Einstiegsseite zu den WWW-Seiten einer Institution, Firma oder Person bezeichnet. ▲ Eine gut gepflegte Liste von Bookmarks ist eine wesentliche Orientierungshilfe im unüberschaubaren Informationsangebot des WWW. Dabei empfiehlt es sich, auch Verweise auf übergeordnete Seiten wie Homepages aufzunehmen, da diese sich erfahrungsgemäß nicht so häufig ändern wie einzelne untergeordnete Seiten. ● WWW-Dokumente können auch multimediale Elemente enthalten. ■ Bilder, Sprache und Musik, Filme und Animationen, 3-D-Darstellungen, eingebettete Programme (Applets).
36
1 Universalrechensysteme und Netze
● Multimedia-Elemente sind mit Typ-Informationen (MIME-Typ) versehen, anhand derer der Browser entscheidet, wie er sie darstellen soll. Dabei hat er drei Möglichkeiten: 1. Er kann sie selber direkt im Dokument anzeigen (einige Bildformate). 2. Er kann sie mithilfe besonderer Erweiterungsmodule (Plugins) innerhalb des Dokuments anzeigen. 3. Er ruft externe Programme auf, die sie in einem eigenen Fenster darstellen. ▲ Plugins für die verbreiteten Browser werden von anderen Firmen – meist für die von ihnen entwickelten Formate – zur Verfügung gestellt. Für die häufigsten MIME-Typen werden die benötigten Plugins direkt mit den Browsern mitgeliefert. ▲ Die Verwendung von Formaten, die Plugins benötigen, schränken den Leserkreis einer Seite ein, da sie evtl. beim Benutzer nicht installiert sind oder für das verwendete Betriebssystem bzw. den benutzten Browser nicht zur Verfügung stehen. ■ Für die folgenden Formate sind Plugins weit verbreitet: Format Wave MIDI Quicktime RealAudio, RealVideo VRML PDF
● Um den Netzwerkverkehr und die Ladezeiten zum Betrachten eines Dokuments zu verringern, werden bereits geladene Seiten in Zwischenspeichern (Caches) aufbewahrt und bei Bedarf direkt von dort geholt. Dabei werden i. d. R. drei verschieden große Cache-Stufen benutzt: • im Hauptspeicher (Speicher-Cache) • auf der Festplatte (Disk-Cache) • auf externen Rechnern (Proxy-Cache) ▲ Proxy-Caches werden auf Maschinen des Providers eingerichtet (an Unis an den Rechenzentren), um Kopien häufig gelesener Seiten lokal vorzuhalten. Sie bilden untereinander ein Netzwerk, das eine irgendwo zwischengespeicherte Seite möglichst schnell heranschaffen soll. ▲ Bei Änderungen an bestehenden Seiten enthalten Proxies u. U. veraltete Versionen. Seiten mit häufigen Änderungen können ein Verfallsdatum angeben, nach dem sie neu vom Original-Server geholt werden sollen. Außerdem kann man den Browser anweisen, eine geladene Seite ohne Cache-Verwendung zu holen (bei Netscape z. B. mit <SHIFT>-Reload).
b) Email Eine Email dient dem Versenden von elektronischer Post. Dies gehört zu den ältesten und verbreitetsten Internet-Diensten. ● Eine Email hat neben dem Inhalt auch einen Header mit zusätzlichen Informationen. Der Header besteht aus mehreren Zeilen, die jeweils mit einem Schlüsselwort beginnen. Schlüsselwort To: From: Reply-To: Subject: Date:
Bedeutung Adresse Absender Antwort-Adresse (u. U. verschieden von From:) einzeilige Kurzbeschreibung, Betreff Datum und Uhrzeit des Versendens
1.6 Informationen im Internet
37
● Wichtiger Bestandteil einer Email ist die Adresse. Sie hat die Form NAME@DOMAINNAME Dabei weist NAME auf die Person des Empfängers, DOMAINNAME auf den Rechner, der die Mail empfängt. ■ [email protected]
▲ Das To:-Feld einer Mail kann auch mehrere, z. B. durch Kommata getrennte Adressen enthalten. Eine Mailingliste bezeichnet die Mailadresse, die einer ganzen Gruppe von Personen zugeordnet ist. Jede Mail an eine Mailingliste geht an alle Mitglieder. Mailinglisten werden vom Mailadministrator einer Domain (Postmaster) verwaltet. ▲ Eine Mailingliste ist ein (privater) Diskussionskreis. Viele Mailinglisten sind aber öffentlich, d. h. jeder kann durch eine einfache Mail automatisch Mitglied werden. ▲ Es gibt kein weltweites Email-Verzeichnis. Man findet zumindest die Adresse von Personen, von denen man Email bekommen hat oder News-Artikel liest, im Header. Email-Adressen von Uni-Angehörigen sind meistens unter der Homepage ihres Instituts zu finden. ● Der Inhalt einer Email besteht im einfachsten Fall aus einem ASCII-Text. Um auch andere Formate (Texte mit Umlauten, HTML-Texte, Bilder etc.) übertragen zu können, werden sie mit einem entsprechenden MIME-Typ gekennzeichnet. Darüber hinaus können einer Email noch beliebige weitere Dateien angehängt werden (Attachments). ▲ Weit verbreitet ist die Konvention, am Ende des Textes eine explizite Absender-Angabe unterzubringen (Signature). Sie enthält neben der Adresse oft noch die URL der Homepage oder die Telefonnummer. ● Neben den eigentlichen Empfängern kann man eine Email auch als Kopie nachrichtlich an weitere Personen senden. Dazu ist das Header-Feld CC: (Carbon Copy) vorgesehen. ▲ Alle Empfänger einer Mail sehen im Header die vollständigen To- und CC-Listen. ● Das Header-Feld BCC (Blind Carbon Copy) dient, wie CC, zum Versenden von Kopien einer Email. Im Gegensatz zu CC sind die Empfänger einer BCC-Nachricht für die anderen Empfänger nicht zu sehen. ▲ Damit Emails zugestellt werden können, sollte der Mailserver einer Domain ständig mit dem Internet verbunden sein. Die Empfänger dagegen holen sich ihre Mails nach Bedarf vom Mailserver. ● Das Simple Mail Transfer Protocol (SMTP) ist für die Übertragung der E-Mails vom Client des Senders zum Mailserver und für den Transport zwischen den einzelnen Mailservern verantwortlich. Für den Transport vom Mailserver zum Client des Empfängers gibt es zwei verschiedene Verfahren (Protokolle): Post Office Protocol (POP) Mails werden vom Server zum Empfänger kopiert und auf dem Server gelöscht. Internet Message Access Protocol (IMAP) Mails können zusätzlich auf dem Mailserver gespeichert und organisiert werden. ▲ Zum Empfangen, Verschicken und Organisieren von Emails gibt es eine Reihe von Programmen mit einer Vielzahl an Funktionen. ■ Wichtige Zusatz-Funktionen von Mailprogrammen: • Organisieren von Mails in Foldern (Verzeichnissen) • Verwalten von Adressen • Reply-Funktion: auf eine empfangene Mail antworten • Forward-Funktion: eine eingegangene Mail weiterschicken ▲ Die Vertraulichkeit einer Email ist grundsätzlich nicht gewährleistet: Sowohl der Inhalt als auch Absender oder Empfänger einer Email können prinzipiell gelesen und geändert werden. Daher wurden
38
1 Universalrechensysteme und Netze Verfahren entwickelt, um die Richtigkeit des Absenders (Authentisierung) und des Inhalts (Integrität) einer Email zu gewährleisten. Sie basieren auf mehrstufigen Verschlüsselungsverfahren.
c) Newsgruppen Newsgruppen sind Diskussionsgruppen, in denen ähnlich zu schwarzen Brettern alle Beiträge für alle Leser einer Gruppe sichtbar sind. ● Die mehr als 10 000 Newsgruppen sind nach ihrem Thema in Hierarchien eingeordnet und benannt. ■ de.comp.os.linux
deutsche Gruppe. Computer. Betriebssysteme (operating systems). Linux ■ sci.math.research
Wissenschaft (science). Mathematik. Forschung ■ Einige wichtige Hauptkategorien: Kürzel alt comp de news rec sci soc
Bedeutung alternative Gruppen (weit gestreut) Computer deutsche Gruppen Informationen über Newsgruppen Hobbies (recreations) Wissenschaften soziale Themen
● Neue Newsgruppen entstehen, wenn sich genügend viele Interessenten finden. Der genaue Prozess besteht in einem formalisierten Abstimmungsverfahren. ▲ Viele Newsgruppen werden weltweit im ganzen Internet verbreitet, andere nur innerhalb eines Landes oder einer Domain (etwa einer Universität). ● Es gibt moderierte Gruppen, in denen die Beiträge von einer Person, dem Moderator, vor der Veröffentlichung geprüft werden (auf Zugehörigkeit zum Thema der Gruppe, auf Relevanz, etc., je nach Gruppe). In unmoderierten Gruppen werden dagegen alle Beiträge, die Benutzer abgeschickt (geposted) haben, weiterverbreitet. ● Artikel in Newsgruppen werden von einem zentralen Server (Newsserver) einer Domain bezogen und zwischengespeichert. Aufgrund der ungeheuren Datenflut werden sie nach einer bestimmten Zeit (einige Tagen bis Wochen) auf dem Server wieder gelöscht. Ein Newsreader ist ein Programm, welches zum Lesen und Posten von News-Artikeln verwandt wird. ■ nn, tin, xrn, netscape ▲ Newsreader unterstützen verschiedene Aspekte der Arbeit mit News: • Organisieren von Newsgroups: Auswahl der Gruppen, die man lesen möchte (subscribe-Funktion), Anzeigen neuer Gruppen • Lesen von Artikeln: Sortieren von Artikeln nach Thema (Subject-Zeile), Anzeigen der Subject-Zeilen zur schnellen Übersicht, Markieren von Artikeln als gelesen /ungelesen • Schreiben von Artikeln: Posten in eine oder mehrere Gruppen, Email an den Autor eines Artikels. ▲ Häufig tauchen, vor allem von neuen Teilnehmern, immer wieder dieselben Fragen auf. Um ständige Wiederholungen zu vermeiden, werden in vielen Newsgruppen Listen mit den häufigsten Fragen und ihren Antworten (FAQ-Listen = Frequently Asked Questions) regelmäßig geposted.
1.6 Informationen im Internet
39
▲ Um ein friedliches Miteinander der Teilnehmer zu gewährleisten, haben sich gewisse Regeln eingebürgert (als Netiquette bezeichnet), die sich wohl von selbst verstehen dürften, z. B.: • Vorsicht mit Äußerungen über andere. • Benutze informative Subject-Zeilen. • Fasse dich kurz.
d) Übertragung von Dateien ● Mithilfe von FTP (File Transfer Protocol) können Dateien zwischen Rechnern übertragen werden. ▲ FTP wird im WWW hauptsächlich für Datensammlungen (etwa Programm- oder Artikel-Archive) eingesetzt. ▲ Häufig werden bestimmte Datei-Formate zum Zusammenfassen und Komprimieren der Daten benutzt. ■ zip, tar.gz ● Mit einer entsprechenden URL kann man sich ganze Verzeichnisse ansehen oder einzelne Dateien direkt mit einem Browser auf den eigenen Rechner übertragen (downloaden). ■ ftp://ftp.zib.de/netlib/eispack Inhaltsverzeichnis von Eispack (Software zur numerischen Lösung von Eigenwertproblemen) ■ ftp://ftp.zib.de/netlib/eispack/archives/eispack-linux.tgz Komplette Bibliothek für Linux ▲ Spezielle FTP-Programme erlauben z. B. das Übertragen von ganzen Verzeichnissen. ▲ Auch alle im Browser angezeigten WWW-Seiten und die meisten Inhalte (Bilder, Applets) lassen sich direkt abspeichern.
e) Telnet Telnet ist ein Protokoll zum Anmelden (Einloggen) und Arbeiten an einem entfernten Rechner, wobei ein einfaches Text-Terminal nachgebildet wird. ▲ Um sich auf einem entfernten Rechner einloggen zu können, benötigt man dort eine Zugangsberechtigung. Man identifiziert sich mit einem Usernamen und einem Passwort. ▲ Einige Internet-Dienste verwenden Telnet, wobei ein eingeschränkter Gast-Zugang zur Verfügung gestellt wird. ■ Online-Kataloge (OPACs) von Bibliotheken, etwa telnet://opac.tu-harburg.de ▲ Benutzt man eine solche URL in einem Browser, öffnet dieser ein Fenster mit einem Text-Terminal. Es gibt aber auch spezielle Telnet-Programme mit zusätzlichen Funktionen (z. B. Mitschreiben in einer Protokolldatei).
f) Sonstige Internet-Dienste • Telefonieren über das Internet: Mithilfe spezieller Hard- und Software ist es möglich, das Internet als Medium zur Übertragung von Sprache zu nutzen. Die Qualität entspricht jedoch nicht der einer direkten Telefonverbindung, da das auch als Voice over IP (VoIP) bezeichnete Verfahren das RealTime Transport Protocol RTP, welches wiederum auf UDP (siehe Abschnitt 1.4) aufsetzt, benutzt. • Streaming: Streaming ist eine Technik, die es ermöglicht, Daten (insb. Multimedia-Daten) in einem Fluss (stream), wenn nötig auch live, zu übertragen. Der Vorteil liegt darin, dass das Abspielen, z. B. eines über das Internet aufgerufenen Filmes, schon gestartet werden kann, ohne den ganzen Film vorher übertragen zu müssen. Wie VoIP benutzt auch Streaming UDP und RTP.
40
1 Universalrechensysteme und Netze
1.6.5
Gezielte Informationssuche
Wenn man sich durch einige der größeren WWW-Server klickt, findet man Informationen zu allen Lebenslagen, von den neuesten Nachrichten über die wichtigsten Baseball-Ergebnisse zum aktuellen Horoskop. Nebenher wird man mit ungezählten Werbebildern bombardiert. In diesem Wust gezielt Informationen zu finden, erfordert das Anwenden verschiedener Strategien, von denen die wichtigsten i. F. vorgestellt werden. ▲ Homepages von Firmen oder Organisationen kann man häufig direkt erraten. Muster www.FIRMA.com www.FIRMA.de www.NAME.org www.uni-STADT.de www.tu-STADT.de www.fh-STADT.de
Gruppe Firmen (oft amerikanisch) deutsche Firmen (auch unter.com) Organisationen deutsche Hochschulen
Beispiel www.compaq.com www.siemens.de www.linux.org www.uni-frankfurt.de www.tu-harburg.de www.fh-friedberg.de
▲ Zu vielen speziellen Themen gibt es besondere Link-Sammlungen. ■ Mehrere mathematische Institute in Deutschland stellen im Rahmen des MathNet-Projekts eine große Sammlung von Links zur Mathematik zusammen unter http://www.math-net.de/ ■ Die Computer-Zeitschrift c’t unterhält eine Seite, die Hilfe zur Selbsthilfe bei Problemen mit PCHardware oder -Programmen bietet: http://www.heise.de/ct/tipsundtricks/ ▲ Bücher findet man in den Online-Katalogen (OPACs) der Bibliotheken. ■ Die deutsche Zentralbibliothek für u. a. Mathematik und Physik ist die TIB/UB an der Uni Hannover. Man kann in ihren umfangreichen Beständen suchen unter telnet://opac.tib.uni-hannover.de ▲ Artikel, die in den News veröffentlicht wurden, werden seit 20 Jahren im Usenet gesammelt und sind auf dem Google Groups Server abrufbar: http://groups.google.com/ Hier kann man gezielt spezielle Gruppen nach Stichworten durchsuchen. ■ Suche nach dem Stichwort Strassen in der Gruppe sci.math.research liefert 6 Artikel, die sich alle mit dem Strassen-Algorithmus beschäftigen. Erweitert man die Suche auf alle Newsgruppen mit math im Namen (also *math*), erhält man 72 Antworten, von denen einige die Wahrscheinlichkeit diskutieren, mit gewissen „Strassen“ beim Monopoly zu gewinnen. Natürlich ändern sich diese Zahlen häufig. ▲ Zur Orientierungshilfe wurden von verschiedenen Firmen große WWW-Server installiert, die einen möglichst großen Teil des Internets absuchen und in teils verschiedener Weise zum Abruf bereitstellen. Diese Dienste werden durch Werbung finanziert. Ein Web-Katalog bezeichnet ein Suchsystem, bei dem die Informationen thematisch in Kategorien einsortiert werden. Dies geschieht i. Allg. manuell, d. h. durch Redakteure. Name Dino Yahoo!
Bemerkungen deutsche Seiten, entstanden an der Uni Göttingen i. W. angloamerikanisch, Klassiker Yahoo!-Ableger, deutschsprachige Inhalte deutschsprachige Inhalte
1.6 Informationen im Internet
41
▲ Web-Kataloge umfassen nur einen kleinen Teil des Internets, bieten dafür aber einen guten Überblick. Sie sind besonders nützlich für • einen Überblick zu einem Thema • weitgespannte Anfragen ■ Im Dino-Katalog finden wir unter „Wissenschaft“, Unterpunkt „Mathematik+Statistik“ z. B. eine Liste von mathematischen Instituten, die Homepage der Deutschen Mathematiker-Vereinigung oder eine spezielle Mathematik-Suchmaschine der FH Bochum. Eine Suchmaschine ist ein Suchsystem, das automatisch Bereiche des Internets absucht und eine große Datenbank mit Schlagwörtern anlegt. Suchen im Datenbestand geschehen über eine einfache Oberfläche oder eine kompliziertere Abfragespache. Name Google Altavista HotBot Fireball
Bemerkungen Klassiker erste GROSSE Suchmaschine deutsche Dokumente, Abfragesprache wie bei Altavista
▲ Suchmaschinen schaffen heute etwa 10 - 40 % des gesamten WWW-Bestandes. Sie besuchen eine Seite im Abstand von einigen Wochen, nicht selten sind daher Links im Datenbestand veraltet oder nicht mehr existent. ▲ Suchmaschinen eignen sich besonders für • Suchen nach Namen oder seltenen Begriffen • durch mehrere Bedingungen eingrenzbare Abfragen ▲ Einfache Suchen nach einem einzigen Schlagwort liefern oft eine Unzahl an Treffern. Wichtig ist die geschickte Eingrenzung mithilfe der Abfragesprache. ▲ Die Abfragesprachen der einzelnen Suchmaschinen unterscheiden sich. Für gezieltes effizientes Suchen sollte man sich mit den Abfragesprachen einiger großer Suchmaschinen vertraut machen. ■ Einige Elemente der Abfragesprache von Altavista: Syntax allesklein
Bedeutung passt auf Klein- und Großbuchstaben, etwa allesklein, AllesKleiN kleinUndGroß passt nur auf genau die angegebene Form WORT1 WORT2... mindestens eins der Worte muss auftreten, sortiert wird nach Anzahl der Treffer "WORT1 WORT2" Der angegebene Text muss genau so auftreten (bis auf Klein/Großschreibung) +WORT1 +WORT2 -WORT3 WORT1 und WORT2 müssen auftreten, WORT3 darf nicht auftreten do*ument * als Platzhalter (Wildcard) für irgendwelche Zeichen, passt etwa auf document, dokument ■ Suche in Altavista: Suchbegriff Strassen +Strassen +matrix +Strassen +matrix +implementation
Ergebnis 89540 Einträge, fast alle über (Auto-)Straßen 3100 Einträge 196 Einträge
▲ Kataloge und Suchmaschinen werden auch kombiniert. ■ Wird ein Suchbegriff in den Yahoo-Seiten nicht gefunden, kann er gleich an eine Suchmaschine weitergegeben werden.
42
1 Universalrechensysteme und Netze
▲ Mit der steigenden Zahl der Suchmaschinen und Kataloge – z. Zt. schon über 100 –, die alle nur einen Teil des Internets abdecken, wird selbst die Suche in Suchmaschinen recht aufwendig. Eine Meta-Suchmaschine ist ein Suchsystem, das eine Anfrage gleichzeitig an mehrere Suchmaschinen weitergibt, die innerhalb einer bestimmten Zeit angekommenen Antworten zusammenfasst und ggf. bewertet. ▲ Meta-Suchmaschinen erlauben nicht die volle Ausnutzung von Abfragesprachen der einzelnen Suchmaschinen. Bestenfalls haben sie eine eigene Syntax, die sie in die der jeweiligen Suchmaschine umsetzen. Name MetaCrawler Highway 61 MetaGer
Bemerkungen eigene Eingabesyntax erlaubt Weitersuchen deutsche Suchmaschinen
▲ Ziel einer Suche sollte i. d. R. nicht nur sein, irgendein Dokument zu finden, sondern eine gute Einstiegsseite zum interessierenden Thema. Eine gut gepflegte Sammlung von URLs wird so im Lauf der Zeit die beste, individuelle „Suchmaschine“.
2
Programmierung und Programmiersprachen
2.1
Programmierung
2.1.1
Werkzeuge zur Programmentwicklung
a) Compiler Ein Compiler ist ein Programm, das einen in einer Programmiersprache vorliegenden Text (Quellcode) in eine Abfolge von grundlegenden Befehlen übersetzt, die auf einem bestimmten Rechnertyp direkt ausgeführt werden kann (Maschinensprache, Objectcode). Die Ergebnisdatei ist ein ablauffähiges Programm (Executable). ■ Auf einem Linux-Rechner sind Compiler für alle gängigen Programmiersprachen kostenlos (im Rahmen des GNU-Projekts) verfügbar, etwa der cc für C und C++ oder der f77 für FORTRAN77. Für WindowsBetriebssysteme sind Compiler kommerziell erhältlich. Es gibt allerdings auch dort Versionen der GNUCompiler. ▲ Ein Executable ist nur auf einem Prozessor eines bestimmten Typs und auf einem Betriebssystemtyp ablauffähig. ▲ Ein Compiler erkennt Fehler im Programmtext, die sich auf die grammatikalischen Regeln einer Sprache beziehen, wie Schreibweise oder Anordnung von Befehlen oder richtige Verwendung von Variablen (Syntaxfehler). ▲ Ein weiterer Schritt beim Compilieren ist die Optimierung. Hier versucht der Compiler, den erzeugten Code so zu verändern, dass er schneller abläuft, ohne dass sich dabei die Ergebnisse der Berechnung ändern. Dazu führt er z. B. geschickt Zwischenergebnisse ein oder stellt die Reihenfolge von Befehlen um. ▲ Unabhängige Programmteile (Unterprogramme) können einzeln übersetzt werden. Das Zusammenfügen der Teile übernimmt dann ein spezielles Programm, der Linker oder Loader, der i. d. R. vom Compiler selbst aufgerufen wird. ▲ Häufig benutzte Unterprogramme fasst man zu Bibliotheken zusammen, aus denen der Linker die benötigten Routinen heraussucht und dem Programm hinzufügt. ■ Es gibt Bibliotheken mit Routinen zur Ein-/Ausgabe (read, write), für mathematische Operationen (sin, log) oder mit Grafikbefehlen (drawLine, setColor).
b) Interpreter Ein Interpreter ist ein Programm, das in einer Textdatei enthaltene Kommandos einer Programmiersprache einliest (oft zeilenweise) und direkt ausführt. ■ Traditionell werden Programme in BASIC von einem Interpreter ausgeführt. In der stark erweiterten Form des Visual-BASIC hat es auch heute noch eine große Bedeutung. ■ Interpretersprachen haben weite Verbreitung im Bereich der Internet/WWW-Programmierung und der Gestaltung von grafischen Benutzeroberflächen. Zu den wichtigsten Sprachen gehören Javascript, Perl, Tcl/Tk.
44
2 Programmierung und Programmiersprachen
▲ Da der Compilierungsprozess wegfällt, sind Interpreter besonders nützlich in der frühen Phase einer Programmentwicklung, wenn sehr häufige Tests nötig sind (Rapid Prototyping). Außerdem sind die Programme ohne weitere Anpassung auf allen Rechnertypen ablauffähig (portabel). ▲ Interpreter sind wesentlich langsamer als compilierte Programme, da bei der Ausführung jeder einzelne Befehl neu übersetzt werden muss. Grundsätzlich können aber auch für Interpretersprachen Compiler geschrieben werden (etwa für Visual-BASIC), die das „endgültige“ Programm dann in Maschinencode übersetzen. ▲ Eine Zwitterstellung zwischen Compiler- und Interpretersprache nimmt Java ein. Java-Programme werden zunächst in einen maschinenunabhängigen Zwischencode (Bytecode) übersetzt, der dann von einem Interpreter ausgeführt wird. Damit hofft man, die Portabilität des Codes und eine hohe Geschwindigkeit zu vereinen. Inzwischen gibt es allerdings auch schon Compiler zur Übersetzung des Bytecodes.
c) Debugger Ein Debugger ist ein Programm zur Untersuchung von Laufzeitfehlern eines anderen Programms. ▲ Ein Compiler entdeckt nur die Syntaxfehler in einem Programm, die entscheidenden Fehler werden erst beim Programmablauf sichtbar. ▲ Ein Debugger ermöglicht es, ein Programm schrittweise oder bis zum Auftreten bestimmter Bedingungen ablaufen zu lassen. Außerdem erlaubt er das Betrachten von Variableninhalten während des Ablaufs. ▲ Damit ein Debugger den Maschinencode und den Quellcode in Verbindung bringen kann, muss der Compiler Zusatzinformationen im Maschinencode unterbringen und darf keine Optimierungen vornehmen. Dafür sind spezielle Einstellung beim Übersetzungsschritt nötig. ■ Bei UNIX-Compilern wird dazu meistens die Option -g verwendet: cc -g meinprogramm.c
d) Profiler Ein Profiler ist ein Programm, das Informationen über das zeitliche Verhalten eines Programms und seiner Teile ermittelt und darstellt. ▲ Insbesondere bei numerischen Anwendungen muss ein Programm nicht nur fehlerfrei, sondern auch möglichst schnell ablaufen. Ein Profiler hilft dabei, die Stellen zu finden, die bei der Ausführung besonders viel Zeit benötigen. ■ Ein Profiler liefert etwa folgende Daten: • Zahl der Aufrufe einer Routine • verbrauchte Zeit für einen bzw. für alle Aufrufe einer Routine • Zeitverhalten anderer Programmteile (meistens Schleifen) ▲ Typische Arbeitsweise eines Profilers: Zunächst fügt der Profiler (oder auch der Compiler) Messroutinen in den Code ein. Beim Programmablauf werden die Zeiten und anderen Daten ermittelt und in eine Datei geschrieben. Anschließend werden diese Daten ausgewertet und (oft grafisch) dargestellt. ▲ Grundsätzliches Problem: Die Messungen selbst benötigen auch Zeit! Gute Profiler können diese Zusatzzeiten (den Overhead) abschätzen und entsprechend korrigieren.
e) Integrierte Entwicklungsumgebungen ▲ Zur Vereinfachung der Programmentwicklung gibt es, vor allem unter Windows-Betriebssystemen, spezielle Programme, die die häufig benötigten Werkzeuge unter einer grafischen Oberfläche zusammenfassen (integrierte Entwicklungsumgebungen).
2.1 Programmierung
45
■ Neben den Grundwerkzeugen Editor, Compiler, Linker, Debugger und Profiler sind oft noch Werkzeuge zur Verwaltung größerer, aus vielen Quelldateien bestehender Projekte vorhanden. Außerdem unterstützt der Editor i. d. R. die Syntax der Sprache und erlaubt ein gezieltes Aufsuchen und Vergleichen der verschiedenen Programm-Module (Code-Browser, Klassen-Browser). ▲ Unter UNIX wird zum Übersetzen größerer Programme das Tool make verwendet. Nach dem Erstellen einer Beschreibungsdatei (Makefile), die die benötigten Module und ihre Abhängigkeiten definiert, werden dann nur noch die Teile neu übersetzt, die sich seit dem letzten Lauf verändert haben. ▲ Noch weitergehende Unterstützung bei der Programmentwicklung bieten komponentenbasierte Umgebungen (z. B. Visual-BASIC oder Java Beans). Sie stellen fertige Module etwa für Oberflächenelemente oder für einen Datenbankzugriff zur Verfügung, die grafisch dargestellt werden und interaktiv zu größeren Programmen zusammengesetzt werden können. Im Extremfall können so rein grafisch – ohne einen eigenen Quellcode zu erstellen – komplexe Anwendungen zusammengestellt werden.
2.1.2
Programmiermethodik
a) Strukturierte Programmierung Ein häufiger Gebrauch der goto-Anweisung zur Steuerung des Ablaufs, die einen Sprung an eine beliebige andere Stelle im Programm bewirkt, führt oft zu unverständlichem Programmtext („Spaghetti-Code“). Um verständlichere, leichter zu modifizierende Programme zu erhalten, wurden folgende Mechanismen eingeführt, welche unter dem Begriff der strukturierten Programmierung zusammengefasst werden: • Kontrollstrukturen, die die Benutzung des goto-Befehls überflüssig machen und den Programmablauf deutlich werden lassen, • Datenstrukturen, die den mit den Daten durchzuführenden Operationen entsprechen, • Techniken zur Zerlegung der Programme in kleine Einheiten („Unterprogramme“), die weitgehend unabhängig voneinander entwickelt werden können. ▲ Diese Ideen wurden konsequent in der Entwicklung der Programmiersprache PASCAL umgesetzt.
b) Kontrollstrukturen Eine Anweisung ist die Grundeinheit der Programmausführung. ■ Einfache Anweisungen sind z. B.: • Zuweisung eines Wertes an eine Variable, • Ausführung von Basis-Operationen an Variablen, • Ausführung eines Unterprogramms, • Kombinationen davon. ▲ Was als „elementare“ Operation gewertet wird, hängt von der Programmiersprache ab, in Assembler etwa ist dies eine Addition von ganzen Zahlen, in Fortran eine Sinus-Berechnung, in SQL eine Datenbank-Abfrage. Ein Block ist eine Folge von Anweisungen, die als eine einzige Anweisung betrachtet wird. ▲ Ein Block wird in PASCAL durch BEGIN/END eingeschlossen, in C, C++ und Java durch { und }. Unter einer Bedingten Anweisung versteht man eine Anweisung, die nur bei Eintreten einer Bedingung ausgeführt wird. ● Grundsätzliche Form der bedingten Anweisung: if Bedingung then Anweisung1
46
2 Programmierung und Programmiersprachen else Anweisung2 Ist die Bedingung erfüllt, wird Anweisung1 ausgeführt, sonst Anweisung2.
▲ Der else-Zweig kann entfallen. Andererseits können durch Schachtelung von if/else-Anweisungen mehrfache Fallunterscheidungen dargestellt werden. ▲ Zur Vereinfachung solcher Fallunterscheidungen dient die Verzweigung, die die Auswahl unter einer Reihe von Optionen ermöglicht. Sie wird mit switch (C, C++, Java), case (PASCAL) oder select case (Fortran) eingeleitet. Eine Schleife bezeichnet die wiederholte Ausführung von Anweisungen solange, bis eine Abbruchbedingung erreicht ist. ▲ Wird die Abbruchbedingung zu Beginn der Schleife geprüft, spricht man von einer abweisenden oder while-Schleife, bei Prüfung am Ende der Schleife von einer nichtabweisenden oder repeat-Schleife. ▲ Die nichtabweisende Schleife wird immer mindestens einmal durchlaufen. ▲ Häufig benötigt man Schleifen, bei denen eine (ganzzahlige) Indexvariable einen festen Wertebereich durchläuft. Obwohl sich solche Schleifen leicht etwa mithilfe von while-Schleifen ausdrücken lassen, gibt es dafür eine spezielle Anweisung, die Laufanweisung, die auch als for- oder DO-Schleife bezeichnet wird.
c) Datenstrukturen ▲ Ein wichtiges Prinzip der strukturierten Programmierung ist die Zuordnung von Variablen zu Datentypen. Ein Datentyp legt den Wertebereich einer Variablen fest und gibt zugleich an, welche Grundoperationen damit ausgeführt werden können. Einfache Datentypen sind die in einer Programmiersprache grundlegenden vordefinierten Datentypen, die vor allem zur Darstellung von Zahlen und Zeichen dienen. ▲ In den meisten Sprachen sind Datentypen für ganze Zahlen und für Fließkommazahlen vordefiniert, oft in verschiedenen Versionen für unterschiedliche Wertebereiche. Dazu kommen Typen für Zeichen (Buchstaben, Ziffern, Satzzeichen usw.) und für Wahrheitswerte (wahr/falsch). ■ In C gibt es drei Typen für ganze Zahlen (short, int, long), die zunehmend größere Zahlen aufnehmen können. Allerdings ist der genaue Wertebereich nicht festgelegt, sondern systemabhängig. ▲ Wahrheitswerte werden auch als logische oder boolesche Werte bezeichnet. Entsprechende Datentypen sind boolean (PASCAL, Java) oder logical (Fortran). In C gibt es keinen solchen Typ. Unter einem Feld (Array) versteht man einen Datentyp, der mehrere Elemente des gleichen Typs zusammenfasst, auf die mithilfe eines ganzzahligen Integerwertes zugegriffen werden kann. ▲ Die Elemente eines Feldes können auch von einem zusammengesetzten Typ (Struktur, Feld) sein. Handelt es sich insbesondere wieder um Felder, erhält man mehrdimensionale Felder. ▲ Ein- und mehrdimensionale Felder dienen vor allem bei numerischen Berechnungen zur Beschreibung mathematischer Vektoren und Matrizen, aber auch geometrischer Objekte wie regelmäßiger Gitter. ▲ Da Rechnungen mit Matrizen bei naturwissenschaftlichen und technischen Anwendungen sehr häufig sind, gibt es in Fortran viele Operationen zur direkten Bearbeitung von Matrizen. Darüber hinaus gibt es Programme, die interaktive Matrix-Berechnungen ermöglichen (z. B. Matlab). Als Zeichenkette (String) wird die Folge von Zeichen zur Abspeicherung von Texten bezeichnet. ▲ Zeichenketten sind i. d. R. einfache Felder von Zeichen. Allerdings sind sie durch besondere syntaktische Vereinfachungen ausgezeichnet, vor allem die Angabe von konstanten Strings in (einfachen oder doppelten) Hochkommata.
2.1 Programmierung
47
▲ In Java werden Zeichenketten als Objekte der Klasse String realisiert. Dabei ist die interne Struktur eines Strings irrelevant und für den Programmierer unsichtbar. ▲ In PASCAL und Fortran ist die Länge eines Strings fest. In C und C++ ist sie variabel; dort wird das Ende einer Zeichenkette durch ein besonderes Zeichen (’\0’) angezeigt. Als Struktur (Record) wird ein Datentyp zur Zusammenfassung von Elementen verschiedener Typen bezeichnet. ■ Eine Struktur könnte z. B. die in einer Datenbank gespeicherten Daten zu einer Person in einem Datentyp zusammenfassen, etwa den Namen als String, das Alter als Integer, die Namen der Kinder als Feld von Strings. ▲ Die einzige, generell vorkommende Operation mit einer Struktur ist der Zugriff auf die einzelnen Komponenten. Sie geschieht anders als beim Feld nicht durch einen Index, sondern durch einen Namen, der die jeweilige Komponente bezeichnet. ▲ In Java gibt es keinen eigenen Datentyp für Strukturen. Allerdings ist eine Klasse ohne Methoden, die also nur Datenfelder enthält, i. W. das gleiche wie eine Struktur. Der Zeiger (Pointer) bezeichnet einen Datentyp für Variablen, die auf den Speicherbereich anderer Variablen verweisen. Ihr Typ beinhaltet immer auch Information über den Datentyp, auf den gezeigt wird. ▲ Zeiger werden vor allem benötigt, um Datenstrukturen aufzubauen, deren Größe oder genaue Struktur erst bei Ablauf des Programms bekannt werden (s. dynamische Datenstrukturen). ■ Wichtige Operationen mit Zeigern sind: • Zeiger auf ein vorhandenes Objekt verweisen lassen, • Zeiger auf ein neu erzeugtes Objekt verweisen lassen, • Aufsuchen des Objekts, auf das ein Zeiger verweist. ▲ C und C++ erlauben weitere Operationen wie das Erhöhen eines Zeigers um eins oder die Bildung der Differenz von Zeigern (Zeigerarithmetik) und erlauben damit einen direkten Zugriff auf den Speicher. Dies ist z. B. für die Programmierung von Hardware-Schnittstellen wichtig. Auf der anderen Seite ist es eine der Hauptursachen für schwierig zu findende Programmierfehler.
d) Unterprogramme Ein Unterprogramm ist ein Teilprogramm zur Bearbeitung einer abgegrenzten Teilaufgabe, das mehrmals innerhalb eines Programms verwendet („aufgerufen“) werden kann. ● Unterprogramme können geschachtelt werden (Unterunterunter. . . -Programme), wobei die erlaubte Schachtelungstiefe vom System (Betriebssystem und Compiler) abhängt. ● Zum Austausch von Informationen zwischen aufrufendem (Haupt-) und aufgerufenem Unterprogramm dient die Parameterliste, eine Liste von Variablen, denen bei jedem Aufruf eines Unterprogramms vom Hauptprogramm (ggf. unterschiedliche) Werte zugewiesen werden. ▲ Parameter können Informationen in drei Weisen weitergeben: 1. vom Haupt- zum Unterprogramm (Eingabedaten, das Unterprogramm liest), 2. vom Unter- zum Hauptprogramm (Ergebnisdaten, das Unterprogramm schreibt), 3. in beiden Richtungen (das Unterprogramm liest und schreibt). Je nach Informationsrichtung können Parameter in verschiedener Weise an Unterprogramme übergeben werden: Bei call-by-value werden Kopien der Parameterwerte an das Unterprogramm übergeben. Es kann die Werte im Hauptprogramm nicht ändern. Bei call-by-reference erhält das Unterprogramm Verweise auf die Parameter und kann somit Werte an das aufrufende Programm zurückgeben.
48
2 Programmierung und Programmiersprachen
▲ Es empfiehlt sich, für Eingabe-Parameter call-by-value, für gemischte und Ausgabe-Parameter callby-reference zu verwenden. Bei der Übergabe großer Datenmengen (Feld, große Struktur) wird man aber häufig auch für Eingabe-Parameter call-by-reference wählen, um das zeitraubende Kopieren der Daten zu vermeiden. Allerdings muss man dann darauf achten, dass das Unterprogramm die Daten nicht verändert. ▲ Nicht alle Programmiersprachen erlauben dem Programmierer, für jeden Parameter frei zwischen beiden Übergabe-Methoden zu wählen. ■ In Fortran werden alle Parameter als Referenzen übergeben. Allerdings kann man sie als EingabeParameter deklarieren, woraufhin der Compiler überprüft, dass sie im Unterprogramm nicht überschrieben werden. ■ In C wird nur call-by-value verwendet. Man kann jedoch auch einen Zeiger auf eine Variable übergeben, was effektiv call-by-reference entspricht. ● In Unterprogrammen können Variablen definiert werden (lokale Variablen), die außerhalb des Unterprogramms nicht zu sehen sind und nach dem Beenden des Unterprogramms keinen definierten Wert mehr haben. ▲ Es gibt in einigen Sprachen die Möglichkeit, Variablen in Unterprogrammen zu definieren, die ihren Wert zwischen verschiedenen Aufrufen eines Unterprogramms beibehalten (mit static in C, mit save in Fortran). Dies sind keine lokalen Variablen im eigentlichen Sinn, auch wenn sie lokal definiert sind. ▲ In den meisten Sprachen kann man globale Variablen definieren, auf die in allen Unterprogrammen direkt zugegriffen werden kann, ohne dass sie als Parameter übergeben wurden. Dies vereinfacht die Verbreitung von Information, die an vielen Stellen gebraucht wird. Es schafft aber auch schwer zu durchschauende Abhängigkeiten zwischen den Unterprogrammen. Eine Funktion ist ein Unterprogramm, das einen Rückgabewert besitzt, der direkt in Ausdrücken weiterverwendet werden kann. ■ Mithilfe der Funktion sin kann man, wie in der mathematischen Schreibweise, einfach sagen: a = 2*sin(x) + 3 statt mit einem Ausgabeparameter ergebnis schreiben zu müssen: sin(x, ergebnis) a = 2*ergebnis + 3 ▲ In C werden Unterprogramme immer als Funktionen definiert, die allerdings auch den speziellen Typ void (d. h. gar nichts) zurückgeben können. ▲ Die Verwendung einer Funktion erweckt leicht den Eindruck, dass ihr Aufruf neben der Berechnung des speziellen Wertes (wie bei mathematische Funktionen) keine Auswirkungen auf das Programm hat. Daher sollte man darauf achten, dass Funktionen nur Eingabe-Parameter haben und keine Nebeneffekte auslösen (etwa Ausgaben in eine Datei). Als rekursiv wird eine Funktion bezeichnet, die sich selbst aufruft. Dies kann auch indirekt geschehen (a ruft b, b ruft a). ▲ Damit keine unendliche Verschachtelung (und damit ein Programmabsturz) eintritt, muss eine rekursive Funktion ein Abbruchkriterium haben. ▲ Rekursive Funktionen sind besonders nützlich im Zusammenhang mit dynamischen Datenstrukturen. Gerade die üblichen Standard-Beispiele wie die Berechnung der Fakultät sind jedoch besser durch iterative Algorithmen zu lösen. ▲ Vor allem bei größeren Programmier-Projekten zeigten sich Schwächen der strukturierten Programmierung:
2.1 Programmierung
49
• Unterprogramme sind oft nicht voneinander unabhängig, weil globale Daten, aber vor allem gemeinsame Datenstrukturen, Abhängigkeiten zwischen ihnen bewirken. • Die Vorgehensweise, ein Programm erst in Teilprobleme zu zerlegen, die später realisiert werden (Top-Down-Entwurf), erzeugt stark problemspezifische Funktionen, die in anderen Projekten nicht wiederverwendet werden können.
e) Objektorientierte Programmierung ▲ Erfahrungen mit großen Programmprojekten führten zur Entwicklung neuer Programmiersprachen mit folgender Zielsetzung: • Zerlegung des Programms in überschaubare Einheiten mit klarer Schnittstelle („Objekte“) • Trennung von Schnittstelle und Implementierung • Wiederverwendbarkeit der Teile Als Objekt-orientierte Programmiersprache bezeichnet man diejenige Programmiersprache, die diese Ziele durch geeignete Sprachmittel möglichst weitgehend erzwingt. ■ Beispiele für objekt-orientierte Programmiersprachen sind: Smalltalk, Eiffel, C++, Java und Erweiterungen älterer Programmiersprachen (Object-PASCAL, Object-COBOL). ▲ Neue Sprachmittel und ein anderer Sprachgebrauch sind Ausdruck einer geänderten Denkweise beim Programmieren. Grundidee ist eine stärkere Orientierung an der „realen“ Welt: Ein Programm ist eine Ansammlung von in Wechselwirkung stehenden „Objekten“. ▲ Der Erfolg der Idee der Wiederverwendbarkeit zeigt sich im Entstehen von großen Bibliotheken mit Standardelementen (Klassenbibliotheken). ■ Java und Smalltalk haben fertige Elemente zur Programmierung von grafischen Bedienungsoberflächen. C++ beinhaltet eine Vielzahl von „abstrakten Datentypen“ wie Stack oder Menge. ● Die folgenden Grundprinzipien sind – bei unterschiedlicher Nomenklatur in den einzelnen Sprachen – für OOP charakteristisch: • Datenkapselung • Vererbung • Polymorphie
f) Datenkapselung Die Klasse ist ein Datentyp, der Datenstrukturen und Routinen, welche diese manipulieren, zu einer Einheit zusammenfasst. Ein Objekt ist eine Variable eines Klassentyps; es hat einen Zustand (= Werte für die internen Datenstrukturen) und stellt Methoden (= Routinen, die das Objekt manipulieren) zur Verfügung. ▲ Neben diesen eher statischen (vom Programm ausgehenden) Definitionen existiert der dynamische Sprachgebrauch der OOP: Ein Objekt ist gegeben durch sein Verhalten (Zustand und Methoden); eine Klasse ist die Zusammenfassung von gleichartigen Objekten. ▲ Weiterer Sprachgebrauch: Ein Objekt schickt einem anderen eine Nachricht (= ruft eine Methode des Objekts auf). Unter einer Schnittstelle versteht man die Menge aller von außen (= von einem anderen Objekt aus) sichtbaren Methoden und Daten. ● Alle nicht zur Schnittstelle gehörenden Elemente können geändert werden, ohne dass Programme, die diese Objekte nutzen, dies bemerken. Dies erlaubt völlig verschiedene Implementationen für dieselbe Klasse.
50
2 Programmierung und Programmiersprachen
▲ Dadurch, dass interne Strukturen nur mithilfe vorgegebener Methoden manipuliert werden können, wird garantiert, dass Objekte nur sinnvolle Zustände annehmen. ● Kennzeichen von OOP ist ein häufig dynamisches Erzeugen von Objekten: Ein neues Objekt wird erzeugt, wenn es gebraucht wird. ▲ Kehrseite dieser Dynamik: Nicht mehr gebrauchte Objekte müssen beseitigt werden, damit genügend Speicher für die aktuellen Objekte zur Verfügung steht. Dafür gibt es zwei verschiedene Ansätze: • explizites Löschen mit einer delete-Routine Vorteil: effizient Nachteil: schwierig zu programmieren, daher fehleranfällig • automatisches Löschen durch das Laufzeitsystem (Garbage Collector) Vorteil: einfach Nachteil: oft langsamer ■ C++ nutzt delete-Funktionen (Effizienz steht im Vordergrund), Java und Smalltalk dagegen einen Garbage-Collector (Sicherheit geht vor). ■ Klasse Polygon
öffentliche Methoden: neu(Seitenzahl, Punktliste) drehe(Winkel) verschiebe(2d-Vektor) fläche() schwerpunkt() intern: Anzahl der Punkte Liste der Punkte ▲ Hat man mit neu ein bestimmtes Polygon erzeugt, kann man es nur noch mithilfe von Drehungen und Verschiebungen verändern. ▲ Wird die Funktion schwerpunkt häufig gebraucht, kann man die Implementierung ändern, indem man den Schwerpunkt des Polygons in einer internen Variablen ablegt. Beim Erzeugen eines Polygons mit neu wird der Schwerpunkt gleich berechnet und von drehe und verschiebe entsprechend angepasst, beim Aufruf von schwerpunkt wird nur noch dieser Wert ausgegeben. Der Benutzer der Klasse Polygon merkt von dieser Veränderung höchstens, dass sein Programm schneller geworden ist.
g) Vererbung Das Prinzip der OOP ist die Vererbung. Es ist möglich, von bereits vorhandenen Klassen neue Klassen abzuleiten, die alle Eigenschaften (Methoden, Daten) der Basis-Klasse automatisch erhalten (erben), denen jedoch zusätzlich neue Datenstrukturen und Methoden zugewiesen werden können, die die Anwendung der Klasse über die der Basis-Klasse hinausgehen lassen. Methoden der Basis-Klasse können durch gleichnamige Methoden in der abgeleiteten ersetzt (überladen) werden. ▲ Die Nutzung der Vererbung ist i. d. R. dann sinnvoll, wenn die abgeleitete Klasse sich als ein Spezialfall der Basisklasse interpretieren lässt („ist ein“-Beziehung). ■ Klasse Dreieck erbt von Polygon
öffentliche Methoden: Umkreisradius() Umkreismittelpunkt() intern: radius (aus Performancegründen) Hier ist die Verwandtschaft klar: Ein Dreieck „ist ein“ Polygon.
2.1 Programmierung
51
▲ Eine Variable der Basisklasse kann ein Objekt einer abgeleiteten Klasse enthalten. Dies ist möglich, weil die abgeleitete Klasse alle Methoden der Basisklasse erhält und damit wie eine solche benutzt werden darf. ■ Eine Variable vom Typ Polygon kann ein Objekt der Klasse Dreieck beinhalten, denn: Ein Dreieck „ist ein“ Polygon. ● Auch bei Vererbung bleibt die Kapselung erhalten: Eine abgeleitete Klasse kann nicht auf die privaten Daten ihrer Basisklasse zugreifen. Allerdings gibt es in einigen Sprachen (z. B. Java, C++) die Möglichkeit, den Zugriff speziell für abgeleitete Klassen zu erlauben. Mehrfach-Vererbung bedeutet, dass eine Klasse von mehr als einer Basis-Klasse abgeleitet werden kann und erbt dadurch alle Methoden aller Basis-Klassen. ▲ Schwierigkeiten treten auf, wenn von zwei Basisklassen verschiedene Methoden mit gleichem Namen kommen. In einigen Sprachen (z. B. Java) ist Mehrfach-Vererbung daher grundsätzlich nicht möglich.
h) Polymorphie ■ Die Methode fläche() sei in Polygon und Dreieck verschieden implementiert: allgemein gültig in Polygon, einfacher und schneller in Dreieck. Die Variable bermuda sei vom Typ Polygon, ihr sei aber ein konkretes Dreieck zugeordnet. Es stellt sich die Frage, welche Funktion benutzt wird, wenn man die Fläche von bermuda ausrechnen will: die spezielle oder die allgemeine? Antwort in OOPs: immer die spezielle. ● Wird eine Methode der Basisklasse in einer abgeleiteten Klasse neu definiert, so wird immer automatisch die spezielle Methode verwendet, auch wenn das abgeleitete Objekt einer Variablen der Basisklasse zugeordnet ist. Dies bezeichnet man als Polymorphie. ▲ Der Compiler kann der Variablen der Basisklasse u. U. gar nicht ansehen, ob ihr ein Objekt einer abgeleiteten Klasse zugewiesen wird. Daher wird erst zur Laufzeit des Programms festgelegt, welche Methode verwendet wird. Dieses Verfahren bezeichnet man als late binding. Eine abstrakte Basisklasse definiert Methoden, ohne sie selbst zu implementieren. ● Von einer abstrakten Klasse dürfen keine Objekte erzeugt werden. ▲ Abstrakte Klassen sind sinnvoll, um ein einheitliches Verhalten für alle abgeleiteten Klassen festzulegen. Diese (oder sogar erst deren Nachfahren) müssen die Methoden ihrer abstrakten Basisklasse in die Tat (d. h. in Code) umsetzen. ■ Die abstrakte Klasse Fläche soll zweidimensionale Flächen beschreiben. Sie enthalte eine abstrakte Methode fläche(), die den Flächeninhalt bestimmt. Die davon abgeleiteten Klassen Polygon und Kreis sind nun gezwungen, fläche() zu implementieren (sonst sind sie selbst abstrakt).
i) Grundlegende Algorithmen Die Beschreibung eines allgemeinen Verfahrens zur Lösung eines gegebenen Problems mithilfe einfacher Schritte bezeichnet man als Algorithmus. Oft wird zusätzlich verlangt, dass ein Algorithmus nur endlich viele Schritte benötigt. ▲ Algorithmen können meist sehr allgemein beschrieben werden, sie sind von der konkreten Beschreibungs- oder Programmiersprache unabhängig. ▲ Zur Lösung häufig auftretender Probleme sind oft sehr gute (schnelle, speichereffiziente) Algorithmen entwickelt worden. Als Ergebnis langer Forschungsarbeit sind sie eigenen ad-hoc-Lösungen fast immer überlegen.
52
2 Programmierung und Programmiersprachen
■ Wichtige Algorithmen aus verschiedenen Anwendungsgebieten: • allgemein: Sortieren, Verwalten komplexer Datenstrukturen • Numerik: LR-Zerlegung, schnelle Fourier-Transformation (FFT) • Graphentheorie: aufspannender Baum ▲ Die folgenden Beispiele stellen naive Lösungen und wichtige Algorithmen gegenüber. Merke: Ein Auto kaufen führt meist schneller zum Ziel als das Rad neu erfinden.
j) Sortieren ▲ Sehr häufig müssen Daten sortiert werden, um z. B. danach schneller auf sie zugreifen zu können. Im Folgenden sei ein Array von ganzen Zahlen zum Sortieren vorgegeben. ■ Einfaches Verfahren: Zunächst wird das kleinste Element gesucht und durch einen Tausch an die erste Stelle gebracht, dann das zweitkleinste an die zweite Stelle usw.: void swap(int[] array, int i1, int i2) { int tmp = array[i1]; array[i1] = array[i2]; array[i2] = tmp; } void sort(int[] a) { for (int i=0; i < a.length-1; i++) { for (int j=i+1; j < a.length; j++) { if (a[j] < a[i] ) { swap(a, i, j); } } } } ● Für ein Array mit n Elementen ist die Laufzeit dieses Verfahrens ∼ n2 . ■ Quicksort-Algorithmus: Die Elemente werden so in zwei (möglichst gleich große) Gruppen aufgeteilt, dass die Elemente der ersten Gruppe größer sind als die der zweiten. Beide Gruppen werden dann jeweils rekursiv für sich sortiert. void quicksort(int[] a, int low, int high) { int i = low; int j = high; int x = a[(i+j)/2]; // "mittleres" Element do while (a[i] < x) { // suche großes Element bei den Kleinen i++; } while (a[j] > x) { // suche kleines Element bei den Großen j--; } if (i<=j) { swap(a, i, j); i++; j--; }
2.1 Programmierung
53
while (i<=j); if (low<j) { // Abbruchbedingung quicksort(a, low, j); } if (i
k) Dynamische Datenstrukturen ▲ Bei vielen Problemen ist die Anzahl und Verknüpfung der Daten am Anfang nicht bekannt oder ändert sich häufig. Eine primitive Möglichkeit zur Darstellung besteht darin, ein riesiges Array auf Vorrat anzulegen und die Daten über zusätzliche Indizes zu verwalten - ein mangels besserer Datenstrukturen in FORTRAN77 häufig genutztes Verfahren. Unter einer dynamische Datenstruktur versteht man eine Datenstruktur mit während der Laufzeit des Programms veränderlicher Größe. Die Grundidee besteht darin, aus geeigneten Basiseinheiten (Knoten) veränderliche Strukturen zu bilden, indem man Knoten mit Zeigern zusammenhängt. ■ Je nach Anzahl von Zeigern pro Knoten und ihrer Verzweigungsart unterscheidet man u. a. einfach verkettete Listen (ein Zeiger, der jeweils auf das nächste Element zeigt), doppelt verkettete Listen (zwei Zeiger pro Knoten, jeweils einen zum Vorgänger bzw. Nachfolger) und Bäume (mehrere Zeiger pro Knoten, keine geschlossenen Wege). ▲ Zur Unterstützung dynamischer Datenstrukturen braucht eine Sprache folgende Elemente: • Zeiger bzw. Verweise • Strukturen, um aus Daten und Zeigern Knoten zu bilden • Funktionen zur Verwaltung von Speicher (new, delete) • einen Wert für Zeiger, die auf nichts verweisen (null, nil), für Knoten ohne Nachfolger ■ Als einfaches Beispiel für einen Baum betrachten wir einen Familienstammbaum. Ein Knoten bestehe aus dem Namen einer Person sowie Zeigern auf Vater und Mutter. Die folgende Routine fügt den Namen der Mutter einer Person im Baum ein. Der Einfachheit halber gehen wir davon aus, dass alle Namen eindeutig sind. class Knoten { String name; Knoten vater; Knoten mutter; Knoten(String meinName) { name = meinName; vater = null; mutter = null; } boolean einfuegeMutter(String nameMutter, String nameSohn) {
54
2 Programmierung und Programmiersprachen boolean gefunden; // bin ich’s? if (name.equals(nameSohn)) { // gefunden mutter = new Knoten(nameMutter); return true; } // oder ein Vorfahre mütterlicherseits? if (mutter!= null) { gefunden = mutter.einfuegeMutter(nameMutter, nameSohn); if (gefunden) { return true; } } // oder ein Vorfahre väterlicherseits? if (vater!= null) { gefunden = vater.einfuegeMutter(nameMutter, nameSohn); if (gefunden) { return true; } } // bei mir ist er nicht return false; } }
▲ Der Fall, dass beim gesuchten Sohn schon eine Mutter eingetragen ist (vielleicht gar mit riesigem Stammbaum), wird hier rigoros abgehandelt: Durch die Zuordnung mutter = new Knoten(nameMutter); wird der Verweis auf die bisherige Mutter gelöst, ihr Knoten wird der Garbage-Collection übergeben. ▲ Operationen mit Bäumen sind die idealen Kandidaten für rekursive Algorithmen: Man beschäftigt sich nur mit dem eigenen Knoten und überlässt das Durchsuchen der gesamten Struktur der Rekursion.
l) Zerlegungs-Verfahren ▲ Bei verschiedenen Problemklassen führt folgende Grundidee zu sehr schnellen Algorithmen: Zerlege das Problem in kleinere Teilprobleme, die jeweils rekursiv weiter zerlegt werden und fasse die Teile geschickt zum Gesamtergebnis zusammen. Solche Verfahren werden als Zerlegungs-Verfahren (Divide and Conquer) bezeichnet. ■ Wir betrachten die Multiplikation C = A ∗ B zweier n × n-Matrizen. Das einfachste Verfahren setzt die Definition n
Ci j =
∑ Aik ∗ Bk j
k=1
direkt in Programmschleifen um. ● Anzahl der für die direkte Matrixmultiplikation erforderlichen Operationen: Multiplikationen: n3 Additionen: n3 − n2
2.2 Programmiersprachen
55
■ Ein bekanntes Zerlegungs-Verfahren für die Matrixmultiplikation ist der Strassen-Algorithmus: Zunächst werden die Matrizen in 2x2 Blöcke von Teilmatrizen der Dimension n/2 zerlegt: c11 c12 a11 a12 b11 b12 = ∗ c21 c22 a21 a22 b21 b22 Zur Berechnung der Teilmatrizen ci j werden nun sieben Zwischenergebnisse mi eingeführt und geschickt zusammengefasst: m1 m2 m3 m4 m5 m6 m7
Die dabei auftretenden Multiplikationen von Teilmatrizen werden rekursiv entsprechend berechnet. ▲ Ständiges Halbieren der Dimension funktioniert natürlich nur, wenn die Matrixdimension eine Zweierpotenz ist. Andere Dimensionen werden durch Einfügen von Nullen zur geeigneten Größe aufgebläht. ● Eine genaue Analyse der benötigten Rechenoperationen ergibt (falls n eine Zweierpotenz ist): Multiplikationen: nlog2 7 ≈ n2.8 Additionen: 6 ∗ (nlog2 7 − n2 ) ▲ Erst für sehr große Werte von n (Größenordnung 10 000) überwiegt der gegenüber der einfachen Matrixmultiplikation kleinere Exponent den zusätzlichen Faktor 6. Ein gemischtes Verfahren, das zuerst mit Strassen-Halbierung arbeitet, aber ab einer bestimmten Größe die kleinen Teilmatrizen direkt multipliziert, ist schon bei Matrixgrößen unter 1000 effizient. ■ Eins der wichtigsten Zerlegungs-Verfahren ist die schnelle Fouriertransformation (FFT). Hier macht die gewaltige Beschleunigung gegenüber dem direkten Verfahren (n ∗ log(n) statt n ∗ n) viele praktische Fourieranalysen überhaupt erst möglich. ■ Verwandt ist auch die wichtige Klasse der Mehrgitter- oder Multigrid-Verfahren zur Lösung von partiellen Differenzialgleichungen wie etwa der Poisson-Gleichung. Statt eine Lösung der gewünschten Genauigkeit direkt auf einem entsprechend feinen Gitter zu bestimmen, werden wiederholt Näherungen auf gröberen Gittern als Hilfsgrößen berechnet und geeignet auf feinere Gitter übertragen. Auch diese Verfahren liefern Beschleunigungen von n ∗ log(n) gegenüber n ∗ n.
2.2
Programmiersprachen
2.2.1
Einführung in PASCAL
In diesem Abschnitt werden die wichtigsten Sprachelemente der Programmiersprache PASCAL erklärt. Zur Darstellung der Syntax einzelner Befehle oder Programmfragmente wird für Worte und Symbole, die exakt in der angegebenen Weise geschrieben sein müssen, Schreibmaschinenschrift verwendet. Reservierte Worte von PASCAL werden groß, vordefinierte Namen in Kleinschrift geschrieben. In PASCAL selbst werden Groß- und Kleinschreibung nicht unterschieden. Kursiv geschriebene Teile sind je nach
56
2 Programmierung und Programmiersprachen
Anwendung durch eigene Anweisungen oder Namen zu ersetzen. In Beispielen sind an solchen Stellen stets konkrete Werte eingesetzt.
a) Grundstruktur Grundstruktur eines PASCAL-Programms: PROGRAM Programmname; Deklarationsteil BEGIN Anweisungsteil END. ▲ Nicht den Punkt hinter dem letzten END vergessen! Die noch einzusetzenden kursiv geschriebenen Teile werden in den folgenden Abschnitten besprochen. Leerzeichen dürfen in PASCAL überall eingefügt werden (Ausnahme: innerhalb von Namen oder reservierten Worten nicht erlaubt). Das Zeilenende wird genauso behandelt wie ein Leerzeichen. Man darf also sowohl eine Anweisung über mehrere Zeilen verteilen als auch in eine Zeile mehrere Anweisungen schreiben. Kommentare dürfen (und sollen) zur besseren Lesbarkeit eingefügt werden. Text innerhalb geschweifter Klammern oder auch innerhalb von (* . . . *) stellt einen Kommentar dar und wird von PASCAL ignoriert. ■ { Dies ist ein Kommentar } (* und hier noch ein Kommentar *)
b) Variablen und Typen Bevor in PASCAL eine Variable oder ein Unterprogramm benutzt werden darf, muss der entsprechende Name vereinbart werden. Im Deklarationsteil werden die Namen und der jeweilige Verwendungszweck festgelegt. In PASCAL ist die Reihenfolge der Vereinbarungen im Deklarationsteil vorgeschrieben: • Konstantendeklaration • Typendeklaration • Variablendeklaration • Funktions- und Prozedurdeklarationen. Manche PASCAL-Dialekte erlauben Abweichungen von dieser Regel. Jedoch muss immer jeder Name vor der ersten Verwendung deklariert sein. Bei der Deklaration einer Variablen muss gesagt werden, welcher Datentyp später in der Variablen aufgenommen werden soll. Namen, ebenso wie der Programmname, bestehen aus einem Buchstaben, gefolgt von einer beliebigen Anzahl von Buchstaben oder Ziffern. Die reservierten Worte von PASCAL sind als Namen nicht erlaubt. ■ Zulässige Namen: i, x123, test2a Unzulässige Namen: 2ab, gmbh&co, program Variablendeklaration: VAR Name11, Name12 , ...Name1i : Typ1 ; Name21, ...Name2 j : Typ2; . . .
Namen1, ...Namenk : Typn ;
2.2 Programmiersprachen
57
Mehrere Variablen erhalten hier jeweils den gleichen Typ, indem die Namen der Variablen durch Kommas getrennt aufgelistet werden und nach einem Doppelpunkt der Typ für diese Variablen angegeben wird. ▲ Die Semikolons nicht vergessen! Der Typ einer Variablen legt den Verwendungszweck der Variablen fest. Es gibt eine Reihe vordefinierter Typen und Anweisungen, um eigene Typen zu definieren.
c) Ganze Zahlen integer ist ein vordefinierter Typ, welcher ganzzahlige Werte in einem maschinenabhängigen Bereich (meist zwischen −32 768 und 32 767) annehmen kann. Manche PASCAL-Dialekte kennen noch andere Ganzzahl-Typen mit anderen Wertebereichen, z. B. longint (−2 147 483 648 bis 2 147 483 647) oder shortint (−128 bis 127). ■ VAR n, anzahl: integer; Die Variablen mit den Namen n und anzahl können ganzzahlige Werte aufnehmen.
d) Reelle Zahlen real ist ein vordefinierter Typ, welcher Werte aus einer Untermenge der reellen Zahlen aufnehmen kann. Die Werte werden nur mit einer endlichen Genauigkeit berechnet und gespeichert. ▲ Wegen der endlichen Genauigkeit kommt es bei real-Typen oft zu Rundungsfehlern. Besondere Vorsicht ist bei Vergleichsoperationen mit real-Zahlen geboten! Manche PASCAL-Dialekte kennen noch weitere reellwertige Typen mit anderer Darstellungsgenauigkeit und anderen Zahlenbereichen. Reelle Konstanten werden mit Dezimalpunkt oder in Exponentialschreibweise angegeben. ■ Reelle Konstanten: Programmtext Bedeutung 3.14159 3,141 59 6.022E23 6,022 · 1023 1.602E-19 1,602 · 10−19 -2E-4 −2 · 10−4 = −0,000 2
e) Boole’sche Werte boolean ist ein vordefinierter Typ, welcher einen der Werte true oder false aufnehmen kann. ▲ Boole’sche Werte werden insbesondere in bedingten Anweisungen (IF) oder Schleifen (WHILE, REPEAT) benutzt.
f) Felder, Arrays Häufig möchte man linear angeordnete Daten verarbeiten. Meistens wird dabei über einen Index das gewünschte Element des Datenfeldes ausgewählt. In PASCAL gibt es die Möglichkeit, einen ARRAY-Typ zu vereinbaren: ARRAY[untererIndex..obererIndex] OF Typ Im Anweisungsteil eines Programms kann durch Angabe des Index ein bestimmtes Feldelement ausgewählt werden:
Name[Index]
58
2 Programmierung und Programmiersprachen
■ PROGRAM beispiel; VAR i: integer; a: ARRAY[1..10] OF real; { Feld mit 10 Elementen } BEGIN FOR i:=1 TO 10 DO a[i]:=sqrt(i); { Feldelemente berechnen } FOR i:=10 DOWNTO 1 DO writeln(a[i]) { umgekehrt ausgeben } END. Zweidimensionale Anordnungen der Feldelemente (Matrizen): ARRAY[u1..o1 ,u2 ..o2] OF Typ ▲ Dies ist eine Abkürzung von ARRAY[u1..o1 ] OF ARRAY[u2..o2 ] OF Typ Ebenso ist
Name[Index1,Index2 ] eine Abkürzung von
Name[Index1][Index2] ▲ Höherdimensionale ARRAYs werden analog vereinbart. ■ Auf ein Element des ARRAYs multimatrix: ARRAY[1..5,0..10,-3..3,5..8] OF integer kann zugegriffen werden mit multimatrix[3,0,-1,7]
oder mit
multimatrix[3][0][-1][7]
▲ Es ist erlaubt, durch eine Zuweisung ein gesamtes ARRAY zu kopieren. Es sind dabei jedoch keine arithmetischen oder andere Operationen erlaubt! ■ PROGRAM beispiel; VAR a,b: ARRAY[1..10] OF integer; BEGIN a[3]:=b[3]; (* Einzelne Komponente kopieren *) a:=b (* Komplettes Array kopieren *) END. Selbstverständlich muss der Typ beider Arrays identisch sein. PACKED ARRAY ist ebenfalls ein Feld, auf das genauso wie auf ein normales ARRAY zugegriffen werden kann. Rechnerintern wird aber eine platzsparende Speicherung benutzt. Wird insbesondere in der Form PACKED ARRAY[1..laenge] OF char zur Speicherung von Zeichenketten benutzt. ▲ In manchen PASCAL-Dialekten sind ARRAYs und PACKED ARRAYs identisch.
g) Zeichen und Zeichenketten char ist ein vordefinierter Typ, welcher ein einzelnes Zeichen als Wert annehmen kann. Das Zeichen muss dabei im Zeichenvorrat des Rechners enthalten sein. Der Zeichenvorrat umfasst auf jeden Fall die Ziffern, Klein- und Großbuchstaben des Alphabets sowie einige Sonderzeichen. Zeichenkonstanten werden stets in Hochkommas eingeschlossen angegeben.
2.2 Programmiersprachen
59
■ PROGRAM beispiel; VAR c,d: char; BEGIN c:=’4’; d:=’A’; c:=d; writeln(c) END. ▲ In der Zuweisung c:=’4’ wird das Zeichen 4 und nicht die Zahl 4 zugewiesen. Eine Zeichenkette besteht aus durch mehrere Hochkommata eingeschlossene Zeichen, welche direkt einem PACKED ARRAY OF char zugewiesen werden können. ▲ Die Dimensionierung des ARRAYs muss mit der Länge der Zeichenkette übereinstimmen! ■ PROGRAM beispiel; VAR kette: PACKED ARRAY[1..10] OF char; BEGIN kette:=’Frankfurt ’; writeln(kette) END.
h) Datensätze RECORDs Ein ARRAY fasst mehrere Komponenten desselben Typs zusammen. Die Komponente wird über einen Index ausgewählt. Ein RECORD fasst mehrere Komponenten beliebigen Typs zusammen. Die Komponente wird über ihren Namen ausgewählt. RECORD Komponente11,...Komponente1 j : Typ1 ; . . .
Komponenten1,...Komponentenk: Typn END Damit wird ein RECORD mit den angegebenen Komponenten definiert, die jeweils den angegebenen Typ haben. Im Anweisungsteil wird eine RECORD-Komponente durch Angabe ihres Namens ausgewählt:
Recordname.Komponentenname ■ PROGRAM beispiel; VAR kreis1,kreis2: RECORD mitte: RECORD x,y: integer END; radius: integer END; BEGIN kreis1.mitte.x:=100; (* Zuweisung an Komponenten *) kreis1.mitte.y:=150;
60
2 Programmierung und Programmiersprachen kreis1.radius:=20; kreis2:=kreis1 (* Zuweisung an gesamten Record *) END. Wie bei ARRAYs können auch komplette RECORDs zugewiesen werden, vorausgesetzt, die Typen sind identisch.
▲ Komponentennamen brauchen nicht von anderen Namen verschieden sein. Selbstverständlich müssen die verschiedenen Komponenten eines RECORDs verschiedene Namen haben. ▲ ARRAYs und RECORDs dürfen beliebig geschachtelt werden.
i) Zeiger Zeiger, auch Pointer genannt, verweisen auf eine Variable. Ein Zeiger auf eine Variable enthält nicht die Variable selbst, sondern nur die Information, wo die Variable im Speicher zu finden ist. Bei der Vereinbarung einer Zeigervariablen muss angegeben werden, welchen Typ die Variable hat, auf die der Zeiger deutet. ↑Typ ist ein Zeigertyp, der auf den angegebenen Typ verweist. ● Um auf die Variable, auf die ein Zeiger deutet, zuzugreifen, wird der Zeigervariablen der Pfeil nach oben nachgestellt. ● Mit new(Zeigervariable) wird eine neue Variable des Typs, auf den die Zeigervariable deutet, im Computerspeicher angelegt. Die Zeigervariable zeigt anschließend auf diese Variable. ● Mit dispose(Zeigervariable) kann eine Variable, auf die ein Zeiger deutet, entfernt werden. Anschließend darf nicht mehr auf diese Variable zugegriffen werden. ▲ Bei den meisten Rechnern wird ^ anstatt ↑ benutzt. In gedruckten Listings ist dagegen ↑ üblicher. ▲ Mit der Vereinbarung einer Zeigervariablen wird nur Speicherplatz für die Zeigervariable selbst bereitgestellt. Der Zeiger deutet noch nicht auf einen sinnvollen Speicherplatz. ▲ Es ist sorgfältig zwischen der Zeigervariablen und der Variablen, auf die der Zeiger deutet, zu unterscheiden. ■ PROGRAM beispiel; VAR p1int,p2int: ↑integer; BEGIN new(p1int);new(p2int);(*Speicherplatz bereitstellen*) p1int↑:=42; p2int↑:=-3; writeln(p1int↑:3,p2int↑:3); p2int↑:=p1int↑; (* Variablenzuweisung *) p1int↑:=5; writeln(p1int↑:3,p2int↑:3); p2int:=p1int; (* Zeigerzuweisung *) p1int↑:=19; writeln(p1int↑:3,p2int↑:3); END. Das Programm erzeugt die Ausgabe 42 -3 5 42 19 19
2.2 Programmiersprachen
61
Nach der mit „Variablenzuweisung“ bezeichneten Anweisung deuten die beiden Zeiger nach wie vor auf verschiedene Variablen, die aber nun den gleichen Inhalt haben. Daher kann in der folgenden Anweisung der Variablen, auf die p1int zeigt, unabhängig von der anderen Variablen ein neuer Wert zugewiesen werden. Nach der mit „Zeigerzuweisung“ bezeichneten Anweisung deuten die beiden Zeiger auf dieselbe Variable. Aus diesem Grund wirkt sich die Zuweisung an die Variable, auf die p1int zeigt, auch auf den Inhalt von p2int↑ aus. p1int↑ und p2int↑ sind nur verschiedene Bezeichnungen für dieselbe Variable. NIL ist ein spezieller Wert, der jeder Zeigervariablen zugewiesen werden kann. Er signalisiert, dass ein Zeiger „nirgendwohin“ deutet.
j) Selbstdefinierte Typen Werden mit ARRAY und RECORD zusammengesetzte Typen mehrfach benutzt, so empfiehlt es sich, zunächst einen neuen Typ zu deklarieren und in der Variablendeklaration den Namen des neuen Typs zu benutzen. TYPE Name1=Typ1 ; . . .
Namen=Typn ; ▲ Die Typdeklaration muss vor der Variablendeklaration erfolgen. ■ Verwendung von Typdeklarationen PROGRAM beispiel; TYPE ganzezahl = integer; vektor = ARRAY[1..3] OF real; matrix = ARRAY[1..3] OF vektor; tabelle = ARRAY[1..100] OF RECORD stadt: PACKED ARRAY[1..10] OF char; plz: ganzezahl END; VAR a,b: matrix; x: vektor; r: vektor; symbole: tabelle; i,j: ganzezahl; BEGIN a:=b; (* Komplette Matrix zuweisen *) FOR i:=1 TO 3 DO BEGIN x[i]:=0; FOR j:=1 TO 3 DO BEGIN x[i]:=x[i]+a[i,j]*r[j] END END; symbole[15].stadt:=’Frankfurt ’; symbole[15].plz:=6000 END.
62
2 Programmierung und Programmiersprachen
k) Anweisungen Der Anweisungsteil eines PASCAL-Programms besteht aus Anweisungen, die durch Semikolons getrennt sind. ▲ Die Semikolons trennen aufeinander folgende Anweisungen. Das bedeutet nicht, dass jede Anweisung mit einem Semikolon beendet werden muss! In manchen Fällen ist ein abschließendes Semikolon sogar verboten, z. B. nach der Anweisung zwischen THEN und ELSE. Während der Programmausführung werden die Anweisungen normalerweise der Reihenfolge nach ausgeführt. Mithilfe der bedingten Anweisungen und der Schleifenanweisungen kann von dieser natürlichen Reihenfolge abgewichen werden.
l) Zuweisungen und Ausdrücke Eine Zuweisung der Form
Variable:=Ausdruck belegt eine Variable mit dem Wert eines Ausdrucks. Der Wert muss vom gleichen Typ wie die Variable sein. Ausnahme: Ein integer-Wert kann einer real-Variablen zugewiesen werden. Umgekehrt ist allerdings die Zuweisung eines real-Wertes an eine integer-Variable nicht möglich. In solchen Fällen muss der Typ mit dafür vorgesehenen Funktionen (z. B. round oder trunc) umgewandelt werden. Ein Ausdruck bezeichnet eine typbehaftete Größe, die mit arithmetischen, Boole’schen oder Vergleichsoperatoren aus Konstanten und Variablen gebildet wird. Unter einem arithmetischen Ausdruck versteht man einen Ausdruck vom Typ real oder integer. Ein arithmetischer Ausdruck kann unter Verwendung der vier Grundrechenarten, Funktionen und geeigneter Klammerung gebildet werden. Die Grundrechenarten werden durch die Zeichen +, -, * und / dargestellt. Es gilt dabei die übliche Punkt- vor Strichrechnung, von der durch Klammersetzung abgewichen werden kann. Zur Division von integer-Werten gibt es den Operator DIV, der als Ergebnis den ganzzahligen Teil der Division ergibt. Den Divisionsrest erhält man mit dem Operator MOD. ■ 22 DIV 5 Ergebnis: 4 22 MOD 5 Ergebnis: 2 ■ Arithmetische Ausdrücke in Zuweisungen k:=(i+3) DIV 2; x:=2*a*b; x:=-p/2+sqrt(p*p/4-q); x:=sin(phi)/cos(phi) Name sqrt sin cos arctan exp ln sqr abs
Standardfunktionen in PASCAL Argumenttyp Ergebnistyp Funktion √ real real x real real sin(x) real real cos(x) real real arctan(x) real real ex real real ln(x) integer, real integer, real x2 integer, real integer, real |x|
2.2 Programmiersprachen
Name round trunc int
Argumenttyp real real real
63
Standardfunktionen in PASCAL Ergebnistyp Funktion integer Rundung zur nächsten ganzen Zahl integer Abschneiden der Nachkommastellen real Abschneiden der Nachkommastellen ohne Typwandlung
▲ Einige oft benötigte Funktionen wie Potenzierung, die Tangensfunktion oder die hyperbolischen Funktionen sind nicht unter den Standardfunktionen zu finden. Sie können aber leicht selbst definiert werden, siehe Abschnitt über Prozeduren und Funktionen. Ein Boole’scher Ausdruck ist ein Ausdruck vom Typ boolean. Ein Boole’scher Ausdruck entsteht bei Vergleichsoperationen oder auch durch Verknüpfung einfacherer Boole’scher Ausdrücke mit den Boole’schen Operatoren NOT, AND und OR. Mit den Vergleichsoperatoren können Ausdrücke des Typs real oder integer miteinander verglichen werden. Vergleichsoperatoren Operator Bedeutung = = <> = < < <= ≤ > > >= ≥ ▲ Die Boole’schen Operatoren haben höhere Priorität als die Vergleichsoperatoren. Bei der Boole’schen Verknüpfung mehrerer Vergleiche müssen die Vergleiche in Klammern gesetzt werden. ■ falsch:
IF x>5 AND x<10 THEN . . . wird interpretiert als IF x>(5 AND x)<10 THEN . . . richtig: IF (x>5) AND (x<10) THEN . . .
m) Ein- und Ausgabe Jedes Programm muss die zu bearbeitenden Daten einlesen und die berechneten Ergebnisse ausgeben. Es sollen zunächst nur Eingaben von der Tastatur und Ausgaben auf den Bildschirm betrachtet werden. Zum Einlesen von Werten gibt es die Prozeduren read und readln: read(Variable1,Variable2,...,Variablen) Diese Anweisung liest nacheinander Werte für Variable1 bis Variablen von der Tastatur ein und weist sie den Variablen zu. Es sind nur Variablen mit numerischem Typ und Zeichenvariablen erlaubt. ▲ Arrays können nicht mit einem einzelnen read eingelesen werden. Soll ein komplettes Feld eingelesen werden, so müssen die Feldelemente in einer Schleife jeweils einzeln eingelesen werden. Bei mehreren read-Anweisungen nacheinander werden die Werte nacheinander einer oder mehreren Eingabezeilen entnommen. Hat eine read-Anweisung nicht alle Werte einer Eingabezeile gelesen, so werden die folgenden Werte von der nächsten read-Anweisung gelesen.
64
2 Programmierung und Programmiersprachen
Verwendet man readln anstatt read, so wird nach dem Einlesen der benötigten Werte die restliche Eingabezeile für folgende read oder readln ignoriert. readln ohne Argument liest keinen Wert ein, löscht aber für nachfolgende Eingaben den Eingabepuffer. ■ read(a); read(b); readln ist äquivalent zu readln(a,b) Zur Datenausgabe stehen die Prozeduren write und writeln zur Verfügung: write(Ausdruck1,Ausdruck2,...,Ausdruckn) Diese Anweisung schreibt nacheinander die Werte von Ausdruck1 bis Ausdruckn auf den Bildschirm. Bei Benutzung von writeln wird zusätzlich nach dem letzten Datum ein Zeilenvorschub erzeugt, d. h., die nächste write oder writeln-Anweisung wird die Ausgabe in der nächsten Zeile beginnen. Ähnlich wie readln darf auch writeln ohne Argumente benutzt werden und erzeugt dann lediglich einen Zeilenvorschub. ▲ Es sind nur numerische, Boole’sche und Zeichen-Ausdrücke als Argumente von write und writeln erlaubt. Komplette ARRAYs müssen über eine Schleife ausgegeben werden. Nur PACKED ARRAY OF char können direkt ausgegeben werden. ▲ Im Normalfall werden die Daten direkt nacheinander, ohne Leerstellen zwischen den Daten, ausgegeben. Bei numerischen Ausgabewerten erhält man also nur eine lange Folge von Ziffern und man weiß nicht, wo das einzelne Datum beginnt. Formatierte Ausgabe: Nach dem auszugebenden Ausdruck kann ein Doppelpunkt, gefolgt von einer Zahl, angegeben werden. Dies bewirkt, dass der Ausdruck rechtsbündig in einem Feld der angegebenen Breite ausgegeben wird. ■ writeln(125:6,-3:5,’abc’:5) bewirkt folgende Ausgabe: 125 -3 abc (Leerzeichen sind mit bezeichnet)
n) Verbundanweisung An manchen Stellen im Programm darf nur eine einzelne Anweisung stehen, z. B. nach einem THEN in der bedingten Anweisung. Sollen an solcher Stelle mehrere Anweisungen ausgeführt werden, dann können sie mit BEGIN und END zusammengefasst werden und werden von PASCAL wie eine einzige Anweisung behandelt. BEGIN Anweisung1; Anweisung2; . . . Anweisungn END ▲ Nach der letzten Anweisung vor dem END folgt kein Semikolon, da das Semikolon Trennzeichen zwischen Anweisungen ist. An dieser Stelle schadet ein Semikolon allerdings auch nicht, da dies als leere Anweisung interpretiert wird und keine Wirkung hat.
2.2 Programmiersprachen
65
o) Bedingte Anweisungen IF und CASE Mit den bedingten Anweisungen können Anweisungen in Abhängigkeit von einer Bedingung ausgeführt werden oder nicht: IF Bedingung THEN Anweisung Die Anweisung wird ausgeführt, wenn die Bedingung true ist. Die Bedingung darf ein beliebiger Boole’scher Ausdruck sein. Es ist auch möglich, in Abhängigkeit von einer Bedingung eine von zwei Anweisungen auszuführen: IF Bedingung THEN Anweisung1 ELSE Anweisung2 Ist die Bedingung true, so wird die Anweisung1 im THEN-Teil ausgeführt, anderenfalls die Anweisung2 im ELSE-Teil. Sollen mehrere Anweisungen zusammen in Abhängigkeit von einer Bedingung ausgeführt werden, so können sie mit BEGIN und END eingeklammert werden: IF Bedingung THEN BEGIN Anweisung11; . . .
Anweisung1n END ELSE BEGIN Anweisung21; . . . Anweisung2k END ▲ Vor einem ELSE steht niemals ein Semikolon! In manchen Fällen möchte man eine von vielen Alternativen auswählen. Die CASE-Anweisung wertet einen arithmetischen Ausdruck aus und vergleicht diesen mit mehreren konstanten Werten. Bei Gleichheit mit einem der Werte wird eine zugehörige Anweisung ausgeführt: CASE Ausdruck OF Konstante1: Anweisung1; Konstante2: Anweisung2; . . .
Konstanten: Anweisungn END Äquivalent dazu ist eine Kette von IFs:
Hilfsvariable:=Ausdruck; IF Hilfsvariable=Konstante1 THEN Anweisung1 ELSE IF Hilfsvariable=Konstante2 THEN Anweisung2 . . . ELSE IF Hilfsvariable=Konstanten THEN Anweisungn ▲ Der Ausdruck und damit die Konstanten dürfen nicht vom Typ real sein! Es sind hier nur Typen mit abzählbarem Wertebereich erlaubt.
66
2 Programmierung und Programmiersprachen
p) Schleifen FOR, WHILE und REPEAT Schleifenbefehle bewirken, dass eine oder mehrere Anweisungen mehrmals nacheinander ausgeführt werden. Bei der Zählschleife muss vor Schleifenbeginn die Anzahl der Schleifendurchläufe bekannt sein. Eine Zählvariable wird zu Anfang auf einen Startwert gesetzt und nach jedem Schleifendurchlauf um Eins erhöht. Der letzte Schleifendurchlauf erfolgt mit dem angegebenen Endwert. FOR Variable:=Startwert TO Endwert DO Anweisung Die Zählvariable wird rückwärts durchgezählt, wenn TO durch DOWNTO ersetzt wird: FOR Variable:=Startwert DOWNTO Endwert DO Anweisung ▲ Die Zählvariable kann nur in Einerschritten inkrementiert (aufwärts gezählt) oder dekrementiert (abwärts gezählt) werden. Andere Schrittweiten sind in PASCAL nicht möglich. ▲ Die Zählvariable muss einen abzählbaren Typ besitzen; im Normalfall der Typ integer. Reellwertige Typen sind nicht erlaubt! ▲ Der Schleifenkörper enthält nur eine Anweisung. Bei Bedarf können mit BEGIN und END mehrere Anweisungen zusammengefasst werden. ■ Reellwertige Zählvariablen mit beliebigen Schrittweiten können folgendermaßen realisiert werden: FOR i:=0 TO 9 DO BEGIN x:=start+schrittweite*i; writeln(x:5:2,sqrt(x):10:5) END Wenn die Anzahl der Schleifendurchläufe im Voraus nicht bekannt ist, muss die WHILE- oder die REPEATSchleife benutzt werden. Dabei entscheidet eine Bedingung darüber, ob ein weiterer Schleifendurchlauf erfolgt oder nicht. Die WHILE-Schleife testet vor jedem Schleifendurchlauf, ob eine Bedingung erfüllt ist. Wenn ja, wird der Schleifenkörper durchlaufen, wenn nein, wird die Schleife beendet. WHILE Bedingung DO Anweisung ▲ Der Schleifenkörper enthält nur eine Anweisung. Bei Bedarf können mit BEGIN und END mehrere Anweisungen zusammengefasst werden. ▲ Ist die Bedingung bereits zu Beginn nicht erfüllt, so wird der Schleifenkörper überhaupt nicht durchlaufen. Die REPEAT-Schleife testet nach jedem Schleifendurchlauf, ob eine Bedingung erfüllt ist. Wenn ja, wird die Schleife beendet, wenn nein, wird der Schleifenkörper ein weiteres Mal durchlaufen. REPEAT Anweisung1; . . .
Anweisungn UNTIL Bedingung ▲ Da die Bedingung nach dem Schleifenkörper getestet wird, wird die REPEAT-Schleife mindestens einmal durchlaufen. ▲ Hier dürfen zwischen REPEAT und UNTIL beliebig viele Anweisungen stehen. Es ist also nicht nötig, mehrere Anweisungen mit BEGIN und END einzuklammern. Vor UNTIL ist ebenso wie vor END ein Semikolon nicht nötig, aber auch nicht verboten.
2.2 Programmiersprachen
67
q) Prozeduren und Funktionen In großen Programmen gibt es Programmteile, die häufig verwendet werden und die man nicht jedes Mal neu programmieren möchte. Deshalb gibt es die Möglichkeit, diese Programmteile nur einmal als Unterprogramm zu programmieren und an den entsprechenden Stellen im Hauptprogramm nur einfache Unterprogrammaufrufe einzufügen. Außerdem ist es sinnvoll, logisch zusammengehörige Programmteile auch dann in einem Unterprogramm zusammenzufassen, wenn es nur einmal im Hauptprogramm aufgerufen wird, denn dieses Vorgehen erhöht die Lesbarkeit und vermindert die Fehleranfälligkeit eines Programms.
r) Prozeduren Prozedurdeklaration: PROCEDURE Prozedurname; Deklarationsteil BEGIN Anweisungsteil END; ▲ Eine Prozedurdeklaration ist einem kompletten Programm sehr ähnlich. Im Deklarationsteil können lokale Typen und Variablen und sogar lokale Prozeduren und Funktionen deklariert werden. Oft möchte man Daten an Prozeduren übergeben. In diesen Fällen wird die Prozedurdeklaration um eine Parameterliste erweitert: PROCEDURE Name(Parameter11, ...Parameter1i: Typ1; Parameter21, ...Parameter2 j : Typ2 ; . . .
Parametern1, ...Parameternk : Typn ); Deklarationsteil BEGIN Anweisungsteil END; In der Parameterliste werden Namen und Typen der Parameter vereinbart. Diese Vereinbarung hat große Ähnlichkeit mit einer Variablenvereinbarung. ▲ Arrays oder Records dürfen nicht direkt in einer Parameterliste erscheinen. Soll ein solcher Parameter benutzt werden, dann muss ein Typ definiert werden, dessen Name in der Parameterliste verwendet wird. ■ TYPE feld=ARRAY[1..10] OF integer; PROCEDURE hoo(i: integer; a: feld); Beim Aufruf einer Prozedur werden die aktuellen Argumente in Klammern und durch Kommata voneinander getrennt übergeben. In der Prozedur kann anschließend über die Parameternamen auf die aktuellen Argumente zugegriffen werden. ■ PROGRAM beispiel; PROCEDURE ausgabe(n: integer; x,y: integer); VAR i: integer; BEGIN FOR i:=1 TO n DO writeln(x:5,y:5) END;
68
2 Programmierung und Programmiersprachen BEGIN (* des Hauptprogramms *) ausgabe(2,1,2); ausgabe(1,2+3,1+1) END.
s) Funktionen Funktionen sind den Prozeduren ähnlich, liefern aber einen Ergebniswert zurück. Bei der Deklaration einer Funktion wird das reservierte Wort PROCEDURE durch FUNCTION ersetzt und es muss der Typ des Funktionsergebnisses angegeben werden. Nach der Parameterliste wird dazu ein Doppelpunkt, gefolgt von dem Ergebnistyp, angegeben. ● Im Anweisungsteil der Funktion muss das Ergebnis der Funktion zugewiesen werden. Dabei wird der Funktionsname wie ein Variablenname benutzt, also ohne Argumentliste. ■ Wichtige arithmetische Funktionen, die bei den Standardfunktionen fehlen, können folgendermaßen definiert werden: FUNCTION tan(x: real): real; BEGIN tan:=sin(x)/cos(x) END; FUNCTION potenz(x,y: real): real; BEGIN potenz:=exp(y*ln(x)) END; FUNCTION sinh(x: real): real; VAR hilf: real; BEGIN hilf:=exp(x); sinh:=(hilf-1.0/hilf)/2.0 END; FUNCTION cosh(x: real): real; VAR hilf: real; BEGIN hilf:=exp(x); cosh:=(hilf+1.0/hilf)/2.0 END; FUNCTION tanh(x: real): real; BEGIN tanh:=sinh(x)/cosh(x) END;
t) Lokale und globale Variablen, Parameterübergabe lokale Variablen sind innerhalb einer Funktion oder Prozedur deklarierte Variablen. Eine lokale Variable ist nur innerhalb dieser Funktion oder Prozedur bekannt. Aus dem Hauptprogramm oder aus anderen Unterprogrammen lässt sich nicht auf diese Variable zugreifen.
2.2 Programmiersprachen
69
globale Variablen sind im Deklarationsteil des Hauptprogramms vereinbarte Variablen. Eine globale Variable ist im gesamten Programm einschließlich aller Unterprogramme bekannt, und es kann aus jedem Unterprogramm auf diese Variable zugegriffen werden. ▲ Eine lokale Variable kann den gleichen Namen wie eine globale Variable erhalten. In diesem Fall ist in dem Unterprogramm unter diesem Namen nur noch die lokale Variable erreichbar. Der Zugriff auf die globale Variable ist dann nicht mehr möglich. ▲ Mit jedem Aufruf eines Unterprogramms wird der Speicherplatz für lokale Variablen neu angelegt. Der Inhalt der lokalen Variablen geht nach dem Rücksprung aus dem Unterprogramm verloren. ▲ Die Parameter eines Unterprogramms stellen ebenfalls lokale Variablen dar, deren Inhalt beim Aufruf des Unterprogramms durch die aktuellen übergebenen Argumente definiert wird. ■ PROGRAM beispiel; VAR a,b,c: integer; (* globale Variable *) PROCEDURE foo(a: integer); (* a ist lokal *) VAR b,d: integer; (* b und d sind lokal *) BEGIN b:=2*a; (* Zuweisung an lokale Variable *) c:=3*a; (* Zuweisung an globale Variable *) d:=4*a; writeln(’In Prozedur: ’,a:3,b:3,c:3,d:3) END; BEGIN (* des Hauptprogramms *) a:=5; (* Zuweisung an globale Variablen *) b:=3; c:=-4; writeln(’Vor Prozedur: ’,a:3,b:3,c:3); foo(b); writeln(’Nach Prozedur:’,a:3,b:3,c:3) END. Das Programm erzeugt folgende Ausgabe: Vor Prozedur: 5 3 -4 In Prozedur: 3 6 9 12 Nach Prozedur: 5 3 9 Beim Aufruf eines Unterprogramms wird im Normalfall der Wert eines aktuellen Arguments in eine lokale Variable kopiert, auf die dann im Unterprogramm über den Parameternamen zugegriffen werden kann („callby-value“). Das hat zur Folge, dass 1. bei großen ARRAYs oder RECORDs als Parameter viel Kopieraufwand durch den Rechner zu leisten ist und 2. innerhalb des Unterprogramms Zuweisungen an die Parameter außerhalb des Unterprogramms keine Wirkung haben. In PASCAL gibt es einen weiteren Zugriffsmechanismus, bei dem keine Kopie einer Variablen angelegt wird, sondern wobei über den Parameternamen die als Argument übergebene Variable angesprochen wird („callby-reference“). In der Parameterliste werden Parametern, auf die mit „call-by-reference“ zugegriffen werden soll, das Wort VAR vorangestellt.
70
2 Programmierung und Programmiersprachen
■ PROGRAM beispiel; VAR a,b: integer; PROCEDURE hoo(VAR x: integer; y: integer); BEGIN x:=1; y:=2; END; BEGIN (* des Hauptprogramms *) a:=5; b:=6; hoo(a,b); writeln(a:3,b:3) END. Das Programm erzeugt die Ausgabe 1 6 In der Prozedur war x ein VAR-Parameter und damit wurde durch die Zuweisung x:=1 die Variable a, die als Argument angegeben war, verändert. y dagegen war kein VAR-Parameter; damit wurde b durch die Zuweisung y:=2 nicht verändert. ▲ Die an VAR-Parameter übergebenen Argumente dürfen nur Variablen sein. Konstanten oder arithmetische Ausdrücke sind hier als Argumente nicht erlaubt. ▲ In anderen Programmiersprachen gibt es nicht immer beide Zugriffsmöglichkeiten. In FORTRAN wird stets call-by-reference benutzt, während in C immer call-by-value benutzt wird.
u) Rekursion Unter einer Rekursion versteht man den Aufruf einer Prozedur oder Funktion durch sich selbst. Damit keine unendliche Folge von Prozeduraufrufen entsteht, muss es einen Rekursionsanfang geben, bei dem kein weiterer Prozeduraufruf nötig ist. Eine Iteration bezeichnet die Berechnung innerhalb einer Schleife unter Verwendung der im vorherigen Schleifendurchlauf berechneten Werte. ▲ Jedes rekursive Programm kann in ein iteratives Programm umgeschrieben werden. Manche Probleme lassen sich wesentlich einfacher und natürlicher rekursiv lösen. ■ Die Fakultät ist definiert durch n! = n · (n − 1)! falls n > 0,
0! = 1.
Dies lässt sich sofort in eine rekursive Funktion umschreiben: FUNCTION fakul(n: integer): real; BEGIN IF n>0 THEN fakul:=fakul(n-1)*n (* Rekursion *) ELSE IF n=0 THEN fakul:=1 (* Rekursionsanfang *) ELSE writeln(’Fehler’); END; In diesem Fall ist eine iterative Lösung einfacher und zu bevorzugen: FUNCTION fakul(n: integer): real;
2.2 Programmiersprachen
71
VAR i: integer; f: real; BEGIN f:=1; FOR i:=1 TO n DO f:=f*i; fakul:=f; END; Beachte bei der rekursiven Lösung, dass die lokale Variable n mit jedem erneuten Aufruf von fakul neu angelegt wird und daher nach jedem Rücksprung den gleichen Wert besitzt wie vor dem entsprechenden Aufruf. Rekursion liegt auch dann vor, wenn eine Prozedur sich nicht direkt, sondern indirekt über eine andere Prozedur aufruft. Dabei tritt die Schwierigkeit auf, dass jede Prozedur vor ihrer ersten Verwendung definiert werden muss. PROCEDURE a(n: integer); BEGIN Aufruf von Prozedur b END; PROCEDURE b(k: integer); BEGIN Aufruf von Prozedur a END; In diesem Beispiel ist beim Aufruf von b innerhalb von a die Prozedur b noch nicht definiert. Vertauschen der Reihenfolge von a und b nützt nichts, da dann a innerhalb von b undefiniert wäre. Abhilfe: Forward-Deklaration der Prozedur vor der ersten Verwendung. PROCEDURE b(k: integer); FORWARD; PROCEDURE a(n: integer); BEGIN Aufruf von Prozedur b END; PROCEDURE b; (* Jetzt ohne Parameterliste *) BEGIN Aufruf von Prozedur a END; ▲ Parameterliste und (bei Funktionen) Funktionswerttyp werden nur bei der FORWARD-Deklaration angegeben. Wenn die Prozedur schließlich wirklich definiert wird, werden diese Angaben nicht mehr wiederholt. ▲ Rekursionen sind nicht in allen Programmiersprachen erlaubt. PASCAL und C erlauben Rekursionen, während sie in vielen FORTRAN-Dialekten verboten sind.
2.2.2
Einführung in C
● C ist die beliebteste höhere Programmiersprache für System-Programmierung. Neben allen Elementen einer Hochsprache gestattet C darüber hinaus eine sehr maschinennahe Programmierung und damit schnelle und effiziente Programme.
72
2 Programmierung und Programmiersprachen
▲ In C ist ein sehr knapper, hardwarenaher Stil verbreitet, der häufig zu Lasten der Verständlichkeit geht. Moderne optimierende Compiler erreichen meistens selbst eine hohe Effizienz des Codes, sodass man wie in jeder anderen Sprache gut strukturierte, klare Programme schreiben kann.
a) Grundstrukturen Grundregeln: 1. Jedes C-Kommando ist mit einem Semikolon „ ; “ abzuschließen. 2. Hinter geschweiften Klammern und Präprozessorbefehlen steht nie ein Semikolon (Ausnahmen: struct, class). 3. Jede verwendete Variable, Konstante oder Funktion muss vor ihrem ersten Aufruf deklariert, also bezüglich des Datentyps ausgewiesen sein. Wird eine Funktion in einer Datei aufgerufen, in der sie nicht definiert ist, muss sie einen Prototyp erhalten. Eine Funktion ist die einzige Art von Unterprogrammen in C. Es können beliebig viele Argumente angegeben werden. Es wird stets ein Rückgabewert erwartet. ▲ Funktionen können auch als Befehl aufgerufen werden, indem sie nicht in einer Zuweisung verwendet werden. Die Funktion wird dabei ausgeführt, der Rückgabewert jedoch verworfen. void ist ein Datentyp, der es erlaubt, Funktionen ohne Rückgabewert zu definieren. Die eigentliche Funktion kann in einem anderen Programmodul oder einer Bibliothek definiert sein. Als Funktionsprototyp wird die Deklaration einer Funktion bezeichnet. Sie beinhaltet die Einführung des Funktionsnamens einschließlich aller Parameter vor der eigentlichen Definition der Funktion. Dies ist bei in verschiedenen Dateien aufgeteilten Programmen oder bei der Einbindung von Bibliotheksfunktionen notwendig. ■ Die Datei math.h enthält Prototypen für mathematische Funktionen (sin, cos, . . . ) int Funktion(char v,float x); . . . int Funktion(char v,float x) { . . . } Unter einer Header-Datei wird die Zusammenfassung von Funktionsprototypen in einer Datei verstanden. Macht die an anderer Stelle definierten, noch hinzuzubindenden Funktionskörper in allen Programmteilen verfügbar. ■ Die Header-Datei stdio.h enthält die Funktionsprototypen für die Standard-Ein/Ausgabe-Unterprogramme in C. Der Header muss in jede Programmdatei, welche Ein/Ausgabeoperationen benutzt, eingefügt werden. Kommentare werden in C durch Einschluss des Kommentar-Textes in /*. . .*/ realisiert. Der Präprozessor ist das vor der eigentlichen Kompilation durchlaufende Programm zur Entfernung von Kommentaren, Ersetzen von Kurzzeichen oder Einspeisen von Deklarationsdateien. Sucht nach speziellen Präprozessor-Befehlen: #define globale Textersetzung im Programmtext, Makrodefinition #undef Aufhebung einer Definition #include Einbindung anderer Quelldateien #pragma spezielle Compiler-Anweisungen #define ist ein Präprozessorbefehl zur Definition von Makros und Compiler-Schaltern. Eine Parameterübergabe ist erlaubt:
2.2 Programmiersprachen
73
■ #define MIN(x,y) ( ((x) >= (y))? (y): (x) ) definiert eine Ausdruck, welcher das Minimum zweier Zahlen unabhängig vom Datentyp liefert. ▲ Mit #define definierte Makros sind keine Funktionen, sondern werden vom Präprozessor in den Quellcode an den Stellen ihres Aufrufs eingefügt. Die Parameter sind keine Variablennamen, sondern lediglich Platzhalter. Es findet keine Typ-Prüfung statt. #include ist ein Präprozessorbefehl zur Einbindung anderer Quelldateien, bspw. in verschiedenen Programmteilen verwendete Funktionsprototypen oder Prototypen von Standard-Bibliotheken. ■ Die Prototypen von Funktionen sollten über #include aus anderen Dateien eingelesen werden und nicht in jeder Quelldatei einzeln deklariert werden. Programmblock oder Block bezeichnet eine durch geschweifte Klammern „{. . .}“ eingeschlossene Folge von C-Kommandos. Innerhalb eines Blocks deklarierte Variablen oder Funktionen sind lokal, also nur in diesem Block gültig. ▲ Ein Block darf überall dort stehen, wo auch ein einzelnes C-Kommando erlaubt ist. ● Variablendeklarationen dürfen nur am Beginn eines Blockes, vor der ersten ausführbaren Anweisung stehen. Als Hauptprogramm wird die Funktion int main() bezeichnet, die zu Beginn eines Programms aufgerufen wird. Sie darf innerhalb eines Programms nur einmal, jedoch an beliebiger Stelle, definiert sein. Der Rückgabewert kann vom aufrufenden Betriebssystem zur Fehlerbehandlung abgefragt werden. ■ Beispielprogramm: #include <stdio.h> /* Einbinden der IO-Bibliothek */ int main() { int i = 5; printf("Hallo Welt: %d",i); /* Ausgabe-Befehl */ }
b) Operatoren Operatoren sind Symbole zur Verknüpfung oder Manipulation von Ausdrücken. Ein Ausdruck ist ein durch Zusammensetzung gültiger Operationen entstehendes Konstrukt, welches einen Wert eines definierten Datentyps zurückgibt. Linkswert (lvalue) bezeichnet einen Ausdruck, dem durch „=“ ein Wert zugewiesen werden kann, der also auf der linken Seite einer Zuweisung stehen darf. ■ Variablen (i = 7), dereferenzierte Zeiger: int y[10]; ∗(y+2) = 5; Inkrementierung ++ bedeutet die Erhöhung einer Variablen um Eins. C unterscheidet Präfix- und PostfixInkrementierung. Präfix-Inkrementierung ++Linkswert inkrementiert den Ausdruck und gibt diesen erhöhten Wert zurück. Bei der Postfix-Inkrementierung Linkswert ++ entspricht der Rückgabewert dem alten (nicht erhöhten) Wert. Die Erhöhung wird erst bei der nächsten Verwendung der Variablen sichtbar. ■ int i=5, j=5; printf("i++ = %d, ++j = %d",i++, ++j); /* liefert: i++ = 5, ++j = 6 */
74
2 Programmierung und Programmiersprachen
Dekrementierung −− wird die Erniedrigung einer Variablen um Eins genannt. Kann ebenso wie die Inkrementierung nachträglich sein. Die Priorität bezeichnet die Reihenfolge, in der Operatoren abgearbeitet werden. Operationen mit höherer Priorität werden vor jenen mit niedrigerer Priorität ausgeführt. Eine Änderung der Prioritäten erfordert Klammersetzung. ▲ In der folgenden Tabelle sind die Operatoren nach ihrer Priorität fallend geordnet. Operatoren innerhalb der einzelnen Abschnitte besitzen gleiche Priorität. Operatoren in C . −> [] () ++ −− sizeof sizeof ++ −− ˜ ! − + & ∗ () ∗ / % + − << >> < <= > >= == != & ˆ | && || ?:
Struktur-Operator Struktur-Operator (Zeiger) Indizierung Funktionsaufruf nachträgliche Inkrementierung nachträgliche Dekrementierung Länge eines Objektes Länge eines Datentyps Inkrementierung Dekrementierung Komplement nicht negatives Vorzeichen positives Vorzeichen Adresse von Dereferenzierung Typumwandlung Multipliziere Dividiere Modulo Addiere Subtrahiere Bitweises Linksverschieben Bitweises Rechtsverschieben kleiner als kleiner oder gleich größer als größer oder gleich gleich ungleich Bitweises UND Bitweises exklusives ODER Bitweises inklusives ODER Logisches UND Logisches ODER Fallunterscheidung
Zuweisung Multiplikation und Zuweisung Division und Zuweisung Modulo und Zuweisung Addition und Zuweisung Subtraktion und Zuweisung Bitweise Linksverschiebung und Zuweisung Bitweise Rechtsverschiebung und Zuweisung UND und Zuweisung Inklusives ODER und Zuweisung Exklusives ODER und Zuweisung
c) Datenstrukturen Automatische Variablen bezeichnen Variablen, für die während des Programmlaufs bei ihrer Deklaration der zugehörige Speicherbereich auf dem Stack angefordert und bei Verlassen ihres Gültigkeitsbereichs wieder freigegeben wird. Statische Variablen sind das Gegenstück zu automatischen Variablen. Bereits während des Kompilationsvorgangs wird der statischen Variablen ein fester Speicherbereich zugewiesen, der für den gesamten Programmlauf erhalten bleibt. static: Deklariert eine Variable als statisch. auto: Deklariert eine Variable als automatisch. ▲ Definitionsgemäß sind alle innerhalb von Blöcken definierten Variablen automatisch, außerhalb aller Blöcke (Datei-Scope) statisch. Der Datentyp ist eine Eigenschaft, die jeder Variablen bei ihrer Deklaration zugewiesen werden muss. Man unterscheidet einfache und zusammengesetzte (benutzerdefinierte) Datentypen. ● Einfache Datentypen: int,char,long,float,double,void void ist ein besonderer Datentyp, der bei Zeigerprogrammierung zur Darstellung eines Zeigers ohne definierten Typ dient. Bei Funktionsdeklarationen deutet void dem Compiler an, dass keine Parameter übergeben oder kein Rückgabewert erwartet wird. ▲ Der Aufruf einer mit void in der Parameterliste deklarierten Funktion erfolgt ohne Angabe von void einfach durch leere Klammern: int TestFunktion(void) . . . int i = TestFunktion(); /* und nicht: TestFunktion(void) */ ▲ int, char und long sind ganzzahlige Datentypen, während float und double Fließkommazahlen repräsentieren. ▲ Der Zusatz unsigned in Verbindung mit einem der Typen int, char, long definiert den entsprechenden Datentyp als positiv. ▲ Der Wertebereich der einfachen Datentypen ist nicht genormt, da er von dem für den jeweiligen Datentyp zur Verfügung stehenden Speicherplatz (Länge) abhängt. Lediglich die char-Typen haben eine genormte Länge von 8 Bit.
76
2 Programmierung und Programmiersprachen Datentyp int unsigned int char unsigned char long unsigned long float double
Ein logischer Ausdruck ist in C äquivalent mit jedem ganzzahligen Datentyp int, char, long. Ein Ausdruck ist wahr, wenn er einen beliebigen Wert „!= 0“ besitzt und falsch, wenn „== 0“ gilt. ■ Variablendeklaration: int i,j,k; char c = 0; unsigned long l = -2; Verboten, da unsigned gefordert!! ● Variablen müssen immer am Anfang eines Programmelementes (vor der ersten Zeile mit ausführbarem Code) deklariert werden. Typkonvertierung ist immer zwischen einfachen Datentypen möglich. Wird durch Voransetzen des Datentyps realisiert: (einfacher Datentyp)Ausdruck ■ int m = 32.7; /* verboten, da Typen inkompatibel! */ int n = (int)32.7; /* erlaubt, da gueltige Typkonvertierung */ Ein zusammengesetzter Datentyp (struct) ist ein aus mehreren einfachen oder anderen zusammengesetzten Datentypen aufgebautes Konstrukt. Er wird analog zu den einfachen Datentypen zur Deklaration von Variablen verwendet. ■ struct Datum { unsigned int Tag,Monat,Jahr; } Deklaration einer Variablen: struct Datum Heute; ● Die Elemente eines zusammengesetzten Datentyps werden über den Struktur-Operator „.“ angesprochen: printf("Datum: %ud.%ud.%ud",Heute.Tag, Heute.Monat, Heute.Jahr); union ist ein zusammengesetzter Datentyp, der es gestattet, denselben Speicherbereich durch unterschiedliche Datentypen zu adressieren. ■ union Demo { int Zahl; struct { char Byte3,Byte2,Byte1,Byte0; } Bytes; } Eine Variable union Demo Test; kann sowohl durch Test.Zahl, als auch durch Test.Bytes.Byte2 adressiert werden.
2.2 Programmiersprachen
77
Mithilfe von typedef werden einfache oder zusammengesetzte Datentypen neu benannt: ■ typedef float REAL; oder typedef union Demo UDemo; so definierte Datentypen können wie einfache Datentypen zur Deklaration verwendet werden (ohne den Vorsatz struct, union, . . .). ● Durch typedef deklarierte Datentypen werden vom Compiler als zu ihren definierenden Datentypen identisch behandelt. So sind union Demo x; und UDemo y; für den Compiler von identischem Typ. Als Zeiger wird ein Datentyp zur Darstellung von Verweisen auf andere Größen bezeichnet. Er enthält nicht den eigentlich zu speichernden Wert, sondern (i. d. R.) nur die Speicheradresse, wo der der Wert gespeichert ist. ● Zeiger sind typenbehaftet! Ein Zeiger auf eine int-Variable unterscheidet sich von einem Zeiger auf eine char-Variable. ▲ Die Länge des Datentyps Zeiger richtet sich nach der Größe des adressierbaren Speicherbereichs und ist abhängig von der Architektur des Computers, aber unabhängig vom Typ des Zeigers! Dereferenzierung *x bezeichnet den Inhalt der Speicherzelle, auf die der Zeiger verweist. *x kann sowohl auf der linken wie auf der rechten Seite einer Zuweisung stehen: int x; int* y; ∗y = 5; x = *y; ▲ Nach der Deklaration gemäß int* x ist der Zeiger x zunächst undefiniert, enthält also irgendeinen zufälligen Wert. Ein Beschreiben gemäß *x = 5 verändert unkontrolliert Speicherzellen, die anderen Variablen oder – schlimmstenfalls – einem ausführbaren Programm zugeordnet sind. Fehler oder Programmabsturz sind die Folge! Adressen-Operator „&“ liefert einen Zeiger des entsprechenden Typs auf eine Variable. ■ int* p1; char* p2; int i = 1; char c = 2; p1 = &i; p2 = &c; printf("i = %d, c = %d",*p1,*p2); /* liefert: "i = 1, c = 2" */ ▲ Bei zusammengesetzten Datentypen mit großem Speicherbedarf ist bspw. das Umkopieren von Variablen mit Zeigern deutlich schneller als Operationen mit normalen Variablen, bei denen stets der gesamte Speicherbereich kopiert werden muss. Felder sind zusammenhängende Listen von Variablen. Einzelne Elemente des Feldes werden über den Index angesprochen. ▲ Die Indizierung eines Feldes beginnt stets mit 0. int Feld[5]; /* Definiert Feld[0] . . . Feld[4] */ ● Der Programmierer muss sicherstellen, dass keine Bereichsüberschreitung auftritt. Die Zeile int j = Feld[5]; wird zwar fehlerfrei übersetzt, der Inhalt dieser Speicherzelle ist jedoch nicht definiert, da sie möglicherweise von einer anderen Variablen verwendet wird. ▲ Eine Feldvariable ist äquivalent zu einem Zeiger des entsprechenden Typs. int* AuchFeld = &Feld[0]; oder einfacher int* AuchFeld = Feld; definiert ein mit Feld identisches Datenfeld AuchFeld mit denselben Elementen AuchFeld[0]...AuchFeld[3]. ▲ Das erste Element des Feldes Feld kann sowohl mit Feld[0] als auch mit *Feld angesprochen werden.
78
2 Programmierung und Programmiersprachen
Unterschiede zwischen Feld- und Zeigerdeklaration: 1. Im Gegensatz zu Zeigern können Felder nicht einander zugewiesen werden, selbst wenn sie den gleichen Typ und die gleiche Größe besitzen. 2. Bei der Felddeklaration wird automatisch ein der Größe des Feldes und Art des Datentyps entsprechender Speicherbereich angefordert (statische Speicherverwaltung). ■ float y[6] = {1,2,3,4,5,6}; Ein Vektor der Dimension n ist ein eindimensionales Feld der Länge n. Zeichenketten oder Strings werden in C über char-Felder realisiert. Funktionen zur Stringbehandlung werden über #include <string.h> zur Verfügung gestellt. ▲ Zeichenketten sind in C durch das Nullzeichen „\0“ terminiert, sie belegen also ein zusätzliches Byte im Speicher. ■ char* string = "Dies ist ein String"; /* string[0] = ’D’, string[19] = ’\0’ */ Mehrdimensionale Felder sind durch mehrere Indizes adressierte Speicherbereiche. Bis zu beliebiger Dimension in C realisierbar. ■ float x[2][3] = {{1,2,3},{4,5,6}}; ▲ Ein mehrdimensionales Feld ist ebenso wie ein eindimensionales Feld äquivalent zu einem Zeiger entsprechenden Typs: ■ float* y = x; Das (nun eindimensionale) Feld y enthält: 1,2,3,4,5,6 Diese Adressierung y[i][j] ist verboten, da der Zeiger y keine Informationen über die Länge der Vektoren besitzt. ■ Äquivalente Formulierung: x[i][j]≡y[i*3+j] Dynamische Speicherverwaltung bedeutet, dass die Feldgrößen nicht bei der Kompilation, sondern erst während des Programmlaufs festgelegt werden. C stellt dafür standardmäßig Bibliotheken zur Speicherverwaltung zur Verfügung: #include <stdlib.h> Reservierung von Speicher: char* String = malloc(10*sizeof(char)); Freigeben von Speicher:free(String);
d) Schleifen und Verzweigungen Befehle zur Schleifenprogrammierung: for, while, do. . .while, break, continue while-Schleife: while (Ausdruck) Anweisung; Ausdruck: Abbruchkriterium Anweisung: innerhalb der Schleife auszuführende Anweisung. ▲ Soll mehr als eine Anweisung ausgeführt werden, so sind diese in einem Block ({. . .}) zusammenzufassen. Die Anweisungen innerhalb der while-Schleife werden ausgeführt, solange der Ausdruck logisch wahr ist. ▲ Das Abbruchkriterium wird zu Beginn der Schleife überprüft. Ist der Ausdruck bereits vor dem ersten Schleifendurchlauf logisch falsch, so wird das Programm bei der ersten Anweisung außerhalb der Schleife fortgesetzt, die Schleife wird nicht ausgeführt.
2.2 Programmiersprachen
79
■ float x = 64.0; while (x > 1.0) { x /= 2.0; printf(”x = %f”,x); } do-while-Schleife: do
Anweisung; while (Ausdruck); Die Schleife wird ausgeführt, bis das Abbruchkriterium erfüllt, also der Ausdruck logisch falsch ist. ▲ Die do-while-Schleife wird mindestens einmal ausgeführt, da das Abbruchkriterium erst am Ende der Schleife geprüft wird. for-Schleife: for (Ausdruck1;Ausdruck2;Ausdruck3) Anweisung; Ausdruck 1: initialisiert Schleifenvariable Ausdruck 2: Abbruch-Kriterium Ausdruck 3: verändert die Schleifenvariable ■ int i; for (i=0; i<10; i++) printf("Nr. %d",i); ▲ for-Schleifen sind sehr flexibel einsetzbar. So können bspw. while-Schleifen simuliert werden: for (x = 64.0 ;x>1.0; ) {. . .} Die break-Anweisung führt zur sofortigen Beendigung einer Schleife, unabhängig vom Abbruchkriterium. ▲ Es wird – bei verschachtelten Schleifen – nur die Schleifenebene verlassen, in der das break-Kommando gegeben wurde. ■ for (i=0; i<10; i++) { for (j=0; j<10; j++) { if (j == 5 & & i == 5) break; printf("i,j = %d,%d\n", i, j); } } Die Paare 5,5 bis 5,9 werden nicht ausgegeben, da die j-Schleife für i==5 bei j==5 verlassen wird. ▲ In einer switch-Konstruktion dient break zur Vermeidung unbeabsichtigter Ausführung von caseZweigen. Die continue-Anweisung führt innerhalb von Schleifen zum Sprung ans Schleifenende, prüft jedoch das Abbruchkriterium. ■ for (i=0; i<10; i++) { for (j=0; j<10; j++) { if (j == 5 & & i == 5) continue; printf("i,j = %d,%d\n", i, j); } } Nur das Paar 5,5 wird nicht ausgegeben!
80
2 Programmierung und Programmiersprachen
Befehle zur Programmierung bedingter Verzweigungen: if, if. . .else, switch Die IF-Struktur führt zu einer bedingten Ausführung von Programmteilen. if (Ausdruck) Anweisung1; Anweisung1 wird nur dann ausgeführt, wenn Ausdruck logisch wahr ist. ▲ Anweisung kann ein einzelnes C-Kommando oder ein Programmblock sein. IF-ELSE-Struktur: if (Ausdruck) Anweisung1; else Anweisung2; Anweisung2 wird ausgeführt, wenn Ausdruck logisch falsch ist. Die switch-Struktur wird für bedingte Verzweigungen mit mehr als zwei Alternativen benötigt. switch (Ausdruck) { case Alternative1: Anweisung1; break; case Alternative2: Anweisung2; break; . . . case Alternativen: Anweisungn; break; default: Anweisung; } ▲ Das break-Kommando bewirkt ein sofortiges Verlassen des switch-Blocks nach Ausführung der entsprechenden Anweisungen. Ohne break würden alle anderen Alternativen zusätzlich ausgeführt!
2.2.3
Einführung in C++
● C++ ist eine objektorientierte Programmiersprache (OOP) und sollte stets als solche verwendet werden. Sie enthält jedoch C als Teilmenge, sodass sie als übergeordnete Sprache verstanden werden kann. ▲ Ursprünglich war C++ lediglich als Präcompiler für C konzipiert, ein Programm also, welches den C++-Code umwandelt in originären C-Code, welcher dann von einem herkömmlichen C-Compiler übersetzt wird. ● Der Unterschied zwischen C++ und C besteht ausschließlich in Buchhaltung über erlaubte und unerlaubte Zugriffe auf bestimmte Datenstrukturen. Dies könnte natürlich auch von einem sorgfältigen Programmierer geleistet werden. Die Erfahrung zeigt, dass es besser ist, dies dem Computer zu überlassen. ▲ Prinzipiell hat C++ programmiertechnisch nur sehr wenig mit C gemeinsam, da aufgrund der objektorientierten Sprachelemente eine andere Programmstruktur erforderlich wird. Die Syntax von C++ baut jedoch auf der von C auf, sodass die Kenntnis von C unentbehrlich ist.
a) Variablen und Konstanten C++ besitzt dieselbe Syntax zur Variablen- und Konstantendeklaration wie C. Im Folgenden seien kurz die wesentlichen Unterschiede aufgelistet. 1. Variablen- und typedef-Deklarationen müssen nicht mehr am Beginn eines Blocks stehen, sondern können überall im Code auftreten.
2.2 Programmiersprachen
81
In C++ sollte die Deklaration einer Variablen immer mit einer Wertzuweisung verbunden sein (int k = 1; int j = k; statt int k,j; . . .; k = 1; j = k;). In C: int i; for (i=1; i<10; i++) {. . .} In C++: for (int i=1; i<10; i++) {. . .} 2. Konstanten werden über das Schlüsselwort const definiert (const float x = 0.5;)
b) Überladen von Funktionen ● In C++ wird eine Funktion nicht nur über ihren Namen, sondern zusätzlich über Anzahl und Typen ihrer Argumente identifiziert. Es können also innerhalb desselben Scopes mehrere Funktionen mit demselben Namen auftreten, so lange sie durch ihre Argumente eindeutig unterscheidbar sind. ▲ Der Rückgabewert einer Funktion trägt dagegen nicht zur Identifikation bei! Überladene Funktionen sind C++ Funktionen gleichen Namens, die sich durch ihre Argumente unterscheiden. int Funktion(); int Funktion(double); // ok. int Funktion(double,char); // ok. char Funktion(double,char); // Fehler, da nur Rückgabewert // unterschiedlich
c) Überladen von Operatoren ● Operatoren in C++ sind als Funktionen mit fester Anzahl von Argumenten definiert. ■ a + b ≡ operator+(a,b) ▲ Operatoren verhalten sich wie Funktionen und können überladen werden, sofern deren Argumente keine elementaren Typen, sondern Klassen sind. Binäre Operatoren sind Operatoren mit genau zwei Argumenten. ■ +, -, *, /, aber auch <<, >> ▲ Die Anzahl der Argumente eines Operators kann nicht verändert werden. Es können auch keine neuen Operatoren definiert, sondern nur bereits existierende überladen werden. Der Funktionsaufruf-Operator () ist der einzige Operator mit nicht vorgegebener Argumentanzahl (wird bei Definition bestimmt). Er ermöglicht die Verwendung einer Klasseninstanz in Analogie zu einer Funktion. class Klasse { float operator()(. . .Argumente. . .) . . . ; } main() { Klasse Instanz; float y = Instanz(1,2,3,. . .); }
d) Klassen Eine Klasse ist ein Datenobjekt in C++ bestehend aus Datenstrukturen (Member, Variablen, Felder, zusammengesetzte Datentypen) und Methoden (Member-Funktionen) zur Manipulation der Daten.
82
2 Programmierung und Programmiersprachen
▲ Klassen bilden das Rückgrat eines C++-Programms. ● Member und Member-Funktionen können private (nur lokal von Member-Funktionen ansprechbar), protected (auch von Member-Funktionen von abgeleiteten Klassen ansprechbar) oder public (global im gesamten Programm aufrufbar) deklariert werden. ▲ Die Schlüsselworte private, verwendet werden. class Beispiel { private: int i,j; public: void Setzen(int,int); int Quotient();
protected und public können beliebig oft in beliebiger Reihenfolge
// Klassenname ist Beispiel
// Private Integer-Variablen // Funktion setzt i und j mit // den zu übergebenden Werten. // Funktion dividiert i durch j
} ▲ Da die Variablen i und j als private definiert sind, können sie von außerhalb der Klasse nicht manipuliert werden. Das Setzen oder Verändern der Variablen kann nur eine Member-Funktion vornehmen. Die Definition der Member-Funktionen findet (irgendwo) nach der Klassen-Deklaration statt: void Beispiel::Setzen(int i_neu,j_neu) { i = 2*(i_neu/2); j = 2*((j_neu+1)/2)-1; } int Beispiel::Quotient() { return i/j; } ▲ Die Member-Funktion Setzen garantiert, dass i nur gerade und j nur ungerade Werte annehmen kann. Definiert man keine weiteren Member-Funktionen, so ist es unmöglich, der Variablen j einen geraden Wert zuzuweisen. Dadurch wird bspw. gewährleistet, dass der Quotient immer definiert ist (j=0 kann ja nicht auftreten). Der Scope-Operator “:: „ definiert den Gültigkeitsbereich einer Funktion oder einer Variablen. ■ Es definiert int Beispiel::Quotient() die Funktion int Quotient() als Member-Funktion der Klasse Beispiel. In diesem Scope muss der Bezeichner Quotient eindeutig sein.
e) Instanziierung von Klassen Der Name einer definierten Klasse kann wie der Name eines Datentyps (int, double, ... ) zur Deklaration einer Variablen verwendet werden. Das so deklarierte Objekt nennt man Instanz.
// // x.Setzen(1,2); // int k = x.Quotient(); // Beispiel x;
Instanziiert die Klasse Beispiel mit dem Bezeichner x. Setzt die Variable i und j der Instanz x liefert k = 1/2 = 1
Der Struktur-Operator „.“ adressiert Member und Member-Funktionen einer Klassen-Instanz (x.i, x.j, x.Quotient(),. . .).
2.2 Programmiersprachen
83
f) friend-Funktionen friend ist ein Schlüsselwort, welches eine beliebige Funktion als Freund einer Klasse definiert. Befreundete Funktionen dürfen auf alle privaten Member und Memberfunktionen der Klasse zugreifen. ● friend-Funktionen weichen die Strenge der Datenkapselung auf. Ihre Benutzung sollte also vermieden werden, obgleich es in vielen Fällen keine Alternative gibt. class Klasse { friend float f(Klasse& a,float x); private: float b; } float f(Klasse& a,float x) return a.b*x; ● friend-Deklarationen sollten am Anfang der Klassendefinition stehen.
g) Operatoren als Memberfunktionen Operatoren zwischen Klassen oder zwischen einer Klasse und einem elementaren Datentyp können entweder als Operator-Memberfunktionen oder als friend Operatoren definiert werden: Operator-Memberfunktion: class x { x operator+(x& b) . . . ; }; friend-Operatoren: class y { friend y& operator+(y& a,y& b) . . . ; }; ● Operator-Memberfunktionen nehmen als erstes Argument immer die Instanz der Klasse, aus der der Operator aufgerufen wird. Somit muss nur das zweite oder alle weiteren Argumente angegeben werden.
h) Konstruktoren ● Wird x.Quotient() vor x.Setzen() aufgerufen, so haben die Variablen i und j keinen definierten Wert (eine zufällige Bitfolge im den Variablen i und j zugewiesenen Speicher). Der Quotient ist also undefiniert! Der Konstruktor ist eine Member-Funktion, die bei der Instanziierung einer Klasse aufgerufen wird und zur Definition der Member-Inhalte verwendet werden sollte. ● Konstruktoren tragen immer den Namen der Klasse. Sie besitzen keinen Rückgabewert (auch nicht void). Konstruktoren können überladen werden.
84
2 Programmierung und Programmiersprachen class Beispiel { private: int i,j; public: // Standard-Konstruktor Beispiel(); Beispiel(int,int); // überladener Konstruktor void Setzen(int,int); // Der Rest wie gehabt... int Quotient(); }
Member-Initialisierung ist die Definition von Member-Inhalten bei Aufruf von Konstruktoren. ::(...): Member1(Wert1), ..., MemberN (WertN ) {. . .} ● Wert können dabei auch beliebige, bereits deklarierte, Funktionen oder komplexe Ausdrücke sein. ■ Beispiel::Beispiel(): i(0), j(1) {... } ▲ Die Member-Initialisierung ist die einzige Möglichkeit, konstante Member zu initialisieren! ▲ Member-Inhalte können auch im Funktionskörper des Konstruktors zugewiesen werden. Im Gegensatz zur Member-Initialisierung ist eine Wertzuweisung für konstante Member hier nicht möglich. ● Grundsätzlich sollten alle Member, soweit möglich, über Member-Initialisierung definiert werden. ■ schlechtes Beispiel: Beispiel::Beispiel(int a,int b) { i = 2*(a/2); j = 2*((b+1)/2)-1; } Die Instanziierung der Klasse erfolgt nun in folgender Syntax: Beispiel x(); // setzt i=0 und j=1 Beispiel y(1,2); // setzt i=1 und j=2 Beispiel z(x.Quotient(),y.Quotient()); // setzt i=0 und j=1 Der Copy-Konstruktor ist ein Konstruktor zur Erzeugung einer Kopie eines Objekts. ■ Der Copy-Konstruktor einer Klasse wird aufgerufen bei Definitionen (Beispiel a = b) oder „Callby-Value“-Übergaben eines Objekts an eine Funktion. class Beispiel { . . . Beispiel(Beispiel&); . . . } Beispiel::Beispiel(Beispiel& a) { i = a.i; j = a.j; } main()
2.2 Programmiersprachen
85
{ Beispiel a(1,2); Beispiel b = a;
a wird kopiert und b zugewiesen
} ● Wird kein Copy-Konstruktor definiert, so werden standardmäßig die Inhalte aller Member kopiert. Dies kann Probleme bei dynamischer Speicherverwaltung aufwerfen!
i) Abgeleitete Klassen (Vererbung) Abgeleitete Klasse: Sei eine Klasse a gegeben. Dann definiert class b: public a {. . .} ; eine von der Klasse a abgeleitet Klasse. Alle public und protected Member von a sind von b zugänglich. Virtuelle Memberfunktionen sichern bei Objektumwandlungen immer die Ausführung der richtigen Memberfunktion. ● Wird einer Referenz oder einem Zeiger auf die Basisklasse eine Referenz oder ein Zeiger auf eine abgeleitete Instanz zugewiesen, so wird im Normalfall (ohne Virtualität) bei Aufruf der Memberfunktion über diese Referenz bzw. diesen Zeiger die Memberfunktion der Basisklasse aufgerufen. Ist die überladene Memberfunktion als virtual deklariert, so „merkt“ sich das Objekt seinen Ursprung und ruft die Memberfunktion der abgeleiteten Klasse auf. Ohne Virtualität: class a { void f() { cout « ”a”; } } class b: public a { void f() { cout « ”b”; } } main() { b x; a& y = x; y.f(); } Liefert: „a“
Mit Virtualität: class a { virtual void f() { cout . . . } } class b: public a { virtual void f() { cout . . . } } main() { b x; a& y = x; y.f(); } Liefert: „b“
j) Klassenbibliotheken Klassendefinitionen und die damit verbundene Kapselung von Daten führen dazu, dass in C++ auf sehr einfache Weise völlig unabhängige Daten- und Programmstrukturen erstellt werden können, die ein Programmierer in seinem Programm verwenden kann, ohne die genaue Arbeitsweise der Routinen verstehen zu müssen. Es reicht die Kenntnis der Schnittstelle: der public Member und Memberfunktionen, der in den Klassenbibliotheken definierten Klassenhierarchien. Die Klassenbibliothek ist eine Zusammenfassung von vordefinierten Klassen zur Realisierung von bestimmten Problemtypen. Daten und Code sind dem Benutzer nicht zugänglich. ● Die in Klassenbibliotheken definierten Klassen können (und sollen) vom Benutzer nicht verändert werden. Zur Modifikation von bestimmten Eigenschaften können abgeleitete Klassen von den Bibliotheksklassen erstellt und diese statt dessen verwendet werden, wobei die Prinzipien der Vererbung und des Überladens greifen. Der ursprüngliche Code bleibt unberührt!
86
2 Programmierung und Programmiersprachen
■ Datentyp „Komplexe Zahlen“ mit allen denkbaren Verknüpfungsoperationen. Der Programmierer definiert komplexe Zahlen einfach durch: #include complex y(1,3),z(0,1);
// entspricht 1+3*i und 0+1*i = i
und kann damit alle denkbaren Operationen durchführen: y*z, sqrt(z), . . .. ▲ Zu Standard-C++ gehören große Klassenbibliotheken, darunter solche für abstrakte Datentypen wie Listen oder Mengen.
2.2.4
Einführung in Java
Java ist eine von der Firma Sun Microsystems entwickelte objektorientierte Programmiersprache. Ihre schnelle Verbreitung verdankt sie neben ihrer modernen, klaren Konzeption der Tatsache, dass sie die Erstellung kleiner Programmteile (Applets) ermöglicht, die direkt über das Netz geladen werden und in einem Browser-Fenster ablaufen. Damit wurde sie zur Programmiersprache des WWW schlechthin. ● Java-Programme werden in einen maschinenunabhängigen Zwischencode übersetzt, der von einem Interpreter der virtuellen Java-Maschine ausgeführt wird. Dieser kann auch in einen Browser integriert sein. ▲ Das Java Development Kit (JDK) beinhaltet grundlegende Entwicklungswerkzeuge wie den Bytecode Compiler zum Übersetzen von Java-Programmen in Bytecode, den Interpreter zum Ausführen des Bytecodes und den Appletviewer zum Anzeigen von Applets. Die Programme können kostenlos von Sun bezogen werden. ▲ Java wird ständig weiterentwickelt, vor allem die Klassenbibliotheken enthalten neue Funktionalitäten. Problematisch: Die Browser verwenden z. T. erst spät den neuen Stand. Die folgende Beschreibung basiert auf der Version Java 2.
a) Grundlagen Java lehnt sich in der Syntax stark an C++ an, insbesondere die Grundkonstruktionen finden sich hier wieder. Allerdings wurden viele problematische Punkte (z. B. Zeiger, Speicherverwaltung) nicht übernommen.
b) Programmaufbau ● Java-Programme benutzen keine vorgegebene Zeilenstruktur. ● Drei Formen von Kommentaren: // bis zum Zeilenende /*... */ beliebig über Zeilengrenzen, nicht schachtelbar /**... */ wird vom JDK-Programm javadoc zur Erstellung von Online-Dokumentation herausgezogen. ● Namen, die Variablen, Klassen etc. bezeichnen, dürfen aus Buchstaben, Ziffern und den Sonderzeichen _ und $ bestehen. Das erste Zeichen darf keine Ziffer sein. ▲ Java benutzt den internationalen Unicode-Zeichensatz: Buchstaben und Zahlen können also aus sehr vielen Schriften stammen. Darunter sind insbesondere die lateinischen Klein- und Großbuchstaben inkl. aller Erweiterungen in europäischen Sprachen. c ■ Mögliche Bezeichner: meinName, __intern__, Größe45, æΛ ´
2.2 Programmiersprachen
87
● Mindestens eine Klasse einer Java-Applikation (kein Applet) muss eine Funktion (Methode) main enthalten, die als public static void deklariert ist. Eine Java-Applikation wird gestartet, indem dem Interpreter der Name einer solchen Klasse angegeben wird. ■ Das „Hello World“-Programm in Java, in der Datei Hello.java: class Hello { public static void main(String[] args) { System.out.println("Hello World!"); } } Ausgabe mittels der println-Methode des Standard-Output-Streams. Übersetzen: javac Hello.java Ausführen: java Hello
c) Datenstrukturen ● In Java gibt es zwei Arten von Datentypen: einfache Typen und Referenztypen. Variablen der einfachen Typen speichern die entsprechenden Werte, Variablen von Referenztypen nur Referenzen (Zeiger) auf Objekte. Einfache Datentypen dienen der Darstellung ganzer oder Fließkomma-Zahlen, logischer Werte oder Zeichen, haben eine festgelegte Größe und interne Darstellung: Datentyp byte short int long float double boolean char
Bedeutung Größe in Bit ganze Zahl 8 ganze Zahl 16 ganze Zahl 32 ganze Zahl 64 Fließkommazahl 32 Fließkommazahl 64 logischer Wert 1 Zeichen (im Unicode) 16
■ Konstanten dieser Typen: Typ int long float double boolean char
▲ Konstanten vom Typ long haben ein angehängtes L oder l, solche vom Typ float ein F oder f. ▲ Alle ganzzahligen Datentypen sind vorzeichenbehaftet.
88
2 Programmierung und Programmiersprachen
▲ Fließkomma-Zahlen können auch die Werte +∞ und −∞ annehmen, mit denen „normal“ gerechnet wird. Diese Konstanten werden in Java als Konstanten Double.POSITIVE_INFINITY etc. in den Klassen Double und Float definiert. ▲ boolean ist kein numerischer Typ, man kann keine arithmetischen Operationen mit ihm ausführen. ● Alle Variablen müssen vor dem ersten Auftreten deklariert werden, d. h. ihnen wird ein Typ zugewiesen. Diese Deklarationen können wie Anweisungen überall im Programm stehen. Sie gelten bis zum Ende des sie umschließenden Blocks. ▲ Variablen eines numerischen Typs können solchen eines anderen numerischen Typs zugewiesen werden, wenn dadurch kein Genauigkeitsverlust möglich ist. Ansonsten muss man eine explizite Typumwandlung (cast) vornehmen. ■ int i = 17; long l = 128L; l = i; // ok, kein Verlust i = l; // Fehlermeldung vom Compiler! i = (int) l; // ok, wenn man weiß, was man tut ● Als höhere Datentypen gibt es Felder und Klassen. Variablen dieser Typen sind Referenzen, die auf Objekte zeigen. Die zugehörigen Objekte müssen mit new erzeugt werden. ▲ Objekte, die nicht mehr benötigt werden (d. h. auf die keine Variable mehr zeigt), müssen nicht explizit gelöscht werden. Stattdessen wird ihr Speicherplatz vom Java-Laufzeitsystem (genauer: dem garbage collector) automatisch freigegeben. Feld (Array) ist ein Datentyp, der mehrere Elemente vom selben Typ zusammenfasst. ▲ Die Zahl der Elemente eines Feldes a erhält man als a.length. Sie ist in Java nicht Teil des Typs, d. h. eine Array-Variable darf auf Arrays verschiedener Längen zeigen. ■ double[] v1 = new double[10]; double[] v2 = new double[20]; v1 = v2; // ok, v1 zeigt jetzt auf v2 ● Auf die Elemente eines Feldes v wird mit einem Index zugegriffen, der ein ganzzahliger Typ sein und zwischen 0 und v.length - 1 liegen muss. ▲ Bei Index-Überschreitung wird eine Ausnahme vom Typ IndexOutOfBoundsException ausgelöst. ▲ Anfangswerte von Feldern durch Listen in geschweiften Klammern. ■ int[] lotto = {2, 11, 12, 14, 34, 36}; for (int i=0; i < lotto.length; i++) { System.out.println(lotto[i]); } ▲ Mehrdimensionale Felder sind Felder, deren Elemente selbst Felder sind. ■ double[] matrix = new double[100][100]; Zeichenkette (String) ist ein Objekt der Standard-Klasse String. ▲ Besonderheiten für Strings: • Konstante Strings: Zeichenfolgen, eingeschlossen in " • Verketten von Strings mit + • Methode toString zur Wandlung in einen String ist für alle Standardtypen definiert. Sie wird bei Bedarf vom Compiler eingefügt. ■ String str = "Ergebnis: "; double result = 47.11; System.out.println(str + result); ▲ Der Verbund-Datentyp (RECORD in PASCAL bzw. struct in C) zur Zusammenfügung von Elementen verschiedenen Typs ist in Java durch class ersetzt.
2.2 Programmiersprachen
89
▲ Einen expliziten Zeiger-Datentyp gibt es nicht. Zwar enthalten alle Variablen der Referenztypen immer nur Zeiger, aber es gibt keine Zeigerarithmetik.
d) Operatoren ■ Die Operatoren sind C entlehnt. Die wichtigsten sind: • arithmetische Operatoren +, - *, /, % Grundrechenarten und Modulo (Rest bei ganzzahliger Division) • Vergleichsoperatoren ==, ! =, <, <=, >, >= Ergebnis ist vom Typ boolean • logische Operatoren && (und), || (oder),! (nicht) verknüpfen Werte vom Typ boolean ▲ Die C-typischen Abkürzungen gibt es auch hier: i++ // für i=i+1 c *= 2 // für c = c * 2 ▲ Division von ganzen Zahlen liefert den ganzzahligen Anteil ohne Rest. ● Beim Ausdruck a && b wird erst der Wert von a bestimmt. Ist dieser schon false, wird auch der ganze Ausdruck false, b wird dann nicht mehr berechnet. Analoges gilt für || und true. ▲ Dies ist wichtig, wenn die Berechnung von b einen Seiteneffekt hat. ▲ Für höhere Datentypen können keine Operatoren definiert werden (wie etwa in C++). Einzige Ausnahme: + zum Verketten von Strings. ▲ Die Gleichheit == (bzw. Ungleichheit!=) prüft bei Klassen und Feldern nur die Gleichheit der Zeiger, nicht die der einzelnen Komponenten. Dafür gibt es in allen Standardklassen die Methode equals.
e) Kontrollstrukturen ▲ Auch die Kontrollstrukturen wurden weitgehend C entlehnt. Ein Block ist eine Folge von Anweisungen, die in { und } eingeschlossen werden. Sie gelten dann als eine Anweisung. Bedingte Anweisung: if (boolescher Ausdruck) Anweisung1; else Anweisung2; Ist der boolesche Ausdruck true, wird Anweisung1 ausgeführt, sonst Anweisung2. ▲ Der else-Teil kann entfallen. ▲ Hier wie im Folgenden kann eine einzelne Anweisung durch einen Block ersetzt werden. Die Verzweigung ist ein Spezialfall von verschachtelten if-Anweisungen: switch (Auswahl-Ausdruck) { case Konstante1: Anweisung1; break; case Konstante2: Anweisung2; break; ...
90
2 Programmierung und Programmiersprachen default: AnweisungN; } Je nach Wert des Auswahl-Ausdrucks (ganzzahlig oder vom Typ char) wird der entsprechende caseZweig angesprungen und die zugehörige Anweisung ausgeführt. Ist der Wert nicht aufgeführt, wird der default-Zweig benutzt. Beim break wird hinter die switch-Anweisung gesprungen.
▲ Fehlt ein break, so werden die Anweisungen des folgenden case- oder default-Zweigs ausgeführt. Dies kann manchmal sinnvoll eingesetzt werden, aber i. d. R. ist es ein Fehler. Abweisende Schleife: while (boolescher Ausdruck) Anweisung; Die Anweisung wird so lange ausgeführt, bis der boolesche Ausdruck false ist. Ist er das schon zu Beginn, wird die Schleife übersprungen. Nichtabweisende Schleife: do Anweisung; while (boolescher Ausdruck); Abfolge entsprechend der while-Schleife, wobei der Test jedoch erst am Ende erfolgt, d. h. die Schleife wird immer mindestens einmal durchlaufen. Laufanweisung: for (Initialisierung; boolescher Ausdruck; Inkrementanweisung) Anweisung; Dies ist eine abkürzende Schreibweise für Initialisierung; while (boolescher Ausdruck) { Anweisung; Inkrementanweisung; } ■ Die for-Schleife ist zwar sehr allgemein einsetzbar, wird aber hauptsächlich für normale Zählschleifen benutzt: for (int i=0; i<10; i++) { System.out.println(i + ", " + i*i); } Die break-Anweisung dient dem sofortigen Verlassen einer Schleife oder einer Verzweigung. Die continue-Anweisung überspringt den Rest des aktuellen Schleifendurchgangs und beginnt mit dem nächsten (inkl. Inkrementierung und Test). ■ break wird eingesetzt, wenn eine besondere Bedingung eintritt, die die weitere Schleifenausführung verhindert oder überflüssig macht: for (int alter=18; alter <= 65; alter++) { boolean gewonnen = spieleLotto(); if (gewonnen) break; arbeite(); }
2.2 Programmiersprachen
91
▲ Im Fall von verschachtelten Schleifen beziehen sich break und continue normalerweise nur auf die sie direkt umgebende Schleife. Möchte man auch äußere Schleifen verlassen, muss man direkt vor den Beginn der entsprechenden Schleife eine Marke (Label) setzen und diese beim break bzw. continue mit angeben. ■ außen: for (int i=0; i
f) Behandlung von Ausnahmen ▲ Das Auftreten von unerwarteten Situationen beim Programmablauf wie fehlender Speicher oder Division durch 0 sollte durch geeignete Fehlerbehandlung aufgefangen werden, um zumindest ein völlig unkontrolliertes Programmverhalten zu verhindern. Java unterstützt dies durch besondere Mechanismen zur Ausnahmebehandlung. Ausnahme (Exception) ist ein Objekt, das das Auftreten einer außerplanmäßigen Situation anzeigt. Sein Typ gibt Aufschluss über die Art des Problems. ■ Typische Ausnahmen sind: Klasse OutOfMemoryError FileNotFoundException
Bedeutung kein Speicherplatz mehr bei einem new-Aufruf eine Datei des angegebenen Namens wurde nicht gefunden ArithmeticException Integer-Division durch Null IndexOutOfBoundsException Array-Index ist zu groß oder negativ ▲ Rechenoperationen mit floats oder doubles erzeugen keine Ausnahmen, sondern ggf. Werte wie unendlich (1.0/0.0) oder NaN (= Not a Number, etwa 0.0/0.0). ▲ Ausnahmen können sowohl ungewöhnliche „äußere“ Umstände anzeigen als auch durch Programmierfehler verursachtes „inneres“ Durcheinander. ● Tritt eine Ausnahme auf, sucht das Java-System nach einer umschließenden try-Anweisung, der eine catch-Anweisung für den richtigen Typ folgt. Diese catch-Anweisung wird dann ausgeführt und hinter evtl. weitere catch-Blöcke gesprungen. Wird kein passender try/catch-Block gefunden, wird das Programm mit einer Fehlermeldung abgebrochen. try { // Anweisungen, die zu Ausnahmen führen können } catch (ExceptionTyp1 e) { // Anweisungen zur Behandlung von ExceptionTyp1 } catch (ExceptionTyp2 e) { // Anweisungen zur Behandlung von ExceptionTyp2 } ...
92
2 Programmierung und Programmiersprachen
▲ In einem catch-Zweig hat man zwei Möglichkeiten: 1. Fehler irgendwie beheben bzw. umgehen und weitermachen 2. Aufräumen und aufhören ▲ Man kann auch selber neue Typen von Ausnahmen definieren (etwa als von Exception abgeleitete Klasse) und sie im Problemfall mithilfe der throw-Anweisung auslösen. Eine Methode muss bei ihrer Deklaration anzeigen, dass sie solche Ausnahmen auslösen kann. ■ void dangerous() throws Exception { //... if (error condition) { throw new Exception("problems in f"); } //... } ▲ Wenn man die Routine dangerous aufruft, muss man durch einen geeigneten try-catch-Block sicherstellen, dass die Ausnahme auch behandelt wird. Dies prüft schon der Compiler und bricht andernfalls mit einer Fehlermeldung ab. ▲ Insbesondere die Funktionen zur Ein- und Ausgabe mit Dateien lösen Ausnahmen aus, die abgefangen werden müssen. Damit wird sichergestellt, dass typische Fehler (Datei nicht vorhanden, nicht genug Plattenplatz etc.) berücksichtigt werden, zumindest in Form einer Fehlermeldung.
g) Objekte ▲ Java beinhaltet alle Konzepte der Objektorientierten Programmierung, insbesondere • Klassen • Vererbung • Polymorphie.
h) Klassen Eine Klasse ist ein neuer Typ, der durch Angabe seiner Komponenten und Methoden definiert wird. Ein Objekt ist eine Variable eines Klassentyps. ■ class Bruch { int zähler, nenner; // Komponenten void multipliziere(int n) { // einzige Methode zähler *= n; } } ▲ Komponenten können Variablen beliebigen Typs sein, auch Arrays oder Klassen sind möglich. ● Methoden sind Funktionen, die Operationen mit den Komponenten ausführen können. Bei der Klassendefinition werden sie nicht nur mit Namen und Parameterliste angegeben („deklariert“), sondern auch gleich vollständig als komplette Unterprogramme beschrieben („definiert“). ▲ Methoden haben direkten Zugriff auf die Komponenten ihrer Klasse. ● Beim Aufruf einer Methode werden Kopien der aktuellen Parameterwerte angelegt, auf die innerhalb der Funktion zugegriffen wird (call-by-value). ▲ Für Variablen von einfachen Datentypen bedeutet dies, dass sich Änderungen daran nicht auf die aufrufende Funktion auswirken. Bei den höheren Datentypen ist der Wert einer Variablen aber immer
2.2 Programmiersprachen
93
ein Zeiger, über den auch in einer Funktion immer der Zugriff auf das Objekt selbst geschieht, nicht auf eine Kopie. ▲ Um auf die Komponenten und Methoden einer Klasse zugreifen zu können, muss es ein Objekt dieser Klasse geben (Ausnahme: statische Elemente). ● Die Deklaration einer Klassenvariablen erzeugt nur eine Referenz (einen Zeiger), aber noch kein Objekt. Dies geschieht erst durch die Anwendung des new-Operators. ■ Bruch p1 = new Bruch(); p1.multipliziere(3); ▲ Objekte müssen zwar erzeugt, aber nicht explizit vernichtet werden. Dies erledigt das JavaLaufzeitsystem selbst, sobald ein Objekt nicht mehr benutzt wird (garbage collection). Der Konstruktor ist eine spezielle Funktion mit dem Namen der Klasse, ohne Rückgabewert (auch nicht void). Er wird automatisch aufgerufen, wenn ein Objekt erzeugt wird. ▲ Die Aufgabe eines Konstruktors ist, den Komponenten sinnvolle Anfangswerte zuzuweisen. Komponenten, die nicht explizit initialisiert wurden, setzt der Compiler auf Null. ▲ Man kann mehrere Konstruktoren definieren, die sich in Anzahl bzw. Typ der Parameter unterscheiden. Dies ist auch für andere Methoden möglich, man bezeichnet es als Überladen von Methoden. ■ class Bruch { int zähler, nenner; // Komponenten Bruch(int z, int n) { zähler = z; nenner = n; } Bruch(int n) { zähler = n; nenner = 1; } } ● Innerhalb eines Konstruktors kann man – als Allererstes – einen anderen, bereits definierten Konstruktor mit dem Namen this aufrufen. ▲ Dies ermöglicht, die Standard-Initialisierungen in einem Konstruktor unterzubringen, den man in allen anderen aufruft. ■ Im letzten Beispiel könnte man den zweiten Konstruktor also auch schreiben als Bruch(int n) { this(n, 1); } ● Wenn man keinen Konstruktor definiert, erzeugt der Compiler einen Standard-Konstruktor, der keine Argumente hat und alle Komponenten mit Null initialisiert. ▲ Das ist auch der Grund, warum man im Beispiel Bruch p = new Bruch(); schreiben konnte, ohne einen Konstruktor zu definieren. ● Die Komponenten und Methoden, auf die von anderen Klassen aus zugegriffen werden darf, bilden die Schnittstelle einer Klasse. Sie werden durch das Attribut public gekennzeichnet. Mit private bezeichnete Komponenten sind von außen unsichtbar.
94
2 Programmierung und Programmiersprachen
▲ Insbesondere können private Methoden und Komponenten ersetzt werden, ohne dass ein Benutzer einer Klasse etwas davon merkt, so lange die Schnittstelle gleich bleibt. Dies erlaubt z. B., nachträglich die Interna einer Klasse zu ändern, um die Ausführungs-Geschwindigkeit zu erhöhen. ■ class Polygon { private Punkt[] points; // enthält auch Anzahl public Polygon(Punkt[] p) {...} public void drehe(double Winkel) {...} public double flächeninhalt() {...} } ▲ Wird weder public noch private angegeben, ist der Zugriff innerhalb desselben Paketes erlaubt. ● Klassen können auch innerhalb anderer Klassen definiert werden. Diese inneren Klassen haben Zugriff auch auf die privaten Komponenten der umgebenden Klasse. ▲ Innere Klassen sind als Hilfsklassen der umgebenden Klasse nützlich, die „außen“ nicht benötigt werden. Sie werden vor allem bei der Programmierung von grafischen Oberflächen eingesetzt (s. AppletBeispiel im Abschnitt p)). ● Gelegentlich treten Größen auf, die nicht mit jedem einzelnen Objekt verknüpft sind, sondern mit der ganzen Klasse. Solche Komponenten werden statisch oder Klassenvariable genannt und mit dem Schlüsselwort static deklariert. Man kann auf sie zugreifen, indem man den Klassennamen verwendet. ■ Konstanten, die alle Objekte einer Klasse kennen oder die „global“ bekannt sein sollen: class Math { static double pi = 3.1415926; //... } class Schätzer { double einfach(double daumen) { return Math.pi * daumen; } } ■ Klassenvariablen können auch dazu benutzt werden, die Zahl der erzeugten Objekte einer Klasse festzuhalten. ● Auch Methoden können statisch sein und ohne ein Objekt über den Klassennamen aufgerufen werden. Statische Methoden können nur auf statische Komponenten zugreifen. ■ Prominentes Beispiel: die statische Funktion main. Sie kann vom Java-System aufgerufen werden, noch bevor es ein Objekt gibt. Dies löst das alte „Henne-Ei-Problem“ der objektorientierten Programmierung: Keine Objekte ohne erzeugende Funktion, keine Funktionen ohne umschließende Objekte.
i) Vererbung ▲ Wie im Abschnitt „Objektorientierte Programmierung“ erläutert, erlaubt Vererbung, von einer vorhandenen Klasse neue abzuleiten. Die neue Klasse enthält dabei alle Komponenten und Methoden der Basisklasse. ● Das Schlüsselwort extends gibt an, dass eine Klasse von einer anderen abgeleitet wird.
2.2 Programmiersprachen
95
■ class Dreieck extends Polygon { private double radius; // wird etwa aus Performancegründen zwischengespeichert public Dreieck(Punkt a, Punkt b, Punkt c) {...} public double umkreisradius() { return radius; } public Punkt umkreismittelpunkt() {...} } ● Die Konstruktoren einer Klasse werden nicht an abgeleitete Klassen vererbt. ■ Dreieck enthält die privaten Komponenten points und radius, die öffentlichen Methoden drehe, flächeninhalt, umkreisradius und umkreismittelpunkt sowie den (öffentlichen) Konstruktor Dreieck. Es enthält aber keinen Konstruktor Polygon. ▲ Dass im obigen Beispiel alle Komponenten privat sind, ist durchaus typisch. Der Zugriff auf Komponenten sollte, falls überhaupt erforderlich, nur über öffentliche Methoden geschehen. Dies erlaubt eine saubere Trennung von Schnittstelle und Implementierung. ▲ Die abgeleitete Klasse enthält zwar die privaten Teile der Elternklasse, kann sie aber auch selber, d. h. in eigenen Methoden, nicht benutzen. ● Das Attribut protected erlaubt den Zugriff auf Komponenten und Methoden einer Klasse nur für abgeleitete Klassen. ▲ Erlaubt man abgeleiteten Klassen den Zugriff auf interne Komponenten, erleichtert man ihnen oft die Implementierung ihrer Methoden. ■ Die Klasse Dreieck des letzten Beispiels hat keinen Zugriff auf die Punkte points, daher wird es nicht gelingen, den Umkreismittelpunkt zu berechnen! Mögliche Auswege: • Polygon hat eine öffentliche Methode, die die Werte der Punkte zurückgibt. Sie ist gut gekapselt, aber ineffizient für die Implementierung von Dreieck. • Die Komponente points von Polygon erhält den Status protected statt private. Dadurch ist die schnelle Implementierung gesichert, jedoch sieht die Methode Dreieck die „Interna“ von Polygon. ● Die erste Anweisung im Konstruktor einer abgeleiteten Klasse kann der Aufruf eines Konstruktors der Basisklasse sein. Er geschieht mithilfe des Schlüsselworts super. ■ class Dreieck extends Polygon { public Dreieck(Punkt a, Punkt b, Punkt c) { super( new Punkt[] a, b, c ); } //... } ● Wird der super-Aufruf nicht verwendet, fügt der Compiler automatisch einen Aufruf super() ein. Er meldet einen Fehler, wenn es keinen solchen Konstruktor in der Basisklasse gibt. ▲ Dieser Fall tritt dann ein, wenn man in der Basisklasse eigene Konstruktoren definiert, aber keinen ohne Argumente.
96
2 Programmierung und Programmiersprachen
Object ist die höchste Basisklasse, von der alle Klassen abstammen. ▲ Insbesondere sind alle Klassen, die nicht mit extends erben, direkt von Object abgeleitet. ▲ Object stellt einige Grundfunktionen zur Verfügung, z. B. die Funktionen equals und toString. Allerdings prüft equals nur auf Zeiger-Gleichheit und toString gibt einen internen Code aus. Daher sollte man diese Funktionen in eigenen Klassen überladen. In allen Java-Standard-Klassen ist dies geschehen. ● Um zu verhindern, dass eine Methode in einer abgeleiteten Klasse überschrieben wird, kann man sie als final kennzeichnen. ■ Man stelle sich eine Klasse vor, die Kontakt mit einem anderen Rechner vermitteln soll. Sie habe eine Methode check, die für die Passwort-Übermittlung zuständig ist. Ist check nicht final, kann man eine neue Klasse ableiten, die check so umdefiniert, dass es das Passwort gleich per Mail an einen Dritten weitergibt! ● Wird eine Klassen-Komponente als final gekennzeichnet, so kann sie nach der Initialisierung nicht mehr geändert werden, sie ist konstant. ▲ Für Klassen-Komponenten, die selbst Objekte sind, bedeutet dies, dass die Referenz sich nicht mehr ändern darf, d. h. sie zeigt immer auf dasselbe Objekt. Dieses Objekt ist dagegen nicht selbst konstant, seine Felder können sich ändern.
j) Polymorphie ▲ In Java kann jede Methode einer Klasse, die nicht final ist, in einer abgeleiteten Klasse überladen werden. ■ class Polygon {
//... public double flächeninhalt() { // kompliziertes Verfahren, allgemein die Fläche zu bestimmen } } class Dreieck extends Polygon { //... public double flächeninhalt() { // einfache Flächenberechnung beim Dreieck } } class Dreiecktest { public static void main(String[] args) { Polygon[] p = new Polygon[2]; p[0] = new Dreieck(); p[1] = new Polygon(); for (int i=0; i<2; i++) { System.out.println("Fläche: " + p[i].flächeninhalt()); } } }
2.2 Programmiersprachen
97
Für i=0 wird die spezielle Methode flächeninhalt von Dreieck verwendet, obwohl der Zeiger p[0] selber vom Typ Polygon ist. Dies bezeichnet man als Polymorphie (s. Abschnitt h)). ▲ In der Regel kann erst zur Laufzeit entschieden werden, welche Methode für flächeninhalt() verwendet werden soll („late binding“). ▲ Methoden, die static oder private sind, können nicht überladen werden, sie sind automatisch final. ▲ In C++ müssen Methoden, die von abgeleiteten Klassen überladen werden sollen, als virtual deklariert werden. Alle anderen Methoden können schon zur Übersetzungszeit gebunden werden. In Java sind alle (nicht-final) Methoden „virtual“. ● Eine Klasse kann Methoden enthalten, ohne sie zu implementieren. Solche Methoden werden mit dem Schlüsselwort abstract gekennzeichent, ebenso die ganze Klasse. ■ abstract class Fläche { // Komponenten und vollständige Methoden // ... abstract double flächeninhalt(); } ● Von einer abstrakten Klasse können keine Objekte angelegt werden. ● Klassen, die von einer abstrakten Klasse abgeleitet werden, können abstrakte Methoden implementieren. Werden alle Methoden implementiert, ist die abgeleitete Klasse nicht mehr abstrakt. ▲ Abstrakte Klassen dienen dazu, eine gemeinsame Schnittstelle für die von ihnen abgeleiteten Klassen zu erzwingen, selbst wenn noch nicht alle Methoden definiert werden können. ■ Alle „Flächen“ (= von Fläche abgeleiteten Klassen) haben eine Methode flächeninhalt(). Als Schnittstelle (Interface) wird ein Datentyp bezeichnet, der nur abstrakte Methoden und Konstanten enthält. ▲ Ein Interface entspricht einer abstrakten Klasse, die keine einzige Methode implementiert und auch keine Variablen (außer Konstanten) enthält. ■ interface Körper { void verschiebe(double x, double y, double z); void rotiere (double phi, double theta, double psi); } ● Eine Klasse kann ein Interface implementieren, indem sie Definitionen für alle seine Methoden angibt. Sie zeigt dies durch das Schlüsselwort implements an. Dabei erbt sie auch alle Konstanten des Interfaces. ■ class Kugel implements Körper { double radius; // etc. void verschiebe(double x, double y, double z) {...} void rotiere (double phi, double theta, double psi) {...} } ● Eine Klasse kann mehrere Schnittstellen implementieren. ▲ Mithilfe der Interfaces umgeht Java die Probleme der Mehrfachvererbung, die entstehen, wenn eine Klasse von zwei Basisklassen Methoden gleichen Namens erben soll.
98
2 Programmierung und Programmiersprachen
k) Klassenbibliotheken Wichtiger Bestandteil einer objektorientierten Sprache sind die mitgelieferten Klassenbibliotheken. Java bietet einen umfangreichen Satz für viele Anwendungsbereiche sowie einen Mechanismus zur Verwaltung und Identifizierung von Bibliotheken („packages“). Ein Paket (package) bezeichnet die Menge von zusammengehörenden Klassen- und Interface-Definitionen. ● Der Name eines Pakets setzt sich aus mehreren Komponenten zusammen, die durch Punkt getrennt werden. ■ java.lang, java.util.zip, javax.swing ▲ Der Java-Interpreter sucht die Klassen eines Pakets in Unterverzeichnissen, die der Namenshierarchie folgen. Ausgangspunkt der Suche sind die Verzeichnisse, die in einer Umgebungsvariablen CLASSPATH angegeben werden. ■ CLASSPATH=C:\Programme\Java\Pakete;D:\extern entsprechende Java-Klassen in C:\Programme\Java\Pakete\java\lang C:\Programme\Java\Pakete\java\util\zip D:\extern\javax\swing ● Auf Elemente in Paketen kann immer durch Angabe des kompletten Namens zugegriffen werden. Die import-Anweisung erlaubt, zusätzlich auch abgekürzte Namen zu benutzen. ▲ Man kann bei der import-Anweisung ein Paket, eine Klasse eines Pakets oder alle Klassen eines Pakets angeben. ■ Zugriff auf die statische Komponente blue der Klasse Color im Paket java.awt: import java.awt java.awt.Color java.awt.*
Zugriff auf blue java.awt.Color.blue awt.Color.blue Color.blue Color.blue
▲ Der * bezieht sich nur auf die Klassen des Pakets (im Beispiel java.awt), nicht auf mögliche Pakete in Unterverzeichnissen (etwa das Paket java.awt.event). ▲ Die Klassen des Pakets java.lang stehen automatisch direkt über den Klassennamen zur Verfügung. ● Alle Klassen eines Pakets haben Zugriff auf die nicht-privaten Komponenten und Methoden aller anderen Klassen des Pakets. ▲ Alle Felder, die keines der Attribute private, protected oder public tragen, stehen also genau innerhalb des Pakets zur Verfügung. ● Die Klassen einer Java-Quelldatei werden mit der package-Anweisung package PAKETNAME; einem Paket zugeordnet. Sie muss die erste Anweisung in einer Datei sein. ▲ Fehlt die package-Anweisung, gehören alle Klassen einer Datei zum unbenannten Standard-Paket. Dies ist für Tests und kleine Anwendungen völlig ausreichend. ▲ Die Standard-Java-Pakete sind in der Dokumentation des JDK, auf die man immer zurückgreifen sollte, ausführlich beschrieben.
2.2 Programmiersprachen
99
l) Grundlegende Klassen Die folgenden Klassen stellen Basisfunktionen zur Verfügung. Man findet sie im Paket java.lang, das immer automatisch importiert wird. String ist eine Klasse zur Darstellung von konstanten Zeichenketten. ▲ Zur Erinnerung: Strings sind durch zwei syntaktische Besonderheiten ausgezeichnet: • Bezeichnung von Strings mit Anführungszeichen " • Verketten von Strings mit + ● Die Basisklasse Object, von der alle Klassen abgeleitet werden, enthält eine Methode toString, um ein Objekt als String darzustellen. Dies ist für alle Standard-Klassen in sinnvoller Weise definiert. ▲ Die Methode toString wird implizit aufgerufen, wenn Strings mit anderen Objekten verkettet werden. Methoden von String int length() char charAt(int index) String substring(int begin, int end) int compareTo(String anotherString)
Bedeutung Anzahl der Zeichen im String Zeichen an der Position index Teilstring von begin bis end - 1 lexikalischer Vergleich
▲ Strings sind keine einfachen Felder von Zeichenketten. Die interne Darstellung eines Strings ist – natürlich! – verborgen. Insbesondere ist von einem besonderen Endezeichen \0 wie in C nichts zu sehen. ▲ Es gibt innerhalb der Klasse String keine Methode, einen String in eine Zahl umzuwandeln. Allerdings enthalten die „Wrapper“-Klassen Integer, Long, Float und Double, die jeweils eine Zahl in eine Klasse verpacken, dafür die Methode valueOf. ■ String str1 = "3.1415926"; String str2 = "Hanno" + "ver"; Double object_pi; double pi; object_pi = Double.valueOf(str1); pi = object_pi.doubleValue(); str1 = str2.substring(1,4) + 96; // implizites toString StringBuffer ist eine Klasse für veränderliche Strings. ● Ein StringBuffer enthält einen internen Pufferspeicher, der bei Bedarf automatisch wächst. ▲ Es ist aufwendig, neuen Speicher zu besorgen. Man sollte daher versuchen, einen StringBuffer gleich mit der benötigten Größe zu initialisieren. Methoden von StringBuffer StringBuffer(int length)
Bedeutung Konstruktor für einen StringBuffer mit Buffergröße length insert(int i, String str) fügt str an der Stelle i ein append(String str) hängt str an den StringBuffer an replace(int i1, int i2, String str) ersetzt die Zeichen von i1 bis i2 - 1 durch str delete(int i1, int i2) löscht Zeichen von i1 bis i2 -1 int length() Länge des StringBuffers ▲ Die Länge des StringBuffers ist die Zahl der Zeichen, nicht die Größe des internen Buffers.
100
2 Programmierung und Programmiersprachen
■ StringBuffer str = new StringBuffer(Altglas"); str.replace(1,4, "Jung"); // str wächst auf 8 Zeichen str.delete(4,5); // str wird wieder kürzer Math ist die Klasse, die die wichtigsten mathematischen Konstanten und Funktionen als statische Größen zusammenfasst. Felder von Math Math.PI, Math.E pow, exp, ln, sqrt cos, sin, tan, asin, . . . min, max floor, ceil, round random
Bedeutung π und e Potenz, Exponentialfunktion, Logarithmus, Wurzel trigonometrische Funktionen und Inverse Minimum, Maximum ganzzahlige Werte in der Nähe Zufallszahl zwischen 0.0 und 1.0
▲ Da Java-Programme auf allen Rechnertypen identische Ergebnisse liefern sollen, sind die mathematischen Funktionen durch Bezug auf bestimmte Algorithmen genau festgelegt. System ist eine Klasse mit einigen betriebssystemnahen Funktionen. Sie enthält ebenfalls die Pointer auf Standard-Ein- und Ausgabe. Felder von System System.in System.out, System.err long currentTimeMillis() String getProperty(String s) void exit(int)
Bedeutung Standard-Input als InputStream Standard-Output- und -Fehler-Kanal als PrintStream Zeit seit 1.1. 1970 in Millisekunden holt einige System-Informationen (CLASSPATH, Username,. . . ) beendet das laufende Programm
m) Ein- und Ausgabe Das Paket java.io stellt eine Vielzahl von Klassen zur Verfügung, um größtmögliche Flexibilität zu erreichen. Die Ein-/Ausgabe über Tastatur und Bildschirm sowie mit Dateien kommt aber mit einigen Standard-Klassen aus. Stream bezeichnet einen Strom von Daten, die nacheinander (seriell) von einer Quelle eintreffen (Input Stream) bzw. an einen Empfänger gesendet werden (Output Stream). ■ Streams können Verbindungen sein zu • Tastatur/Bildschirm • Datei • String (Daten im Speicher) • Netzwerk-Verbindung ▲ Das Stream-Konzept erlaubt, Daten auf einheitliche Weise von ganz verschiedenen Medien entgegenzunehmen bzw. weiterzuschicken. ● Es gibt zwei Sätze von abstrakten Basisklassen: Reader/Writer bearbeiten Streams von Zeichen, verwenden 16bit-Unicode für internationale Nutzung, für formatierte Daten.
2.2 Programmiersprachen
101
InputStream/OutputStream bearbeiten 8bit-Zeichen (Byte Streams), typisch für binäre Daten (Bilder, Sound). ● Konkrete Klassen speziell für Dateien: • FileReader/FileWriter, • FileInputStream/FileOutputStream Methoden von FileReader/FileWriter Bedeutung Konstruktor(String s) Erzeugen über einen Dateinamen, entspricht dem Öffnen der Datei int read(char[] buf) Einlesen von Zeichen gibt -1 zurück bei Dateiende void write(String s) Ausgeben eines Strings void write(char[] buf) Ausgeben eines Arrays von Zeichen void close() Schließen der Datei Filter Streams oder Processing Streams sind Klassen, die die Standard-I/O-Klassen um bestimmte Eigenschaften erweitern. ■ BufferedReader/BufferedWriter Daten werden gepuffert und immer in ganzen Blöcken zu/von der Datei übertragen. PrintWriter vereinfachte Ausgabe mit print und println, speziell für numerische Daten. DataInputStream einfaches Einlesen nicht-formatierter Daten mit readInt(), readDouble() etc. ▲ Die Verwendung der Klassen mit Pufferung führt bei der Verarbeitung von Dateien zu großen Geschwindigkeitsgewinnen. Um eine gelegentlich notwendige unmittelbare Ausgabe zu erzwingen (etwa für Fehlermeldungen), kann man mit der Methode flush() den Puffer sofort leeren. ▲ System.in ist ein InputStream, System.out und System.err sind PrintStreams. ■ Kopieren eines Files: try { BufferedReader in = new BufferedReader(new FileReader("juhu.in")); BufferedWriter out = new BufferedWriter(new FileWriter("juhu.out")); int c; // enthält gelesenes Zeichen oder -1 while ((c = in.read())!= -1){ out.write(c); } in.close(); out.close(); } catch(IOException e) { System.out.println("Fehler beim Kopieren:"); e.printStackTrace(System.out); }
102
2 Programmierung und Programmiersprachen
n) Collection-Klassen Eine Collection-Klasse ist eine Klasse, die Elemente zu einer Einheit zusammenfasst. ▲ Die Collection-Klassen sind im Paket java.util enthalten. ■ Wichtige Arten von Collection-Klassen: Menge ungeordnet, enthält kein Element doppelt Liste geordnet, Elemente möglicherweise mehrmals Hashliste Paare von Schlüsseln und Werten, Schlüssel eindeutig ▲ Hashlisten heißen auch Maps oder assoziative Arrays. ■ Die wichtigsten Interfaces und Klassen: Map
Collection
List
ArrayList
Set
LinkedList
HashSet
HashMap
Die wichtigsten Interfaces und Klassen ▲ Die wichtigsten Methoden einer Liste (List) oder Menge (Set) stammen schon aus dem grundlegenden Interface Collection: Methoden von Collection boolean add(Object) boolean remove(Object) boolean contains(Object) int size() boolean isEmpty()
Bedeutung fügt Object hinzu (in Set nur, falls es nicht schon drin ist) entfernt Object (falls es drin ist) prüft, ob Object enthalten ist Anzahl von Elementen prüft, ob überhaupt Elemente vorhanden sind
● Die Elemente der Collection-Klassen sind immer vom Basistyp Object. ▲ Dies erlaubt, Objekte beliebiger Klassen in einer Collection zu sammeln. Nachteil: Will man die Methoden eines Elements benutzen, muss man es mit einer expliziten Typumwandlung (Cast) wieder in seine alte Gestalt zurückverwandeln. ▲ Eine bessere Lösung bieten die Template-Klassen in C++: Sie enthalten den Typ der Elemente als Parameter. ● Collection-Klassen wachsen und schrumpfen bei Bedarf automatisch. ▲ Man sollte eine Collection-Klasse (außer bei der Erzeugung mit new) möglichst immer über das Interface ansprechen, nicht über die konkrete Klasse. Dies erlaubt, die konkrete Klasse (und damit die Implementierung) zu wechseln, falls es aus Performance-Gründen nötig ist. ■ LinkedList implementiert eine doppelt verkettete Liste, schnell beim Einfügen und Löschen von internen Elementen, spezielle Methoden zur Bearbeitung des ersten und letzten Elements. ArrayList Array mit variabler Größe, schneller Zugriff über Indexfunktion. ▲ Verwendet man die speziellen Funktionen der LinkedList nicht, kann man diejenige Listen-Klasse verwenden, die die bessere Performance bringt.
2.2 Programmiersprachen
103
Iterator ist ein Interface, das die Elemente einer Collection-Klasse nacheinander zur Verfügung stellt. Methoden von Iterator Bedeutung boolean hasNext() true, wenn es noch mehr Elemente gibt Object next() Zeiger auf das nächste Element ● Jede Collection kann mit der Methode iterator() einen Iterator erzeugen, der ihre Elemente durchläuft. ▲ Mithilfe des Iterators kann man durch komplexe Strukturen wie Mengen oder Listen so einfach durchlaufen wie durch ein Array: mit einer for-Schleife. import java.util.*; class CollectionTest { public static void main(String[] args) { Collection c = new HashSet(); Integer o; Iterator it; c.add(new c.add(new c.add(new c.add(new
Integer(3)); Integer(4)); Integer(6)); Integer(3)); // wird nicht eingefügt
int sum = 0; for (it = c.iterator(); it.hasNext(); ) { o = (Integer) it.next(); // cast ist nötig System.out.println(o); sum += o.intValue(); } System.out.println("Summe ist " + sum); } }
o) Einfache Grafik Alle modernen Betriebssysteme haben grafische Benutzer-Oberflächen, die auch zur Darstellung von Grafiken in Fenstern genutzt werden können. Java ermöglicht grafische Darstellungen in systemunabhängiger Weise auf allen Plattformen. Frame ist eine Klasse zur Darstellung eines Fensters mit Rahmen, Titelzeile und den üblichen Schaltflächen zum Verkleinern, Vergrößern und Schließen des Fensters. Methoden von Frame Frame(String name)
Bedeutung legt Fenster-Objekt an noch keine Darstellung auf dem Bildschirm name erscheint in der Titelzeile setVisible(boolean b) Fenster sichtbar bzw. unsichtbar machen paint(Graphics g) zeichnet den Inhalt des Fensters wird automatisch aufgerufen beim (Wieder-)Aufbau des Fensters getSize() Größe des Fensters in Pixeln liefert Dimension-Objekt (Höhe height, Breite width) setSize(int w, int h) Größe des Fensters setzen kann auch dynamisch vom Benutzer geschehen
104
2 Programmierung und Programmiersprachen
▲ Die paint-Methode liefert für Frame ein leeres Fenster mit Rahmen und Titelzeile. Man muss sie überschreiben, um eigene Grafiken zu erzeugen. Graphics ist eine Klasse, die die Zustandsinformationen und Methoden zum Zeichnen enthält. ■ Informationen in Graphics: Zeichenfarbe, Zeichenmethode (deckend, löschend-deckend), Font. Methoden von Graphics: fillPolygon, fillOval
▲ Koordinaten werden als Integergrößen in Pixeln angegeben. Der Koordinatenursprung liegt zunächst in der linken, oberen Ecke, kann aber mit translate verschoben werden. Die x-Achse zeigt nach rechts, die y-Achse nach unten. Event dient der Beschreibung eines Ereignisses, das an einem Objekt eingetreten ist. Insbesondere werden damit Aktionen gemeldet, die ein Benutzer einer grafischen Programmoberfläche an einer Komponente ausgelöst hat. Alle Events sind abgeleitet von der Klasse EventObject. spezielles Event WindowEvent MouseEvent TextEvent ActionEvent
Bedeutung Zustandsänderung eines Fensters (aktiviert, geschlossen) Mausklick oder Ziehen der Maus Änderung des Inhalt eines Textfensters Eine Komponente wurde „betätigt“ (Knopf gedrückt, Menüeintrag ausgewählt)
Listener ist ein Objekt, das ein Event empfängt und daraufhin eine Aktion durchführt. Für jeden Eventtyp gibt es einen zugehörigen Listenertyp. Außerdem stehen Klassen zur Verfügung, die leere Methoden für alle benötigten Aktionen enthalten, die so genannten Adapterklassen. ■ Die Klasse WindowAdapter enthält u. a. die (leeren) Methoden windowOpened(WindowEvent e) windowClosed(WindowEvent e) windowIconified(WindowEvent e) ▲ Jedes Programm, das Fenster benutzt, braucht zumindest einen Listener, um auf das Schließen eines Fensters zu reagieren. Dazu leitet man eine Klasse von WindowAdapter ab und implementiert die Methode windowClosing(). ● Jede Komponente einer grafischen Oberfläche hat Methoden, um Listener anzumelden, die auf seine Events reagieren sollen. ■ Die Klasse Frame hat z. B. Methoden addWindowListener und addMouseListener für Fensteraktionen und Mausbewegungen. ■ Das folgende Beispiel zeigt ein vollständiges Programm zur Anzeige des Graphen einer Funktion: import java.awt.*; import java.awt.event.*; class WindowCloser extends WindowAdapter { public void windowClosing(WindowEvent e) { System.exit(0); } }
2.2 Programmiersprachen
105
public class DrawGraph extends Frame { public DrawGraph(String name) { super(name); } public void paint(Graphics g) { double s, t; int ya, yb; // bestimme Größe der Zeichenfläche Dimension d = getSize(); int dx = d.width; int dy = d.height; // Skalierungsfaktoren von (t,s) zu (x,y) double sx = 10.0/dx; // 0 <= t <= 10 double sy = 2.0/dy; // -1 <= s <= 1 // Anfangswert ya = (int) Math.round((1.0 - myFunc(0))/sy); for (int x = 1; x <= dx; x++) { t = sx * x; s = myFunc(t); yb = (int) Math.round((1.0 - s)/sy); g.drawLine(x-1, ya, x, yb); ya = yb; } } double myFunc(double t) { return Math.cos(t)*Math.exp(-t/8.0) ; } public static void main(String[] args) { Frame frame = new DrawGraph("Graph"); WindowListener l = new WindowCloser(); frame.addWindowListener(l); frame.setSize(300, 300); frame.setVisible(true); } } ▲ Das Beispielprogramm kann einfach erweitert werden, um die Darstellung von Graphen in beliebigen Intervallen zu erlauben. ▲ Nachteil des obigen Programms: Die zu zeichnende Funktion ist fester Bestandteil der DrawGraphKlasse. Will man eine Klasse zur universellen Darstellung von Funktionen erzeugen, kann man dazu
106
2 Programmierung und Programmiersprachen
eine abstrakte Funktions-Klasse als Hilfsklasse für DrawGraph definieren, von der man eine Klasse mit der konkret zu zeichnenden Funktion ableitet. ▲ Eine grafische Benutzeroberfläche (GUI) ist typischerweise aufgebaut aus Fertigbausteinen wie Knöpfen, Auswahllisten oder Textfeldern. Java liefert eine große Sammlung von flexiblen Komponenten mit der Swing-Bibliothek (Paket javax.swing). Component (Komponente) ist eine abstrakte Klasse zur Beschreibung von Objekten, die eine grafische Darstellung haben und Benutzereingaben verarbeiten. GUI-Komponenten JButton JTextField JScrollBar JComboBox Canvas Container
Bedeutung beschrifteter Knopf Feld zur Textein- und ausgabe Schiebebalken Auswahlbox „Leinwand“ = Bereich für eigene Grafik Komponente, die andere Komponenten enthält
▲ Die Methoden paint, setSize, getSize und setVisible der Klasse Frame stammen aus Component und stehen daher in allen Komponenten zur Verfügung. ● Die Container-Klassen ordnen ihre Unter-Komponenten nach bestimmten Regeln an. Dazu benutzen sie einen LayoutManager, der mithilfe der Methode setLayout festgelegt wird. ■ Einfache Layout-Manager sind: LayoutManager-Typ Funktionsweise FlowLayout Komponenten beliebiger Größe hintereinander, bei Bedarf mehrere Zeilen GridLayout rechteckiges Gitter, dessen Zellen die Komponenten aufnehmen BorderLayout verteilt Komponenten auf ein Zentralgebiet und vier Ränder ■ In einem JPanel, der einfachsten Container-Klasse, soll ein Grafikbereich (Canvas) oben eine Überschrift und rechts einen Schaltknopf bekommen: JPanel p = new JPanel(); Canvas c = new Canvas(); JButton b = new JButton("Drück mich"); JLabel l = new JLabel("Dies ist kein Titel"); p.setLayout(new BorderLayout()); p.add("Center", c); p.add("East", b); p.add("North", l);
p) Applets Unter einem Applet wird ein kleines Programm verstanden, das innerhalb eines Browser-Fensters abläuft. ▲ Ein Applet wird in eine HTML-Seite eingebettet und vom Browser beim Anzeigen dieser Seite automatisch ausgeführt. ■ Einbinden des Applets GraphApplet in eine HTML-Seite: <TITLE> Mein kleines Applet Das folgende Fenster zeigt mein kleines Applet: <APPLET CODE="GraphApplet.class" WIDTH=400 HEIGHT=400>
2.2 Programmiersprachen
107
▲ Das Feld <APPLET> gibt an, welche Klasse geladen wird (CODE="GraphApplet.class") und wie groß der Ausgabebereich des Applets innerhalb des Browser-Fensters sein soll (WIDTH=400 HEIGHT=400). Zum Aufbau einer HTML-Seite vgl. Abschnitt1.6.2. ▲ Da Applets meistens direkt über das Internet geladen werden, müssen besondere Sicherheitsvorkehrungen getroffen werden, um bösartige oder versehentliche Beschädigungen des eigenen Systems zu verhindern. ● Einschränkungen für Applets: • kein Zugriff auf lokale Dateien • kein Start lokaler Programme • kein Zugriff auf andere Rechner im Netzwerk • Fenster außerhalb des Browser-Fensters nur mit Warnung ▲ Die Klasse Applet ist abgeleitet von Panel. Daher kann ein Applet wie alle Container-Klassen andere Komponenten einbinden (Methoden add, setLayout) und wie alle Componenten-Klassen auf Benutzer-Eingaben reagieren und zeichnen (Methoden addMouseListener etc., repaint). ■ Die folgenden Applet-Methoden werden bei Bedarf vom Browser aufgerufen: Methoden von Applet init start stop paint (von Container)
Bedeutung beim Laden in den Browser beim Anzeigen der HTML-Seite des Applets beim Anzeigen einer anderen Seite zum Darstellen des Applets
▲ Alle diese Methoden sind in der Klasse Applet schon sinnvoll vordefiniert. Allerdings muss man mindestens eine der Methoden init, start oder paint überladen, wenn das Applet überhaupt etwas tun soll. ▲ Die Programmierung eines Applets unterscheidet sich folgendermaßen von der eines normalen JavaProgramms: • keine main-Methode • Hauptklasse erbt von Applet statt von Frame • kein WindowListener für exit nötig • Setzen der Fenstergröße im HTML-File • Zusammensetzen der Komponenten in init statt im Konstruktor ▲ In der Swing-Bibliothek gibt es eine an die übrigen Komponenten angepasste Version des Applet, das JApplet. Im Unterschied zum normalen Applet verwaltet es seine Komponenten nicht direkt, sondern hat dafür ein so genanntes Content Pane, eine übergeordnete Zeichenfläche, die man mit getContentPane() erhält. ■ Das folgende Applet zeichnet wie das obige Beispiel den Graphen einer gedämpften Schwingung. Hier kann man darüber hinaus mit einem Schaltknopf die Frequenz der Schwingung erhöhen. import java.awt.*; import java.awt.event.*; import javax.swing.*; public class GraphApplet extends JApplet { private GraphCanvas c; // Zeichenfläche für den Graphen private ControlPanel p; // Panel für den Knopf public void init() { Container pane = getContentPane(); pane.setLayout(new BorderLayout());
108
2 Programmierung und Programmiersprachen // Zeichenfläche für den Graphen in der Mitte anordnen c = new GraphCanvas(); pane.add("Center", c); // ControlPanel mit dem Button kommt nach unten p = new ControlPanel(); pane.add("South", p); } class GraphCanvas extends Canvas { int frequency = 1; public void paint(Graphics g) { // s. vorheriges Beispielprogramm } double myFunc(double t) { return Math.cos(frequency*t)*Math.exp(-t/8.0) ; } public void increase() { frequency += 1; repaint(); } } class ControlPanel extends JPanel { JButton b; public ControlPanel() { b = new JButton("Schneller!"); b.addActionListener(new MyButtonListener()); add(b); } } class MyButtonListener implements ActionListener { public void actionPerformed(ActionEvent ev) { c.increase(); } }
} ▲ Einige Bemerkungen zum Programm: • Beim Drücken des Buttons im ControlPanel wird ein ActionEvent ausgelöst. Daraufhin ruft der ActionListener die Methode c.increase auf, die die Frequenz der dargestellten Funktion erhöht. • Die Klasse MyButtonListener hat als innere Klasse von GraphApplet direkten Zugriff auf den privaten GraphCanvas c und kann dessen Methode increase() aufrufen. • Das ControlPanel benutzt als Standard-LayoutManager das FlowLayout, das dem Schaltknopf seine durch die Aufschrift gegebene Größe belässt. Würde man den Button direkt in GraphApplet einfügen, bekäme er vom BorderLayout die Breite der Grafik.
2.2 Programmiersprachen
109
q) Threads Bei der Programmierung von grafischen Oberflächen muss man beachten, dass die Ausführung eines Kommandos nicht dazu führen darf, dass das Programm auf weitere Eingaben nicht mehr reagiert. Der Benutzer soll immer den Eindruck haben, dass jederzeit Eingaben möglich sind, die „sofort“ Reaktionen auslösen. Zur Umsetzung dieser Idee der „gleichzeitigen“ Ausführung verschiedener Programmteile (hier: GUI und ausgelöste Aktionen) dient das Konzept der Threads. Thread ist eine Folge von nacheinander ausgeführten Anweisungen innerhalb eines Programms. Ein Programm kann aus mehreren Threads bestehen, die aus der Sicht des Programmierers gleichzeitig ausgeführt werden. ▲ Bei einem Programm mit mehreren Threads wechselt die CPU normalerweise in schneller Folge zwischen den Threads hin und her, sodass der Eindruck von gleichzeitiger Abarbeitung entsteht. Auf einem Parallelrechner mit mehreren CPUs können Threads wirklich gleichzeitig ablaufen. Hier ist die Verwendung von Threads eine Methode, um die höhere Leistung des Parallelrechners mit einem Programm ausnutzen zu können. ▲ In Java ist Thread eine Klasse aus dem Standardpaket java.lang. Sie enthält u. a. die Methode start, die einen bereits initialisierten Thread zur Ausführung bringt und dessen run-Methode aufruft. ● Beim Start der virtuellen Java-Maschine wird automatisch ein Thread erzeugt, der die main-Methode der angegebenen Klasse ausführt. ● Ein Thread läuft solange, bis seine run-Methode beendet wird (direkt oder durch eine nicht abgefangene Ausnahme) oder bis System.exit aufgerufen wurde. ▲ Vorgehensweise zum Erzeugen von Threads: • Klasse erzeugen, die von Thread erbt und run überschreibt • innerhalb einer Methode (z. B. main): – Thread-Objekt erzeugen – Starten mit thread.start – Thread beginnt, führt thread.run aus – aufrufende Methode macht gleich weiter ■ class MyThread extends Thread { String name; int work; MyThread(String n, int w) { super(); name = n; work = 1000*w; } public void run() { for (int i=0; i<3; i++) { System.out.println(name + ": " + i); // arbeite double t = 0.0; for (int j=0; j<work; j++) { t = Math.cos(t); }
110
2 Programmierung und Programmiersprachen } System.out.println(name + ": ready"); }
} public class ThreadTest { public static void main(String[] args) { MyThread t1 = new MyThread("Thread1", 10); MyThread t2 = new MyThread("Thread2", 20); System.out.println("main: starting threads"); t1.start(); t2.start(); System.out.println("main: ready"); } } Dieses Programm kann bei jedem Lauf andere Ausgaben erzeugen, je nachdem, wie die Threads an die Reihe kamen, z. B: main: starting threads main: ready Thread1: 0 Thread1: 1 Thread2: 0 Thread1: 2 Thread2: 1 Thread1: ready Thread2: 2 Thread2: ready ▲ Es ist nicht festgelegt, nach welchem Verfahren Threads auf die CPU bzw. CPUs verteilt werden. Threads können aber über einige Methoden darauf Einfluss nehmen: Methoden von Thread Bedeutung static void sleep(long milli) Der aufrufende Thread wartet die angegebene Zeit (in Millisekunden), bevor er wieder ausgeführt wird. static void yield() Der aufrufende Thread pausiert kurz, um andere Threads an die Reihe kommen zu lassen. void join() Der aufrufende Thread wartet, bis der angegebene Thread (das this von join) beendet wurde. ▲ Dadurch, dass lauffähige Threads sich in unvorhersagbarer Weise bei der Ausführung abwechseln, können unerwartete Probleme auftauchen, wenn Threads gemeinsam an Objekten arbeiten. ■ Klasse Konto habe Methoden hole und setze, um den Kontenstand abzufragen und zu setzen. An zwei Bankautomaten, durch zwei Threads dargestellt, werden vom Konto k jeweils 100 Euro abgehoben: int konto1 = k.hole(); konto1 -= 100; k.setze(konto1);
2.2 Programmiersprachen
111
Bei einem Kontostand von 1 000 a kann dann Folgendes passieren: Thread1 Thread2 int konto1 = k.hole(); konto1 -= 100;
▲ Damit sich Threads untereinander synchronisieren können, gibt es in der Sprache selbst und in der Basisklasse Object geeignete Vorkehrungen: ● Methoden können mit dem Attribut synchronized gekennzeichnet werden. Für ein Objekt kann höchstens ein Thread auf einmal eine solche Methode ausführen. ▲ Versuchen mehrere Threads, synchronized-Methoden eines Objekts auszuführen, bekommt einer den Zuschlag; alle anderen warten jeweils, bis der nächste fertig wird. ▲ Jedes Objekt hat ein spezielles Feld, den Lock, das den Zugang von Threads kontrolliert. Alle Synchronisierungs-Mechanismen beruhen darauf, dass immer nur ein Thread auf einmal Zugriff auf diesen Lock haben kann. ▲ Um zu verhindern, dass die Threads ständig warten, muss der synchronisierte Bereich möglichst klein sein. Dazu kann man statt einer ganzen Methode auch nur einige Anweisungen vor gleichzeitigem Zugriff schützen. Synchronisations-Anweisung: synchronize(Ausdruck) Anweisung; Ausdruck muss ein gültiger Zeiger auf ein Objekt sein. Ein Thread versucht, den Lock dieses Objekts zu bekommen, und führt dann die Anweisung aus. ▲ Ein weiteres Synchronisationsverfahren besteht darin, dass ein Thread auf das Eintreten einer Bedingung wartet, bis ein anderer Thread signalisiert, dass diese eingetreten ist. ● Folgende Methoden zur Synchronisation von Threads sind in der Basisklasse Object definiert: Methoden von Object zur Bedeutung Synchronisation void wait() Der aufrufende Thread wartet, bis ein anderer Thread die notify- oder notifyAll-Methode des benutzten Objekts aufruft. void notify() Weckt einen der Threads auf, die die wait-Methode dieses Objekts aufgerufen haben. void notifyAll() Weckt alle Threads auf, die die wait-Methode dieses Objekts aufgerufen haben. Alle drei Methoden dürfen nur innerhalb von synchronisierten Bereichen (bzw. synchronisierten Methoden) aufgerufen werden. Mit dem Aufruf von wait() wird der Lock freigegeben. Ein geweckter Thread versucht als Erstes, den Lock wieder zu erlangen.
112
2 Programmierung und Programmiersprachen
▲ Ein geweckter Thread kann insbesondere erst dann weitermachen, wenn der Thread, der ihn geweckt hat, den Lock wieder freigibt, d. h. den synchronisierten Bereich verlässt. ■ Ein wichtiger Anwendungsfall für die Synchronisation mit wait/notify ist das Erzeuger-/VerbraucherProblem: Ein Thread (der Erzeuger) schreibt Zwischenergebnisse in einen Pufferspeicher, ein zweiter (der Verbraucher) liest sie daraus zur weiteren Verarbeitung. Der Erzeuger muss warten, wenn der Pufferspeicher voll ist, der Verbraucher, wenn er leer ist. ▲ Benötigen Threads mehrere Locks auf einmal, kann folgende Schwierigkeit auftreten: Thread 1 hat Lock1 und wartet auf Lock2, Thread2 hat Lock2 und wartet auf Lock1. Eine solche Situation nennt man Verklemmung (Deadlock). Sie zu vermeiden gehört zu den schwierigsten Problemen beim Programmieren mit Threads.
2.2.5
Einführung in Fortran
FORTRAN wurde schon in den fünfziger Jahren als eine der ersten Programmiersprachen zur Lösung naturwissenschaftlicher und technischer Probleme konzipiert. Sie wurde immer wieder an aktuelle Entwicklungen angepasst. Entsprechende Versionen wurden als internationale (ISO) und entsprechende nationale Normen (ANSI, DIN) festgelegt. Die zurzeit aktuelle Version heißt Fortran 95 und ist Grundlage der folgenden Beschreibung. ▲ Da sich beim Übergang von FORTRAN77 zu Fortran 90 große Änderungen ergeben haben, wird i. F. gelegentlich auf wichtige Unterschiede zu FORTRAN77 explizit hingewiesen.
a) Programmaufbau ● Fortran-Anweisungen stehen in Zeilen, die bis zu 132 Zeichen lang sein dürfen. Sie können verlängert werden, indem als letztes Zeichen ein & angefügt wird. Die nachfolgende Zeile ist dann eine Fortsetzungszeile. ● Kommentare werden mit ! eingeleitet. Sie erstrecken sich immer bis zum Ende der Zeile. ● Namen zur Bezeichnung etwa von Variablen oder Routinen bestehen aus 1 bis 31 Zeichen, wobei Buchstaben, Zahlen und das Symbol _ verwendet werden können. Das erste Zeichen muss ein Buchstabe sein. Es wird nicht zwischen Groß- und Kleinbuchstaben unterschieden. ▲ Ein Programm enthält genau ein Hauptprogramm, das mit einer Zeile program PROGRAMMNAME beginnen sollte. Danach können Unterprogramme (Subroutines, Functions) folgen, die auch in eigenen Dateien stehen dürfen. ● Ein Haupt- oder Unterprogramm beginnt mit Spezifikations-Anweisungen (z. B. Beschreibung eigener Datentypen, Deklaration von Variablen), denen ausführbare Anweisungen folgen. Es endet mit end. ▲ Optional kann man an jedes end noch anfügen, was es beendet, z. B. end program test end subroutine init Dies erhöht, vor allem bei stärkeren Verschachtelungen, die Lesbarkeit des Programms.
b) Datenstrukturen Einfache Datentypen dienen der Darstellung von ganzen, reellen oder komplexen Zahlen, Zeichen oder logischen Werten. ● Fortran stellt die folgenden einfachen Datentypen zur Verfügung: integer, real, complex, character, logical
2.2 Programmiersprachen
113
▲ Der Speicherbedarf und damit auch der Darstellungsbereich einer Größe eines solchen Typs sind maschinenabhängig. Für den Typ real gibt es mindestens zwei Varianten verschiedener Genauigkeit, meistens auch für die anderen Typen. Die benötigte Genauigkeit wählt man dann durch Angabe des kind-Parameters: real(kind=4), real(kind=8), integer(kind=2) Die Werte des kind-Parameters und ihre genaue Bedeutung sind vom Compiler abhängig. ▲ Mithilfe von vordefinierten (intrinsischen) Funktionen kann auf portable Weise eine bestimmte Genauigkeit ausgewählt werden, z. B. erhält man mit REAL8 = selected_real_kind(12) real(kind=REAL8) high_precision eine Variable mit mindestens 12 Dezimalstellen, analog zum Typ DOUBLE PRECISION in FORTRAN77. Konstanten wie REAL8 sollte man in einem Modul sammeln und konsequent einsetzen. ■ Konstanten der jeweiligen Datentypen: Datentyp integer integer(kind=2) real real(kind=REAL8) complex character logical
Im Zuge der Variablendeklaration werden die Variablen einem Typ zugewiesen. Konstante werden durch das zusätzliche Attribut parameter gekennzeichnet. ■ integer :: i, j, zwei real(kind=REAL8) :: a, b character :: in, out real(kind=REAL8), parameter:: pi = 3.1415926 ▲ Um die Kompatibilität zu älteren Fortran-Standards zu wahren, werden undeklarierten Variablen aufgrund ihres Anfangsbuchstabens Typen zugewiesen. Man schaltet diesen fehlerträchtigen Mechanismus aus und erzwingt eine explizite Deklaration aller Variablen, indem man Haupt- und Unterprogramme beginnt mit implicit none ▲ Werden Variablen eines der Typen integer, real oder complex Werte eines anderen solchen Typs zugewiesen, erfolgt eine automatische Typumwandlung, die u. U. mit Verlust von Genauigkeit (Abschneiden von Stellen) verbunden ist. ▲ Vermischen von Datentypen ist häufige Fehlerursache, etwa: integer:: n real :: x n = 42 x = n/100 ! x=0 ▲ Man sollte beabsichtigte Typumwandlungen in seinem Programm dokumentieren, indem man eine der expliziten Funktionen zur Umwandlung benutzt, z. B. im obigen Beispiel: x = real(n)/100.0 Fortran unterstützt die wichtigsten zusammengesetzten Datentypen, nämlich • Felder • Zeichenketten • Strukturen • Zeiger.
114
2 Programmierung und Programmiersprachen
Ein Feld (Array) bezeichnet einen Datentyp, der mehrere Elemente des gleichen Typs in ein- oder mehrdimensionaler Anordnung zusammenfasst. ● Der Zugriff auf die einzelnen Elemente erfolgt durch Index-Variable vom Typ integer. ■ Definition von Arrays: real, dimension(100) :: v integer, dimension(-5:5):: p real, dimension(10,10):: matrix Zugriff auf diese Arrays: v(1) = p(-5) matrix(7,9) = v(100) ▲ Wird bei der Definition kein unterer Indexwert angegeben, fängt der Indexbereich bei 1 an. ▲ Der Zugriff auf ein Array mit einem Index außerhalb des gültigen Bereichs ist einer der häufigsten Fehler. Oft haben Compiler Optionen, um solche Fehler beim Programmablauf festzustellen. ▲ Zweidimensionale Arrays werden als Folge von Spalten abgespeichert, d. h. nach a(1,1) kommt a(2,1). Dies kann zu Problemen führen bei der Verwendung von Bibliotheks-Routinen in anderen Programmiersprachen, die Arrays als Folge von Zeilen im Speicher erwarten (wie z. B. in C). ■ Arrays können auf verschiedene Weise initialisiert werden: integer, dimension(5) :: a = (/ 1, 2, 3, 4, 5 /) real, dimension(100) :: b = (/ (0.1*i, i=1,100) /) real, dimension(100,100):: c = 0.0 ▲ Ein Array kann als ganzes Objekt auftreten, z. B. bei Zuweisungen oder arithmetischen Operationen: a = b + c ! Addition kompletter Arrays ● Man kann aus Arrays Teile herausgreifen, indem man jeweils den Anfangs- und Endindex und die Sprungweite in der Form a(anfang:ende:sprungweite) angibt. ▲ Für einen fehlenden Anfangs- bzw. Endindex wird der kleinste bzw. größte Wert gesetzt. Wird die Sprungweite nicht angegeben, ist sie 1. real, dimension(-20:20):: v real, dimension(3, 4):: a v(2:10:3) == (/ v(2), v(5), v(8) /) v(:12:10) == (/ v(-20), v(-10), v(0), v(10) /) a(:, 3) == (/ a(1,3), a(2,3), a(3,3) /) ▲ Möchte man Operationen nur mit bestimmten Elementen eines Arrays ausführen, kann man die whereAnweisung verwenden. ■ real, dimension(100,100):: a where (a > 0.5) a = a - 0.5 elsewhere a = 2*a end where ● Kennt man die Größe eines Arrays erst zur Laufzeit des Programms, kann man es als allocatable vereinbaren und ihm später den benötigten Speicherplatz zuweisen. ■ real, allocatable, dimension(:,:):: a integer n, m read *, n, m allocate(a(n,m)) ▲ Neben modernen Datentypen sind dynamische Arrays eine der wichtigsten Neuerungen gegenüber FORTRAN 77. Man sollte sie konsequent einsetzen, um Arraygrößen an die Problemgröße anzupassen, anstatt „auf Vorrat“ riesige Matrizen anzulegen. Zeichenkette (String) ist eine character-Variable mit einem zusätzlichen ganzzahligen Parameter, der die Anzahl der Zeichen angibt.
2.2 Programmiersprachen
115
■ character(len=80):: zeile character(len=10):: wort = ’juhu’ ! der Rest enthält Leerzeichen ● Ähnlich wie bei Arrays können aus einem String Teilzeichenketten gebildet werden. ■ character(len=16):: zitat = ’Habe nun ach...’ zitat(4:8) ! ’e nun’ zitat(:4) ! ’Habe’ ▲ Strings sind keine Arrays. Insbesondere kann man nicht wie bei einem Array auf ein einzelnes Zeichen zugreifen: zitat(4) ! verboten zitat(4:4) ! = ’e’ Struktur (Record) ist ein Datentyp zur Zusammenfassung von Elementen verschiedener Typen zu einem Objekt. ■ Definition des Datentyps Person: type Person character(len=20):: name integer :: age real :: height end type Person Definition von Variablen des Typs Person: type(Person):: peter type(Person):: mr_president = Person(’Bill’, 53, 1.78) Zugriff auf die Komponenten: peter%age = peter%age + 1 Zeiger (Pointer) sind Größen, die auf andere Variablen verweisen. Sie haben neben dem Datentyp des Objekts, auf das sie zeigen, das Attribut pointer. ■ Definition von Pointern: integer, pointer:: int_pointer real(kind=long), dimension(:,:), pointer:: pa, pb ● Ziele von Pointern müssen mit dem target-Attribut gekennzeichnet werden: real, dimension(10, 10), target:: a}} ▲ Pointern können Ziele oder andere Pointer zugewiesen werden oder sie bekommen dynamische Speicher. ■ pa => a pa(5,5) = 314.59 ! ändert den Wert von a(5,5) allocate(pb(5, 7)) pb(2,3) = pa(3,2) deallocate(pb) ▲ Programmierfehler bei der Verwaltung von dynamischem Speicher führen oft zu seltsamen Effekten und sind schwer aufzuspüren. ■ Die Kombination von Strukturen und Zeigern erlaubt die Definition von dynamischen Datenstrukturen wie verketteten Listen oder Baumstrukturen. type List_Entry integer :: value type(List_Entry), pointer:: next end type List_Entry type(List_Entry), pointer :: first, current
116
2 Programmierung und Programmiersprachen
! Anfang und ein weiteres Element vorschalten allocate(first) first = List_Entry(17, null()) ! null() erst in Fortran 95 allocate(current) current = List_Entry(19, first) ! current%next => first first => current
c) Operatoren ■ Die folgende Tabelle enthält die wichtigsten Operatoren, nach ihrer Priorität fallend geordnet. Operatoren innerhalb der einzelnen Abschnitte besitzen gleiche Priorität. Symbole ** +, +, // ==, / = >, >=, <, <= .and. .or.
Bedeutung Potenzierung positives/negatives Vorzeichen Addition, Subtraktion Verkettung von Strings Gleichheit, Ungleichheit Vergleichsoperatoren logisches UND logisches ODER
▲ Operatoren können auch Arrays von gleicher Form verbinden, sie gelten dann für alle Elemente einzeln. ▲ Man kann die Definition der vorgegebenen Operatoren auch auf eigene Datentypen ausdehnen oder sogar eigene Operatoren definieren. Dies geschieht typischerweise in Modulen.
d) Kontrollstrukturen Eine Bedingte Anweisung knüpft die Ausführung von Anweisungen an Bedingungen: if (logischer Ausdruck) then Block 1 else Block 2 end if Die Kommandos von Block1 werden nur ausgeführt, wenn der logische Ausdruck den Wert .true. hat, sonst wird Block2 ausgeführt. ▲ Der else-Zweig kann entfallen. Eine Verzweigung ermöglicht die Auswahl unter einer Reihe von Optionen: select case (Auswahl-Ausdruck) case (Auswahl 1) Block 1 ... case (Auswahl n) Block n case default Block n+1 end select Der Auswahl-Ausdruck kann vom Typ integer oder character sein. Die einzelnen Auswahlmöglichkeiten sind komma-getrennte Listen von Werten, wobei wie bei Array-Indizes auch Intervalle in der Form
2.2 Programmiersprachen
117
wert1:wert2 möglich sind. Die einzelnen Auswahlen dürfen sich nicht überlappen. Der Zweig default erfasst alle nicht explizit abgefragten Fälle. ■ select case (ganze_zahl) case (:-1) vorzeichen = -1 case (0) vorzeichen = 0 case (1:) vorzeichen = 1 end select Eine Schleife wiederholt eine Folge von Anweisungen solange, bis eine Abbruchbedingung erfüllt ist: do Anweisungen1 if (Abbruch-Bedingung) then exit end if Anweisungen2 end do ▲ Die Sonderfälle der abweisenden bzw. nicht abweisenden Schleife erhält man, wenn man Anweisungen1 bzw. Anweisungen2 weglässt. ■ Suchen in einer verketteten Liste: current => first do if (current%value = 42) then exit end if current => current%next end do ▲ Dieses Beispiel versagt, wenn der Wert 42 in der Liste nicht vorkommt! Die Laufanweisung ist eine besondere Form der Schleife, bei der eine Indexvariable von einem Anfangszu einem Endwert herauf- oder heruntergezählt wird: do index = start, end, schritt block end do Der Block wird wiederholt durchlaufen, wobei die integer-Variable index zunächst den Wert start hat und für jeden Durchlauf um schritt erhöht wird. Die Schleife wird beendet, wenn index den Wert end überschreitet. Ist start > end, wird der Block gar nicht durchlaufen. ▲ Bei schritt < 0 gilt der letzte Absatz sinngemäß für die Rückwärtsschleife. ▲ Lässt man schritt weg, wird mit der Schrittweite 1 gerechnet. ■ Summe der ersten n ungeraden Zahlen: sum = 0 do i=1, n sum = sum + (2*i - 1) end do ▲ Einfache Schleifen lassen sich oft kürzer und übersichtlicher durch Array-Ausdrücke ersetzen.
118
2 Programmierung und Programmiersprachen
e) Programmeinheiten ● Ein Fortran-Programm besteht aus mehreren Programmeinheiten, darunter genau einem Hauptprogramm, Unterprogrammen und Modulen. ▲ Die verschiedenen Programmeinheiten können sich auf eine oder mehrere Dateien verteilen. ● Die erste Zeile einer Programmeinheit beschreibt ihren Typ und gibt ihr einen Namen. Alle Programmeinheiten enden mit der end-Anweisung, die noch den Typ und den Namen der Einheit enthalten kann. ■ program intervall ... end program intervall subroutine init ... end subroutine init module lists ... end module lists ● Die Ausführung des gesamten Programms endet, wenn eine stop-Anweisung ausgeführt wird. Die Ausführung eines Unterprogramms bzw. einer Funktion endet mit dem Ausführen der return-Anweisung, die Kontrolle geht dann an die aufrufende Programmeinheit zurück. ▲ Fortran unterscheidet bei Unterprogrammen zwischen subroutine und function. Eine subroutine gibt keinen Wert zurück und wird aufgerufen mit call sub-name(parameterliste) Eine function gibt direkt einen Wert zurück wie in a = func-name(parameterliste) ● Bei der Definition einer Funktion kann der Funktionsname wie eine Variable benutzt werden, die den zurückzugebenden Funktionswert enthält. Man kann aber auch einen anderen Namen für den Rückgabewert wählen. Dies ist insbesondere bei rekursiven Funktionen nötig. ■ recursive function factorial(n) result(res) implicit none integer:: n, res if (n == 1) then res = 1 else res = n*factorial(n-1) end if end function factorial ● Mit dem intent-Attribut kann man angeben, ob ein Parameter nur zur Eingabe bzw. nur zur Ausgabe oder zu beidem verwendet wird. ■ integer function foo(a, b, c) implicit none real, intent(in) :: a ! a darf nicht geaendert werden real, intent(inout):: b ! b wird gelesen und geschrieben real, intent(out) :: c ! c wird nicht gelesen
2.2 Programmiersprachen
119
▲ In Unterprogrammen, die Matrizen als Parameter haben, kann man die Dimensionen bei der Deklaration durch einen Doppelpunkt ersetzen, sie brauchen nicht explizit übergeben zu werden. Solche Arrays heißen assumed shape Arrays. ▲ Mithilfe der size-Routine kann man die Array-Dimensionen im Unterprogramm erhalten, falls man sie explizit benötigt. ■ real, dimension(100, 100):: y1 real, dimension(5, 5) :: y2 call juhu(y1) call juhu(y2)... subroutine juhu(a) real, dimension(:,:):: a integer n, m n = size(a, 1) m = size(a, 2) ▲ Verwendet man beim Aufruf einer Routine für einen Parameter einen anderen Typ als bei ihrer Deklaration, kann es zu schwer zu findenden Fehlern bei der Programmausführung kommen. Schon der Compiler kann solche Fehler finden, wenn man im aufrufenden Programm die Parameterdeklarationen des Unterprogramms in einem interface-Block angibt. In einigen Fällen (z. B. bei assumed shape Arrays) sind interface-Blöcke obligatorisch. ■ Ein Interface-Block wiederholt einfach die Deklarationen der Parameterliste: interface integer function foo(a, b, c) real, intent(in), dimension(:,:):: a real, intent(inout) :: b real, intent(out) :: c end function foo end interface ▲ Interface-Blöcke verdoppeln geschriebenen Code und können dadurch neue Fehler erzeugen. Man kann diese Arbeit dem Compiler überlassen, indem man alle Unterprogramme in ein oder mehrere Module verpackt. ▲ Ein Unterprogramm mit „assumed shape Arrays“ benötigt häufig lokale Matrizen, deren Dimensionen von der Größe der Eingangsmatrizen abhängen („workspace“). Solche Matrizen werden als automatische Arrays bezeichnet. Sie werden folgendermaßen deklariert: subroutine juhu(a) real, dimension(:) :: a real, dimension(2*size(a)):: w ! workspace Das Modul bezeichnet eine Programmeinheit zur Zusammenfassung von Typ- und UnterprogrammDefinitionen sowie globaler Daten: module meinmodul ... end module meinmodule ● Mit dem Kommando use module-name können alle Moduldaten einer anderen Programmeinheit zugänglich gemacht werden.
120
2 Programmierung und Programmiersprachen
▲ Module, die nur globale Daten enthalten, ersetzen die COMMON-Blöcke älterer Fortran-Versionen, und bieten zusätzlich garantierte Typsicherheit. ■ Häufig wird ein Modul eingesetzt, um KIND-Parameter zu definieren, die einfache Datentypen mit vorgegebener Genauigkeit bezeichnen: module kinds integer, parameter:: INT4 = selected_int_kind(9) integer, parameter:: REAL4 = selected_real_kind(5) integer, parameter:: REAL8 = selected_real_kind(12) end module kinds ... use kinds real(kind=REAL8):: a, b ▲ Mithilfe von Modulen kann man eigene Datentypen zusammen mit den Operationen auf ihnen zusammenfassen. Routinen, die nur innerhalb des Moduls verwendet werden sollen, können durch das private-Attribut nach außen unsichtbar gemacht werden. ■ module bruchrechnung type bruch integer:: zaehler, nenner end type bruch interface operator(*) module procedure ratmul end interface private kuerzen contains type(bruch) function ratmul(r1, r2) ! Produkt zweier Brüche implicit none type(bruch), intent(in):: r1, r2 ratmul%zaehler = r1%zaehler * r2%zaehler ratmul%nenner = r1%nenner * r2%nenner call kuerzen(ratmul) end function ratmul subroutine kuerzen(r) ... end subroutine kuerzen end module bruchrechnung program bruchtest use bruchrechnung type(bruch) :: a,b,c c = a * b end program bruchtest
2.2 Programmiersprachen
121
f) Ein- und Ausgabe ● Ein- und Ausgabe von Daten geschieht mithilfe der read- bzw. write-Anweisung, die folgende Form haben: read (unit, format) variable_1,... variable_n write (unit, format) variable_1,... variable_n unit ist ein Integerwert, der auf eine – vorher geöffnete – Datei verweist. format ist eine Zeichenkette, die die Formatierung der Daten beschreibt. ▲ Ersetzt man unit durch *, wird die Standard-Eingabe- bzw. Standard-Ausgabe-Einheit verwendet - in der Regel ist dies das Terminal. ▲ Ersetzt man format durch *, werden systemabhängige Standardwerte benutzt (listengesteuerte Ein-/Ausgabe). Bei der Eingabe werden dabei die gängigen Schreibweisen, z. B. von real-Werten, erkannt. ▲ Für den häufigen Fall der listengesteuerten Ein-/Ausgabe auf die Standard-Einheiten verwendet man besondere Kurzformen: print *, a, i, ’juhu’ read *, z1, z2 ■ Zur genauen Kontrolle des Formats gibt es eine Fülle von Formatbeschreibern, mit denen man Form und Länge der einzelnen Ein-/Ausgabefelder genau festlegen kann. Die wichtigsten zeigt das folgende Beispiel: a = ’juhu’ i = 42 f = 3.1415926 write (*, ’(A6, I5, F10.5, A1, E10.4)’) a, i, f, ’/’, f Ausgabe: juhu 42 3.14159/0.3142E+01 ▲ Zur einfachen Ausgabe von Arrays kann man implizite do-Schleifen verwenden: print *, (( a(i,j), i=1,10), j=1,10) ● Will man in eine Datei schreiben oder aus ihr lesen, muss man sie vorher mit der open-Anweisung öffnen. Wird sie nicht mehr gebraucht, wird sie mit der close-Anweisung geschlossen. ▲ Bei der Bearbeitung von Dateien muss man sich Gedanken über mögliche Fehler machen, etwa falsche Eingabedaten oder Probleme beim Schreiben. Dazu kann man der read- bzw. write-Anweisung den iostat-Parameter mitgeben, der positiv wird, wenn ein Fehler aufgetreten ist, negativ, wenn das Ende des Files erreicht wurde, und 0, wenn alles in Ordnung war. ■ open(1, ’Array.dat’) do i=1, 100 read(1, *, iostat=status) a(i) if (status /= 0) exit end do if (status > 0) write (*,*) ’Lesefehler!’ close(1)
g) Standard-Routinen ▲ Fortran enthält eine große Anzahl von Standard-Routinen, vor allem für die wichtigsten mathematischen Funktionen, für Array- und String-Operationen und zum Abfragen von Objekt-Eigenschaften. Die folgende Tabelle stellt einige wichtige Vertreter dieser Klassen vor.
122
2 Programmierung und Programmiersprachen Routine exp, log, sqrt sin, cos, tan, asin, sinh,. . . min, max, abs floor, ceiling random_number dot_product matmul transpose sum, product, maxval lgt index trim selected_real_kind size allocated
Bedeutung Exponentialfunktion, Logarithmus, Wurzel trigonometrische/hyperbolische Funktionen und Inverse Minimum, Maximum, Absolutbetrag nächst kleinere/größere ganze Zahl Zufallszahl zwischen 0.0 und 1.0 Skalarprodukt von Vektoren Matrixmultiplikation Transponierte einer Matrix Summe/Produkt/Maximum aller Matrixelemente lexikalischer Vergleich von Strings Teilstring in einem String finden führende Leerzeichen entfernen KIND-Parameter mit vorgegebener Genauigkeit Dimensionen eines Arrays Zustand eines allozierbaren Arrays
▲ Die mathematischen Funktionen können auch mit Array-Argumenten benutzt werden. Sie werden dann auf jedes Array-Element einzeln angewandt.
2.3
Problemlösungsumgebungen
Problemlösungsumgebungen (PLU) gestatten sowohl symbolische Lösungen mathematischer Probleme durch Umformungen nach mathematischen Regeln als auch numerische Berechnungen und Visualisierung der Ergebnisse. Numerische PLUs wie Matlab ermöglichen es, komplexe mathematische Verfahren durchzuführen und die Ergebnisse zu visualiseren, ohne eine Programmiersprache zu benutzen, obwohl i. Allg. eine eigene einfache Skriptsprache enthalten ist. Computeralgebrasysteme (CAS), d. h. symbolisch, algebraisch orientierte PLUs wie Maple oder Mathematica ermöglichen Formelmanipulation, die Umformung mathematischer Ausdrücke zwecks ihrer Vereinfachung, Lösung von Gleichungen, Differenziation einer Funktion, Berechnung unbestimmter Integrale, Lösung von Differenzialgleichungen, Bildung unendlicher Reihen usw. Die Lösung soll dabei, wenn möglich, in geschlossener Form angegeben werden. Möglichkeiten und Erleichterungen durch CAS sind vor allem gegeben durch analytisch (exakt) lösbare, aber „auf dem Papier“ mit großem Zeitaufwand und Fehleranfälligkeit verbundene Aufgaben. Vorteil gegenüber numerischen Algorithmen (z. B. in einer der Programmiersprachen C, C++, FORTRAN oder einer numerischen PLU verfasst): Rundungsfehler können vermieden werden. Die Lösung kann eine symbolische Formel sein. ▲ Natürlich können mit CAS auch numerische Berechnungen durchgeführt werden, die aber bei gleicher Genauigkeit i. Allg. langsamer durchgeführt werden als in numerischen PLUs. ▲ Maple und Mathematica besitzen ausgeprägte grafische Fähigkeiten, die weit über die 2D/3D-Darstellung gegebener oder berechneter Daten hinausgehen. Grenzen sind durch (zeit-)aufwendige Algorithmen und begrenzten Speicherplatz der Computer gegeben.
2.3 Problemlösungsumgebungen
123
▲ Ebenso wie Nachschlagewerke und Tabellen sind CAS oder numerische PLUs nicht hundertprozentig fehlerfrei! Mathematica ist ein CAS, welches von der Firma Wolfram Research Inc. entwickelt wurde. Maple ist ein CAS, welches an der Waterloo-Universität Ontario (Canada) entwickelt wurde und von der Firma Waterloo Maple Inc. vertrieben wird. Matlab ist eine numerische PLU, welche von der Firma The MathWorks Inc. entwickelt wurde. ▲ Neben den genannten und weiteren reinen CAS oder reinen numerischen PLUs gibt es auch Hybridsysteme. Hierzu zählt Mathcad, ein bei Ingenieurwissenschaftlern verbreitetes Programm, dass eine Rumpfversion (Kernel) von Maple enthält. Aber auch Matlab lässt sich durch eine Zusatztoolbox symbolisch (durch Maple) erweitern und für reine CAS gibt es numerische Erweiterungen, die die Berechnungen beschleunigen. ▲ Die Kernel von Maple, Mathematica und Matlab sind in der Programmiersprache C geschrieben, die durch Programme in den eigenen Skriptsprachen erweitert werden. Obwohl einige PLUs schon auf kleinen Computersystemen lauffähig sind, ist für einen sinnvollen Einsatz z. B. ein grafikfähiges PC-System mit mindestens einem 486er Prozessor, 32MB RAM und 50-200 MB Festplattenplatz notwendig. Alle Systeme sind für alle gängigen Betriebssysteme verfügbar.
2.3.1
Maple
Das CAS Maple ist für die meisten Betriebssysteme verfügbar. Es steht immer eine Kommando-Zeilen orientierte Eingabe (CLI,Command Line Interface) und alternativ eine grafische Oberfläche (GUI, Graphical User Interface) zur Verfügung, die auf allen Systemen fast identisch bedient werden. Im Folgenden beziehen wir uns auf Maple V Release 5.1. ▲ Maple lädt beim Starten nicht jede enthaltene Funktion oder Prozedur. Diese können in Paketen bei Bedarf (mit dem Kommando with oder readlib) hinzugeladen werden.
a) Strukturelemente Maples ● Die Darstellung der Ein–/Ausgabe erfolgt entsprechend der Benutzeroberfläche gemäß > Eingabe;
Ausgabe ● Jede Eingabe muss durch ein Semikolon (;) oder einen Doppelpunkt (:) abgeschlossen werden. Wird der Doppelpunkt benutzt, wird die Eingabe zwar abgearbeitet, aber nicht dargestellt. Eingaben enthalten gültige Maple-Ausdrücke (Expressions), die aus Namen (Symbolen), Funktionen, Prozeduren, Operatoren etc. bestehen, die wieder Namen zugewiesen werden können. Symbole (Namen) werden als Variable verwendet, denen Werte zugewiesen werden können. Sie können aus Buchstaben, Zahlen und dem Unterstrich (_) bestehen. Groß- und Kleinschreibung wird unterschieden. Ein Symbol darf nicht mit einer Zahl beginnen. Sollen Symbole Leerzeichen enthalten, so müssen die Symbole in „Linksapostrophe“ (Backquotes, ‘) eingeschlossen werden. Die Länge ist bei 32-Bit Systemen auf 524 271 und auf 64-Bit Systemen auf 34 359 738 335 Zeichen „beschränkt“. ● Der Unterstrich sollte in benutzerdefinierten Symbolen vermieden werden, da er für interne Symbole verwendet wird. Mittels einer Zuweisung kann Symbolen mit dem := Zeichen von rechts nach links ein Wert bzw. ein Ausdruck zugeordnet werden. ■ > Var1:=42:
124
2 Programmierung und Programmiersprachen
▲ Ob ein Symbol „NameXY“ von Maple schon definiert ist, lässt sich durch Aufruf der Hilfe für dieses Symbol ?NameXY feststellen. Ausdrücken wird ein Typ zugeordnet. Einige Basistypen sind: ‘+‘ ‘∗‘ ‘ˆ‘ ‘=‘ ‘<>‘ ‘<‘ ‘≤‘ ‘.‘ ‘and‘ ‘or‘ ‘not‘ exprseq float fraction function indexed integer list procedure series set string table uneval Der Typ eines Ausdrucks kann mit dem whattype-Kommando abgefragt werden, z. B.: ■ > whattype(25);
integer Strings sind Zeichenketten und werden ab Maple V Release 5 mit Anführungszeichen (Doubleqoutes, ") vereinbart. ■ > ’Eine erste Variable’:= „Hamburg ist eine schöne Stadt“
Eine erste Variable:=„Hamburg ist eine schöne Stadt“ Zahlenarten: integer ist eine ganze Zahl. Die Eingabe erfolgt durch nnnnn (beliebige Länge). fraction ist eine Bruchzahl, welche als Bruch zweier ganzer Zahlen: ppp/qqq dargestellt wird. float ist eine Gleitpunktzahl, welche als nnnn.mmmm oder in wissenschaftlicher Notation als n.mmm ∗ 10ˆ(pp) bzw n.mmmE pp dargestellt wird. Irrationale Zahlen ergeben sich durch Eingabe irrationaler Konstanten wie π (Pi) oder als Funktionswerte √ wie 2 (sqrt(2)). √ Komplexe Zahlen ergeben sich als Funktionswerte wie −1 (>sqrt(-1) oder √ durch direkte Eingabe in der Form >a+b*I, wobei a,b erlaubte Zahlen und I die Mapledarstellung für −1 ist. ▲ Maple macht keine Annahmen für den Benutzer, insbesondere keine, die die Genauigkeit der Ergebnisse beeinflussen. D. h. Brüche aus ganzen Zahlen werden höchstens zu Stammbrüchen gekürzt oder Wurzeln aus ganzen Zahlen werden symbolisch weiterverarbeitet z. B.: ■ > sqrt(2);
√ 2
> sqrt(2.); 1.414213562 Eine Zahlenkonversion: evalf(Zahl); wandelt rationale Zahlen oder zunächst symbolisch dargestellte Zahlen und Ergebnisse in Gleitpunktzahlen mit der in der Umgebungsvariablen Digits eingestellten Präzision um (Voreinstellung: Digits:=10). convert(Ausdruck, Form, Opt); wandelt allgemein Ausdrücke von einer Form (einem bestimmten Typ) in eine andere um, sofern dies sinnvoll ist. ■ > convert(‘FFA2‘,decimal,hex); 65442 Operatoren unterteilen sich in wichtige arithmetische +,-,*,/,ˆ sowie relationale Operatoren = , < , <= , > , >= , <>
2.3 Problemlösungsumgebungen
125
▲ Das Multiplikationszeichen ‘*‘ muss angegeben werden. Das ‘ ˆ ‘-Zeichen zur Exponentenbildung erscheint bei einigen Tastaturbelegungen erst nach der Eingabe des folgenden (Leer)-Zeichens. Teil-Ausdrücke können ersetzt werden: subs(x=Wert,q); ersetzt im Ausdruck q die Variable x durch einen Wert. ■ > q := xˆ4 − 2 ∗ xˆ2 − 1 : > subs(x=2,q); 7 ▲ Bei subs(p=q,expr) wird jedes Auftreten des Ausdrucks p in expr durch q ersetzt. Hierbei wird die interne Darstellung von expr verwendet. Die interne Darstellung kann mit op() geprüft werden: ■ > subs( a+b=y, (a+b+c)ˆ2 );
(a + b + c)ˆ2 > op(a+b+c)ˆ2; a + b + c,2 Abhilfe schafft die mächtigere Funktion algsubs() > algsubs(a+b=y, (a+b+c)ˆ2 ); (y + c)ˆ2 op(i,q); extrahiert den i-ten Term aus dem Ausdruck q. ■ > q:=xˆ4-2*xˆ2-1: > op(2,q); −2 ∗ xˆ2 Bereiche (Range) a..n stellen Folgen von Zahlen dar, die mit a beginnend jeweils um 1 inkrementiert werden bis höchstens n erreicht ist. Sie werden z. B. zur Definition von Folgen oder Darstellungsbereichen von Plots verwendet. Folgen (Sequence) bezeichnen die Aneinanderreihung von Ausdrücken (durch Kommata getrennt), bei der die Reihenfolge signifikant ist. > seq( f (i),i=1..n); erzeugt die Folge f (1), f (2), . . . , f (n). ▲ Vereinfachende Schreibweise: > f (i)$i=1..n; Mengen (Sets) entstehen durch Einschließung einer Folge in geschweifte Klammern. Alle Elemente kommen genau einmal vor und die Reihenfolge ist nicht festgelegt. ■ > M:={1,2,3,4,"Herta",4,3,2,1};
M := {4, 3, 1, 2,"Herta"} Listen entstehen durch Einschließung einer Folge f in eckige Klammern. ■ > l:=[i$i=1..6] l := [1,2,3,4,5,6] op(n,Liste); greift auf das n-te Element einer Liste zu. Alternativ kann dies auch mit Liste[n]; erreicht werden.
126
2 Programmierung und Programmiersprachen
Vektoren und Matrizen werden mithilfe der Strukturen table und array erzeugt. table(Indexfunktion, Liste) erzeugt eine tabellenartige Struktur, in der als Elemente der Liste Gleichungen enthalten sind. >op(T); liefert die Tabelle zurück. >indices(T); gibt die Indizes zurück. >entries(T); liefert eine Folge der Glieder. ■ > T1:=table([a,b,c]); T1:=table([ 1=a 2=b 3=c ]) > indices(T1); [1],[2],[3] > entries(T2); [a],[b],[c] ▲ Tabellen können auch mit nichtnumerischen Indizes genutzt werden: ■ > T2:=table([Name="Meier",Alter=42,Ort="Hamburg"]);
T2:= table([ Ort = "Hamburg" Alter = 42 Name = "Meier" ]) > T2[Name]; "Meier" array(Indexfunktion, Liste) erzeugt spezielle, eventuell mehrdimensionale Felder mit ganzzahligem Laufbereich für jede Dimension. ■ Das eindimensionale Feld > v:=array(1..n,[a(1),a(2),. . .,a(n)]); wird als Vektor, das zweidimensionale Feld > A:=array(1..m,1..n,[a(1,1),. . .,a(1,n)],. . .,[a(m,1), . . .,a(m,n)]]); wird als Matrix interpretiert. Im Paket linalg (laden mit with(linalg);) sind weitere spezielle Funktionen zur Erzeugung von Vektoren (vector())und Matrizen (matrix()) implementiert. Funktionen sind vordefiniert in großer Zahl enthalten und gehören zum Typ mathfunc. Einige der elementaren sind exp(x), cot(x), coth(x), arccot(x),
log(x), sec(x), sech(x), arcsinh(x),
ln(x), csc(x), csch(x), arccosh(x),
sin(x), sinh(x), arcsin(x), arctanh(x),
cos(x), cosh(x), arccos(x), arccoth(x).
tan(x), tanh(x), arctan(x),
2.3 Problemlösungsumgebungen
127
Spezielle nichtelementare Funktionen sind z. B. die Besselfunktionen BesselI(v,z), BesselK(v,z) und BesselJ(v,z), die Gammafunktion gamma(x), die Integralexponentialfunktion Ei(x) und die Fresnel’schen Funktionen. Weitere Funktionen wie die orthogonalen Polynome (laden mit with(orthopoly)) werden in speziellen Paketen bereitgestellt. ▲ ?inifcns liefert eine Auflistung aller verfügbaren vordefinierten Funktionen. Operatoren können als Namen von Funktionen (ohne Argument) sinnvoll eingestzt werden, um z. B. neue Operatoren zu bilden. ■ > f:=sin*cos*sqrt: > f(x);
√ sin(x) cos(x) (x)
▲ Als Typ operator werden nur die Funktionen erkannt, welche in ihrer Definition die option operator gesetzt haben. Dies ist nur bei Funktionen, die mit einem Pfeil (→, ->) definiert sind, automatisch der Fall. Selbstdefinierte Funktionen können (als Operatoren) durch > F:=x->Ausdruck; erzeugt werden. Durch Anhängen einer Variablen als Argument werden sie zur Funktion. Einsetzen eines Zahlenwertes > F(nn.mmmm); liefert den Funktionswert. ▲ Ausdrücke können mit dem Befehl unapply(Ausdruck, Variable) in Funktionen gewandelt werden: ■ Wir lösen die allgemeine quadratische Gleichung und ordnen beide Lösungen L zu:
> L:=solve(xˆ2+p*x+q,x); 1 1 1 2 1 2 L := − p + p − 4q, − p − p − 4q 2 2 2 2 Wir greifen die erste Lösung L[1] heraus und bilden die Funktion x1, die von den Variablen p,q abhängt: > x1:=unapply(L[1],p,q); 1 1 2 x1 := (p,q)− > − p + p − 4q 2 2 nun kann x1 für beliebige Werte von p und q angegeben werden, z. B.: > x1(1,1); 1 1√ − + −3 2 2 ▲ Ein häufiger Fehler ist der Versuch einer Funktion in der Form F(x):=Ausdruck zu vereinbaren. Hier wird aber nur dem Symbol bestehend aus der Zeichenkette F(x) der Ausdruck zugeordnet, z. B. sind F(u) oder F(1) nach wie vor undefiniert. Ein Operatorprodukt wendet einen ersten Operator auf einen zweiten an. Es wird mit dem Multiplikationssymbol für Operatoren @ erzeugt. ■ Sei F:=x->cos(2*x) und G:=x->xˆ2. Dann gilt > (G@F)(x); cos2 (2x) und
128
2 Programmierung und Programmiersprachen
> (F@G)(x); cos(2x2 ). Der Differenzialoperator D wirkt auf Funktionen in Operatorform. D[i](F) liefert die Ableitung nach der i-ten Variablen. Höhere Ableitungen kann man vereinfacht als (D@@n)(F) (die n-te Potenz des Operators) schreiben. ● Die Ableitung als Funktion lässt sich auch als D(F)(x)=diff(F(x),x) schreiben. map ist ein Funktionaloperator zur Anwendung eines Operators bzw. einer Funktion auf einen Ausdruck bzw. dessen Komponenten. ■ > map(f,[a,b,c,d]); f(a),f(b),f(c),f(d) Bibliotheksfunktionen können durch den Befehl readlib(Bibliothekspaket) oder dem Paketaufruf with(Paket) verfügbar gemacht werden. Eine Liste mit verfügbaren Paketen erhält man mit ?package. Einige der wichtigsten sind Statistik, 2D/3D-Grafik mit Animationen (bzgl. der Linearen Algebra – mit Vektoranalysis) und linalg, stats, plots,DEtools (bzgl. der gewöhnlichen Differenzialgleichungen). ▲ Einzelne Funktionen aus einem Paket können auch direkt genutzt werden, ohne das ganze Paket zu laden. Hierzu wird die Form paketname[funktion]. Informationen und Hilfe erhält man durch die Eingabe > ?Befehl; ▲ Im Hilfe-Menü des GUI steht auch eine Volltextsuche in der gesamten Hilfe-Dokumentation zur Verfügung.
b) Algebraische Ausdrücke Ausmultiplikation von Ausdrücken bezeichnet das Auflösen der Potenzen und Produkte in einem Polynom: > expand(p, q1 , q2 , . . .); löst die Potenzen und Produkte in einem algebraischen Ausdruck p ohne die (optionale) Auflösung der Unterausdrücke qi auf. Faktorzerlegung: > p1:=factor(p); zerlegt ein Polynom in irreduzible Faktoren bezüglich des Körpers der rationalen Zahlen. Operationen auf Polynomen: > gcd(p,q); und > lcm(p,q); bestimmen den größten gemeinsamen Teiler bzw. das kleinste gemeinsame Vielfache der Polynome. Partialbruchzerlegung: > convert(p/q,parfrac,x); zerlegt die Quotienten zweier Polynome über dem Körper der rationalen Zahlen.
2.3 Problemlösungsumgebungen
129
Weitere Manipulationen sind die Vereinfachung komplizierter Ausdrücke auch nichtpolynomialer Natur: > simplify(Ausdruck); oder die einfache Version der Vereinfachung mit normal z. B., um mehrere Brüche auf einen Hauptnenner zu bringen: ■ > normal((a+b)/(c+d)+(e+f)/(g+h)); ag + ah + bg + bh + ec + ed + f c + f d (c + d)(g + h) Ausgabewiederholungen werden durch Angabe eines %-Zeichens in einer neuen Zeile durchgeführt. Folgerichtig wird mit %% auf die vor- und mit %%% auf die vorvorletzte Ausgabe zurückgegriffen. ▲ Es ist wichtig zu beachten, dass die Eingaben in Maple immer in der zeitlichen Reihenfolge der Eingabe verarbeitet werden, unabhängig von ihrer Platzierung im Eingabefenster (im Gegensatz zu MathCad).
c) Gleichungen und Gleichungssysteme Gleichungen werden durch das Gleichheitszeichen (=) zwischen Ausdrücken vereinbart. Sie können Symbolen zugewiesen werden. ■ > g:=xˆ2+2*x-9=x-5 ▲ Auf die linke bzw. rechte Seite einer Gleichung G kann mit den Befehlen lhs(G) bzw. rhs(G) zugegriffen werden Lösungen von Gleichungen höchstens vierten Grades können allgemein symbolisch angegeben werden. • solve(Gleichung,x); löst eine Gleichung, die das Symbol x enthält, wenn möglich nach x. Die Angabe von x ist optional, wenn sonst in der Gleichung nur Zahlen vorkommen. Hat die Gleichung die Form Ausdruck=0 kann auf die Angabe der rechten Seite verzichtet werden. Sind die Koeffizienten einer Polynomgleichung Gleitpunktzahlen, so löst Maple die Gleichung numerisch. Bei Polynomgleichungen mit einem Grad > 3 wird die Lösung oft in der Form einer RootOf-Struktur angegeben. Die RootOf-Struktur kann in anderen Ausdrücken wie eine symbolische Lösung verwendet werden, wodurch die simultane Weiterverarbeitung aller Lösungen möglich ist. Ist eine explizite Lösung gewünscht, so wird sie mithilfe des Befehls allvalues erzeugt und ggf. mit evalf in Gleitpunktzahlen gewandelt. ■ > solve(x4+3*x-1); RootOf(_Z4 + 3 _Z - 1) > evalf(allvalues(%)); .6051024091+1.267126095I,.6051024091-1.267126095I, .3294085275, -1.539613346 • fsolve(Ausdruck); bietet eine numerische Lösung von Gleichungen beliebiger Art (z. B. transzendente), bei der (i. d. R.) eine reelle Wurzel gesucht wird. Optional kann ein Bereich für die Suche nach der Wurzel angegeben werden: ■ > fsolve(x+arccoth(x)-4=0,x,2..3.5); 3.724 783 628 Gleichungssysteme: > solve(Gleichungen,Unbekannte);
130
2 Programmierung und Programmiersprachen
löst Gleichungssysteme, wobei als erstes Argument alle Gleichungen in geschweiften Klammern, als zweites die Unbekannten anzugeben sind. ■ Das Gleichungssystem x1 + x2
=4
−x21 + x22 = 8 mit x1 = 1, x2 = 3 wird gelöst durch > solve({x1+x2=4,-x1ˆ2+x2ˆ2=8},{x1,x2}); {x2 = 3, x1 = 1} Weitere Löser stehen mit gsolve() (Gröbnerbasismethode für Polynomsysteme) und linsolve() (lineare Gleichungssysteme) zur Verfügung. Hilfreich sind auch die Kommandos isolate() (isoliert aus einem Ausdruck eine Variable), eliminate() (eliminiert Variablen aus einem Gleichungssystem) oder resultant() (bildet die Resultante zweier Polynome). ▲ Numerische Lösungen, speziell für nicht exakt lösbare Gleichungssysteme, erhält man durch das Kommando fsolve.
d) Lineare Algebra Lineare Gleichungssysteme: > with(linalg); bindet ein Paket mit vielen Funktionen zur linearen Algebra aber auch zur Vektoranalysis ein. ▲ Statt mit array werden Matrizen und Vektoren bei Verwendung von linalg durch matrix(m,n,[Elemente]) bzw. vector(n,[Komponenten]) erzeugt. > linsolve(A,c); löst das lineare Gleichungssystem A · x = c oder gibt die Sequenz Null zurück. > nullspace(A); findet eine Basis im Nullraum der Matrix A. Eigenwerte und Eigenvektoren: > eigenvalues(a) bestimmt die Eigenwerte der Matrix a > eigenvectors(a) bestimmt die Eigenvektoren der Matrix a
e) Differenzial- und Integralrechnung Differenziation: Ausdrücke werden mit dem Kommando diff(Ausdruck,x) nach x abgeleitet. Für Operatoren-Funktionen f wird D(f) verwendet, um die Ableitung von f darzustellen. ● Es gilt: D(f)(x)=diff(f(x),x) und D(f)=unapply(diff(f(x),x),x) > D[i](f); der Operator der Differenziation, erzeugt die Ableitung der (Operator-) Funktion nach der i-ten Variablen. Das Ergebnis ist wieder eine Funktion. ▲ D[i,j](f) ist äquivalent zu D[i](D[j](f)) und D[](f)=f.
2.3 Problemlösungsumgebungen
131
> diff(Ausdruck,x1,x2,. . .,xn); leitet den algebraischen Ausdruck partiell nach den Variablen x1, . . . , xn ab. ▲ Mehrfache Differenziation kann mit dem Folgenoperator $ dargestellt werden: ■ > diff(sin(x),x$5);
cos(x) äquivalent führt diff(sin(x),x,x,x,x,x)) zum gleichen Ergebnis. ▲ Zu diff gehört die „inerte“ Funktion Diff, die gleich verwendet, aber nicht ausgewertet wird. Die Auswertung wird mit value erzwungen. ■ > Diff(sin(x),x); ∂ sin(x) ∂x
> value(%); cos(x) Unbestimmte Integrale: > int(f,x); berechnet, wenn möglich, das unbestimmte Integral des Ausdrucks f. Die „inerte“ Form Int, die gleich verwendet, aber nicht ausgewertet wird. Dies kann zur Darstellung von Integralen oder für die numerische Integration benutzt werden. ■ > Int(sin(x),x):%=value(%);
sin(x) dx = − cos(x)
▲ Obwohl die Integrationsalgorithmen sehr leistungsfähig sind, wird nicht jede existierende Stammfunktion gefunden. Manchmal hilft eine andere Darstellung des Integranden. Bestimmte Integrale, Mehrfachintegrale: > int(f,x=a..b); liefert, wenn möglich, eine symbolische Lösung des bestimmten Integrals mit den Grenzen a und b. ▲ Für Mehrfachintegrale verwendet man int entsprechend oft verschachtelt. Eine Numerische Integration mit der Genauigkeit von n Ziffern wird durch Voranstellen des Befehls evalf erreicht: > evalf(int(f(x),x=a..b),n); Wenn verhindert werden soll, dass Maple versucht, eine symbolische Lösung zu finden, verwendet man die „inerte“ Form Int: > evalf(Int(f(x),x=a..b)); a, b numerische Werte. Diese Form gibt auch die Möglichkeit, ein anderes numerisches Integrationsverfahren zu wählen: ■ > evalf(Int(exp(-x2),x=-1000..1000,10,_NCrule)); 1.772453851 Das dritte Argument gibt die Genauigkeit, das letzte die interne Bezeichnung des Näherungsverfahrens an (hier: adaptive Newton-Cotes-Regel). Weitere Verfahren sind _CCquad (Clenshaw-Curtis ohne Singularitätenbehandlung) oder _Dexp (doppelt exponentielles Verfahren ohne Singularitätenbehandlung).
132
2 Programmierung und Programmiersprachen
Gewöhnliche Differenzialgleichungen (gDGL): Mit dem Release 5 ist die Lösungsmöglichkeit für gewöhnlichen Differenzialgleichungen stark erweitert worden. Hinweise über klassiche Lösungsmethoden findet man durch Anwendung des odeadvisors(gDGL,help) auf eine gegebene gDGL. Als Ausgabe erhält man den Typ der gDGL. Wird die Option help gesetzt, werden entsprechende Hilfe-Seiten gestartet. Der odeadvisor ist neben weiteren Hilfsfunktionen zur Bearbeitung von DGLs im Paket DEtools enthalten. Eine Differenzialgleichung wird durch eine Gleichung dargestellt, die Ableitungen unbekannter Funktionen enthalten. Systeme sind Mengen von Differezialgleichungen (in { }-Klammern). > dsolve(Dgl, y(x)); löst Differenzialgleichungen und Systeme symbolisch. Als letztes Argument ist eine Option erlaubt, einige sind: explicit laplace series numeric
liefert die Lösung, wenn möglich, in expliziter Form verwendet die Laplace-Transformation zur Lösung benutzt die Zerlegung in Potenzreihen zur Lösung liefert eine Prozedur zur Berechnung numerischer Lösungswerte
Die Lösung kann Konstante enthalten, die von Maple als _C1 ..._Cn ausgegeben werden. ■ > dgl:=diff(y(x),x)+y(x)-x: Zur Information den Ratgeber: > DEtools[odeadvisor](dgl); [_linear, class A] Die Lösung: > dsolve(dgl,y(x)); y(x) = x-1+exp(-x)_C1 ■ Lösung mit Anfangsbedingungen: > dsolve({diff(y(x),x)-exp(x)-y(x)ˆ2,y(0)=0},y(x),series); 1 1 7 31 5 y(x) = x + x2 + x3 + x4 + x + O(x6 ) 2 2 24 120 ▲ Auch bei der Option numeric enthält die Anweisung die Anfangsbedingungen. Zur Berechnung der Lösung wird die Runge-Kutta-Methode verwendet. Optional können andere Methoden zur numerischen Lösung von gewöhnlichen Differenzialgleichungen gewählt werden: > dsolve(Dgl,y(x),numeric,option); Das Schlüsselwort option kann hierbei folgende Werte annehmen: method=rkf45, method=dverk78, method=classical, method=gear, method=mgear, method=lsode, method=taylorseries
Weitere Tools zur Visualisierung von Richtungsfeldern etc. finden sich im Paket DEtools oder im Paket plots mit odeplot.
2.3 Problemlösungsumgebungen
2.3.2
133
Programmierung
Selbsterstellte Programmblöcke sind vom Benutzer aufgebaute Prozeduren unter Verwendung von Schleifen- und Kontrollkonstrukten und können den bestehenden Bibliotheken von Mathematica und Maple hinzugefügt werden. Mathematica: Do[Ausdruck, {i,i1,i2,di}] bewirkt die Auswertung des Ausdrucks, wobei i den Wertebereich von i1 (Default:1) bis i2 in Schritten von di (Default:1) durchläuft. While[test, Ausdruck] evaluiert den Ausdruck, solange test den Wert True besitzt. Module[{t1,t2,. . .},proced] bewirkt, dass die in der Liste eingeschlossenen Variablen oder Konstanten bezüglich ihrer Nutzung im Modul lokal, die ihnen zugewiesenen Werte außerhalb des Moduls, nicht bekannt sind. ■ In[1]:= sumq[n_]:= Module[{sum=1.},Do[sum=sum+N[Sqrt[i]],{i,2,n}];sum]; Der Aufruf sumq[30] liefert dann z. B. 112.083. ▲ Das letzte Beispiel lässt sich funktional folgendermaßen schreiben: sumq[n_]:=N[Apply[Plus,Table[Sqrt[i],{i,1,n}]],10] für eine Präzision von 10 Ziffern. sumq[30] liefert dann 112.0828452. Maple: Schleifen, werden mit for oder while erzeugt, denen ein Anweisungsteil der Form do Anweisungen od folgt: for i from n to m by di, oder for ind while bed Fallunterscheidungen, erfolgen über if bed then anw1 elif bedi then anwi fi . . . else anwn fi Prozeduranweisung, zur Gestaltung abgeschlossener Programme: >proc(args) > local . . . > options . . . > anw >end; ■ Eine Prozedur, die die Summe der Quadratwurzeln aus den ersten n natürlichen Zahlen bestimmt: >sumqw:=proc(n) > local s,i; > s[0]:=0; > for i to n > do s[i]:=s[i-1]+sqrt(i) od; > evalf(s[n]); >end; Die Prozedur kann jetzt mit einem Argument n aufgerufen werden: > sumqw(30); 112.0828452
134
2 Programmierung und Programmiersprachen
2.3.3
Kurvenanpassung und Interpolation mit Mathematica
Mithilfe der Kurvenanpassung werden ausgewählten Funktionen mittels der Methode der kleinsten Quadrate an einen Datensatz angenähert. Fit[{y1,y2 ,. . .},funct,x] mit der Datenliste yi , dem Wertebereich x und funct als der Liste der ausgewählten Funktionen, liefert eine Approximation. ■ Table[xˆ i,{i,0,n}] als Liste der Approximationsfunktionen führt die Anpassung an ein Polynom n-ten Grades durch. Mithilfe der Interpolation wird eine Näherungsfunktion für eine Folge von Datenpunkten bestimmt. Sie ist ähnlich aufgebaut wie eine reine Funktione und erzeugt InterpolatingFunction Objekte. Interpolation[{y1,y2 ,. . .}] erstellt eine Näherungsfunktion mit den Werten yi für xi = i. Interpolation[{{x1,y1 },{x2 ,y2 },. . .}] erstellt eine Näherungsfunktion für die Punktfolge (xi ,yi ).
2.3.4
Grafik
Grafikobjekte in Mathematica: Darstellung von grafischen Objekten auf der von Grafik-Primitiven wie Punkten (point), Linien (Line) und Polygonen (Polygon) bestimmter Dicke und Farbe: Punkt an der Position x,y Linienzug durch die angegebenen Punkte ausgefülltes Rechteck zwischen (xlu ,ylu ) (links unten) und (xro ,yro )(rechts oben) Polygon[{{x1,y1 },{x2 ,y2 },. . .}] ausgefülltes Polygon zwischen den angegebenen Eckpunkten Circle[{x,y},r,{α 1,α 2 }] Kreis(-bogen) mit Radius r, Mittelpunkt (x,y) (und Begrenzungswinkeln) Circle[{x,y},{a,b}] Ellipse mit den Halbachsen a und b Text[Text,{x,y}] auf den Punkt (x,y) zentrierter Text Point[{x,y}] Line[{{x1,y1 },{x2,y2 },. . .}] Rectangle[{xlu,ylu },{xro ,yro }]
▲ Mit Graphics[Liste] wird eine Grafik der aufgelisteten Objekte erstellt. Darstellung von Funktionen: Mathematica: Plotf[x],{x,xmin,xmax }] stellt die Funktion f (x) im Bereich zwischen x = xmin und x = xmax grafisch dar. Plot[{f1[x],f2[x],. . .},{x,xmin ,xmax }] erzeugt mehrere Funktionen gleichzeitig. ■ In[1]:=Plot[{BesselJ[0,z],BesselJ[2,z],BesselJ[4,z]},{z,0,10}] erzeugt eine Grafik der Besselfunktion Jn (z) für n = 0,2,4.
2.3 Problemlösungsumgebungen
135
Maple: >plot(funct, hb, vb, options); erzeugt eine zweidimensionale Grafik. funct kann folgende Bedeutungen besitzen: • Eine reelle Funktion f (x) (auch mehrere, in geschweiften Klammern eingeschlossen). • Der ator einer Funktion. • Die Parameterdarstellung einer reellen Funktion in der Form [u(t),v(t),t=a..b] mit (a, b) als Laufbereich. • Eine Liste von Zahlen, fortlaufend als (x, y)-Koordinaten von Punkten zu interpretieren. hb ist der Laufbereich in der Form x=a..b und vb ist der Darstellungsbereich der abhängigen Variablen (bei Polstellen unbedingt angeben!). ▲ Eine der Grenzen der x-Achse kann den Wert ±∞ erhalten. In diesem Fall wird die x-Achse als arctan dargestellt. ■ >plot({BesselJ(0,z),BesselJ(2,z),BesselJ(4,z)},z=0..10); erzeugt eine Grafik der Besselfunktion Jn (z) für n = 0,2,4. Parameterdarstellung: ■ Mathematica: ParametricPlot[{t Cos[t],t Sin[t]},{t,0,3Pi}] Maple: >plot([t*cos(t),t*sin(t),t=0..3*Pi]); erzeugen Darstellungen der archimedischen Spirale. 3-D-Grafik: Mathematica: Plot3D[f[x,y],{x,xa,xe },{y,ya ,ye }] stellt eine gekrümmte Fläche im dreidimensionalen Raum dar und verlangt die Angabe einer Funktion zweier Variablen f (x, y) und der Wertebereiche. ParametricPlot3D[{fx[t,u],fy[t,u],fz [t,u]},{t,ta,te },{u,ua,ue }] zeichnet eine parametrisch vorgegebene Oberfläche. ParametricPlot3D[{fx[t],fy [t],fz [t]},{t,ta,te }] zeichnet ein parametrisch vorgegebene Raumkurve. Maple: >plot3d( f unct,x=a..b,y=c..d); mit einer Funktion zweier unabhängiger Variablen funct zeichnet eine räumliche Fläche. >plot3d([u(s,t),v(s,t),w(s,t)],s=a..b,t=c..d); zeichnet eine parametrisch vorgegebene Oberfläche. >spacecurve([u(t),v(t),w(t)],t=a..b); steht im Bibliothekspaket plots zur Verfügung und zeichnet eine Raumkurve.
3
Entscheidung als Grundpfeiler betrieblichen Handelns
● Ein großer Teil des betrieblichen Handelns kann als das Fällen von Entscheidungen verstanden werden oder ist mit Entscheidungen verbunden. Versteht man unter Entscheidung nicht nur die strategischplanenden Entscheidungen der Unternehmensführung, sondern auch die operativen Entscheidungen nachgeordneter Stellen, dann können fast alle betriebswirtschaftlich relevanten Geschehnisse als Entscheidungen bzw. Ergebnisse von Entscheidungen interpretiert werden. ● Unter Entscheidung im Sinne der betriebswirtschaftlichen Entscheidungstheorie versteht man die Auswahl zwischen mindestens zwei Alternativen. Die Entscheidung wird hierbei aufgrund von Informationen über das betrachtete Problem getroffen. Um die relevanten Informationen und das Verfahren zu ihrer Aufbereitung auszuwählen, bedarf es der Analyse der gestellten Entscheidungsprobleme.
3.1
Einführung in das betriebswirtschaftliche Konzept von Entscheidungen
3.1.1
Das wirtschaftliche Handeln in einer Umwelt
● Wirtschaftliches Handeln ist der Einsatz von in eigener Verfügungsgewalt befindlichen Ressourcen (z. B. Mitarbeiterarbeitszeit, Finanzmittel) zur Erreichung von Zielen. Die entscheidungorientierte Betriebswirtschaftslehre zielt auf die Beschreibung und Gestaltung rationalen oder intendiert-rationalen Entscheidungsvorgehens. Sie sieht die Entscheidung als eine rationale Auswahlhandlung aus mindestens zwei zur Verfügung stehenden Alternativen. Hierzu werden die möglichen Handlungsalternativen hinsichtlich ihres Beitrags zur Erreichung der Ziele bewertet. ● Wirtschaftliches Handeln findet in einer Umwelt statt, deren Zustand und zukünftige Veränderung die Ergebnisse des eigenen Handelns beeinflussen. ▲ Die Beschreibung eines Umweltzustands ist oft mit Unschärfen belastet. ■ So werden Eigenschaften von Entscheidungsobjekten oft als „hoch“, „mittel“ oder „niedrig“ be-
zeichnet, ohne dass die exakte Trennlinie zwischen je zwei benachbarten Wertausprägungen spezifiziert werden kann. Die Theorie unscharfer Mengen (→Fuzzy Set Theory, →Fuzzy-Logik) eröffnet eine methodische Behandlung derartiger Probleme. Soweit es sich um die Einschätzung zukünftiger Veränderungen des Umweltzustandes handelt, kommt zu dem Phänomen der Unschärfe das der Unsicherheit hinzu, da sich der zukünftige Umweltzustand aus dem heutigen Umweltzustand dem eigenen wirtschaftlichen Handeln und dem Zusammenwirken einer Vielzahl von Einzelentscheidungen der anderen Wirtschaftssubjekte ergibt. ■ So ist i. d. R. nur mit einer gewissen Wahrscheinlichkeit die Anzahl der Aufträge im Monat Mai des nächsten Jahres vorhersagbar. Weitere Quellen von Unsicherheit: • Die Rahmenbedingungen, unter welchen alle Wirtschaftssubjekte zu arbeiten haben, da hierdurch die Problemstellungen der Entscheider verändert werden können.
3.1 Einführung in das betriebswirtschaftliche Konzept von Entscheidungen
137
▲ Die Wahrscheinlichkeitstheorie (siehe Kapitel 30) versucht, derartige Probleme einer wissenschaftlichen Fundierung zuzuführen. • Häufig sind die eigenen Handlungsmöglichkeiten bzgl. des Einsatzes verfügbarer Ressourcen sowie deren Einwirkung auf das eigene Zielsystem nur unscharf beschreibbar und/oder mit Unsicherheit behaftet. • Die geplanten Wirkungen des Ressourceneinsatzes bedürfen einer gewissen Zeit (Durchlaufzeit), um effektiv zu werden. • Auch das Zielsystem ist bisweilen unscharf formuliert und unterliegt Veränderungen im Zeitablauf. ■ Neben den formalen betriebswirtschaftlichen Zielen (z. B. Maximierung des Gewinns, Minimierung des Ressourceneinsatzes) sind in der Praxis bspw. persönliche Ziele von Entscheidungsträgern (z. B. Machtzuwachs, Einbettung einer Entscheidung in ein für Außenstehende nicht erkennbares übergreifendes Konzept) zu nennen.
3.1.2
Die Qualität einer Entscheidung
● Die Qualität einer Entscheidung lässt sich daran messen, ob ein wirtschaftliches Ziel, das mit einer Entscheidung verfolgt werden sollte (und dessen Erreichen auch von anderen Wirtschaftssubjekten und deren Handeln abhängig ist), tatsächlich realisiert wurde (ex-post-Betrachtung). ▲ Bei einer ex-post-Betrachtung des Ergebnisses von Entscheidungen kann jedoch aufgrund der
Änderung externer Einflussfaktoren eine ex-ante richtige Entscheidung im Lichte der ex-postAnalyse als falsch erscheinen.
3.1.3
Der Entscheidungsträger
● Als Entscheidungsträger wird eine Person bezeichnet, die über die Verwendung von Ressourcen zur Durchsetzung einer Handlungsalternative entscheidet. In Unternehmen oder anderen wirtschaftlichen Organisationen kommt es jedoch häufig vor, dass standardisierte Entscheidungen, also solche, die in Bezug auf eine gegebene Ausgangssituation immer zu einem vordefinierten Ergebnis kommen, von Maschinen (z. B. DV-Systemen) beantwortet werden. ● Der Mensch als Entscheidungsträger kann sich im Zuge der Entscheidungsvorbereitung darüber hinaus in geeigneter Weise einer maschinellen Unterstützung bedienen. Mensch und Maschine (DV-System) besitzen hierbei weitgehend komplementäre Leistungseigenschaften. ▲ Während die Maschine geeignet ist, gleichartige Prozesse in großer Häufigkeit exakt auszuführen, ist der Mensch geeignet, schnell auf unvorhergesehene Ereignisse zu reagieren und intuitiv und assoziativ zu arbeiten. Umgekehrt ist der Mensch weniger geeignet, repetitive Massenarbeiten exakt zu erledigen, und die Maschine ist (trotz aller Methodenfortschritte im Bereich der Künstlichen Intelligenz) oft noch nicht in der Lage, auf unvorhergesehene Ereignisse „vernünftig“ zu reagieren. Es gilt also, die Vorteile der Leistungseigenschaften von Mensch und Maschine – unter weitgehender Elimination der jeweiligen Nachteile – zu kombinieren. Man kann dies als ein symbiotisches System bezeichnen. ● Unter Entscheidungsarbeit wird die Arbeit zur Vorbereitung und Durchführung von Entscheidungen verstanden. ● In vielen Entscheidungssituationen in der Praxis kommt es vor, dass die Entscheidungsarbeit auf mehrere Menschen, die sich ihrerseits wieder Maschinen bedienen können, verteilt wird. ▲ Die Aufteilung von Entscheidungsarbeit, zum Beispiel in so genannte Abteilungen und das kooperierende Zusammenwirken von Entscheidungsträgern in Abteilungen ist Gegenstand der Organisationstheorie und -praxis.
138
3 Entscheidung als Grundpfeiler betrieblichen Handelns
3.1.4
Die Kosten einer Entscheidung
● Eine Entscheidung verursacht Kosten für den Einsatz von Ressourcen zur Entscheidungsfindung und Durchsetzung, um die gewünschten Ziele zu erreichen. Opportunitätskosten entsprechen dem entgangenen Gewinn bei einem möglichen alternativen Einsatz der zur Entscheidungsfindung und -durchsetzung verwendeten (verbrauchten) Ressourcen. ▲ Opportunitätskosten sind für den Wirtschaftswissenschaftler von besonderem Interesse. Es entsteht die Frage, ob der oder die Entscheidungsträger zusätzliche Kosten für eine weitere Informationsbeschaffung mit dem Ziel der Reduktion der Unschärfe oder der Unsicherheit in Kauf nehmen, um die Qualität der Entscheidung zu erhöhen und damit die Kosten im Zusammenhang mit der Nichterreichung der Ziele zu reduzieren. ▲ Die Informationsbeschaffung ist so lange sinnvoll, wie die Kosten der zusätzlichen Informationsbeschaffung niedriger sind als die Opportunitätskosten des Verfehlens der richtigen Entscheidung bzw. der Ziele. Unter Koordinationskosten versteht man die Kosten des Verfehlens eines (globalen) Ziels in der Situation einer auf mehrere Entscheidungsträger verteilten Entscheidungsarbeit. Sie betreffen die Koordination mehrerer unabhängig voneinander agierender Organisationseinheiten, die ohne (oder mit nicht ausreichender) Kenntnis der jeweiligen Ziele, Handlungsalternativen und Bewertungsfunktionen der anderen entscheiden. ● Die Informationswirtschaft verfolgt das Ziel, die Summe der Kosten, bestehend aus Informationsbeschaffungskosten und Kosten von Fehlentscheidungen, zu minimieren. ▲ Die Fortschritte in der DV- und Netz-Technik ermöglichen die Reduktion der Informationskosten und damit auch die Kosten durch Fehlentscheidungen.
3.1.5
Der Entscheidungsprozess als Produktionsprozess
▲ Information ist Input (Faktor) für eine Entscheidung. ▲ Das Ergebnis des Entscheidungsprozesses (Produkt) ist eine Handlung, nämlich die Verwendung von verfügbaren Ressourcen.
Entscheidungsprozess
„Produktionsprozess“ einer Entscheidung
3.2 Klassifizierung von Entscheidungsprozessen und Entscheidungen
3.2
139
Klassifizierung von Entscheidungsprozessen und Entscheidungen
Zur Vorbereitung einer Systematisierung der Entscheidungsunterstützung und zur Beurteilung des Einsatzpotenzials von DV-Technik ist zunächst eine geeignete Klassifizierung von Entscheidungen als Ergebnis eines Entscheidungsprozesses oder der Entscheidungsprozesse selbst vorzunehmen. ▲ Die Klassifikation eines Entscheidungsproblems eröffnet Hilfestellung für die anschließende Auswahl eines adäquaten Verfahrens zur Entscheidungsunterstützung.
3.2.1
Klassifikationsansätze für Entscheidungsprozesse
a) Programmierbare und nicht programmierbare Entscheidungsprozesse ● Wichtig ist die erwartete Anzahl der Wiederholnutzungen eines einmal definierten (programmierten) Verfahrens. Programmierbare Entscheidungsprozesse sind Prozesse, die durch eine in gleicher Art sich wiederholende Problemstellung sowie durch eine schematisch-formale, routinemäßige Lösung (Anwendung einer Lösungsprozedur mit veränderten Parametern) gekennzeichnet sind. ▲ Das Kriterium der schematisch-formalen Programmierung geht i. d. R. mit einer hohen Anzahl derartiger Entscheidungen pro Zeiteinheit einher. Damit eignen sich derartige Prozesse grundsätzlich für eine automatische Abarbeitung. ■ Automatische Auslösung einer Nachbestellung nach dem Bestellpunktverfahren Die Erarbeitung eines derartigen stabilen und generellen Lösungsverfahrens ist Ziel einer so genannten Systemanalyse und Systemgestaltung im Rahmen eines Meta-Entscheidungsproblems. Falls diese generellen Regelungen mit begrenzten (Projekt-) Kosten zu identifizieren sind, ohne dabei auf überhöhte oder nicht beherrschbare Koordinationskosten zu stoßen, wird man versuchen, durch den Einsatz der DV die Kosten der Durchführung einer (großen) Menge der anstehenden Entscheidungen zu senken. Als nicht programmierbare Entscheidungsprozesse bezeichnet man Prozesse, die z. B. bei Erstmaligkeit bzw. Einmaligkeit der Problemstellung durch die Notwendigkeit der Neugenerierung eines Lösungswegs („Erfindung“ einer „neuen“ Lösung) gekennzeichnet sind. ▲ In der betrieblichen Realität sind in aller Regel Mischformen, bestehend aus programmierbaren und nicht programmierbaren Teilen eines Entscheidungsprozesses, zu finden. Im Hinblick auf die Art und den Umfang der DV-Unterstützbarkeit kommt es auf die Anteile der jeweiligen Prozesskomponenten an. ▲ Falls in einem Entscheidungsprozess substanzielle nicht programmierbare Teile vorkommen, können nur programmierbare (Teil-)Entscheidungsprozesse von der DV übernommen (dem Menschen abgenommen) werden. Dies bedeutet wiederum, dass bei nicht programmierbaren (Teil-)Entscheidungsprozessen dem Menschen als Anwender z. B. Angaben zur Steuerung des Entscheidungsprozesses abverlangt werden, die nicht in der DV programmiert vorliegen. Hier kann die DV die Entscheidungsarbeit nicht übernehmen, sondern nur unterstützen. ● Falls erstmalig unvorhergesehene Ausnahmesituationen und ihre Lösungen dann zum Zwecke der möglichen Wiederverwendung systematisch analysiert werden und es gelingt, stabile Systeme der Behandlung derartiger Fälle zu gestalten, so ändert sich der Charakter dieses Teils des Entscheidungsprozesses in einen programmierbaren Entscheidungsprozess. ▲ Die Organisation kann den Prozess der Überführung einer einmaligen Problemstellung respektive eines einmaligen Lösungsverfahrens in eine generelle Regelung durch Modellierungskonzepte, -verfahren und -werkzeuge unterstützen.
140
3 Entscheidung als Grundpfeiler betrieblichen Handelns
b) Vollstrukturierte, teilstrukturierte und unstrukturierte Entscheidungsprozesse ● Entscheidungsprozesse können nach dem Grad der Strukturiertheit differenziert werden, mit gewissen Überschneidungen bzgl. des Grades der Programmierbarkeit. ▲ Die einzelnen Teile (Phasen) des gesamten Problemlösungsprozesses umfassen bspw. die Problemerkenntnis, die Generierung der Handlungsalternativen, die Spezifikation ihrer Auswirkungen und der Umweltzustände sowie die Auswahl der optimalen Handlungsalternative. • Wird von vollstrukturierten Entscheidungsprozessen gesprochen, so versteht man darunter, dass in allen Phasen eines Entscheidungsprozesses eine vollständige Regelung des Problemlösungsvorgehens vorliegt, die dem Einzelnen faktisch keinen Freiheitsgrad der Ausgestaltung des Problemlösungsprozesses lässt. ■ Eine in das Unternehmen gelangte Lieferantenrechnung ist nach einem in der Standardsoftware
(z. B. SAP) definierten Verfahren zu verbuchen. ● Eine vollständige Regelung des Vorgehens liegt vor, wenn Art, Umfang und Reihenfolge der
Verknüpfungen von vorliegenden oder programmiert beschaffbaren Daten fixiert sind. Dieser Fall entspricht der vorgenannten Programmierbarkeit. • Bei teilstrukturierten Entscheidungsprozessen ist in mindestens einer Phase die Vollständigkeit des Regulariums nicht gegeben. ■ Teilautomatische Bestelldisposition mit Eingaben seitens einer/eines Disponentin/Disponenten
• Unstrukturierte Entscheidungsprozesse liegen dann vor, wenn keine Regeln vorliegen.
c) Schematisch-formal ablaufende Entscheidungsprozesse und konzeptionelle Entscheidungsprozesse ● Nach der Art der für die Durchführung des Entscheidungsprozesses notwendigen Ausbildung des Entscheidungsträgers kann man unterscheiden: • Schematisch-formal ablaufende Entscheidungsprozesse sind das Ergebnis einer vorherigen vollständigen Systemanalyse und Systemgestaltung mit dem Ziel, eine von äußeren Umständen und dem einzelnen Entscheidungsträger unabhängige, einfache, exakte sowie leicht und schnell intersubjektiv nachprüfbare Ausführung zu erreichen. ● Ziel ist, nach einer kurzen Anlern- und Einarbeitungszeit des Entscheidungsträgers eine gegebe-
ne Mindesteffizienz zu erreichen. ▲ Schematisch-formal ablaufende Entscheidungsprozesse bergen ein hohes systematisches Un-
terstützungspotenzial, sie sind weitgehend programmierbar. • Konzeptionelle Entscheidungsprozesse zielen hingegen auf die „Erfindung“ „neuer“ Problemlösungen für bislang unbekannte Problemstellungen auf der Basis einer nach einer Grundausbildung erfolgten zusätzlichen konzeptionellen Ausbildung ab. ● Ziel ist die Effektivität des Handelns zu erhöhen, deren Auswirkungen erst mit einem Zeitver-
zug überprüfbar sind und von zukünftigen Umweltzuständen abhängen. ▲ Konzeptionelle Entscheidungsprozesse besitzen nur ein begrenztes systematisches Unterstüt-
zungspotenzial, z. B. durch Einsatz allgemeiner Systembeschreibungssprachen oder (soweit sachlich ausreichend spezifizierbar) Systemsimulationsverfahren.
d) Einpersonenentscheidungsprozesse und Gruppenentscheidungsprozesse ● Nach der Anzahl der an einem Entscheidungsprozess Beteiligten unterscheidet man Einpersonenentscheidungsprozesse und Gruppenentscheidungsprozesse.
3.2 Klassifizierung von Entscheidungsprozessen und Entscheidungen
141
Die systematische Unterstützung von Einpersonenentscheidungsprozessen basiert auf den individuellen Bedürfnissen dieser Person, die bspw. im Rahmen einer Systemanalyse erhoben werden. Soweit es sich hierbei um schematisch-formal durchzuführende Entscheidungen handelt, für die die Personenunabhängigkeit des Entscheidungsprozesses erreicht werden soll, zielt man auf gleichartige Einzelpersonenunterstützungen für verschiedene für den betreffenden Arbeitsbereich vorgesehene Mitarbeiter. ▲ Die präskriptive Theorie der Individualentscheidung eröffnet Unterstützungsmöglichkeiten für Einpersonenentscheidungen. Bei Gruppenentscheidungsprozessen sind mehrere Personen mit gleichartigen oder unterschiedlichen Teilaufgaben am Lösungsprozess beteiligt. Von Gruppenentscheidungsprozessen spricht man, wenn Entscheidungen von einer Gruppe erarbeitet werden, die die Entscheidung selbst zu verantworten hat, aber auch bei Entscheidungsprozessen, für die mehrere Personen Zuarbeit leisten. Primäres Ziel einer systematischen Unterstützung ist die gegenseitige Information und Abstimmung der Teilaufgaben und -ergebnisse. ● Die Organisationstheorie kennt zwei grundsätzliche Mechanismen der Abstimmung mehrerer Entscheidungs(teil)träger: • Die Abstimmung über Hierarchie (Delegation und Kontrolle) bedeutet, dass ein Vorgesetzter das Recht wahrnimmt, einem Untergebenen eine Aufgabe zu übertragen und der Untergebene diese Aufgabe erfüllt. Dabei wird der Vorgesetzte, soweit möglich und von ihm als sinnvoll erachtet, parallel zur Aufgabenstellung seine Zielsetzung, eine Beschreibung von Handlungsmöglichkeiten (und insbesondere -grenzen) und die Art der Rückmeldung der Arbeitsergebnisse des Untergebenen spezifizieren, um die Arbeit des Untergebenen geeignet zu steuern. ■ Zuweisung von Arbeitspaketen eines Projekts an einzelne Projektmitarbeiter
• Die Abstimmung über den Markt bedeutet demgegenüber, dass zwei gleichberechtigte Verhandlungspartner einen Vertrag über den Austausch von Leistung und Gegenleistung aushandeln, wobei jedem der Beteiligten freisteht, die Verhandlungen zu verlassen. • Workflow Managment Systems (WMS) unterstützen den Belegfluss durch eine Menge von Bearbeitungsstationen (z. B. Abteilungen). ■ Prozess zur Erstattung von Reisekosten einer Dienstreise
Die Wirtschaftsinformatik bietet unter dem Stichwort Computer Supported Cooperative Work (CSCW) zwei vornehmliche Unterstützungsformen für Gruppenentscheidungsprozesse. • Computer Aided Team (CATeam) ist ein Konzept zur DV-gestützten Diskussion unstrukturierter konzeptioneller Entscheidungsprozesse in einer Arbeitsgruppe. ■ In einem CATeam-Raum erarbeiten 10 Entscheidungsträger an PCs unter Steuerung eines Mo-
derators eine neue Verkaufsstrategie, indem zunächst Argumente gesammelt werden, auf einer gemeinsamen Anzeigetafel alle Argumente allen sichtbar gemacht und von diesen kommentiert werden, Zusammenfassungen der Argumente zu Themenbereichen erfolgen und gemeinsam neue Wege gesucht, diskutiert und verabschiedet werden. ▲ Durch die Anonymität bei der textualen Eingabe der Argumente werden erfahrungsgemäß mehr Argumente in einer Arbeitsgruppe eingebracht, die Qualität der Lösung damit potenziell besser.
3.2.2
Klassifikationsansätze für Entscheidungen (als Ergebnisse von Entscheidungsprozessen)
Nach den Klassifikationen des Entscheidungsprozesses sollen nun die Entscheidungen selbst (als Ergebnisse eines Entscheidungsprozesses) betrachtet werden.
142
3 Entscheidung als Grundpfeiler betrieblichen Handelns
a) Einstufige und mehrstufige Entscheidungen ● Entsprechend dem Ausmaß der Zerlegung einer (Global-)Entscheidung in Teilentscheidungen und deren zeitlichen Aufeinanderfolge unterscheidet man zwischen ein- und mehrstufigen Entscheidungen. Eine einstufige Entscheidung ist in der Praxis häufig daran geknüpft, dass es sich um eine strukturell einfache, repetitive Entscheidung mit hoher Wiederholrate handelt, die im Rahmen eines stabilen vorprogrammierten Gesamtsystems erfolgt. Mehrstufige Entscheidungen sind eher bei komplexen Entscheidungen anzutreffen. Lässt sich die Entscheidung in eine Folge von einstufigen Entscheidungen zerlegen (mehrstufige Einzelfallentscheidung), kann sie im Rahmen eines aus mehreren Unterprogrammen bestehenden Anwendungssystems oder einer festgefügten Kette einzelner Anwendungssysteme automatisch behandelt werden. ■ Ein Beispiel einer mehrstufigen Einzelfallentscheidung ist die Festlegung einer Informationssystemstrategie eines Unternehmens, die in aufeinander folgenden Teilentscheidungen umgesetzt und auch rollierend fortgeschrieben wird. Flexible Planung bedeutet, dass bei mehrstufigen Entscheidungen die ersten (Teil-)Entscheidungen so getroffen werden, dass eine ausreichend flexible Basis (ein ausreichender Vorbereitungsgrad) für die später folgenden (Teil-)Entscheidungen gelegt wird, die im Rahmen einer dann genauer bekannten Umweltsituation sehr unterschiedliche Ausprägungen annehmen können. ● Mehrstufige Einzelfallentscheidungen können durch Workflow Managment Systems (WMS) unterstützt werden. Darüber hinaus können Verfahren zur Analyse von Problemstellungen und (soweit sachlich ausreichend spezifiziert) zur Beschreibung und Simulation individuell gestalteter Lösungen angeboten werden. ▲ Durch den Einsatz spezieller DV-Werkzeuge kann ein schnelles Prototyping erfolgen (rapid prototyping). ● Die Gestaltung der sachlichen Lösung eines Einzelfalls (d. h. die konkrete Gestaltung, wie welche Daten verknüpft werden und in welcher Reihenfolge verschiedene Verarbeitungen stattfinden) ist individuell zu programmieren (Individualentwicklung) oder aus einer Standardsoftware zu übernehmen.
b) Statische und dynamische Entscheidungen ● Man kann Entscheidungen nach der zeitlichen Stabilität von Zuständen und Handlungsvarianten in statische und dynamische Entscheidungen einteilen. Bei statischen Entscheidungen bleiben der Datenkranz der Zielstruktur, der Handlungsvarianten sowie deren Bewertung konstant. Dynamische Entscheidungen bedeutet, dass sich ein oder mehrere dieser Parameter im Zeitablauf verändern. ● Bei dynamischen Entscheidungen spielt die Zeit und ihre Modellierung eine besondere Rolle. Da im Zuge dieses Vorgehens die Modellkomplexität sowie die durch einen Benutzer zu überschauende Komplexität des Lösungsverfahrens steigt, wird man diesen Lösungsansatz eher bei komplexen, mehrstufigen Entscheidungen erwägen. ▲ Unter der Voraussetzung, dass alle für eine gegebene Mindestqualität einer Ergebniserklärung notwendigen dynamischen Einzelfallfaktoren modelliert und mit aktuellen Parameterwerten versehen sind, bieten DV-Systeme die Möglichkeit einer schnellen Durchrechnung (Simulation) einer Entscheidung an. ▲ Die Praxis stellt häufig die Anforderung nach dynamischen Entscheidungen, doch wird aus Gründen der Modellierungs- und Informationskosten bisweilen nur ein statisches Surrogat der dynamischen Entscheidung behandelt. Ein weiterer Grund zur Abkehr von dynamischen Strukturen ist der bisweilen sehr hohe Rechenaufwand.
3.2 Klassifizierung von Entscheidungsprozessen und Entscheidungen
143
c) Strategische und operative Entscheidungen Je nach dem Gegenstand, der zur Entscheidung ansteht, bzw. je nach der Managementebene, auf welcher eine Entscheidung getroffen wird, unterscheidet man: Strategische Entscheidungen werden im oberen Management getroffen und zeichnen sich tendenziell dadurch aus, dass sie auf aggregierten, zukunftsorientierten, unternehmensexternen Daten und deren qualitativen Beschreibung beruhen. ▲ Derartige Entscheidungen können durch Verfahren zur Analyse von Problemstellungen und (soweit fachlich ausreichend spezifizierbar) zur Beschreibung und Simulation von Lösungen unterstützt werden. Operative Entscheidungen werden auf der Ausführungsebene getroffen. Sie zeichnen sich tendenziell dadurch aus, dass sie auf der Basis quantitativ spezifizierter unternehmens- und funktionsinterner (oft automatisch abrufbarer) Daten Probleme betreffen, die kurzfristig beobachtbar und bzgl. des Resultats einer Entscheidung intersubjektiv relativ leicht überprüfbar sind. ▲ Derartige Entscheidungen weisen ein hohes systematisches Unterstützungspotenzial auf. ▲ Durch Änderung der nicht exakt rechenbaren Rahmenfaktoren einer Strategie kann es durchaus vorkommen, dass sich eine einmal gewählte Strategie dann auf der operativen Ebene als falsch erweist.
d) Administrations-, Dispositions-, Planungs- und Kontrollentscheidungen ● Nach der Art der Arbeitsausführung und der zugeordneten Managementebene (Führungsebene) unterscheidet man: • Administrationsentscheidungen betreffen Maßnahmen, die von ausführenden Mitarbeitern bei Erfüllung von hierzu notwendigen Bedingungen getätigt werden müssen. Das vornehmliche Ziel bei Administrationsentscheidungen ist die Exaktheit der Prüfung, ob die Bedingungen erfüllt sind, sowie die saubere Durchführung der dann ausgelösten Maßnahme. ■ Prüfung eines Bauantrages und Genehmigung bei Vorliegen aller Voraussetzungen ▲ Derartige Entscheidungen bergen ein hohes Potenzial an systematischer Unterstützung. • Dispositionsentscheidungen basieren auf einem Dispositionsspielraum für den Disponenten im Rahmen einer generellen Regelung seines Dispositionsziels und seines Handlungsspielraums. ▲ Ziel der Einführung von Dispositionsentscheidungen ist, höher qualifizierten und/oder erfahre-
nen Mitarbeitern eigene Verantwortungsfreiräume im Rahmen der generellen Regelung zu bieten und die in der Person liegenden, im Vergleich zur reinen Ausführung von Administrationsentscheidungen höheren Potenziale zu besseren Entscheidungen für das Unternehmen zu aktivieren. ■ Ein Beispiel einer Dispositionsentscheidung ist die Zuordnung von auszuliefernden Aufträgen
auf verfügbare Lastwagen mit dem Ziel, alle Kunden innerhalb von drei Tagen zu beliefern und im Rahmen dieses Ziels die Anzahl der gefahrenen Kilometer zu minimieren (Travelling Salesman-Problem). ▲ Derartige Entscheidungen bergen ein noch hohes, im Vergleich zu Administrationsentscheidun-
gen jedoch reduziertes systematisches Unterstützungspotenzial. Hinsichtlich eines DV-Einsatzes ist hier vornehmlich an die Datenwiedergewinnung und -speicherung sowie an die Simulation von Handlungsalternativen zu denken. • Planungsentscheidungen basieren wiederum auf einem Planungsspielraum für den Planer im Rahmen einer generellen Regelungen des Planungsziels und des Handlungsspielraums. Insofern sind auch in diesem Fall die vorgenannten Aussagen zu Dispositionsentscheidungen hinsichtlich der systematischen Unterstützung und zum DV-Einsatz im Grundsatz gültig. Unterschiede ergeben sich dadurch, dass Planungsentscheidungen einer höheren Managementebene zugeordnet werden und in der Sache längerfristig zukunftsorientiert und in der Beschreibung stärker qualitativ sind.
144
3 Entscheidung als Grundpfeiler betrieblichen Handelns ▲ Insofern reduziert sich das systematische Unterstützungspotenzial und die Möglichkeit des DV-
Einsatzes. Es kommen mehr generelle Systembeschreibungs- und Simulationsverfahren infrage. • Kontrollentscheidungen basieren auf Planwerten. Sie verfolgen in einem Planungszeitraum aufgelaufene Ist-Werte und stellen einen Vergleich zu den Soll-Werten her. Im Falle einer Abweichung wird zumindest eine Warnung gegeben. ▲ Bei komfortablen Systemen erfolgt eine Analyse (und eine entsprechende Ausgabe) der Abwei-
chungsursachen sowie, falls möglich, der Vorschlag einer Korrekturmaßnahme an den verantwortlichen Planer oder Disponenten. Falls ein solcher Vorschlag systematisch nicht erarbeitbar ist, kann eine entsprechende Korrekturplanungs- oder -dispositionsaufgabe geeignet präsentiert werden (z. B. grafisch). ● Derartige Kontrollaufgaben obliegen demjenigen, der Aufgaben und Handlungsspielräume dele-
giert. ▲ Das systematische Unterstützungspotenzial sowie der DV-Einsatz bei Kontrollentscheidungen
hängen von der Managementebene und damit von der Spezifizierbarkeit und Quantifizierbarkeit der zu kontrollierenden Phänomene ab.
3.3
Grundlagen der Entscheidungstheorie
Eine Analyse des Entscheidungsverhalten kann zum Ziel haben, entweder deskriptive Aussagen oder präskriptive (normative) Aussagen zu gewinnen. Je nachdem, welche dieser Intentionen im Vordergrund steht, spricht man von einer deskriptiven oder einer präskriptiven Entscheidungstheorie. Unter Entscheidungstheorie versteht man daher allgemein die logische oder empirische Analyse des rationalen oder intendiert rationalen Entscheidungsverhaltens.
3.3.1
Präskriptive Entscheidungstheorie
● Im Mittelpunkt der präskriptiven oder normativen Entscheidungstheorie steht die Frage, „wie sich Menschen verhalten sollen, wenn diese bestimmte Ziele bestmöglich erreichen wollen“. Um dies beurteilen zu können, benötigt man Standards zur Bewertung der Ergebnisse der einzelnen Alternativen, die dem Postulat rationalen Verhaltens entsprechen. ● Das Entscheidungsverhalten soll sich an einem rational handelnden Entscheider orientieren, der in der klassischen Entscheidungstheorie aus Vereinfachungsgründen als ein Homo Oeconomicus angesehen wird, der über unbegrenzte Rechen- und Informationsverarbeitungskapazität verfügt und stets den optimalen Zielerreichungsgrad anstrebt. ▲ Damit steht der Begriff „Rationalität“ im Zentrum der präskriptiven Entscheidungstheorie. Die Entscheidungstheorie setzt voraus, dass der Entscheider über ein in sich widerspruchsfreies Zielsystem verfügt und dass er sich entsprechend seinem Zielsystem verhält. In der praktischen Anwendung der Entscheidungstheorie kann aber die Forderung nach substanzieller Rationalität Bedeutung erlangen; dabei zieht man i. Allg. die gewählten Ziele als Beurteilungskriterien für die Rationalität heran. ■ So ist bspw. die primär an der (privatwirtschaftlichen) Gewinnmaximierung orientierte Entscheidung eines Spediteurs, den Gütertransport über große Strecken mit LKWs und nicht im kombinierten Verkehr durchzuführen, substanziell nicht rational, d. h. sie stehen nicht im Einklang mit dem Ziel der Gesellschaft, Energie zu schonen und Lärm zu vermindern. In der Literatur unterscheidet man zusätzlich zwischen objektiver und subjektiver Rationalität.
3.3 Grundlagen der Entscheidungstheorie
145
● Man spricht „von objektiver Rationalität, wenn das Situationsbild des Entscheiders mit der Wirklichkeit bzw. mit den Informationen über die Wirklichkeit übereinstimmt, wie sie ein objektiver Beobachter ermitteln kann.“ ● Unter dem Postulat der subjektiven Rationalität wird eine Entscheidung schon dann als optimal angesehen, wenn sie mit den subjektiv wahrgenommenen Informationen des Entscheidungsträgers in Übereinstimmung steht.
3.3.2
Deskriptive Entscheidungstheorie
● Die deskriptive Entscheidungstheorie versucht eine Antwort zu geben auf die Frage: „Wie werden Entscheidungen in der Realität getroffen und warum werden sie so und nicht anders getroffen?“ Die deskriptive Entscheidungstheorie geht von der empirischen Beobachtung aus und ist bemüht, einen Zusammenhang zwischen den beobachteten Entscheidungen und der vorliegenden Entscheidungssituation zu finden. Die deskriptive Entscheidungstheorie versuchte anfangs, die Modelle der präskriptiven Entscheidungstheorie zur Erklärung von Entscheidungsverhalten heranzuziehen, konnte damit aber auftretende Widersprüche zu empirisch beobachtbarem Verhalten nicht erklären. Auch durch zusätzliche Berücksichtigung von Persönlichkeitsfaktoren des Entscheidungsträgers oder durch Anpassung an die spezielle Entscheidungssituation ließen sich nicht alle Unstimmigkeiten abbauen. Die Literatur sieht die Ursache für dieses Scheitern im Fundament der präskriptiven Entscheidungstheorie, die von gegebenen Tatsachen- und Wertprämissen ausgeht und die Rationalität des Entscheidungsverhaltens postuliert. Eine auf Erklärung und Prognose des Entscheidungsverhaltens ausgerichtete Theorie muss aber das Zustandekommen der Entscheidungsprämissen und empirisch zu beobachtende Abweichungen vom Rationalverhalten in ihre Modellansätze mit einbeziehen:
3.3.3
Das Konzept der Beschränkten Rationalität
Kritik an der Rationalitätsforderung der Entscheidungstheorie, d. h. an den Grundprämissen eines Entscheiders als Homo Oeconomicus, wurde schon 1945 von Herbert A. Simon geäußert. ● Simon argumentierte, dass Menschen nur über eine beschränkte Informationsverarbeitungskapazität verfügen und daher • nicht alle Alternativen a priori kennen, • nicht alle möglichen Konsequenzen a priori angeben können, • die Konsequenzen einzelner Aktionen a priori nur unvollständig kennen, • nicht optimierende sondern satisfizierende Entscheidungen treffen. ● Simons Satifizierungskonzept basiert auf der Anspruchsniveautheorie der Psychologie, wie sie 1944 von Lewin, Dembo, Festinger, Sears formuliert wurde. Danach versucht ein Individuum in der Zukunft einen Zielerfüllungsgrad zu erreichen, der sich an den Ergebnissen vorangehender Versuche orientiert. Simon geht auch davon aus, dass eine Entscheidung aus zwei Stufen besteht, da der eigentlichen Alternativenauswahl ein Suchprozess vorangeht. ▲ Diese Unterscheidung in Phasen der Entscheidungsfindung führte in der Literatur zu einer Vielzahl von Phasenmodellen, die neben der Ausführungsphase zumeist 5 Phasen (Anregung, Unorientiertheit, Orientierung, Distanzierung, Entschluss) unterscheiden, und nur in Details variieren. ■ In einer empirischen Studie über die Erstbeschaffung von EDV-Anlagen untersuchte Witte 1968 das Phasentheorem von Brim, Glass, Lavin, Goodman auf praktische Relevanz und legte dabei folgende Hypothese zugrunde:
146
3 Entscheidung als Grundpfeiler betrieblichen Handelns
„Wenn ein komplexer, innovativer, multipersonaler Entscheidungsprozess in mikro-ökonomischen Einheiten abläuft, dann liegt zeitlich • vor dem Entschluss die Bewertung der Alternativen, • vor der Bewertung der Alternativen die Erarbeitung der Alternativen, • vor der Erarbeitung der Alternativen die Gewinnung der Informationen, • vor der Gewinnung der Informationen das Erkennen des Entscheidungsproblems.“ Witte kam in seiner Studie zu dem Ergebnis, dass die Fünf-Phasen-Hypothese in ihrem sukzessiven Ablauf keine uneingeschränkte Gültigkeit besitzt und auch für Teilentscheidungen nicht zwingend ist. Er konnte zeigen, dass sich die Aktivitäten der einzelnen Phasen unregelmäßig über den gesamten Zeitraum von Start bis Schluss erstrecken. Dies entspricht auch der Erfahrung, dass Entscheidungsprozesse oft Zyklen aufweisen, die insbesondere die Aufnahme und Verarbeitung von zusätzlichen Informationen betreffen, die erst nach Feststellung eines Informationsdefizits besorgt werden. ▲ Mit der Abkehr vom Homo Oeconomicus und damit der Annahme einer beschränkten Rationalität des Entscheidungsträgers hat sich die deskriptive Entscheidungstheorie zu einer interdisziplinären, insbesondere verhaltenswissenschaftlichen Analyse von Entscheidungs- und Problemlösungsprozessen entwickelt.
3.3.4
Aufbau eines Entscheidungsmodells
Um in komplexen Entscheidungssituationen eine sachgerechte Wahl treffen zu können, ist es sinnvoll und üblich, das in der Realität vorliegende Entscheidungsproblem (Realproblem) aus der Sicht des Entscheidungsträgers in ein Entscheidungsmodell abzubilden. ● Ein Modell ist eine vereinfachende, aber strukturgleiche zweckorientierte Abbildung eines realen Sachverhaltes. ▲ Die Forderung nach Vereinfachung ist vorrangig pragmatischer Natur, da wegen der Komplexität der Realität erst durch eine Reduktion auf die für die jeweilige Problemstellung wesentlichen Elemente und Relationen die Formulierung des Problems in Form eines mathematischen Systems möglich wird. ■ So kommt es z. B. in Produktionsplanungsmodellen oft nur auf die Deckungsbeiträge der Produkte und nicht auf andere Charakteristika wie Verpackung, Farbe usw. an. Entsprechend werden Produktionsplanungsmodelle vereinfacht, indem die Produkte nur durch das für die Entscheidung relevante Element Deckungsbeitrag repräsentiert werden, während die anderen charakteristischen Elemente eines Produktes im Modell vernachlässigt werden. ▲ Strukturgleichheit oder Strukturähnlichkeit mit dem realen Entscheidungsproblem ist eine zwingende Forderung, da Rückschlüsse von den Ergebnissen der Modellanalyse auf das Realproblem ermöglicht werden sollen. Um Aussagen über den abgebildeten Gegenstandsbereich zu erzielen, müssen daher, außer den Elementen und Eigenschaften des Realsystems, die zwischen diesen Elementen und Eigenschaften bestehenden Beziehungen im Modell erfasst werden. Mithilfe des Entscheidungsmodells werden die für die Realisierung bestimmter Ziele durchzuführenden Aktionen ausgewählt. Die beschränkte Informationsverarbeitungskapazität des Entscheidungsträgers führt zu einer selektiven und auch subjektiven Wahrnehmung des realen Entscheidungsproblems; thematisiert werden kann nur, was der Entscheider einerseits bereits kennt und erfahren, andererseits aber auch nicht (un)bewusst verdrängt hat. Dabei wird i. Allg. unterschieden zwischen Informationen über das Entscheidungsfeld und über die vom Entscheider verfolgten Ziele, sein Zielsystem. ● Das Entscheidungsfeld umfasst • den Aktionenraum A, die Menge der dem Entscheidungsträger zur Verfügung stehenden Aktionen (Alternativen, Entscheidungsvariablen, Strategien), z. B. die Menge an Maschinen, die für ein bestimmtes Investitionsprojekt infrage kommen.
3.3 Grundlagen der Entscheidungstheorie
147
• den Zustandsraum S, wobei jeder Zustand eine spezielle Kombination aller relevanten Umweltdaten repräsentiert. Denkbar sind hier z. B. alternative Absatzentwicklungen der Produkte, die auf einer neu zu beschaffenden Produktionsanlage gefertigt werden sollen. • eine Ergebnisfunktion g: A × S → E, die jedem Paar (a,s) ∈ A × S eine Konsequenz g(a,s) ∈ E zuordnet. Bestimmt werden muss in diesem Zusammenhang z. B., welcher Gewinn sich aus der Anschaffung einer Maschine des Typs A bei sehr guter Absatzlage des betrachteten Produktes ergeben wird. ▲ Die Alternativen repräsentieren dabei Variablen, die vom Entscheider direkt oder zumindest indirekt beeinflussbar sind. Dagegen hat er keinen Einfluss auf die Umweltzustände, die ebenfalls auf die Ergebnisse der Alternativen einwirken. ▲ Zu dem Zielsystem gehören nicht nur die Zielgrößen (Zielfunktionen), sondern auch die Präferenzvorstellungen des Entscheidungsträgers bzgl. der Ausprägung jedes einzelnen Zieles und im Vergleich zwischen den Zielen. ■ Beispielsweise muss festgelegt werden, ob ein höherer Gewinn auch als höher gewertet wird. Andererseits muss spezifiziert werden, ob z. B. ein höherer Gewinn für den Entscheider wichtiger ist als eine höherere Kundenzufriedenheit. ● Grundsätzlich ist am Ende eines Entscheidungsprozesses die ermittelte Lösung in Hinblick auf die Realität zu überprüfen. Der Modellierungsprozess mit all seinen Elementen sollte daraufhin untersucht werden, ob die getroffenen Annahmen weiterhin Gültigkeit besitzen.
3.3.5
Ziele und Zielsysteme
● Ziele werden als Richtlinien der unternehmerischen Aktivitäten bezüglich zukünftig angestrebter Zustände verstanden und sind nach Inhalt, Ausmaß und Zeitbezug zu operationalisieren. Von Bedeutung ist dabei die grundsätzliche Entscheidung, was überhaupt anzustreben ist, und daran anschließend, in welchem Zusammenhang diese Bestrebungen zueinander stehen, d. h. in welcher Art von Zielsystem die Einzelinhalte zusammengeführt werden können. ▲ Die wesentlichen Zielinhalte sind für jedes Unternehmen und gegebenenfalls für jede Entscheidung individuell zu definieren bzw. zu überdenken. Ist die Zielsuche beendet, muss der Entscheidungsträger einerseits die Konsequenzen angeben, die für die Ziele mit der Ausführung einer Aktion verbunden sind und hat andererseits grundsätzliche Präferenzen bezüglich der unterschiedlichen Ergebnismerkmale zu definieren. Die ermittelten Konsequenzen sind einer weitergehenden Analyse zu unterziehen, in der die einzelnen Komponenten in Hinblick auf ihre Operationalität beleuchtet werden: ● Ziele, deren Realisierung sich nicht überprüfen lässt, sind nicht-operational, da sie keinen Maßstab für die Bewertung einer Alternative darstellen und somit die Auswahlentscheidung nicht unterstützen können. ● Quantitative Zielinhalte, die über Intervall- oder Verhältnisskalen erfasst werden können, repräsentieren in jedem Fall operationale Größen. ● Problematischer gestaltet sich die Bewertung qualitativer Zielinhalte. Deren Charakterisierung erfolgt entweder näherungsweise mithilfe von quantifizierbaren Ersatzkriterien oder liegt häufig nur in Form von nominal- bzw. ordinalskalierten Aussagen hinsichtlich der Zielerreichung vor. Damit ist zwar eine Operationalität gegeben, deren Verrechnung zum Zweck des Vergleichs von Handlungsalternativen jedoch Schwierigkeiten bereitet, da sich nominal- und ordinalskalierte Bewertungen aus theoretischer Sicht nicht ohne weiteres mittels mathematischer Operatoren gewichten und aggregieren lassen.
148
3 Entscheidung als Grundpfeiler betrieblichen Handelns
Darüber hinaus muss der Entscheider Präferenzrelationen formulieren: ● Notwendig ist stets eine Höhenpräferenzrelation, die eine Vorschrift über das erstrebte Ausmaß der Zielgröße festlegt. Beispiele sind • die Maximierungsregel (jedes höhere Ergebnis ist jedem niedrigeren vorzuziehen), • die Minimierungsregel (jedes niedrigere Ergebnis ist jedem höheren vorzuziehen) und • die anspruchsniveaubezogene Ergebnisbewertung (Ergebnisse ab (bis zu) einer bestimmten Ergebnishöhe gelten als zufrieden stellend, darunter- (darüber-) liegende Ergebnisse als nicht zufrieden stellend). ● Eine Artenpräferenzrelation wird erforderlich, wenn der Entscheidungsträger gleichzeitig mehrere Zielgrößen anstrebt und diese Zielgrößen zumindest teilweise konfliktär sind. Eine häufig anzutreffende Form der Artenpräferenzrelation stellt die Zielgewichtung dar, bei der eine Zielgröße als Standardmaß des Nutzens gewählt wird und alle übrigen Zielgrößen über eine Nutzenschätzung in Einheiten dieses Standardmaßes umgerechnet werden. ● Die Zeitpräferenz fixiert eine Vorschrift über die Vorziehenswürdigkeit von Aktionen mit Ergebnissen verschiedener Zeitdimension. Sie wird immer dann erforderlich, wenn die Ergebnisse der verfügbaren Handlungsalternativen nicht alle zu demselben Zeitpunkt anfallen. Bei monetären Ergebnissen wird als Zeitpräferenz häufig eine Diskontierung der Beträge auf einen gemeinsamen Bezugszeitpunkt verwendet. In Entscheidungssituationen werden meist mehrere Ziele verfolgt, die i. Allg. nicht unabhängig voneinander zu betrachten sind. Generell lassen sich drei Zielbeziehungstypen unterscheiden: ● Indifferente Beziehungen bestehen, wenn zwischen zwei Zielen Neutralität herrscht, d. h. die Verbesserung der einen Zielgröße keinen Einfluss auf die Ausprägung der anderen hat. ● Zielharmonie ist im Falle komplementärer Beziehungen gegeben, die Erfüllung des einen Ziels trägt positiv zur Erfüllung des anderen bei. ● Besteht eine Konkurrenz-Beziehung zwischen zwei Zielen, dann vermindert die Realisation des einen Ziels den Erfüllungsgrad des anderen. Im Extremfall der konfliktären Zielbeziehung schließt das Erreichen des einen Ziels die Erfüllung eines anderen vollständig aus. ▲ Die erkannten Abhängigkeiten werden dann durch eine horizontale oder auch vertikale Zuordnung systematisiert. Diese Zielstrukturierung kann daher mit einem Prozess der Bildung einer Zielhierarchie verglichen werden und liefert im Ergebnis ein unternehmerisches Zielsystem, dessen Zielinhalte entscheidungsträgerbedingt, d. h. beispielsweise abhängig von der subjektiven Einstellung des Managements, und entscheidungsfeldbedingt, in Abhängigkeit von der jeweiligen Umfeldsituation, geordnet werden.
3.3.6
Der Aktionenraum A
● Bei einem Entscheidungsproblem stehen dem Entscheidungsträger zu einem bestimmten Zeitpunkt gewisse Aktionen (Alternativen, Handlungsweisen, Strategien) a1 ,a2 , . . . ,am zur Auswahl. Die Menge A = {a1 ,a2 , . . . ,am} der zur Verfügung stehenden Aktionen heißt Aktionenraum (Aktionsraum, Aktionsfeld, Alternativenmenge, Entscheidungsraum). ▲ Für die Lösung eines Entscheidungsproblems ist es prinzipiell unerheblich, ob es sich bei den verschiedenen betrachteten Aktionen um Einzelmaßnahmen oder jeweils um ganze Bündel von Maßnahmen handelt. ● Die Emittlung einer Lösung des Entscheidungsproblems, die den angestrebten Zielen entspricht, setzt allerdings voraus, dass die Aktionsmöglichkeiten nach dem Prinzip der vollkommenen Alternativenstellung formuliert wurden.
3.3 Grundlagen der Entscheidungstheorie
149
Dieses Prinzip verlangt, das Entscheidungsproblem so zu stellen, dass der Entscheider 1. gezwungen ist, eine der betrachteten Alternativen zu ergreifen und 2. gleichzeitig nur eine einzige der Alternativen realisieren kann.
3.3.7
Bewertung der Aktionen
▲ In der betrieblichen Praxis gestaltet sich die Lösung einer Entscheidungssituation zumeist schwierig, da i. Allg. die Alternativen bezüglich mehrerer Ziele zu beurteilen sind, deren Bewertungsdimensionen stark variieren können. ■ Zur Verdeutlichung sei das folgende Beispiel eines Autokaufes betrachtet (Die Bewertung von Design, Ausstattung und Werkstatt basiert dabei auf einer Zehnpunkteskala, wobei 10 die beste und 1 die schlechteste Bewertung ist.): Preis Design Motorleistung Ausstattung A1 50.000 a 9 120 kW mittel A2 25.000 a 6 55 kW schlecht A3 30.000 a 5 80 kW sehr gut
Werkstatt 3 8 5
Wie deutlich wird, ist eine Auswahlentscheidung nicht ohne weiteres möglich, da keine Alternative in Bezug auf alle Kriterien den besten Wert aufweist. ▲ Für den allgemeinen Fall kann man davon ausgehen, dass die mit einer Aktion verknüpften Konsequenzen derart komplex sind, dass ihre simultane Berücksichtigung den Entscheider schnell überfordert. Daher wird jeder Alternative ein so genannter Präferenzwert Φ (ai ) zugewiesen, der dann stellvertretend für die einzelnen Ergebnisausprägungen steht und sich als repräsentatives Auswahlkriterium heranziehen lässt. ● Formal lässt sich der Prozess der Aktionenbewertung als eine Abbildung Φ : A → R darstellen, mittels derer jeder Aktion a ∈ A eine reelle Zahl Φ (a) ∈ R so zugeordnet wird, dass die natürliche Anordnung der den Aktionen zugeordneten Zahlen übereinstimmt mit der (durch den Entscheidungsträger eingeschätzten) Wertrangfolge der Aktionen. Das heißt für je zwei Aktionen ai ,ar ∈ A, i,r ∈ {1,2, . . . ,m}, muss gelten: ai ar ⇔ Φ (ai ) ≥ Φ (ar ) ai ar ⇔ Φ (ai ) > Φ (ar ) ai ∼ ar ⇔ Φ (ai ) = Φ (ar ), wobei die Symbole , und ∼ die schwache Präferenz, die starke Präferenz und die Indifferenz zwischen den Aktionen ai und ar ausdrücken. Die Bewertungsfunktion Φ repräsentiert also die Vorstellungen, die der Entscheidungsträger bzgl. der Vorziehenswürdigkeit der Aktionen besitzt (oder besitzen sollte). ● Ist die Bewertungsfunktion Φ gegeben und sind die Zahlen Φ (a) bekannt, so ist die Entscheidungssituation bis auf die Durchführung einer Maximierung formal gelöst: Jede Aktion a∗ ∈ A mit Φ (a∗ ) = Maxa∈A Φ (a) erfüllt das Optimalitätskriterium und repräsentiert damit eine optimale Lösung des Entscheidungsproblems. ▲ In der Praxis ist es für einen Entscheider allerdings schwer festzulegen, wie die einzelnen Werte einer Alternative adäquat zu einem Gesamtwert zu aggregieren sind. Zur Orientierung bietet daher die Entscheidungstheorie Bewertungsfunktionen Φ an, die bezüglich ihrer Eigenschaften gründlich analysiert und auf einfache, für den Entscheidungsträger überschaubare Rationalitätspostulate zurückgeführt sind.
150
3 Entscheidung als Grundpfeiler betrieblichen Handelns
Am weitesten verbreitet ist dabei in der Literatur der Einsatz der Nutzenfunktion, gefolgt von der Schadensfunktion bzw. den Opportunitätskosten. ● Nutzenfunktion. Grundsätzlich ist zu berücksichtigen, dass die Bewertung einer Aktion ai über die Bewertung der den Aktionen zugeordneten Ergebnisse erfolgen muss. Sei xki = gk (ai ) das Ergebnis der Aktion ai in Bezug auf das Ziel k, k = 1,2, . . . ,K, xi = (x1i , . . . ,xKi ) = (g1 (ai ), . . . ,gK (ai )) ∈ E K das Gesamtergebnis der Aktion ai und u(xi ) = u(x1i , . . . ,xKi ) ∈ R die Nutzenfunktion des Entscheiders, so ist Φ (a) die verkettete Funktion
Φ (ai ) = u ◦ g(ai ) = u(g(ai )). ● Für die Nutzenfunktion muss gelten: xi xr ⇔ u(xi ) ≥ u(xr ) xi xr ⇔ u(xi ) > u(xr ) xi ∼ xr ⇔ u(xi ) = u(xr ) ▲ Unabhängig von der Frage, wie eine solche Nutzenfunktion bestimmt werden kann bzw. bestimmt werden sollte, ist zu beachten, dass nicht jede beliebige, individuelle Präferenzrelation durch eine Nutzenfunktion u repräsentiert werden kann. Um zu einer sinnvollen Bewertung zu gelangen, muss die Präferenzrelation notwendigerweise vollständig und transitiv sein. ● Im Rahmen der Vollständigkeit wird von einem Entscheidungsträger verlangt, sich über seine Ziele und Zielpräferenzen im Klaren zu sein, damit er in der Lage ist, seine Präferenz oder Indifferenz zwischen je zwei zu vergleichenden Ergebnissen anzugeben. Das heißt er muss je zwei Ergebnisse xi und xr bzgl. miteinander vergleichen können, sodass für diese Ergebnisse xi und xr entweder xi xr oder xi xr (oder beides gleichzeitig, d. h. xi ∼ xr ) gilt. ● Die Transitivität von umfasst den Anspruch auf eine widerspruchsfreie Reihung der Alternativen, weswegen für je drei Ergebnisse xi , xr und xs gelten muss: xi xr und xr xs xi xs . ▲ Die Transitivität wird in der Theorie als logische Grundforderung einer vernünftigen Präferenzrelation betrachtet. Verletzungen der Transitivität kommen in der Realität dennoch gelegentlich vor, insbesondere weil Ergebnisunterschiede oft erst jenseits bestimmter Fühlbarkeitsschwellen empfunden werden. Auch zeigen empirische Untersuchungen, dass Menschen überfordert sind, wenn Sie Ergebnisvektoren mit mehr als drei Komponenten anordnen sollen. Dennoch liefern diese Beobachtungen keine überzeugenden Argumente gegen die Transitivität als normatives Postulat rationalen Verhaltens. ▲ Wird die Präferenzrelation durch eine Nutzenfunktion u beschrieben, so wird die gleiche Präferenzrelation auch durch jede Funktion v repräsentiert, die durch eine (streng) monoton wachsende Transformation aus u hervorgeht. Dies liegt daran, dass die Zuordnung xi → u(xi ) nur die einzige Bedingung erfüllen muss, dass eine höhere Präferenz einer höheren Zahl entsprechen soll. ● Eine Nutzenfunktion, an die nur bis auf (streng) monoton wachsende Transformationen festgelegt ist, wird als eine ordinale Nutzenfunktion bezeichnet. Der Nutzenmessung liegt dann eine Ordinalskala oder Rangskala zugrunde. ▲ Bei einer ordinalen Nutzenfunktion u gibt der Größenvergleich zweier Nutzenwerte also nur an ob ein Ergebnis gegenüber einem anderen präferiert wird, nicht jedoch, in welchem Maße dies der Fall ist. Zwischen ordinalen Nutzenwerten sind daher nur Größenvergleiche erlaubt, für die u. a. die Operatoren Maximum oder Minimum benutzt werden dürfen. ● Eine kardinale Nutzenfunktion liegt vor, wenn die Nutzenwerte eindeutig sind bis auf lineare Transformationen, d. h. bis auf die Festlegung des Nullpunktes und der Skalierungseinheit. Der Nutzenmessung
3.3 Grundlagen der Entscheidungstheorie
151
liegt dann die allgemeinste Form einer Kardinalskala, eine Intervallskala, zugrunde. Um dieses Skalierungsniveau zu erreichen, muss der Entscheidungsträger in der Lage sein, auch die Nutzenunterschiede zwischen je zwei Konsequenzen in eine Rangfolge zu bringen. Wird zusätzlich verlangt, dass ein natürlicher Nullpunkt existiert, so spricht man von einer Verhältnisskala. Ist auch die Messeinheit natürlich gegeben, so liegt eine Absolutskala vor. ● Schadensfunktion und Opportunitätskosten. Bei einigen Anwendungen ist es üblich, Aktionen und deren Ergebnisse mit einer Schadensfunktion (oder Verlustfunktion) zu bewerten, die zu minimieren ist. In Analogie zur Nutzenfunktion gilt dann für zwei Ergebnisse xi und xr : xi xr ⇔ s(xi ) ≤ s(xr ) xi xr ⇔ s(xi ) < s(xr ) xi ∼ xr ⇔ s(xi ) = s(xr ) ▲ Eine häufig benutzte Schadensfunktion ist die Opportunitätskostenfunktion s(xi ) = max u(xi ) − u(xi ), i
die sich aus einer kardinalen Nutzenfunktion ableiten lässt. Sie misst die entgangenen Nutzenwerte im Vergleich zur optimalen Entscheidung.
3.3.8
Der Zustandsraum S
▲ Entscheidungen sind zumeist zukunftsorientiert, d. h. die Konsequenzen der Entscheidung sind erst in späteren Zeitpunkten sichtbar. Im Laufe der Zeit können sich aber die Umweltfaktoren, die das Ergebnis der Aktionen beeinflussen, ohne selbst von den Handlungen des Entscheidungsträgers abhängig zu sein, so stark ändern, dass sehr unterschiedliche Ergebnisse eintreten. ● Ein Weg diese Änderungen der Umwelt zu berücksichtigen besteht in der Festlegung von Umweltzuständen oder Szenarien, die denkbare Konstellationen der in einer bestimmten Situation relevanten Umweltfaktoren beschreiben. ■ Solche Umweltzustände können z. B. Aussagen über die Marktstruktur, die konjunkturelle Entwicklung, die Steuergesetzgebung oder mögliche Konkurrenzreaktionen sein. ▲ Welche Faktoren der Umwelt als relevante Daten in einem Entscheidungsmodell zu erfassen sind, hängt von der jeweiligen Entscheidungssituation ab. ■ Z. B. kommen für eine zu beschließende werbe- und preispolitische Maßnahme zum Zwecke der Gewinnverbesserung das Marktaufnahmevolumen, die Werbewirksamkeit, die Preisreagibilität der Nachfrage sowie die Struktur der Produktionskostenfunktion als relevante Umweltdaten in Betracht. ● Die Menge S = {s1 ,s2 , . . . ,sn } aller relevanten Umweltzustände (Szenarien) s1 ,s2 , . . . ,sn bezeichnet man als Zustandsraum. ● Je nach Kenntnisstand bezüglich des wahren Umweltzustandes unterscheidet man in der klassischen Entscheidungstheorie folgende drei Fälle: • Sicherheitssituation: Der wahre Umweltzustand ist bekannt. • Risikosituation: Der Entscheider kennt (subjektive oder objektive) Wahrscheinlichkeiten für das Eintreten der verschiedenen Umweltzustände. • Ungewissheitssituation: Dem Entscheidungsträger ist lediglich bekannt, dass irgendeiner der Umweltzustände aus S eintreten wird. ● In der neueren Literatur findet man inzwischen weitere Informationsstände, die zwischen der Risikound der Ungewissheitssituation einzustufen sind:
152
3 Entscheidung als Grundpfeiler betrieblichen Handelns • Risikosituation mit Fuzzy-Wahrscheinlichkeiten: Der Entscheider kann Wahrscheinlichkeiten für das Eintreten der verschiedenen Zustände nur ungefähr angeben und durch Fuzzy-Intervalle beschreiben. • Risikosituation mit Linearer Partieller Information (LPI): Der Entscheidungsträger kann Wahrscheinlichkeitsintervalle für das Eintreten der verschiedenen Zustände angeben. Dies ist ein einfacher Spezialfall der Risikosituation mit Fuzzy-Wahrscheinlichkeiten. • Risikosituation mit Glaubens- und Plausibilitätsfunktionen: Der Entscheider kennt lediglich Wahrscheinlichkeiten für einige Teilmengen von S, so genannte Basiswahrscheinlichkeiten, aus denen er dann Zustandsaussagen für das Eintreten der verschiedenen Zustände ableitet. • Risikosituation mit Möglichkeiten: Der Entscheidungsträger kennt die Möglichkeitsmaße für das Eintreten der verschiedenen Zustände.
3.3.9
Das Problem der Datenbeschaffung
▲ Bisher wurde stillschweigend unterstellt, dass die Ergebnisse durch reelle Zahlentupel xi = (x1i , . . . ,xKi ) ∈ RK beschrieben werden. Das Problem der Beschaffung zuverlässiger und präziser Daten wurde soweit ignoriert, da an keiner Stelle hinterfragt wurde, woher die detaillierten Informationen kommen bzw. wie viel Aufwand mit deren Beschaffung verbunden ist. Da die Datenbeschaffung auf menschlichen Wahrnehmungen und Einschätzungen basiert, die sich häufig nur verbal, qualitativ und damit vage äußern lassen, muss kritisch diskutiert werden, wie derartige Aussagen angemessen in exakte Daten transferiert werden können. Selbst bei Daten, die aus technischen Prozessen oder ökonomischen Sachverhalten abgeleitet werden und quantitativer Natur sind, müssen diese nicht in Form reeller Zahlen vorliegen. Oft reicht der Wissensstand nur aus, diese durch Intervalle, Fuzzy-Mengen oder Wahrscheinlichkeitsverteilungen zu beschreiben. Im Wesentlichen lassen sich die folgenden drei Datenkategorien unterscheiden, die unterschiedliche Informationszustände des Entscheiders ausdrücken: ● Exakte/deterministische Daten. Dieser hohe Informationsstand ist denkbar für bestimmte technische Anwendungen, bei denen ein hohes Ausmaß an Erfahrung mit den Prozessen vorliegt. Hier kann das Entscheidungsproblem gemäß den vorangegangenen Ausführungen in ein operables Modell überführt und eine eindeutige Alternativenauswahl vorgenommen werden. ● Stochastische oder Fuzzy-Daten. Sind die relevanten Daten stochastisch oder fuzzy, so stellt sich das Problem, dass man sich bei der Modellierung und damit der Bewertung der Alternativen nicht mehr in einer Menge wohlgeordneter Zahlen bewegt und aufgrund fehlender Trennschärfe eventuell die optimale Alternative nicht eindeutig bestimmt werden kann. ▲ In der klassischen Entscheidungstheorie wird dieses Problem derart umgangen, dass mittlere Werte für die Verteilungen bzw. unscharfen Größen angesetzt werden. Besonders fragwürdig ist diese Reduktion auf ein deterministisches Modell, wenn auf die Modellierung der Verteilungen zu wenig Mühe verwendet wird und gleich mittlere Werte bestimmt werden. Der Ansatz unzureichend begründeter mittlerer Werte erhöht ganz entscheidend die Gefahr, dass diese Werte nicht der Realität entsprechen und die optimale Lösung des Modells keine adäquate Lösung des realen Problems ist. ▲ Durch die Beschaffung sehr „guter“ Informationen lässt sich natürlich die Gefahr einer Fehlmodellierung verringern, aber dieser Informationsbeschaffungs und -verabeitungsprozess ist zumeist mit einem sehr hohen Kostenaufwand verbunden. Darüber hinaus ist es oft, z. B. bei Daten, die sich erst in der Zukunft realisieren, trotz extremer Bemühungen nicht möglich, zuverlässige deterministische Daten zu identifizieren. Liegt unscharfes Wissen im Rahmen eines Entscheidungsproblems vor, so ist das nachfolgend beschriebene zweistufige Vorgehen eine intelligente Verfahrensweise. Dadurch wird nicht nur erreicht, dass eine Fehlmo-
3.4 Workflow-Management
153
dellierung des Realproblems vermieden wird, sondern diese Prozessführung geht auch einher mit deutlich geringeren Kosten für Informationsbeschaffung und -verarbeitung. ● Im 1. Schritt ist ein Realmodell zu formulieren, das den aktuellen Wissensstand des Entscheidungsträgers adäquat abbildet; dabei sollten einfach und preiswert zu beschaffende Informationen zusätzlich berücksichtigt werden. Die Fuzzy-Mengen-Theorie liefert ein problemadäquates Instrumentarium, um Daten und Relationen mit exakt der Genauigkeit in das Modell zu integrieren, wie es dem Wissensstand des Entscheiders entspricht. Darüber hinaus bietet diese Theorie das Rüstzeug, klassische Präferenzaussagen und Bewertungen auf Fuzzy-Größen zu erweitern. Die Alternativen lassen sich so in eine Rangordnung bringen, die allerdings nicht zwingend trennscharf ist. Ein maßgeblicher Vorteil dieses ersten Schrittes ist es jedoch, dass es in praktischen Anwendungen zumeist möglich ist, aufgrund des jetzt schon vorliegenden Rankings Alternativen auszusondern, die zur Lösung des Problems nicht mehr infrage kommen. Normalerweise führt dieser erste Schritt zu einer erheblichen Reduzierung der Alternativenmenge. ● In einem 2. Schritt können dann für die verbleibenden Alternativen gezielt zusätzliche Informationen aufgenommen werden, um die Unschärfe der Daten zu reduzieren und nach Möglichkeit eine eindeutige Rangordnung oder zumindest die Auswahl der besten Alternativen zu erreichen. Da ein unscharfes Ranking schon vorliegt, kann die Informationsaufnahme gezielt unter Kosten-/ Nutzenabwägung erfolgen. So wird man auf zusätzliche Informationen verzichten, wenn deren Kosten höher sind als der festgestellte Unterschied zwischen den besten Alternativen; eine Zufallsauswahl aus diesen Alternativen ist dann vorzuziehen.
3.4
Workflow-Management
3.4.1
Grundkonzept des Workflow-Managements
● Ein Workflow Managementsystem (Vorgangssteuerungssystem) ist ein Softwaresystem zur Unterstützung der kooperativen Ausführung von betrieblichen Abläufen (Geschäftsprozessen). Als Workflow wird der mit Rechnerunterstützung ausgeführte Anteil eines Geschäftsprozesses bezeichnet. Er setzt sich aus auszuführenden Aktivitäten zusammen, zwischen denen bestimmte Alternativ- und Reihenfolgebeziehungen existieren. ● Grundlage für die Ausführung eines Ablaufes mit einem Workflow-Managementsystem ist das Workflow-Schema (gelegentlich auch als Workflow-Programm bezeichnet), in dem die Ablauflogik eines Workflows präzise beschrieben wird. Ein Workflow-Managementsystem ermöglicht so die Trennung der Ablauflogik von den eigentlichen Anwendungsprogrammen. Eine konkrete Ausführung eines Workflows gemäß seinem Schema wird auch als Workflow-Instanz bezeichnet, eine Ausführung einer Aktivität entsprechend als Aktivitätsinstanz. ● Der effiziente Einsatz eines Workflow-Managementsystems setzt voraus, dass der Geschäftsprozess (oder zumindest der überwiegende Teil davon) strukturiert ist, d. h. nach bestimmten Regeln abläuft (im Gegensatz zu so genannten Ad-hoc-Workflows, deren Ablauf i. V. nicht oder nur teilweise bekannt ist bzw. geplant werden kann). ▲ Für Ausnahmesituationen, in denen vom regulären Ablauf abgewichen werden muss (was in der Praxis niemals ganz ausgeschlossen werden kann), sind Ausnahmebehandlungsmechanismen vorzusehen. ● Ziel des Einsatzes von Workflow-Managementsystemen ist eine Flexibilisierung der Abläufe, die in konventionellen Informationssystemen in der Software „fest verdrahtet“ sind und im Lauf der Zeit nur mit erheblichem Aufwand an geänderte Anforderungen angepasst werden können. Wird das WorkflowSchema geändert, ändern sich auch die Abläufe und ihre Ausführungen.
154
3 Entscheidung als Grundpfeiler betrieblichen Handelns
▲ Workflow-Managementsysteme können als ablauforientierte Ergänzung zu Datenbank-Managementsystemen verstanden werden. Während Datenbank-Managementsysteme alle Aufgaben der Datenhaltung übernehmen, unterstützen Workflow-Managementsysteme die Verwaltung der Abläufe. ▲ Eine enge Beziehung besteht auch zu Dokumenten-Managementsystemen (Software zur Verwaltung von Dokumenten) und zu allgemeinen Groupwaresystemen (Software zur Unterstüzung von Gruppenarbeit).
3.4.2
Komponenten eines Workflow-Managementsystems
● Ein Workflow-Managementsystem besteht aus folgenden Komponenten: Workflow-Editor
Simulations- und Analysewerkzeuge
Workflow-Engine Administrationswerkzeuge
andere Workflow-Engine Anwendungsprogramme
• Ein Workflow-Editor ermöglicht die Beschreibung der Ablauflogik eines Geschäftsprozesses in einem Workflow-Schema. Üblicherweise werden Workflows mit grafischen Sprachen beschrieben, die durch textuelle bzw. programmiersprachliche Ausdrücke ergänzt werden können. Diese Notationen zur Workflow-Beschreibung basieren meistens auf Petrinetzen oder ähnlichen Sprachen. In das Workflow-Schema können relevante Informationen zu den bei der Ablaufausführung benötigten Ressourcen, Geschäftsobjekten und Rollen der involvierten Personen bzw. Organisationseinheiten integriert werden. Der Editor erlaubt auch die Fragmentierung (d. h. Zerlegung) betrieblicher Abläufe in Arbeitspakete, die von Aufgabenträgern an unterschiedlichen Standorten eines Unternehmens ausgeführt werden sollen. Zu jedem Workflow-Schema gibt es einen so genannten Workflow-Besitzer, der für diesen Workflow verantwortlich ist und über Änderungen an einem Workflow-Schema entscheidet. Im Workflow-Repository werden die unterschiedlichen Workflow-Schemata abgespeichert und verwaltet. Zu jedem Workflow-Typ existieren üblicherweise mehrere Schemata, da im Laufe der Zeit Änderungen vorgenommen werden können. Das Workflow-Repository muss daher über die Funktionalität einer Versionsdatenbank verfügen. Im Workflow-Repository werden außerdem Ausführungsdaten über die stattgefundenen Abläufe archiviert. • Simulations- und Analysewerkzeuge: Ein Simulator erlaubt das Durchspielen von Abläufen, bevor sie implementiert werden, um mögliche inhaltliche Fehler und Schwachstellen im WorkflowSchema frühzeitig aufzudecken. Simulationen unterstützten außerdem die so genannten „Wenndann-Analysen“ bei denen die Auswirkungen unterschiedlicher Entwurfs- oder Ausführungsentscheidungen auf einen Ablauf geprüft und miteinander verglichen werden können. Eine automatische Syntaxanalyse ermöglicht die Aufdeckung syntaktischer Fehler im WorkflowSchema.
3.4 Workflow-Management
155
Mit speziellen Analysewerkzeugen können auch semantische Eigenschaften wie die (Nicht-)Erreichbarkeit von unerwünschten Zuständen, etwa Deadlock-Situationen, überprüft werden. Mit so genannten Monitoring-Werkzeugen können statistische Auswertungen vorgenommen werden. Es können bspw. relevante Kennzahlen wie minimale/maximale Durchlaufzeiten, Wartezeiten, Ausschussquoten oder der Ressourcenverbrauch ermittelt werden. • Administrationswerkzeuge unterstützen die Verwaltung von Workflow-Managementsystemen und Workflow-Ausführungen. Zu den bereitgestellten Funktionen gehören die Einrichtung von Benutzerkennungen, die Datensicherung sowie die Behandlung von Fehlersituationen. • Eine Workflow Engine interpretiert ein gegebenes Workflow-Schema ausgehend von einem Initialzustand und prüft, welche Aktivitäten in einem erreichten Zustand stattfinden können. Diese hängen ab von bereits durchgeführten Aktivitäten und ablaufspezifischen Daten. Aktivitäten werden nach einer bestimmten Ausführungsstrategie ausgelöst (etwa auf Prioritäten basierend). Außerdem wird die Ausführung der Aktivitäten kontrolliert und die benötigten Ressourcen (bspw. Daten) werden bereitgestellt. Gegebenenfalls ruft die Workflow-Engine auch externe Anwendungsprogramme auf, sofern diese in einem gegebenen Ablauf für bestimmte Aktivitäten eingesetzt werden sollen (etwa ein Textverarbeitungsprogramm zum Editieren eines Briefes). • Ein Task-Manager verwaltet für die einzelnen Workflow-Anwender To-Do-Listen (Aktivitätenlisten) und regelt die entsprechende Kommunikation zwischen Workflow-Engine und Anwendern. Dabei können unterschiedliche Zuteilungsstrategien unter Berücksichtigung der Fähigkeiten der jeweiligen Aufgabenträger zur Anwendung kommen. Falls mehrere Workflow-Engines zur Verfügung stehen, können diese bei der Ablaufausführung kooperieren (etwa zur Lastverteilung oder zur Kopplung von unternehmensübergreifenden Geschäftsprozessen). Ansonsten werden die Arbeitspakete von einer zentralen Workflow-Engine auf die Aufgabenträger an den verschiedenen Standorten verteilt.
3.4.3
Standardisierungsbestrebungen
● Die Workflow Management Coalition, ein nicht-kommerzieller Zusammenschluss von Anbieter- und Anwenderunternehmen im Workflow-Bereich, befasst sich mit Fragen der Standardisierung im Bereich des Workflow-Managements. ● Ziele sind die Vereinheitlichung von Terminologien, Konzepten und Systemarchitekturen. ● Konkrete Vorschläge zur Standardisierung liegen vor für: • Workflow-Modellierungssprachen, • Schnittstellen zwischen unterschiedlichen Workflow-Managementsystemen, • Schnittstellen zwischen Workflow-Managementsystemen und Anwendungsprogrammen, • Benutzungsoberflächen, • Administrations- und Monitoring-Werkzeuge. ▲ Am Markt existieren eigenständige Workflow-Managementsysteme, die den Standards der Workflow Management Coalition genügen. Im Bereich betriebswirtschaftlicher Standardsoftware (etwa SAP oder ORACLE) ist außerdem ein Trend zu erkennen, Workflow-Engines in die Gesamtarchitektur zu integrieren. Dies soll den Anwenderunternehmen ermöglichen, flexibler auf Änderungen von Geschäftsprozessen zu reagieren.
4
Normative Methoden und Verfahren der Entscheidungsfindung
Während in praktischen Entscheidungssituationen vielfach die Identifikation der relevanten Aktions- und Umweltvariablen im Vordergrund steht, soll hier vorausgesetzt werden, dass dieser Prozess bereits abgeschlossen oder unproblematisch ist und somit der eigentliche Lösungsprozess eines modellierten Problems fokussiert wird. Unter normativen Methoden zur Entscheidungsfindung sollen hier neben Verfahren, die typischerweise dem Forschungsgebiet der Entscheidungstheorie i. e. S. zugerechnet werden, auch verschiedene Verfahren des Operations Research, der Künstlichen Intelligenz (KI) und der heuristischen Suche verstanden werden.
4.1
Entscheidung unter Sicherheit mit singulärem Zielkriterium
● Ein großer Teil der in der betriebswirtschaftlichen Theorie entwickelten Modelle betrachtet Entscheidungen unter Sicherheit mit nur einem relevanten Zielkriterium, geht also davon aus, dass sich alle Handlungsalternativen problemlos mittels der Bewertungsfunktion Φ ordnen lassen. ▲ Dies sind meist leicht programmierbare Entscheidungen, die ein hohes Entscheidungsunterstützungspotenzial besitzen. Auch administrative bzw. operative Auswahlentscheidungen sowie die meisten der Beispiele im Teil „Wirtschaftsmathematik“ fallen unter diese Kategorie. ■ Kapitalwert als Kriterium der Investionsentscheidung: Klassisches Beispiel ist die Auswahl von einem oder mehreren Investitionsprojekten aus einer begrenzten Anzahl möglicher Investitionsprojekte. Als Entscheidungskriterium dient meist der Kapitalwert eines Investitionsprojekts. Ein Investitionsprojekt wird hier als eine Zahlungsreihe dargestellt, die aus einer Reihe von Ein- und Auszahlungen zu unterschiedlichen Zeitpunkten besteht. Der Kapitalwert K0 bezeichnet den Gegenwartswert der Zahlungsreihe des Investitionsobjekts. Der Wert zukünftiger Zahlungen wird durch die Abzinsung mit dem Marktzins i auf einen Gegenwartswert normiert. E1 A1 ET AT K0 = E0 + − A − +···+ − · · · − 0 1+i (1 + i)T 1+i (1 + i)T T
=∑
t=0
T Et At −∑ , t t (1 + i) t=0 (1 + i)
wobei K0 Kapitalwert im Zeitpunkt t = 0 Et Einzahlung am Ende der Periode t, (t = 0,1, . . . ,T ) At Auszahlung am Ende der Periode t, (t = 0,1, . . . ,T ) i Zinssatz auf einem vollkommenen Kapitalmarkt. T Gesamtlaufzeit Dieses Modell benutzt den Zinssatz eines vollkommenen Kapitalmarktes, um sicherzustellen, dass Ein- und Auszahlungen mit dem gleichen Zinssatz abgezinst werden. Dies ist eine sinnvolle, aber nicht unbedingt notwendige Einschränkung. Ob auch ohne die Existenz eines vollkommenen Kapitalmarkts die Summe abdiskontierter zukünftiger Ein-/Auszahlungen als Kriterium Φ sinnvoll ist, hängt dann von den intertemporalen Konsumpräferenzen des Entscheiders ab.
4.1 Entscheidung unter Sicherheit mit singulärem Zielkriterium
157
▲ Durch diese Umrechnung der einzelnen Investionsprojekte reduziert sich das Entscheidungsproblem deutlich. Bestehen keine Finanzierungsbeschränkungen, werden alle Projekte mit positivem Kapitalwert durchgeführt. Bestehen hingegen Finanzierungsbeschränkungen, werden die Projekte mit dem höchsten Kapitalwert zuerst durchgeführt, wobei jedoch bei nicht partiell durchführbaren Projekten die Summe des Kapitalwerts aller durchgeführten Projekte unter Einhaltung der Budgetrestriktion als Entscheidungskriterium dient. Dies ist formal ein so genanntes Bin-Packing- oder Rucksackproblem und zählt zu den unten diskutierten kombinatorischen Optimierungsproblemen. Das oben skizzierte Grundmodell der Entscheidungstheorie sowie das eben diskutierte Investitionsbeispiel unterstellen die Möglichkeit, alle Alternativen (und bei Risiko die Umweltzustände) durchzunummerieren, um diejenige mit maximalem Nutzen Φ zu ermitteln. Dieses Vorgehen scheitert bei fast allen im Bereich der dispositiven Planung auftretenden Optimierungsproblemen aus einem der folgenden Gründe: • Der Raum der Handlungsalternativen wird von Aktionsvariablen mit kontinuierlichem Wertebereich aufgespannt, ist also überhaupt nicht abzählbar. Man spricht hier von so genannten Parameteroptimierungsproblemen. Das Kapitel → Operations Research befasst sich in erster Linie mit Verfahren zur Lösung derartiger Probleme. • Die Handlungsalternativen sind zwar diskret und somit abzählbar, ihre Zahl wächst aber mit der Problemgröße exponentiell. Klassische Optimierungsverfahren des Operations Research sind für diese so gennanten kombinatorischen Optimierungsprobleme wegen ihres (ebenfalls exponentiellen) Laufzeitverhaltens nicht mehr einsetzbar. Bei praxisrelevanten Problemgrößen muss auf die Anwendung so genannter heuristischer Suchverfahren ausgewichen werden, die eine Erreichung der optimalen Lösung nicht mehr sicherstellen, dafür aber weniger rechenintensiv sind.
4.1.1
Parameteroptimierung
Ist die Anzahl der relevanten Handlungsalternativen nicht explizit gegeben, sondern durch implizite Restriktionen und Einschränkungen des Lösungsraums beschrieben, müssen spezielle Verfahren angewendet werden. ● Besteht der Lösungsraum aus kontinuierlichen Werten und sind sowohl die Zielfunktion wie auch alle Nebenbedingungen linear, kann die so genannte →Lineare Optimierung zum Einsatz kommen. ● Liegt diese Linearität nicht vor, können unter bestimmten Bedingungen Verfahren der LagrangeOptimierung oder andere nicht-lineare Optimierungsverfahren eingesetzt werden. ■ In der Allgemeinen Betriebswirtschaftslehre steht oftmals entweder die kostenminimale Produktion eines vorgegebenen Outputs (Produktionstheorie) oder die Nutzenmaximierung eines Individuums durch Konsum von Güterbündeln unter Beachtung einer Budgetrestriktion (Haushaltstheorie) im Mittelpunkt der Betrachtung. Da die beiden Modelle strukturgleich sind, beschränken wir uns hier auf die Produktions- und Kostentheorie. Die Produktionstheorie betrachtet eine funktionale Beziehung zwischen den teils substitutiven, teils limitationalen (verhältniswahrenden) Inputfaktoren und dem durch ihren Einsatz produzierten Output. In der Kostentheorie werden den Produktionsfaktoren Faktorkosten zugeordnet. Als Minimalkostenkombination wird diejenige Kombination an Einsatzmengen der Produktionsfaktoren bezeichnet, die die Produktion einer bestimmten Produktionsmenge (Output) zu den geringsten Gesamtkosten ermöglicht. Hierbei bestimmt die Produktionsfunktion (als funktionale Beziehung zwischen den Einsatzgütern und dem mit ihnen produzierbaren Output) die effizienten Faktorkombinationen, die die Produktion eines bestimmten Outputs x ermöglichen. Kombiniert man diese Produktionsfunktion mit der Kostenstruktur der Einsatzgüter, so kann die Minimalkostenkombination bestimmt werden.
158
4 Normative Methoden und Verfahren der Entscheidungsfindung
■ Betrachtet man ein Einproduktunternehmen, welches ein Produkt x mit zwei Einsatzgütern r1
und r2 herstellt, so stellt sich die Bestimmung der Minimalkostenkombination einer gegebenen Produktionsmenge x wie folgt dar: min K = q1 · r1 + q2 · r2 unter der Nebenbedingung x = f (r1 ,r2 ) , ▲ Die Nebenbedingung besagt hierbei, dass bei der Kostenminimierung die Produktionsfunktion
eingehalten werden muss. Grafische Bestimmung der Minimalkostenkombination: a) Darstellung der Produktionsisoquante (Output in Abhängigkeit der Inputfaktoren). Bei substitutionalen Produktionsbeziehungen kann ein bestimmter Output durch verschiedene Kombinationen von Einsatzgütern erstellt werden. b) Eintragung der Kostengeraden (Faktorkombinationen gleicher Gesamtkosten). In der folgenden Abbildung ist dieser Zusammenhang dargestellt. Die Einsatzmengenkombination im Punkt P stellt hierbei die Minimalkostenkombination dar, genau dort, wo die Kostengerade die Produktionsisoquante tangiert. r1
K q1
P
K2
K
K1
K / q2
x
r2
Minimalkostenkombination ● Die Minimalkostenkombination kann analytisch mithilfe des Lagrangeansatzes bestimmt werden.
Dabei muss die Funktion L(r1 ,r2,λ ) = q1 r1 + q2 r2 − λ (x − f (r1 ,r2 )) minimiert werden.
4.2
Multikriterielle Entscheidung bei Sicherheit
Die hier zu betrachtenden Entscheidungsprobleme zeichnen sich dadurch aus, dass die Ergebnisse der Entscheidungen zwar mit Sicherheit bekannt sind, aber mehrere relevante Zielkriterien zur Ordnung der Handlungsalternativen herangezogen werden müssen. Existiert keine dominante Handlungsalternative (die bzgl. jedes Kriteriums allen anderen gegenüber präferiert wird), entsteht die bereits im letzten Kapitel diskutierte Problematik der Aggregation der einzelnen Bewertungen Φ k zu einer Gesamtbewertung Φ .
4.2 Multikriterielle Entscheidung bei Sicherheit
4.2.1
159
Nutzwertanalyse
Die Nutzwertanalyse, auch bekannt als Scoring-Modell oder Punktbewertungsverfahren, ist das am weitesten verbreitete Verfahren zur Unterstützung multikriterieller Entscheidungen. ● Die Nutzwertanalyse versucht, eine Präferenzordnung der Handlungsalternativen a1 bis an dadurch herzustellen, dass sie den Nutzen einer jeden Handlungsalternative Φ (ai ) als gewichtete Summe der partiellen Nutzen Φ k (ai ) errechnet, die die Handlungsalternative stiftet. Hierzu wird zunächst eine Normierung der einzelnen Zielfunktionen auf einen einheitlichen Wertebereich vorgenommen, z. B. Φ k (ai ) ∈ [0,1] für k = 1 . . . m und alle ai . m
Ferner sei ein Vektor von Gewichten w = (w1 ,w2 , . . . ,wm ) mit ∑ wk = 1 derart definiert, dass die einzelnen k=1
Gewichte den Einfluss der entsprechenden Zielgrößen auf die Gesamtbewertung darstellen. Scoring-Funktion S : A → [0,1]: Summe der gewichteten Partialziele: m
S(ai ) =
∑ wk · Φ k (ai )
k=1
Die Scoring-Funktion bildet jede Entscheidungsalternative auf einen rationalen Wert zwischen 0 und +1 ab. Die Ordnungsrelation R („wird präferiert gegenüber“) kann anhand der metrisch skalierten Scores definiert werden: ● ai R a j gilt dann und nur dann, wenn S(ai ) ≥ S(a j ) (Entscheidungen mit höheren Scores sind also denen mit niedrigeren Scores vorzuziehen). ▲ An dieser Stelle muss betont werden, dass aus messtheoretischer Sicht das Punktbewertungsverfahren auch mit Hilfe der schon recht strengen Axiome des additiven Conjoint Measurement nicht gerechtfertigt werden kann: Es wird hier zusätzlich davon ausgegangen, dass zwischen den einzelnen Zielfunktionen Φ k lineare Trade-off-Beziehungen bestehen und damit die Indifferenzkurven die Form von Geraden annehmen, was mit dem zweiten Gossen’schen Gesetz des abnehmenden Grenznutzens eines Gutes unvereinbar erscheint. Der Entscheidungsträger sollte sich dieser Einschränkungen bewusst sein, wenn er sich für die Nutzwertanalyse ausspricht.
4.2.2
Lexikografische Ordnung
Das Verfahren der lexikografischen Ordnung (auch lexikografische Gesamtnutzenmessung) setzt im Gegensatz zur Nutzwertanalyse nicht voraus, dass zwischen den verfolgten Zielgrößen eine Substitutionsbeziehung besteht. Es verlangt lediglich eine ordinale Reihung der einzelnen Zielfunktionen gemäß ihrer Wichtigkeit für den Entscheidungsträger. Anhand des wichtigsten Kriteriums werden die Handlungsalternativen in eine Präferenzordnung gebracht. Für diejenigen Handlungsalternativen, die hinsichtlich dieses wichtigsten Kriteriums als indifferent gelten, wird das zweitwichtigste Kriterium herangezogen. Herrscht immer noch Indifferenz zwischen zwei Alternativen, entscheidet das drittwichtigste Kriterium usw. ▲ Nachteilig wirkt sich ein solches Vorgehen insbesondere dann aus, wenn Handlungsalternative ai eine andere Alternative a j (was das wichtigste Kriterium angeht) geringfügig dominiert, ihr jedoch bezüglich aller übrigen Kriterien weit unterlegen ist.
4.2.3
Analytic Hierarchy Process
Der Analytic Hierarchy Process (Saaty) basiert auf einem paarweisen Vergleich der Handlungsalternativen. Der Entscheidungsträger kann auf einer Skala z. B. von 1 bis 5 zum Ausdruck bringen, ob und wie stark er Alternative ai der Alternative a j vorzieht. Nachdem für jede der m Zielfunktionen eine n × nMatrix spezifiziert worden ist, muss nun ein paarweiser Vergleich der Wichtigkeit der Ziele untereinander durchgeführt werden.
160
4 Normative Methoden und Verfahren der Entscheidungsfindung
▲ Da der Entscheidungsträger immer nur zwei Alternativen miteinander vergleicht und sich hierbei nicht um das Transitivitätspostulat der Präferenzrelation kümmert, sind die aus diesem Verfahren resultierenden Matrizen zu einem gewissen Grad inkonsistent. ▲ Saaty entwickelt sowohl Maßzahlen für den Grad der Inkonsistenz der vom Nutzer spezifizierten Präferenzen als auch eine (auf der Eigenwert-Berechnung der Matrizen beruhende) Methode, die Inkonsistenzen soweit wie möglich zu beseitigen. Als Resultat liefert sein Verfahren normierte partielle Nutzenfunktionen und einen Zielgewichtungsvektor, mit denen dann eine klassische Nutzwertanalyse durchgeführt werden kann.
4.2.4
Outranking-Verfahren (Electre)
Das Outranking-Verfahren „Electre“ (Roy) ist die insbesondere im französischen Sprachraum verbreitete Alternative zu klassischen Verfahren der multikriteriellen Entscheidungsfindung. Die Grundüberlegung besteht darin, dass man einem Entscheidungsträger die Spezifikation einer eindeutigen Präferenzordnung nicht sinnvoll abverlangen kann. Vielmehr soll der Entscheidungsträger beim Vergleich von ai mit a j neben schwacher Präferenz oder Indifferenz auch starke Präferenz und die Unvergleichbarkeit zweier Alternativen konstatieren können. ● Für jede Zielfunktion kann der Entscheidungsträger verschiedene Schwellwerte spezifizieren, innerhalb derer die Scores verschiedener Alternativen als indifferent, strikt besser oder erheblich besser einzustufen sind. ▲ Mithilfe dieser Angaben können für je zwei Alternativen ai und a j zwei so genannte Prävalenzwerte p(ai ; a j ) und p(a j ; ai) berechnet werden, von denen die erste den Grad der Glaubwürdigkeit folgender Hypothese ausdrückt: Hinsichtlich der Präferenzen des Entscheidungsträgers ist die Alternative ai mindestens genauso gut wie die Alternative a j .
4.3
Entscheidung bei Risiko
Risikobehaftete Entscheidungen liegen dann vor, wenn der Entscheidungsträger zwar nicht mit Sicherheit vorherbestimmen kann, welcher Umweltzustand eintreten wird, es ihm andererseits jedoch möglich ist, für jeden möglichen Umweltzustand eine Eintrittswahrscheinlichkeit zu spezifizieren. Während in Abschnitt 4.2 die Problematik der Aggregation multipler Zielfunktionen im Vordergrund stand, soll hier vereinfachend davon ausgegangen werden, dass der Entscheidungsträger die Abwägung der unterschiedlichen Handlungsalternativen anhand einer einzigen, metrisch skalierten Zielfunktion vornimmt. ■ Kauf einer Aktie oder eines festverzinslichen Wertpapiers: Hierbei interessiert sich der Entscheidungsträger (bei einer angenommenen Investitionsdauer von einem Jahr) ausschließlich für die Rendite des investierten Kapitals. Er geht davon aus, dass der Zustandsraum Z vier mögliche Umweltzustände, hier Entwicklungen des Wirtschaftswachstums, umfassen möge. Die Tabelle zeigt die unterschiedlichen Auszahlungsbeträge der möglichen Investitionen je nach Konjunkturentwicklung für die Anlage von 100 a: Wirtschaftswachstum
A: Bundesobligationen B: Junk&Bonds Inc. C: Treu&Glauben AG
Das µ -Prinzip ist das einfachstes Beurteilungskriterium. Es orientiert sich am Erwartungswert µ der Auszahlungen für jede mögliche Aktion und empfiehlt, diejenige Handlungsalternative zu wählen, die den höchsten Erwartungswert aufweist. ■ In unserem Beispiel wären dies die Anleihen der Junk&Bonds Inc. mit 12,5 % erwarteter Jahresrendite. ▲ Es stellt sich aber heraus, dass mittels einer simplen Erwartungswertmaximierung lediglich ein risikoneutraler Entscheidungsträger adäquat modelliert werden kann. Das µ -σ -Prinzip versucht, diesem Manko Rechnung zu tragen. Neben dem Erwartungswert der Auszahlungen wird nun auch die Standardabweichung σ der Auszahlung vom Erwartungswert berücksichtigt. ■ Ein risikofreudiger Investor würde also in obigem Investitionsbeispiel sich weiterhin für die Anlageform B entscheiden, da er hier neben der höchsten Rendite auch die mit 37,5 höchste Standardabweichung der erwarteten Auszahlungen geboten bekommt. Dem risikoaversen Investor (und das ist wohl der weit häufigere Typ) wird die Entscheidung nicht ganz so leicht fallen, da er bei minimalem Risiko (nämlich einer Standardabweichung von 0) mit Bundesobligationen lediglich eine Rendite von 7 % realisieren kann. Für eine Rendite von 11 % muss er immerhin schon eine Standardabweichung der Auszahlungen von 5,39 in Kauf nehmen, für die 12,5-prozentige Rendite der Junk&Bonds-Obligationen sind es bereits 37,5 %. σ
0%
5%
10 %
µ
Risiko-Präferenz eines risikoaversen Entscheidungsträgers ▲ Im Gegensatz zum µ -Prinzip gestattet es das µ − σ -Prinzip nun nicht mehr, eine von der Präferenzstruktur des Entscheidungsträgers unabhängige Entscheidungsempfehlung zu geben. Die Steigung der in der Abbildung (für einen risikoaversen Entscheidungsträger) gegebenen Indifferenzkurven wird also von Entscheidungsträger zu Entscheidungsträger unterschiedlich ausfallen.
4.3.2
Bernoulli-Prinzip und Sicherheitsäquivalent
Das Bernoulli-Prinzip wurde bereits 1738 von Daniel Bernoulli vorgeschlagen und ist ein Weg zur Behebung der Defekte des µ -Prinzips: Anstatt vom Erwartungswert der Auszahlungen selbst auszugehen, wird eine subjektive Nutzenbewertung jeder möglichen Auszahlung eingeführt. ● Eine Aktion wird dann als optimal bezeichnet, wenn sie den Erwartungswert des Nutzens maximiert. ■ Angenommen, der Investor aus unserem Beispiel besitzt 1000 a. Der Nutzen, den ihm sein finanzieller Wohlstand stiftet, sei durch eine logarithmische Nutzenfunktion u(X) = log(X) beschrieben, im Augen-
162
4 Normative Methoden und Verfahren der Entscheidungsfindung
blick hat er also den Nutzen u(1000) = 3,0. Aus der Abbildung des letzten Beispiels wird bereits sichtbar, dass wir es mit einem risikoaversen Investor zu tun haben. Die konkave Form der Nutzenfunktion macht deutlich, dass eine geschenkte zusätzliche Mark weniger Nutzen stiftet, als eine weggenommene Mark an Schaden verursacht. Bezogen auf obiges Investitionsbeispiel nennt der Investor im Fall A nach Ablauf eines Jahres X = 1007 a sein eigen, was einem Nutzen von u(X) = log(1007) = 3,00303 Einheiten gleichkommt. Bei Investition B realisiert er dagegen mit 90-prozentiger Wahrscheinlichkeit einen Nutzen von u(X) = log(1025) = 3,0107 Einheiten. Mit einer Wahrscheinlichkeit von 0,1 bleibt ihm allerdings lediglich ein monetärer Wohlstand von 900 a übrig, der zu einem Nutzen von u(900) = 2,9542 führt. Der NutzenErwartungswert beträgt also µ = 0,9 · 3,0107 + 0,1 · 2,9542 = 3,00508 .
Nachdem auch für Investition C der Nutzen jeder möglichen, nach Ablauf eines Jahres eintretenden, Wohlstandssituation bestimmt worden ist, kann für jede Handlungsalternative ein Nutzenerwartungswert errechnet werden. Für Alternative A liegt er, wie schon erwähnt, bei 3,00303, für Alternative B bei 3,00508 und für Alternative C bei 3,00474. Ein Entscheidungsträger mit der hier unterstellten Nutzenfunktion wird also Alternative B wählen. ▲ Durch Umkehrung der Nutzenfunktion erlaubt es die Nutzenermittlung nach dem Bernoulli-Prinzip ferner, jeder mit Risiko behafteten Handlungsalternative ein so genanntes Sicherheitsäquivalent zuzumessen. Sicherheitsäquivalent: Eine sichere Auszahlung S heißt genau dann Sicherheitsäquivalent von X, wenn der (sichere) Nutzen von S, u(S) dem erwarteten Nutzen von X, E u(X) identisch ist, also u(S) = E u(X) ,
oder S = u−1 (E u(X) .
■ Im Beispiel wären dies für Alternative C ein Sicherheitsäquivalent von 1010,99 a und für Investition B ein Sicherheitsäquivalent von 1011,76 a. Alternative A führt selbstverständlich zu einem Sicherheitsäquivalent von 1007 a, da hier überhaupt kein Risiko vorliegt. Anders sieht dies für den Fall aus, dass das Vermögen unseres Investors nur 200 a beträgt: In diesem Fall stiftet Investitionsmöglichkeit B lediglich einen Nutzen von 2,31696, was einem Sicherheitsäquivalent von 207,47 a gleichkommt, während es Alternative C auf einen Nutzen von 2,32414 und damit einem Sicherheitsäquivalent von 210,93 a bringt. Man sieht also hierbei, dass der ärmere Investor den potenziellen Verlust von 100 a, der bei Alternative B mit einer Wahrscheinlichkeit von 10 % eintritt, stärker scheut, als ein Investor mit höherem Wohlstand.
4.3.3
Informationsbeschaffung als Entscheidungsproblem
▲ Die bisherigen Ausführungen haben vernachlässigt, dass in den meisten Entscheidungssituationen eine weitere Handlungsalternative besteht, die da lautet: „Beschaffung zusätzlicher Information.“ ● Informationsbeschaffung kann dazu dienen, neue Handlungsalternativen zu finden, die Ergebnisse bestehender Alternativen besser abschätzen zu können oder die Wahrscheinlichkeitsurteile über die maßgeblichen Umweltzustände zu verbessern. ▲ Da in den meisten Fällen die Einholung zusätzlicher Information mit Kosten verbunden ist, muss eine Möglichkeit gefunden werden, den durch die Informationsbeschaffung generierten erwarteten Nutzen (Informationswert) quantifizieren zu können, um ihn den Kosten gegenüberstellen zu können. ■ Ziehen wir erneut das Investitionsbeispiel heran und gehen davon aus, dass die angegebenen Wahrscheinlichkeiten für die vier möglichen Umweltzustände auf persönlichen Schätzungen beruhen. Zur Vereinfachung sei hier angenommen, dass der Nutzen des Entscheiders proportional zum erwarteten Gewinn ist. Der Anleger würde also sein Geld ohne zusätzliche Information auf Junk&Bonds setzen.
4.4 Entscheidung bei Ungewissheit (Unsicherheit im engeren Sinne)
163
Wie groß ist nun der Wert einer vollständigen Information, also einer sicheren Prognose des wirklich eintretenden Umweltzustands? Hierzu muss der erwartete Gewinn der günstigsten Investition abzüglich der Informationsbeschaffung verglichen werden mit dem erwarteten Gewinn ohne Information (12,50 a). Bei sicherer Information würden für den Fall, dass z1 der wahre Umweltzustand sein würde, Bundesobligationen gewählt, in allen anderen Fällen die Anleihen der Junk&Bonds Inc., was einen erwarteten Gewinn in a von 0,1 · 7 + 0,9 · 25 = 23,20 in Aussicht stellen würde. ■ An dieser Stelle mag die Gewichtung der Umweltzustände mit den oben gegebenen A-priori-Wahrscheinlichkeiten nicht unmittelbar einsichtig sein: Wie kann man von Eintrittswahrscheinlichkeiten sprechen, wenn einer Person schon bekannt ist, welcher Umweltzustand eintreten wird, die Zukunft also nicht risikobehaftet sondern sicher ist? Es bleibt dem Entscheidungsträger leider nichts anderes übrig, als zur Bewertung der zu beschaffenden Information davon auszugehen, dass sie sich seiner Wahrscheinlichkeitsverteilung entsprechend verhält. So falsch diese auch sein mag, sie spiegelt das dem Entscheidungsträger verfügbare Wissen vor der Informationsbeschaffung wider und muss daher seine Bewertungsgrundlage sein. ■ Der rationale und risikoneutrale Entscheidungsträger wird also bereit sein, für die Information bis zu (23,20 a − 12,50 a =)10,70 a zu bezahlen, auch wenn sich ex post bei den Umweltzuständen z2 , z3 und z4 herausstellt, dass die Information wertlos ist, da der Entscheidungsträger auch ohne sie die Junk&Bonds-Anleihen erstanden hätte. ● Leider wird es keine Informationsquelle geben, die die zukünftige konjunkturelle Entwicklung mit absoluter Treffsicherheit voraussagt, weshalb in praktischen Entscheidungssituationen keine vollkommenen, sondern nur unvollkommene Informationen beschafft werden können. Für die in diesem Fall etwas aufwendigere Bestimmung des Informationswertes sei auf Laux oder Bamberg und Coenenberg verwiesen.
4.4
Entscheidung bei Ungewissheit (Unsicherheit im engeren Sinne)
Entscheidung bei Ungewissheit liegt vor, wenn es dem Entscheidungsträger überhaupt nicht mehr möglich ist, subjektive, geschweige denn objektive Wahrscheinlichkeiten für den Eintritt der von ihm spezifizierten möglichen Umweltzustände anzugeben. ■ Angenommen, der Investor aus dem letzten Abschnitt sieht sich weiterhin den drei dort aufgeführten Investitionsmöglichkeiten gegenüber, ist jetzt allerdings nicht mehr in der Lage, eine Einschätzung der Eintrittswahrscheinlichkeiten einzelner Zustände vorzunehmen. Kann der Entscheidungsträger in dieser Situation dennoch eine rationale Wahl der günstigsten Handlungsalternative treffen?
4.4.1
Diskussion verschiedener Entscheidungsregeln
Zunächst einmal kann hier eine Reduktion des Aktionenraums A auf die Menge der effizienten Aktionen vorgenommen werden. Die betriebswirtschaftliche Entscheidungstheorie hat eine Reihe von Entscheidungsregeln entwickelt, deren Auswahl jedoch als Glaubens- bzw. Präferenzfrage angesehen werden muss: • Die Maximin-Regel, auch Wald-Regel genannt, definiert das zu jeder Handlungsalternative gehörige Gütemaß Φ (ai ) als den minimalen Nutzen, der der Handlundsalternative ai bei Eintreten eines beliebigen Umweltzustandes beschert sein kann, das heißt Φ (ai ) = min j ui j .
164
4 Normative Methoden und Verfahren der Entscheidungsfindung
Der Entscheidungsträger wählt nun diejenige Handlungsalternative, die das höchste Gütemaß besitzt, er maximiert also den minimal eintretenden Nutzen. ■ Unterstellen wir wieder einen Investor mit Anfangsvermögen von 1000 a, so realisiert er bei Bundesobligationen im schlechtesten Fall einen Nutzen von log(1007), bei Anleihen von Junk&Bonds Inc. einen Nutzen von log(900) und bei Aktien von Treu&Glauben AG einen Nutzen von log(1000). Er wird daher Bundesobligationen präferieren. • Die Maximax-Regel geht von einem Gütemaß Φ (ai ) = max ui j j
aus. ■ Der unverbesserliche Optimist wird also auf jeden Fall die Investitionsmöglichkeit B wählen, da er hier im günstigsten Fall einen Nutzen von log(1025) realisieren kann, während ihm die beiden übrigen Optionen lediglich log(1020) bzw. log(1007) versprechen. • Die Hurwicz-Regel stellt einen Kompromiss zwischen Maximin- und Maximax-Regel dar. Die Gütemaße der Maximin- und Maximax-Regeln werden mittels eines vom Entscheidungsträger festzulegenden Parameters λ gewichtet. Man erhält Φ (ai ) = λ · max ui j + (1 − λ ) · min j ui j . j
▲ Alle drei Entscheidungsregeln können recht schnell zu kontraintuitiven Empfehlungen führen. ■ Kontraintuitivität der Extremwertregeln: In dem nebenstehenden Fall (siehe Tabelle) würde der „gesunde Menschenverstand“ vermutlich Alternative A2 präferieren, während alle drei vorgenannten Entscheidungsregeln (unabhängig vom Gewichtungsfaktor λ ) eine Gleichwertigkeit der beiden Aktionen feststellen.
z1 z2 z3 z4
A1 A2 1000 0 0 1000 0 1000 0 1000
• Die Laplace-Regel negiert (in gewisser Weise) die Existenz von Ungewissheit und geht davon aus, dass der Entscheidungsträger dadurch, dass er keinen Zustand mit einer höheren Eintrittswahrscheinlichkeit als einen anderen versieht, implizit davon ausgeht, dass alle möglichen Umweltzustände gleich wahrscheinlich sind. ■ In unserem Investitionsbeispiel würde folglich jedem Umweltzustand eine Eintrittswahrscheinlichkeit von 0,25 beigemessen werden. Nutzenerwartungswerte bzw. Sicherheitsäquivalente können nun wie oben beschrieben ermittelt werden. Die Bestimmung der optimalen Aktion bereitet keine Probleme. • Minimax-Regret-Prinzip oder Savage-Niehans-Regel: Wenn sich der Entscheidungsträger für eine Handlungsalternative ai entscheidet, jedoch der Umweltzustand j eintritt, ergibt sich eine mögliche Nutzendifferenz (quantifiziertes „Bedauern“) zwischen der von ihm gewählten Alternative und der sich für diesen Umweltzustand ex post als optimal herausstellenden Umweltalternative. ■ „Bedauern“ für jeden möglichen Umweltzustand: Wirtschaftswachstum z1 = −3% z2 = 1% z3 = 3% z4 = 5% maximales Bedauern A: Bundesobligationen 107 107 107 107 18 B: Junk&Bonds Inc. 0 125 125 125 107 C: Treu&Glauben AG 100 110 110 120 15 Das Gütemaß istin diesem Fall definiert als Φ (ai ) = max max uk j − ui j , j
k
wobei hier die Handlungsalternative mit dem geringsten Φ (ai ) zu wählen ist.
4.5 Lösung mehrstufiger Entscheidungsprobleme
165
■ Im obigen Investitionsbeispiel wären dies die Treu&Glauben-Aktien. ▲ Auch dieses Entscheidungskriterium führt bei der im Beispiel zur Kontraintuitivität der Extremwertregeln dargestellten Entscheidungssituation zu der bereits kritisierten Gleichwertigkeit von A1 und A2 . ▲ Ein völlig anderer Weg wird beschritten, wenn für jeden Entscheidungsträger nicht nur die Definition einer Nutzenfunktion, sondern auch die einer (ebenfalls konkaven) Unsicherheitspräferenzfunktion ω gefordert wird. Hierbei wird eine Scheu vor Ungewissheit unterstellt, die die Scheu des Entscheidungsträgers vor Risiko übersteigt. Diese Annahme wird durch die jüngere Literatur empirisch belegt.
4.4.2
Zusammenfassende Kritik
Wenn auch die Vielfalt der in der Literatur angebotenen Entscheidungsregeln dem Entscheidungsträger die Auswahl nicht gerade erleichtert, so existiert doch ein bereits 1954 von Milnor aufgestellter Katalog von Anforderungen, denen eine Entscheidungsregel für Entscheidungssituationen bei Ungewissheit gerecht werden sollte: 1. Die Entscheidungsregel bringt die Aktionen in eine vollständige und transitive Rangordnung. 2. Die Nummerierung der Aktionen und Zustände hat keinen Einfluss auf diese Rangordnung. 3. Jede Aktion ak , die eine Aktion ai dominiert, wird gegenüber dieser präferiert. 4. Die Hinzufügung neuer Aktionen hat keinen Einfluss auf die Rangordnung zwischen den bisher berücksichtigten Aktionen. 5. Die Addition einer Konstante zu jedem Element einer beliebigen Spalte der Entscheidungsmatrix hat keinen Einfluss auf die Rangordnung der Aktionen. 6. Die Rangordnung wird ebenfalls nicht beeinflusst durch die mehrfache Hinzufügung einer Spalte der Entscheidungsmatrix. ▲ Milnor zeigte, dass keine Entscheidungsregel gleichzeitig alle Anforderungen 1 bis 6 erfüllt, jedoch zumindest die ersten fünf Anforderungen von der Laplace-Regel erfüllt werden können.
4.5
Lösung mehrstufiger Entscheidungsprobleme
Bei den bisher betrachteten Verfahren handelt es sich um Ansätze, bei denen am Anfang einer Periode eine Entscheidung getroffen wurde, die dann zu einem Ergebnis am Ende der Periode führt. Mehrstufige Entscheidungen versuchen eine Abfolge von zeitlich aufeinander folgenden Einzelentscheidungen als Ganzes zu bewerten. ▲ Viele reale Entscheidungsprobleme bestehen aus mehreren Teilentscheidungen, bei denen das Ergebnis der zuerst zu treffenden Teilentscheidung die Handlungsalternativen oder Umweltzustände der nachfolgenden Teilentscheidungen beeinflusst. Im Folgenden werden zwei Ansätze zur Lösung mehrstufiger Entscheidungsprobleme diskutiert.
4.5.1
Starre Planung
Beim Entscheidungsbaumverfahren werden alle möglichen Entscheidungen und alle möglichen Umweltzustände in Form eines Baumes abgetragen. Die Berechnung der Endergebnisse über alle Entscheidungsmöglichkeiten und alle Umweltzustände führt zu einer Folge von Entscheidungen. ▲ Als Ziel- und Entscheidungskriterium eignet sich eine Maximierung des Nutzens der Endergebnisse. ■ Bei einer Anwendung im Bereich der Investitionsrechnung kann der Nutzen durch eine Maximierung des Kapitalwerts des Endvermögens gemessen werden.
166
4 Normative Methoden und Verfahren der Entscheidungsfindung
Entscheidungsbaum Die möglichen Handlungsalternativen (HA) werden in der Periode 0 in Form von Rechtecken abgebildet, die möglichen Umweltzustände (UZ) der Folgeperiode in Form von Ovalen dargestellt. Die Eintrittswahrscheinlichkeiten (w) der UZ werden an den Verbindungskanten zwischen den Handlungsalternativen und den UZ abgetragen. Auf der untersten Ebene werden die jeweiligen Ergebnisse (e) der jeweiligen Kombination von Handlungsalternativen und Umweltzuständen abgetragen. ● Durch Gewichtung der Ergebnisse (e) mit den jeweiligen Wahrscheinlichkeiten (w) kann der für einen risikoneutralen Entscheider wichtige Erwartungswert der Handlungsalternativen berechnet werden. ▲ Bereits das hier gezeigte einfache Beispiel von zwei Handlungsalternativen, zwei Umweltzuständen und zwei Perioden zeigt die Grenzen dieses Verfahrens auf, da bereits 16 Ergebnisse in die Berechnung einfließen. Bei der starren Planung wird die endgültige Abfolge der Teilentscheidungen bereits zu Anfang der Periode 0 festgelegt. Ist es möglich, dass dem Entscheider in den auf die Periode 0 folgenden Perioden neue Informationen über die Umweltzustände und die Folgen seiner Entscheidungen zukommen, so ist eine starre Planung nur sinnvoll, wenn durch die Wahl einer Handlungsalternative in der ersten Periode alle Folgeentscheidungen mit festgelegt werden. Dann handelt es sich aber eigentlich nicht um eine mehrstufige Entscheidung, sondern um eine einstufige Entscheidung.
4.5.2
Flexible Planung
Bei der flexiblen Planung werden zur Entscheidung in der Periode 0 zwar auch alle Folgeentscheidungen berücksichtigt. Im Gegensatz zur starren Planung ist hierdurch jedoch nicht ein vollständiges Entscheidungsprogramm festgelegt. Vielmehr werden in jeder Folgeperiode alle möglichen Entscheidungen neu bewertet. Hierdurch können alle dem Entscheider in den Folgeperioden zugehenden Informationen berücksichtigt werden. ● Flexible Planung bietet sich an, wenn die Entscheidung unter Unsicherheit getroffen werden muss. ▲ Als Entscheidungsverfahren bietet sich wieder der Entscheidungsbaum an. ▲ Als Entscheidungskriterium könnte ein risikoneutraler Entscheider den Erwartungswert des Nutzens am Ende des Planungszeitraums verwenden. ■ Bei Investitionsentscheidungen wäre dies der Erwartungswert des Endvermögens.
● Der Vorteil der flexiblen Planung liegt in der Berücksichtigung der Informationen, die nach der Periode 0 bei dem Entscheider eingehen. Der Aufwand zur Aufstellung und Berechnung des Entscheidungsbaums kann bei längeren Planungszeiträumen und einer Vielzahl von Handlungsalternativen in den einzelnen Perioden jedoch erheblich sein.
4.5 Lösung mehrstufiger Entscheidungsprobleme
4.5.3
167
Dynamische Programmierung
In mehrstufigen Entscheidungsprozessen lässt sich die optimale Strategie von Aktionen mittels dynamischer Programmierung ermitteln, falls der Entscheidungsprozess die Markov-Eigenschaft erfüllt. ● Eine Strategie ist eine Sequenz von n Politiken. Jeder Stufe des Entscheidungsprozesses wird eine Politik zugeordnet. ● Als Politik wird die Abbildung des Zustandsraums S in den Aktionsraum A bezeichnet. Die Politik bestimmt folglich (für eine Stufe des Prozesses) für jeden Systemzustand die zu ergreifende Aktion. ● Ein Prozess, welcher sich auf Stufe k in Zustand si befindet, ist ein Markov-Prozess, wenn die Wahrscheinlichkeit Pm (si ,s j ), einen beliebigen Zustand s j auf einer beliebigen künftigen Stufe m zu erreichen, nur von si abhängt, nicht jedoch von der historischen Entwicklung des Prozesses (also früheren Zuständen). ● Das Bellmann’sche-Optimalitätsprinzip verlangt von einer optimalen Strategie die Eigenschaft, dass, gleichgültig, welcher Anfangszustand herrschte und welche Anfangsentscheidung auch gewählt wurde, die noch zu treffenden Entscheidungen eine optimale Strategie bzgl. des aus der Anfangsentscheidung resultierenden Zustands darstellen. ■ Die Vorgehensweise der (hier stochastischen) dynamischen Programmierung kann recht anschaulich mithilfe der im so genannten Yield-Management untersuchten Vergabe knapper verderblicher Ressourcen illustriert werden: Man stelle sich einen von seiner Gewichtskapazität auf sechs Tonnen beschränkten Frachtraum eines Verkehrsflugzeugs vor, das zu einem bestimmten zukünftigen Zeitpunkt von Ort A nach Ort B fliegen wird. Frachtkapazität soll nur tonnenweise verkauft werden, d. h. zu jedem Zeitpunkt vor Abflug kann der Zustand des Systems als Restkapazität und somit als Element von Z := {0,1,2,3,4,5,6} interpretiert werden. Wenn das Telefon klingelt, wird dem Entscheidungsträger ein Frachtstück angeboten, das er entweder akzeptieren oder ablehnen kann. Wir gehen hier davon aus, es gäbe nur drei verschiedene Typen von Frachtstücken (F1, F2 und F3). Deren Attribute und die Wahrscheinlichkeit, dass das klingelnde Telefon den entsprechenden Typ verspricht, sind in folgender Tabelle zusammengefasst: Typ Wahrscheinlichkeit Gewicht Deckungsbeitrag F1 0,5 1 Tonne 1 Geldeinheit F2 0,3 2 Tonnen 4 Geldeinheiten F3 0,2 3 Tonnen 9 Geldeinheiten Ferner sei agenommen, es gäbe keine Unsicherheit über die Anzahl der bis Abflug noch eingehenden Frachtanfragen. Es könnte somit jeder Anfrage ein (rückwärts zählender) Index k zugeordnet werden, der auch aussagen würde, dass nach Frachtanfrage k noch k − 1 Frachtstücke angefragt werden würden. Das grundlegende Problem besteht nun darin, den Gesamtertrag der angenommenen Frachtstücke zu maximieren. Dies bedeutet, dass der Entscheidungsträger bei Frachtanfragen mit geringem Deckungsbeitrag (F1) abwägen muss zwischen diesem und dem Aufsparen der knappen Kapazität für künftige Anfragen mit ggf. höherem Deckungsbeitrag. Um eine optimale Annahmeentscheidung zu treffen, müsste der Entscheidungsträger auf jeder Stufe k nicht nur den Typ seiner Anfrage und die zur Verfügung stehende Restkapazität i kennen sondern auch den Wert Vk−1 (i), der für die k − 1 verbleibenden Anfragen verfügbaren Restkapazität i im Falle der Ablehnung der Anfrage k steht, sowie den Wert Vk−1 (i − Gewichtk ), der um das Gewicht der angefragten Fracht reduzierten Restkapazität im Falle des Akzeptierens der zur Disposition stehenden Anfrage. Er würde eine Anfrage dann und nur dann annehmen, wenn Deckungsbeitragk + Vk−1 (i − Gewichtk ) ≥ Vk−1 (i) .
168
4 Normative Methoden und Verfahren der Entscheidungsfindung
Ausgehend von V0 (i), das ja null sein muss für alle möglichen Restkapazitäten i (wenn keine einzige Anfrage mehr eintrifft, kann auch kein Deckungsbeitrag mehr generiert werden), kann die optimale Annahmepolitik für Stufe k = 1 und damit der Wert V1 (i) für jedes i berechnet werden: Es soll eine Annahmevorschrift mit einer dreiziffrigen Binärzahl dargestellt werden, wobei das erste Bit für F3 steht (0 bedeutet Ablehnung, 1 Annahme), das letzte Bit für F1. Eine Annahmepolitik ak = 110 würde bspw. bedeuten, dass nur F3 und F2 angenommen werden. Für Stufe k = 1 kann die optimale Annahmepolitik nur lauten: Nehme jedes Frachtstück, das vom Gewicht noch passt, denn das Aufsparen von Kapazität macht keinen Sinn, wenn keine weiteren Anfragen mehr eingehen. Mittels oben angegebener Wahrscheinlichkeitsverteilung kann für jede übrig gebliebene Restkapazität i der erwartete Restwert V1 (i) bestimmt werden: i 0 1 2 3 4 5 6
Hierauf aufbauend kann nun die optimale Annahmepolitik für Stufe k = 2 berechnet werden. Auf Stufe k = 2 stellt sich erstmalig die Frage nach einem Aufsparen von Kapazität für Stufe k = 1: Der erwartete Deckungsbeitrag auf Stufe k = 2 setzt sich (je nach Annahmepolitik) zusammen aus dem auf dieser Stufe generierten erwarteten Deckungsbeitrag r(i,a) und dem Wert der für Stufe k = 1 übrig bleibenden Restkapazität V1 ( j), wobei j die neue (bei Annahme reduzierte) Restkapazität angibt: V2 (i) := max(r(i,a) + ∑ p(i,a, j) · V1 ( j)) a
j
Die Werte für V1 wurden zuvor berechnet. Indem für jeden möglichen Zustand i und jede mögliche Annahmevorschrift a der Wert der Kapazität verglichen wird, kann für jeden Zustand i die optimale Annahmevorschrift ermittelt werden. Die auf Stufe 1 optimale Politik („nehme alles, was passt“) ist hier für einige Zustände bereits definitiv subobtimal, wie folgender Vergleich für i = 3 zeigt: V2 (3,110) = (0.2 · 9 + 0.3 · 4 + 0.5 · 0) + 0.2V1 (0) + 0.3V1 (1) + 0.5V1 (3) = 4.90 aber V2 (3,111) = (0.2 · 9 + 0.3 · 4 + 0.5 · 1) + 0.2V1(0) + 0.3V1 (1) + 0.5V1(2) = 4.50. Man sieht, dass es besser ist, bei Restkapazität von i = 3 ein F1 abzulehnen, als sich die Chance zu verbauen, auf Stufe k = 1 noch ein eventuell angefragtes F3 mitnehmen zu können. Indem man diesen Iterationsprozess fortsetzt, lässt sich für jede beliebige Stufe k die optimale Annahmepolitik bestimmen. Die hierzu gewählte Vorgehensweise der Lösung des rekursiven Gleichungssystems VN (i)
VN−2 (i) := max(r(i,a) + ∑ p(i,a, j) · VN−3 ( j)) a j .. . V0 (i) := 0 wird als stochastische dynamische Programmierung bezeichnet. Die folgende Abbildung vermittelt eine Vorstellung vom asymptotischen Verlauf des Wertes einer gegebenen Kapazität i bei unterschiedlicher Anzahl N verbleibender Frachtanfragen.
4.6 Komplexitätsbewältigung durch Simulation
169
Wert einer gegebenen Restkapazität im Zeitablauf
4.6
Komplexitätsbewältigung durch Simulation
Unter einer Simulation versteht man die Nachahmung von Prozessen eines wirklichen oder gedachten materiellen Systems mit Hilfe eines materiellen oder immateriellen (formalen) Modells. ● Man kann zwei grundsätzliche Simulationstechniken unterscheiden: • Simulation von Ergebnissen von Handlungsalternativen zur Abbildung unsicherer Erwartungen (Monte-Carlo-Simulation) • Simulation einer Abfolge von Ereignissen zur Darstellung mehrstufiger Entscheidungen (Ereignisfolge-Simulation)
4.6.1
Monte-Carlo-Simulation
Die Monte-Carlo-Simulation beschreibt die Ergebnisse der Wahl einer Handlungsalternative mittels Wahrscheinlichkeitsverteilungen. ▲ Insbesondere bei einer großen Zahl von möglichen Umweltvariablen ist es meist zu aufwendig, jeden Zustand explizit in ein Entscheidungsmodell aufzunehmen und jede Alternative für jeden Zustand getrennt zu bewerten. Man greift darum auf Monte-Carlo-Modelle zurück, in der (anstatt einer analytischen Berechnung der Wahrscheinlichkeitsverteilung der Zielgröße aus den Verteilungen der Umweltvariablen) die Umweltvariablen als „Urnen“ mit vogegebener Verteilung interpretiert werden, aus denen jeweils ein konkreter Wert gezogen wird. In ihrer Gesamtheit stellen diese Werte einen konkreten Umweltzustand dar, für den die Zielfunktion berechnet werden kann. Indem dieses Experiment in großer Zahl wiederholt wird, gelangt man zu der gewünschten Verteilung der Zielfunktionswerte für die betrachtete Handlungsalternative.
170
4 Normative Methoden und Verfahren der Entscheidungsfindung
▲ Ein Problem dieser Methode liegt allerdings darin, dass in fast allen entsprechenden Publikationen stillschweigend von unkorrelierten „Urnen“ und damit von unabhängigen Ereignissen ausgegangen wird, was der Realität oft nicht besonders nahe kommt. ■ So wird bei mehrperiodigen Investitionsprojekten die Höhe des Zinses in der Periode t1 z. B. die
Wahrscheinlichkeitsverteilung des Zinses in der Periode t2 beeinflussen. Die Integration solcher ex ante bekannten Korrelationen in das Simulationsmodell ist recht aufwendig und wird daher von gängigen Simulationsumgebungen nicht unterstützt.
4.6.2
Ereignisfolge-Simulationen
● Eine Reihe von mehrstufigen Entscheidungsproblemen ist, bedingt durch die Anzahl der relevanten Umweltzustände oder Handlungsalternativen oder deren Relationen, zu komplex, um sich mittels dynamischer Programmierung lösen zu lassen. Simulationsstudien sollen das Experimentieren an Realsystemen ersetzen, indem sie den Ansatz der MonteCarlo-Simulation auf mehrperiodige Probleme anwenden. In den letzten Jahren haben rechnergestützte Systemsimulationen an Bedeutung gewonnen. Sie konnten sich neben den mathematischen Methodenbanken zu einem wertvollen Instrument der experimentellen Systemforschung entwickeln. ● Betrachtet man die analytischen Methoden der Systemforschung, die in der Simulation zugrunde gelegt werden, so lassen sich zwei wesentliche Aspekte unterscheiden: • Die Simulation entwickelt Prozesse (Zustandsfolgen im Zeitablauf) aufgrund der im Modell dargestellten Wirkungszusammenhänge und Zeitmechanismen. ▲ Analytische Methoden entwickeln i. d. R. keine Zustandsfolgen im Zeitablauf, sondern betrach-
ten die Zustände als Zeitpunkt- oder Zeitraumwerte. • Die Simulation ist ein Probierverfahren, das keinen eigenen Lösungsalgorithmus hat in dem Sinne, dass es selbständig eine optimale Handlungsalternative fände. Vielmehr wird ein Simulationsproblem durch Experimentieren mit zulässigen Systemstrukturen und Ablaufregeln „gelöst“, wenn deren Manipulation zu einem befriedigenden Systemverhalten führt. ● Folgende Phasen im Systemgestaltungs- und -nutzungsprozess lassen sich mithilfe von Simulationen unterstützen: a) Das Systemstudium dient der Erkenntnisgewinnung über das Systemverhalten. Dabei stehen die Analyse und Synthese von Systemen im Vordergrund. Bei der Systemanalyse geht es um die Erforschung der inneren Systemstruktur, d. h. die Anzahl und Art der Wirkungszusammenhänge der Systemelemente. b) Die Systemsynthese baut auf der Systemstruktur auf und betrachtet das Verhalten von Systemkomponenten, die zusammengesetzt werden. c) Der Systementwurf hat die zweckgerichtete Gestaltung von Systemstrukturen und Prozessen zum Ziel. Dabei betrachtet der Konfigurationsentwurf die Suche nach einer Systemstruktur, die ein vorgegebenes Systemverhalten erfüllt. Dagegen hat der Ablaufentwurf die Suche nach Ablaufbedingungen für einen Prozessablauf im Rahmen einer festen Systemstruktur bei gegebenen Nebenbedingungen zum Gegenstand. d) Die Systemschulung dient der Einübung des Systementwurfs, der Systemkontrolle und der Systembedienung. ▲ Aus der Sicht der betrieblichen Entscheidungsunterstützungssysteme sind die Systemanalyse sowie der Systementwurf von besonderer Bedeutung.
4.6 Komplexitätsbewältigung durch Simulation
171
a) Simulation versus Operations Research Zur experimentellen Systemanalyse und zum experiementellen Systementwurf werden häufig auch Verfahren des Operations Research angewendet. Um die Eigenschaften von Simulationssystemen besser verdeutlichen und abgrenzen zu können, soll ein Vergleich mit den Verfahren des Operations Research vorgenommen werden. • Berücksichtigung des Faktors Zeit: ■ Betrachtet man gängige Verfahren des Operations Research, wie z. B. die lineare Programmierung, so findet nur selten eine Berücksichtigung des Faktors Zeit statt. Die entworfenen Modelle sind meist statisch und gelten nur für eine Periode. ■ Eine Ausnahme bildet bspw. die Netzplantechnik, die bei der Systemanalyse und beim Ablaufentwurf von Nutzen sein kann. ● Im Rahmen der Simulation wird die Zeit explizit berücksichtigt, indem z. B. die Anzahl gefertigter Einheiten in einem bestimmten Zeitintervall oder die benötigte Zeitdauer für eine bestimmte Fertigungsmenge betrachtet wird. • Suche nach Optima: ▲ Die meisten Verfahren des Operations Research versuchen, globale oder lokale Optima zu bestimmen. Dabei können Anwendungsprobleme auftreten, sofern die Auffindung (z. B. wegen Ganzzahligkeitsbedingungen) zu lange dauert. ● Simulationsmodelle gehen demgegenüber von keinem Optimierungskalkül aus, sondern stellen das Systemverhalten in den Vordergrund. Anhand der gemessenen Zustands- oder Zeitraumwerte entscheidet sich der Anwender (Simulator) für eine bestimmte Modellstruktur, wobei er nur begrenzte Aussagen hinsichtlich der Optimalität seiner Lösung tätigen kann. Häufig gibt sich der Simulator bereits mit einer für ihn akzeptablen Lösung zufrieden (satisficing). • Berücksichtigung von Risiko bzw. Unsicherheit: ▲ Die meisten Verfahren des Operations Research besitzen deterministischen Charakter. Sie unterstellen sichere Erwartungen. ■ Die explizite Berücksichtigung von Risikoaspekten, d. h. das Eintreten von Ereignissen mit einer bestimmten Wahrscheinlichkeit, findet nur bei wenigen Verfahren, wie z. B. den Netzplantechniken PERT und GERT, statt. ● Simulationsmodelle haben dagegen meist stochastischen Charakter. Mithilfe angenommener Wahrscheinlichkeitsverteilungen können bestimmte Prozesse innerhalb bestimmter Intervalle als zufällig modelliert und die Konsequenzen für das Ergebnis betrachtet werden. • Änderungsflexibilität und Realitätsnähe: ▲ Gängige Optimierungsverfahren sind nicht immer änderungsflexibel. Gerade umfassende Ansätze zur linearen Programmierung bedürfen im Änderungsfall eines beachtlichen zeitlichen Anpassungsaufwands. Dafür verantwortlich ist auch der Aufwand zur Transformation eines beobachteten Realmodells in ein (mathematisches) Formalmodell. Hier greift oft die grundsätzliche Kritik an den Verfahren des Operations Research. ▲ Die Abbildung eines Realproblems stellt in einer Simulationssprache ebenfalls ein Formalmodell dar, jedoch ist dies, je nach verwendetem Sprachkonstrukt, in seiner Notation der menschlichen Denk- und Schreibweise näher als die mathematische Notation. Annahmen über die Wirklichkeit brauchen nicht in lineare Gleichungssysteme übersetzt werden, sondern können verhältnismäßig realitätstreu abgebildet werden.
172
4 Normative Methoden und Verfahren der Entscheidungsfindung
b) Simulationssprachen Eine Simulationssprache ist eine für die Abbildung (Programmierung) eines Simulationsproblems auf dem Rechner benötigte, problemspezifische Programmiersprache, die die problemspezifischen Konstrukte mit wenigen Befehlen übersichtlich abbilden kann. ▲ Die Entwicklung von Simulationssprachen für diskrete Ereignisse geht i. W. auf die Programmiersprachen FORTRAN (Formula Translation) und ALGOL (Algorithmic Language) zurück. Beide Sprachen entstammen primär dem technisch wissenschaftlichen Anwendungsgebiet und eignen sich zur Verarbeitung mathematischer Probleme. Die ersten Simulationsprobleme wurden noch mit diesen Sprachen programmiert, wobei sämtliche simulationsspezifischen Programmkonstrukte, wie z. B. Transaktionen, Bearbeitungsstationen usw. durch bedingte Anweisungen und Schleifen realisiert werden mussten. Diese Form der Problemabbildung war z. T. recht umständlich und keinesfalls der Erlernbarkeit und Transparenz förderlich. ■ Zu bedeutenden Sprachfamilien entwickelte sich die SIMSCRIPT- sowie die GPSS(General Purpose Simulation System)-Gruppe. SIMSCRIPT ist eine weit verbreitete, prozedurale Programmiersprache zur Simulation diskreter Ereignisse. GPSS ist eine dedizierte Sprache zur Abbildung von Warteschlangenproblemen, die ebenfalls für eine Reihe von Rechnertypen erhältlich ist. Um die Strukturen und Eigenschaften von Simulationsprogrammen besser verstehen zu können, soll nachfolgend kurz auf die elementaren Konzepte von Simulationssprachen für diskrete Ereignisse eingegangen werden. ● Grundlegende Konzepte für diskrete Ereignisse: • Transaktionen (transactions) sind temporäre Einheiten mit einem definierten Anfang und einem definierten Ende. Während der Simulation werden Transaktionen generiert (generate) und wieder beendet (terminate). Die Generierung einer Transaktion gehorcht einer Wahrscheinlichkeitsverteilung. Neben dem Generieren ist es notwendig, eine Transaktion eine bestimmte Zeit im System verweilen (advance) zu lassen. ■ Transaktionen ohne Verweildauer verhalten sich wie Personen, die das Drehkreuz eines Ge-
schäfts einmal kurz durchlaufen und das Geschäft sofort wieder verlassen. • Bedienungsstationen (servers) sind im Gegensatz zu Transaktionen keine temporären, sondern dauerhafte Einheiten. Sie bleiben im System während des gesamten Simulationsvorgangs bestehen. Grundsätzlich lassen sich zwei Arten unterscheiden: 1. Einrichtungen (facilities) können in einer bestimmten Zeit nur eine Transaktion bedienen. Sie nehmen diese auf (seize) und geben sie nach erfolgter Abarbeitung wieder ab (release). Die Modellierung einer zweiten, parallelen Einrichtung wird zwecks Neukauf einer zweiten Bearbeitungsmaschine für Welle B notwendig. 2. Ein Speicher (storage) kann mehrere Transaktionen bedienen. Auch diese werden aufgenommen (enter) und anschließend wieder freigegeben (leave). Zur Simulation einer gemeinsamen Bearbeitungsstation ist der Gebrauch des Speicher-Konzepts notwendig.
c) Aufbau und Nutzung von Simulationswerkzeugen ● Die Syntax von Simulationsprogrammen für diskrete Ereignisse folgt einem prozeduralen Sprachstil. Dieser Sprachstil erfordert beim Anwender einen hohen Lernaufwand, ein bestimmtes Maß an Erfahrung und viel Zeit, da – wie bei anderen problemorientierten Programmiersprachen auch – der
4.6 Komplexitätsbewältigung durch Simulation
173
Testaufwand beträchtlich ist. Da diese Prämissen bei Endanwendern relativ selten gegeben sind, wurden Simulationssprachen für Probleme der Entscheidungsunterstützung bisher eher sporadisch eingesetzt. ▲ Verschiedene Softwarehäuser bieten, um dieses Defizit zu überwinden, mittlerweile Simulationswerkzeuge (simulation kits) an, die keine Programmierung erfordern. Der Anwender kann beim Umgang mit diesen Werkzeugen über eine benutzerfreundliche Schnittstelle sein Realitätsproblem relativ einfach modellieren. Der Nachteil der Simulationswerkzeuge liegt jedoch darin, dass sie nicht universell anwendbar sind. Sie können nur für ganz abgegrenzte Aufgabenstellungen, wie z. B. die Simulation von Fertigungsprozessen, eingesetzt werden. ■ Die wichtigsten am Markt erhältlichen Produkte sind SIMFACTORY und XCELL+ zur Simulation von Fertigungsabläufen. Ebenfalls anzutreffen sind Werkzeuge mit Modellgeneratoren, wie z. B. DRAFT oder CAPS und deklarative Systeme, wie z. B. SCERT oder SAM. Ein Teil der vorgenannten Werkzeuge bietet die Möglichkeit der Grafikanimation. ■ Zur Verdeutlichung der Arbeitsweise von Simulationswerkzeugen soll SIMFACTORY nachfolgend näher erörtert werden: SIMFACTORY ist ein benutzerfreundliches Werkzeug zur Entscheidungsunterstützung, das Abläufe und Leistungsprozesse im Produktionsbetrieb durch Simulation vorhersehbar und somit besser planbar macht. Das Werkzeug selbst ist in SIMSCRIPT programmiert und setzt somit auf den logischen Konzepten dieser Simulationssprache auf. Typische Problemstellungen, die mithilfe dieses Werkzeugs bearbeitet werden können, sind: • Welche Stückzahl kann meine Fertigungslinie am Tag produzieren? • Was passiert, wenn die Anordnung der Maschinen verändert wird? • Können Produktionstermine eingehalten werden? • Wie verhält sich die Produktion, wenn Arbeitskräfte eingespart oder hinzugefügt werden? • Wie beeinflussen Maschinenausfälle und Personalmangel das Produktionsergebnis? Um diese Fragen für einen Entscheider beantworten zu können, stellt das betrachtete Werkzeug eine Reihe von Modellelementen zur Verfügung, die mittels Fenstertechnik und Pull-Down-Menüs ausgewählt und spezifiziert werden müssen. Dabei werden grundsätzlich zwei Ebenen unterschieden: Das physische Layout (Konfigurationsentwurf) und die Prozessebene (Ablaufentwurf). • Physisches Layout (Konfigurationsentwurf): Es werden wiederum Arbeitsstationen (stations), Pufferspeicher (buffers), Transportmittel (transporters) sowie Förderanlagen (conveyors) als Konstruktionselemente unterschieden. – In den Stationen wird die Arbeit ausgeführt. – In den Puffern kommen Rohmaterialien an oder warten Zwischenprodukte auf eine weitere Verarbeitung. – Die Transportmittel bilden Einrichtungen ab, die Teile zwischen geographischen Orten nach dem Losgrößenprinzip bewegen. ■ Kräne oder Gabelstapler – Förderanlagen repräsentieren Einrichtungen, die Teile nach dem Fließprinzip bewegen. ■ Fließbänder, Flurförderer, etc. Jedes der vier genannten Konstruktionselemente besitzt eine Reihe von Optionen. Mithilfe der Optionen kann das Verhalten der Elemente beeinflusst werden. Beispielsweise können in Stationen und Puffern unterschiedliche Prinzipien des Materialflusses abgebildet werden. In den Puffern können Lagerhaltungsprinzipien und Kontrollstrategien angewählt werden, die auch in der Praxis auffindbar sind. Transportmittel und Förderer bieten unterschiedliche Ausprägungsformen der Warenaufnahme oder -abgabe.
174
4 Normative Methoden und Verfahren der Entscheidungsfindung • Die Prozessebene bietet ebenfalls eine Reihe von Konstruktionselementen an. Da diese vielfältiger sind, als die der physischen Layoutebene, ist sie komplexer. Die wichtigsten Prozesselemente sind: Abläufe (operations), Prozesspläne (process plans), Ressourcen (resources), Losgrößen (Lots), Rüstzeiten (setup and teardown time) und Ausfallzeiten (down time). – Die Abläufe repräsentieren die Aktivitäten, die im modellierten Produktionssystem stattfinden. – Die Prozesspläne beschreiben die Reihenfolge, in der die Abläufe stattfinden. Zudem stellen sie den Materialfluss zwischen den Elementen der physischen Ebene dar. ■ Arbeitsstationen, Puffer, etc.
Für die Auswertung steht ein umfassendes, integriertes Grafikpaket zur Verfügung. Zudem erlauben Berichte eine direkte Betrachtung von Zahlenmaterial und Kennzahlen. Beispielsweise enthält der Teilebericht Daten über Materialverbräuche, Arbeitsfortschritt, Endprodukte und Produktdurchsätze. ▲ Genügen die von SIMFACTORY angebotenen Standardoptionen nicht den Erfordernissen des
Anwenders, so hat dieser die Möglichkeit, mittels einer deskriptiven Hochsprache eigene ProgrammStatements zu schreiben und in das durch Parameterspezifikation erstellte Simulationsmodell einzufügen.
d) Anwendungsschwerpunkte Anhand der vorgenannten Ausführungen und dem einfachen Anwendungsbeispiel wurde ein maßgeblicher Anwendungsschwerpunkt bereits angesprochen: die Fertigung. ● Im anglo-amerikanischen Sprachbereich sind bereits eine ganze Reihe von Fällen des Einsatzes von Simulationswerkzeugen bekannt. Sie unterscheiden sich i. W. durch die herzustellenden Produkte bzw. die Branche der anwendenden Unternehmen und die zugrunde liegende Fertigungsarten. ■ Es ist auffällig, dass eine Vielzahl der anwendenden Unternehmen im Rüstungsbereich tätig sind. Vermutlich rechtfertigt das hohe Auftragsvolumen einzelner Rüstungsvorhaben und die damit verbundene Planung und Durchführung den Einsatz von Simulationswerkzeugen besonders. ■ Es lassen sich aus dem anglo-amerikanischen Bereich folgende Anwendungsbeispiele anführen: • Ermittlung von Ausrüstungs- und Personalbedarfen zur Fertigung neuartiger Torpedosysteme, • Analyse des Kabelmontageprozesses in Raketensystemen, • Fabriklayout eines Schaumstoffherstellers als Zulieferteil für Automobilsitze (strenges Fließprinzip versus flexible Arbeitsstationen, 2-Schicht- versus 3-Schicht-Betrieb), • Personalbedarfsanalyse und Verkehrssteuerung eines Materialtransportsystems zwischen Endlager und Produktionsstätte bei einem Traktorenhersteller, • Arbeitsablaufs- und Personalbedarfsanalyse bei einem Hersteller von Messinstrumenten, • Modellierung eines Just-In-Time-Liefersystems für Automobilsitze von einem Zulieferer an eine Fertigungsstätte, • Analyse des Auslastungsgrades eines Hochgeschwindigkeitspalletiersystems in einem Elektronikkonzern und • Verbesserung der Arbeitsabläufe in einem Pool von Arbeitsstationen bei einem Computerhersteller. ● Neben diesen Kurzbeispielen aus dem Fertigungsbereich gibt es jedoch noch andere Fassetten des betrieblichen Einsatzes von Simulationswerkzeugen zur Entscheidungsunterstützung. ■ In einem großen Unternehmen der Telekommunikationsbranche wurde der Einsatz von Simulationswerkzeugen „entfremdet“, indem Teile der Unternehmensorganisation abgebildet wurden. Der betreffende Anbieter von Telekommunkationsdiensten erhielt aufschlussreiche Anhaltspunkte über Durchsatzraten, Arbeitszyklen, Engpässe und Synergieeffekte, die sonst nur mithilfe dynamischer Analysen identifizierbar gewesen wären. Die Analyse wurde möglich, indem Datenflüsse als Materialflüsse modelliert wurden.
4.7 Komplexitätsbewältigung durch Methoden der Künstlichen Intelligenz
175
▲ Die Bedeutung von Simulationswerkzeugen wird zudem dadurch bekräftigt, dass diese immer mehr als elementares Managementinstrument gelehrt werden. ■ Bei einem namhaften Hersteller von Halbleiterspeichern wurde ein Teil des Managements, insbesondere die Mitarbeiter in den Stäben, auf breiter Basis im Umgang mit Simulationswerkzeugen geschult, um zukünftig Arbeitslasten, Maschinennutzung und Änderungen der Wartungsstrategien besser vorhersagen zu können. ● Neben Werkzeugen zur Abbildung fertigungsspezifischer Fragestellungen werden Systeme zur Modellierung von computergestützten Fernnetzen (NETWORK), lokalen Netzen (LANNET) sowie Telekommunikationsnetzen (COMNET) angeboten. Die betreffenden Produkte basieren ebenfalls auf der Simulationssprache SIMSCRIPT, verfügen z. T. über Möglichkeiten der Grafikanimation und decken ebenfalls anwendungsproblemspezifische Aspekte ab.
4.7
Komplexitätsbewältigung durch Methoden der Künstlichen Intelligenz
Die Forschung im Bereich Künstliche Intelligenz (KI) versucht, menschliche Problemlösungsverfahren auf einem Rechnersystem nachzuempfinden (Wissensbanken, Unscharfe (Fuzzy-) Logik und Neuronale Netze).
4.7.1
Wissensrepräsentation und Inferenz
▲ Die in den vorangegangenen Abschnitten dargestellten Verfahren zur Entscheidungsunterstützung verlangen vom Entscheidungsträger die Aufbereitung des Entscheidungsfeldes im Kontext des konkreten Entscheidungsproblems. ● Anstelle einer problemspezifischen Aufbereitung des Wissens erfolgt in der KI eine domänenspezifische Aufbereitung, d. h. idealtypisch wird sämtliches, für einen modellierten Ausschnitt der Realwelt relevantes Methodenwissen zusammen mit dem entprechenden Faktenwissen abgebildet. ● Die in diesem Zusammenhang zu lösende Frage lautet: „Lässt sich eine problemunabhängige Beschreibungssprache finden, die neben der Repräsentation von Faktenwissen auch die Repräsentation von Methodenwissen gestattet?“ ▲ Der wohl am häufigsten gewählte Ansatz besteht in der Verkürzung des Methodenbegriffs auf Methodenwissen, welches sich in formaler Logik erster Ordnung abbilden lässt. Eine Inferenzmaschine ist des logischen Schlussfolgerns mächtig. ■ Eine Inferenzmaschine kann aus der Kombination des Faktums „Alle Menschen sind sterblich“ mit
dem Faktum „Sokrates ist ein Mensch“ künstlich intelligent schließen: „Sokrates ist sterblich“. ● Nutzen für den Entscheidungsträger:
a) Der unwissende Entscheidungsträger: Er muss entscheiden, ob Sokrates sterblich ist oder nicht. Sofern er weder über Faktenwissen bzgl. der Klasse der Menschen noch bzgl. der Zugehörigkeit von Sokrates zu dieser Klasse verfügt, kann das Unterstützungssystem Dienste leisten, indem es das nötige Faktenwissen bereitstellt und sofort sinnvoll verknüpft. b) Der „eilige“ Entscheidungsträger: Er verfügt zwar über den gleichen Wissenshorizont wie das Unterstützungssystem aber über eine langsamere „Inferenzmaschine“.
176
4 Normative Methoden und Verfahren der Entscheidungsfindung ■
4.7.2
Ein klassisches Beispiel stellt in diesem Zusammenhang die Bewertung des nächsten Zuges beim Schachspiel dar: Ein schlechter Schachspieler kennt zwar (meist) alle Regeln und alle aktuellen Positionen auf dem Brett, die Deduktion des Wissens, ob ein Zug zur Klasse der zum Sieg führenden Züge gehört, kann aber erst nach einer Vielzahl von Inferenzen beantwortet werden, zu deren vollständigen Durchführung auch der Schachcomputer nicht fähig ist. Die Anzahl der in einem begrenzten Zeitraum durchführbaren Inferenzen (= Schlussfolgerungen) liegt jedoch beim Schachcomputer weit höher.
Monotone versus nichtmonotone Logik
Für den Fall, dass Schlussfolgern allein auf sicherem Wissen über die Realwelt basiert, kommt der Entscheidungsträger nicht in die Verlegenheit, seine Deduktionen jemals überdenken zu müssen. ■ Die einmal gefolgerte Konklusion bzgl. der Sterblichkeit von Sokrates bleibt als abgeleitetes Faktenwissen von Bestand. ● Oftmals bleibt jedoch die 1:1-Abbildung der zu modellierenden Welt verwehrt: Vereinfachende, oft unbegründete aber unverzichtbare Annahmen sind zu treffen und einmal getroffene Annahmen im Zeitablauf zu revidieren. Monotones Schließen bedeutet, dass das Hinzufügen eines neuen Datums zu einer bestehenden Theorie die Anzahl der Inferenzen, die aus den gegebenen Annahmen zu ziehen sind, nur erhöhen, aber niemals vermindern kann. ■ Sollten wir allerdings die durchaus sinnvolle Annahme getroffen haben, alle Vögel könnten fliegen, so wäre es sinnvoll, die Deduktion, Vogel Hansi könne fliegen, dann zurückzunehmen, wenn wir in Erfahrung bringen, dass es sich bei Hansi um einen Pinguin handelt. ● Erweiterungen der monotonen Logik: • Die Default-Logik (Reiter) wird implizit von vielen Systemen zur Wissensrepräsentation unterstützt: Durch die Zusammenfassung gleichartiger Objekte (z. B. Hansi, Susi und Lora) zu einer Klasse (Vögel), wird es möglich, bestimmten Attributen auf Klassenebene Defaultwerte zuzuweisen. ■ Reiter’sche Lösung des Problems nicht fliegender Vögel: „Wenn nichts Gegenteiliges bekannt,
so ist anzunehmen, dass Vögel fliegen.“ Der Teil „nichts Gegenteiliges bekannt“ wird von Reiter ausgelegt als „es ist mit bisher Bekanntem vereinbar, anzunehmen.“. ■ So würde man dem Prädikat „Flugtüchtigkeit“ für die Klasse der Vögel den Defaultwert TRUE
zuweisen, diesen jedoch für Hansi respektive die Unterklasse der Pinguine mit FALSE überschreiben. ▲ Die Konsistenzprüfung des Defaults im Inferenzprozess ist jedoch äußerst zeitaufwending,
weshalb den im Folgenden genannten Verfahren meist der Vorzug gegeben wird. • Die Annahme der geschlossenen Welt (Closed World Assumption) geht im Vergleich zur DefaultLogik den umgekehrten Weg: ● Wahrheitswerte, die nicht explizit TRUE gesetzt worden sind, werden als FALSE angenommen,
sofern die FALSE-Annahme mit dem restlichen Wissen konsistent ist. ▲ Identische Aussagen können allerdings, je nach Formulierung, zu unterschiedlichen Annahmen
führen: ■ (1) ledig(x) == not(verheiratet(x))
(2) verheiratet(x) == not(ledig(x))
4.7 Komplexitätsbewältigung durch Methoden der Künstlichen Intelligenz
177
Sofern wir über den Familienstand eines Individuums x nicht informiert sind, führt die Annahme der geschlossenen Welt in Fall (1) zur Annahme, x sei ledig, in Fall (2) dagegen zur Annahme, x sei verheiratet. • Truth Maintenance Systeme (TMS) gewährleisten die Konsistenz der Wissensbasis zu jedem Zeitpunkt des Inferenzprozesses. Die Problemlösungskomponente wird mit Informationen bzgl. der Abhängigkeiten zwischen dem zu berechnenden Datum (Konsequenz) und den zu seiner Berechnung erforderlichen Daten (Antezedenten) versorgt. ■ DeKleer führt in seinem ATMS (assumption-based TMS) folgende Begriffe ein:
– Knoten repräsentieren jeweils ein Datum. – Justification beschreibt, aus welcher Konjunktion von Antezedenten ein Knoten abgeleitet werden kann (womit sie einer Horn-Klausel gleichkommt). Die Negierung von Literalen ist hierbei nicht statthaft. – Assumptions sind terminale Knoten im Netzwerk der Justifications, d. h. sie besitzen selbst keine Rechtfertigungen und werden von der Problemlösungskomponenente anlässlich einer zu treffenden Entscheidung eingeführt. – Environment ist eine Menge von Assumptions. Ein Environment wird als NOGOOD bezeichnet, wenn sich der FALSE-Knoten aus ihm ableiten lässt, d. h. die getroffenen Assumptions inkonsistent sind. Mithilfe von NOGOODs lässt sich bspw. ausschließen, dass ein das Faktum „es regnet“ repräsentierender Knoten gleichzeitig mit einem „es regnet nicht“- Knoten zu TRUE evaluieren kann. – Kontext besteht aus einem konsistenten Environment zuzüglich der aus ihm ableitbaren Knoten. – Label des Knotens ist die Menge aller Kontexte, in denen ein Knoten gilt. ▲ Das ATMS weist also nicht dem Kontext Daten zu, sondern assoziiert zu jedem Datum gültige Kontexte. ▲ Wenn die Inferenzmaschine eine neue Justification übergibt, wird durch Kombination der Label
der Antezedenten und Vergleich mit dem bereits existierenden Label des Konsequenz-Knotens dessen neues Label berechnet. Zunächst wird hierzu die Schnittmenge der Kontexte bestimmt, in denen alle Antezedenten gelten. Diese Menge wird mit der Menge der Kontexte vereinigt, in denen der Konsequenz-Knoten aufgrund anderer Justifications schon gilt. ● Die Hauptvorteile einer solchen Vorgehensweise liegen in der Konsistenz von Labels (inkonsis-
tente Environments treten in Labels nicht auf und haben folglich auch keine Kontexte), in der Vollständigkeit von Labels (nur Knoten, die in keinem Kontext gelten, haben leere Labels. Der Problem Solver verbringt keine Zeit mit irrelevanten Knoten) und der Minimalität von Labels (jeder Label enthält die kleinstmögliche Zahl disjunkter Environments, die wiederum auf der kleinstmöglichen Zahl nötiger Assumptions basieren). ▲ Alle drei Punkte tragen zum Effizienzvorteil bei, der ein ATMS gegenüber konventionellen
Verfahren (z. B. backtracking) auszeichnet. ■ Dressler zeigt, dass sich das Basis-ATMS unter Einführung eines neuen Knotentyps, den OUT-
Assumptions (ein Datum sei OUT, wenn es als FALSE bekannt oder weder als TRUE noch FALSE bekannt, d. h. UNKNOWN ist), auf nichtmonotone Justifications erweitern lässt. Die Liste der Antezedenten nichtmonotoner Justifications besteht aus zwei Teilen, der IN-Liste und der OUT-Liste. Eine Justification hält nur dann, wenn jeder Knoten der IN-Liste TRUE und jeder Knoten der OUT-Liste OUT, d. h. FALSE oder UNKNOWN ist.
178
4 Normative Methoden und Verfahren der Entscheidungsfindung
4.7.3
Repräsentation unsicheren Wissens
▲ Die bisherige Darstellung von Methoden der Künstlichen Intelligenz konzentrierte sich ausschließlich auf deterministische Problemstellungen, d. h. ein in den Schlussfolgerungsprozess eingehendes Datum A war ex ante entweder als wahr oder als falsch bekannt. Auch im Bereich der Künstlichen Intelligenz wurden Methoden entwickelt, die es gestatten, vages Wissen in ein Modell miteinzubeziehen. ● Ansätze zur Verarbeitung von Unsicherheit lassen sich nach Pearl in die zwei grundsätzlichen Kategorien der extensionalen und intensionalen Ansätze unterscheiden. ■ Das bereits Anfang der siebziger Jahre in Stanford entwickelte und den extensionalen Systemen zuzurechnende Expertensystem MYCIN zur medizinischen Diagnose und Behandlung von Blutkrankheiten erlaubt die Einbeziehung so genannter Certainty Factors (Sicherheitsfaktoren) in den Diagnoseprozess: Wenn der Patient über die Symptome s1 . . . sk klagt und gewisse Nebenbedingungen n1 . . . nm eingehalten werden, so ist davon auszugehen, dass Infektion di mit einem Certainty Factor cfi von z. B. 0,37 vorliegt. Die verwendeten Sicherheitsfaktoren liegen im Intervall [-1,1], wobei die Werte 1 bzw. -1 für eine sichere Annahme der gefolgerten Infektion bzw. einen sicheren Ausschluss derselben repräsentiert. So vielversprechend dieser Ansatz auf den ersten Blick aussehen mag, so unüberbrückbar sind doch seine Mängel: Da sich nach den Regeln von MYCIN cf für die Annahme des gleichzeitigen Vorliegens von d1 und d2 als min[cf(d1 ),cf(d2 )] berechnet, können im Falle nicht vorhandener Unabhängigkeit von d1 und d2 (z. B. bei sich gegenseitig ausschließenden Krankheiten) ungerechtfertigte Certainty Factors errechnet werden. ▲ Dem Effizienz-Vorteil einer einheitlichen Certainty-Funktion für alle Regeln des Systems stehen entscheidende Nachteile gegenüber: a) Inkohärentes Updating verbunden mit Schwierigkeiten bei der Rücknahme von Folgerungen b) Unsaubere Verarbeitung korrelierter Evidenzquellen ■ Hierfür wird oft auf das Tschernobyl-Beispiel verwiesen: Nach dem Reaktorunfall berichteten
drei (scheinbar) unabhängige Quellen von Tausenden von Toten (Radio, TV, Zeitungen), was den Certainty Factor einer solchen Aussage drastisch in die Höhe trieb. Verborgen blieb jedoch der Umstand, dass alle drei Nachrichtenmedien ihre Information aus einem Telefoninterview mit ein und demselben (!) Korrespondenten in Moskau bezogen und daher eine positive Korrelation von eins aufwiesen. c) Unsauberer Umgang mit bidirektionalen Inferenzen Man könnte als Abhilfe hierfür nur noch diagnostische, nicht jedoch vorhersagende Inferenzen zulassen, womit jedoch die Möglichkeit des „explaining away“ entfällt. ■ Die Wahrscheinlichkeit, dass ein Verdächtiger den Mord begangen hat, sinkt, wenn er eine andere
Begründung für seinen Aufenthalt am Tatort geben kann. ▲ Belief-Netzwerke weisen als intensionales System viele der eben besprochenen Nachteile nicht auf. Ein Bayes’sches Belief-Netz ist ein azyklischer Graph, dessen Knoten Zufallsvariablen (z. B. bestimmte Zustände der Umwelt) repräsentieren, die zwei oder mehr mögliche Werte annehmen können. Für jedes Element der Menge direkter Gründe Si eines Knotens Xi wird eine Kante zu diesem Knoten Xi gezogen. Die Stärke dieser direkten Einflüsse wird mithilfe einer Matrix bedingter Wahrscheinlichkeiten P(xi |si ) beschrieben, die für jede Wertekombination si der Menge direkter Gründe angibt, wie wahrscheinlich es ist, dass der Knoten Xi einen bestimmten Wert annimmt. Die Revision von Beliefs erfolgt verteilt, d. h. jeder Knoten „verschickt“ autonom Nachrichten an seine Vorgänger bzw. Nachfolger.
4.7 Komplexitätsbewältigung durch Methoden der Künstlichen Intelligenz
179
● Hierbei ist die Unterscheidung zweier Typen von Nachrichten von Bedeutung: • λ -Nachrichten (evidential support) werden an Vorgängerknoten verschickt, d. h. sie sind Maß für die Wahrscheinlichkeit, die einer Ursache durch die aufgetretenen Symptome, d. h. die Evidenz, zukommt. • ϕ -Nachrichten (causal support) dagegen werden in Kantenrichtung verschickt und stehen für die ursächliche Absicherung, die ein Symptom erhält. ▲ Auf diese Weise werden bidirektionale Inferenzen ermöglicht, ohne Gefahr zu laufen, zirkuläre Inferenzen zu erzeugen. ■ Bayes’sche Belief-Netze werden seit Mitte der 90er-Jahre zunehmend auch kommerziell eingesetzt. So bestimmt z. B. nach Angaben von Microsoft die Office-Hilfe-Funktion von Office97 mögliche Fehlerursachen mithilfe eines Bayes’schen Belief-Netzes.
4.7.4
Entscheidungen bei Unschärfe
In den Abschnitten über Entscheidungen bei Risiko (4.3) und Ungewissheit (4.4) wurde dargelegt, wie ein Entscheidungsträger rational mit Entscheidungssituationen umgeht, die durch ein Fehlen von Information geprägt sind. Diese fehlende Information beschränkte sich allerdings auf die Frage, mit welcher Wahrscheinlichkeit einer der vorgegebenen Umweltzustände eintreten werde. ▲ In einer Vielzahl von Entscheidungssituationen ist allerdings das Problem des Entscheidungsträgers darin zu sehen, dass durchaus Informationen verfügbar sind, die in ihnen vorkommende Unschärfe es allerdings nicht erlaubt, sie in ein probabilistisches Entscheidungsmodell zu integrieren. ■ Investitionsproblem: (s. Abschnitt 4.3) Dem Entscheidungsträger sei eine Unternehmensrichtlinie bekannt, die aussagt, dass eine Investitionsmöglichkeit dann als gut zu bewerten ist, wenn sie eine mittlere Verzinsung bei geringem Risiko oder eine hohe Verzinsung bei mittlerem Risiko verspricht. Eine Investitionsmöglichkeit ist dann abzulehnen, wenn sie entweder eine zu niedrige Verzinsung aufweist oder ein zu hohes Risiko mit sich bringt. Der Entscheidungsträger steht nun vor der unangenehmen Aufgabe, diese Leitlinien geeignet zu operationalisieren. Das bislang vorgestellte Instrumentarium zur Entscheidungsfindung ist offenbar nicht in der Lage, eine auf solch unscharfen Definitionen basierende Information adäquat abzubilden. Allerdings operieren wir im täglichen Leben ständig mit so genannten linguistischen Variablen, durch die wir den Attributwert eines bestimmten charakterisierten Objekts zu beschreiben versuchen. ● Die Frage ist, wie sich linguistische Quantoren (wie bspw. „groß“, „zu groß“, „angemessen“)
geeignet auf die durch sie beschriebenen quantifizierbaren Phänomene abbilden lassen. Im konkreten Fall bedeutet dies also, dass der Entscheidungsträger herausfinden muss, ob es sich bei einem Zinssatz von 7 %, wie er durch die Bundesobligation generiert wird, um einen niedrigen oder gar einen sehr niedrigen Zinssatz handelt. Mengentheoretisch gesprochen geht es also um die Frage, welche Elemente der Menge der möglichen Zinssätze ebenfalls der Menge der niedrigen Zinssätze angehören bzw. zur Menge der sehr niedrigen Zinssätze zu rechnen sind. Die klassische Mengenlehre im Cantor’schen Sinne kennt nur die Zugehörigkeit bzw. die Nichtzugehörigkeit eines gegebenen Elements zu einer Menge. Wenn der Entscheidungsträger sich also dazu durchringt zu spezifizieren, dass Zinssätze von 0 % - 6,5 % als zu niedrig gelten, Zinssätze von 6,5 % - 9 % dagegen als niedrig, so wird er sich zu Recht fragen lassen müssen, warum für ein Wertpapier mit einer Verzinsung von 6,50001 % eine grundlegend andere Bewertung gelten soll als für ein Wertpapier mit einer Verzinsung von 6,5 %. ▲ Im Folgenden werden die Grundzüge der Fuzzy-Logik anhand eines Beispiels kurz dargestellt. Für eine detailliertere Darstellung siehe Kapitel 28.
180
4 Normative Methoden und Verfahren der Entscheidungsfindung
Erweiterung der Cantor’schen Mengendefinition (Zadeh) zur Repräsentation unscharfer Mengen: Für jedes Element x einer Grundmenge X (in unserem Fall die Menge aller möglichen Zinssätze) wird hierzu eine Membership-Funktion definiert, die jedem x eine reelle Zahl fA (x) ∈ [0,1] zuweist, die seinen Zugehörigkeitsgrad zur unscharf beschriebenen Teilmenge A definiert. ■ Die Abbildung zeigt für jeden möglichen Zinssatz Z seine Zugehörigkeit zu den unscharf definierten Mengen „zu geringe Verzinsung“, „geringe Verzinsung“, „mittlere Verzinsung“ sowie „hohe Verzinsung“.
A
C
B
Definition linguistischer Variablen für Zinssatz ▲ Die hier dargestellten Membership-Funktionen sind vom Entscheidungsträger willkürlich festgelegt,
tragen aber der Tatsache Rechnung, dass sich die Definitionsbereiche der angesprochenen linguistischen Variablen teilweise überlappen. Es ist erkennbar, dass eine Verzinsung von 3 % auf jeden Fall als zu gering eingestuft werden kann, eine Zugehörigkeit zur Menge der geringen bzw. mittleren Verzinsungen kommt hier überhaupt nicht in Betracht. Eine Verzinsung von 9 % kann dagegen zu einem gewissen Grade sowohl den niedrigen als auch den mittleren Verzinsungen zugerechnet werden. Es wird deutlich, dass eine Verzinsung von 12,5 % (Fall B) vom Entscheidungsträger zu einem gewissen Grad (nämlich 0,25) als hoch eingeschätzt wird, zu einem Grad von 0,5 allerdings auch als mittlere Verzinsung gelten kann. Analoge Definition unscharfer Teilmengen für die linguistische Bewertung des Risikos der Investitionsalternativen:
Definition linguistischer Variablen für Risiko Der Entscheidungsträger wird jetzt in die Lage versetzt, die in den Unternehmensleitsätzen auftretenden linguistischen Variablen zu quantifizieren. Er steht nun allerdings noch vor der Aufgabe, die in
4.7 Komplexitätsbewältigung durch Methoden der Künstlichen Intelligenz
181
ihnen auftretenden Operatoren UND und ODER in der einen oder anderen Weise als mathematische Operatoren zu spezifizieren. Die Frage lautet also, inwieweit eine Handlungsalternative (wie hier Handlungsalternative B), die mit einem Grad von 0,25 zur Menge der Investitionsmöglichkeiten mit hoher Verzinsung gehört, allerdings mit einem Grad von 0 zur Menge der Investitionsmöglichkeiten mit mittlerem Risiko, zur Schnittmenge der Investitionsmöglichkeiten mit hoher Verzinsung und mittlerem Risiko gehört. In diesem Fall wird man sich wohl recht schnell auf eine Zugehörigkeit von 0 einigen, da von einem mittleren Risiko überhaupt nicht gesprochen werden kann. Inwiefern gehört nun aber bspw. Investitionsmöglichkeit C zur Menge der Investitionsmöglichkeiten mit mittlerer Verzinsung und geringem Risiko, wenn der Grad der Zugehörigkeit zur Menge der Investitionsmöglichkeiten mit mittlerer Verzinsung 1 beträgt und der Zugehörigkeitsgrad zur Menge der Investitionsmöglichkeiten mit geringem Risiko 0,461? Definition von Operatoren zur Abbildung logischer Verknüpfungen (Zadeh): UND-Verknüpfung: Zugehörigkeitsgrad des Elements zur Schnittmenge zweier unscharfer Mengen entspricht dem Minimum aller Zugehörigkeitsgrade der verknüpften Mengen. fA∩B (x) = min ( fA (x), fB (x)) ODER-Verknüpfung: Für die Vereinigung unscharfer Mengen wird analog das Maximum der partiellen Zugehörigkeitsfunktionen verwendet. fA∪B (x) = max ( fA (x), fB (x)) . ▲ Neben den Minimum- und Maximumoperatoren werden aber auch das algebraische Produkt bzw. die algebraische Summe diskutiert, sowie die Anwendung kompensatorischer Operatoren, die es dem Anwender gestatten, zu spezifizieren, ob und wenn ja, in welchem Umfang die mittels UND- bzw. ODER-Operatoren verknüpften Mengenzugehörigkeiten in einer Substitutionsbeziehung stehen. ▲ Eine einheitliche Verwendungsempfehlung für den bzw. die „richtigen“ Verknüpfungsoperatoren kann nicht gegeben werden, da empirische Untersuchungen zu ihren Einsatzmöglichkeiten großteils zu widersprüchlichen Ergebnissen geführt haben. ■ Investitionsbeispiel: Für die klassischen Minimum-Maximum-Operatoren ergibt sich für den Zugehörigkeitsgrad der einzelnen Investitionsmöglichkeiten zu der Menge der guten Investitionen ((Verzinsung hoch UND Risiko mittel) ODER (Verzinsung mittel UND Risiko gering)): fgut = max (min( fZ hoch ; fR mittel ) ) ; min( fZ mittel ; fR gering ) . oder in Zahlen: fgut (A) = max(min(0; 0); min(0; 1)) = 0 fgut (B) = max(min(0,25; 0); min(0,5; 0)) = 0 fgut (C) = max(min(0; 0,39); min(1; 0,461)) = 0,461 Für die Zugehörigkeit zur Menge der abzulehnenden Investitionsmöglichkeiten (zu geringe Verzinsung oder zu hohes Risiko) ergeben sich folgende Werte: fabzulehnen (A) = max(0,33; 0) = 0,33 fabzulehnen (B) = max(0; 0,75) = 0,75 fabzulehnen (C) = max(0; 0) = 0
182
4 Normative Methoden und Verfahren der Entscheidungsfindung
Der Entscheidungsträger erkennt, dass weder die Bundesobligationen noch die Anleihen der Junk& Bonds Inc. den Unternehmensleitlinien genügen (siehe Abschnitt 4.4.1). Allenfalls die Aktien der Treu&Glauben AG können (mit gewissen Einschränkungen) als gutes Projekt klassifiziert werden. Man kann sich leicht vorstellen, dass die im Abschnitt über Künstliche Intelligenz diskutierte Verwendung von Regelwerken nicht auf der Basis zweiwertiger Logik aufgebaut wird, sondern eine Erweiterung um Elemente der Fuzzy-Logik erfährt. ● Neben eine unscharfe Wissensrepräsentation muss dann allerdings auch eine Fuzzy-Inferenz-Maschine treten. Sie hat insbesondere auch Inkonsistenzen zu beseitigen, die durch den Ablauf teilweise widersprüchlicher Schlussfolgerungsketten verursacht werden. Neben diesen Ansätzen hat aber auch das klassische Modell der Darstellung von Entscheidungsfeldern zahlreiche „Fuzzyfizierungen“ erfahren: ▲ Watson, Weiss und Bonnell sowie auch Dubois und Prade stellen bspw. die Fähigkeit des Entscheidungsträgers infrage, für unsichere Ereignisse wohldefiniert subjektive Wahrscheinlichkeiten spezifizieren zu können. Ihrer Meinung nach sollte es ihm ermöglicht werden, den einzelnen Umweltzuständen anstelle der Zuweisung einer fest spezifizierten Wahrscheinlichkeit unscharfe A-priori-Wahrscheinlichkeiten zuzuordnen. Anhand dieser Wahrscheinlichkeiten kann dann für jede Handlungsalternative ein unscharfer Erwartungsnutzen errechnet werden. Bei einer großen Anzahl von wählbaren Handlungsalternativen kann sich auch die Frage stellen, ob anstatt der Lösung eines äußerst umfangreichen Entscheidungsproblems das Problem zunächst auf einer höheren Aggregationsebene gelöst werden sollte. Tanaka, Okoda und Asai entwickeln ein Verfahren zur Auswahl der durch Aggregation gewonnenen Fuzzy-Alternativen. ■ Ein ähnliches Vorgehen kann sich natürlich auch für die Auswahl der möglichen Umweltzustände anbieten. In unserem Investitionsbeispiel wurde idealtypisch davon ausgegangen, dass die konjunkturelle Entwicklung im nächsten Jahr nur einen von vier möglichen Wegen einschlagen kann. Um mit Laux zu sprechen, haben wir uns durch eine solche Darstellung implizit dafür entschieden, die einzelnen Umweltzustände zu bündeln und jedes dieser Bündel durch seinen „mittleren“ Umweltzustand zu repräsentieren. ▲ Eine Erweiterung des oben dargestellten Punktbewertungsverfahrens für den Fall, dass es dem Entscheidungsträger weder möglich ist, • den zu aggregierenden Einzelbewertungen eindeutige Gewichte zuzuordnen, • noch zu eindeutigen Nutzenbewertungen Φ ik für die einzelnen Alternativen zu gelangen, ist durch die Anwendung „fuzzyfizierter“ Nutzenwerte Φ ik sowie die „fuzzyfizierte“ gewichtete Addition dieser Partialnutzen möglich (Baas und Kwakernaak). ▲ Darüber hinaus sind auch Optimierungsmodelle des Operations Research in den letzten Jahren um Darstellungsformen unscharfer Zusammenhänge erweitert worden. Insbesondere die „Aufweichung“ der Nebenbedingungen linearer Programmierungsmodelle spielte hierbei eine herausragende Rolle.
4.7.5
Neuronale Netze
Neuronale Netze beschreiten einen anderen Weg zur Bewältigung komplexer Problemstellungen, insbesondere im Bereich der Mustererkennung. ■ Sprach-, Bild- und Schrifterkennung
4.8 Heuristische Suchverfahren
183
Es wird versucht, gewisse Funktionsweisen des menschlichen Gehirns auf einem Computer zu imitieren. Neuronen bilden als kleinste Schalt- und Speichereinheiten des Gehirns ein kommunizierendes Netzwerk, das in der Lage ist, die Signale externer Rezeptoren (z. B. Augen und Ohren) zu verarbeiten. ▲ Im Laufe der Entwicklung eines Menschen bilden sich Verbindungen zwischen den einzelnen Neuronen aus, die dem menschlichen Gehirn ermöglichen, die Signale zu erkennen und bestimmte Reaktionen auszuführen. Diese Reaktionen sind Ergebnis eines Lernprozesses. ● Die Lernfähigkeit stellt den wesentlichen Unterschied zwischen Neuronalen Netzen und konventionellen Informationssystemen einschließlich anderer KI-Ansätze dar. ▲ Während bei konventionellen Systemen ein Fachkonzept (Lösungsansatz) auf dem Computer umgesetzt wird, stellt ein Neuronales Netzwerk keine Lösungsansätze zu Verfügung, sondern einen allgemeinen Mustererkennungsalgorithmus, der seine Fähigkeit zur Lösung von Problemen durch Lernen erhält. Dies ist zugleich die Stärke und die Schwäche dieses Ansatzes. Vorteile: • Ein solches System kann für verschiedene Einsatzgebiete verwendet werden. • Der Lernprozess kann im Prinzip im Einsatz fortgesetzt werden, weswegen eine Anpassung an graduelle Veränderungen der Problemstellung (quasi-)automatisch erfolgen kann. Nachteile: • Die intelligente Lernstrategie ist ein kritischer Erfolgsfaktor. • Eine direkte Überprüfung der Ergebnisse durch „Nachrechnen“ ist nicht möglich, da kein Fachkonzept zugrunde liegt. • Die Anwendbarkeit ist fragwürdig in Bereichen, in denen der Mensch, als ein System mit einem um viele Ordnungen leistungsfähigeren Neuronalen Netz, bereits Schwierigkeiten bei der Problemlösung hat. ■ z. B. komplexe Zuordnungs- und Reihenfolgeprobleme wie Tourenplanung ▲ Eine umfassende Darstellung Neuronaler Netze findet sich in Kapitel 28.
4.8
Heuristische Suchverfahren
Man unterscheidet zwei grundlegende Paradigmen der Suche nach einer (möglichst guten) Lösung: Verfahren der Problemraumsuche zerlegen komplexe Probleme sukzessive in einfachere, bis schließlich auf der „Blattebene“ dieser Zerlegungshierarchie eine zufrieden stellende Lösung gefunden wird (vgl. BestFirst-Search-Verfahren der Künstlichen Intelligenz). Verfahren der Lösungsraumsuche (auch lokale Suche genannt) versuchen dagegen, eine (meist schlechte zufällige) Ausgangslösung si im Lösungsraum S in eine bessere zu transformieren, um ausgehend von dieser abermals eine Verbesserung durchzuführen. Ein Nachbarschaftsgraph mit NX ⊆ S×S als Kantenmenge definiert hierbei, welche Nachbarn s j in einem Suchschritt von Lösung s j erreichbar sind. Die Zielfunktion f : S → R definiert bildlich gesprochen zusammen mit diesem Nachbarschaftsgraphen N ein Zielfunktionsgebirge. Klassische Verbesserungsverfahren wählen den ersten Nachbarn s j von si , der einen kleineren Zielfunktionswert (bei Minimierungsziel) aufweist, um die Suche in dessen Nachbarschaft fortzusetzen. Existiert kein besserer Nachbar, so gilt si als lokales Optimum (Minimum) und das Verbesserungsverfahren terminiert. Exakte Nachbarschaft: Eine Nachbarschaft N heißt dann exakt, wenn jedes lokale Optimum auf Grund der Nachbarschaftsstruktur mit dem globalen Optimum s∗ zusammenfällt, das Gebirge also keine „Nebentäler“ aufweist. Leider sind für viele Problemstellungen nur sehr große Nachbarschaften exakt, für die dann bereits die enumerative Bewertung aller Nachbarn einer einzigen Lösung nicht mehr praktikabel ist.
184
4 Normative Methoden und Verfahren der Entscheidungsfindung
4.8.1
Simulated Annealing
Um auch bei nicht exakter Nachbarschaft die Wahrscheinlichkeit des Verfehlens der global optimalen Lösung zu reduzieren, entwickelte Kirkpatrick in Analogie zur Thermodynamik das so genannte Simulated Annealing (SA, zu deutsch simuliertes „Ausglühen“). Unterschiede zu reinen Verbesserungsverfahren: ● Die Nachbarn der augenblicklichen Konfiguration si werden nicht systematisch auf ihren Zielfunktionswert untersucht. Aus allen Nachbarn in N(si ) wird vielmehr mittels einer gleichverteilten Wahrscheinlichkeit PiGj ein Nachbar s j ausgewählt. ● Lösung si wird auch zugunsten eines schlechteren Nachbarn s j verworfen, allerdings nur mit der Annahmewahrscheinlichkeit PiAj (so genannte Metropoliswahrscheinlichkeit). 1, f (s j ) < f (si ) PiAj (T ) = f (si ) e− f (s j )− T , f (s j ) ≥ f (si ) Diese hängt außer vom Ausmaß der Zielfunktionsverschlechterung von einer exogenen Variable T ab, die gemäß der physikalischen Analogie als Temperatur bezeichnet wird. Ist sie sehr groß, gleicht die Suche einem „random walk“ durch den Lösungsraum S. Wird andererseits T auf einen Wert nahe null gesetzt, gleicht SA einem reinen Verbesserungsverfahren. ● Die Überlegung des SA besteht nun darin, die Suche mit hohem T zu beginnen und danach T im Laufe der Suchschritte, die insgesamt durchgeführt werden, langsam abzusenken. ● SA-Verfahren können grundsätzlich als Markov-Kette modelliert werden, wobei die folgenden Übergangswahrscheinlichkeiten von Zustand si zu Zustand s j gelten: PiGj (T ) · PiAj (T ) , ∀ j = i |S| Pi j (T ) = 1 − PilG (T ) · PilA (T ) , j = i ∑ =1 =i
▲ Die Konvergenz einer Suche mit SA gegen das globale Optimum in S kann sichergestellt werden, sofern die Abkühlung der Temperatur T hinreichend langsam vonstatten geht und so die Ergodizität der Markov-Kette gewährleistet ist. ■ In empirischen Tests zeigte sich aber, dass eine Abkühlung, für die eine Kovergenz garantiert werden kann, meist zu unvertretbar langen Rechenzeiten führt. Allerdings lassen sich auch mit zu schneller Abkühlung fast immer bessere Ergebnisse erzielen als mit der Anwendung klassischer Verbesserungsverfahren.
4.8.2
Tabu Search
In der Tabu-Suche wird ein anderer Ansatz gewählt, um lokalen Minima zu entkommen: Sind alle Nachbarn einer Lösung schlechter als die augenblickliche Lösung si , wird die Suche mit dem s j fortgesetzt, welches die kleinste Verschlechterung bewirkt. Mithilfe einer so genannten Tabu-Liste der letzten n Lösungen, deren erneutes Aufsuchen untersagt ist, wird das Oszillieren der Suche zwischen dem lokalen Minimum und nur wenigen benachbarten Lösungen vermieden.
4.8 Heuristische Suchverfahren
4.8.3
185
Genetische Algorithmen
Genetische Algorithmen (GA) unterscheiden sich insofern von SA und reinen lokalen Verbesserungsverfahren, als nicht ein Punkt si den jeweils aktuellen Zustand der Suche im Lösungsraum S widerspiegelt, sondern eine Population POP = I1 ∈ S, I2 ∈ S, . . . ,I|POP| ∈ S ∈ S|POP| von mehreren „Individuen“ sich auf die Suche begibt. Für jedes einzelne Individuum der Population besteht nun durch Mutationsoperatoren die Möglichkeit, sich wie bei den oben beschriebenen Verfahren in die lokale Nachbarschaft NM(Ik ) zu bewegen, d. h. die Variable Ik ändert ihren Wert von der augenblicklichen Lösung si zu einer Lösung s j ∈ NM(si ) in deren unmittelbarer Nachbarschaft. ● Zusätzlich zu dieser Mutationsnachbarschaft NM⊆ S × S, also den mittels einer einzigen Mutation erreichbaren Punkten im Lösungsraum, existiert bei GA allerdings noch die Crossover-Nachbarschaft NX ⊆ S × S × S . Diese ternäre Relation definiert, welche Konfigurationen sk des Lösungsraums mittels eines einzigen Crossovers ausgehend von zwei Konfigurationen si und s j erreicht werden können. Die Menge der Crossover-Nachbarn für zwei spezifische Konfigurationen wird mit NX(si ,s j ) = {sk |(si ,s j ,sk ) ∈ NX} bezeichnet. ▲ Unter einem Crossover hat man sich analog zur belebten Natur die Rekombination von „genetischem Material“ zweier Individuen vorzustellen. Das gezeugte „Kind“ erbt strukturelle Eigenschaften von „Mutter“ und „Vater“. ● Die Menge der von einer gegebenen Population POP insgesamt in einem Generationsschritt erreichbaren Nachbarkonfigurationen setzt sich also zusammen aus • den Mutationsnachbarn für alle in der augenblicklichen Population enthaltenen Individuen • den Crossover-Nachbarn aller möglichen Crossover von je zwei Individuen der Population: NGA(POP) = {s j |s j ∈ NM(Ii ) ∧ Ii ∈ POP} ∪ {sk |sk ∈ NM(Ii ,I j ) ∧ Ii ,I j ∈ POP} . ▲ Diese direkte Nachbarschaft einer gegebenen Population wird also nicht nur von jedem Individuum einzeln bestimmt, sondern ist vielmehr abhängig von der „relativen Position“ der Individuen zueinander. ■ Besteht in der Population z. B. keine Diversifikation mehr, d. h. repräsentieren alle Individuen I1 bis I|POP| den gleichen Punkt si im Lösungsraum, so hat die Menge der über Crossover erreichbaren Nachbarn nur ein Element, da keine andere Lösung als si durch Crossover erreicht werden kann. Ist die Diversifikation der Population dagegen groß, so ist die Menge der potenziellen Crossover-Nachbarn sehr groß: Eine Vielzahl von neuen Konfigurationen, die irgendwo „zwischen“ zwei Individuen liegen, kann per Crossover erreicht werden. ▲ Für Genetische Algorithmen existieren keine allgemein anerkannten Vorschriften über die Gestaltung der Wahrscheinlichkeitsverteilungen für die Generierung und Akzeptanz von neuen Lösungen basierend auf dieser recht komplexen Nachbarschaftsstruktur. ● Über den Selektionsdruck wird zunächst die Fertilität der einzelnen Individuen gesteuert. Die Auswirkung des Selektionsdrucks besteht darin, dass die Wahrscheinlichkeit der Generierung neuer Lösungen aus der Crossover-Nachbarschaft zweier „guter“ Individuen deutlich höher ist als die Generierung aus der Nachbarschaft zweier schlechter Lösungen. ▲ Der Mutation kommt nur die Rolle eines Hintergrundoperators zu (Goldberg), d. h. auf mehrere hundert Crossover folgt meist nur eine Mutation, wie dies auch in der natürlichen Evolution üblich ist.
186
4 Normative Methoden und Verfahren der Entscheidungsfindung
● Die so generierten Nachfahren POPnew einer Population POP konkurrieren anschließend nicht nur mit ihren beiden Elternteilen, sondern mit allen Individuen in POP um ihre weitere „Existenz“. Durchführung der Auswahl: In den meisten Fällen wird entweder POP vollständig durch POPnew ersetzt, oder aber die besten |POP| Individuen aus der Vereinigungsmenge von POP ∪ POPnew formen die Individuen der nächsten Generation. ▲ Theoretisch gibt es keine Hindernisse, auch das Verhalten eines GA mittels eines Markov-KettenModells zu beschreiben. Praktisch scheitert ein solches Vorhaben aber schon bei kleinsten Problemen daran, dass nun nicht mehr die Größe |S| des Lösungsraums S die Anzahl möglicher Zustände der
|POP|
Markov-Kette determiniert, sondern die Größe S des „Populationenraums“, also die Anzahl aller möglichen Kombinationen von |POP| Konfigurationen aus S. Bereits bei einem Problem mit 12 verschiedenen Lösungen kann eine Population von lediglich 10 Individuen somit bereits 1210 , also über 61 Milliarden verschiedene „Zustände“ einnehmen, die in einer Markov-Kette explizit modelliert werden müssten. Ferner ist es kaum möglich, die Generierungs- und Akzeptanzwahrscheinlichkeiten analytisch auszudrücken. ▲ Die in den letzten Jahren für verschiedenste Problemstellungen durchgeführten empirischen Tests erlaubten folgende Beobachtungen: • Crossover-Operatoren konnten die in sie gesetzten Erwartungen für Reihenfolgeprobleme und Zuordnungsprobleme mit komplexen Nebenbedingungen nicht erfüllen, da sie entweder in der überwiegenden Zahl von Fällen „Kinder“ zeugten, die Nebenbedingungen verletzten oder aber, wenn diese Verletzung vermieden werden sollte, meist unvertretbar hohen Rechenaufwand benötigten. Mutationsoperatoren sollten bei diesen Problemen also nicht als Hintergrundoperatoren, sondern als primäre Suchoperatoren eingesetzt werden. • Die theoretische Grundlage Genetischer Algorithmen, das so gennante Schema-Theorem (Holland), ist offensichtlich nur für unimodale Suchräume (in denen jedes lokale Optimum zugleich ein globales Optimum darstellt) haltbar, weshalb die Anwendung von Crossover-Operatoren auf nichttriviale kombinatorische Optimierungsprobleme auch theoretisch auf keinem festen Boden steht. • Bei einem Verzicht auf Crossover besteht der einzig wirkliche Trade-off zwischen der Länge der Evolution, also der Anzahl der Generationszyklen, und der Breite, nämlich |POPnew | pro Generation generierter Nachkommen, aus deren Vereinigungsmenge mit der Elterngeneration die besten Individuen für die nächste Generation gewählt werden.
4.8.4
COSA: COoperative Simulated Annealing
Da die Gestaltung effektiver wie effizienter Crossover-Operatoren für viele Problemstellungen deutlich mehr Probleme aufwirft als die Festlegung eines einfachen Nachbarschaftsgraphen, wurde in jüngster Zeit die Möglichkeit untersucht, die Populationsidee auch im Rahmen des Simulated Annealing zu nutzen, ohne hierbei die bewährten Nachbarschaftsgraphen aufzugeben. Das so genannte Cooperative Simulated Annealing (COSA) realisiert hierfür ein paralleles SA, wobei sich die Individuen häufiger auf andere Individuen zubewegen, als von diesen entfernen. Zum Beispiel für Rundreiseprobleme zeigte sich COSA sowohl GA wie auch SA und klassischen Heuristiken überlegen. ▲ Die Überlebenswahrscheinlichkeit der Mutanten wird nicht, wie bei GA üblich, durch das Survival-ofthe-fittest-Prinzip bestimmt, sondern vielmehr wie beim SA anhand der Metropoliswahrscheinlichkeit. ● COSA realisiert also den parallelen, aber synchronen Ablauf von mehreren SA-Prozessen, die eine Kopplung über die kooperativen Transitionen erfahren. Diese ersetzen die Gleichverteilung der Generierungswahrscheinlichkeit PiGj durch eine Verteilung, welche (analog einer „Gravitationskraft“) die
4.8 Heuristische Suchverfahren
187
Richtung der Transitionsversuche abhängig macht von der augenblicklichen Position anderer Individuen (SA-Prozesse). ▲ Über den Erfolg des Transitionsversuchs, also darüber, ob Konfiguration Ii als Ersatz für Ii angenommen wird, wird wie auch beim klassischen SA allein anhand der Wahrscheinlichkeit PiAj entschieden. Ist der Versuch erfolgreich, so ist Ii der Konfiguration I j ein wenig ähnlicher geworden. Obwohl sich bei jedem Transitionsversuch jedes der Individuen Ii lediglich innerhalb der minimal möglichen Nachbarschaft N(Ii ) bewegt, bewegen sich im Laufe der Zeit die Individuen sukzessive aufeinander zu. ▲ COSA-Minimierungsalgorithmus: procedure COSA bestimme Nachbarschaftsrelation N ⊆ S × S bestimme Populationsgröße |POP| bestimme Anfangspopulation POP0 = I1 ∈ S, . . . ,I|POP| ∈ S ∈ S|POP| bestimme Transitionenzahl K = n · |POP| mit n ∈ N bestimme Anfangstemp. T1 ∈ R+ und Abkühlungsfaktor α ∈]0,1[⊂ R+ |POP|
bestimme Gesamtenergie E0 = ∑ f (Ii ) i=1 K for k:=1 to |POP| do for i:=1 to |POP| do bestimme zufälligen Informationsspender I j ∈ POPk−1 generiere Inew := cotrans(Ii ,I j ,N) wenn f (Inew ) < f (Ii ) 1, f (I j )− f (Ii ) if random(0,1) ≤ e− Tk , wenn f (Inew ) ≥ f (Ii ) then Ii := Inew next i |POP| bestimme Gesamtenergie Ek = ∑ f (Ii ) ∆E :=Ek − Ek−1 T , wenn ∆E < 0 T := α T , wenn ∆E ≥ 0 next k end.
i=1
▲ COSA: Funktion „cotrans“ zur Generierung kooperativer Transitionsversuche function cotrans: Ii ∈ S, I j ∈ S, N ⊆ S × S → Inew ∈ S bestimme alle Nachbarn von Ii , die bzgl. N näher an I j liegen als Ii : CLOSER := {sk ∈ N(Ii ) |d(sk ,I j ) < d(Ii ,I j )} if |CLOSER| ≥ 1 then wähle zufälliges Inew ∈ CLOSER else wähle zufälliges Inew ∈ N(Ii ) return Inew . ▲ Die Funktion „cotrans“ realisiert hierbei die oben dargestellte kooperative Generierung des Nachbarn von Ii . Hierfür wird die zufällige Generierung auf jene Nachbarn von Ii beschränkt, die näher beim Informationsspender I j liegen als Ii selbst und somit eine Annäherung der Individuen der Population bewirken. Die Funktion d : S × S → N0 misst hierbei die Distanz zweier Lösungen si und s j bzgl. der Nachbarschaft N (minimale Zahl von Suchschritten, um s j von si zu erreichen).
188
4 Normative Methoden und Verfahren der Entscheidungsfindung
▲ Anstelle eines vollständigen Übergangs auf kooperative Transitionen ist auch die Verwendung einer Kooperationsrate möglich, die nur in einer gewissen Prozentzahl von Fällen kooperative und in den restlichen Fällen zufällige Standard-Transitionen verwendet. Die optimale Kooperationsrate hängt von der Topologie des Zielfunktionsgebirges ab: Liegt das globale Optimum inmitten einer „Gebirgsregion lokaler Optima“, empfiehlt sich ein starkes gegenseitiges „Lernen“ der Individuen durch hohe Kooperationsrate, da so die Suchintensität innerhalb dieser vielversprechenden Region verstärkt wird. Da diese Verstärkung zu Lasten der Suchintensität in anderen Regionen geht, kann dies zu Problemen führen, wenn sich das globale Optimum fernab der Region lokaler Optima befindet, die lokalen Optima also bzgl. seiner Lage irreführend sind.
4.9
Bekräftigungslernen
● Viele der bisher aufgeführten Entscheidungsprobleme (z. B. im Yield-Management) weisen eine erhebliche Komplexität für eine größere Anzahl von Variablen auf. Bellmann charakterisiert im Rahmen der dynamischen Programmierung das exponentielle Wachstum der Problemgröße als Fluch der Dimension (Curse of Dimensionality). ▲ Im Rahmen der Künstlichen Intelligenz wurde daher ein Verfahren mit reduzierter Komplexität entwickelt, das eine Mischung aus Dynamischer Programmierung und Monte-Carlo-Methode darstellt. ● Der Grundgedanke des so genannten Bekräftigungslernens (Reinforcement Learning) orientiert sich an der Methodik menschlichen Lernens durch positive Rückkopplung (Bekräftigung, engl. Reinforcement). ▲ Durch die Reduktion der zu evaluierenden Entscheidungen auf häufig bzw. aktuell benötigte Fälle
wird die Problemgröße drastisch reduziert. ▲ Vorteile des Bekräftigungslernens sind seine Flexibilität (Anpassung an eine sich nicht allzu schnell
ändernde dynamische Umgebung) und die Fähigkeit, während des Entscheidungsprozesses Erfahrungen für den nächsten Problemdurchlauf zu gewinnen.
4.9.1
Markov-Prozess in Entscheidungsbäumen
● Entscheidungsprobleme sind grundsätzlich darstellbar als Baumstruktur: • Die Kanten des Baums repräsentieren die einzelnen Entscheidungen (Aktionen) der Agenten (a1 ,a2 , . . . an ∈ A= Aktionsraum) • Die Knoten symbolisieren die Systemzustände (s , s , s ∈ S = Zustandsraum) • Im Rahmen der Optimierung ist ein weiterer Parameter notwendig, der die Belohnung (Reward) bzw. Bekräftigung (r1 ,r2 , . . . rn ∈ R = Bekräftigungsfunktion) der getroffen Entscheidungen beschreibt. • Der Erwartungswert für die Belohnung bei der nächsten Entscheidung lässt sich schreiben als: Rssa = E {rt+1 |at = a ,st = s,st+1 = s } ′
′′ a3, r3
a1, r1 a4, r4 a5, r5 a2, r2 a6, r6
Ein Entscheidungsbaum mit Zuständen, Aktionen und Bekräftigungen
4.9 Bekräftigungslernen
189
● Der Entscheidungsbaum soll bei einer Optimierung so durchlaufen werden, dass die Summe aller Bekräftigungen ri maximal wird. An jedem Knoten wird dazu eine Entscheidung über die zu wählende Kante getroffen. ● Der Auswahl einzelnen Aktionen (Kanten) wird a priori eine bestimmte Wahrscheinlichkeit zugeordnet: Pssa = Pr {st+1 = s |st = s,at = a } ● Die Politik π i bestimmt die Wahrscheinlichkeit mit der ein Pfad im Entscheidungsbaum durchlaufen wird. ▲ Für die Entscheidungsoptimierung ist von Bedeutung, ob die bereits zurückgelegte Route eine Auswirkung für das Auftreten der folgenden Zustände hat oder nicht (siehe Markov-Eigenschaft). Die Annahme der Markov-Eigenschaft für den Entscheidungsbaum erleichtert das Lösen des Optimierungsproblems durch Bekräftigungslernen.
4.9.2
Grundgedanke des Bekräftigungslernens
● Betrachtet man die Kernelemente der Entscheidungsoptimierung – Zustände, Aktionen und Bekräftigungen – unter einem systemtheoretischen Aspekt, so lassen sie neben der Interpretation als Entscheidungsbaum folgende Deutung zu: • Ein bekräftigungslernender Agent (RL-Agent) ist mit seiner Umgebung durch eine Sensorik verbunden. • In jedem Interaktionsschritt erhält der Agent als Input eine Rückmeldung über den Umweltzustand st+1 und den Bekräftigungswert (Reward) rt+1 seiner letzten Aktion at . • Der Agent wählt eine Aktion at+1 als Output, die den Umweltzustand st+2 ändert. • Der Agent bekommt den Wert der Aktion erneut durch ein Bekräftigungssignal rt+2 mitgeteilt. • Ziel des Agenten ist es, längerfristig die Summe der erhaltenen Bekräftigungssignale zu optimieren. RL-Agent Zustand st
Reward
Aktion at
rt+1 s t+1
Umgebung
Der bekräftigungslernende Agent in Interaktion mit seiner Umgebung
4.9.3
Stochastische dynamische Programmierung
● Um den optimalen Pfad durch einen Entscheidungsbaum zu ermitteln, muss man gewöhnlich alle Kanten des Baums durchlaufen. ▲ Bei einer gierigen myopischen (kurzsichtigen) Entscheidungsstrategie, also der Auswahl der
jeweils nächsten Kante mit der größten Belohnung ri – diese Strategie wird als Greedy-Strategie bezeichnet – besteht die Gefahr, durch eine zunächst günstige Verzweigung von Knoten s zu Knoten s einen im weiteren Verlauf ungünstigen Teilbaum auszuwählen. ▲ Dieses durch die sequenzielle Struktur und Irreversibilität der Entscheidungen bedingte Problem,
führt dazu, dass es sich hier um ein komplexes Optimierungsproblem handelt, dessen Lösungsaufwand mit zunehmender Dimension des Zustandsraums exponentiell wächst.
190
4 Normative Methoden und Verfahren der Entscheidungsfindung
● Bellmann löst das Problem der falschen Verzweigungen, indem er rekursiv in jeder Zustandsebene s für alle Knoten eine optimale Entscheidung ermittelt. • Die Bellmann’sche-Gleichung: V π (s) = Eπ { Rt | st = s } = Eπ
∞
∑ γ k rt+k+1 |st
= s
k=0
Der Zustandswert V π (s) einer Politik π ist definiert als der Erwartungswert, welcher sich aus dem diskontierten Zustandswert V π (s ) des nächsten Zustandes s addiert zum erwarteten Bekräftigungswert r in t + 1 ergibt. ▲ In der folgenden Abbildung sind drei mögliche Aktionen a von Zustand s aus zu erkennen, die ihrerseits jeweils zwei unterschiedliche Bekräftigungssignale r(t + 1) der Umwelt hervorrufen können und in einen der Zustände s übergehen. ▲ Die Definition der Zustandswertfunktion als Erwartungswert resultiert aus der Zuordnung von Wahrscheinlichkeiten π i zu den einzelnen Entscheidungen a im Zusammenhang mit der verwendeten Politik. Bei der Ermittlung der Zustandswerte nach der Bellmann’schen-Gleichung gehen die Zustandswerte V π (s ) aller möglichen Entscheidungen a, gewichtet mit π i , in die rekursive Berechnung von V π (s) ein. ▲ Die Rekursion durch den Entscheidungsbaum kann sowohl von den Blättern beginnend rückwärts, als auch ausgehend von der Wurzel vorwärts erfolgen. π
π
π
Das Zustandsübergangsdiagramm für V π (s) ▲ Der Diskontfaktor γ ist nicht unbedingt notwendig, erweist sich jedoch als nützlich für das Konvergenzverhalten des Bekräftigungslernens. ● Der Aktionswert: Qπ (s,a) = Eπ
∞
∑ γ k rt+k+1| st
= s, at = a
k=0
Der Aktionswert Qπ (s,a) einer Politik π ist zusätzlich von der in s gewählten Aktion a abhängig. ● Wie aus der Darstellung ersichtlich, ist für den Zustandsübergang s nach s die Auswahl eines Entscheidungspfades durch a festgelegt, die nicht gewählten Pfade gehen nicht in die Berechnung von Qπ (s,a) ein. Auf der Entscheidungsebene s wird die Bellmann’sche-Gleichung zur Ermittlung des Zustandswerts des in s verbleibenden Entscheidungsbaums verwendet.
π
π
π
Das Zustandsübergangsdiagramm für Q π (s,a) ● Ziel des Bekräftigungslernens ist es, den Pfad durch den Entscheidungsbaum zu finden, auf dem die Summe der Bekräftigungssignale maximal wird. Dazu benötigen wir jeweils eine Definition für den optimalen Zustandswert sowie für den optimalen Aktionswert.
4.9 Bekräftigungslernen
191
▲ Der optimale Zustandswert:
V ∗ (s) = max {r(s,a) + γ V ∗ (s )} a
Der optimale Zustandswert ermittelt sich rekursiv auf der Basis der Bellmann’schen-Gleichung mit dem Unterschied, dass nicht alle Entscheidungsalternativen gewichtet mit den durch die Politik π vorgegebenen Wahrscheinlichkeiten in die Berechnung eingehen, sondern nur diejenige Alternative, bei der der diskontierte Zustandwert der unteren Entscheidungsschicht zusammen mit dem Bekräftigungssignal r(a,s) der Aktion a den höchsten Zustandswert V ∗ (s) ergibt. ▲ Der optimale Aktionswert:
Q∗ (s,a) = E { rt+1 + γ V ∗ (st+1 )| st = s, at = a} Der optimale Aktionswert Q∗ (s,a) einer Politik π ist der diskontierte optimale Zustandswert einer durch a gewählten Aktion zuzüglich des Bekräftigungssignals r(a,s). ● Die Wertiteration:
Vk+1 (s) = max ∑ Pssa Rssa + γ V π (s ) a
s
Eine alternative Schreibweise für den optimalen Zustandswert ist bekannt als Wertiteration (Value Iteration). Hier erfolgt die Ermittlung von V*(s) als Näherungswert durch die wiederholte Berechnung von Vk+1 (s). ● Bisher wurde davon ausgegangen, dass die Entscheidungspolitik zu Beginn vorgegeben ist und bis zum Ende der Auswertung beibehalten wird. Die Auswertung erfolgt durch iterative Approximation der Zustandswerte nach der umgeformten Bellmann’schen-Gleichung: V π (s) = ∑ π (s, a) ∑ Pssa Rssa + γ V π (s ) a
s
▲ Die Iteration erfolgt solange, bis die Differenz vom neu berechneten Zustandswert zum vorhergehenden Wert kleiner als ein Schwellwert σ wird.
maxs∈S | Vk+1(s) − Vk (s)| ≤ σ ▲ Alternativ kann eine Anpassung der Politik während der Auswertung erfolgen, um nicht den ge-
samten Entscheidungsbaum zur Bewertung der Politik evaluieren zu müssen. Ein solches Verfahren trägt die Bezeichnung Politikiteration. Zunächst muss im Rahmen der Politikiteration festgestellt werden, ob eine Änderung der Politik π zu π ’ im Zustand s zu einer Verbesserung von V π (s) führt. ● Das Politikverbesserungstheorem sagt hierzu: Wenn für zwei deterministische Politiken π und π ’ gilt: Qπ s,π (s) ≥ V π (s) dann gilt auch
V π (s) ≥ V π (s) ▲ Eine Änderung der Politik π für alle im Zustand s möglichen Aktionen a ist daher leicht auf eine Verbesserung hin überprüfbar, sofern die Wertfunktion V π (s)der Politik π im Knoten s bekannt ist. ▲ Wählt man in jedem besuchten Zustand s die im Hinblick auf den nächsten Entscheidungsschritt optimale Politik, so ergibt sich eine Greedy-Strategie, die eine ständige Politikverbesserung bewirkt: π a a π V (s) = ∑ Pss Rss + γ V (s ) s
192
4 Normative Methoden und Verfahren der Entscheidungsfindung
▲ Sobald man eine Politik π unter Verwendung von V π (s) zu π ’ optimiert hat (Verbesserung), kann man eine neue Wertfunktion V π (s) ermitteln (Evaluation), um damit π ’ weiter zu π ” verbessern usw. Dieser wiederholte Wechsel von Evaluation und Verbesserung in Richtung einer Greedy-Strategie wird als Politikiteration bezeichnet. Evaluation V
V
π
π π
greedy(V)
Verbesserung
π
V
Wechsel von Evaluation und Verbesserung bei der Politikiteration ▲ In dem zur Politikiteration gehörigen Algorithmus ist deutlich die Zweiteilung in Evaluation und Verbesserung zu erkennen: 1. Initialisierung V (s) ∈ R und π (s) ∈ A(s) beliebig für alle s ∈ S 2. Politikevaluation Wiederhole ∆←0 Für jedes s ∈ S: v ← V (s) π (s) V (s) ← ∑s Pssπ (s) Rss + γ V (s ) ∆ ← max ∆; |v − V (s)| bis ∆ < Θ (eine kleine positive Zahl) 3. Politikverbesserung Politik-stabil ← wahr Für jedes s ∈ S: b ← π (s) π (s) = arg maxa ∑s Pssa Rssa + γ V (s ) Wenn b = π (s), dann Politik-stabil ← f alsch Wenn Politik-stabil, dann beenden; sonst gehe zu 2. ● Ein Nachteil der Politikiteration ist, dass in jeder Evaluationsphase alle Zustände z. T. mehrfach durchlaufen werden müssen, bis V π (s) hinreichend genau ermittelt ist. Man kann zeigen, dass das Politikverbesserungsverfahren auch dann konvergiert, wenn in der Evaluationsphase der Zustandsraum nur genau einmal durchlaufen wird. Damit fallen Schritt 2 und 3 der Politikiteration zur Wertiteration zusammen: V π (s) = max ∑ Pssa Rssa + γ V π (s ) a
s
▲ Der Wertiterationsalgorithmus stellt sich wie folgt dar: Initialisiere v beliebig, z. B. V (s) = 0, für alle s ∈ S+ Wiederhole
4.9 Bekräftigungslernen
193
∆←0 Für jedes s ∈ S: v ← V (s) a a V (s) ← max a ∑s Pss Rss + γ V (s ) ∆ ← max ∆; |v − V (s)| bis ∆ < Θ (eine kleine positive Zahl) Ausgabe: eine deterministische Politik π , sodass: π (s) = arg maxa ∑s Pssa Rssa + γ V (s )
4.9.4
Monte-Carlo-Methode
● Ein Nachteil der Schätzverfahren für V (s) mittels der Bellmann’schen-Programmierung ist, dass alle Zustände eines Entscheidungsbaums durchlaufen werden müssen, um die Wertfunktion eines Zustands s zu ermitteln (full-backup). ▲ Da es meist ausreichend ist, V (s) nur grob zu schätzen, kann man eine Monte-Carlo(MC)-Methode anwenden. Dazu wird nicht der komplette Entscheidungsbaum durchlaufen, sondern nur einzelne Pfade, so genannte Episoden. ▲ In der vorstehenden Abbildung sind die Kantentupel (r1 , r3 , r7 ) und (r1 , r4 , r8 ) Episoden. Beim Durchschreiten der Episoden werden die Mittel der Bekräftigungswerte auf den durchlaufenen Kanten als Schätzer für die Zustandswerte benutzt. ● Zwei grundsätzliche Vorgehensweisen haben sich etabliert: ▲ Die first-visit MC-Methode: V π (s'') V
V π (s)
4 , 34 r1 = 2
π
(s ' )
r7 = 6
5 ,5
r3 = 5 r4 = 4
6
V
π
(s'')
9
r8 = 9
Beispiel für den Durchlauf zweier Episoden in der first-visit MC-Methode • Ausgehend von den Blättern des Entscheidungsbaums werden die bereits ausgewählten Episoden durchlaufen und jeweils der Mittelwert der vohergehenden Bekräftigungswerte eingetragen. • Wird beim Durchlaufen einer Episode ein bereits aufgesuchter Zustand s erreicht, so bleibt der beim ersten Besuch für V (s) eingetragene Mittelwert bestehen (first-visit). • In der folgenden Darstellung bildet der Pfad (r7 , r3 , r1 ) mit den Werten (6; 5,5; 4,34) die erste Episode. In der zweiten Episode (r8 , r4 , r1 ) bleiben die Zustandswerte V π (s ) = 5,5 und V π (s) = 4,34 nach der first-visit Regel erhalten. • Der Algorithmus zur first-visit Methode lautet: Initialisiere π ←zu evaluierende Politik V ←beliebige Zustandswertfunktion returns(s) ←leere Liste, für alle s ∈ S Wiederhole endlos: (a)Generiere eine Episode unter Verwendung von π
194
4 Normative Methoden und Verfahren der Entscheidungsfindung (b)Für jeden Zustand s, der auf der Episode liegt: R ← Bekräftigungswert bei erstem Durchlaufen von s Füge R in returns(s) ein V (s) ← gemittelte (returns(s))
▲ Die every-visit MC-Methode: • Im Gegensatz zur first-visit MC-Methode wird ein bereits besuchter Zustand s bei der every-visit MC-Methode nach einer Update-Regel verbessert, z. B. bei der konstant-α Monte-Carlo-Methode: π Vneu (st ) = V (st ) + α [Rt − V (st )] • Für α = 0,2 ergibt sich für das oben beschriebene Beispiel folgende Zuordnung von Zustandswerten: V altπ ( s ) π (s) V neu
4 ,34 4 , 47
V altπ ( s ' ) π V neu (s')
V altπ ( s ' ' )
5 ,5
π V neu (s'')
5,7
6
9 r7 = 6
r3 = 5
r4 = 4
r1 = 2
r8 = 9
Beispiel für den Durchlauf zweier Episoden in der every-visit MC-Methode ● Die Auswahlstrategie für Episoden bei der Monte-Carlo-Methode ist entscheidend für eine mög-
lichst genaue Schätzung der Zustandswerte, da nur exemplarisch Pfade aus dem Entscheidungsbaum ausgewählt und auswertet werden (sample-backup). ▲
Bei der Auswahl der Episoden gilt die gleiche Vorgehensweise, wie bei der Politikiteration: Evaluation Q
π
π
Q
π
greedy(Q)
Verbesserung
Wechsel von Evaluation und Verbesserung bei der Monte-Carlo-Methode • Ausgehend von einer beliebigen Entscheidungspolitik wird im Rahmen der Evaluationsphase eine Episode im Entscheidungsbaum generiert. • Entlang dieser Episode werden mit der first- bzw. every-visit Methode die Aktionswerte der Zustände errechnet. • In der Verbesserungsphase erfolgt eine Optimierung der gewählten Politik durch die Anpassung des Entscheidungsfindungsprozesses in Richtung der jeweils maximalen Aktionswerte. Dieser Vorgang wird zyklisch durchlaufen. ▲
Die Art der Politikgestaltung ist wichtig für ein erfolgreiches Generieren von Episoden. Verwendet man deterministische Entscheidungspolitiken, so wird der erzeugte Pfad immer gleich sein. Dies führt zum Ausbleiben eines Lerneffektes beim Bekräftigungslernen. Daher muss der Algorithmus noch mit einem stochastischen Element ausgestattet werden.
4.9 Bekräftigungslernen
195
● Zwei Arten der Monte-Carlo-Methode sind zu unterscheiden:
a) On-Policy MC-Methode ● Bei der On-Policy MC-Methode wird in einem Zustand s mit einer geringen Wahrscheinlichkeit ε / |A(s)| (mit |A(s)| = Anzahl der in Zustand s möglichen Aktionen) nicht die Entscheidungsvariante mit dem größten Aktionswert Q(s,a) ausgewählt, sondern eine der verbleibenden suboptimalen Entscheidungen (ε -greedy-Politik). ▲ Da bei der ε -greedy-Politik keine Episode gänzlich ausgeschlossen ist, ist das Durchlaufen aller Pfade im Grenzfall garantiert (ε -soft-Politik). ▲ Die nächste Abbildung zeigt den zugehörigen ε -soft On-Policy-Algorithmus. Die Politik zur Er-
mittlung der Aktionswerte bei dem hier gezeigten Algorithmus ist identisch mit der Politik, die verbessert werden soll (On-Policy-Methode). Der ε -soft On-Policy Monte-Carlo-Algorithmus: Initialisiere für alle s ∈ S,a ∈ A(s) = 0: Q(s,a) ←beliebig returns(s,a) ←leere Liste π ←eine beliebige ε -soft-Politik Wiederhole endlos: (a) Generiere eine Episode unter Verwendung von π (b) Für jedes Paar (s,a), das in dieser Episode auftritt: R ←Bekräftigungswert bei erstem Durchlaufen von s,a Füge R in returns(s,a) ein Q(s,a) ← gemittelte (returns(s,a)) (c) Für jedes s in dieser Episode: a∗ ← arg maxaQ(s,a) Für alle a ∈ A(s) : 1 − ε + ε /|A(s)| if a = a∗ π (s,a) ← ε /|A(s)| if a = a∗
b) Off-Policy MC-Methode ● Die Off-Policy MC-Methode unterscheidet sich von der On-Policy-Methode dadurch, dass die zur Ermittlung der Q-Werte benutzte Politik (Schätzpolitik) und die zu verbessernde Zielpolitik (Verhaltenspolitik) unterschiedlich sind. ▲ Der Vorteil der Off-Policy-Methode liegt in der Möglichkeit, anhand eines bereits mit der Schätzpolitik π hinreichend evaluierten Entscheidungsbaums eine andere Verhaltenspolitik π ’ erkunden und
verbessern zu können, ohne alle Q−Werte neu berechnen zu müssen. ▲ Trotz der Trennung von Schätzpolitik und Verhaltenspolitik können Rückschlüsse von den Aktions-
werten der einen Politik auf die Q−Werte der anderen gezogen werden. Ordnet man den Koten s des Entscheidungsbaums Wahrscheinlichkeiten pi (s) bzw. pi (s) zu, mit denen sie den jeweiligen Zustand unter der Schätzpolitik π bzw. der Verhaltenspolitik π ’ aufsuchen, so kann man den Schätzer für V(s) aus beiden ε -soft-Politiken mit dem Verhältnis ihrer Besuchswahrscheinlichkeiten beschreiben: ns pi (s) ∑ p (s) Ri (s) i V (s) = i=1 ns pi (s) ∑ p (s) i=1 i
196
4 Normative Methoden und Verfahren der Entscheidungsfindung
▲ Die Besuchswahrscheinlichkeiten für beide Politiken sind i. d. R. nicht bekannt. Hier wird jedoch
nur ihr Verhältnis benötigt. Die Besuchswahrscheinlichkeit von Knoten s zum Zeitpunkt Ti (s), dargestellt als Produkt aus den Übergangswahrscheinlichkeiten Psakksk+1 und der Entscheidungspolitik π (sk ,ak ) der bisher durchlaufenen Zustände ist: Ti (s)−1
pi (st ) =
∏
π (sk ,ak )Psakksk+1
k=t
▲ Das Verhältnis der Übergangswahrscheinlichkeiten ist unabhängig von den Zustandsübergangs-
wahrscheinlichkeiten des Entscheidungsbaums und damit von der Dynamik des beobachteten Systems: pi (st ) Ti (s)−1 π (sk ,ak ) = ∏ pi (st ) k=t π (sk ,ak ) ▲ Der Off-Policy MC-Algorithmus, bei dem die Schätzpolitik π über das Verhältnis ω mit π (sk ,ak ) = 1 die Verhaltenspolitik π ’ schätzt, kann folgendermaßen formuliert werden:
Initialisiere für alle s ∈ S,a ∈ A(s): Q(s,a) ←beliebig Z(s,a) ← 0, Zähler D(s,a) ← 0, Nenner von Q(s,a) π ←eine beliebige, deterministische Politik Wiederhole endlos: (a) Wähle eine Politik π , um eine Episode zu generieren: s0 ; a0 ; r1; s1 ; a1; . . . .sT −1 ; aT −1 ; rT ; sT (b) τ ←letzter Zeitpunkt, zu dem aτ = π (sτ ) (c) Setzte für jedes Paar s,a, das in dieser Episode zum Zeitpunkt τ oder später auftritt: t ←Zeitpunkt des ersten Auftretens von s,a, sodass gilt t ≥ τ 1 T −1 ω ← ∏k=t+1 π (sk ,ak ) Z(s,a) ← Z(s,a) + ω Rt D(s,a) ← D(s,a) + ω Z(s,a) Q(s,a) ← D(s,a) (d) Für jedes s ∈ S : π (s) ← arg maxa Q(s,a)
c) Temporal-Difference-Learning ▲ Bei der stochastischen dynamischen Programmierung kann die optimale Aktion a für den nächsten Zustand s auf einer Entscheidungsebene k ausgewählt werden, sofern alle Aktionen im Baum bis zu diesem Zeitpunkt t ausgewertet wurden (full-backup). ▲ Die Monte-Carlo-Methode ist darauf angewiesen, zumindest eine Episode, auf der der Zustand s liegt, exemplarisch (sample-backup) bis zum Ende hin zu durchlaufen, um die neuen Q-Werte zu bestimmen und eine optimale Entscheidung zu treffen. ● Temporal-Difference-Learning versucht, die Nachteile der beiden Verfahren zu meiden und ihre Vorteile zu kombinieren: ▲ Ausgehend von der konstant-α Monte-Carlo-Methode kann man den Horizont einer Episode auf
einen Entscheidungsschritt verkürzen und darauf vertrauen, dass das Verfahren dennoch Konvergenz zeigt, was für hinreichend kleine α auch der Fall ist.
4.9 Bekräftigungslernen
197
Temporal-Difference-Learning: V π (st ) ← V (st ) + α [rt+1 + γ V (st+1 ) − V (st )] ▲ Die nächste Abbildung zeigt den Algorithmus für ein TD-Verfahren 0-ter Ordnung. Das TD(0)Verfahren arbeitet, im Gegensatz zum allgemeineren TD(λ )-Verfahren, mit nur einer Episode
Vorausschau: Initialisiere V (s) und die zu evaluierende Politik π beliebig Wiederhole für jede Episode Initialisiere s Wiederhole (für jeden Schritt der Episode): Führe Aktion a aus, beobachte den Bestätigungswert r und den nächsten s Zustand V (s) ← V (s) + α r + γ V (s ) − V (s) s ← s bis s Endwert ist ▲ Schreibt man die Gleichung für das Temporal-Difference-Learning mit Aktionswerten, so erhält man
die Ausgangsgleichung für einen TD(0)-Algorithmus zur Politikverbesserung: Q(st ,at ) ← Q(st ,at ) + α [rt+1 + γ Q(st+1,at+1 ) − Q(st ,at )] ● Für das TD-Verfahren gilt ebenso wie für die MC-Methoden: Ein ständiger Wechsel aus Politikevaluation und Verbesserung im Raum der Aktionswerte ist das geeignete Verfahren. ▲ Im Folgenden ist ein Politikiterationsalgorithmus für die TD(0)-Methode dargestellt. Schätzpolitik und Verhaltenspolitik sind in diesem Fall gleich (ε -greedy), sodass das Verfahren zur Klasse der On-Policy Verfahren gezählt werden kann: On-Policy Temporal-Difference Algorithmus: Initialisiere Q(s,a) beliebig Wiederhole für jede Episode Initialisiere s Wähle a aus s unter Verwendung einer aus Q abgeleiteten Politik (z. B. ε -greedy) Wiederhole (für jeden Schritt der Episode): Führe Aktion a aus und beobachte r,s Wähle a aus s unter Verwendung einer aus Q abgeleiteten Politik (z. B. ε -greedy) Q(s,a) ← Q(s,a) + α r + γ Q(s ,a ) − Q(s,a) s ← s; a ← a; bis s Endwert ist
4.9.5
Q-Learning
● Die Off-Policy-Variante der oben beschriebenen TD(0)-Politikiteration ist das wohl bedeutendste Verfahren für das Bekräftigungslernen. Es wurde 1989 von Watkins formuliert und trägt den Namen QLearning. ▲ Hierbei findet eine Annäherung an die optimale Aktionswertfunktion direkt und unabhängig von der
Evaluationspolitik statt, indem nur der Pfad mit dem größten Aktionswert in die Berechnung der einperiodigen Differenz eingeht.
198
4 Normative Methoden und Verfahren der Entscheidungsfindung
● Das Q-Learning Q(st ,at ) ← Q(st ,at ) + α [r + γ maxa Q(st+1 ,a) − Q(st ,at )] ▲ Der Beweis der Konvergenz des Verfahrens fällt hier besonders leicht, was auch ein Grund für seine
große Popularität ist. ▲ Für den hier dargestellten Algorithmus wurde wieder die ε -greedy-Politik als Schätzpolitik gewählt:
Der Q-Learning-Algorithmus: Initialisiere Q(s,a) beliebig Wiederhole für jede Episode Initialisiere s Wiederhole (für jeden Schritt de Episode): Wähle a aus s unter Verwendung einer aus Q abgeleiteten Politik (z. B. ε -greedy) Führe Aktion a aus und beobachte r,s Q(s,a) ← Q(s,a) + α r + γ Q(s ,a ) − Q(s,a) s ← s; a ← a; bis s Endwert ist
5
Daten und Information
● Daten und Informationen als Grundlage betrieblicher Entscheidungen haben eine besondere Bedeutung.
5.1
Klassifizierung der Daten
● Unter Daten werden in der Informationsverarbeitung maschinell verarbeitbare Zeichen (Grundelemente der Datendarstellung) verstanden. Sie beschreiben Objekte und Objektbeziehungen der Realwelt. ▲ Es werden allerdings nur die für den jeweiligen Anwendungsfall relevanten Eigenschaften und Beziehungen abgebildet: ■ Das Objekt „Artikel“ hat die Eigenschaften Preis, Artikelbezeichnung etc. und Beziehungen zu
anderen Objekten, etwa Kunden und Lieferanten. ● Klassifikation von Daten: • nach Zeichenart bzw. dem Datentyp: numerische (rechnerisch verarbeitbare Zahlen), alphabetische (Buchstaben des Alphabets), alphanumerische (Zahlen, Buchstaben, Sonderzeichen), Datum, Zeit • nach Erscheinungsform: sprachliche Daten (z. B. menschliche Lautsprache), bildliche Daten (z. B. Grafiken) und textuale Daten (z. B. Texte). • nach Formatierung: formatierte Daten (z. B. formgebundene Tabellen) und unformatierte Daten (z. B. formfreie Texte) • nach der Stellung im Verarbeitungsprozess: Eingabedaten und Ausgabedaten • nach Verwendungszweck: – selten zu verändernde Stammdaten ■ Personalstammdaten wie Namen und Adressen – stammverändernde Änderungsdaten ■ Wechsel der Adresse – Archivdaten (Daten, die in der Vergangenheit gesammelt wurden) – bestandsverändernde Bewegungsdaten ■ Lagerzu- und -abgänge, Aufträge – Transferdaten (Daten, die von einem Programm erzeugt und an ein anderes Programm transferiert werden) – Vormerkdaten (Daten, die solange existieren, bis ein genau definiertes Ereignis eintritt; oft als Offene Posten bezeichnet)
5.1.1
Organisation formatierter Daten
● Bei der Datenorganisation unterscheidet man • die systematisch-logische Strukturierung von Daten und Datenbeziehungen und • die physische Speicherung der Daten auf externen Medien.
200
5 Daten und Information
▲ Es wird eine möglichst weitgehende Unabhängigkeit zwischen der logischen und der physischen Ebene angestrebt, damit Änderungen der einen Ebene keine Veränderungen der anderen Ebene hervorrufen. ● Hierarchische Strukturierung für formatierte Daten: • Ein Datenfeld (Datenelement) besteht aus einem oder mehreren Zeichen und ist die kleinste adressierbare sowie auswertungsfähige Dateneinheit. • Ein Datensatz ist eine logische Verknüpfung inhaltlich zusammengehöriger Felder, welche meist ein selbständiges Objekt bzw. eine Objektbeziehung darstellt. Die dazugehörigen Felder sind beschreibende Eigenschaften der Objekte. • Eine Datei besteht aus einer geordneten Menge zusammengehöriger, gleichartiger Datensätze. Sie repräsentieren die Menge aller gleichartigen relevanten Objekte der realen Welt. • Eine Datenbank ist eine Sammlung von zusammengehörigen Daten, die von einem Datenbankverwaltungsprogramm verwaltet werden. Sie besteht meist aus mehreren Dateien mit logisch zusammengehörigen Objekttypen.
Hierarchie der Datenbegriffe ▲ Die in der historischen Entwicklung frühen Informationssysteme waren durch eine enge Verflechtung zwischen dem Programmentwurf und der physischen Datenorganisation auf dem Speichermedium geprägt: Die Information, wie auf die einzelnen Daten zugegriffen wird, war in dem Programm selbst enthalten. Dies führte dazu, dass die Daten auf unterschiedliche Art abgespeichert wurden und dass, wenn ein anderes Programm die gleichen Daten verwenden wollte, das genaue Zugriffsverfahren bekannt sein musste. Die Daten wurden in einzelnen Dateien abgespeichert und jedes Programm musste „wissen“, wie es auf die einzelnen Dateien zugreifen konnte. Der Dateiaufbau war auf die jeweilige Anwendung zugeschnitten. Dies wiederum führte zu einer geringeren Flexibilität bezüglich neuer Anwendungen, z. B., wenn eine andere Sortierreihenfolge der Daten notwendig war. Teile der Daten mussten mehrfach gespeichert werden (redundante Datenhaltung). ● Neben dem erhöhten Speicherbedarf durch redundante Datenhaltung kommt es zu einem erhöhten Aufwand bei der Aktualisierung von Daten und evtl. widersprüchlichen Daten (mangelnde Datenintegrität, inkonsistente Datenhaltung). Die Beziehungen zwischen den einzelnen Daten können sehr komplex sein. Da in der traditionellen Datenverarbeitung diese Beziehungen ebenfalls Teil des Programms sind, werden sie nicht explizit erfasst und formal dargestellt. Man versuchte, diesem Problem mit der Einführung von Datenbanken entgegenzuwirken, indem man eine Unterscheidung zwischen physikalischer und logischer Struktur der Daten einführte.
5.1 Klassifizierung der Daten
201
a) Datenbanksysteme ● Ein Datenbanksystem ist die Verbindung eines Datenbankverwaltungssystems (einer Menge von Programmen zur Speicherung und Wiederauffindung von Daten) und der hiermit organisierten Datenbestände. Datenbanken trennen die logische und die physikalische Struktur der Datenbestände. Ein Datenbankverwaltungssystem ist für die physikalische Speicherung der Daten zuständig. Es erlaubt den Informationssystemen verschiedene logische Sichten auf die gleichen Daten, unabhängig von der tatsächlichen physikalischen Speicherung. ● Ziele des Einsatzes von Datenbanksystemen: • Datenunabhängigkeit: Es besteht Unabhängigkeit zwischen den Anwendungsprogrammen, der Datenspeicherung und der Datenorganisation. • Benutzerorientierte Sicht der Daten: Die Daten werden entsprechend den Bedürfnissen der Benutzer dargestellt und sortiert. • Datenintegrität verhindert fehlerhafte und unvollständige Daten durch Plausibilitätsprüfungen (Datenkonsistenz). • dauerhafte Speicherung der Daten durch Datensicherung. • Der Datenschutz sichert die Daten vor unberechtigter Einsicht oder Änderung. • Vermeidung von Redundanz: Daten eines Objektes sollten in einer Datenbank nur einmal gespeichert werden, um die Eindeutigkeit zu gewährleisten. ▲ Zur Gewährleistung der Datensicherung ist jedoch Redundanz notwendig. • Unterstützung der Datenmanipulation: Das Datenbanksystem sollte das Einfügen, Ändern, Löschen und Auffinden von Daten und deren Verarbeitung und Darstellung unterstützen. • Koordinierung des Mehrbenutzerbetriebs (Synchronisation): Der koordinierte Zugriff durch mehrere Benutzer auf die Datenbank soll möglich sein. ▲ Besondere Schwierigkeit bereitet hierbei die Koordination von Änderungen. • Datenneutralität: Alle Daten werden für alle Anwendungen in einer Datenbank zur Verfügung gestellt.
Drei-Ebenen-Konzept von Datenbanksystemen
202
5 Daten und Information
● Moderne Datenbanksysteme bieten zur Unterstützung dieser Anforderungen drei Ebenen der Datenverwaltung (Drei-Ebenen-Konzept von Datenbanksystemen) an: • Die externe Ebene beschreibt die Sicht eines Anwenders bzw. einer Anwendung auf die Daten, wobei die verwendeten Daten eine Teilmenge der Daten der konzeptuellen Ebene sind. • Die konzeptuelle Ebene beschreibt alle Daten einer Unternehmung (Datenbank) sowie deren Beziehungen aus Unternehmensgesamtsicht, unabhängig von einer Anwendung, der physischen Speicherung und dem verwendeten Datenbanksystem. • Die interne Ebene beschreibt, wie die Daten auf dem physischen Speichermedium gespeichert werden. ● Datenbanksprachen dienen der Unterstützung der Datenmanipulation. Man unterscheidet drei Funktionen: • Datendefinitionssprachen (Data Definition Language, DDL) dienen der formellen Beschreibung aller Ebenen der Datenbank. • Datenmanipulationssprachen (Data Manipulation Language, DML) ermöglichen die Formulierung von Operationen auf den Daten. Hierunter sind insbesondere die Grundfunktionen des Auffindens, Einfügens, Änderns und Löschens von Daten zu verstehen. • Datenkontrollsprachen (Data Control Language, DCL) unterstützen z. B. Datenintegrität, Konsistenzprüfung, sowie den Datenzugriff im Mehrbenutzerbetrieb. ▲ Konkrete Datenbanksprachen enthalten in verschiedenem Ausmaß Elemente aller drei Sprachgattungen.
b) Entwurf von Datenbanken ● Der logische Entwurf von Datenbanken dient dem logischen Strukturieren von Daten und ihren Beziehungen sowie der Dokumentation. Zum Beschreiben des logischen Entwurfs von Datenbanken ist insbesondere das →Entity Relationship Modell (ERM) geeignet. ▲ Die hier dargestellte Notation entspricht der ursprünglichen von P.P.S. Chen (1976).
Objekttypen (entity sets) sind modellhafte Beschreibungen von Elementen der realen Welt oder der Vorstellungswelt (d. h. Dinge bzw. Begriffe). ■ Mitarbeiter/innen, Unternehmen Objekte (entities) sind konkrete Ausprägungen (Instanzen) eines Objekttyps. ■ eine bestimmte Person, eine bestimmte Firma Attribute sind Eigenschaften oder Merkmale eines Objektes. ■ Name, Wohnort usw. ▲ Objekttypen werden in Form von Rechtecken dargestellt, die zugehörigen Attribute mit Ovalen unten angehängt.
Darstellung von Objekttypen ● Die einzelnen Objekte eines Objekttyps werden über einen Schlüssel eindeutig identifiziert. ▲ Die Darstellung im ERM erfolgt durch Unterstreichung des Schlüsselattributs.
5.1 Klassifizierung der Daten
203
● Man unterscheidet verschiedene Arten von Schlüsseln: • Primärschlüssel (Primary Key): Attribut mit eindeutig identifizierender Eigenschaft. Er kann sich aus einem oder mehreren Attributen zusammensetzen, da in der Realität einzelne Attribute ein Objekt nicht immer eindeutig identifizieren. • Sekundärschlüssel (Secondary Key): Jedes beliebige Attribut, das nicht Primärschlüssel ist (und damit klassifizierende Eigenschaften aufweist). • Schlüsselkandidat (Candidate Key): Attribut(-kombination), das (die) die Funktion „Primärschlüssel“ aber übernehmen kann. • Fremdschlüssel (Foreign Key): Attribut(-kombination), das (die) nicht Primärschlüssel des Objektes, aber Primärschlüssel in einem anderen Objekt ist. ▲ Auch wenn Primärschlüssel aus mehreren Attributen bestehen, kann die Eindeutigkeit eines Objekts nicht immer garantiert werden. ■ Man denke nur an die alte Tradition, den Sohn nach dem Vater zu benennen, die dann im gleichen
Ort in der gleichen Straße wohnen. Um diese Problematik zu umgehen, werden oftmals künstliche Primärschlüssel, nämlich systemfreie Aufzählungen, eingeführt. ■ Kundennummern, Matrikelnummern
● Neben den eigentlichen Objekten müssen in einer Datenbank auch die Beziehungen zwischen den Objekten abgebildet werden. Bei Konzeption mittels ERM erfolgt die Abbildung mittels so genannter Beziehungstypen (in der hier verwendeten Notation durch Rauten dargestellt), die durch ihren Namen identifiziert werden. Die Kardinalität stellt die Struktur und Komplexität von mengenmäßigen Beziehungen zwischen Objekttypen dar. ● Man unterscheidet eineindeutige (wechselseitig eindeutige 1 : 1), eindeutige (1 : n) und mehrdeutige (n : m) Beziehungen:
Student
Objektbeziehungen und Kardinalitäten
c) Datenbankmodelle ● Im Laufe der historischen Entwicklung der Informationssysteme wurden verschiedene Datenbankmodelle entwickelt: • Hierarchisches Modell • Netzwerkmodell • Relationales Modell • Objektorientiertes Modell
204
5 Daten und Information
Hierarchische Datenbanken ● In hierarchischen Datenbanken werden Daten in baumförmigen Beziehungen dargestellt. Kennzeichnend für Hierarchien sind 1 : 1- bzw. 1 : n-Beziehungen. ▲ Ein Knoten des Baumes kann n Nachfolger haben, aber nur einen Vorgänger.
Intern werden die Beziehungen über Zeiger (Pointer) auf den Speicherbereich des Nachfolgers abgebildet. ● Hierarchische Datenbanken eignen sich insbesondere für repetitive Massenverarbeitungen, in der die Daten in einer gegebenen Sortierfolge gebraucht werden. Ein direkter Zugriff auf einzelne Blätter des Baumes unter Umgehung der Wurzel ist nur durch zusätzliche Maßnahmen (z. B. über einen Index) möglich. Da n : m-Beziehungen nicht direkt abbildbar sind, ist eine redundanzfreie Speicherung nicht möglich. ▲ Wenn Änderungen an der Struktur der Datenbank durchgeführt werden müssen, muss die Datenbank komplett „heruntergefahren, geändert und wieder hochgefahren“ werden. ▲ Obwohl hierarchische Datenbanksysteme „veraltete Technik“ darstellen, findet man sie aufgrund der weiten Verbreitung des Datenbanksystems IMS (Information Management System) von IBM noch häufig auf Großrechnern. ■ Beispiel: Autovermietung
Hierarchische Datenbankstruktur
5.1 Klassifizierung der Daten
205
Netzwerkdatenbanken ● Strukturelemente der Netzwerkdatenbanken sind, wie beim hierarchischen Modell, Objekttypen und 1 : n-Beziehungen. Hinzu kommen n : m-Beziehungen, wodurch eine redundanzfreie Speicherung möglich ist. ▲ Im Gegensatz zum hierarchischen Modell kann ein Knoten mehrere Vorgänger besitzen. ▲ Auch hier müssen alle Verknüpfungsstrukturen und -möglichkeiten explizit festgelegt werden. Eine bei der Definition nicht vorgesehene Ad-hoc-Abfrage führt zu einem kompletten Durchsuchen der Datenbank, da alle „bedienbaren“ Verknüpfungen in der Datenbank abgelegt werden müssen. Wenn Änderungen in der Struktur der Datenbank ausgeführt werden, muss auch hier die Datenbank komplett „heruntergefahren, geändert und wieder hochgefahren“ werden. ■ Beispiele für Implementierungen von Netzwerkdatenbanken sind IDS von BULL, IMAGE von HP und UDS/V2 von Siemens. Relationale Datenbanken Das Relationales Datenmodell wurde von E. F. Codd (1970) entwickelt und basiert auf der mathematischen Mengen- und Relationentheorie (→ Mengentheorie). Relationen sind Teilmengen des kartesischen Produkts von Mengen. ● Objekte werden in Objekttypen zusammengefasst, die jeweils die gleichen Eigenschaften besitzen. Diese Objekttypen und ihre Beziehungen werden im Relationenmodell in Form von zweidimensionalen Tabellen dargestellt. ▲ Die Zeilen der Tabellen werden als Tupel bezeichnet und stellen einzelne Ausprägungen des Objekttyps (eigentliche reale Objekte) dar. Jedes Tupel wird durch einen Primärschlüssel eindeutig identifiziert und muss deshalb einmalig sein. Die Spalten der Tabellen sind die Attribute (Eigenschaften) der Objekttypen. Die möglichen Ausprägungen (Wertebereiche) der Attribute werden als Domäne bezeichnet. ■ Artikel Artikel_Nr 15003 37111 34590 23676
● Relationen müssen folgende Eigenschaften erfüllen: • Einmaligkeit: Es gibt keine zwei Tupel, die in allen Attributen die gleichen Attributwerte besitzen. • Irrelevanz der Ordnung der Tupel: Die Sortierreihenfolge der Relation ist irrelevant für die Eigenschaft der Relation (keine Sortierungshierarchie). • Irrelevanz der Ordnung der Attribute: Auch die Reihenfolge der Attribute verändert nicht die Eigenschaften der Relation. • Atomisierung der Attributwerte: Attribute enthalten nur einen Wert. • Homogenität der Attribute: Alle Werte in einer Spalte sind vom gleichen Datentyp (Domäne). ● Die Beziehungen zwischen den Objekttypen werden – je nach Art der Beziehungstypen – unterschiedlich repräsentiert: • 1 : 1 Beziehungen werden z. B. durch die Einfügung der Primärschlüssel als Fremdschlüssel in beiden Objekttabellen dargestellt. • 1 : n Beziehungen werden z. B. durch Einfügung des Primärschlüssel der ersten („1“) Relation als Fremdschlüssel in die zweite („n“) Relation dargestellt (bei n : 1 Beziehungen erfolgt die Darstellung entsprechend).
206
5 Daten und Information • n : m Beziehungen werden mittels einer eigenen Relation („Beziehungstabelle“) abgebildet, wobei diese zunächst nur aus den Primärschlüsseln der ursprünglichen Relationen besteht, ggf. zuzüglich weiterer Attribute, die die Beziehung charakterisieren.
▲ Die Stärke des Relationenmodells liegt darin, dass nur die logischen Beziehungen in der Datenbank abgebildet werden und nicht die Zugriffspfade auf die Daten. Dadurch sind unterschiedliche Sichten auf die Datenbank möglich, die auch kurzfristig geändert werden können, ohne dass wie bei dem hierarchischen und dem Netzwerkmodell die Datenbank neu aufgebaut werden muss. Dies führt aber auch zu Performancenachteilen, da die Zugriffspfade bei jeder Datenabfrage neu berechnet werden. Objektorientierte Datenbanken ● Objektorientierte Datenbanken heben die konventionelle Trennung in der Systementwicklung zwischen der Datenperspektive und der Verarbeitungsperspektive auf. Neben der im relationalen Datenmodell üblichen Abspeicherung der Eigenschaften (Struktur) und der Beziehungen zwischen den Objekten wird auch das Verhalten der Objekte (Funktionen) abgebildet. Objekte werden beschrieben durch: • einen eindeutigen Objektnamen (Identifikator) • Informationen über ihre Verknüpfungen zu anderen Objekten • ihr Verhalten (Methoden) • ihre Struktur (Attribute)
Integration von Daten und Funktionen Unter Slots versteht man die Gesamtmenge aller Strukturen und Methoden eines Objektes. ● Gleiche Objekte werden zu Objekttypen (Klassen) zusammengefasst, deren Eigenschaften und Beziehungen zu anderen Objekttypen in einer Klassendefinition beschrieben werden. Ein konkretes Objekt einer Objektklasse wird als eine Instanz dieser Klasse bezeichnet. ■ Beispielobjekt „Investition“, ohne Methoden: float Auszahlung: float Einzahlungen[10]; float Zinssatz: ■ Beispielobjekt „Investition“, erweitert um Methoden: float Auszahlung: float Einzahlungen[10]; float Zinssatz: methodBerechne_Kapitalwert: methodBerechne_Internen_Zins: methodBerechne_Annuität; ● Zwischen Objekten und Klassen können wesentlich komplexere Beziehungen dargestellt werden als im relationalen Modell:
5.1 Klassifizierung der Daten
207
• Klasse-Komponentenklasse-Beziehung: Eine Klasse von Objekten ist Bestandteil eines Objektes. ■ Alle Aufträge eines Kunden können als Teil des Objekts „Kunden“ realisiert werden.
Man unterscheidet Reference-Beziehungen und Part-of-Beziehungen. – Reference-Beziehung: Einzelne Komponentenobjekte existieren gemeinsam, unabhängig und nicht eingekapselt. Sie entspricht den Beziehungen im relationalen Modell und wird mit Hilfe von Zeigern realisiert. – Part-of-Beziehung: Die Komponentenklasse wird zu einem festen Bestandteil des Hauptobjektes und ist abhängig von dessen Existenz. Die Objekte der Komponentenklasse werden mit dem Hauptobjekt gespeichert. Die Möglichkeiten des Zugriffs auf Objekte der Komponentenklasse ist abhängig von den Eigenschaften der Hauptklasse (Kapselung). • Vererbung: Objektklassen können hierarchisch angeordnet werden. Dabei werden die Slots einer übergeordneten Objektklasse auf die Sub-Objektklassen weitergegeben. ▲ Man spricht von einfacher Vererbung, wenn jede Subklasse genau eine Oberklasse besitzt und
von multipler Vererbung, wenn eine Subklasse mehr als eine Oberklasse besitzt. ▲ Da Subklassen sich (im Wesentlichen) verhalten wie ihre Oberklassen, sagt man: Die Subklasse
„ist“ (im Wesentlichen) ein Objekt wie die Oberklasse („is-a“-Beziehung) ■ Beispiel für Vererbung:
Polymorphie (Vielgestaltigkeit): Eine Subklasse erbt zwar die Eigenschaften der Oberklasse, kann diese jedoch ändern. ■ Eine Oberklasse „Vögel“ vererbt an ihre Subklassen u. a. die Eigenschaft „kann fliegen“. Wird die Unterklasse „Pinguin“ oder „Strauß“ gebildet, so kann innerhalb der Unterklassen diese Eigenschaft auf „kann nicht fliegen“ geändert werden, während die Unterklasse Amsel die Eigenschaft der Oberklasse übernimmt.
208
5 Daten und Information
Datenkapselung: Die tatsächliche Struktur einer Klasse kann vor anderen Klassen versteckt werden. Dadurch kann man den Zugriff auf die Daten durch spezielle Methoden erzwingen, insbesondere durch im Objekt selbst zur Verfügung gestellte Methoden. ▲ Eine wichtige Rolle innerhalb von objektorientierten Datenbanken spielt die Frage der Steuerung des gesamten Systems. Da nicht nur die eigentlichen Daten innerhalb der Datenbank abgelegt werden, sondern auch das Verhalten der Objekte, stellt sich die Frage, wie die Ablaufsteuerung realisiert wird. In konventionellen Systemen wird dies durch das Programm erreicht. ● Bei objektorientierten Datenbanken sind ereignisgesteuerte Kontrollstrukturen üblich. Die einzelnen Objekte reagieren entsprechend den vorher definierten Verhaltensregeln auf die Eingaben der Benutzer bzw. auf Veränderungen innerhalb der Datenbank.
d) Normalisieren von Daten Die Normalisierung von Daten ist eine Technik der Datenmodellierung im Rahmen des relationalen Datenmodells. Einige grundsätzliche Überlegungen können auch bei der Modellierung von objektorientierten Datenbanken verwendet werden. ■ Als Beispiel für den Sinn der Normalisierung mögen die folgenden, hier noch nicht normalisierten studentischen Prüfungsdaten dienen: PRÜFUNGSDATEN PNR FACH PRÜFER PRÜFLINGSDATEN MATRNR NAME FBNR FBNAME 560 ABWL Keller 895642 Maier 2 Wirtschaft 26578 Schmidt 2 Wirtschaft 580 AVWL Ulman 25634 Kurz 2 Wirtschaft 794567 Karl 20 Informatik 723 KI Hammer 895642 Maier 2 Wirtschaft 794567 Karl 20 Informatik
DEKAN NOTE Mutz 3 Mutz 3 Mutz 2 Moritz 1 Mutz 5 Moritz 4
(PNR: Prüfungsnummer, FBNR: Fachbereichsnummer, FBNAME: Fachbereichsname) Die oben dargestellte Relation fällt durch Redundanz auf, d. h. bestimmte Daten sind mehrfach gespeichert. Die Datenpflege ist dadurch erschwert. Außerdem ist die Tabelle so angelegt, dass die Prüflingsdaten eine untergeordnete Tabelle darstellen, die in eine übergeordnete Tabelle eingeschachtelt ist. Dadurch wird die Tabelle unnötig kompliziert.
5.1 Klassifizierung der Daten
209
Es lassen sich folgende Ziele für die Normalisierung von Relationen (Tabellen) formulieren: ● Relationen sollten so entworfen werden, dass • sie keine untergeordneten Relationen enthalten, • so wenig wie möglich Redundanz vorhanden ist und • keine Probleme bei der Datenpflege auftreten. Man definiert deshalb Stufen der Normalisierung (Normalformen). ● Erste Normalform (1. NF): Eine Relation befindet sich in 1. NF, wenn keines ihrer Attribute eine untergeordnete Relation darstellt, bzw. wenn alle Attributwerte atomar sind. ▲ Prinzipiell wird Normalisierung durch Zerlegung von Relationen erreicht. ■ PRÜFUNGEN: PNR FACH 560 ABWL 580 AVWL 723 KI
PRÜFER Keller Ulman Hammer
PRÜFUNGSKANDIDATEN: PNR MATRNR NAME FBNR FBNAME 560 895642 Maier 2 Wirtschaft 560 26578 Schmidt 2 Wirtschaft 580 25634 Kurz 2 Wirtschaft 580 794567 Karl 20 Informatik 723 895642 Maier 2 Wirtschaft 723 794567 Karl 20 Informatik
DEKAN NOTE Mutz 3 Mutz 3 Mutz 2 Moritz 1 Mutz 5 Moritz 4
▲ Durch die Erreichung der ersten Normalform ist zwar die Schachtelung der Tabellen aufgelöst, es sind aber immer noch redundante Daten vorhanden. ● Zweite Normalform (2. NF): Eine Relation befindet sich in der 2. NF, wenn sie sich in der 1. NF befindet und wenn jedes NichtSchlüsselattribut voll funktional von jedem Schlüsselkandidaten der Relation abhängig ist. ■ Die 2. NF wird durch Zerlegung der Relation PRÜFUNGSKANDIDATEN erreicht:
In der Relation STAMMDATEN sind immer noch Redundanzen vorhanden, da FBNAME und DEKAN nicht von dem Primärschlüssel MATRNR direkt, sondern nur transitiv (indirekt) über die FBNR abhängig sind. ● Dritte Normalform (3. NF): Eine Relation befindet sich in der 3. NF, wenn sie sich in der 2. NF befindet und kein Nicht-Schlüsselattribut von einem Schlüsselkandidaten transitiv abhängig ist. ■ Relationen in 3. Normalform: PRÜFUNGEN: PNR FACH 560 ABWL 580 AVWL 723 KI
PRÜFER Keller Ulman Hammer
STUDENTEN: MATRNR NAME FBNR 895642 Maier 2 26578 Schmidt 2 25634 Kurz 2 794567 Karl 20
▲ Neben diesen drei Normalformen existieren noch drei weitere Stufen der Normalisierung, auf die jedoch meist in der betrieblichen Praxis verzichtet wird. ● Boyce-Codd-Normalform (BCNF): Eine Relation befindet sich in BCNF, wenn sie in der 3. NF ist und darüber hinaus jede Determinante ein Schlüsselkandidat ist. ● Vierte Normalform (4. NF): Eine Relation befindet sich in der 4. NF, wenn sie sich in der BCNF bzw. 3. NF befindet und alle mehrwertigen Abhängigkeiten funktionale Abhängigkeiten darstellen. ■ Die Bedeutung der 4. Normalform soll am Beispiel einer Relation dargestellt werden, bei der eine Fach→Lehrer- und eine Fach→Text-Beziehung die für Schüler relevante Zuordnung abbildet. FACH→LEHRER/TEXT FACH LEHRER Physik Maier Physik Maier Physik Müller Physik Müller Mathematik Maier Mathematik Maier Mathematik Maier
TEXT Grundlagen der Mechanik Grundlagen der Optik Grundlagen der Mechanik Grundlagen der Optik Zahlentheorie Vektoranalysis Trigonometria
Ein Problem taucht bei der Einführung von Schmidt als neuem Mathematiklehrer auf: Man müsste 3 neue Tupel einführen. Man umgeht dies durch die Zerlegung der Relation:
5.1 Klassifizierung der Daten FACH→LEHRER FACH LEHRER Physik Maier Physik Müller Mathematik Maier Mathematik Schmidt
211
FACH→TEXT FACH TEXT Physik Grundlagen der Mechanik Physik Grundlagen der Optik Mathematik Zahlentheorie Mathematik Vektoranalysis Mathematik Trigonometrie
● Fünfte Normalform (5. NF): Eine Relation befindet sich in der 5. NF, wenn sie sich in 4. NF befindet und unter keinen Umständen aufgrund einer Verschmelzung von nur zwei einfacheren Relationen mit unterschiedlichen Schlüsseln rekonstruiert werden kann. ■ Beispiel für 5. NF: Anbieter S liefert Produkt P für Projekt J. Alle drei Attribute sind Schlüssel. Aus der originalen Relation, die nicht in 5. NF ist, werden durch Projektion drei einfachere Relationen gebildet: SP, PJ und JS. SP S# S1 S1 S2 SPJ S# S1 S1 S2 S1
P# P1 P2 P2 P1
J# J2 J1 J1 J1
P# P1 P2 P2
PJ P# P1 P2 P1
H HH H H H
J# J2 J1 J1
JS J# J2 J1 J1
S# S1 S1 S2
Join über P# =⇒ ?
S# S1 S1 S1 S2 S1
P# P1 P1 P2 P2 P1
J# J2 J1 J1 J1 J1
? -
Join über (J#,S#) ?
Original SPJ
Die Relation SPJ kann nur durch eine Verknüpfung von allen drei einzelnen Relationen SP, PJ und JS erstellt werden. Die einfacheren Relationen SP, PJ und JS sind in 5. Normalform. ● Vorteile der Normalisierung: • Redundanzfreie Speicherung (oder redundanzarme Speicherung, wenn man die Mehrfachspeicherung eines Schlüssels bereits als Redundanz auffasst) ▲ Jedes Faktum ist nur einmal in der Datenbank gespeichert.
Faktum: Zuordnung eines Wertes zu einem Attribut eines Tupels ■ Attribut Studienfach des Studenten X hat die Ausprägung BWL • Sicherung der Integrität: Keine sich widersprechenden Fakten sind in der Datenbank gespeichert. ■ Beispiel für fehlende Integrität: Der Bankleitzahl 50060000 sind verschiedene Banknamen
zugeordnet • Integritätssichernde Maßnahme: Einführung der 3. NF.
212
5 Daten und Information
● Nachteile der Normalisierung: • Normalisierungsaufwand • Schlechteres Laufzeitverhalten bei der Zusammenfügung (Join) mehrerer Relationen. Beim Datenbankentwurf sind somit die „Kosten“ und „Nutzen“ der Normalisierung abzuwägen. • Normalisierung bis 3. NF (oder weniger!) ist in der Regel ausreichend.
5.1.2
Organisation unformatierter Daten
● Datenbanksysteme für unformatierte Daten dienen der Repräsentation, Speicherung und Wiederauffindung unformatierter Datenbestände. Unformatierte Daten sind einer Kategorienbildung von Datentypen nur schwer oder überhaupt nicht zugängliche Daten. ■ Im Allgemeinen handelt es sich dabei um Dokumente oder Dokumentstellvertreter wie z. B. Texte oder Memos, sowie Multimediadokumente wie Grafiken, Videosequenzen, Töne und Sprache. ▲ Man gebraucht für diese Kategorie von Datenbanksystemen auch die Bezeichnungen Document-Retrieval- bzw. Information-Retrieval-Systeme. ● Damit ein Datenbanksystem bei unformatierten Daten für Aufgaben der Entscheidungsunterstützung herangezogen werden kann, sind neben der Datenerfassung zwei wesentliche Teilschritte notwendig: 1. Dokumentendeskribierung: Erstellung von sinngemäßen Beschreibungen (Schlüsselworte oder Deskriptoren) für die Dokumente. ▲ Die Deskriptoren sollen die wesentlichen inhaltlichen Merkmale eines Dokuments mithilfe eines
verkürzten Wortschatzes ausdrücken. Die Dokumentendeskribierung erfolgt während oder nach der Erfassung der unformatierten Daten. 2. Recherche: Formulierung einer Suchanfrage (Anfragedeskriptor) durch den Anwender (Anfragedeskribierung) und Behandlung der Anfrage durch das System. Bei der Formulierung der Suchanfrage wird der Anwender angehalten, bestimmte Merkmale einzugeben, die den Merkmalen der Dokumentendeskriptoren möglichst ähnlich sind. Bei dem darauf folgenden Prozess des Wiederauffindens, dem so genannten Retrieval, vergleicht das System die Anfragedeskriptoren mit den Dokumentendeskriptoren. Im Falle der Übereinstimmung oder Ähnlichkeit gelangt der Anwender über die betreffenden Dokumentendeskriptoren zu den dazugehörigen Dokumenten. Dokumenterfassung ↓ Dokumentdeskribierung ↓ Dokumentrecherche ↓ Dokumentpräsentation Die elementaren Teilprozesse in Datenbanken für unformatierte Daten ▲ Betrachtet man die Architektur von Datenbanksystemen für unformatierte Daten, so kann man zunächst ein Dialogsystem von einem Basissystem unterscheiden. Mithilfe des Dialogsystems kann der Anwender seine Anfrage zur Entscheidungsunterstützung deskribieren. Bei korrekter Anfragedeskribierung bekommt er eine Trefferliste angezeigt. Im Falle einer syntaktisch unkorrekten Anfrage wird er vom Dialogsystem auf den Fehler hingewiesen.
5.1 Klassifizierung der Daten
213
● Das Basissystem besteht aus drei Komponenten: • dem Erfassungssystem, • dem Deskribierungssystem und • dem Recherchesystem. ● Das Erfassungssystem dient der Eingabe und Speicherung der Dokumente. Die Eingabe erfolgt i. d. R. Off-Line über einen Bildschirm und ein Band oder eine Platte. Durch die Entwicklung der Scannertechnologien findet zudem die Erfassung von gedruckten Vorlagen immer größere Verbreitung. ● Das Deskribierungssystem unterstützt die Erstellung der Dokumentendeskriptoren. Dabei werden Begriffe, so genannte Deskriptoren vergeben, die den Inhalt eines Dokuments repräsentieren. Der Vorgang der Begriffsvergabe, die Deskribierung, kann dabei von Hand durch einen Indexierer oder automatisch durch das System vorgenommen werden. Am Ende der Dokumentendeskribierung werden die erstellten Deskriptoren den Dokumenten zugeordnet und in einer eigenen Datei gespeichert. ● Das Recherchesystem gleicht Anfragedeskriptoren mit den Dokumentendeskriptoren zwecks (Wieder-)Auffindung der gewünschten Dokumente ab. Basissystem Dokumenterfassung Dokumentdeskribierung Dialogsystem Dokumentrecherche ←→ Dokumentanfrage Dokumentpräsentation Architektur von Datenbanksystemen für unformatierte Daten ▲ Analog zum Datenbankadministrator bei Datenbanksystemen für formatierte Daten ist bei den Document-Retrieval-Systemen ebenfalls ein Systempfleger notwendig. Seine Hauptaufgaben sind neben der Unterstützung der Anwender vor allem der Bereich der Kontrolle der Datenversorgung, der Benutzerverwaltung und der physischen Datenorganisation. ▲ Besitzt das Deskribierungssystem kein automatisches Verfahren zur Erstellung der Dokumentendeskriptoren, so kann neben dem Systempfleger zusätzlich ein so genannter Indexierer notwendig sein. Dieser bedient sich manueller Verfahren zur Deskribierung der Dokumente. Dabei handelt es sich häufig um eine Person, die bezüglich der Dokumenteninhalte sachkundig ist. ● Bei Datenbanksystemen für unformatierte Daten lassen sich Anforderungen definieren, die als Beurteilungskriterien hinsichtlich einer konkreten Systembewertung herangezogen werden können: • Identität: Dokumente gleichen Inhalts müssen bei zeitlich verschiedener Deskribierung oder bei Deskribierung durch verschiedene Indexierer zu einer Zuweisung identischer Deskriptoren führen. • Selektionsgüte: Die Fähigkeit eines Systems, die für den Anwender relevanten Dokumente nachzuweisen. • Ergonomie: Lernaufwand, der intellektuell oder physisch getrieben werden muss, um Suchanfragen zu formulieren, die Suche durchzuführen und das Suchergebnis durchzusehen. • Effizienz: Die Zeit, die zwischen der Eingabe einer Suchanfrage und der Ausgabe der Suchergebnisse vergeht. • Ergebnispräsentation: Die Form der Darstellung der Ausgabedaten, welche die weitere Verwertung der Suchergebnisse beeinflusst. • Abdeckung: Das Ausmaß, in dem alle relevanten Dokumente eines Sachgebiets in der Datenbank vorhanden sind.
214
5 Daten und Information
a) Typologien von Datenbanksystemen für unformatierte Daten ● Datenbanksysteme für unformatierte Daten lassen sich u. a. nach ihrer Nutzungsart, Datenherkunft und nach ihrem Datenumfang klassifizieren. ● Nutzungsart: Im Hinblick auf die Nutzungsart ist der Begriff der Online-Datenbank zu nennen. ▲ Der Ursprung dieser Typisierung kommt aus der konventionellen Dokumentations- und Ordnungslehre. Dort ließ der Anwender die Recherche durch einen Dokumentator durchführen, dessen Einsatz sich durch seine spezialisierten Fachkenntnisse und seine Zuständigkeit bei der Deskriptorvergabe rechtfertigte. Später, als dialoggestützte Rechnersysteme aufkamen, die auch vom Anwender bedienbar waren, trat der Dokumentator in den Hintergrund. Der manuellen Dokumentation folgten elektronische Datenbestände, die interaktiv durchsucht werden konnten bzw. können, somit entstanden OnlineDatenbanken. ▲ Auch Datenbanksysteme für formatierte Daten werden als Online-Datenbanken bezeichnet, sofern sie interaktiv zugängliche Daten (z. B. Daten über Börsenkurse) umfassen. ● Datenherkunft: Bezüglich der Datenherkunft unterscheidet man interne und externe Datenbanken. Interne Datenbanken beziehen ihre Daten aus dem eigenen Unternehmen. ■ Archivierungssysteme in großen Anwaltskanzleien oder Know-How-Datenbanken in Fertigungsbetrieben ▲ Im Vergleich zu externen Datenbanken sind sie jedoch eher seltener anzutreffen. Externe Datenbanken helfen beim Wiederauffinden unternehmensexterner Daten. ■ Die wichtigsten Vertreter sind Literatur-, Rechts- oder Patentdatenbanken. ▲ Auch formatierte Daten können Bestandteil externer Datenbanken sein. ● Originalität der Daten: Typisiert man Datenbanksysteme für unformatierte Daten hinsichtlich ihrer Originalität, so lassen sich Faktendatenbanken und Referenzdatenbanken unterscheiden. Eine Faktendatenbank enthält Primärdaten in der Form von Volltexten (z. B. Zeitschriftenartikel oder Gerichtsurteile) oder Zahlenmaterial (z. B. Börsenkurse oder andere Statistiken). Eine Referenzdatenbank enthält aus z. B. Platz- und Kostengründen nur Textauszüge (z. B. Zusammenfassungen oder Hinweise von bzw. auf Primärdaten, z. B. bei Patenten oder Monografien).
b) Dokumentendeskribierung ● Die Deskribierung von Dokumenten kann von Hand oder automatisch erfolgen. Bei den manuellen Verfahren zur Dokumentendeskribierung erfolgt die Auswahl und Festlegung der Deskriptoren durch den Indexierer. Bei den automatischen Verfahren werden die Deskriptoren vom System festgelegt. ● Manuelle Verfahren zur Dokumentendeskribierung:
Bei den manuellen Verfahren zur Deskribierung von Dokumenten können die manuelle Klassifikation und die manuelle Indexierung unterschieden werden. Manuelle Klassifikation: Die Dokumente werden einer oder mehreren Klassen zugeordnet. Die Zuordnung erfolgt durch den Indexierer unter Einbeziehung eines fest vorgegebenen Klassifikationsschemas. Der Klassenname dient dann als Deskriptor. Die Klassifikation kann hierarchisch (baumförmig) oder in Fassetten erfolgen.
5.1 Klassifizierung der Daten
215
Hierarchische Klassifikation: Das zu dokumentierende Gesamtgebiet wird zunächst in n Klassen eingeteilt. Jede dieser Klassen wird wiederum in weitere m Unterklassen aufgespalten, usw. Dabei erhält jede Klasse eine Klassennummer. Eine konkrete Klassenbenennung ergibt sich durch Aneinanderreihen der Klassennummern, die auf dem Weg von der Wurzel des Baums bis zur betreffenden Klasse durchlaufen werden. Werden die Ziffern 0 bis 9 zur Identifikation der Klassen verwendet, spricht man auch von Dezimalklassifikation. ▲ Der Einfachheit und Übersichtlichkeit dieses Verfahrens steht jedoch der Nachteil mangelnder Flexibilität bei Sachgebietserweiterungen gegenüber. Dieser Nachteil kann durch manuelle Indexierung vermieden werden. Fassettenklassifikation: Aus einer Reihe fest vorgegebener, gleichberechtigt nebeneinanderstehender Deskriptoren wird je ein Begriff herausgesucht und mit anderen Begriffen kombiniert. Manuelle Indexierung: Der Indexierer kann den Dokumenten frei wählbare Deskriptoren zuordnen. Zu unterscheiden sind das Stichwort- und das Schlagwortverfahren. Stichwortverfahren: Es werden jene Begriffe als Deskriptoren verwendet, die auch tatsächlich im Text vorkommen (Stichworte) und die den Inhalt des Dokuments besonders gut wiedergeben. Schlagwortverfahren: Es werden auch nicht vorkommende Begriffe (Schlagworte) als Deskriptoren zugelassen. ▲ Dem Gewinn an Flexibilität stehen jedoch eine erhebliche Zunahme des Erfassungsaufwands durch den Indexierer und vermeintliche Verstöße gegen die Identitätsforderung gegenüber. Das Stichwortund insbesondere das Schlagwortverfahren bietet dem Indexierer einen hohen Freiheitsgrad bei der Deskribierung der Dokumente. Bei einer späteren Deskribierung oder bei einer Deskribierung durch eine andere Person können andere Deskriptoren verwendet werden. Als wichtiger und relativ weit verbreiteter Ansatz empfiehlt sich die Einführung eines kontrollierten Wortschatzes. Kontrollierter Wortschatz: Begrenzung der Vielfalt der Terminologie, indem als Deskriptoren nur bestimmte Worte oder Wortfolgen zugelassen werden. ▲ Sie sind nur dann verwertbar, wenn die Inhalte der Dokumente sachlichen Beschränkungen unterworfen werden. Kontrollierte Wortschätze sind daher stets sachgebietsspezifisch. Da der Indexierer nicht alle Begriffe und alle impliziten Bezüge zur Vergabe der Schlagworte beherrscht, kann es sinnvoll sein, ein Schlagwortverzeichnis zur Verfügung zu stellen. Dieses wird auch als Thesaurus bezeichnet und liegt in Form eines im Datenbanksystem gespeicherten Katalogs vor. ● Automatische Verfahren zur Dokumentendeskribierung In der Praxis hat sich gezeigt, dass es schwierig ist, die manuelle Deskribierung über längere Zeit präzise und konsistent durchzuführen. Vom Indexierer wird eine gute Ausbildung und viel Erfahrung erwartet. Häufig ist aber die Zahl der pro Dokument vergebenen Deskriptoren nicht ausreichend. Relevante Einträge werden ausgelassen oder den Einträgen fehlt die Spezifität. Beides führt zu Abstrichen bei der Selektionsgüte. Aus diesem Grund kann es empfehlenswert sein, auf Retrieval-Systeme mit automatischen Verfahren zur Dokumentendeskribierung zurückzugreifen. ▲ Theoretisch wäre es denkbar, alle im Dokument enthaltenen Begriffe zu Deskriptoren zu machen. Damit würde man jedoch auch jene Begriffe miteinbeziehen, die den Inhalt des Dokuments nicht aussagekräftig beschreiben (z. B. Artikel, Präpositionen, Konjunktionen oder Hilfsverben). Derartige Begriffe sind schlechte Diskriminatoren und eignen sich deshalb nicht zur Indexierung. Es ist relativ einfach, diese Begriffe in einem Wörterbuch zu sammeln, um sie von der Deskribierung auszuschließen. Dieses Wörterbuch bezeichnet man als Stoppwortliste oder Negativliste.
216
5 Daten und Information
1. Analyse des gesamten Dokuments oder der Zusammenfassung eines Dokuments durch das System: Unbedeutende Stoppworte werden als Deskriptoren ausgeschlossen und die verbleibenden Begriffe werden als potenzielle Deskriptoren vorgemerkt. ▲ Beim Erstellen einer Stoppwortliste kann es zu Verletzungen der Identitätsforderung kommen, da die Reihenfolge einzelner Deskriptoren für den Dokumenteninhalt ausschlaggebend sein kann. ■ So führen beispielsweise die Terme „Kleider machen Leute“ und „Leute machen Kleider“ zu
derselben Deskriptormenge. Dieses Problem kann durch die Festlegung so genannter Konkordanzen vermindert werden. Konkordanzen repräsentieren Folgen von Worten und verweisen explizit auf die entsprechenden Stellen im Text. Es wird vermerkt, an welchen Stellen im Text (z. B. Kapitel, Abschnitt, Satz, Wort im Satz) der betreffende Deskriptor vorkommt. 2. Automatische Reduktion morphologischer Formen: Es wird versucht, die verbliebenen Begriffe auf ihren Wortstamm zu reduzieren. ▲ Morphologie befasst sich mit Formveränderungen (Flexionen) von Begriffen durch Konjugation und Deklination. Das Verfahren versucht, jene sprachlichen Eigenschaften zu berücksichtigen, die keine Sinnveränderung darstellen. Man lässt nur die Grundform der Textwörter als Deskriptor zu. Jeder Begriff wird dabei in einen bedeutungstragenden Bestandteil (Lexem) und seine Flexion (gebundenes Morphem) aufgespalten. Die Flexionsformen können dabei dem bedeutungstragenden Teil vorangestellt (Präfix) oder nachgelagert (Suffix) sein. Aus den Lexemen werden dann die zugehörigen Grundformen erzeugt und als Deskriptoren weitergeführt. Die Deskriptormenge wird auf diese Art und Weise nochmals begrenzt. 3. Häufigkeitsanalyse: Bei diesem Verfahren wird von der Gesetzmäßigkeit ausgegangen, dass nur jene Begriffe als Deskriptoren bedeutsam sind, die zwar diskriminierend wirken, gleichwohl aber eine mittlere Vorkommenshäufigkeit im gesamten Dokumentenbestand besitzen. Zu diesem Zweck werden sämtliche Begriffe nach abnehmender Häufigkeit geordnet. Dann werden aus der Deskriptormenge zunächst die Begriffe niedriger Häufigkeit entfernt. Dabei handelt es sich um Begriffe, die nur sehr selten in der Datenbasis vorkommen. Anschließend werden wiederum die häufig vorkommenden Begriffe als Deskriptoren ausgeschlossen. ▲ Problematisch ist dabei die Bestimmung des unteren und oberen Schwellenwertes, der zum Ausschluss führt. Um negativen Einflüssen bei der Selektionsgüte entgegenwirken zu können, formuliert das System die Schwellenwerte relativ vorsichtig. Im unteren Bereich beschränkt es sich auf Begriffe, die nur ein- oder zweimal vorkommen. Die obere Grenze kann sich am Reduktionsumfang orientieren. ▲ Die Häufigkeitsanalyse gestattet eine weitere Verbesserung der dokumentenspezifischen Beschreibung. 4. Automatische Generierung von Deskriptorgewichten: Hier können ebenfalls mehrere Ansätze herangezogen werden, von denen die Gewichtungsmethode erwähnt werden soll, in der sich das Gewicht des Deskriptors aus dem Produkt der Häufigkeit eines Begriffs k in einem Dokument i und dem Diskriminanzwert von k errechnet. Als komplexes Ähnlichkeitsmaß bringt der Diskriminanzwert zum Ausdruck, inwieweit ein Begriff ein Dokument von einem anderen Dokument unterscheiden hilft. ▲ Als Deskriptor sollten nur jene Begriffe verwendet werden, deren Diskriminanzwerte die Ähnlichkeit zwischen Dokumenten vermindern. Negative Diskriminanzwerte liefern dagegen keinen wesentlichen Beitrag zur Charakterisierung von
5.1 Klassifizierung der Daten
217
Dokumenten, da sie die Ähnlichkeit der Dokumente untereinander vergrößern. Die dazugehörigen Begriffe sollten als Deskriptoren ebenfalls ausgeschlossen werden.
c) Dokumentenrecherche ● Damit der Anwender für Aufgaben der Entscheidungsunterstützung zu den relevanten Daten finden kann, ist neben der inhaltlichen Erschließung der Dokumente ein Suchprozess notwendig. Dieser besteht aus zwei Teilen: 1. Anfragedeskribierung: Der Anwender muss seinen Informationsbedarf über eine Anfrage dem System mitteilen, indem er die gewünschten Suchbegriffe eingibt. 2. Suchprozess oder Dokumentenauswahl: Das System muss die Anfrage mit den Deskriptoren der Dokumente abgleichen und die relevanten Dokumente dem Anwender ausgeben. Anfragedeskribierung Bei der Deskribierung der Anfrage gibt der Anwender die gewünschten Suchbegriffe ein. ● Im Hinblick auf die anschließende Zuordnung von Anfragedeskriptoren zu Dokumentendeskriptoren ergeben sich dabei die beiden folgenden Varianten: • Identische Abbildung: Das System sucht nur nach genau jenen Begriffen, die der Anwender auch eingegeben hat. Dokumenten- und Anfragedeskriptoren müssen identisch sein. Der Anwender kann sich eines freien oder kontrollierten Wortschatzes bedienen. • Erweiterung der Deskriptormenge: Der Vorrat der Anfragedeskriptoren kann größer sein als die gespeicherten Dokumentendeskriptoren. Das System setzt die Erweiterung durch den Einbezug aller zu einem Deskriptor denkbaren Synonyma in den Thesaurus um. ▲ Da bei der identischen Abbildung die Wahrscheinlichkeit einer Übereinstimmung der vom Anwender eingegebenen Deskriptoren mit den vom Indexierer oder vom System erstellten Deskriptoren gering ist, trifft man diese Form allenfalls bei gut abgegrenzten Sachgebieten oder überschaubaren Datenbeständen an. Die Erweiterung der Deskriptormenge ist trotz der höheren Rechenzeiten der häufiger anzutreffende Fall. Es bleibt die Frage, in welcher Form der Anwender seine Suchbegriffe eingeben muss, um zu den gewünschten Dokumenten zu gelangen. Am weitesten verbreitet ist hierfür die Verküpfung der Suchbegriffe mit Boole’schen Operatoren. Daneben soll auf so genannte Freitextverfahren hingewiesen werden, bei denen der Anwender sein Suchproblem in natürlicher Sprache formuliert. ● Bei der Boole’schen Suche werden die Suchbegriffe über die Mengenoperatoren AND, OR und NOT verknüpft. • A AND B: weist alle Dokumente nach, in denen zwei Suchbegriffe A und B beide vorkommen. • A OR B: weist alle Dokumente nach, die den Begriff A, den Begriff B oder beide Begriffe enthalten. • NOT A: weist jene Dokumente nach, in denen der Begriff A nicht enthalten ist. ● Die Prioritätenfolge ist NOT vor AND und OR. ▲ Soll die Prioritätenfolge verändert werden, sind Klammerausdrücke zu verwenden. Neben den o. g. Basisoperatoren bieten verschiedene Systeme weitere Verknüpfungsmöglichkeiten an: • A ADJ B (Adjacency): legt die Reihenfolge und Lokation von Suchbegriffen fest. Ein Suchbegriff A muss direkt vom Begriff B gefolgt werden, d. h. B muss unmittelbar nach A kommen. • A WITH B: Die Begriffe A und B müssen im selben grammatischen Satz des Dokuments vorkommen. • A SAME B: Die Begriffe A und B müssen im gleichen Absatz vorkommen. • A XOR B: Entweder Begriff A oder Begriff B (aber nicht beide gleichzeitig) sind im Dokument enthalten.
218
5 Daten und Information
▲ Bei der Formulierung der Suchanfrage können so genannten Abkürzungs- oder Trunkierungssymbole verwendet werden. Diese erlauben eine Verkürzung der Anfrage auf einzelne Begriffsbestandteile. Viele Datenbanken lassen zudem eine nachträgliche Verknüpfung von Suchanfragen zu. Zu diesem Zweck wird der COMBINE – Operator eingesetzt, der teilweise sogar nicht explizit eingegeben werden muss. ● Eine weitere prinzipielle Vorgehensweise zur Formulierung einer Suchanfrage ist die natürlich sprachliche Eingabe des gewünschten Suchergebnisses. Der Anwender gibt dies in das Datenbanksystem in freier Form ein. Daher werden die mit dieser Form der Anfragedeskribierung verbundenen Techniken auch unter dem Begriff der Freitextverfahren zusammengefasst. Derartige Systeme erfordern den Einsatz linguistischer Verfahren. Diese befinden sich zwar z. T. noch im Entwicklungsstadium, können aber bereits zur punktuellen Verbesserung der deskriptororientierten Verfahren eingesetzt werden. ● Betrachtung der Funktionsweise linguistischer Verfahren: • Morphologische Ebene: Analog zu den Ausführungen über die → automatische Reduktion morphologischer Formen müssen die eingegebenen Satzteile auf ihre bedeutungstragenden Wortbestandteile überführt werden. • Lexikalische Ebene: Mithilfe von Thesauri werden identische Begriffe bei den Wortbestandteilen entfernt und jedem Textwort linguistische Merkmale zugewiesen (z. B. ob es sich um Substantiv, Adjektiv, Präposition usw. handelt). • Syntaktische Ebene: Dabei werden die einzelnen Worte in strukturelle Einheiten (z. B. SubjektVerb-Objekt- oder Präpositionalphrasen) gruppiert, um die grammatikalische Struktur eines eingegebenen Satzes formal abzubilden. • Semantische Ebene: Zusätzlich zu der rein syntaktischen Ebene wird hierbei kontextuelles Wissen verarbeitet, um einen Satz in bedeutungstragende Einheiten zerlegen zu können. Hierzu werden immer häufiger verschiedene Formen der Wissensrepräsentation (vor allem Semantische Netze) eingesetzt, die auch in wissensbasierten Systemen Verwendung finden. • Pragmatische Ebene: Es werden zusätzliche Querbeziehungen zu anderen Sprachelementen im Sinne einer Kontextbeschreibung hergestellt. ■ Beispielsweise lässt sich aus dem Wissen über die Größe von Schlüsseln und Schlössern und
aus der üblichen Verwendung von Schlüsseln eine eindeutige Interpretation aus dem Satz „Der Schlüssel steckt im Schloss“ ableiten. ▲ Linguistische Systeme können bisher nur bei stark abgegrenzten Fachgebieten eingesetzt werden. Sie erlauben, inhaltliche Interpretationprobleme, bestehende Kontextschwierigkeiten und auftretende Mehrdeutigkeiten im Voraus zu vermeiden. Dies geschieht zumeist über einen Rückkopplungsprozess mit dem Anwender im Rahmen so genannter Frage-Antwort-Systeme. ● Eine weitere Einsatzmöglichkeit bieten sprachanalytische Verfahren. Syntaktische Analysesysteme helfen, die Selektionsgüte von Datenbanksystemen für unformatierte Daten zu verbessern. ▲ Durch die Generierung von Mehrwortbegriffen (Konkordanzen) kann die Dokumentendeskribierung vereinfacht werden. Es deutet einiges darauf hin, dass in der Zukunft die Informationssuche (Information Retrieval) von der Entwicklung sprachverarbeitender Verfahren profitieren wird. Dokumentenauswahl ● Die Verfahren zur Dokumentenauswahl können nach der zugrunde liegenden Auswahlfunktion unterschieden werden. Eine Auswahlfunktion ordnet jedem Deskriptor aus einer Anfrage einen Deskriptor in einem Dokument zu. Aus einer Menge von Anfragedeskriptoren kann mittelbar auf die Dokumente geschlossen werden. Sollen derartige Auswahlfunktionen einbezogen werden, so bieten sich ebenfalls die →Boole’sche Suche und Freitextverfahren an.
5.1 Klassifizierung der Daten
219
Freitextverfahren: Der Anwender muss sich nicht auf die vorgegebenen Deskriptoren beschränken, sondern er kann nach Dokumenten suchen, die einen vorgegebenen Wortlaut enthalten. Freitextverfahren werden realisiert, indem neben den reduzierten Wortstämmen die Konkordanzen in der Deskriptordatei geführt werden. ● Fehlen Auswahlfunktionen wie im oben genannten Sinne, muss aus einer Menge von Anfragedeskriptoren unmittelbar auf eine Menge von Dokumenten geschlossen werden. Hierfür wird mit Ähnlichkeitsmaßen operiert. ■ Beispiel der Dokumentenauswahl bei fehlender Auswahlfunktion: • Ein Dokument DOKi wird durch die Deskriptoren TERMi1 , TERMi2 , . . ., TERMit beschrieben, wobei TERMi j das Gewicht oder die Bedeutsamkeit eine Begriffes j ist, der als Deskriptor des Dokuments i dient. Eine Dokumentensammlung lässt sich dann als Matrix repräsentieren, wobei jede Zeile ein Dokument und jede Spalte die an das Dokument vergebenen Deskriptoren darstellen. TERMi j > 0, wenn der Deskriptor j dem Dokument i zugeordnet wurde. TERMi j = 0, wenn der Begriff j nicht als Deskriptor für das Dokument i vergeben wurde. Analog zum Dokument kann eine Anfrage ANFRAGE j als Vektor ATERM j1 , ATERM j2 , . . ., ATERM jt definiert werden. ATERM jk ist dann das Gewicht oder die Wichtigkeit des Suchbegriffs k von der Suchanfrage j. • Um ein Dokument als relevant nachzuweisen, wird nun nicht mehr auf einer völligen (mittelbaren) Übereinstimmung zwischen Anfrage- und Dokumentvektor bestanden. Vielmehr wird festgelegt, dass der Nachweis von einem Ähnlichkeitswert zwischen Suchanfrage und Dokument abhängt. Da Dokumente und Suchanfrage in einem t-dimensionalen Raum abgebildet werden können, lässt sich die Ähnlichkeit in Abhängigkeit von der Anzahl der übereinstimmenden Suchbegriffe bestimmen. Die Berechnung der Ähnlichkeit erfolgt über trigonometrische Funktionen, wie z. B. dem Kosinus des Winkels zwischen Dokument und Suchanfrage. • Die Position eines Dokuments bzw. einer Suchanfrage im Vektorraum bestimmt sich über das Gewicht der einzelnen Deskriptoren. Im Idealfall sind Such- und Dokumentenvektor genau gleich, d. h. die entsprechenden Vektoren liegen übereinander und das Ähnlichkeitsmaß beträgt 1. Andernfalls liegen die Vektoren auseinander. Im Extremfall ist kein Begriff in Dokument und Suchanfrage übereinstimmend. Dann errechnet sich für das Ähnlichkeitsmaß der Wert −1. ▲ Über die numerische Ähnlichkeitsberechnung können somit nicht nur jene Dokumente nachgewiesen werden, die exakt alle Suchbegriffe als Deskriptor besitzen. Vielmehr können auch diejenigen Dokumente selektiert werden, die einen bestimmten Ähnlichkeitswert überschreiten (z. B. cos(DOKi ,ANFRAGE j ) > 0,5). Zudem ist es möglich, die nachgewiesenen Dokumente in der Rangfolge der Ähnlichkeitswerte auszugeben. Dadurch kann der Interpretationsaufwand für den Anwender verringert und die Selektionsgüte des Systems vergrößert werden.
d) World Wide Web (siehe Kapitel 1) ● Die weltweit größte Datenbank für unformatierte Daten ist das World Wide Web (WWW). ● Das World Wide Web ist ein Dienst des Internets, der eine verteilte Datenbank für unformatierte Daten mit folgenden Spezifikationen beinhaltet: • Die Erfassung erfolgt mithilfe einer speziellen Beschreibungssprache (HTML, Hypertext Markup Language). • Zur Erfassung der Dokumente können spezielle HTML-Editoren genutzt werden. • Dokumente können aus Text, Grafiken, Tönen und Sprache, sowie Videosequenzen oder beliebigen sonstigen Daten bestehen. • Die einzelnen Dokumente werden dezentral auf einzelnen WWW-Servern als Dokumente (Dateien) abgelegt.
220
5 Daten und Information • Eine Verknüpfung erfolgt durch Referenzzeiger innerhalb der Dokumente, wodurch eine Netzwerkstruktur entsteht, bei der jedoch – im Gegensatz zu den Netzwerkdatenbanken für formatierte Daten – jedes Dokument als Einsprungstelle genutzt werden kann, auch wenn jeder Server meist eine spezielle HOME-Seite als zentrale Startseite nutzt. • Der Zugriff kann über die fest definierten Verknüpfungen erfolgen, wodurch ein hierarchischer Zugriff erfolgt. • Durch die dezentrale Struktur gibt es keine zentrale Koordinationsstelle für das Datenbanksystem, insbesondere gibt es keinen Datenbankadministrator oder zentralen Systempfleger. • Der einzelne Autor von Dokumenten ist dafür verantwortlich, dass seine Dokumente von potenziellen Lesern gefunden werden. • Für die Suche im System gibt es spezielle Suchdienste, die aufgrund der gestellten Anfrage temporäre Verknüpfungen zu Dokumenten erstellen. ■ Lycos, Yahoo, Infoseek, etc. Hinter diesen Suchservices stehen Deskriptordatenbanken, die Referenzen auf die originalen Seiten enthalten. Die Aufnahme neuer Dokumente in diese Deskriptordatenbanken erfolgt: – manuell: Autoren der Dokumente erstellen Deskriptoren, die den Inhalt des Dokuments beschreiben und in der Suchdatenbank abgelegt werden. – halbautomatisch: Der Autor des Dokuments teilt dem System mit, dass ein neues Dokument erstellt worden ist und das System erstellt Deskriptoren für das Dokument. – automatisch: Das Suchsystem sucht selbständig nach neuen Dokumenten und ergänzt seine Datenbank durch Deskriptoren der neuen Dokumente. • Für die Präsentation der Dokumente und die Bedienung des Systems werden Web-Browser verwendet, die es für fast alle gängigen Betriebssysteme gibt. ■ Netscape Navigator, MS Internet Explorer, Mozilla, Opera • Der Web-Browser ermöglicht es, eine Liste (Bookmarks) der häufig aufgesuchten Web-Seiten (Dokumente) zu erstellen, um einen wiederholten Zugriff zu erleichtern. • Durch die Integration anderer Internetdienste wie FTP, NEWS-Groups, Email entsteht eine einheitliche, integrierte Benutzeroberfläche für das gesamte Internet.
5.2
Informationen
● Die Abgrenzung von Information gegenüber Daten stellt sich als schwieriges und noch nicht allgemein gelöstes Problem dar. ▲ Gemäß der Sprachtheorie lassen sich die semiotischen Ebenen „Syntax“, „Semantik“ und „Pragmatik“ unterscheiden, die zusammengefasst als Informationen im weitesten Sinne bezeichnet werden können. Die jeweilige Ebene determiniert einen eigenen Informationsbegriff und bedarf der darunter liegenden Ebene(n). Syntaktische Ebene: Informationen auf der untersten Sprachebene können als (akustische, optische, elektrische u. Ä.) Signale bezeichnet werden. Auf dieser Ebene stehen Fragen der Codierung oder der Datenübertragung im Vordergrund. Semantische Ebene: Auf dieser Ebene entstehen aus Signalen Daten oder Nachrichten, bestehend aus Denotationen (frei von Empfindungen und Wertung genau definierbare Objekte, Sachverhalte, Eigenschaften etc.) und Konotationen (Komplex von Nebenvorstellungen, die um eine Denotation ranken). Sie sind fixiert und jederzeit auf unterer Ebene (EDV, Kommunikationstechnik) zugänglich. Pragmatische Ebene: Daten/Nachrichten werden zu Informationen im engeren Sinne, wenn sie einen Sachverhalt widerspiegeln, der dem Empfänger noch nicht bekannt ist und ihm einen Nutzen stiftet.
5.2 Informationen
221
Informationen im engeren Sinne stellen Wissensmehrung über vergangene, gegenwärtige sowie zukünftige Ereignisse dar.
Semiotische Ebenen ● Auf der pragmatischen Ebene werden Signale bzw. Nachrichten unter Einbeziehung der Motive, Zielsetzungen und Zwecke von Sender und Empfänger analysiert und werden zum so genannten zweckoder zielorientierten Wissen. ● Informationen im engeren Sinne sind entscheidungsvorbereitend, d. h. ihr Wert bestimmt sich z. B. durch die Relevanz für eine zu treffende Entscheidung. Erweiterung dieses Ansatzes: ● Eine Information ist nur dann zweckgerichtet, wenn sie eine Entscheidung evoziert. ● Informationen im Sinne der Pragmatik können die Vorstellungen eines Wirtschaftssubjektes über eine reale oder eine abstrakte Welt verändern (neue Informationen) oder bereits verändert haben (bekannte Informationen). ▲ Um ein Datum in eine Information zu wandeln, wird eine bestimmte Grundkenntnis benötigt, die als kognitives Wissen bezeichnet wird. ● Ausgehend von der Annahme, Informationen im engeren Sinne können in ihrer Zweckorientierung identifiziert werden, lassen sich folgende Eigenschaften formulieren: • Informationen sind Güter im ökonomischen Sinn, die entweder auf Märkten gehandelt werden oder unentgeltlich (als öffentliche Güter) zur Verfügung stehen: Körperliche Gegenstände und (immaterielle) Leistungen werden aus ökonomischer Sicht immer dann zu Gütern, wenn – Menschen sie nachfragen, um damit – Bedürfnisse zu befriedigen, die ihnen einen – bestimmten Nutzen stiften. Diese Anforderung trifft auf Informationen im engeren Sinne zu. • Informationen sind eigenständige Güter: Eigenständig ist ein ökonomisches Gut immer dann, wenn zum einen der Zusammenhang erkennbar ist zwischen dem Gut und der daraus resultierenden Bedürfnisbefriedigung (Nutzenmehrung). Zum anderen bedeutet Eigenständigkeit Fungibilität, d. h. Informationen besitzen einen Tauschwert. • Informationen sind i. d. R. knappe Güter: Besteht eine anhaltende Differenz zwischen der Menge von Gütern, die von Wirtschaftssubjekten zur Bedürfnisbefriedigung gewünscht werden, und derjenigen, die vorhanden oder erreichbar ist, so spricht man von Güterknappheit. Zwar ist eine Knappheit für Informationen nicht immer
222
5 Daten und Information nachzuweisen, die steigende Bedeutung von Informationen zur richtigen Zeit am richtigen Ort deutet jedoch in jedem Fall auf eine Diskrepanz zwischen Wunsch und Erreichbarkeit (Realisierbarkeit) hin. • Informationen sind materiell nicht abnutzbar (physische Abnutzungsfreiheit): Informationen sind keine Waren im Sinne des klassischen Warenbegriffs, sondern immaterielle Güter, die allerdings immer an einen materiellen Träger gebunden sind. Informationen können somit mehrfach genutzt werden und sind trotzdem dauerhaft vorhanden (z. B. Wetterkarte, Fahrplan). • Informationen sind unteilbar. Informationen können nicht in Einheiten zerlegt werden und anschließend separat verkauft werden (die Hälfte einer Idee ist nutzlos). Informationen müssen also immer vollständig sein. Arbeitsteilige Produktion und Distribution sind aber denkbar. • Informationen kann man nicht „besichtigen“. Der Wert einer Information bleibt für den Nutzer solange unsicher, bis er die Information selbst kennt. Information kann man nicht besichtigen, nicht probeweise benutzen und bei Nichtgefallen wieder gegen Kostenerstattung zurückgeben. ● Informationsparadoxon (Kenneth J. Arrow): Der Nutzen einer Information kann erst dann
bestimmt werden, wenn sie bekannt ist. Ein ex ante-Kalkül über ein Kosten/Nutzen-Verhältnis ist nicht möglich.
5.3
Data Warehouse und Data Mining
● Neben den Informations- und Kommunikationssystemen für die Steuerung und Abwicklung der Wertschöpfungsprozesse, auch Administrations- und Dispositionssysteme genannt, nehmen Planungsund Kontrollsysteme für das Management eine immer wichtigere Stellung ein. ▲ Zentrale Aufgaben des Informationsmanagements ist die Sicherstellung der zeitgerechten und problemadäquaten Informationsbereitstellung und der Integration aller betrieblichen Informationssysteme (IS). Insbesondere die Sicherstellung der vertikalen Integration, welche die operativen Datenbestände für Planungs- und Analyseaufgaben zugänglich machen soll, wird durch die Entwicklung des „Data Warehouse“ gefördert. ▲ Bereinigte und aufbereitete Unternehmensdaten werden für vielfältige Analysezwecke zur Verfügung gestellt und ermöglichen nicht nur eine freie Navigation durch den Datenbestand, sondern auch den Einsatz von unterschiedlichen Verfahren zur Datenmustererkennung, die unter dem Sammelbegriff „Data Mining“ zusammengefasst werden. Ausgangspunkt für die Sammlung, Speicherung und Analyse unternehmensinterner und unternehmensexterner Daten ist das Bestreben, mit entscheidungsrelevanten Informationen das Management zu unterstützen.
5.3.1
Managementunterstützungssysteme
● Der Manager muss vielfältige Planungs- und Entscheidungsaufgaben wahrnehmen, um seiner gestaltungs- und steuerungsorientierten Führungsrolle gerecht zu werden. Als zentrales Erfolgskriterium erweist sich hierbei der zielgerichtete Einsatz der Informations- und Kommunikationstechnologie. Aus diesem Grund ist es unverzichtbar, den Manager mit angemessenen und wirksamen Hilfsmitteln bei seiner Aufgabenerfüllung zu unterstützen. ▲ Managementorientierte Informations- und Kommunikationssysteme (IuK-Systeme), die sich unter dem Oberbegriff Management Support Systems (MSS) bzw. Managementunterstützungssysteme (MUS) zusammenfassen lassen, weisen ein hohes Leistungsvermögen auf und finden breite Verwen-
5.3 Data Warehouse und Data Mining
223
dung. Der Aufbau und die Beurteilung von MUS orientierten sich an einem Anforderungsprofil, das sich aus der Organisation, den Aufgaben und den Prozessphasen des Managements ableiten lässt:
a) Organisation, Aufgaben und Phasen im Management ● Allgemein lässt sich Management als zielorientierte Gestaltung und Steuerung sozialer Systeme verstehen. Auf Unternehmen bezogen umfasst diese Definition alle Tätigkeiten, die der Steuerung des betrieblichen Leistungsprozesses dienen und dabei planender, organisierender und kontrollierender Art sein können. Als unverzichtbarer Rohstoff bei diesen Tätigkeiten erweisen sich die verfügbaren planungs- und steuerungsrelevanten Informationen. Aus diesem Blickwinkel ist Management als Transformation von Informationen in Aktionen aufzufassen. ● Daneben ist eine personenbezogene Verwendung des Begriffs gebräuchlich (Management im institutionellen Sinne). Das Management bildet dann die begriffliche Zusammenfassung der unternehmerischen Führungs- und Leitungskräfte. Innerhalb des Managements werden häufig die drei Ebenen des Top-, Middle- und Lower-Managements voneinander abgegrenzt, denen • strategische (langfristigen Unternehmenspolitik und Zielkonzeption) und • operative Aufgaben (Übersetzung der Unternehmensziele in konkrete Vorgaben, Programme und Regeln) zugeordnet sind. ● Eine grundsätzliche Einteilung der Managementaufgaben sieht die Unterscheidung zwischen außergewöhnlichen, z. T. einmaligen Strukturierungsaufgaben bzw. -entscheidungen und laufenden Koordinationsaufgaben vor. Koordinationsaufgaben wie Motivation und Führung von Personen, Planung, Entscheidung und Kontrolle, die dem operativen und taktischen Management zuzurechnen sind, bestimmen die Aktionen des Entscheidungsträgers und können nach • Personalaufgaben (verhaltensorientiertes Mangement) und • Sachaufgaben (verfahrensorientiertes Management) gegliedert werden. Grundsätzlich werden in einem Phasenschema die zu durchlaufenden Stadien in ihrer zeitlichen Abfolge angeordnet und phasenorientiert als Prozesskette dargestellt. Beispielhaft können die Phasen für Managementprozesse in folgendes Grobschema eingeteilt werden: • Situationsanalyse, • Planung, • Realisierung und • Kontrolle.
b) Problemstruktur von Managementaufgaben ● Das Aufgabenspektrum der unteren Managementebenen ist durch einen genau definierten Ablauf des Entscheidungsvollzugs mit eindeutigen unternehmensinternen und/oder -externen Verfahrensvorschriften (Programmen) gekennzeichnet, da hier in erster Linie wiederkehrende Routineentscheidungen anstehen. Derartige Aufgabenstellungen bzw. Entscheidungen werden als strukturiert (oder programmierbar) bezeichnet. ● Die in höheren Managementebenen gegebenen Aufgaben und zu treffenden Entscheidungen dagegen sind oftmals vollkommen neuartig, von komplexer Struktur oder aber von erheblicher Bedeutung für die Unternehmung. Aus diesen Gründen erweisen sich standardisierte Verfahren bei der Aufgabenbearbeitung und Entscheidungsfindung zumeist als ungeeignet. Vielmehr ist hier oftmals eine maßgeschneiderte Vorgehensweise bei der Problemlösung angebracht. Kreativität und Innovationsfähigkeit des Entscheidungsträgers sind daher besonders gefordert. Derartige Aufgabenstellungen und Entscheidungen werden unstrukturiert (oder nicht-programmierbar) genannt und setzen umfangreiches Know-How sowie große Erfahrung voraus.
224
5 Daten und Information
● Zwischen den Extrempositionen der strukturierten und unstrukturierten Probleme und Entscheidungen ist ein breites Spektrum mit teil- oder semi-strukturierten Problemen und Entscheidungen angesiedelt. Die hier anstehenden Probleme und Entscheidungen, die oftmals von Managern der taktischen Ebene zu bearbeiten bzw. zu fällen sind, weisen eine oder mehrere, nicht jedoch ausschließlich unstrukturierte Phasen auf. Eine Problemlösung in dieser Sparte lässt sich folglich nicht vollständig automatisieren, vielmehr erweist sich der Einsatz der kognitiven Fähigkeiten des Managers als unerlässlich. ▲ Die Anforderungen an Managementunterstützungssysteme lassen sich demnach an folgenden Kriterien messen: • Systemumfeld (Struktur des Realproblems, Managementebene, Managementphase), • Systembestandteile, Systemaufbau (IS-Architektur und IS-Komponenten), • Systementwicklung (Vorgehensmodelle), • Systemnutzung, Systembetrieb (Einsatzarten). Eine vollständige Abdeckung aller hieraus erwachsenden Anforderungen in einem Unterstützungssystem ist nicht möglich, daher sind unterschiedliche Teilsysteme entstanden. Drei wesentliche Klassen von Informationssystemen bilden die Basis für Managementunterstützungssysteme: • Management Information Systems (MIS), • Decision Support Systems (DSS) und • Executive Information Systems (EIS).
c) Management Information Systems ● Seit den 60er-Jahren wuchs mit dem Aufkommen umfangreicher Dialog- und Transaktionssysteme und der elektronischen Speicherung großer betrieblicher Datenmengen die Nachfrage nach automatisch generierten Führungsinformationen. Der Aufbau von Management Information Systems (MIS) wurde mit dem Ziel gestartet, aus der vorhandenen Datenbasis Informationen abzuleiten, um diese direkt in Planungs- und Kontrollprozesse einfließen zu lassen. ▲ Im besten Fall leisteten diese frühen MIS allerdings lediglich eine Automatisierung der bestehenden
ex-post-orientierten Standardberichte. Das Ergebnis für den Nutzer war ein umfangreiches Listenwesen, das als „Information Overload“ angesehen wurde und die Analyse relevanter Informationen nicht unterstützte. Eine zweckgerichtete Vorverdichtung dagegen unterblieb in den meisten Fällen. ▲ Die fehlende Interaktivität und Dialogorientierung der frühen MIS sind ein zentraler Kritikpunkt
an dieser Systemkategorie. Ein weiteres Defizit kann in der Ermangelung von Modellen und von algorithmischen Problemlösungsverfahren gesehen werden. Ein Einsatz über die dem Entscheidungsprozess nachgelagerte Kontrollphase hinaus ist damit nicht sinnvoll. Zusammenfassend lässt sich festhalten: ● Management Information Systems sind EDV-gestützte Systeme, die Managern verschiedener Hierarchieebenen erlauben, detaillierte und verdichtete Informationen aus der operativen Datenbasis ohne eigene Modellbildung und logisch-algorithmische Bearbeitung zu extrahieren. Auch teilautomatisierte Berichtssysteme oder Anwendungssysteme auf Datenbanken werden zuweilen als MIS bezeichnet.
d) Decision Support Systems ● Eine weitere Kategorie der Managementunterstützungssysteme bilden die Decision Support Systems (DSS) bzw. Entscheidungsunterstützungssysteme (EUS), welche die im vorigen Abschnitt erkannten Schwachpunkte durch eine Abbildung des Verhaltens von Entscheidungsträgern bei der Lösung von Fachproblemen zu vermeiden suchen. Nicht die reine Datenversorgung der Endbenutzer steht im Vordergrund, sondern die effektive Unterstützung im Planungs- und Entscheidungsprozess mit dem Ziel, das Urteilsvermögen des Anwenders und dadurch die Entscheidungsqualität zu verbessern.
5.3 Data Warehouse und Data Mining
225
▲ Als interaktive EDV-gestützte Systeme streben die DSS an, dem Entscheidungsträger im Sinne einer
Assistenz mit Modellen, Methoden und problembezogenen Daten bei der Lösung von Teilaufgaben in eher schlecht-strukturierten Entscheidungssituationen zu helfen. ▲ Zur Klasse der Decision Suppport Systems zählen Programme zur mathematischen Optimierung,
zur Simulation und zur Tabellenkalkulation. An letzteren begründet sich die Kritik an der Systemkategorie: Durch die lokale Speicherung der Logik und der Daten wird die Autonomie des Endbenutzers zwar vergrößert, allerdings erschwert sie die Integration der Systeme in ein unternehmensweites Anwendungssystemkonzept. ▲ Bei erkanntem Problemlösungsbedarf und eingegrenztem Problemumfang leisten DSS gute Dienste
beim Aufbau von Entscheidungsmodellen und der Generierung und Bewertung von Alternativen.
e) Executive Information Systems ● Als weniger geeignet gelten DSS in der Situationsanalyse, wo Problemerkennung und Wahrnehmung von (schwachen) Signalen im Vordergrund stehen. Auf diese Managementphase und auf die strategischen Führungsebenen zielen die Systeme, die unter den Bezeichnungen Executive Information Systems (EIS), Chefinformationssysteme (CIS) oder Führungsinformationssysteme (FIS) eingesetzt werden. Über die reine Versorgung mit relevanten Informationen zur Selektion und Analyse bieten EIS auch eine Kommunikationsunterstützung auf der Basis intuitiv benutzbarer und individuell anpassbarer Benutzeroberflächen. ▲ Durch Techniken wie Drill-Down (disaggregierende Informationsanalyse) und Exception Reporting (Ausnahme-Berichtswesen) werden (soweit das Datenmodell es zulässt) frei navigierbare Suchpfade und automatisierte Abweichungsanalysen verfügbar. ● Executive Information Systems sind rechnergestützte, dialog- und datenorientierte Informationssysteme für das Management, die dem Entscheidungsträger (oder Gruppen von Entscheidungsträgern) aktuelle entscheidungsrelevante interne und externe Information ohne Entscheidungsmodell zur Selektion, Analyse und Kommunikation in intuitiv benutzbaren und individuell anpassbaren Benutzeroberflächen anbieten. ■ In Anlehnung an die Organisationspyramide der strategischen, taktischen und operativen Aufgabenwahrnehmung werden die Informationssysteme für die Managementunterstützung diesen Ebenen zugeordnet: Executive Information Systems s
Decision Support
tem
sys
on ati m s r o inf ystem s
Management
n
tio
uk
d Pro b
rie
rt Ve
Einkauf
F u. E
Lager
Administrationsund Dispositionssystemer
Organisationspyramide der Informationssysteme für die Managementunterstützung
226
5 Daten und Information
● Insgesamt lassen sich nach herkömmlichem Begriffsverständnis die beschriebenen Systemkategorien der MIS, DSS und EIS den Management Support Systems (MSS) zuordnen, die alle Arten der elektronischen Unterstützung betrieblicher Entscheidungsträger bei der Abwicklung anfallender Aufgaben umfassen. Hinzu kommen weitere Basissysteme wie Bürosysteme, Workflowmanagementsysteme oder Projektmanagementsysteme. Management Support Systeme (MSS)
Basissysteme Textverarbeitung Grafik Terminplanung
Decision Support Systeme (DSS)
Executive Information Systeme (EIS) Communication Support Kommunikation E-Mail, ...
Data Support
StandardReporting MIS
Ad-hocReporting
Decision Support Simulation Prognose Optim. / DM
Einteilung der Management-Support-Systeme ● Eine nach Personengruppen spezifische Klassifikation betrieblicher Informationssysteme ist nicht mehr zeitgemäß. Als sinnvoller erweist sich dagegen eine tätigkeitsorientierte Unterteilung der Systeme nach der Art der unterstützten Arbeitsinhalte. Grob lassen sich hier die Klassen der operativen und der dispositiven bzw. analytischen Aufgaben voneinander abgrenzen. ▲ Systeme, die mit einer ausgeprägten Transaktionsorientierung auf eine Unterstützung operativer Anwendungsfelder ausgerichtet sind, leisten heute in jeder Unternehmung unverzichtbare Dienste. So werden in Administrationssystemen die Leistungsprozesse einer Unternehmung zur Dokumentation und Bewertung abgebildet. ▲ Weiterhin können die Dispositionssysteme die Steuerungs- und Lenkungsaufgaben im Falle klar strukturierter Entscheidbarkeit und Delegationsfähigkeit übernehmen, den OLTP-Systemen (On-Line Transaction Processing) zugerechnet werden. ▲ Im Gegensatz hierzu haben sich analytische Informationssysteme herausgebildet, die sich aus folgenden Bestandteilen zusammensetzen: • unternehmensweiter, entscheidungsorientierter Datenpool, mit dem sich die unterschiedlichen analytischen Aufgaben wirksam unterstützen lassen und der als Data Warehouse bezeichnet werden kann, • Werkzeuge zur Entscheidungsunterstützung, die eine mehrdimensionale Datenanalyse nach dem Konzept des On-Line Analytical Processing (OLAP) eröffnen, sowie • Techniken und Verfahren, die ein Auffinden von bislang verborgenen Mustern und Strukturen in umfangreichen Datenbeständen (Data Mining) ermöglichen.
5.3.2
Data Warehouse und On-Line Analytical Processing
● Unter einem Data Warehouse wird ein unternehmensweites Konzept verstanden, dessen Ziel es ist, eine logisch zentrale, einheitliche und konsistente Datenbasis für die vielfältigen Anwendungen zur Unterstützung der analytischen Aufgaben von Fach- und Führungskräften aufzubauen, die losgelöst von den operativen Datenbanken (deren Datenbestände sich laufend verändern) betrieben wird.
5.3 Data Warehouse und Data Mining
227
▲ Aufgabe und Bestandteil des Gesamtkonzeptes ist es, atomare Daten aus heterogenen operativen
Vorsystemen systematisch zusammenzuführen und zu speichern. Aus diesem Grund werden periodische oder Ad-hoc-Verbindungen aufgebaut, um die relevanten Daten zu extrahieren. Durch vielfältige Aufbereitungsmechanismen werden diese gesäubert und entsprechend den Anforderungen strukturiert abgelegt. Die Integration der Daten in einem System führt dazu, dass ein gleichartiger Zugriff auf ein sehr breites inhaltliches Spektrum ermöglicht wird, was einen leicht verständlichen Zugang für den Endbenutzer entscheidend begünstigt. Da im Idealfall alle analyseorientierten Anwendungen eines Unternehmens mit diesen Daten arbeiten, gibt es nur eine „Version der Wahrheit“, d. h., dass in unterschiedlichen Berichten und Auswertungen auch abteilungsübergreifend keine abweichenden Zahlen vorkommen können. ▲ Zentrales Erfolgskriterium beim Aufbau von Data Warehouse-Konzepten ist der Nutzen für den
analysierenden und planenden Anwender. Aus diesem Grund ist neben dem leichten, intuitiven Zugang besonderes Augenmerk auf hohe Flexibilität und Schnelligkeit bei der Bearbeitung von Endbenutzerabfragen zu legen. Die ausgeprägte Anwenderorientierung bedingt eine generelle Ausrichtung, die sich viel stärker an den Analysebedürfnissen denn an einer Transaktionsverarbeitung – wie bei den operativen Systemen gebräuchlich – orientiert. ● Abweichend von den Daten der operativen Systeme lassen sich für die im Data Warehouse abgelegten Informationseinheiten die vier idealtypischen Merkmale Themenorientierung, Vereinheitlichung, Zeitorientierung und Beständigkeit formulieren: Themenorientierung ● Die Informationseinheiten in einem Data Warehouse sind auf die inhaltlichen Kernbereiche der
Organisation fokussiert. Dahingegen sind die applikations- bzw. prozessorientierten Konzepte der operativen DV-Anwendungen auf eine effiziente Abwicklung des Tagesgeschäftes ausgerichtet und damit kaum dazu geeignet, Entscheidungen zu unterstützen. Im Data Warehouse-Umfeld erfolgt eine Konzentration auf inhaltliche Themenschwerpunkte, wie z. B. Produkte und Kunden. Operative Daten, die lediglich für die Prozessdurchführung wichtig sind und nicht der Entscheidungsunterstützung dienen, finden keinen Eingang in ein Data Warehouse. Vereinheitlichung ● Ein zentrales Merkmal des Data Warehouse-Konzeptes ist, dass die Daten vereinheitlicht werden,
bevor ihre Übernahme aus den operationalen Systemen erfolgt. Diese Vereinheitlichung kann verschiedene Formen annehmen und bezieht sich häufig auf Namensgebung, Bemaßung und Codierung. Das Ziel dieser Vereinheitlichung ist ein konsistenter Datenbestand, der sich stimmig und akzeptabel präsentiert, selbst wenn die Datenquellen große Heterogenität aufweisen. Zeitorientierung ● Die Zeitorientierung der in einem Data Warehouse abgelegten Informationseinheiten dokumentiert
sich auf unterschiedliche Arten: • Zunächst ist hier – im Gegensatz zu operativen Anwendungen, die mit präziser Aktualität im Moment des Zugriffs aufwarten – lediglich eine zeitpunktbezogene Korrektheit gegeben, bezogen auf den Zeitpunkt des letzten Datenimports. Jeder Import bietet folglich einen Schnappschuss des Unternehmensgeschehens. Selbst der neueste Schnappschuss kann zum Zeitpunkt der Nutzung durch den Anwender Stunden, Tage oder gar Wochen alt sein. • Dieser zunächst als Manko des Ansatzes erscheinende Umstand erklärt sich jedoch aus den Nutzungsformen: Anwendungsschwerpunkte sind in der Analyse von Zeitreihen über längere und mittlere Zeiträume (Wochen-, Monats- oder Jahresbetrachtungen) gegeben. Entsprechend reichen für diese Auswertungen Informationen mit mäßiger Aktualität vollkommen aus.
228
5 Daten und Information
Beständigkeit ● Die beständige Bevorratung von Zeitreihendaten über lange Zeiträume hinweg erfordert durch-
dachte, anwendungsgerechte Aggregationsverfahren und optimierte Speichertechniken, um den Umfang des zu speichernden Datenmaterials und damit die Zeit in Grenzen zu halten, die für einzelne Auswertungen und Abfragen benötigt wird, in Grenzen zu halten. ● Die inhaltliche Ausrichtung des Data Warehouse lässt sich damit unter Aufgabengesichtspunkten wie folgt zusammenfassen: ● Ein Data Warehouse hat die Aufgabe, themenorientierte und integrierte (i. S. v. vereinheitlichte)
Informationen über lange Zeiträume und mit Zeitbezug zur Unterstützung von Entscheidern aus unterschiedlichen Quellen periodisch zu sammeln, nutzungsbezogen aufzubereiten und bedarfsgerecht zur Verfügung zu stellen.
Data Marts
Front-End-Werkzeuge
Externe Daten
OLAP Server
Data Mining
Zentrales Data Warehouse
Operative Informationssysteme
Data Warehouse ● Die einem Data Warehouse zugeordneten Elemente lassen sich in einer Referenzarchitektur anordnen. Neben den zentralen Data Warehouse-Bausteinen sind Data Marts, d. h. personengruppen- oder funktionsbereichsspezifische Datenbestände, die häufig als OLAP-Server (siehe nachfolgender Abschnitt) aufgebaut sind, und Data Mining-Komponenten zu finden. Darüber hinaus lassen sich auch FrontEnd Tools (Tabellenkalkulation, Reportgeneratoren) auf der Endbenutzerseite zu den analytischen Informationssystemen rechnen. Unterschieden wird zwischen • Komponenten, welche die Endbenutzersichtweise betreffen und als externe Ebene der Systemkategorie bezeichnet werden können (wie Zugriffs- und Präsentationsformen) und • Komponenten, die stärker die interne Funktionsweise bestimmen (wie Update-Verfahren, Speichertechniken und Algorithmen). ● Darüber hinaus sind auch die Ansätze der semantischen Datenmodellierung von besonderer Bedeutung (konzeptionelle Ebene). Für die betriebswirtschaftliche Interpretation operativer Daten sind Transformationsprozesse notwendig, die sich aus Filterung, Harmonisierung, Verdichtung und Anreicherung zusammensetzen: • Filterung stellt die Extraktion aus den operativen Daten und die Bereinigung syntaktischer oder inhaltlicher Defekte in den zu übernehmenden Daten dar. • Harmonisierung bezeichnet den Prozess der betriebswirtschaftlichen Abstimmung gefilterter Daten. • Verdichtung ist die Aggregation gefilterter und harmonisierter Daten. • Anreicherung gilt dem Aufbau und der Speicherung betriebswirtschaftlicher Kenngrößen aus gefilterten und harmonisierten Daten.
5.3 Data Warehouse und Data Mining
229
Anreicherung
Verdichtung Harmonisierung Filterung
Extrakt
Extrakt
Extrakt
Operative Vorsysteme
Der Transformationsprozess ● Wesentliche Aspekte für den Transformationsprozess operativer Daten in ein Data Warehouse sind die Festlegung der Datenquellen, der Granularitätsstufe (kleinste zu übertragende Informationseinheiten) und der Update-Periodizität (Frequenz der Ladevorgänge). Für diese automatisierbaren Vorgänge gibt es Werkzeuge (ETL Tools: Extraktion, Transformation, Laden). Für die technische Ausgestaltung der Gewinnung der Daten aus den operativen Systemen und deren Aufbereitung für das Data Warehouse sind verschiedene Konzepte denkbar, die durch die Art der Aktivitäten zur Datengewinnung charakterisiert werden können: • Techniken, bei denen die operativen Systeme Daten unmittelbar oder über einen Import-Puffer in das Data Warehouse „schieben“ („push-Techniken“). • Techniken, bei denen Funktionen des Data Warehouse die Daten aus den operativen Systemen holen, und dabei entweder unmittelbar auf die originären Daten oder auf dafür bereitgestellte Exportdaten zugreifen („pull-Techniken“). • Techniken, bei denen eine separate Komponente („Middleware“) die Datengewinnung steuert und, je nach Mächtigkeit dieser Komponente, Transformationsfunktionen ausführt. ● Die Steuerung der Datenübernahme muss sich an den Metadaten (semantische Beschreibung der Datenbestände) orientieren, damit nicht nur Datenänderungen, sondern auch Strukturänderungen (z. B. bei Änderungen von Produktgruppenzuordnungen für Konzernzugehörigkeiten) in den operativen Datenbeständen automatisch in das Data Warehouse übernommen werden. Neben der Datenversorgung bilden die Datenspeicherung und der schnelle Datenzugriff die Hauptanforderungen an die interne Ebene eines Data Warehouse. ▲ Für sehr große Datenbestände (Terabytes) müssen speziell optimierte Verfahren der Datenorga-
nisation (z. B. Bitindizierung) in Verbindung mit Multiprozessorsystemen eingesetzt werden, um vertretbare Antwortzeiten sicherzustellen. Bei geringeren Datenvolumina (20-30 Gigabytes) können für den Aufbau von Data Marts folgende OLAP-Techniken eingesetzt werden:
a) On-Line Analytical Processing (OLAP) ● Der Begriff On-Line Analytical Processing (OLAP) ist in bewusster Abgrenzung zum On-Line Transaction Processing (OLTP) gebildet worden. OLAP ist als Katalog folgender Forderungen zu sehen: • Unterstützung bei dynamischen Unternehmensanalysen durch Generierung, Manipulation und Synthese von Informationen aus einem Unternehmensdatenmodell, • Aufdeckung von Abhängigkeiten zwischen Variablen,
230
5 Daten und Information • Verfügbarmachung von Speicher- und Zugriffskonzepten für große multidimensionale Datenbestände und • Bereitstellung von Operatoren zur Definition und Manipulation von beliebig vielen (Betrachtungs-) Dimensionen und Konsolidierungshierarchien.
● OLAP bietet einen anwenderorientierten Gestaltungsrahmen für den Aufbau von analytischen Informationssystemen, der es dem Benutzer ermöglichen bzw. erleichtern soll, selbständig, rasch und mit geringem Aufwand sowohl individuelle Ad-hoc-Auswertungen als auch komplexe betriebswirtschaftliche Analysen durchzuführen. ▲ Aufgrund der Konsistenzforderung (Redundanzvermeidung) an operative, meist relationale Da-
tenbanken werden die Datenbestände in eine Vielzahl von flachen Tabellen aufgeteilt (Normalisierung), sodass der gelegentliche Nutzer seine ganzheitliche Sicht auf Informationsobjekte nur schwer konstruieren kann. Häufig wird der Begriff „Business Intelligence“ herangezogen, um zu verdeutlichen, dass mit einer Ablage und einer variablen Verknüpfung ganzheitlicher betriebswirtschaftlicher Bezugsgrößen das Wissen um Status und Entwicklung von Geschäftsobjekten entsteht. Nachfolgende 12 Regeln beschreiben das OLAP-Konzept: 1. Mehrdimensionale konzeptionelle Sichten: ● Entgegen der eindimensionalen Sicht auf Informationsobjekte in relationalen Datenbanken muss die konzeptionelle Sicht für eine betriebswirtschaftliche Analyse naturgemäß mehrdimensional sein. ▲ Betriebswirtschaftliche Bezugsgrößensysteme charakterisieren Maßzahlen nach Grundmessgrößen und Bezugsmessgrößen, d. h. sie werden aufgegliedert und differenziert. Kosten- und Umsatzgrößen sind nur im Kontext ihres Bezuges auf Kunden, Produkte, Regionen, etc. aussagekräftig. OLAPSysteme müssen diesem Umstand Rechnung tragen, indem sie jene Bezugsgrößen als Dimensionen speichern und die Beziehungen zu den zugehörigen quantitativen Maßzahlen herstellen. ▲ Die wesentliche Abfragetechnik von OLAP-Systemen besteht infolgedessen aus Manipulationen in einem mehrdimensionalen Datenraum. Durch die Deklaration des gewünschten Abfrageergebnisses wird die Extraktion beliebiger. ● Relationale Datenbanken sind in flachen Tabellen mit Sätzen und Feldern organisiert, multidimensionale Datenspeicher (OLAP) verwalten Dimensionen und mit diesen Dimensionen indizierte Fakten, auch als Hyperwürfel bekannt. Ein Datenwürfel ist dabei definiert als eine multidimensionale Strukturbeschreibung (Strukturelle Daten bzw. Dimensionen) und den diesen Strukturen zugeordneten Datenelementen (Materielle Daten bzw. Fakten): Materielle Daten
Strukturelle Daten
▲ Für Analysezwecke muss die Möglichkeit gegeben werden, sich intuitiv in dem Datenwürfel zu bewegen und beliebige Projektionen (Schnitte) zu bilden, um Informationen zu vergleichen und Berichte zu erstellen (slicing und dicing). Damit liefert ein OLAP-System die Grundfunktionalitäten für oben genannte Executive Information Systems.
5.3 Data Warehouse und Data Mining
231
2. Transparenz: ● Transparenz bezieht sich in diesem Zusammenhang primär auf die technische Realisierung der Analysekomponenten. Werkzeuge, die dem OLAP-Prinzip entsprechen, sollten sich problemlos in die offene Architektur der Benutzerumgebung einbetten lassen. Hierbei muss eine möglichst homogene Benutzeroberfläche mit allen notwendigen Funktionalitäten geschaffen werden. Doch auch die logische Transparenz über die herangezogenen Datenquellen ist für die Interpretation der Analysen notwendig. 3. Zugriffsmöglichkeit: ● Durch eine offene Architektur der Systeme soll der Datenzugriff auf möglichst viele heterogene unternehmensinterne und unternehmensexterne Datenquellen und Datenformate unterstützt werden (mapping). Da diese Daten die Basis eines umfassenden analytischen Datenmodells bilden, sind eine Reihe von Datenkonvertierungen notwendig. ▲ Nur so ist für den Anwender eine einheitliche, konsistente Datensicht zu gewährleisten. OLAPfähige Produkte sollten sich selbständig Zugang zu den unterschiedlichen Datenhaltungssystemen verschaffen können. 4. Gleichbleibende Berichtsleistung: ● Ein wichtiger Aspekt für die Nutzung eines OLAP-Systems ist die Stabilität der Antwortzeiten und die gleich bleibende Berichtsleistung bei Datenabfragen. Selbst bei überproportionaler Zunahme der Anzahl der Dimensionen und/oder des Datenvolumens sollten die Anwendungen keine signifikanten Änderungen der Antwortzeiten aufweisen. 5. Client-Server-Architektur: ● Die Mehrzahl der benötigten Daten befindet sich auf Großrechnersystemen und muss zur Analyse auf Arbeitsplatzrechner verlagert werden. Aus diesem Grund müssen OLAP-Produkte in der Lage sein, in Client-Server-Umgebungen zu operieren. ▲ Es muss sowohl eine verteilte Programmausführung als auch eine verteilte Datenhaltung möglich sein. Verteilte Datenquellen sollten beliebig integriert und aggregiert werden können. 6. Grundprinzipien der gleichgestellten Dimensionen: ● In ihrer Struktur sollten die Dimensionen mit ihren Verwendungsmöglichkeiten übereinstimmen. Dabei existiert ein einheitlicher Befehlsumfang zum Aufbauen, zur Strukturierung, Bearbeitung, Pflegen und Auswertung der Dimensionen. 7. Dynamische Speicherverwaltung dünnbesetzter Matrizen: ● Ein spezielles Problem multidimensionaler Datenmodelle stellt der Besetzungsgrad der Würfel (Matrizen) dar. Für betriebswirtschaftliche Matrizen sind geringe Besetzungsgrade (unter 10 %) üblich. Diese typischen Lücken in den Würfeln müssen durch eine optimale Datenspeicherung effizient gehandhabt werden, ohne die mehrdimensionale Datenmanipulation zu beeinträchtigen. Durch die Anwendung unterschiedlicher Datenorganisationsformen wird ein optimales physikalisches Speicherschema angestrebt. 8. Mehrbenutzerfähigkeit: ● Die Daten müssen einer Gruppe von Benutzern gleichzeitig für Analysezwecke zur Verfügung stehen. Der Mehrbenutzerbetrieb ist eine Grundforderung an ein OLAP-System. Damit verbunden ist auch ein Sicherheitskonzept, das dem Datenbankadministrator die Möglichkeit gibt, den Datenzugriff und die Datenverfügbarkeit für verschiedene Benutzer unterschiedlich stark zu begrenzen.
232
5 Daten und Information
9. Unbeschränkte kreuzdimensionale Operationen: ● Über die verschiedenen Dimensionen hinweg werden Operationen für eine differenzierte Datenanalyse, z. B. zur Kennzahlenberechnung oder zur Konsolidierung benötigt. Grundvoraussetzung für diese Forderung ist eine vollständige, integrierte Datenmanipulationssprache und Systemoffenheit in Bezug auf die Abfragemöglichkeiten. 10. Intuitive Datenmanipulation: ● Eine einfache und ergonomische Benutzerführung und Benutzeroberfläche sollen das intuitive Arbeiten in der Datenbasis erleichtern. ■ Beispielsweise muss für den Anwender die Adressierung von Daten im multidimensionalen Raum und ein einfacher „Drill-Down“ in weitere Detaillierungsebenen ohne Lernaufwand möglich sein. Hierfür sorgt der direkte Zugriff auf die Menge der Dimensionselemente, die er sachbezogen zu neuen Konsolidierungsgruppen und Hierarchiebäumen zusammenstellen kann. 11. Flexibles Berichtswesen: ● Aus dem multidimensionalen Datenmodell müssen leicht und flexibel aussagekräftige Berichte generiert werden können. Das System soll den Benutzeranforderungen entsprechend dynamische (Ad-hoc-)Berichte und Grafiken bieten. 12. Unbegrenzte Dimensions- und Aggregationsstufen: ● Von einem OLAP-System wird verlangt, eine unbegrenzte Anzahl an Dimensionen, Relationen und Variablen innerhalb einer einheitlichen Datenbank zu bieten. Zusätzlich soll keine Einschränkung in Bezug auf die Anzahl und die Art der Aggregation von Daten bestehen. ● Die aufgeführten 12 Regeln werden häufig auch zusammengefasst zum Begriff FASMI (Fast Analysis of Shared Multidimensional Information). • Fast: 1–2 Sekunden als Antwortzeit bei einfachen Abfragen, bis maximal 20 Sekunden für komplexe Datenanalysen • Analysis: Verfahren und Techniken zu einfachen mathematischen Berechnungen und Strukturuntersuchungen • Shared: Schutzmechanismen für den Zugriff im Mehrbenutzerbetrieb • Multidimensional: Multidimensionale konzeptionelle Sicht auf Informationsobjekte, d. h. ohne Spezifikation der Datenbanktechnologie ist sicherzustellen, dass der Anwender freien Zugriff auf einen Datenwürfel hat und multiple Berichtshierarchien über die Dimensionen legen kann. ● Für die technische Umsetzung der aufgeführten Regeln gibt es mehrere Realisierungsansätze zur Erreichung der geforderten OLAP-Funktionalität: • Die erste Architekturvariante arbeitet mit virtuellen multidimensionalen Datenbanken, benutzt also prinzipiell weiterhin die relationale Datenhaltung mit flachen Tabellen und kann als ROLAP (Relationales OLAP) bezeichnet werden. Die mehrdimensionale Analyse liefert dann einen virtuellen Würfel, wenn die Relationen (Tabellen) mit zusammengesetzten Schlüsseln räumlich interpretiert werden. Dabei entspricht jede Schlüsseldomäne einer Dimension. Die logische Modellierung dieser Mehrdimensionalität geschieht durch so genannte Star-Schemata. Die notwendige Transformation aus den Relationen in die Würfelsicht stellt ein Hindernis für den Aufbau des Systems dar. Da bei jeder Abfrage der virtuelle Würfel auch dynamisch geladen werden muss, lassen sich aus Performancegründen nur gering dimensionierte Würfel generieren. ● Im Star-Schema werden Dimensionstabellen (DT) einer oder mehreren Faktentabellen (FT)
zugeordnet. Die Faktentabelle enthält die zu analysierenden Werte bzw. Kennzahlen (z. B. Umsatz bzw. Absatzmenge), die durch jeweils einen Attributwert je Dimension charakterisiert sind. Die sternförmig angeordneten Dimensionstabellen enthalten die für eine Analyse notwendigen
5.3 Data Warehouse und Data Mining
233
Attribute (einschließlich des Schlüsselattributs) und sichern somit den dimensionsweisen Zugang zu den Fakten. ▲ In einem Star-Schema werden alle Fakten in nur einer einzigen Tabelle abgelegt. Gerade wenn
viele Fakten sehr unterschiedlicher Dimensionierung in einem Data Warehouse zu speichern sind, bringt dies Nachteile mit sich. Da der Primärschlüssel in der Faktentabelle aus den Primärschlüsseln aller Dimensionstabellen zusammengesetzt ist, werden hier unnötig viele Null-Werte in den Dimensionstabellen benötigt, welche demzufolge bei Abfragen mit zu berücksichtigen sind. ▲ Eine nahe liegende Verbesserung liegt in der Aufteilung von Faktentabellen, in welchen jeweils
nur Fakten gleicher Dimensionierung gespeichert werden. Um die Semantik der einzelnen Fakten besser zu berücksichtigen, können darüber hinaus auch alle Fakten jeweils in einer eigenen Faktentabelle abgelegt werden. Bei dieser Modellierung ergeben sich Galaxien, über die bei einer Analyse navigiert werden kann. Werden zum einen die Dimensionstabellen normalisiert bzw. partitioniert und zum anderen die aggregierten Fakten in Detail-Faktentabellen abgespeichert, so erhält man als Struktur ein Snow-Flake-Schema. DTProdukt DTZeit
Produkt
Zeit
Bezeich. Prod.gruppe Preis
Monat Jahr level
FTMain
DTRegion Region Name KNiederlassung Niederlassung KLand Land level
Zeit Region Produkt Prod.variante Prod.farbe Kundentyp Vertragstyp
level
DTVariante Prod.variante Ausstattung
DTProd.farbe
Umsatz IstAbsatzmenge
Prod.farbe DTVertragstyp
DTKundentyp
Farbart
Vertragstyp
Kundentyp
Vertragstyp
Kundentyp
Tabellen in ROLAP • Ein zweiter Ansatz ist als MOLAP bekannt und setzt für die Datenanalyse die physikalische Speicherung in einer multidimensionalen Datenbank (MDB) voraus. Hierzu werden proprietäre Datenbanken genutzt, die speziell für OLAP-Zwecke entworfen wurden. Es wird eine Zellstruktur aufgebaut, die jede Zelle bezüglich jeder Dimension indiziert. So erreicht man einen schnellen Zugriff über alle Dimensionen zu den einzelnen Datenwerten. ● Die Größe eines physikalischen Datenwürfels (Anzahl Zellen) entspricht dem Kreuzprodukt
über alle Dimensionen. Dieser berechnete Speicherbedarf ist jedoch i. d. R. von der Anzahl der tatsächlich zu speichernden Daten sehr verschieden, da es in den Würfeln viele Leerfelderzellen gibt. ▲ Ein wesentliches Qualitätsmerkmal für OLAP-Produkte ist daher der möglichst speicherscho-
nende Umgang mit den im Würfel enthaltenen Leerzellen. Ein anderes Kriterium ist die Ladezeit beim Update derartiger Würfel. Da die Daten in den Würfeln vielfach indiziert sind,
234
5 Daten und Information kann man bei den Ladezeiten mit einer 20 bis 30-prozentigen Zunahme gegenüber vergleichbaren Operationen auf Basis relationaler Datenbanken rechnen. Multidimensionaler "Datenwürfel"
Produkt
ProduktmanagementSicht
ControllingSicht
P1 P2 Region
Produkt Umsatz Absatzmenge ...
Jan. Feb. März ...
P3 Zeit
... ... Ost Mitte
RegionalmanagementSicht
Ad-hocSicht
Region
Süd
Zeit
Schnittebenen im Datenwürfel ● Sowohl der ROLAP- als auch der MOLAP-Ansatz sind dem Client-Server-Computing zuzurechnen,
wobei die Verteilung der Aufgabenbereiche (Datenhaltung, Berechnung, Präsentation) unterschiedlich gestaltbar ist. In der multidimensionalen Datenanalyse ist der Anwender naturgemäß in der Betrachtung der Informationsobjekte durch das logische Modell (Star-Schema) bzw. den Datenwürfel beschränkt. Über multiple Hierarchiebäume, die auf den Dimensionen gebildet werden, kann auf verschiedenen Aggregationsstufen der multidimensionale Datenwürfel analysiert werden. Dies stellt aber stets einen vom Anwender aktiv betriebenen Vorgang dar, bei dem er nach den Vorstellungen der Executive Information Systems entweder Abweichungsanalysen (Exception Reporting) oder Ursachenanalysen (Drill Down) durchführt. Anders gestaltet sich die Datenanalyse beim Data Mining.
5.3.3
Data Mining
● In Unternehmungen und Organisationen haben sich in den letzten Jahren große Datenmengen angehäuft, die bisher nur zur gezielten Informationsabfrage und zum Berichtswesen dienten. Man kann sich aber leicht vorstellen, dass in diesen Datenmengen viele versteckte Informationen lagern, die sich nutzbringend einsetzen lassen. Dazu sollen zunächst einige Beispiele dienen: ■ Ein Versandhaus kann gespeicherte Kundendaten nutzen, um die Kunden in verschiedene Käufer-
klassen einzuteilen. Damit ist eine gezielte Kundenansprache möglich. ■ Eine Bank wird daran interessiert sein, einen neuen Kreditnehmer auf seine Zahlungsfähigkeit zu
prüfen. Dazu wird versucht, aus den Daten der Kreditnehmer im vorhandenen Datenbestand Regeln abzuleiten, mit denen neue Kreditnehmer als kreditwürdig oder als kreditunwürdig klassifiziert werden können. ■ Als weiteres Beispiel dient die Analyse des Kundenkaufverhaltens in einem Supermarkt. Durch
Scannerkassen werden hier große Datenbestände aufgebaut, die festhalten, welche Produkte jeweils in einem Warenkorb gekauft wurden. Die Aufgabe besteht darin, Regeln zu finden, welche Produkte zusammen gekauft werden. Mit diesen Regeln lassen sich Marketingstrategien entwickeln, um den Absatz von Produkten zu erhöhen. Solche Analysen werden Assoziationsanalysen genannt.
5.3 Data Warehouse und Data Mining
235
● Die Methoden, die benutzt werden, um obige Analysen durchzuführen, werden unter dem Begriff Data Mining (DM) zusammengefasst. Data Mining kann als Kernaktivität des umfangreicheren Prozesses Knowledge Discovery in Databases (KDD) aufgefasst werden. Es sollen bisher nicht bekannte Datenmuster und Regeln aus großen Datenbanken hergeleitet werden, d. h. neues, nicht offensichtliches und nutzbares Wissen im Sinne von Beziehungen von Objekten (z. B. Abhängigkeiten) zu- bzw. voneinander. Dieser Erkenntnisprozess stützt sich wissenschaftlich insbesonders auf die Teildisziplinen Expertensysteme und Maschinelles Lernen der Künstlichen Intelligenz. Neben diesen „neueren“ Methoden des maschinellen Wissenserwerbs und der maschinellen Wissensverarbeitung stehen weiterhin die Verfahren der Statistik und der Datenvisualisierung zur Verfügung. Zusätzlich zu diesen logisch deduktiven oder induktiven Komponenten benötigt der KDD-Prozess auch die Deskription der zu untersuchenden Informationsobjekte in Form einer oder mehrerer Datenbanken (Data Warehouse). ● Die Entdeckung von Wissen in umfangreichen Datenbeständen ist ein mehrere Phasen umfassender Prozess. Ein generelles Vorgehensmodell des Knowledge Discovery in Databases ist nicht verfügbar. Im engeren Sinne ist Data Mining lediglich die Phase der algorithmischen Wissensgenerierung aus vorhandenen Daten. Bevor die Data Mining Verfahren angewendet werden können, sind einige Vorbereitungen notwendig. ▲ Zunächst müssen die zu analysierenden Daten ausgewählt werden. ▲ Danach werden die ausgewählten Daten aufbereitet. Zum einen, indem man die Daten bereinigt,
z. B. fehlende Daten ersetzt, zum anderen, indem man die Daten mithilfe z. B. externer Quellen anreichert. Die Bereinigung der Daten ist die zeitintensivste Tätigkeit. Es wird geschätzt, dass rund 70 % der Zeit des Gesamtprozesses für die Datenaufbereitung benötigt werden. Bestenfalls steht ein Data Warehouse zur Verfügung, welches die entscheidungsrelevanten Unternehmensdaten für die Verfahren des Data Mining bereithält. ▲ Nach diesem Schritt folgt die Festlegung, welche Analysemethode auf welche Attribute angewendet
werden soll. Dadurch wird auch die notwendige Transformation der Attribute bestimmt. Häufig müssen Attributwerte normiert oder passend skaliert werden. ▲ Nach dem Data Mining-Schritt müssen die Ergebnisse interpretiert und evaluiert werden. Die
meisten der Zusammenhänge, die solche Verfahren aufdecken, sind trivial und bereits bekannt. Ziel ist jedoch, unbekanntes Wissen zu erkennen. Man spricht hier von „nuggets“, die es zu finden gilt.
Knowledge-Discovery in Database-Prozess
236
5 Daten und Information
● Die vorherige Abbildung zeigt nochmals den schematischen Ablauf des KDD-Prozesses. Die gestrichelten Pfeile drücken aus, dass der Prozess phasenbezogene Rücksprünge für Korrekturen und Informationsbeschaffungen zulässt. ● Die Ziele, die mit Data-Mining Methoden verfolgt werden, sind vielfältig und können hier nicht vollständig erläutert werden. Wir werden drei Methoden vorstellen, die Lösungen zu den oben angegebenen Beispielen liefern. Es handelt sich hierbei um Clusterungsverfahren, Verfahren zur Assoziationsanalyse und Klassifikationsverfahren. ▲ Diese Methoden sind Lernverfahren, d. h. der Rechner erlernt selbständig Regeln über den ihm
vorliegenden Datenbestand. Im Wesentlichen werden zwei Arten von Lernverfahren unterschieden: überwachte Lernverfahren und unüberwachte Lernverfahren. ▲ Klassifikationsverfahren sind typische Repräsentanten überwachter Lernverfahren. Bei diesen wird
den Datensätzen ein Attribut angefügt, das die jeweilige bekannte Klasseneinteilung des Objektes charakterisiert. Das Verfahren versucht dann Regeln zu finden, aus denen die Klassenzugehörigkeit eines neuen Objektes abgeleitet werden kann.
a) Clusterverfahren ● Clusterverfahren werden dort angewendet, wo eine Menge von Objekten in Teilklassen eingeteilt werden soll. ■ Als Beispiel sei oben vorgestellte Kundensegmentierung genannt.
▲ Für die Einteilung der Objekte in verschiedene Cluster benötigt man Ähnlichkeitsmaße bzw. Verschiedenheitsmaße (Distanzmaße) zwischen den Objekten bzw. den Clustern. Aus Ähnlichkeitsmaßen lassen sich Distanzmaße berechnen und umgekehrt. Es gibt in der Statistik genügend Ansätze für die Berechnung von Distanzen zwischen Objekten. ■ Beispielsweise lässt sich bei numerischen Attributen der bekannte euklidsche Abstand zwischen
Vektoren wählen. ● Die Methoden der Clusteranalyse lassen sich in partitionierende und hierarchische Verfahren untergliedern. ▲ Der wesentliche Unterschied zwischen diesen Methoden ist, dass bei den partitionierenden Ver-
fahren die Anzahl der Klassen fest vorgegeben wird und jedes Objekt genau einer der Klassen zugeordnet wird, während bei den hierarchischen Verfahren in jedem Schritt die Klassenzahl verändert wird. Dies geschieht entweder, indem zwei Klassen zu einer neuen Klasse zusammengefasst werden oder indem eine Klasse in zwei disjunkte Klassen aufgeteilt wird. Werden Klassen zusammengefasst, spricht man von einem agglomerativen Verfahren, werden die Klassen aufgespalten, spricht man von divisiven Verfahren. ▲ Durch beide Verfahren entsteht eine Hierarchie der Klassen, die als Baum, ein so genanntes
Dendrogramm, dargestellt werden kann. Die folgende Abbildung zeigt ein Dendrogramm für einen Datenbestand von fünf Objekten X1; X2; X3; X4 und X5 (z. B. Kunden eines Versandhauses):
5.3 Data Warehouse und Data Mining
237
1 1, 2 2 1, 2, 3, 4, 5 3 3,4 4
3, 4, 5
5
0
1
2
3
4
4
3
2
1
0
Hierarchie-
Daten-Dendrogramm ▲ Die obere Zahlenreihe bezieht sich auf die agglomerative Methode, die bedeutet, dass schrittweise gruppiert wird, d. h. beginnend mit n Gruppen, die je nur aus einem Element bestehen, werden bei jedem Schritt je zwei Gruppen zu einer zusammengefasst. Nach n − 1 Schritten sind demnach alle Elemente in einer Gruppe (Cluster) zusammengefasst. ▲ Diesem Verfahren steht die divisive Methode (untere Skala) gegenüber, bei der ausgehend von einer Gruppe, die alle Elemente enthält, schrittweise Untergruppen gebildet werden, bis letztlich n Gruppen mit je einem Element vorliegen. ▲ Die Zusammenfassung bzw. die Aufsplittung der Gruppen erfolgt durch Betrachtung der kleinsten bzw. größten Distanzen der einzelnen Gruppen. ▲ Bei den partitionierenden Methoden wird eine Clusteranzahl mit Mittelpunkten (Zentren) vorgegeben und jedes Objekt wird dann in dasjenige Cluster eingeteilt, zu dem es die geringste Distanz bzw. die größte Ähnlichkeit besitzt. Einige Verfahren berechnen die Clusterzentren jeweils nach Zuordnung eines neuen Objektes. ▲ Stellt man sich die Objekte als Punkte im Raum durch die Attributsvektoren charakterisiert vor, so lassen sich partitionierende Verfahren für Objekte mit zwei Attributen grafisch wie folgt darstellen:
Attribut A
Die Clusteranalyse ▲ Die Quadrate stellen jeweils die Clusterzentren dar, die Kreise die Elemente aus dem Datenbestand. Es liegt eine Partitionierung in vier Klassen vor. ■ Ein häufig auftretendes partitionierendes Verfahren ist der k-means-Algorithmus, der die Objekte genau einer Klasse zuordnet. Mittels Fuzzy-Logik kann die hier entstandene „scharfe“ Klasseneinteilung aufgeweicht werden, indem man den Objekten Zugehörigkeitsgrade zu den einzelnen Klassen zuordnet. Das bekannteste Verfahrens ist das FKM-Verfahren (Fuzzy-k-means).
238
5 Daten und Information
■ Ein weiteres typisches Anwendungsgebiet für die Clusteranalyse ist die Produktsegmentierung im Handel.
b) Verfahren zur Assoziationsanalyse ● Ein anderes unüberwachtes Lernverfahren ist die Assoziationsanalyse. Wie im obigen Beispiel erwähnt, wird diese Analyse auf Warenkörbe angewendet. Hierbei wird versucht, Regeln in Form von „Wenn Produkt A gekauft wird, dann wird auch Produkt B gekauft“abzuleiten. ▲ Zur Anwendung von derartigen Verfahren ist zunächst eine Transformation der Daten wichtig. Durch die Scannerkassen wird zunächst erfasst, welche Produkte ein Kunde gekauft hat. Um zu einheitlichen und vergleichbaren Datensätzen zu gelangen, wird ein Datenvektor bestehend aus 0 und 1 generiert. Jede Komponente dieses Vektors steht für ein Produkt, eine 1 gibt an, Produkt wurde gekauft, eine 0 gibt an, Produkt wurde nicht gekauft. Folgendes Beispiel soll diese Transformation illustrieren: ■ In einem Geschäft werden die Artikel A, B, C, D und E angeboten. Einem Warenkorb, der die Artikel
A, C und D beinhaltet, wird der Datenvektor (1;0;1;1;0) zugeordnet. Auf diese Weise erhält man eine Tabelle der folgenden Form, die für fünf Warenkörbe entstanden ist: Tabelle für Warenkorb 1 2 3 4 5
A B C D E 1 0 1 1 0 1 1 1 0 0 0 1 1 0 1 1 1 0 1 0 0 1 1 0 1
● Bei den Verfahren zur Assoziationsanalyse werden zwei wichtige Größen benutzt, um die Signifikanz einer Regel „Wenn A dann B“ zu messen. • Das eine ist der Träger (Support) einer Regel. Dieser gibt das Verhältnis an, wie oft die zwei Produkte (hier A und B) gleichzeitig gekauft werden zur Gesamtzahl der Transaktionen. • Die andere Größe ist die Konfidenz. Diese gibt das Verhältnis zwischen der Anzahl der Datensätze an, in denen A und B vorkommen, und der Anzahl der Datensätze, in denen die Prämisse (hier also A) vorkommen, an. ▲ Es entstehen damit Regeln wie: „Wenn B gekauft wird, wird in 75 % der Fälle auch C gekauft. Wenn
B gekauft wird, dann kommt C in 60 % der Transaktionen vor.“Diese Regel könnte aus obigem Beispiel generiert werden. Mit diesen Größen werden Schranken vorgegeben, damit die Anzahl der gefundenen Regeln gesteuert werden kann. Je größer Träger und Konfidenz, desto wichtiger die Regeln. ▲ Historisch gesehen sind die Verfahren zur Assoziationsanalyse die jüngsten. Erst Anfang der 90er-Jahre sind die ersten Ansätze zur Assoziationsanalyse veröffentlicht worden. ■ Ein weiteres Anwendungsgebiet der Assoziationsanalyse ist im Handel neben der Warenkorbanalyse die Ermittlung zeitlicher Einkaufsmuster.
c) Klassifikationsverfahren ● Die Klassifikationsverfahren gehören zu den überwachten Lernmethoden. Dabei wird der gesamte Datenbestand in eine Trainingsmenge und eine Testmenge aufgeteilt. Mit den Daten der Trainingsmenge werden Regeln generiert, mit deren Hilfe ein neues Objekt anhand einiger Attribute in die zugehörige Klasse eingeordnet werden kann. Mit den Daten der Testmenge wird die Güte dieser Regeln getestet. ■ Beispielsweise wird untersucht, in wie viel Prozent der Fälle eine richtige Einordnung mit den
generierten Regeln erfolgt ist.
5.3 Data Warehouse und Data Mining
239
▲ Eine häufig benutzte Methode zur Klassifikation sind Entscheidungsbaumverfahren. Dabei wird ein Baum konstruiert, an dessen Knoten Entscheidungen zu treffen sind. Jeder Knoten des Baums stellt eine Menge von Datensätzen des Trainingsbeispiels dar. Die Trainingsbeispiele bestehen aus attributiv (numerisch oder nominal) beschriebenen Objekten (Datensätzen) und den Klassenzuordnungen für diese Objekte. Das Konstruktionsverfahren besteht darin, dass ausgehend von einem Wurzelknoten, der alle Objekte enthält, schrittweise nach Merkmalen disjunkt aufgegliedert wird, bis alle Objekte in den Blättern des Baums verteilt sind. Die Blätter des Baums repräsentieren jeweils eine Klasse. Die zu klassifizierenden Objekte werden entsprechend ihrer Attributwerte sukzessiv den Blattknoten zugeordnet. ■ Wir veranschaulichen dieses Verfahren an einem Beispiel: Eine Bank möchte wissen, ob ein Neukunde kreditwürdig ist oder nicht. Dazu gibt es einen Datenbestand, bei dem bestehende Kunden durch einen Datensatz, wie in unten angegebener Tabelle, charakterisiert sind. Dabei bestehen die Datensätze aus dem Attribut Altersgruppe (A, B, C und D) und dem Attribut Familienstand (verheiratet (v) oder ledig (l)) sowie aus einem Klassifizierungsattribut „Kreditwürdig“ (ja (j) oder nein (n)). Klassifikationstabelle 1 2 3 4 5 6 7 100
Altersgruppe Familienstand Kreditwürdig A v j B l j A l n C v n B v j A l n C v n A
l
j
Im folgenden Entscheidungsbaum sind in den Knoten zunächst die Anzahl der darin enthaltenen Datensätze notiert. Der darunter stehende Vektor (a;b) gibt an, dass a Datensätze die Eigenschaft „kreditwürdig“ und b Datensätze die Eigenschaft „nicht-kreditwürdig“ besitzen. An den Kanten ist jeweils eingetragen, nach welchen Attributwerten aufgesplittet wird. 100 (80,20) B
A 50 (40,10) v 37 (37,0)
C
20 (19,1)
30 (21,9)
l
v
13 (3,10)
22 (20,2)
l 8 (1,7)
Entscheidungsbaum für Klassifikation Anhand des Baums können Regeln abgelesen werden, wie z. B.: „Wenn ein Kunde aus der Altersgruppe A kommt und verheiratet ist, ist er kreditwürdig.“ ▲ Die Unterschiede in den verschiedenen Entscheidungsbaumverfahren, wie die häufig angewendeten Verfahren „Chaid“ oder „C4.5“, liegen in der Aufsplittung der Datenmengen in den Knoten. Hierfür werden Maße definiert, mit denen versucht wird, eine möglichst große Separation zu erzielen.
240
5 Daten und Information
▲ Ein neu zu klassifizierendes Objekt wird entlang des Entscheidungsbaums eingeordnet, indem an jedem Knoten das entsprechende Attribut untersucht wird. Probleme treten auf, wenn nach Attributwerten aufgesplittet werden muss, für die keine Trainingsbeispiele vorliegen. Die Baumstruktur ist statisch, d. h. zusätzliche Trainingsbeispiele können nicht inkrementell eingearbeitet werden, sondern der Konstruktionsalgorithmus muss vollständig neu ablaufen. ● Eine andere Möglichkeit, mit der Klassifikationsregeln erstellt werden können, kommt aus der Statistik und ist unter dem Namen Diskriminanzanalyse schon lange bekannt. Ein bekanntes Verfahren stellt die Bayes-Klassifizierung dar. ▲ Ausgehend von den Trainingsbeispielen soll der Algorithmus eine optimale Klassifikationsregel konstruieren, welche die Wahrscheinlichkeit einer falschen Klassifikation minimiert. Dazu schätzt man zunächst Wahrscheinlichkeiten, dass ein Objekt zu einer Klasse Ci gehört. Des Weiteren schätzt man die bedingten Wahrscheinlichkeiten, dass ein Objekt X aus der Klasse Ci den Attributsvektor X besitzt. Mittels der Bayes’schen Formel für bedingte Wahrscheinlichkeiten lässt sich bestimmen, mit welcher Wahrscheinlichkeit ein Objekt Y mit Attributsvektor Y in einer Klasse Ci liegt. Daraus lassen sich die Fehlklassifikationswahrscheinlichkeiten ableiten. ▲ Die Leistungsfähigkeit des Bayes-Klassifizierers ist von der Kenntnis der bedingten Wahrscheinlichkeiten abhängig. Gute Entscheidungsregeln können abgeleitet werden, wenn eine große Menge numerischer Daten vorliegt. ▲ Weitere Möglichkeiten zur Klassifikation bestehen durch Anwendung Neuronaler Netze. Diese werden in Kapitel 29 beschrieben. ■ Klassifikationsverfahren werden im Handel für „Direct-Mailing-Aktionen“, in der Telekommunikationsbranche im „Churn Management“ und in Versicherungen zur Prognose des Schadenrisikos von Policen eingesetzt.
d) Bewertung ● Die geschilderten Verfahren des Data Mining ermöglichen die Analyse und Filterung von Unternehmensdaten, sodass aus großen Datenbeständen nützliche Informationen generiert werden können, die zuvor nicht bekannt waren. Generell stellen die Methoden Lernverfahren zur Mustererkennung bereit. Die Verfahren unterscheiden sich dadurch, dass sie zum einen an Trainingsbeispielen lernen, Datenobjekte richtig zu klassifizieren (überwachtes Lernen), oder zum anderen eigenständig gemäß eines Ähnlichkeitsmaßes Objekte in Klassen zusammenführen (unüberwachtes Lernen). Die Korrektheit des Ergebnisses einer überwachten Lernmethode kann mithilfe von Trainingsbeispielen und Testbeispielen untersucht werden. Wesentlich schwieriger ist die Beurteilung bei unüberwachten Methoden. Hier empfiehlt es sich, mit unterschiedlichen Parametern (Clusteranzahl) und Algorithmen zum Analysieren einzusetzen und die Ergebnisse zu vergleichen. Gute Ergebnisse weisen i. d. R. auch vernünftige und nachvollziehbare Interpretationen auf. ● Zusammenfassend kann man die ausgewählten Verfahren des Data Mining wie folgt charakterisieren: ● Aufgrund der verhältnismäßig einfachen Berechnung sind herkömmliche Methoden der Clusteranalyse von großer Bedeutung. Sie sind gut nachvollziehbar und für große Datenmengen geeignet. ● Ein Problem ist allerdings häufig die Erklärungsfähigkeit der Ergebnisse. Einige Verfahren stellen sich als Black Box dar, wodurch eine abgeleitete Interpretation nicht möglich ist. Auch Ergebnisse der hierarchischen Clustermethoden und der Bayes-Regeln werden durch den Algorithmus nicht erklärungsfähig. Lediglich die generierten Entscheidungsregeln bei den Entscheidungsbaumverfahren bilden eine gute Interpretationsgrundlage. ▲ In der Praxis liegen Datensätze häufig unvollständig bzw. fehlerhaft vor. Neuronale Netze bieten bei der Datenklassifizierung als einziges Verfahren eine Fehlertoleranz an und sind zudem in der Lage,
5.3 Data Warehouse und Data Mining
241
dynamisch die Mustererkennung zu verbessern. Andererseits steht noch der Beweis aus, dass sie sehr große Datenbestände und komplexe Objekte analysieren können. ● Eine eindeutige Präferenz für ein Verfahren kann demnach nicht ausgesprochen werden. Aus diesen Gründen scheint es ratsam zu sein, beim Aufbau von Data Mining-Algorithmen von vornherein eine Kombination von unterschiedlichen Verfahren einzubeziehen. Dies bestätigt auch die Entwicklung von Werkzeugkästen für die Datenanalyse, die derzeit verstärkt am Markt angeboten werden.
6
Planung und Realisierung von Informationssystemen
Informationssysteme sind komplexe Mensch-Maschine-Systeme, die leider nicht von einer einzigen Person in allen relevanten Aspekten vollständig entwickelt und beschrieben werden können. Wenn Informationssysteme jedoch arbeitsteilig mit unterschiedlichem Detaillierungsgrad und für unterschiedliche Teilaspekte geplant und realisiert werden, müssen bestimmte Konzepte und Modellierungsansätze beachtet werden, um ein systematisches und effizientes Vorgehen sicherzustellen. Die Analyse algorithmischer Komplexität und darauf aufbauend Aufwands- und Nutzenabschätzungen spielen daher eine entscheidende Rolle bei der Planung und Realisierung von Informationsystemen.
6.1
Organisatorische Aspekte der Systementwicklung
Es bestehen drei grundsätzliche Ansätze zur Unterstützung der Planung und Realisierung von Informationssystemen (IS): ● Top-Down-Planung: Ausgehend von der Festlegung grober, möglichst unternehmensweiter Datenstrukturen und funktionaler Beziehungen werden durch schrittweise Verfeinerung einzelne Teilpläne des Gesamtmodells entwickelt. ▲ Mit der Berücksichtigung der unternehmensweiten Datenstrukturen und der funktionalen Bezie-
hungen bereits in der Planungsphase erfolgt eine hohe Integration des gesamten IS. Ein Nachteil ist jedoch, dass die vorbereitende Planung langwierig ist. Deshalb kommt es erst spät zu einem ablauffähigen IS. ● Bottom-Up-Planung: Ausgehend von den Bedürfnissen einzelner Fachabteilungen werden Teilsysteme entwickelt, die durch nachfolgende Synthese und Festlegung von Schnittstellen zu einem Gesamtsystem integriert werden. ▲ Die Entwicklung ablauffähiger IS kann in einem frühen Zeitpunkt forciert werden. Dies wird jedoch
durch einen höheren Aufwand bei der unternehmensweiten Integration der einzelnen Teilsysteme erkauft. ● Gegenstromplanung: Die Vorteile der beiden anderen Verfahren sollen verbunden werden, indem einer Top-Down-Planung (bei der jedoch auf eine genaue Spezifikation einzelner Teilpläne verzichtet wird) eine Bottom-Up-Planung folgt, die gleich mit der Erstellung der einzelnen Teile des IS verbunden werden kann. Zu den grundsätzlichen Vorgehensweisen bei der Entwicklung von Informationssystemen (IS) gehören: • das Phasenkonzept, das bei der Top-Down-Planung zum Einsatz kommt, • das Prozessmodell mit den beiden Varianten: – Wasserfallmodell als weiterer Vertreter der Top-Down-Planung sowie – V-Modell als Mischform aus Bottom-Up- und Top-Down-Planung, • das Prototyping, das in der Bottom-Up-Planung angewendet wird.
6.1.1
Phasenkonzept
Das Phasenkonzept der Software-Entwicklung, auch ingenieurmäßige Software-Entwicklung genannt, stellt eine Zerlegung aller Entwicklungsarbeiten in aufeinander folgende Spezifikationsschritte dar.
6.1 Organisatorische Aspekte der Systementwicklung
243
● Jede einzelne Phase wird durch ein abzulieferndes Ergebnis abgeschlossen, das als Vorgabe für die Lösung der Problemstellung der nächste Phase verwendet wird. ▲ Ergeben sich bei der Umsetzung der Vorgaben der höheren Phasen essenzielle Schwierigkeiten, wird in die entsprechende höhere Phase zurückgesprungen, um dort die Entscheidung zu korrigieren, die zu Problemen führte. ● Es gibt in der Literatur verschiedene Ausprägungen des Phasenkonzepts, die sich jedoch meist nur in der Anzahl der Phasen unterscheiden. Im Folgenden wird die sechsstufige Vorgehensweise vorgestellt: 1. Planungsphase: Die mit dem IS verfolgten Ziele werden spezifiziert und die technische Durchführbarkeit und Wirtschaftlichkeit werden geprüft. Hierzu bedarf es auch der zeitlichen Planung des Gesamtprojekts. 2. Definitionsphase: Die Anforderungen an das IS werden verbal aus der Sicht der Fachabteilung spezifiziert. Hierzu folgt eine Ist-Analyse des Bereichs, in dem das IS verwendet werden soll, eine Schwachstellenanalyse und die Entwicklung eines Soll-Konzepts. Dieses Soll-Konzept wird auch als Pflichtenheft bezeichnet, in dem die Ansprüche der Fachabteilung an das IS eingehend beschrieben werden. 3. Entwurfsphase: Die im Pflichtenheft beschriebenen Anforderungen werden analysiert und mittels des gewählten Beschreibungsverfahrens dargestellt. ▲ Besonderer Wert wird hierbei auf die hierarchische Zerlegung in Teilsysteme (Module) gelegt. ▲ Gelingt die Zerlegung in möglichst autonome Teilsysteme, so können die an die Entwurfsphase
anschließenden Phasen parallel von verschiedenen Projektteilnehmern durchgeführt werden. ▲ Die Gesamtprojektleitung muss dann nur durch die Spezifikation von Schnittstellen die In-
tegration der einzelnen Module sicherstellen. Auch die Möglichkeit der Verwendung von Standardsoftware muss hierbei mit einbezogen werden. 4. Implementationsphase: Das in der Entwurfsphase entwickelte Konzept wird in einen maschinenausführbaren Code umgesetzt, hierzu werden meist höhere bzw. objektorientierte Programmiersprachen verwendet. Die einzelnen Module können parallel erstellt und dann zu einem System integriert werden. 5. Abnahme- und Einführungsphase: Es wird überprüft, ob das Programm die Anforderungen der Fachabteilung, die im Pflichtenheft manifestiert sind, erfüllt. Hierzu wird das fertige IS in der Fachabteilung eingeführt und in umfangreichen Tests überprüft, bevor nach einer Freigabe das System produktiv geht, d. h. im betrieblichen Alltag eingesetzt wird. 6. Wartungsphase: Das System wird an alle anfallenden Veränderungen im betrieblichen Umfeld angepasst. ▲ Da ein komplexes IS in einem Unternehmen mehrere Jahre eingesetzt wird, kann der hierfür
benötigte Aufwand sehr hoch sein, insbesondere wenn Anpassungen an spätere Erweiterungen oder Verbindungen zu anderen Fachabteilungen integriert werden müssen. Auch die Betreuung der Anwender in den Fachabteilungen kann zu einem hohen Aufwand führen. ● Entscheidende Nachteile dieser Vorgehensweise: • Die zu Beginn der Phasenfolge verlangte vollständige und widerspruchsfreie Systemspezifikation gelingt meist nicht. Vielmehr zeigen sich Fehler, die in den ersten Phasen begangen werden, oftmals erst in späteren Phasen, wodurch umfangreiche und zeitraubende Veränderungen notwendig werden. • Man kommt erst zu einem sehr späten Zeitpunkt zu ablauffähigen (Teil-) Programmen, da die Fachabteilung nach der Beteiligung in der Planungsphase erst wieder in der Abnahmephase in den Entwicklungsprozess eingebunden wird. Zwischenzeitlich ändern sich bisweilen die Anforderungen der Fachabteilungen.
244
6 Planung und Realisierung von Informationssystemen
6.1.2
Prozessmodelle
Prozessmodelle beschreiben einen festgelegten organisatorischen Rahmen zur Softwareerstellung. Sie legende folgende Punkte fest: • Reihenfolge des Arbeitsablaufs (Entwicklungsstufen und Phasen) • Durchzuführende Aktivitäten • Definition der Teilprodukte (Layout und Inhalte) • Fertigstellungskriterien • Notwendige Mitarbeiterqualifikationen • Verantwortbarkeiten und Kompetenzen • Anzuwendende Standards, Richtlinien, Methoden und Werkzeuge Zwei wichtige Vertreter der Prozessmodelle sind das Wasserfallmodell und das V-Modell.
a) Wasserfallmodell Das Wasserfallmodell geht davon aus, dass Software sukzessiv in Stufen erstellt wird. SystemAnforderungen
SoftwareAnforderungen
Analyse
Entwurf
Codierung
Testen
Betrieb
Wasserfallmodell Der Name des Modells resultiert aus seiner Eigenschaft, die Ergebnisse einer Phase wie bei einem Wasserfall in die nächste Phase einfließen zu lassen. Dabei existieren zwischen den einzelnen Phasen Rückkopplungsschleifen, die sich auch über mehrere Stufen erstrecken können. ● Charakteristika des Wasserfallmodells sind: • Aktivitäten müssen in der vorgesehenen Reihenfolge vollständig durchgeführt werden. • Jede Aktivität endet in einem fertig gestellten Dokument (dokumentgetrieben). • Der Entwicklungsablauf ist streng sequenziell. • Die Einfachheit des Modells reduziert den Managementaufwand. • Das Modell stellt einen Top-Down Ansatz dar. • Außerhalb der Definfitionsphase findet keine Benutzerbeteiligung bei der Entwicklung statt.
6.1 Organisatorische Aspekte der Systementwicklung
245
b) V-Modell Das V-Modell erweitert das Wasserfallmodell unter Einbeziehung des Qualitätssicherungsaspekts. Es wurde ursprünglich ausschließlich für Behörden entwickelt. ● Verifikation und Validation der Teilprodukte sind essenzielle Bestandteile des V-Modells: • Verifikation: Überprüfung der Übereinstimmung von Softwareprodukt und Produktspezifikation • Validation: Eignungsprüfung des Produkts in Bezug auf seinen Einsatzbereich
Anwendungsszenarien
Anforderungs
Abnahmetest Validierung
Grobentwurf
Feinentwurf
Modulimple-
Systemtest
Testfälle
Verifikatio n
Integrations-
Testfälle
Modultest
Testfälle
V-Modell ● Das V-Modell ist in vier Submodelle gegliedert: • Systemerstellung • Qualitätssicherung • Konfigurationsmanagement • Projektmanagement ● Grundelemente des V-Modells sind Aktivitäten und Produkte: • Aktivität: Tätigkeit, die bezogen auf ihr Ergebnis und ihre Durchführung genau beschrieben werden kann. • Produkt: Ergebnis bzw. Bearbeitungsgegenstand einer Aktivität. ▲ Ziele der Aktivitäten sind: • Produkte zu erstellen, • Zustände von Produkten zu ändern oder • Inhalte von Produkten zu ändern. ▲ Rollen beschreiben die notwendigen Erfahrungen, Kenntnisse und Fähigkeiten zur Durchführung der Aktivitäten. Die Zuordnung von Rollen und Aktivitäten erfolgt tabellarisch in der Initialisierungsphase des Modells. ▲ In jedem Submodell gibt es: • Einen Manager, der die Aktivitäten des Submodells festlegt und oberste Entscheidungsinstanz ist. • Einen Verantwortlichen, der die Aufgaben des Submodells plant, steuert und kontrolliert. • Mehrere Durchführende, die die geplante Aufgabe realisieren.
246
6 Planung und Realisierung von Informationssystemen
● Das V-Modell besitzt folgende Vorteile: • Integration und Detaillierung von Systemerstellung, Qualitätssicherung, Konfigurationsmanagement und Projektmanagement • Möglichkeiten zur exakten Anpassung an die projektspezifischen Anforderungen • gute Eignung für große Projekte sowie eingebettete Systeme • standardisierte Abwicklung von Systemerstellungsprojekten
6.1.3
Prototyping
Prototyping: Es wird versucht, möglichst frühzeitig zu einer ablauffähigen Version (eines Teilsystems) des Informationssystems zu gelangen, ohne eine vollständige Vorabplanung durchzuführen. ● Vorteile: + Der laufende Prototyp kann schnell der Fachabteilung vorgestellt werden, wodurch sie während der gesamten Entwicklungsphase eingebunden werden kann, indem jeder Entwicklungsfortschritt zu neuen Prototypen führt. + Zumindest Teilsysteme werden zu einem sehr frühen Zeitpunkt fertig gestellt und es kann mit Tests dieser Teile begonnen werden. ● Nachteile: – Es fehlt ein umfassendes Gesamtkonzept, wodurch in der Entwicklungsphase umfangreiche Änderungen notwendig sein können. – Eine längerfristig orientierte Wartung solcher Systeme ist wegen der fehlenden oder mangelhaften Strukturbeschreibungen problematisch. ▲ Phasenkonzept und Prototyping können miteinander verknüpft werden, indem im Sinne einer Gegenstromplanung in einem ersten Durchlauf verschiedene mögliche Teilsysteme identifiziert und deren Schnittstellen definiert werden. Anschließend werden die einzelnen Teile in Form von Prototypen entwickelt. Die hierfür notwendige Planungs- und Entwurfsphase muss nicht so detailliert und umfangreich sein, sondern kann sich auf die Definition von Schnittstellen beschränken. Durch die vorherige Definition der Schnittstellen zwischen den identifizierten Teilsystemen ist die Gefahr von Änderungen geringer als bei reinem Prototyping. Das Problem dieser Vorgehensweise liegt in der geeigneten Definition von Schnittstellen. Da Informationssysteme immer auf der Realisierung ablauffähiger mathematischer Strukturen (Algorithmen) beruhen, spielt die Komplexitätsbetrachtung dieser Strukturen bei ihrer Planung eine entscheidende Rolle. Insbesondere der Zeit- und Speicheraufwand bei der Ausführung der Algorithmen geht in die Wirtschaftlichkeitsrechnung von IS ein, da der daraus resultierende Bedarf an IT-Ressourcen als Kostenfaktor dem entstehenden Nutzen gegenübergestellt werden muss.
6.2
Algorithmische Komplexität
6.2.1
Berechenbar vs. nichtberechenbar
Bereits über ein Jahrzehnt vor der technischen Realisierung der ersten elektronischen Rechenanlagen haben Church, Gödel, Post, Turing und andere gezeigt, dass nicht alle Aufgabenstellungen, seien sie arithmetischer, logischer oder symbolischer Natur, maschinell – heute verwendet man den Begriff algorithmisch – gelöst werden können. ▲ Derartige Probleme nennt man nicht berechenbar.
6.2 Algorithmische Komplexität
247
■ Dies gilt bspw. für die Verifikation von Programmeigenschaften, im Bereich der Musterverarbeitung für Parketierungsprobleme, aber auch für bestimmte Fragestellungen bei Datenbankabfragesprachen. Glücklicherweise fallen viele interessante Fragestellungen nicht in diese Kategorie, etwa kombinatorische Optimierungsprobleme. Diese sind berechenbar, d. h. für sie ist ein Rechnereinsatz möglich und sinnvoll. Bei großen Problemstellungen (umfangreiche Datenmengen, viele Variablen und Nebenbedingungen) ist eine Lösung ohne den Einsatz von Maschinen kaum vorstellbar. ▲ In einer konkreten Situation reicht jedoch eine prinzipielle Lösbarkeit nicht aus, sie muss auch effektiv umgesetzt werden können. In der Sprache der Algorithmik bedeutet dies, dass effiziente Verfahren gesucht sind. Bei den meisten Optimierungsproblemen wächst der Raum der potenziellen Lösungen exponentiell mit der Größe n der Daten, die so genannte kombinatorische Explosion, sodass ein einfaches Testen aller Kandidaten zu Rechenzeiten der Form 2n führen würde. Dies ergäbe bereits für n = 100 absolut indiskutable Antwortszeiten. ■ Wenn ein einzelner Test nur 1 µ sec benötigen würde, müsste man selbst beim gleichzeitigen Einsatz von 1000 Maschinen circa 4 · 1013 Jahre warten und damit etwa 100 mal länger als die geschätzte Lebensdauer unseres Weltalls, bis alle 2100 Alternativen überprüft sind.
6.2.2
Zeitkomplexität von Algorithmen
Eine sequenziell arbeitende Maschine kann in jedem ihrer Schritte nur eine Operation ausführen und somit auch nur ein Element der Eingabedaten verarbeiten. ▲ Besteht die Eingabe aus n Datenelementen, so wird ein Algorithmus i. d. R. jedes Element mindestens einmal betrachten müssen, d. h. mindestens n Schritte sind sequenziell allein für das komplette Lesen der Eingabe erforderlich. ▲ Genügt dies bereits – wie etwa im Fall endlicher Automaten – oder lässt sich die gesamte Laufzeit zumindest durch eine Funktion T (n) = k · n nach oben abschätzen, wobei k eine feste Konstante und unabhängig von der Eingabegröße n ist, so spricht man von einer linearen Laufzeit. Linearzeit bildet somit eine natürliche untere Grenze für den Bedarf an Zeitressourcen. Es gibt nur wenige Ausnahmen hiervon, etwa das Suchen in bereits geordneten Datenmengen, wo logarithmischer Zeitaufwand bei Verwendung geeigneter Datenstrukturen ausreicht – denn hier müssen nur wenige Eingabeelemente verglichen werden. In der Regel gilt also: ▲ Ein Linearzeit-Algorithmus für ein gegebenes algorithmisches Problem Q ist die beste Situation, die man erhoffen kann. ● Dies ist jedoch selten der Fall, vielfach kennt man nur Lösungsverfahren mit quadratischer oder kubischer Laufzeit, oftmals sogar nur mit exponentiellem Zeitbedarf. ■ Die Addition zweier n-Bit Zahlen kann in Linearzeit durchgeführt werden, für die Multiplikation
benötigen die besten bekannten Algorithmen deutlich mehr. Die Multiplikation von Matrizen scheint noch zeitaufwendiger zu sein, gleiches gilt bei Netzwerken für die Berechnung eines maximalen Flusses von einer Quelle zu einem Zielknoten. Um in einem Netzwerk mit einer Kostenfunktion auf den Kanten einen kostenminimalen Weg, der jeden Knoten besucht, zu bestimmen, das TravelingSalesman-Problem (TSP), sind bis heute keine Verfahren mit weniger als exponentieller Laufzeit bekannt. ● Bei der Lösung eines Problems ist bei großen Datenmengen das Laufzeitverhalten der benutzten Algorithmen mindestens so wichtig wie die Leistungsfähigkeit der ausführenden Hardware, wie das folgende Beispiel zeigt:
248
6 Planung und Realisierung von Informationssystemen
■ Ein 3 n3 Algorithmus implementiert auf einem 1 TeraFlop Supercomputer (gemäß des internationa-
len Leistungsrankings TOP500 im Sommer 2001 das schnellste in Deutschland installierte System – weltweit auf Platz 12) versus ein 20 n Algorithmus auf einem inzwischen antiquierten 1 MegaFlop PC. Der Leistungsunterschied der Hardware, gegeben durch den Faktor 106 , ergibt bei optimaler Auslastung der Hardware für n = 10.000 eine Laufzeit von nur 3 µ sec auf dem Supercomputer, während der PC immerhin 200 msec benötigt. Für n = 2,5 · 106 jedoch liegen beide bereits gleichauf mit etwa 50 sec, für n = 109 benötigt der Supercomputer (exponentielle Komplexität) 95 Jahre, der PC (lineare Komplexität) nur 550 Stunden. Derartige Eingabegrößen können durchaus realistisch sein, das menschliche Genom bspw. besitzt eine Länge von 3 · 109 Basispaaren. ● Bei sehr großen Datenmengen tritt noch ein weiteres Problem auf: ▲ Die gesamte Eingabe kann nicht mehr komplett in den Hauptspeicher geladen werden. In diesem Fall
betrachtet man so genannte Extern-Speicher-Algorithmen, die höhere Latenzzeiten beim Zugriff auf Plattenspeicher etc. berücksichtigen.
6.2.3
Speicherplatzbedarf
Abgesehen von der Ein-Ausgabe-Problematik ist der interne Speicherplatzbedarf eines Algorithmus, d. h. die Menge an Zwischenergebnissen, die sich der Algorithmus merken muss, von Bedeutung. ▲ Bei vielen algorithmischen Aufgaben scheint es nicht möglich, die Laufzeit und den Speicherplatzbedarf gleichzeitig zu minimieren, man spricht dann von einem Time-Space-Tradeoff: Eine Reduktion des Speichers wird durch eine Erhöhung der Laufzeit erkauft: Zwischenresultate werden nicht abgespeichert, sondern bei Bedarf neu berechnet. Bei den Aufgabenstellungen, die nicht mehr in die Klasse der regulären Sprachen fallen und somit nicht durch einen endlichen Automaten mit einem Speicher (Gedächtnis) konstanter Größe gelöst werden können, ist bis auf wenige Ausnahmen mindestens logarithmischer Speicherplatz erforderlich. Denn dieser Platz wird schon benötigt, um bis zur Eingabelänge n zu zählen oder in einem Netzwerk mit n Knoten jeden Knoten eindeutig identifizieren zu können. ■ Logarithmischer Platz reicht i. d. R. jedoch noch nicht aus, etwa bei der Frage, ob in einem gerichteten Netzwerk zwei ausgewählte Knoten durch einen Weg verbunden werden können oder bei der Berechnung des ggT-Algorithmus zweier n-Bit Zahlen. Der klassische ggT-Algorithmus, der auf Euklid zurückgeht, benötigt linearen Speicherplatz.
6.2.4
Analyse von Algorithmen
Nachdem nun die beiden wichtigsten Komplexitätsmaße Zeit und Platz diskutiert sind, ist zu überlegen, mit welcher Detailliertheit diese zur Analyse eines Algorithmus A bzw. zur Charakterisierung eines algorithmischen Problems Q angewandt werden. ▲ Ist X eine Eingabe für A , so bezeichne timeA (X) die Anzahl der Schritte, die A auf X benötigt, und analog spaceA (X) für den Platzbedarf. Eine Tabelle, die für jedes X diese Werte auflistet, wäre extrem umfangreich und unübersichtlich. ▲ Man fasst daher alle Eingaben der Größe n zusammen und reduziert die Vielfalt der Werte timeA (X) für |X| = n auf eine einzige Zahl timeA (n), i. d. R. auf das Maximum. ● Dies ergibt das worst-case Zeitverhalten von A bei der Eingabelänge n, eine garantierte obere Schranke, die der Algorithmus nicht überschreitet. Analoges gilt für das Platzmaß. ● Beim Zeitverhalten gibt es jedoch Situationen, bei denen dieser ungünstige Fall nur sehr selten auftritt, sodass bei häufigen Anwendungen von A das mittlere Laufzeitverhalten, der average-case, für die Praxis relevanter ist.
6.2 Algorithmische Komplexität
249
■ Prominente Beispiele hierfür sind Quicksort und der Simplex Algorithmus. Obwohl der Simplex Al-
gorithmus bei gewissen Eingaben exponentiell viel Zeit benötigt, findet dieses Verfahren zur Lösung linearer Programmierungsprobleme vielfältigen Einsatz, da es in den meisten Fällen in Linearzeit terminiert. Quicksort, mit quadratischem worst-case Zeitbedarf, sortiert bei uniformer Verteilung in mittlere Zeit n log n (mit einem kleinen konstanten Vorfaktor), was asymptotisch optimal ist. Allerdings ist das Verhalten dieses Algorithmus sehr abhängig von der zugrunde liegenden Wahrscheinlichkeitsverteilung. Treten bereits teilsortierte Eingabefolgen mit höherer Wahrscheinlichkeit auf, so benötigt Quicksort auch im Mittel quadratische Laufzeit. ▲ Da die Analyse des average-case Verhaltens von Algorithmen technisch noch erheblich schwieriger
ist als das im schlechtesten Fall, liegen bislang allerdings fast ausschließlich Resultate über den worst Case vor.
6.2.5
Komplexität von Problemen – Komplexitätsklassen
● Die sequenzielle Berechnungshypothese besagt, dass nur die algorithmischen Probleme auch für große Eingaben effizient behandelt werden können, die einen Lösungs-Algorithmus mit polynomialer Laufzeit besitzen und dass es dabei auf technische Details des zugrunde liegenden Maschinenmodells – seien es reale Mikroprozessoren, Registermaschinen oder das klassische Turing-Maschinenmodell – nicht ankommt. ● Man klassifiziert Probleme nach dem Ressourcenbedarf ihrer Lösungsalgorithmen und benutzt dabei ein möglichst einfaches Maschinenmodell, um die Analyse nicht unnötig zu erschweren. Im konkreten Anwendungsfall können zwar Details der Systemarchitektur (Instruktionssatz, Speicherhierarchie) sowie passende Datenstrukturen (etwa Bäume anstelle von linearen Listen, Hashing-Tabellen anstelle von großen Arrays, mehrdimensionale Suchbäume bei geometrischen Problemen) für die Güte einer Implementierung von nicht unerheblicher Bedeutung sein, der Aufwand zur Lösung eines algorithmschen Problems wird jedoch in erster Linie von der globalen Lösungsstragie bestimmt. ● Ist T eine Zeitschranke und S eine Platzschranke, so bezeichne DTime(T ), DSpace(S) sowie DTimeSpace(T,S) die Menge aller Probleme, die deterministisch, d. h. durch einen klassischen sequenziellen Rechner, mit Zeitaufwand höchstens T bzw. Speicherplatz maximal S bzw. simultan in Zeit T und Platz S gelöst werden können. ▲ Derartige Mengen heißen Komplexitätsklassen. ■ Für polynomiale Zeitschranken TPOL verwendet man anstelle von DTime(TPOL ) die abkürzende Notation P , für exponentielle Zeitschranken DEX P , für logarithmische Platzschranken SLOG anstelle von DSpace(SLOG ) das Symbol L und für polynomiale Platzschranken P SPAC E . ● Aufgabenstellung der Komplexitätstheorie ist es, jedes algorithmische Problem Q in die vielfältige Welt der Komplexitätsklassen einzuordnen. Gesucht sind also das kleinste T und S, sodass Q in DTime(T ) bzw. DSpace(S) liegt. In der Regel erfolgt ein Nachweis, dass bspw. T eine obere Schranke für die Zeitkomplexität von Q darstellt, durch Angabe eines geeigneten Lösungsalgorithmus, aber es gibt auch Beispiele nichtkonstruktiver Beweise, an denen ein Algorithmus nicht direkt abgeleitet werden kann. ▲ Wie zeigt man andererseits, dass bei der Lösung von Q eine Zeitschranke T oder eine Speicherplatzgröße S nicht unterschritten werden kann – eine untere Schranke für Q? Bei der Zeitressource muss im Prinzip für jeden Algorithmus A mit Zeitkomplexität kleiner als T – und davon gibt es unendlich viele – nachgewiesen werden, dass dieser Q nicht löst. Diese Aufgabe ist noch erheblich schwieriger als das Finden effizienter Algorithmen für Q und trotz intensiver Bemühungen für die meisten algorithmischen Aufgabenstellungen bis heute ungelöst.
Die Hierarchie der sequenziellen Komplexitätsklassen ▲ Gibt es eine absolute obere Schranke, bspw. exponentielle Zeit, sodass alle berechenbaren Probleme mit diesem Aufwand gelöst werden können? Die klare Antwort lautet nein – jede Erhöhung der Zeit- oder Platzressource um mehr als einen konstanten Faktor ermöglicht es (bis auf ganz seltene Ausnahmen), eine größere Zahl von Problemen zu lösen. ● Da konstante Faktoren bei Komplexitätsklassen von untergeordneter Bedeutung sind und reale Laufzeiten von Details wie der Prozessorgeschwindigkeit abhängen, wird bei der Analyse von Algorithmen gerne die groß-O-Notation verwendet, die das asymptotische Laufzeitverhalten charakterisiert und die Analyse durch Unterdrückung konstanter Faktoren vereinfacht. Verbesserungen eines Algorithmus um einen konstanten Faktor sind natürlich denkbar und eventuell auch wirtschaftlich relevant. Dennoch gilt: ▲ Substanzielle Fortschritte bei der Entwicklung von Lösungsalgorithmen haben fast ausnahmslos die
Asymptotik der Laufzeitschranke verbessert – von kubisch auf quadratisch oder von quadratisch auf linear oder zumindest auf n log n wie beim Sortierproblem.
6.2.6
Reduktionen und Vollständigkeit
Große Programmpakete sollten modular aufgebaut sein und bereits implementierte Funktionen als Unterprogramme verwenden. Die Komplexitätstheorie verwendet hierzu den Begriff der ● Reduktion: Ein Problem Q wird mithilfe von Q gelöst, indem ein Lösungsalgorithmus für Q einmal oder auch mehrfach als Unterprogramm aufgerufen wird. ▲ Ist das Hauptprogramm selber nicht zu komplex, etwa polynomial zeitbeschränkt, so folgt, dass die Komplexität von Q nicht wesentlich größer ist als die von Q, denn jede algorithmische Verbesserung für Q hat unmittelbaren Einfluss auf Q . Der Reduktionsbegriff definiert eine partielle Ordnung auf der Menge aller algorithmischen Probleme, die eine recht feine Strukturierung ermöglicht. ● Komplexitätsklassen werden mithilfe der Vollständigkeits-Eigenschaft geordnet. Ein vollständiges Problem Q in einer Komplexitätsklasse C erfüllt die Bedingung, dass sich jedes andere Problem Q aus C auf Q reduzieren lässt. Q ist damit eines der schwersten Probleme in C . Viele Komplexitätsklassen besitzen vollständige Probleme, aber dies ist keinesfalls offensichtlich.
6.2 Algorithmische Komplexität
6.2.7
251
Die Klasse N P
● Besondere Bedeutung hat die Komplexitätsklasse N P = NTime(TPOL ) erlangt, nichtdeterministische Polynomialzeit. ● Als Maschinenmodell dient hier die nichtdeterministische Turing Maschine (NTM), die bei ihrer Berechnung mehrere Alternativen gleichzeitig verfolgen kann, eine eingeschränkte Form von Parallelverarbeitung. Eine NTM besitzt keine Beschränkungen bzgl. des Grades an Parallelität und ist daher im Gegensatz zu einer deterministischen Turing Maschine (DTM) nicht auf einfache Weise physisch zu verwirklichen. ▲ Nichtdeterminismus ist ein wichtiges Konzept innerhalb der Informatik, welches auch in anderen
Bereichen – etwa bei der Protokollspezifikation für verteilte Rechnersysteme – große Bedeutung erlangt hat. ▲ Die nichtdeterministische Verallgemeinerung der logarithmischen Platzklasse
L wird mit der Ab-
kürzung N L = NSpaceSLOG ) gekennzeichnet. ▲ Während die beste bislang bekannte zeiteffiziente Simulation von Nichtdeterminismus durch deterministische Maschinen einen exponentiellen Zeitverlust aufweist, genügt bei der Platzressource ein quadratischer Overhead. ■ In die Klasse N P fallen die meisten kombinatorischen Optimierungsprobleme, bspw. Fragen für Graphen und Netzwerke wie das oben genannte TSP oder Färbungs- und Überdeckungsprobleme, sowie aussagenlogische Fragestellungen. Das prominenteste Beispiel hierfür ist das Erfüllbarkeitsproblem für Boole’sche Formeln, SAT, welches in der KI und der Verifikation von Chips oder komplexen Systemen eine zentrale Rolle spielt. ● Für alle diese äußerst anwendungsrelevanten Fragestellungen sind bis heute keine Lösungsalgorithmen bekannt, die auf einem gewöhnlichen sequenziellen Rechner nicht mehr als polynomiale Laufzeit benötigen würden. ● Das wichtigste offene Problem der Komplexitätstheorie kann somit auf die Kurzform ?P =
N P?
gebracht werden. ■ Sehr viele Probleme in
N P erweisen sich als vollständig und selbst die zur Zeit schnellsten Algorithmen hierfür benötigen exponentielle Zeit, was für größere Probleminstanzen nicht akzeptabel ist.
● Da diese Probleme jedoch in der Praxis auftreten und gelöst werden müssen, hat man nach Auswegen gesucht. • Branch-and-bound-Methoden versuchen den exponentiell großen Suchraum durch geschickte Güteabschätzungen massiv zu verkleinern, der Erfolg ist jedoch nicht garantiert. • Heuristische Verfahren liefern relativ schnell eine Antwort, über deren Qualität allerdings keine analytischen Aussagen gemacht werden – Beispiele hierfür sind Greedy-Algorithmen oder Ansätze mit Hilfe von Neuronalen Netzen. • Durch Randomisierung, d. h. Zufallsentscheidungen im Algorithmus, versucht man die schlechte Performance von Greedy-Algorithmen zu verbessern. Lokale Optima können wieder verlassen werden, sodass eine höhere Chance besteht, ein globales Optimum zu finden – Beispiel Simulated Annealing. Allerdings sind auch hier Güteaussagen, wie weit man vom Optimum letztendlich entfernt ist, schwierig. • Approximationsverfahren finden i. d. R. ebenfalls nicht das Optimum in vorgegebener polynomialer Zeit, aber garantieren zumindest eine Schranke – in der Regel einen konstanten Faktor, um den die gefundene Lösung maximal vom Optimum abweicht.
252
6 Planung und Realisierung von Informationssystemen
Bezüglich Approximierbarkeit weisen die Probleme in N P ein recht unterschiedliches Verhalten auf, von im Wesentlichen nicht approximierbar bis zu approximierbar mit einem beliebig kleinen Faktor > 0.
6.2.8
Die Segnungen hoher Komplexität
Negative Erkenntnisse der Form, dass ein Problem Q eine sehr hohe Komplexität besitzt, können auch positive Seiten besitzen. ● Algorithmische Probleme hoher Komplexität sind sogar notwendig, um hohe Sicherheit bei modernen kryptografischen Systemen, digitalen Signaturen, E-Commerce etc. zu garantieren. ▲ Basisbausteine für Public Key-Verfahren und interaktive digitale Protokolle sind so genannte oneway-Funktionen. Eine derartige Funktion kann effizient implementiert werden, ihr Inverses soll dagegen nicht in vertretbarer Zeit (bspw. 1000 Jahre) berechnet werden können – selbst bei massivstem Rechnereinsatz. ■ Beispiele für one-way-Funktionen sind das Faktorisieren natürlicher Zahlen oder das Berechnen von Quadratwurzeln oder Logarithmen in endlichen Körpern – als inverse Operation entsprechender Multiplikations- oder Potenzoperatoren. ■ Das Faktorisierungsproblem beschäftigt die Menschheit schon seit Jahrtausenden. Ein Verfahren wie das Sieb des Eratosthenes benötigt jedoch exponentielle Zeit auf die Bitlänge der zu faktorisierenden Zahlen bezogen. ■ Im Jahr 2001 sind selbst die schnellsten Faktorisierungs-Algorithmen, die tiefe zahlentheoretische Methoden verwenden, bei Verwendung der leistungsfähigsten Maschinen nicht in der Lage, 300-stellige Dezimalzahlen in akzeptabler Zeit zu zerlegen (wenn diese geeignet gewählt werden, etwa keine kleinen Primfaktoren besitzen). ■ Auch wenn es möglich wäre, die Beschleunigung bei den Prozessorchips bis auf das atomare Level auszureizen, würden 400-stellige Dezimalzahlen der Menschheit noch für viele Jahrtausende ausreichende Sicherheit bieten, so lange auf algorithmischer Seite keine dramatischen Verbesserungen beim Faktorisierungsproblem erfolgen. ● Kuriosität am Rande: Faktorisierung ist eines der wenigen Probleme, von dem bislang weder gezeigt werden konnte, dass es in die Komplexitätsklasse P fällt, noch dass es N P -vollständig ist.
6.3
Aufwands- und Nutzenabschätzung
Von jedem IS wird erwartet, dass es wirtschaftlich entwickelt und eingesetzt wird, unabhängig davon, ob es bei kommerziellen Zwecken zum Einsatz kommt oder nicht. Das bedeutet, dass der durch den Einsatz des IS erzielte Nutzen über die Lebensdauer des IS mindestens die Kosten seiner Entwicklung und seines Einsatzes erreichen sollte. Für die Berechnung der Wirtschaftlichkeit werden also sowohl Kosten- als auch Nutzeninformationen benötigt. ▲ Informationen über bereits angefallene Kosten sind meistens aus der betrieblichen Kostenrechnung erhältlich, doch entsteht dabei oft das Problem der Zurechenbarkeit von Kosten zu einzelnen IS. Ein anderes Problem ist, dass Kosteninformationen schon häufig vor der Entwicklung eines IS benötigt werden. ▲ Zunächst muss entschieden werden, ob das IS überhaupt entwickelt, in Auftrag gegeben oder gekauft werden soll. Wenn diese Entscheidung positiv ausfällt, müssen die benötigten menschlichen, sachlichen und finanziellen Ressourcen mengenmäßig und zeitlich eingeplant werden. Aus diesen Gründen wird, insbesondere bei Eigenentwicklung, eine Aufwandsschätzung vorgenommen.
6.3 Aufwands- und Nutzenabschätzung
6.3.1
253
Aufwandsschätzung
Für die Schätzung des Aufwands der Entwicklung von IS sind verschiedene Methoden, Verfahren und Werkzeuge entwickelt worden. • Vergleichsmethoden: Der Aufwand wird auf Basis bereits abgeschlossener, ähnlicher Projekte, für die Messwerte vorliegen, geschätzt. Die Ähnlichkeit der Projekte wird aufgrund von Einflussfaktoren wie z. B. Programmgröße, Programmkomplexität und Erfahrung der Entwickler bestimmt. Da selten eine vollkommene Übereinstimmung hinsichtlich dieser Merkmale zwischen dem geplanten Projekt und Vergleichsprojekten vorliegen wird, werden die Abweichungen festgestellt und der Aufwand des Vergleichsprojekts entsprechend angepasst. ■ Ein Beispiel einer Vergleichsmethode ist die Analogiemethode. • Algorithmische Methoden: Der Aufwand wird auf Basis bereits abgeschlossener Projekte, für die Messwerte vorliegen, und den Ausprägungen der Einflussfaktoren des geplanten Projekts berechnet. Aus den Messwerten abgeschlossener Projekte wird ein Modell entwickelt, das den Einfluss der einzelnen Faktoren quantifiziert. Die Werte des geplanten Projekts werden dann in dieses Modell eingesetzt. ■ Ein Beispiel für ein solches Vorgehen ist die Gewichtungsmethode. • Kennzahlenmethoden: Auf der Grundlage abgeschlossener Projekte werden Kennzahlen berechnet. Für das geplante Projekt werden der Gesamtaufwand oder andere grobe Merkmale prognostiziert. Durch die Anwendung der Kennzahlen auf die groben Merkmale entstehen genauere Aufwandsschätzungen. ■ Bei der Prozentsatzmethode, als Beispiel hierfür, wird der prognostizierte Gesamtaufwand mithilfe von Prozentsätzen auf die Phasen der Software-Entwicklung verteilt. Die beschriebenen Methoden werden oft als Bestandteil eines Verfahrens eingesetzt, das sich mehrerer Methoden bedient. Als Beispiel wird eines der bekanntesten Verfahren, Function-Points, kurz vorgestellt. • Function-Point-Verfahren: Im Verfahren wird zunächst die geplante Funktionalität erfasst. Dazu werden fünf Arten von Funktionen gezählt: – Dateneingabe, – Datenausgabe, – Dateifunktionen, – Referenzfunktionen und – Abfragen. ▲ Die Funktionen werden je nach ihrer Komplexität als einfach, mittel oder komplex eingeordnet und mit Punkten gewichtet. Diese Komplexität wird nach Kriterien wie Anzahl unterschiedlicher Elemente oder Performanceanforderungen beurteilt. ▲ Die so ermittelten Function Points werden auf der Grundlage von Einflussfaktoren aus dem Anwendungsumfeld korrigiert. Zu den Einflussfaktoren gehören zum Beispiel: • der geforderte Transaktionsdurchsatz, • die Schnittstellen zu anderen Systemen oder • die angestrebte Wiederverwendbarkeit von Modulen. Die Stärke des Einflusses jeden Faktors wird auf einer Skala zwischen 0 und 5 beurteilt. Die Summe der Einflussfaktoren wird durch zwei Konstanten (c1 und c2 in Formel 6.1) zu einem „Einflussgrad“ transformiert, mit dem die zuvor ermittelte Summe der Function Points multipliziert wird. ■ Das bisherige Vorgehen kann als eine Gewichtungsmethode betrachtet werden: m n z FP = ∑ ∑ fi j · g j · c1 + c2 · ∑ ek i=1 j=1
(6.1)
k=1
In Formel (6.1) bezeichnen fi j die Anzahl der Funktionen der Funktionskategorie i mit dem Komplexitätsgrad j, g j das Gewicht des Komplexitätsgrades und ek ist der Einfluss des Einflussfaktors k.
254
6 Planung und Realisierung von Informationssystemen
Wenn genügend Werte aus früheren Projekten vorliegen, kann auf Grund von tatsächlich verwendeten Personenmonaten (x-Achse) und realisierten Function Points (y-Achse) eine Erfahrungskurve konstruiert werden (siehe Abbildung unten). Mithilfe dieser Kurve und den errechneten korrigierten Function Points des geplanten Projekts kann dann in einem Analogieschluss der Projektaufwand in Personenmonaten geschätzt werden. Auf dieser Basis können alle projektbezogenen Kosten, z. B. mit einer Zuschlagskalkulation, berechnet werden. Function Points 6 e
6000 e
5000
e
e
e e
e
4000 e
3000
e
e
e
e
e
2000
e e
1000
-
0 0
Personenmonate
100 200 300 400 500 600 700
▲ Dieses Verfahren weist Vorteile gegenüber anderen Verfahren auf, bei denen Programmzeilen als Entwicklungsleistung gezählt werden, da es von einer bestimmten Programmiersprache oder -umgebung unabhängig ist. Bei entsprechender Erfahrung fällt der Zählaufwand auch nicht zu sehr ins Gewicht. Schließlich gibt es auch Werkzeuge, die das Verfahren unterstützen. ▲ Ein Nachteil ist, dass gute Schätzungen erst dann gemacht werden können, wenn bereits eine relativ detaillierte Funktionsmodellierung stattgefunden hat. Ein weiteres Problem ist, dass das Verfahren für die Software-Entwicklung der siebziger Jahre entwickelt wurde und damit für heutige Ansätze, z. B. die objektorientierte Software-Entwicklung, weniger geeignet ist. Deswegen wurden neue Varianten, wie etwa das Objekt-Point-Verfahren, entwickelt. Schwieriger als auf der Kostenseite stellen sich die Probleme auf der Nutzenseite dar. Das gilt insbesondere für IS, von denen strategische Vorteile erwartet werden, bspw. langfristig höhere Loyalität der Kunden gegenüber Produkten eines Unternehmens oder die Veränderung von Marktstrukturen. In solchen Fällen reichen die traditionellen Methoden der Investitions- und Finanzierungsrechnung nicht aus.
6.3.2
Nutzen von Informationen
Da IS Informationen produzieren, ist es denkbar, den Nutzen eines IS über den Wert der Gesamtheit der produzierten Informationen berechnen zu wollen. Dazu muss zunächst der Wert einer einzelnen Information berechnet werden. Es können drei Ansätze hierzu unterschieden werden: • Subjektiver Wert von Informationen: Der Benutzer einer Information wird befragt, wie viel ihm die Information wert ist. Der ermittelte Wert hängt offensichtlich vom Informationsstand des Benutzers und einer Reihe von situativen Variablen ab, die der Betrachter vielleicht gar nicht kennt. Deswegen kann der ermittelte Wert nicht auf andere Personen oder Situationen übertragen werden.
6.3 Aufwands- und Nutzenabschätzung
255
▲ Da der Wert hier vor der Beschaffung und Nutzung der Information festgestellt wird, ist es auch nicht sicher, ob er wirklich erreicht wird. • Objektiver Wert von Informationen: Es wird das Ergebnis eines Entscheidungsprozesses zweimal betrachtet, einmal ohne die zu bewertende Information und einmal mit ihr. Der Informationswert ergibt sich aus der Differenz der Ergebnisse. ▲ Damit das Ergebnis korrekt ist, muss der Entscheidungsprozess beide Male unter ganz gleichen Umständen, bis auf die betrachtete Information, ablaufen. Das lässt sich in der Realität allerdings schwer erreichen. Wenn die Messung gelingt, weiß man, dass der berechnete Wert tatsächlich erreicht werden kann, da die Fähigkeiten des Entscheiders und seine Zielerreichungsbedürfnisse bereits in den Entscheidungsprozess eingeflossen sind. ▲ Da der objektive Wert nur nach Beschaffung der Information berechnet wird, macht diese Art der Ermittlung insbesondere dann Sinn, wenn davon ausgegangen wird, dass sich das gleiche Problem wiederholen wird. • Normativer Wert von Informationen: Es wird der erwartete Gewinn aus einer Entscheidung (und darauf folgender Aktion) mit und ohne der zu bewertenden Information berechnet. Die Differenz stellt den Informationswert dar. Für die Berechnung des erwarteten Gewinns ohne die Information werden a priori Wahrscheinlichkeiten über mögliche Umweltzustände herangezogen. Aus diesen Wahrscheinlichkeiten und den Wahrscheinlichkeiten über die Inhalte der zu bewertenden Information, ohne ihren tatsächlichen Inhalt kennen zu müssen, werden mithilfe des Bayes-Theorems a posteriori Wahrscheinlichkeiten berechnet, mit denen dann der erwartete Gewinn mit der Information ermittelt wird. ▲ Der Vorteil dieses Ansatzes liegt darin, dass die Wertermittlung objektiv und ex ante, d. h. vor der Beschaffung der Information, stattfindet. Die Schwierigkeit der Ermittlung von Wahrscheinlichkeiten über die Inhalte der Information stellt jedoch ein Hemmnis bei seiner Anwendung dar. ● Da die drei genannten Ansätze alle ihre Vor- und Nachteile haben, existiert kein dominantes Verfahren. Es sind Situationen denkbar, in denen keiner der Ansätze mit vertretbaren Kosten anwendbar ist. Wenn nun ein IS betrachtet wird, dass in vielen Situationen, über einen längeren Zeitraum und vielleicht von vielen Benutzern eingesetzt wird, erscheint der Weg über die Kumulation der einzelnen Informationswerte kaum gangbar. Deswegen kommen bei der Bewertung von IS andere Ansätze zur Anwendung.
6.3.3
Bewertung von Informationssystemen
Die Wahl eines Verfahrens zur Bewertung eines IS kann nach verschiedenen Kriterien vorgenommen werden. Sofern das IS ein Anwendungssystem ist, kann als ein grobes Kriterium z. B. der Einsatzzweck des Anwendungssystems dienen, dessen Wert gemessen werden soll. Dabei wird zwischen drei Anwendungsgruppen unterschieden: • Substitutive Anwendungen ersetzen die menschliche Arbeitskraft. Wiederkehrende Aufgaben, deren Bewältigung wohl definiert ist, sollen mithilfe dieser Systeme effizient erledigt werden. Die Wirtschaftlichkeit solcher Systeme kann mit Verfahren der Investitions- und Finanzierungsrechnung bestimmt werden. ■ Ein Beispiel für eine substitutive Anwendung ist die kaufmännische Buchhaltung. • Komplementäre Anwendungen erhöhen die Produktivität und Effektivität der Menschen bei bestehenden Aktivitäten. Bei dieser Gruppe können ebenfalls Verfahren der Investitions- und Finanzierungsrechnung zur Anwendung kommen, doch sind die Ergebnisse solcher Rechnungen nicht sehr zuverlässig, da viele Werte, die in die Berechnungen eingehen, nur geschätzt werden können. Deswegen eignen sich hier Verfahren, die speziell für diesen Zweck entwickelt wurden. Dazu gehört z. B. das hedonistische Modell. ■ Ein Beispiel für komplementäre Anwendungen stellen Tabellenkalkulationsprogramme dar.
256
6 Planung und Realisierung von Informationssystemen
• Innovative Anwendungen dienen dazu, Wettbewerbsvorteile zu erzielen oder -nachteile zu vermeiden. Solche IS können neue Produkte (z. B. im Finanzbereich) oder Dienstleistungen (z. B. im Internet) darstellen. Sie können auch zu Strukturveränderungen ganzer Branchen führen. Ihre Wirtschaftlichkeit ist sehr schwer zu messen, weil der dem IS zuzuordnende Nutzen in einem komplexen ökonomischen System entsteht, an dem viele Akteure beteiligt sind. Hier müssen oft fortgeschrittene ökonometrische Verfahren eingesetzt werden, die imstande sind, den Einfluss einzelner unabhängiger Variablen auf die interessierenden abhängigen Variablen herauszufiltern. ▲ In der Praxis wird ein IS oft für mehrere Ziele eingesetzt. Die Einführung der computergestützten Textverarbeitung, als ein Beispiel, kann sowohl substitutive als auch komplementäre Effekte hervorrufen. ● Ein anderes Kriterium zur Klassifikation der Bewertungsverfahren kann die Organisationsebene sein, auf der ein Verfahren vorwiegend angewendet wird. Dabei kommen grundsätzlich alle Organisationsebenen infrage, denn für jede dieser Ebenen gibt es IS, deren Einsatz bewertet werden muss. Schließlich werden manchmal auch die Auswirkungen von IS in ihrer Gesamtheit untersucht, sodass dann Unternehmen, Branchen oder ganze Volkswirtschaften als Betrachtungsebene dienen. Manchmal müssen auch mehrere Verfahren auf verschiedenen Ebenen eingesetzt werden, um ein vollständiges Bild aller Kostenund Nutzenaspekte zu erhalten. In der Literatur werden verschiedene Ebenenmodelle vorgeschlagen. Die nachfolgende Tabelle zeigt vier Betrachtungsebenen, die entsprechenden Organisationsebenen und je ein Beispiel für ein Verfahren zur Wirtschaftlichkeitsbewertung von IS, das vorwiegend auf dieser Ebene eingesetzt wird: Betrachtung Bereichsbezogen
Organisationsebene Mitarbeiter Abteilung Bereichs- oder Geschäftseinheiten funktionsübergreifend Betriebsstätte Unternehmensweit Unternehmen Unternehmensübergreifend Unternehmensnetzwerke Branche Volkswirtschaft Weltwirtschaft
Beispiel Hedonistisches Verfahren Nutzeffektketten Data Envelopment Analysis ökonometrische Produktionsoder Kostenfunktionen
Nachfolgend werden einige der eingesetzten Verfahren etwas genauer dargestellt. • Time-Saving Time-Salary: Es wird versucht, auf der Basis der durch das betrachtete IS eingesparten Zeit der Mitarbeiter und ihrer Gehälter den Wert des IS zu berechnen. ▲ Es wird angenommen, dass der Einsatz des IS zu einer Zeitersparnis führt, die sich entweder in Form einer Ersparnis an Gehältern oder in Form zusätzlich erbrachter Leistung auswirkt. Wenn die berechneten Einsparungen nicht durch Reduktion der Arbeitskapazitäten sondern durch Erledigung zusätzlicher Arbeit realisiert werden sollen, geht das Modell davon aus, dass die eingesparte Zeit im selben Verhältnis wie vor dem Einsatz des IS auf die unterschiedlichen Tätigkeiten aufgewandt wird. Dabei wird angenommen, dass ausreichender Bedarf an dieser zusätzlichen Arbeit besteht. ▲ Eines der Probleme bei diesem Verfahren ist, dass die berechneten Einsparungen aufgrund von Restriktionen nicht immer realisiert werden können. Es ist aber auch schwer einzusehen, warum die Tätigkeitsanteile beibehalten werden sollen, denn das bedeutet z. B., dass ein Teil der durch den Einsatz des IS eingesparten Zeit bewusst unproduktiven Tätigkeiten zugeordnet wird. • Hedonistisches Verfahren: Wie beim Verfahren Time-Saving Time-Salary wird der Wert des IS auf der Basis der eingesparten Zeit der Mitarbeiter und ihrer Gehälter berechnet. Das Modell nimmt allerdings
6.3 Aufwands- und Nutzenabschätzung
257
an, dass die eingesparte Zeit höherwertigen Tätigkeiten zugeordnet wird. Dazu ist die Berechnung der „hedonistischen Werte“ oder der impliziten Preise der einzelnen Tätigkeiten notwendig. ▲ Die Bestimmung der hedonistischen Werte und die anschließende Nutzenbewertung geschehen in folgenden Schritten: 1. Festlegung von Beschäftigtengruppen und Beschäftigtenanzahl und Gehaltskosten pro Gruppe 2. Erhebung der Tätigkeitsprofile 3. Ermittlung der hedonistischen Werte 4. Festlegung der Effizienz- und Effektivitätssteigerungen 5. Bestimmung des Projektnutzens ▲ Sind ci die Lohnkosten je Beschäftigungsklasse und pi j der Anteil der Zeit, den ein Beschäftigter der Kategorie i für Tätigkeiten des Typs j aufwendet, so lassen sich die hedonistischen Werte v j durch Lösen des Gleichungssystems Pv = c bestimmen. Hierbei sind P = (pi j ) (m,n)-Matrix der Tätigkeitsprofile mit m ≤ n, v = (v1 , . . . ,vn )T Vektor der hedonistischen Werte, c = (c1 , . . . ,cm )T Lohnkostenvektor. ▲ Ist li der Umfang an Arbeit der Beschäftigungskategorie vom Typ i, so erhält man mit l = (l1 , . . . ,lm)T den Wert der Arbeit wt in der Periode t durch wt = lT (Pt Et )v, wobei Pt die Tätigkeitsprofilmatrix in der Periode t und Et die Matrix der Effizienzsteigerungen in z der Periode t sind. Ist z der Zinssatz, so ergibt sich mit q = (1 + 100 ) der Barwert dieser Werte aus k Perioden mittels k
w0 = ∑ wt q−t . t=0
▲ Der Projektnutzen kann dann als Differenz zwischen w0 und dem Barwert k
wa = ∑(lT Pt v)q−t , t=0
der sich ohne das Projekt ergibt, bestimmt werden. Von diesem Wert ist dann noch der Barwert der mit dem Projekt verbundenen Auszahlungen zu subtrahieren. • Nutzeffektketten: Die Nutzenentstehung wird entlang der Geschäftsprozesse verfolgt. Das führt i. d. R. zu einer bereichs- und funktionenübergreifenden Betrachtung. Hierbei wird versucht, die Auswirkungen des Einsatzes eines IS über den Ort seines unmittelbaren Einsatzes hinaus zu verfolgen. Es besteht auch die Hoffnung, dass man so von nicht oder schwer quantifizierbaren Nutzeffekten zu leichter quantifizierbaren Nutzeffekten vordringen kann. ▲ Diese Analyse kann zu einem guten konzeptionellen Verständnis der Wirkungszusammenhänge führen, doch der Ansatz lässt die Frage nach der genauen quantitativen Bewertung offen. ▲ Die nachfolgende Abbildung gibt ein Beispiel für eine Analyse der Nutzeffekte der Einführung eines Computer Aided Design (CAD) Systems über zwei Ebenen. Auf der ersten Ebene sind die Effekte an den Arbeitsplätzen im Konstruktionsbereich dargestellt, während die zweite Ebene die Auswirkungen in verschiedenen nachfolgenden Bereichen umfasst.
258
6 Planung und Realisierung von Informationssystemen
• Data Envelopment Analysis (DEA) ist ein Verfahren der linearen Optimierung, bei dem alle betrachteten Entscheidungseinheiten (decision making units, DMU) bezüglich des Verhältnisses ihrer Outputs zu Inputs verglichen werden. Die Gewichte der einzelnen Inputs und Outputs werden durch das Verfahren ermittelt. ▲ Als Inputs auf Unternehmensebene können z. B. Mitarbeiter, Fertigungsanlagen, Grundstücke oder IT und als Outputs die von Unternehmen produzierten Produkte oder angebotenen Dienstleistungen verwendet werden. ▲ Das Verfahren ermittelt diejenigen Einheiten, die das beste Verhältnis von Outputs zu Inputs aufweisen, also effizient produzieren. Ihnen wird eine Effizienz von 1 zugeordnet. Die effizienten Einheiten bilden eine i. d. R. mehrdimensionale Produktionsgrenzebene, die alle Einheiten umhüllt. Dabei brauchen keine Annahmen über den funktionalen Zusammenhang zwischen Inputs und Outputs gemacht zu werden, wie dies bei parametrischen ökonometrischen Verfahren der Fall ist.
6.3 Aufwands- und Nutzenabschätzung
259
▲ Als Entscheidungseinheiten kommen ganze Unternehmen oder ihre relativ autonom operierenden Einheiten infrage, z. B. Einzelhandelsfilialen einer Handelskette oder Zweigstellen einer Bank. ▲ Den Entscheidungseinheiten, die nicht effizient produzieren, kann man basierend auf effizienten Referenzeinheiten aus ihrer (mathematischen) Nähe aufzeigen, wie sie ihre Effizienz erhöhen können. Wenn Ausgaben für IS oder andere Charakteristika des IS-Einsatzes als ein Inputfaktor in die Analyse eingehen, kann man die Auswirkungen der IS quantitativ bewerten. ▲ Wenn untersucht werden soll, wie viel Input unter Beibehaltung der erreichten Outputs eingespart werden kann, kommt das inputorientierte DEA-Modell zur Anwendung. Dieses ist wie folgt definiert: Die Produktionseffizienz der durch den Index 0 gekennzeichneten Entscheidungseinheit berechnet sich aus n
n
∑ vi y0i
i=1 m
∑
j=1
∑ viyki max!
w j x0j
i=1 m
∑ w j xkj
≤ 1 für k = 1, . . . ,N
vi ,w j ≥ 0
j=1
N = Anzahl der Niederlassungen m = Anzahl der Inputs xkj = j-tes Input der k-ten Geschäftsstelle yki = i-tes Output der k-ten Geschäftsstelle
n = Anzahl der Outputs w j = Gewicht für das j-te Input vi = Gewicht für das i-te Input
• Produktions- und Kostenfunktionen werden traditionell in der Mikroökonomie eingesetzt, um die Produktionstechnologie eines Unternehmens, einer Branche oder einer Volkswirtschaft unter Berücksichtigung aller Produktionsinputs und -outputs abzubilden. ▲ Bei einer Kostenfunktion werden die entstandenen Gesamtkosten durch Faktorpreise und Outputmengen unter der Annahme erklärt, dass sich Unternehmen kostenminimierend verhalten. Dafür ist kein vollkommener Wettbewerb notwendig, sondern es reicht, dass Unternehmen als Preisanpasser reagieren. ▲ Zur Schätzung einer Kostenfunktion ist weiter die Annahme einer funktionalen Form notwendig. In der Praxis werden oft die Cobb-Douglas- oder die Translogkostenfunktion verwendet. Nach erfolgter Funktionsschätzung können damit wichtige Erkenntnisse über das Zusammenspiel der Produktionsfaktoren, Produktivität, Preiselastizitäten, der Verbundenheit der Produktionsoutputs und andere ökonomische Aspekte gewonnen werden. ▲ Wenn IT als einer der Produktionsfaktoren explizit in die Berechnungen eingeht, kann ihre Auswirkung auf die Gesamtkosten genau isoliert werden, ihre Substitutionsbeziehung zu Arbeit oder anderen Produktionsfaktoren kann berechnet werden. ▲ Längerfristige Betrachtungen sind mit diesem Ansatz ebenfalls möglich. Das ist wichtig, weil sich der Nutzen vieler großer Investitionen in IS erst nach einigen Jahren einstellt. Eine Gesamtkostenfunktion kann wie folgt ermittelt werden: Die Produktionstechnologie werde beschrieben durch die Transformationsfunktion F(x,y) ≤ 0 mit y = (y1 , . . . ,yn )T ein Vektor der Outputs und x = (x1 , . . . ,xm)T ein Vektor der Inputs. Unter den Annahmen, dass eine Firma Preisanpasser bezüglich der Inputs ist und ihre Produktionskosten minimiert, gibt es für die obige Produktionsfunktion die zugehörige Kostenfunktion C = h(y,w) mit w = (w1 , . . . ,wm )T ein Vektor der Inputpreise.
260
6 Planung und Realisierung von Informationssystemen Diese Kostenfunktion stellt die Lösung des folgenden Problems dar: min wT x : F(x,y) ≤ 0 .
▲ Um die Kostenfunktion C schätzen zu können, muss eine bestimmte funktionale Form angenommen werden. Oft wird die Form einer Translogfunktion gewählt, weil sie flexibel ist und die Abbildung sinnvoller ökonomischer Zusammenhänge erlaubt. Sie stellt die Approximation einer beliebigen (Kosten)Funktion mit einer Taylorreihe zweiter Ordnung dar. Diese Funktion sieht in diesem Fall wie folgt aus: ln C = α 0 + ∑ σt + ∑ µ f + ∑ α i ln yi + ∑ β j ln w j 1 + 2
t
f
i
j
∑ ∑ Ais ln yi ln ys + ∑ ∑ B jk ln w j ln wk i
s
j
k
+ ∑ ∑ Ci j ln yi ln w j i
j
σt ,µ f = firmenspezifische Effekte, die der Eigenschaft von Paneldaten Rechnung
tragen, dass die gleichen Einheiten mehrfach beobachtet werden α i ,β j ,Ais ,B jk ,Ci j = zu schätzende Parameter Es müssen bekannt sein: Outputs (yi ), Inputpreise (w j ) und die Gesamtkosten (C). Zusätzlich zu dieser Funktion werden i. d. R. weitere Gleichungen aufgestellt, um Parametern ökonomisch sinnvolle Restriktionen aufzuerlegen. Die letzten beiden Verfahren sind nur ex post einsetzbar, sodass sie grundsätzlich nicht zur Unterstützung von Investitionsentscheidungen herangezogen werden können. Sie unterstützen eher die Lernprozesse in Unternehmen. Es sind aber auch Situationen denkbar, in denen diese Verfahren bei stufenweisem Einsatz von IT auch Entscheidungen ex ante unterstützen. Wenn z. B. Filialen eines Unternehmens mit IT ausgerüstet werden, können mit DEA die Auswirkungen dieser IT untersucht werden, um über die Ausweitung des Einsatzes oder eine Desinvestition zu entscheiden. ▲ Bei der Betrachtung auf der Ebene einer Branche, einer Volkswirtschaft oder gar der Weltwirtschaft geht es um die Frage des Einflusses der gesamten IT, oft zusammen mit der Kommunikationstechnologie, auf die Veränderung der betrachteten Einheit, z. B. im Zusammenhang mit der Beschäftigung. Aus Vergleichen auf Branchen-, Sektoren- oder Volkswirtschaftsebene wird manchmal versucht, Erkenntnisse für Maßnahmen zu gewinnen, z. B. derart, dass der Aufbau bestimmter Infrastrukturen subventioniert wird oder dass bestimmte Forschungen gefördert werden. ● Verfahren zur Bewertung von IS können auch danach unterschieden werden, wie viele Transformationsstufen zwischen Inputs und Outputs explizit berücksichtigt werden. Modelle mit mehr als einer Transformationsstufe versuchen, den Transformationsprozess zu erhellen, während Verfahren, die einen direkten Zusammenhang zwischen Inputs und Outputs modellieren, den Transformationsprozess als eine „Black Box“ betrachten. ▲ Der Vorteil der mehrstufigen Verfahren liegt darin, dass Auswirkungen von IT auf Produktionszwi-
schenstufen erkannt werden können, die sich auf der Ebene der obersten Unternehmensziele nicht mehr bemerkbar machen. ■
Ein Auftragsbearbeitungssystem kann z. B. dazu führen, dass Aufträge schneller und mit weniger Fehlern ausgeführt werden, ohne dass sich dies, aufgrund anderer Einwirkungen, bei Gewinnen bemerkbar macht.
▲ Der Nachteil der mehrstufigen Ansätze ist ihre im Vergleich zu einstufigen Verfahren noch höhere
Komplexität. ● Bei jeder Bewertung des Einsatzes von IT ist es wichtig, dass alle relevanten Faktoren eines Erstellungsprozesses von Produkten oder Dienstleistungen erfasst werden. Das ist in der Praxis oft nicht der Fall, wenn z. B. nur mit einzelnen Kennzahlen gearbeitet wird. Oft wird das Verhältnis von gesamten
6.3 Aufwands- und Nutzenabschätzung
261
DV-Ausgaben zum Gesamtumsatz oder Gesamtkosten in Beziehung zur Eigenkapitalrentabilität oder einer anderen Kennzahl gesetzt. Dann erfolgt ein Vergleich dieser Zahlen über mehrere Perioden oder Unternehmen, um daraus Schlüsse über die Wirtschaftlichkeit und Wirkung des Einsatzes von IS zu ziehen. Ein solches Vorgehen macht jedoch wenig Sinn, weil der gleichzeitige Einfluss aller anderen Faktoren außer Acht gelassen wird.
6.3.4
Outsourcing von IS
Die Erbringung von Dienstleistungen, die auf Informationstechnologie (IT) basieren, kann auf verschiedene Weisen organisiert werden. Die beiden zunächst vorherrschenden Organisationsformen sind Markt und Hierarchie. Bei der ersten Form werden Dienstleistungen und Güter am Markt bezogen, während bei der zweiten Form die Leistungserbringung innerhalb einer Firma organisiert und vertraglich über Arbeitsverträge gesteuert wird. Kleinere Unternehmen und öffentliche Organisationen hatten oft keine eigenen nennenswerten Ressourcen für die Informationsverarbeitung aufgebaut, sondern bezogen diese Leistungen von gemeinsamen Rechenzentren (z. B. kommunalen oder genossenschaftlichen Rechenzentren). Seit Anfang der neunziger Jahre lagern jedoch auch große Unternehmen große Teile ihrer Informationsabteilungen aus. Dafür wird der Begriff Outsourcing (von IT-Dienstleistungen) verwendet. ● Outsourcing: Die vertragliche Vereinbarung zwischen einem Unternehmen und einem anderen unabhängigen Unternehmen (Outsourcinganbieter), bestimmte IT-Dienstleistungen zu bestimmten Konditionen über einen bestimmten Zeitraum zu liefern. Dabei werden oft Mitarbeiter, Rechenzentren oder andere IT-Ressourcen vom Auftraggeber auf den Outsourcinganbieter übertragen. ▲ Hiervon sind prinzipiell projektbasierte Verträge zu unterscheiden, bei denen der Auftragnehmer
die Erledigung einer genau definierten Aufgabe übernimmt (z. B. die Entwicklung eines Softwareprogramms). In der Praxis sind diese Fälle manchmal schwierig zu unterscheiden. Das liegt daran, dass sie sich über Jahre erstrecken und oft von Nachfolgeprojekten zwecks Systemerweiterungen gefolgt werden. ▲ Der noch immer vorherrschende Grund für Outsourcing ist der Wunsch, IT-Kosten zu sparen. Es
wird davon ausgegangen, dass der Outsourcinganbieter aufgrund seiner Spezialisierung und ökonomischer Größenvorteile (economies of scale) die benötigten Leistungen kostengünstiger erbringen kann. Andere Gründe sind z. B. das Unbehagen der Unternehmensführung eine eigene IT-Abteilung zu steuern und zu unterhalten, der Wunsch nach schnellerem Übergang von der benutzten IT zu einer neueren Technologie oder die Notwendigkeit, die in die IT investierten Finanzmittel für teilweise andere Zwecke freizusetzen. ▲ Outsourcing bringt jedoch nicht nur Vorteile sondern auch Risiken mit sich. Dazu gehören Aspekte
wie Vertraulichkeit der Kunden- und anderer firmeninternen Daten, die die wichtigsten Aktiva eines Unternehmens darstellen können, die Gefahr der „Gefangennahme“ durch den Outsourcinganbieter oder die Gefahr, dass der Outsourcinganbieter die strategischen Potenziale des Einsatzes von IT auf dem Geschäftsfeld des Auftraggebers nicht erkennt, weil in dieser Form die IT scheinbar nicht mehr strategische Wichtigkeit besitzt. Um einigen dieser Risiken vorzubeugen, sind weitere Varianten des Outsourcing entwickelt worden: ● Cosourcing: Ein Unternehmen und ein Outsourcinganbieter gründen eine Tochtergesellschaft, die ITDienstleistungen für das Mutterunternehmen und eventuell auch für dritte Parteien erbringt. Bei dieser Regelung wird IT-Kompetenz von außen geholt, ohne die Kontrolle über die frühere IT-Abteilung ganz zu verlieren. Diese Form wird auch als Ausgliederung bezeichnet, insbesondere wenn kein Outsourcinganbieter dazugezogen wird. Erfolgreiche Cosourcing-Allianzen können mit der Zeit u. a. daran erkannt werden, dass der Anteil des mit dem Mutterunternehmen erzielten Umsatzes stark abgenommen hat. ● Insourcing: Ein Unternehmen lässt bei einer möglichen Entscheidung für Outsourcing auch die eigene IT-Abteilung ein Angebot abgeben. Wenn diese den Wettbewerb gewinnt, wird ein Vertrag abge-
262
6 Planung und Realisierung von Informationssystemen
schlossen, in dem sowohl die zu erbringenden Leistungen als auch eine erfolgsabhängige Entlohnung festgelegt wird. Bei dieser Regelung wird Wettbewerbsdruck auf die IT-Abteilung ausgeübt, ohne wiederum die Kontrolle über sie ganz zu verlieren. Wenn es zu keinen echten Verträgen mit der ITAbteilung und keinem Outsourcing kommt, so hilft der Wettbewerb zumindest, die Kosten der DVLeistungen transparent zu machen und die IT-Abteilung an die Möglichkeiten des Outsourcings zu erinnern. ● Outsourcing von Geschäftsfunktionen: Bei einer IT-intensiven Geschäftsfunktion wird nicht nur die Erbringung von IT-Dienstleistungen sondern auch die Funktion selbst an den Outsourcinganbieter übertragen. Die Bezahlung des Anbieters ist an den Gewinnbeitrag gekoppelt. Bei dieser Form wird versucht, über Anreizstrukturen die Interessen der Vertragsparteien stärker aneinander zu binden. Für den Outsourcinganbieter sind solche Konstruktionen besonders dann interessant, wenn die Chance besteht, über das gewonnene Funktionsknowhow weitere Kunden zu gewinnen. So können sich Outsourcinganbieter von IT-Spezialisten zu Spezialisten für z. B. Logistik oder Zahlungsverkehr entwickeln. ● Selektives Outsourcing: Es werden nur einzelne IT-Funktionen fremd bezogen. Wenn nicht sämtliche IT-Funktionen an Dritte vergeben werden, ist es einfacher, Funktionen wieder hereinzuholen, wenn die Ergebnisse des Outsourcing nicht zufrieden stellend sind. IT-Funtkionen, die häufig Outsourcinganbietern übertragen werden, sind Rechenzentrumsbetrieb, Netzwerkmanagement oder Desktopservices. Die meisten Unternehmen betreiben heute irgendeine Form von Outsourcing, da es bei der Komplexität der IT fast unmöglich ist, in allen Bereichen durch hierarchische Organisation optimale Ergebnisse zu erzielen. Es werden auch oft verschiedene Outsourcinganbieter in Anspruch genommen, um die Gefahr einer zu starken Abhängigkeit von einem Anbieter zu verringern.
6.4
Klassische Modellierungsansätze zur IS-Entwicklung
Die hier dargestellten Beschreibungsverfahren finden ihre Anwendung in der Definitions- und Entwurfsphase. Sie dienen einer strukturierten Analyse und Konzeption des Informationssystems. Sie stellen grafisch orientierte Strukturhilfen zur Abbildung der benötigten Daten und Funktionen des IS zu Verfügung.
6.4.1
Entity-Relationship-Model (ERM)
Das Entity Relationship Modell (Chen) dient der Beschreibung der für ein IS notwendigen Daten. Im Gegensatz zur Strukturierten Analyse (siehe unten) werden Daten jedoch nicht als Stromgröße (Input/Output) betrachtet, sondern als Bestandsdaten. ● Die Beziehungen zwischen den einzelnen Daten stehen im Vordergrund. ▲ Das ERM ist die bekannteste und auch in der Praxis am häufigsten verwendete Methode zur Datenmodellierung. ● Folgende Elemente dienen zur Abbildung eines Realitätsausschnittes mittels eines ERM: • Entitäten (Entities) repräsentieren alle Dinge (Datenobjekte), die eindeutig identifiziert werden können (reale Objekte, abstrakte Konzepte, Ereignisse). • Beziehungen (Relationships) stellen die Verbindung zwischen den Entitäten dar. • Attribute sind Eigenschaften, die eine Entität oder eine Beziehung beschreiben. • In der Regel wird in einem ERM eine Klassifizierung (Menge aller Objekte, welche die gleichen Attribute aufweisen) vorgenommen, ohne dass explizit darauf hingewiesen wird. Man spricht im Falle einer Klassifizierung von einem Entitytyp bzw. einem Beziehungstyp. • Kardinalitäten beschreiben im Sinne der mathematischen Relationentheorie die funktionale Beziehung der Entitäten als mehrdeutig (m : n), eindeutig (1 : n) und eineindeutig (1 : 1).
6.4 Klassische Modellierungsansätze zur IS-Entwicklung
n : m-Beziehung ● Mit den einzelnen Strukturelementen können alle entscheidungsrelevanten Datenobjekte und ihre Beziehungen abgebildet werden. Das Ergebnis ist eine komplexe Abbildung der Datenstruktur (hier nur ausschnittsweise dargestellt):
ist enthalten in
ist enthalten in
Zw.-Nr.
Beispiel einer komplexen Datenstruktur
264
6 Planung und Realisierung von Informationssystemen
▲ Es existieren viele Erweiterungen des ERM. Das Ziel dieser Erweiterungen besteht in der Erhöhung der Semantik. Semantische Erweiterungen gab es bei Hierarchien/Abstraktionsformen, Kardinalitäten, Existenzabhängigkeiten, sowie Kombinationen von Beziehungs- und Entitytypen.
a) Hierarchien/Abstraktionsformen Bei Hierarchien/Abstraktionsformen gibt es unterschiedliche Ansätze, die sich i. W. auf die folgenden Konstruktionsoperatoren reduzieren lassen: • Bei einer Klassifizierung werden gleichartige Elemente zusammengefasst. Elemente sind gleichartig, wenn sie sich durch die gleichen Attribute beschreiben lassen (Entity wird zu Entitätstyp, Beziehung zu Beziehungstyp). • Bei der Generalisierung/Spezialisierung werden ähnliche Entitytypen zu einem übergreifenden Enititytyp zusammengefasst. ■ „is-a“- Beziehung (Generalisierung)
ist ein
■ Beispiel: Erweitertes ERM:
enthält
ist enthalten in
erteilt ist ein
ist enthalten in
erhält
ist ein
Erweitertes ERM
6.4 Klassische Modellierungsansätze zur IS-Entwicklung
b) Alternative Repräsentationsformen der Kardinalitäten Die „Krähenfußnotation“ ist eine semantische Erweiterung des ERM: einem Entity aus Typ A ist genau ein Entity aus Typ B zugeordnet ... ist kein oder ein Entity aus Typ B zugeordnet ... ist ein oder mehrere Entities aus Typ B zugeordnet ... ist kein, ein oder mehrere Entities aus Typ B zugeordnet ... ist mehr als ein Entitiy aus Typ B zugeordnet
„Krähenfußnotation“ von Kardinalitäten Präzisierung der Kardinalitäten nach der CHEN-Notation: • 1 : 1-Beziehungstyp ■ • 1 : n-Beziehungstyp ■ • n : m-Beziehungstyp ■ ■ ERM mit Krähenfußnotation:
ist enthalten in bezogen auf
265
266
6 Planung und Realisierung von Informationssystemen
Die Beziehungskomplexität (Schlateger/Stucky), also die Zuordnung eines Entitytyps zu einem Beziehungstyp, wird als Tupel (min, max) angegeben. ● Es existieren vier Grundtypen von Komplexitätsgraden zwischen Entitytypen und Beziehungstypen: • (0,1) keinen oder einen, • (1,1) genau einen, • (0,*) keinen, einen oder mehrere, • (1,*) einen oder mehrere. ■ ERM in Schlateger/Stucky-Notation: (0,*) (1,*)
ist enthalten in
enthält (1,1) (1,1)
erteilt
(1,1)
(0,*)
(0,*) (1,1) (1,1)
ist ein
ist enthalten in (0,*) (1,*)
(1,1)
(0,*) (0,*)
erhält (1,1) (1,1)
(1,*)
(1,1)
(1,1)
(1,*)
ist ein
c) Mischformen von Entities und Relationships sowie Existenzabhängigkeiten ▲ Bei der Modellierung kann man oftmals eine Zwitterrolle von Entitytypen und Beziehungstypen feststellen. Häufig werden Beziehungssymbole mit Entity-Symbolen überlagert. Damit geht die semantische Unterscheidung zwischen Entity und Beziehung verloren. ■ n
m
m
Auftragsposition
n
6.4 Klassische Modellierungsansätze zur IS-Entwicklung
267
▲ Ein anderes Problem sind Existenzabhängigkeiten von Entities durch schwache Entitytypen (weak entity). Die Existenz eines schwachen Entitytyps ist abhängig von der Existenz eines anderen Entitytyps. ■ So existiert ein Objekt „Mitarbeiter“ nur innerhalb einer Abteilung oder Firma. arbeitet in
▲ Ein Problem der Datenmodellierung nach der Methode des ERM ist, dass der Entwickler eines IS entscheiden muss: • Was ist ein Entity? • Was ist eine Beziehung? • Was ist ein Attribut? Die Antwort auf diese Fragen ist abhängig von der Anwendung des zu modellierenden Systems. ■ Beispielsweise ist der Autor eines Buches für das Buchungssystem eines Verlags ein Entity, für ein
Bibliotheksverwaltungssystem ist der Autor ein Attribut des Buches.
6.4.2
Strukturierte Analyse (SA)
Die Strukturierte Analyse (SA) konzentriert sich auf die Modellierung der Funktionssichten eines IS. Diese werden in Form von Aktivitäten definiert, die durch Datenflüsse verknüpft sind. • Aktivitäten entsprechen betrieblichen Aufgaben mit ablauforientierter Aufgabenstruktur. Eine Aktivität transformiert Input-Datenflüsse in Output-Datenflüsse. Formal ist eine Aktivität daher als Input-OutputSystem interpretierbar. • Datenflüsse stellen Interaktionskanäle zwischen Systemkomponenten dar, die als Schnittstellenvereinbarungen definiert werden. • Ein Datenfluss verbindet eine Aktivität mit einer weiteren Aktivität, einem Datenspeicher oder einer Umweltkontaktstelle. Zur zeitlichen Pufferung von Datenflüssen dienen in der SA Datenspeicher. • Zur Modellierung der Umwelt des Systems werden in der SA Terminatoren (Umweltkontaktstellen) verwendet. Diese dienen als Quellen und Senken von Datenflüssen aus der Umwelt bzw. an die Umwelt. ● Die SA dient der Erfassung aller entscheidungsrelevanten Datenströme und Datentransformationen eines IS mit folgenden Darstellungsmitteln: • Das Datenflussdiagramm (DFD) dient der Modellierung des Zusammenwirkens der Aktivitäten untereinander und mit der Systemumgebung. ▲ Die Darstellung des DFD erfolgt mittels grafischer Symbole. Die Aktivitäten und Datenflüsse
werden schrittweise verfeinert (Top-Down). • Das Data Dictionary (DD) dient der detaillierten Beschreibung der Inhalte von Datenflüssen und -speichern. • Die Mini-Spezifikation (Mini-Spec) beschreibt das Verhalten einer nicht mehr weiter zu zerlegenden Aktivität, insbesondere die Transformation der Input- zu Output-Daten. Als Darstellungsform wird eine strukturierte Umgangssprache (Pseudocode) verwendet.
268
6 Planung und Realisierung von Informationssystemen
Grafische Symbole zur Darstellung eines DFD: Aktivität Transformation Funktion Konten Datenspeicher Data Store „ruhende Daten“ Datenfluss Pipeline „fließende Daten“ Terminator Input/Output-Stelle Datenquelle/-senke ▲ Die SA sieht eine hierarchische Verfeinerung des DFDs vor. Auf der obersten Ebene, dem Kontext-Diagramm, werden die Beziehungen des IS mit der Umwelt abgebildet. Nur in diesem Diagramm werden Terminatoren verwendet, während das IS als eine Aktivität dargestellt wird. Pipelines definieren alle Interaktionen des IS mit der Umwelt. In der Ebene 0 wird das IS in seine grundlegenden Funktionen (Aktivitäten) zerlegt. Durch immer verfeinerte Aufspaltung der einzelnen Aktivitäten kommt man zu einer hierarchischen, baumartigen Struktur einzelner DFD. Die Aktivitäten der untersten Zerlegungsstufe werden in Form von Mini-Specs beschrieben. Neben den Aktivitäten sind auch Datenflüsse zerlegbar. ● Jeder durch Zerlegung entstandene Datenfluss muss aber eindeutig einem Datenfluss der nächst höheren Ebene zuzuordnen sein, d. h. bei der Verfeinerung des Systems dürfen zusätzliche Datenflüsse nur durch die Zerlegung von Aktivitäten entstehen. Zur Beschreibung der in Datenflüssen und Datenspeichern verwendeten Daten dient das DD.
Hierarchische Struktur der SA
6.4 Klassische Modellierungsansätze zur IS-Entwicklung
269
▲ Als Faustregel gilt, dass ein DFD höchstens etwa 6 Aktivitäten enthalten sollte. Ebenso sollte der Darstellungsumfang eines Mini-Specs eine Druckseite nicht überschreiten.
6.4.3
Ereignisgesteuerte Prozesskettendiagramme
Ereignisgesteuerte Prozesskettendiagramme (EPK) dienen der Beschreibung von Abläufen, d. h. dem Zusammenhang von Ereignissen, Aktivitäten und Ablaufreihenfolgen. ● EPKs sind besonders geeignet, ereignisgesteuerte Programmabläufe zu modellieren. Hierbei lösen Ereignisse Aktivitäten aus, die wiederum als Ergebnis neue Ereignisse haben müssen: • Ereignisse bezeichnen das Auftreten eines Objektes oder die Änderung einer bestimmten Attributausprägung. • Aktivitäten sind kleine Programme, Funktionen oder Methoden, die aufgrund des Auftretens von Ereignissen ausgeführt werden. ● Ereignisse und Aktivitäten können mit verschiedenen Verknüpfungsoperatoren verbunden werden: • exklusives ODER (XOR) • ODER (OR) • UND (AND)
a) Grafische Beschreibungselemente Ereignis Aktivität Verknüpfungsoperatoren Abhängigkeiten zwischen Ereignissen und Aktivitäten ● Jedes EPK beginnt mit mindestens einem Ereignis (Startereignis) und wird mit mindestens einem Ereignis (Endereignis) abgeschlossen. Nur wenn bei einer hierarchischen Zerlegung im Sinne einer Verfeinerung von Aktivitäten auf ein anderes EPK verwiesen wird, kann von dieser Regel abgewichen werden. ● Grundsätzlich (ohne Verwendung der Verknüpfungsoperatoren) folgt auf jedes Ereignis eine Aktivität, wiederum gefolgt von einem Ereignis. ● Als semantische Erweiterungen können den Aktivitäten die mit der Ausführung betrauten Organisationseinheiten sowie ein- und ausgehende Datenobjekte zugeordnet werden.
b) Semantische Erweiterungen Verweis auf ein anderes EPK / Hierarchische Verfeinerung von EPKs Daten/Materialobjekt organisatorische Einheit Informations-/Materialsfluss Zuordnung organisatorischer Einheiten
270
6 Planung und Realisierung von Informationssystemen
■ Beispiel eines EPKs:
6.4.4
Petri-Netze
Petri-Netze sind Modelle verteilter Systeme, bei denen die lokalen Auswirkungen von Operationen und die lokalen Einwirkungen auf Objektzustände wesentlich sind. Mit einem Petri-Netz lassen sich Flüsse von Informationen, nebenläufig agierende Komponenten und Synchronisationsprobleme anschaulich und präzise darstellen. Zu den Anwendungen gehören die Modellierung von Systemen und Prozessen in der Automatisierungstechnik, von Abläufen in der Wirtschaftsinformatik und von verteilten Algorithmen in der Kerninformatik. ▲ Carl-Adam Petri hat mit seiner Dissertation 1962 die Grundlagen der Petri-Netz-Theorie gelegt. Seitdem haben sich eine große Zahl verschiedener Varianten von Petri-Netzen etabliert. Petri-Netze verdanken ihre Popularität in Wissenschaft und Praxis der einfachen und mathematisch fundierten Modellsprache, der einheitlichen grafischen Darstellung und der formalen Semantik der Modelle, die Grundlage für Simulations- und Analyseverfahren ist. Erweiterungen erlauben eine spezifische Ausdrucksmächtigkeit für verschiedene Anwendungsbereiche. ▲ Petri-Netze hatten großen Einfluss auf jüngere Modellierungstechniken wie ereignisgesteuerte Prozessketten (EPK), oder Activity Diagrams der Unified Modeling Language (UML). Sie werden insbesondere in der Ausbildung und als Referenzmodell zur semantischen Fundierung anderer Sprachen eingesetzt, stellen aber auch mit jeweils angepasster Benutzungsschnittstelle selbst einen in der Praxis aktuell verbreiteten Modellierungsformalismus dar.
a) Grundbegriffe ● Ein Petri-Netz ist ein gerichteter Graph mit zwei unterschiedlichen Typen von Knoten: • Stellen (auch Plätze genannt), dargestellt durch Kreise oder Ellipsen und • Transitionen, dargestellt durch Rechtecke oder fett gesetzte Striche.
6.4 Klassische Modellierungsansätze zur IS-Entwicklung
271
Petri-Netze sind bipartit, keine Kante verbindet zwei Stellen oder zwei Transitionen. ■ Beispiel eines Petri-Netzes: a
s1
s2
b
s5
s3
s4 e
c d
● Verschiedene Netzklassen erlauben die Modellierung auf unterschiedlichen Abstraktionsebenen. Die Komponenten eines Petri-Netzes haben, unabhängig von der konkret betrachteten Netzklasse, eine einheitliche Interpretation: • Eine Stelle repräsentiert ein oder mehrere Objekte, die mehrere Zustände annehmen können. • Eine Transition repräsentiert eine oder mehrere Operationen, die nur unter gewissen Zuständen von Objekten möglich sind und die sich auf Zustände von Objekten auswirken. • Die Schaltregel gibt an, unter welchen Objektzuständen eine Transition schalten kann, d. h. die entsprechende Operation möglich ist (Aktivierungsbedingung) und welche Zustandsänderungen bei welchen Objekten dadurch bewirkt werden. Sie unterscheidet sich für verschiedene Netzklassen. • Das Lokalitätsprinzip fordert, dass sowohl die Aktivierungsbedingungen einer Transition als auch die durch ihr Schalten bewirkten Zustandsveränderungen ausschließlich Stellen betreffen, die direkt durch eine Kante mit der Transition verbunden sind. Umgekehrt hat der Zustand einer Stelle nur Auswirkungen auf Transitionen in der direkten Umgebung der Stelle und er kann nur durch diese Transitionen verändert werden. • Jeder Stelle ist eine Menge zugeordnet (Bereich), aus der die Marken für diese Stelle stammen. Jedes Element des Bereiches kann grundsätzlich auch mehrfach auf der Stelle liegen. • Ein globaler Zustand wird durch eine Markierung aller Stellen beschrieben, die jeder Stelle eine Multimenge über ihrem Bereich zuordnet. • Zur Definition eines Petri-Netzes gehört neben Angabe einer endlichen Stellen- und einer endlichen Transitionenmenge die Menge der gerichteten Kanten (Flussrelation). • Ein markiertes Petri-Netz ist ein Petri-Netz mit einer initialen Markierung aller Stellen.
b) Elementare Petri-Netze Elementare Petri-Netze sind die ursprüngliche Variante von Petri-Netzen. Marken elementarer Petri-Netze sind ununterscheidbar und werden durch schwarze Punkte dargestellt. Eine Markierung gibt an, wie viele Marken jeweils auf den Stellen liegen. ● Der Bereich jeder Stelle eines elementaren Petri-Netzes ist die einelementige Menge {•}. Da sich jede Multimenge über {•} eineindeutig als nichtnegative ganze Zahl darstellen lässt, werden Markierungen elementarer Netze durch Abbildungen der Stellenmenge in {0,1,2, . . .} definiert. ▲ Wenn die Stellenmenge geordnet ist, lässt sich eine Markierung durch einen Vektor darstellen. ■ (1,0,0,1,0) ist die Markierung des Beispiel-Netzes, in dem die Stellen s1 und s4 eine Marke tragen
und die anderen Stellen keine Marke tragen. ● Für eine Transition t bezeichne •t die Menge der Stellen, von denen aus eine Kante nach t führt (Vorbereich) und t • die Menge der Stellen, zu denen von t aus eine Kante führt (Nachbereich). Die
272
6 Planung und Realisierung von Informationssystemen
Aktivierungsbedingung fordert, dass t nur unter einer Markierung m schalten kann, wenn m(s) > 0 für jede Stelle s in •t gilt, jede Stelle im Vorbereich von t also wenigstens eine Marke trägt. Das Schalten t von t führt nach der Schaltregel zur Folgemarkierung m von m (Notation: m −→ m ), definiert durch: • / t• m(s) − 1 falls s ∈ t unds ∈ m (s) = m(s) + 1 falls s ∈ / •t unds ∈ t • m(s) sonst ■ Im Beispiel sind unter der Markierung (1,0,0,1,0) die Transitionen c und e aktiviert. Das Schalten
von c führt zur Folgemarkierung (0,0,1,1,0), das Schalten von e zu (1,0,0,0,1). ● Eine Schaltfolge, aktiviert durch eine Markierung m, ist eine Sequenz τ = t1 t2 t3 . . . tn, n ≥ 0, von (nicht t3 t1 t2 tn m1 −→ m2 −→ · · · −→ mn für geeignete notwendigerweise verschiedenen) Transitionen, sodass m −→ τ Markierungen m1 ,m2 ,m3 , . . . ,mn gilt (Notation: m −→ mn ). Für n = 0 ist τ die leere Folge λ , diese ist λ von jeder Markierung m aktiviert (Notation: m −→ m). Eine Markierung m ist von einer Markierung m τ erreichbar, wenn eine Schaltfolge τ mit m −→ m existiert. Für gegebene Markierungen m und m eines Petri-Netzes ist entscheidbar, ob m von m erreichbar ist. ● Erreichbare Markierungen eines markierten elementaren Petri-Netzes sind alle von der Anfangsmarkierung aus erreichbaren Markierungen. Ein markiertes elementares Petri-Netz heißt beschränkt, wenn für jede Stelle s eine natürliche Zahl k existiert, sodass m(s) ≤ k für alle erreichbaren Markierungen m gilt. Es heißt sicher, wenn m(s) ≤ 1 für alle erreichbaren Markierungen m gilt. In diesem Fall lässt sich jede Stelle als Bedingung interpretieren, die entweder den Wert falsch (keine Marke) oder den Wert wahr (eine Marke) haben kann. ● Ein markiertes elementares Petri-Netz (N,m0 ) heißt terminierend, wenn es eine natürliche Zahl k gibt, sodass alle von m0 aktivierten Schaltfolgen höchstens die Länge k haben. Es heißt verklemmungsfrei, wenn keine erreichbare Markierung existiert, die keine Transition aktiviert. Es heißt lebendig, wenn jede erreichbare Markierung eine Schaltfolge aktiviert, die alle Transitionen enthält, jede Transition also immer wieder schalten kann. Es heißt rücksetzbar, wenn m0 von jeder erreichbaren Markierung erreicht werden kann. ■ Das Beispielnetz ist mit jeder initialen Markierung beschränkt. Mit der initialen Markierung (1,0,0,1,0) ist es sicher, nicht terminierend, verklemmungsfrei, lebendig und rücksetzbar. ● Der Erreichbarkeitsgraph repräsentiert das sequenzielle Verhalten eines markierten elementaren PetriNetzes (N,m0 ). Seine Knoten sind die erreichbaren Markierungen, mit ausgezeichnetem initialem t Knoten m0 . Für jede erreichbare Markierung m und jeden möglichen Schaltvorgang m −→ m hat der Erreichbarkeitsgraph eine gerichtete Kante von dem Knoten m zu dem Knoten m , die mit t beschriftet ist. Der Erreichbarkeitsgraph ist genau dann endlich, wenn das Petri-Netz beschränkt ist. Er ist genau dann azyklisch, wenn das Petri-Netz terminierend ist. Er hat genau dann keinen Knoten ohne ausgehende Kante, wenn das Petri-Netz verklemmungsfrei ist. Er ist genau dann stark zusammenhängend, wenn das Petri-Netz rücksetzbar ist. ■ Der Erreichbarkeitsgraph des Beispielnetzes mit Anfangsmarkierung (0,0,1,1,0): (0, 0, 1, 1, 0)
e
b d
(0, 0, 1, 0, 1)
c
(1, 0, 0, 1, 0)
start
(0, 1, 0, 0, 0)
e a
d (1, 0, 0, 0, 1)
6.4 Klassische Modellierungsansätze zur IS-Entwicklung
273
c) Modellierung mit sicheren elementaren Petri-Netzen ● Die sequenzielle Nacheinanderausführung zweier Aktionen wird durch eine Stelle modelliert, die im Nachbereich der ersten und im Vorbereich der zweiten Transition liegt und keine weiteren ein- oder ausgehenden Kanten hat.
● Ein Konflikt zwischen zwei Transitionen liegt unter einer Markierung eines sicheren markierten elementaren Petri-Netzes vor, wenn beide Transitionen aktiviert sind und eine Stelle im Vorbereich beider Transitionen liegt. Alternative Aktionen werden also durch Transitionen modelliert, die im Nachbereich einer verzweigenden Stelle liegen. Entsprechend wird die Zusammenführung von Alternativausführungen durch rückwärts verzweigende Stellen modelliert.
● Der Beginn nebenläufiger Aktionen wird durch eine Transition mit mehreren Nachbereichsstellen modelliert, die jeweils im Vorbereich verschiedener Transitionen liegen. Die Synchronisation wird entsprechend durch eine rückwärts verzweigende Transition dargestellt, die erst schalten kann, wenn alle Stellen in ihrem Vorbereich eine Marke erhalten haben.
● Ein Free-Choice Netz ist strukturell eingeschränkt auf die im Folgenden dargestellten Bausteine für Alternativen und Synchronisation (der dritte Baustein für die Sequenz ist ein Spezialfall der beiden anderen):
Diese Netzbausteine lassen sich mittels Kanten von Transitionen zu Stellen beliebig kombinieren. Für Free-Choice Netze existieren reichhaltige Theorien, die insbesondere effiziente Analyseverfahren für die oben genannten Verhaltenseigenschaften zur Verfügung stellen. Ein Netz ist nicht free-choice, wenn alternative Transitionen vollständig oder teilweise gesteuert werden sollen und dafür zusätzliche Vorbereichsstellen besitzen. Die Modellierung von IF-THEN-ELSE-Kontrukten ist daher mit FreeChoice-Netzen nicht möglich.
d) Erweiterungen elementarer Petri-Netze ● Das Schalten einer Transition kann statt einer mehrere Marken von oder auf eine Stelle bewegen. Die Anzahl wird durch die Beschriftung der entsprechenden Kante mit einem Kantengewicht spezifiziert. ● Die Beschränktheit einer Stelle kann mithilfe einer spezifizierten Kapazitätsbeschränkung erzwungen werden. Diese muss von der initialen Markierung respektiert werden. Für die Aktivierung einer
274
6 Planung und Realisierung von Informationssystemen
Transition gilt zusätzlich zu den oben genannten Bedingungen, dass durch das Schalten der Transition keine Kapazitätsbeschränkung verletzt wird. Die viel untersuchte Klasse der elementaren Netzsysteme besteht aus markierten elementaren Petri-Netzen ohne Zyklen der Länge zwei (d. h. keine Stelle ist zugleich im Vor- und Nachbereich einer Transition) mit Kapazitätsbeschränkung 1 für jede Stelle. ● Die Aktivierung einer Transition kann zusätzlich davon abhängig gemacht werden, ob eine bestimmte Stelle nicht markiert ist. Diese Bedingung wird mit einer so genannten Verhinderungskante spezifiziert. Die Erreichbarkeit einer Markierung ist für Netze mit Verhinderungskanten nicht entscheidbar.
e) Höhere Petri-Netze ● In höheren Petri-Netzen sind im Gegensatz zu elementaren Petri-Netzen die Marken unterscheidbar. Sie können beliebige Datenstrukturen repräsentieren. Eine Transition kann in verschiedenen Schaltmodi schalten. In einem Schaltmodus ist festgelegt, welche Marken auf den Stellen im Vor- und Nachbereich der Transition bewegt werden. Entsprechend fordert die Aktivierungsbedingung für einen Schaltmodus einer Transition, dass die entsprechenden Marken zur Verfügung stehen. Formal wird das Schaltverhalten einer Transition bezüglich einer Stelle in ihrem Vor- oder Nachbereich durch eine Abbildung von der Menge der Schaltmodi der Transition in die Multimenge über dem Bereich der Stelle spezifiziert. ● Prädikat/Transitions-Netze sind eine syntaktische Ausprägung von höheren Petri-Netzen. Jede Kante (von bzw. zu einer Stelle s) ist mit einem Term beschriftet, der Variablen enthalten kann. Durch Zuordnung passender Werte an diese Variable entstehen Elemente des Bereiches der Stelle s. Ein Schaltmodus einer Transition t ist eine entsprechende vollständige und konsistente Belegung aller Variablen an Kanten von bzw. zu t. Die oben genannte Abbildung entspricht der Interpretation eines Terms. Zusätzlich kann durch eine Schaltbedingung (eine logische Bedingung über die Variablen) die Belegung der Variablen eingeschränkt werden. ● Durch Abstraktion von konkreten Bereichen und Markierungen eines Prädikat/Transitions-Netzes entsteht ein Algebraisches Petri-Netz. Jede Interpretation von Symbolen eines Algebraischen Petri-Netzes durch Elemente einer konkreten Algebra, die vorgegebene Eigenschaften erfüllt, ergibt ein markiertes Prädikat/Transitions-Netz. ■ Dieses Algebraische Petri-Netz modelliert einen Token-Ring einer Menge A von Agenten. Der Token wandert zyklisch von Agent zu Agent. Jeder Agent kann entweder idle sein, dann reicht er den Token einfach weiter. Andernfalls kann er Zugang zu seinem kritischen Abschnitt (critical) wünschen (request). Sobald er den Token erhält, betritt er seinen kritischen Abschnitt. Der Token wird erst weitergereicht, nachdem er den kritischen Abschnitt wieder verlassen hat. In diesem Fall wird ein Zähler, der dem Token zugeordnet ist, um eins erhöht. (x,n)
(x,n+1)
x
(x,n)
(x,n)
critical
x
in
idle
(a,0)
x request
A
x x
(x,n)
(N(x),n)
x (x,n)
(x,n)
out
6.5 Moderne Modellierungsansätze zur IS-Entwicklung
275
Zur Spezifikation des Algebraischen Petri-Netzes gehört: a ∈ A und N : A → A ist eine zyklische Nachfolgefunktion. Der Bereich der Stellen in, critical und out ist das kartesische Produkt der Menge A und der natürlichen Zahlen. In der initialen Markierung besitzt der Agent a den Token und der Zähler steht auf 0. Jeder Agent (der Menge A) kann in den Zustand request übergehen. Falls dies für den Agenten a geschieht, kann er seinen kritischen Abschnitt betreten. In der Folgemarkierung ist in unmarkiert und critical trägt die Marke (a,1). Andernfalls kann a verzichten. In der Folgemarkierung trägt dann out die Marke (a,0). Anschließend wird der Token an den Nachfolger N(a) weitergereicht. in trägt die Marke (b,0), wobei b der Nachfolger von a in dem Zyklus ist. Das Beispiel macht deutlich, dass die Marken höherer Petri-Netze sowohl beliebige Daten (hier natürliche Zahlen) als auch Komponenten eines verteilten Systems (hier Agenten) und sogar Kombinationen daraus (Paare) repräsentieren können.
f) Systeme, Prozesse und Abläufe Petri-Netze erlauben eine genaue Unterscheidung von Systemmodellen, die auf unbestimmte Zeit agieren, Prozessmodellen, die von einem Anfangszustand aus auf verschiedene Weise einen Endzustand erreichen können und Ablaufmodellen, die den tatsächlichen Ablauf eines Systems oder eines Prozesses repräsentieren. • Ein Systemmodell ist ein initial markiertes Petri-Netz, das lebendig, beschränkt und meist rücksetzbar sein soll. Einzelne Prozesse sind in das Systemmodellverhalten eingebettet, können aber auch gesondert modelliert werden. • Ein Prozessmodell hat spezielle Eingangs- und Ausgangsstellen, die den Beginn und das Ende des Prozesses repräsentieren. Es soll meist terminierend und sicher sein. Ein Prozessmodell kann Konflikte aufweisen, die entweder zufällig oder abhängig von Prozessparametern oder Prozessdaten aufgelöst werden. • Ein Ablaufmodell ist ein azyklisches Petri-Netz, dessen Transitionen tatsächlich eintretende Ereignisse modelliert. Die Flussrelation gibt die kausalen Beziehungen zwischen den Ereignissen und ihren Vorund Nachbedingungen an. Die Stellen eines Ablaufmodells sind nicht verzweigt, denn in einem Ablauf gibt es keine Alternativen. Konstruktionsbedingt sind Ablaufmodelle sicher und terminierend. Die kausale Semantik eines System- oder Prozessmodells ist durch die Menge aller zugehörigen Ablaufmodelle gegeben. Diese können mittels spezieller Abbildungen von der Menge der Netzelemente des Ablaufmodells in die Menge der Netzelemente des System- oder Prozessmodells charakterisiert werden.
6.5
Moderne Modellierungsansätze zur IS-Entwicklung
Moderne Modellierungsansätze der IS-Entwicklung bedienen sich häufig des Paradigmas der Objektorientierung. ● Ein wesentlicher Unterschied der objektorientierten Programmierung (OOP) zur traditionellen Programmierung ist die Aufhebung der Trennung von Daten und Programmen (Funktionen). Aus dieser Überlegung heraus ergibt sich, dass die bisher dargestellten Methoden zur Modellierung von Informationssystemen nicht zur Modellierung von OO-Datenbanken und -Programmen geeignet sind. ● Strukturelle und verhaltensmäßige Objektorientierung beinhaltet die Forderung an eine OO-Modellierung, sowohl die statischen Beziehungen zwischen den Objekten, als auch das dynamische Verhalten der Objekte modellieren zu können. ▲ Ein Ansatzpunkt ist die Kombination verschiedener Verfahren: Mittels eines erweiterten ERM wird die strukturelle OO abgebildet, wenn neben den Attributen auch die Methoden und Funktionen als Eigenschaften modelliert werden.
276
6 Planung und Realisierung von Informationssystemen
Die verhaltensmäßige OO kann mittels eines EPKs oder eines Datenflussmodells (SA) dargestellt werden, während die internen Abläufe in einer Objektmethode mittels einzelner Nassi-SchneidermanDiagramme dargestellt werden können. ● Betrachtet man ein Objektmodell als eine Software-Entwicklungsmethode, so kann man zwei Ebenen unterscheiden: • Ein spezielles Vorgehensmodell, das die gesamte Entwicklung in definierte Teilaufgaben untergliedert. • Eine grafische Notation, die aus Symbolen und verschiedenen Diagrammen besteht.
6.5.1
Objektmodell von Rumbaugh
Bei der OO-Modellierung nach Rumbaugh wird die reale Welt in drei zu modellierenden Realweltausschnitten dargestellt: • Objektmodell • Dynamisches Modell • Funktionalitätsmodell
a) Objektmodell Das Objektmodell dient der Abbildung der Datenstrukturen und der statischen Systemeigenschaften. Objekte werden zu Objekttypen oder Klassen zusammengefasst. ● Der Entwurf des Objektmodells erfolgt in acht Schritten: 1. Identifizierung von Klassen und Objekten 2. Anfertigung von Data Dictionaries 3. Identifizierung von Beziehungen (auch Aggregationen) zwischen Objekten 4. Identifizierung der Attribute der Objekte und Beziehungen 5. Einführung von Vererbungshierarchien zur Vereinfachung des Modells (Generalisierung/Spezialisierung) 6. Darstellung von Zugriffspfaden für Anfragen zwischen Objekten 7. Wiederholen der bis hierher durchgeführten Schritte und Verfeinerung des Modells 8. Gruppierung von Klassen in Modulen, wobei man unter einem Modul eine Menge von Klassen versteht, die eine logische Einheit innerhalb des Gesamtmodells bilden. ▲ Die Notation des Objektmodells ist in vielen Dingen der Notation des ERM ähnlich: • Klasse oder Objekttyp Objektname Attribut 1: Datentyp Attribut 2: Datentyp
...
Kurz:
Objektname
Methode 1 (Argumente) Methode 2 (Argumente)
...
• Instanzen oder Ausprägungen von Klassen Unter Instanzen werden die einzelnen Ausprägungen von Klassen, also die eigentlichen Objekte verstanden (Kombination von Attributwerten und zugehörigen Methoden).
6.5 Moderne Modellierungsansätze zur IS-Entwicklung
277
• Generalisierung/Spezialisierung („is a“-Beziehung) Bei der Generalisierung werden ähnliche Klassen (Subklassen) zu übergreifenden Klassen (Superklassen) zusammengefasst.
• Assoziation oder Beziehung und Rollen
■
• Kardinalitäten
ein Objekt der Klasse 1 ist assoziiert mit genau einem Objekt der Klasse 2
ein Objekt der Klasse 1 ist assoziiert mit null, einem oder mehreren Objekten der Klasse 2
ein Objekt der Klasse 1 ist assoziert mit null oder einem Objekt der Klasse 2
ein Objekt der Klasse 1 ist assoziiert mit einem oder mehreren Objekten der Klasse 2
ein Objekt der Klasse 1 ist assoziiert mit einer spezifizierten Objektzahl der Klasse 2 (hier: 1, 2 oder 4) • Aggregation
alternativ:
● Die Aggregation ist eine stärkere Form der Assoziation. Die Aggregationsklasse besteht aus den
Teilklassen, d. h. wird ein Objekt der Aggregationsklasse gelöscht, so werden auch gleichzeitig die Objekte der Teilklassen gelöscht. ■ Beispiel:
Filiale
278
6 Planung und Realisierung von Informationssystemen ▲ Im Gegensatz zur Aggregation werden Objekte, die über eine normale Beziehung oder As-
soziation verknüpft sind, nicht Teil der verknüpften Klasse und bleiben auch dann bestehen, wenn das zugehörige Objekt der verknüpften Klasse gelöscht wird. Es erfolgt dann, wenn keine Aggregation vorliegt, also keine hierarchische Gliederung. • Beziehungsattribut
■ Beispiel:
▲ Ein Beziehungsattribut wird erst bei einer n : m-Beziehung zwischen Klassen sinnvoll, da bei
1 : n-Beziehungen das Beziehungsattribut als Slot (Attribut) einer der Klassen hinzugefügt werden kann. Aus Gründen der Flexibilität kann aber auch eine 1 : n-Beziehung mit Beziehungsattribut gebildet werden, um bezüglich einer eventuellen späteren Erweiterung zu einer n : m-Beziehung vorbereitet zu sein. • ternäre Beziehung
■ Beispiel:
b) Dynamisches Modell Das dynamische Modell dient zur Beschreibung der dynamischen Systemeigenschaften also den Aktivitäten und Ereignissen sowie deren Folgen. ▲ Das dynamische Modell ist insbesondere für interaktive Systeme sinnvoll, da sich die Zustände des Systems „dynamisch“ ändern können. ● Schritte zum Entwurf des dynamischen Modells: 1. Entwurf von Szenarien typischer Interaktionsfolgen ■ Szenario eines Telefonanrufs:
– Anrufer nimmt Hörer ab – Freizeichen ertönt
6.5 Moderne Modellierungsansätze zur IS-Entwicklung
279
– Anrufer wählt – angerufenes Telefon klingelt – ··· 2. Identifizieren von Ereignissen, die z. B. Werte in Objekten verändern. Ereignisse lösen eine Nachricht an ein Objekt aus und bewirken so eine Veränderung des Zustands dieses Objektes. ■ Ereignisse sind z. B.: „Flug 123 startet in Frankfurt“ oder „Anwender drückt die rechte Maustas-
te“ Ereignisse werden in Ereignisklassen gruppiert. ■ Ereignisklasse:
Ereignisse:
„Abflüge“ „Flug 123 startet in Frankfurt“ „Flug 456 startet in Rom“
▲ Ereignisse, die voneinander unabhängig sind, werden konkurrierende Ereignisse genannt.
3. Entwurf einer Ereignisfolge für jedes Szenario. 4. Erstellen von Zustandsdiagrammen für jede Objektklasse. In einem Zustandsdiagramm werden die Ereignisse mit den Objektzuständen in Beziehung gesetzt. 5. Zuordnen der Ereignisse zu den betreffenden Objekten, um die Konsistenz des Systems zu sichern. ▲ Dies umfasst z. B. die Überprüfung, ob jedes Ereignis eine Zustandsänderung bewirkt.
• Notation des Dynamischen Modells
■ Beispiel: Verkaufsautomat
• Initial- und Endzustand
280
6 Planung und Realisierung von Informationssystemen
■ Beispiel:
• Senden einer Nachricht zu einem anderen Objekt
• Konkurrierende Subdiagramme mit einer Aufspaltung der Kontrolle
▲ Alle Aktivitäten innerhalb des Superstates müssen abgeschlossen sein, bevor er verlassen werden kann. ■ Beispiel: Auszahlung am Geldautomaten:
6.5 Moderne Modellierungsansätze zur IS-Entwicklung
281
c) Funktionalitätsmodell Das Funktionalitätsmodell dient zur Darstellung der Systemfunktionalität, also der internen Verarbeitungsschritte. ● Schritte zum Entwurf des Funktionalitätsmodells: 1. Identifikation der Ein- und Ausgabedaten 2. Entwerfen von Datenflussdiagrammen, um funktionale Abhängigkeiten aufzuzeigen 3. Spezifikation der benötigten Funktionen 4. Identifizierung von eventuell bestehenden Beschränkungen 5. Spezifizieren von Optimierungskriterien
Notation des Funktionalitätsmodells: • Prozess
Prozessname
■ Beispiel: Division
• Datenfluss zwischen Prozessen
Prozess 1
Prozess 2
• Passive Objekte als Datenspeicher
▲ Passive Objekte speichern die Daten, auf die von aktiven Objekten zugegriffen werden kann. • Entstehung eines Passiven Objektes aus einem Datenfluss
• Aktive Objekte (Actors) als Quellen oder Senken von Daten
Prozess ▲ Aktive Objekte sind Ausgangs- und Zielpunkte von Prozessen, d. h. Prozesse werden von ihnen angestoßen und die Prozessergebnisse werden wieder an Aktive Objekte übergeben. Aktive Objekte können auf Passive Objekte zugreifen.
282
6 Planung und Realisierung von Informationssystemen
• Kontrollfluss
Prozess 1
Prozess 2
• Lesen aus einem Datenspeicher
• Schreiben in einen Datenspeicher
Prozess • Lesen aus und Schreiben in einen Datenspeicher
Prozess • Komposition bzw. Dekomposition von Datenwerten
■ Beispiel:
• Duplizieren eines Datums 2
6.5 Moderne Modellierungsansätze zur IS-Entwicklung
283
■ Beispiel eines Datenflussdiagramms: Abheben vom Bankkonto
▲ Die Modelle des zu entwickelnden Systems werden in die Entwurfsphase übernommen und in Abhängigkeit der späteren Implementierungssprache (Sprache, in der das IS geschrieben wird) weiter detailliert.
6.5.2
Objektmodell von Booch
● Booch propagiert als Vorgehensmodell einen „iterative and incremental development life cycle“: • iterativ, weil die einzelnen Aktivitäten wiederholt ausgeführt werden, • inkrementell, weil das System in kleinen, wohldefinierten Schritten entwickelt wird. ▲ Dadurch, dass Testergebnisse durch den iterativen Entwicklungsprozess in die nächste Entwicklungsphase einbezogen werden, kann früh auf Probleme reagiert und deren Lösung in die Systementwicklung einbezogen werden. ● Booch unterscheidet zwischen einem „Micro Development Process“ und einem „Macro Development Process“. Der Micro Development Process repräsentiert die Aktivitäten des einzelnen oder eines Teams von Programmentwicklern und besteht aus vier Schritten: 1. Identifizieren von Klassen und Strukturen 2. Festlegen von Struktur und Verhalten der gefundenen Klassen und Objekte 3. Identifizierung der Beziehungen zwischen Klassen und Objekten 4. Implementieren von Klassen und Objekten Das Ergebnis wird während des Entwicklungsprozesses festgehalten in: • Klassendiagrammen • State-Transition-Diagrammen • Objektdiagrammen • Interaktionsdiagrammen • Modul-Diagrammen • Prozessdiagrammen
284
6 Planung und Realisierung von Informationssystemen
a) Klassendiagramme dienen der Darstellung der Klassen und ihrer Beziehungen zueinander. • Klassen Klassenname Attribute Methoden
• Metaklassen
Metaklassenname
▲ Die Instanzen von Metaklassen sind selbst Klassen. • geschachtelte Klassen Klassenname Name einer geschachtelten Klasse
▲ Die geschachtelte Klasse ist physischer Bestandteil der umgebenden Klasse. • Klassenkategorien
▲ Logisch zusammengehörige Klassen können aus Gründen der Übersichtlichkeit in Kategorien zusammengefasst werden. • Beziehungen zwischen Klassen – Assoziation
6.5 Moderne Modellierungsansätze zur IS-Entwicklung
285
▲ Als Kardinalitäten sieht Booch 1 : 1-, 0 : 1-, 0 : N-, 1 : N- und N : M-Beziehungen zwischen den beteiligten Klassen vor. – Vererbung
– Aggregation
– using
▲ In der Implementation der klasseneigenen Methoden der using class findet die used class Verwendung. • Metaklasse
b) State-Transition-Diagramme werden für jede Klasse erstellt, um die Zustände einer Klasse darzustellen und Ereignisse abzubilden, die eine Veränderung dieser Zustände bewirken. ▲ Die Notation des State Transition Diagrams unterscheidet sich nicht von der des Dynamischen Modells von Rumbaugh.
286
6 Planung und Realisierung von Informationssystemen
c) Objektdiagramme dienen der Darstellung von Objekten und ihrer Beziehungen zueinander. ▲ Ein Objektdiagramm ist eine Momentaufnahme des sich im Zeitablauf ändernden Modells. ● Objekte können entweder Actor, Server oder Agent sein: 1. Actor-Objekte können über Nachrichten das Verhalten anderer Objekte steuern, werden selbst jedoch nicht von anderen Objekten beeinflusst. Dies entspricht dem Aktiven Objekt bei Rumbaugh. 2. Server-Objekte empfangen nur Nachrichten, senden selbst also keine. Dies entspricht dem Passiven Objekt bei Rumbaugh. 3. Agent-Objekte haben die Eigenschaften von Server- und Actor-Objekten. • Allgemeine Notation
▲ Mit „order“ kann hier die zeitliche Abfolge der Nachrichten angegeben werden. • Synchronisation von Nachrichten – simple
▲ Es wird eine Nachricht an ein Objekt in Pfeilrichtung gesendet. – synchronous
▲ Das aufrufende Objekt wartet solange, bis der Empfänger ein Ergebnis zurückgibt. – balking
▲ Das aufrufende Objekt widerruft die Nachricht, wenn der Empfänger nicht sofort ein Ergebnis zurückgibt. – timeout
▲ Das aufrufende Objekt widerruft die Nachricht, wenn der Empfänger nicht während eines spezifizierten Zeitraums ein Ergebnis zurückgibt. – asynchronous
▲ Das aufrufende Objekt sendet eine Nachricht an einen Empfänger und wartet nicht auf die Rückgabe des Ergebnisses.
6.5 Moderne Modellierungsansätze zur IS-Entwicklung ■ Beispiel:
d) Interaktionsdiagramme drücken die zeitliche Abfolge der Nachrichten aus.
287
288
6 Planung und Realisierung von Informationssystemen
■ Beispiel: Temperaturregelung in einem Gewächshaus
e) Modul-Diagramme dienen der Darstellung der Implementation von Klassen auf der physischen Ebene. • Hauptprogramm ▲ In C++ ist dies der Programmteil main(...). • Spezifikation von Klassen
▲ In C++ entspricht dies dem Header mit der Klassendefinition (z. B. Klassenname, Slots). • Implementation von Klassenmethoden ▲ In C++ ist dies die Implementation der klasseneigenen Methoden (also der Source-Code). • Subsystem ▲ Ein Subsystem ist eine Zusammenfassung logisch zusammenhängender Module für eine Darstellung auf höherer abstrakter Ebene. • Abhängigkeiten ▲ Zur Darstellung von Abhängigkeiten bezüglich der Compilierungsreihenfolge werden Module mit Pfeilen verbunden.
f) Prozessdiagramme dienen der Beschreibung der Verteilung der Prozesse auf die Hardwarekomponenten und der Darstellung des physischen Aufbaus des Systems.
6.6 Klassische Realisierungsansätze
289
• Prozessor
Prozessor ▲ Ein Prozessor kann Programme ausführen. • Device
Device ▲ Ein Device kann keine Programme ausführen. ■ Beispiel: Device: Greenhouse 1
Prozessor: Gardener Workstation
Device: Greenhouse 2
Device: Greenhouse 3
Der Macro Development Process stellt die Aktivitäten des gesamten Entwicklungsteams im Wochen- oder Monatsmaßstab dar und beinhaltet fünf Schritte: 1. Feststellung der wichtigsten Anforderungen an das IS (conceptualization) 2. Analyse des Systemverhaltens und einer Vorgehensweise zur Systementwicklung (analysis) 3. Entwicklung einer Systemarchitektur (design) 4. Entwicklung des eigentlichen IS durch sukzessive Verfeinerung (evolution) 5. Sicherstellung der Wartung und Pflege des IS (maintenance)
6.6
Klassische Realisierungsansätze
6.6.1
Programmstrukturen
Modulare Programmiersprachen sind Programmiersprachen, die es erlauben, ein Programm in viele, möglichst unabhängige Segmente (Module) zu unterteilen. ● In FORTRAN sind Module stets Funktionen oder Unteroutinen. Die Definition größerer Module (Zusammenfassung mehrerer Unterroutinen) ist nicht möglich.
290
6 Planung und Realisierung von Informationssystemen
Die Datenstrukturen bezeichnen die Deklarationen von (zusammengesetzten) Datentypen. Sie werden erst durch die Definition von Variablen im Arbeitsspeicher abgelegt. ● Datenstruktur und Variable werden oft synonym verwendet. Der Scope ist der Gültigkeitsbereich von Datenstrukturen. Die meisten höheren Programmiersprachen unterscheiden mindestens: • Globaler Scope : Hier definierte Datenstrukturen sind im gesamten Programm, auch in allen Unterprogrammen (Modulen) bekannt. • Modul-Scope: Alle Datenstrukturen sind nur innerhalb eines Moduls definiert. Außerhalb dieses Bereiches sind diese Daten unbekannt. ▲ Variablen in verschiedenen Modulen dürfen gleiche Namen (Bezeichner) erhalten. Die Änderung einer lokalen Variablen in einem Modul beeinflusst nicht den Wert einer Variablen gleichen Namens in einem anderen. ■ FORTRAN 77 kennt keine globalen Variablen. Variablen, die in mehreren Modulen verwendet werden sollen, müssen über Common-Blöcke definiert werden. Lokale Variablen sind in einem Unterprogramm deklarierte Variablen. Sie gelten nur in diesem Unterprogramm. In anderen Unterprogrammen können Variablen mit identischen Namen deklariert werden. Globale Variablen hingegen sind außerhalb von Unterprogrammen definierte Variablen. Sie besitzen in allen Unterprogrammen denselben Wert. ● Es ist möglich, zu einer globalen Variablen eine lokale Variable gleichen Namens zu definieren. Innerhalb des Unterprogramms existiert dann nur diese. ▲ Die Speicherbereiche von globalen und lokalen Variablen sind völlig getrennt. Globale Variablen werden vom Compiler vor Beginn des Programmlaufes fest (statisch) im Speicher reserviert. Lokale Variablen dagegen werden während des Programmlaufes bei Aufruf eines Unterprogramms dynamisch auf dem so genannten Stack angelegt und nach Verlassen des Unterprogramms wieder freigegeben, sodass andere Unterprogramme denselben Speicherbereich für ihre Datenstrukturen nutzen können. Inhalte von lokalen Variablen sind somit i. d. R. bei erneutem Aufruf eines Unterprogramms nicht reproduzierbar. Unterprogramme stellen möglichst unabhängige Programmmodule dar. Ein Programm sollte so in Unterprogramme aufgeteilt werden, dass jedes Unterprogramm eine bestimmte Aufgabe erfüllt. Besteht diese Aufgabe aus mehreren Teilaufgaben, so sollte dieses durch mehrere Unterprogramme ersetzt werden. Eine Funktion ist ein Unterprogramm, welches dem aufrufenden Programmteil einen Wert zurückliefert. ■ y = sin(x) weist der Variablen y das Resultat der Funktion sin(x) zu, wobei x das Argument der Funktion ist. ■ In C sind alle Unterprogramme Funktionen. Argumente sind Schnittstellen zwischen aufrufendem Programmteil und aufgerufenem Unterprogramm oder aufgerufener Funktion. Es können dem Unterprogramm sowohl Daten übergeben als auch von ihm übernommen werden. ▲ Im Allgemeinen kann eine benutzerdefinierte Funktion beliebig viele Argumente erhalten, deren Anzahl jedoch nach einmaliger Definition beibehalten werden muss. Beim Aufruf des Unterprogramms oder der Funktion müssen Anzahl und Art der übergebenen Argumente mit der Definition des Unterprogramms verträglich sein. Call-by-value ist eine Art der Argumentübergabe. Beim Aufruf wird eine Kopie des übergebenen Wertes im lokalen Speicher des Unterprogramms angelegt. ● Eine Veränderung des Wertes innerhalb des Unterprogramms hat keine Auswirkung auf den Wert im aufrufenden Programmteil.
6.6 Klassische Realisierungsansätze
291
▲ Nachteil der Call-by-value-Übergabe von Argumenten ist, dass stets eine Kopie des übergebenen Objektes angelegt wird. Dazu muss Speicher reserviert und der Speicherinhalt kopiert werden. Bei größeren Datenstrukturen oder häufig aufgerufenen Unterprogrammen kann dies viel Rechenzeit und Speicherplatz verschlingen. ■ Beispiele für Sprachen mit Call-by-value-Übergabe von Argumenten sind: PASCAL, C, C++ Call-by-reference ist die häufigste Art der Argumentübergabe. Der übergebene Wert wird nicht in einen neuen Speicherbereich kopiert, sondern es wird lediglich die Adresse des die Daten enthaltenden Speicherbereiches übergeben. Unterprogramm und aufrufendes Programm verwenden denselben Speicherbereich. ● Eine Veränderung des Arguments im Unterprogramm modifiziert den Wert im aufrufenden Programm, sofern nicht im Unterprogramm die Argumente als konstant definiert werden. Dies ist eine große Gefahr von Call-by-reference. ▲ Call-by-reference ist die effizienteste Art, Daten zu übergeben, da keine Speicherbereiche (außer dem Speicherbereich, der die Adresse des Wertes enthält) kopiert werden müssen. ■ Call-by-reference kann bei allen höheren Programmiersprachen realisiert werden. Standard ist sie beispielsweise in FORTRAN. In PASCAL oder C++ muss Call-by-reference explizit angegeben werden. ▲ In C gibt es keine Call-by-reference-Parameter. Diese müssen über Zeiger simuliert werden. ● Die Möglichkeit der Auswahl zwischen Call-by-value und Call-by-reference trägt zur Datenintegrität im aufrufenden Programmteil bei. Stack bezeichnet den Speicherbereich zur temporären Speicherung lokaler Variablen in Programmmodulen. Er funktioniert nach dem Prinzip last-in-first-out. Daten werden immer oben auf den Stapel (engl. stack) abgelegt und müssen später in umgekehrter Reihenfolge wieder entfernt werden. Rekursionen sind sich selbst aufrufende Unterprogramme. Sie führen ohne geeignetes Abbruchkriterium zum Programmabsturz (Stack-Überlauf). ● Rekursive Programme können meist durch iterative Algorithmen ersetzt werden. Dies ist jedoch mit großem Aufwand verbunden. ● Rekursionen sind meist wesentlich eleganter als ihr iteratives Pendant. ▲ Enthält ein Programm viele, geschachtelte oder rekursive Aufrufe von Modulen, so werden sukzessive die lokalen Variablen auf dem Stack abgelegt. Ist der Stack zu klein bemessen, so bricht das Programm ab, wenn der Stack voll ist. ● Lokale Datenstrukturen sind notwendige Voraussetzung für modulares Programmieren. Gerade bei größeren Projekten, an denen meist mehr als ein Programmierer arbeitet, muss gewährleistet sein, dass Variablen in einem Modul nicht versehentlich durch gleiche Namen in einem anderen Modul überschrieben werden. Datenkapselung (Encapsulation) ist ein Prinzip zur Erzielung maximaler Datensicherheit und -integrität. Eine Änderung von Variableninhalten ist nur über vom Programmierer eines Programmteils fest definierte Schnittstellen möglich. Jeder direkte Zugriff auf die Variablen von außerhalb des Programmteils ist verboten. ▲ Modulare Programmierung ist ein erster Schritt zur Datenkapselung. Sie versagt jedoch bei Datenstrukturen, die in mehr als einem Modul benötigt werden. ● Der Versuch der konsequenten Realisierung von Datenkapselung führt auf das Prinzip der Objektorientierung.
292
6 Planung und Realisierung von Informationssystemen
6.6.2
Imperativer Programmentwurf
Das Paradigma der imperativen Programmierung bildet die Grundlage der Entwicklung von Programmen mithilfe von Programmiersprachen der dritten Generation: ● Es wird strikt zwischen der Innen- und der Außensicht des Programms getrennt: Während die Außensicht dokumentiert „Was soll gemacht werden?“ bzw. „Welche Aufgabe ist zu lösen?“, beschreibt die Innensicht explizit die Lösungsverfahren einer Aufgabe, d. h. das „Wie löse ich eine Aufgabe?“. ● Bei der imperativen Programmentwicklung wird explizit das Lösungsverfahren einer Aufgabe beschrieben (Innensicht). Dieses Lösungsverfahren besteht aus der Fixierung einer Menge von Aktionen und der Ablaufsteuerung dieser Aktionen. Zur Beherrschung der Komplexität umfangreicher Programme, der Verbesserung der Zuverlässigkeit, zur Erhöhung der Lesbarkeit und der Erleichterung der Wartung der Programme wird das Prinzip der strukturierten Programmierung angewendet. Unter der strukturierten Programmierung wird eine Methode zur Konstruktion hierarchisch organisierter und geordneter modularer Programme unter Benutzung standardisierter Ablaufstrukturen verstanden. ● Strukturierte ablauforientierte Programme weisen folgende Eigenschaften auf: • Die Programme sind in eine Hierarchie von Modulen zerlegt, deren Anordnung durch ihre logischen Ablaufbeziehungen bestimmt ist. • Beim Aufruf eines Moduls erfolgt der Eintritt in diesem Modul an einem einzigen Eingangspunkt und der Austritt an definierten Ausgangspunkten. • Das hierarchisch höhere, aufrufende Modul wartet mit dem Programmfortschritt, bis das aufgerufene Modul beendet ist. • Das hierarchisch niedrigere, aufgerufene Modul gibt die Steuerung nach der Ausführung an das aufrufende Modul zurück. • Die Konstruktion eines Moduls (Strukturblock) ist durch definierte Ablaufstrukturen standardisiert. ▲ Durch die Zerlegung des Gesamtprogrammes in einzelne Module entstehen Strukturblöcke, die wiederum selbst aus einzelnen Strukturblöcken bestehen können. Dabei stellt ein Elementarer Strukturblock einen einzelnen Verarbeitungsschritt dar. Das Nassi-Schneiderman-Diagramm dient zum Entwurf eines imperativen Programms unabhängig von der verwendeten Programmiersprache und verwendet zur Darstellung der Ablaufstruktur ein besonders geeignetes Struktogramm. Die verwendeten Strukturierungssymbole sind: • Elementarer Strukturblock: Wird dargestellt in Form eines Rechtecks, wobei innerhalb des Rechtecks der Verarbeitungsschritt mithilfe eines Pseudocodes angegeben wird. • Sequenz: Abfolge aufeinander folgender elementarer Strukturblöcke. Sie wird durch mehrere übereinander liegende Rechtecke dargestellt. • Alternative oder Verzweigung: Alternative Auswahl von Strukturblöcken, die abhängig von einer Bedingung abgearbeitet werden. In ein oberes Rechteck wird ein mit der Spitze nach unten zeigendes Dreieck eingezeichnet, in das die Bedingung eingetragen wird.
print Ladeplan
6.6 Klassische Realisierungsansätze Abhängig von der Richtigkeit (TRUE,.T.) der Bedingung wird entweder die anschließende Sequenz 1 von Programmschritten oder bei Nichtzutreffen (FALSE,.F.) die Sequenz 2 abgearbeitet. Stehen mehr als zwei Alternativen zur Auswahl, erfolgt die Auswahl der Sequenz über einen Selektor S, der mit den Selektorwerten SW verglichen wird. Dann wird die entsprechende Sequenz Sq ausgeführt. Trifft kein Selektorwert zu, wird die Alternative SO(nst) ausgewählt und die Sequenz (Sq) So(nst) ausgeführt.
• Wiederholung: Soll eine Sequenz von Befehlen mehrmals abgearbeitet werden, bietet sich die Ablaufstruktur Wiederholung an, die auch als Schleife bezeichnet wird. Man unterscheidet drei grundsätzliche Wiederholungstypen: – Die Unbedingte Schleife oder Zählschleife besitzt eine festgelegte Durchlaufzahl. Sie wiederholt eine Sequenz von Befehlen in Abhängigkeit von einer (oder mehreren) Steuervariablen (a,b,c).
For i = a To b Step c z.B. Sequenz
▲ Die Anzahl der Wiederholungen wird hierbei durch den Wert der Steuervariablen bestimmt und ist vor Beginn der Schleife festgelegt. Hierbei wird ein Zähler (i) ausgehend von einem Startwert (a) jeweils um einen Schritt (c) erhöht, bis der Endwert (b) überschritten ist. – Die Schleife mit vorheriger Prüfung oder Kopfschleife findet immer dann Verwendung, wenn die Anzahl der Wiederholungen einer Sequenz von einer beliebigen logischen Bedingung abhängig ist und bereits vor der ersten Durchführung des Schleifenkörpers (z. B. Sequenz) eine Überprüfung möglich ist.
Bedingung z.B. Sequenz
▲ Mithilfe dieser Schleife kann auch die unbedingte Schleife ersetzt werden, wenn der Zähler i vor der Schleife auf a gesetzt wird, als Bedingung das Überschreiten die Grenze b definiert und im Schleifenkörper der Zähler bei jedem Durchlauf um c erhöht wird. – Bei der Schleife mit anschließender Prüfung oder Fußschleife ist die Anzahl der Wiederholungen ebenfalls abhängig von einer Bedingung. Im Gegensatz zur Kopfschleife erfolgt die Prüfung der Bedingung jedoch erst, wenn der Schleifenkörper mindestens einmal durchlaufen ist. ▲ Ihren Einsatz findet die Schleife, wenn garantiert werden soll, dass die Sequenz wenigstens einmal ausgeführt wird, z. B. wenn die Bedingung erst innerhalb des Schleifenkörpers bestimmt wird.
z.B. Sequenz Bedingung
293
294
6 Planung und Realisierung von Informationssystemen
• Das Unterprogramm (Prozeduraufruf oder Funktionsaufruf) dient der Modularisierung der Programme und ist somit ein sehr wichtiges Element der Strukturierten Programmierung. Es ermöglicht die hierarchische Zergliederung eines Programms in einzelne Teilprogramme. ▲ Im Nassi-Schneiderman-Diagramm ist es auch ein Hinweis auf ein weiteres Struktogramm, das die Funktionalität des Unterprogramms abbildet. ● Die einzelnen Elemente des Struktogramms sind miteinander kombinierbar. Ein Struktogramm stellt immer ein vollständiges Rechteck dar. Der oberste Programmschritt wird zuerst bearbeitet und stellt die Einsprungstelle für das aufrufende Modul dar. Das unterste Rechteck stellt das Ende der Sequenz dar, an dem die weitere Steuerung an das aufrufende Oberprogramm zurückgegeben wird. Im Fall des in der Hierarchie am höchsten stehenden Struktogramms spricht man von dem Hauptprogramm, wobei die oberste Zeile den Beginn des Programms darstellt. Am unteren Ende des Hauptprogramms wird das gesamte Hauptprogramm beendet und auf die Betriebssystemebene zurückgekehrt. ■ Nassi-Schneiderman-Diagramm mit verschiedenen Strukturelementen:
6.6.3
Maschinennahe Sprachen
a) Maschinensprachen Maschinensprachen sind die einfachste Form der Programmrepräsentation. Sie bestehen aus binärem Programmcode: ■ zum Beispiel heißt 01011001 „addiere“ Streng genommen stellt diese Maschinensprache keine eigene Sprache dar, insbesondere entfällt die Übersetzung in Maschinencode. Vielmehr wurden diese Programme direkt in maschinenlesbarem Code geschrieben. • Nachteil: Abhängigkeit von der verwendeten Hardware, schlechte Lesbarkeit, Fehleranfälligkeit und Schwierigkeit der Wartung • Vorteil: optimale Ausnutzung der Hardware, höchste Effizienz in Speicherverwaltung und Ablaufgeschwindigkeit ▲ In der betrieblichen Praxis werden heute keine Anwendungen mehr in diesem Maschinencode geschrieben. Es gibt jedoch noch Altprogramme, die zum Teil weiter gepflegt werden.
6.6 Klassische Realisierungsansätze
295
b) Assemblersprachen Auch die Assemblersprachen sind maschinenorientierte Sprachen. Allerdings wurden zur besseren Verständlichkeit die binären Befehle durch mnemotechnische Abkürzungen ersetzt. Beispielsweise heißt der Additionsbefehl „ADD“. Damit der Computer das Programm ausführen kann, bedarf es der Übersetzung des so genannte Quellcodes durch den Assembler in einen maschinenlesbaren Code. ● Da Assembler-Programme optimal hinsichtlich Geschwindigkeit und Speicherplatzausnutzung programmiert werden können, setzt man Assemblersprachen noch heute zur Entwicklung von Systemsoftware oder auch als Unterprogramme für zeitkritische Prozesse in Programmen, die zum größten Teil in einer problemorientierten Programmiersprache codiert sind, ein. ■ Mess- und Regeltechnik
• Vorteil: Hohe Effizienz in Speicherverwaltung und Geschwindigkeit, leichter zu warten als eine Maschinensprache • Nachteil: Wie bei einer Maschinensprache große Schwierigkeiten bei der Portierung auf eine andere Hardware-Umgebung.
6.6.4
Höhere Programmiersprachen
a) Prozedurale problemorientierte Sprachen Eine häufig verwendete Klasse von Programmiersprachen sind die so genannten prozeduralen problemorientierten Programmiersprachen. Diese erlauben die Codierung von Programmen in einer an die Fachsprache des jeweiligen Problembereichs angelehnten und damit maschinenunabhängigen Form. Die Umsetzung des Quellcodes erfolgt mittels eines Übersetzers (Compiler oder Interpreter), der einen maschinenlesbaren Code (Binär-Code) erzeugt. Ein Compiler übersetzt den gesamten Quellcode in einem Durchgang vor der Ausführung und erzeugt ein sofort ablauffähiges Programm. ▲ Die meisten prozeduralen problemorientierten Sprachen verwenden Compiler. ■ C, COBOL, FORTRAN, PASCAL, MODULA Der Interpreter liest den Quellcode bei jeder Ausführung eines Programmes und übersetzt die einzelnen Programmschritte. Dies ist besonders während der Programmentwicklung mit vielen Testläufen von Vorteil, wenn der Programmcode nicht bei jeder kleinen Änderung komplett neu übersetzt werden muss. ■ JAVA, Perl, Control Languages von Betriebssystemen, frühe BASIC-Implementationen ▲ Kompilierte Programme laufen i. Allg. schneller ab als interpretierte. Dafür muss bei jeder Änderung im Programmcode das Programm erneut übersetzt werden. ● Programmcode in Compiler-Sprachen ist zwar im Prinzip auf beliebige Rechnersysteme portierbar, erfordert jedoch stets die Kompilierung, bevor das Programm ausgeführt werden kann. Dies macht Compiler-Sprachen weniger geeignet, wenn verschiedenste Rechner-Plattformen in einem gemeinsamen Netzwerk dieselben Programme ausführen sollen, da in diesem Falle auf jeder Plattform der Code kompiliert werden müsste. Hier sind Interpreter-Sprachen bevorteilt. ■ JAVA ist eine Kombination aus Compiler- und Interpreter-Sprache. Der Quellcode wird von ei-
nem Compiler in einen der Maschinensprache ähnlichen, aber plattformunabhängigen Pseudocode übersetzt. Dieser Pseudo-Code kann dann auf verschiedensten Rechner-Plattformen über die JAVA Virtual Machine mit relativ hoher Geschwindigkeit interpretiert und ausgeführt werden.
296
6 Planung und Realisierung von Informationssystemen
● Verbreitete problemorientierte Programmiersprachen: • BASIC: leicht erlernbar, für Ausbildungszwecke entwickelt, für professionelle umfangreiche Programmentwicklung weniger geeignet. • C: zusammen mit dem Betriebssystem UNIX entwickelt, gestattet relativ maschinennahe Programmierung und damit kurze Programmlaufzeiten, universell einsetzbar, relativ schwer lesbar. • COBOL: für betriebswirtschaftliche Anwendungen am verbreitetsten, für technische oder mathematische Problemstellungen weniger geeignet. • FORTRAN: speziell für technische und mathematische Problemstellungen geeignet, in Sprachumfang und -strukturelementen relativ beschränkt und damit unhandlich. • PASCAL: universell einsetzbar, für Ausbildungszwecke entwickelt, in der professionellen Anwendungsentwicklung weniger verbreitet. • PERL: Interpretersprache mit umfangreichem Befehlsumfang zur Verarbeitung von Zeichenketten. Mischung aus verschiedensten Programmiersprachen (BASIC, C). Besonders auf Betriebsystemebene zur Erstellung von automatischen Befehlsabläufen geeignet. Sehr langsam. Nicht für die Anwendungsprogrammierung geeignet. • MODULA: Weiterentwicklung von PASCAL, reine Lehrsprache, in der Anwendungsentwicklung praktisch nicht verwendet. ▲ Ein Vorteil der prozeduralen problemorientierten Sprachen besteht in deren Standardisierung. Es wird ein von Herstellern und Betriebssystem unabhängiger Standardsprachschatz angestrebt (ANSIStandard). Hält man sich bei der Programmierung daran, ist eine Portierung auf unterschiedliche Betriebsysteme und Hardwareumgebungen mit nur geringen Änderungen möglich. ■ Setzen Programme darüber hinaus nicht auf der Betriebssystemebene auf, sondern verwenden zum Ansprechen der Hardware standardisierte Schnittstellen (bspw. zur Anzeige von Eingabefenstern in einem GUI), so können diese Programme auf verschiedenen Hardwareplattformen verwendet werden, für die diese (Quasi-)Standards implementiert sind. ■ JAVA Virtual Machine, Active-X, OpenWindows, X-Window
● Leider gibt es nur wenige, bei allen Herstellern gleichermaßen anerkannte und unterstützte Standards, da jeder Hersteller sein Produkt favorisiert.
6.6.5
Moderne Realisierungsansätze
a) Deskriptive Sprachen Bei deskriptiven Programmiersprachen muss der Programmierer nicht angeben, WIE ein bestimmtes Problem gelöst werden muss, sondern WAS gelöst werden soll. Der Übersetzer bestimmt dann die konkrete Abfolge von Befehlen (das WIE). ■ Zu den Vertretern der deskriptiven Programmiersprachen gehören insbesondere Abfragesprachen für Datenbanksysteme. • SQL: (Structured Query Language) (Quasi-Standard für relationale Datenbanken) • NATURAL: Sprache für das Datenbanksystem Adabas • ACCESS BASIC: Programmiersprache der PC-Datenbank MS-Access • XBASE: Programmiersprache von zu dBase kompatiblen PC-Datenbanken ■ VisualdBase, FoxPro, Clipper, u. a.
b) Wissensbasierte Sprachen Wissensbasierte Sprachen sind Programmiersprachen, die die Formulierung von Sachverhalten in Form von Regeln ermöglichen.
6.7 Datenbankmanagement auf Basis der relationalen Sprache SQL
297
Regeln sind kausale Beziehungen zwischen komplexen Bedingungen und einer Konklusion. Die Auswertung erfolgt nach der so genannten Horn Regel. ■ Wenn der Auftraggeber bekannt und seine Bonität gesichert ist, dann liefere Ware gegen Rechnung. ▲ Wissensbasierte Sprachen sind ein Teilgebiet der Künstlichen Intelligenz (KI). ■ Zu den Vertretern der wissensbasierten Sprachen zählen: PROLOG (Programmiersprache zur Unterstützung der regelorientierten Programmierung), LISP, SCHEME (stellen spezielle Prozeduren zur Verarbeitung von „Listen“ zur Verfügung).
6.7
Datenbankmanagement auf Basis der relationalen Sprache SQL
SQL (Structured Query Language) ist eine Standardsprache für relationale Datenbanken. ▲ Eine Normierung von SQL erfolgte durch ISO (International Standardization Organization) und ANSI (American National Standards Institute). SQL bildet die Basis aller gängigen Relationalen Datenbankmanagementsysteme (RDBMS). Die Verfügbarkeit von SQL ist entscheidendes Merkmal der „Güte“ eines RDMBS.
a) SQL als Data Definition Language (DDL) Unter einer Data Definition Language (DDL) (synonym: Data Description Language) wird eine Sprache zur Generierung des intensionalen Relationenschemas verstanden. SQL als DDL beinhaltet drei grundlegende Befehle: • Anlegen einer Relation (create): CREATE TABLE (, , ... datentyp_n>) ■ Anlegen einer Relation Auftrag, die aus den Attributen Auftragsnummer, Kundennummer, Datum und Mitarbeiternummer des Kundenbetreuers besteht. SQL> CREATE TABLE AUFTRAG ( auftrag_no number(4) not null, kunden_no number(4), datum date, mitarbeiter_no number(4)); • Ändern des Schemas einer Relation (alter), Hinzufügen oder Ändern eines Attributes: ALTER TABLE ADD/MODIFY (, , ..., ) ■ Hinzufügen des Attributes Position der Relation MITARBEITER SQL> ALTER TABLE MITARBEITER ADD (position char (20) CHECK position in(’Techniker’, ’Kundenbetreuer’, ’Rechnungswesen’)); • Löschen einer Relation (drop): DROP TABLE ■ Löschen der Relation MITARBEITER: SQL> DROP TABLE MITARBEITER;
298
6 Planung und Realisierung von Informationssystemen
Allgemeine Datentypen (datenbankabhängig, hier ORACLE): number(x) ganzzahliger numerischer x-stelliger Wert number(x,y) numerischer Wert mit x − y Vorkomma- und y Nachkommastellen char(x) alphanumerische Zeichenkette mit x Zeichen date Datum Spezielle Zusätze für Datentypen zur Integritätssicherung: not null Attribut muss für jeden Tupel einen Wert haben unique Attribut darf für verschiedene Tupel keine identischen Werte haben primary key not null und unique, sowie Primärschlüssel der Tabelle references sichert Integrität bei Fremdschlüsselbeziehungen check definiert Wertebereiche einer Domäne ■ Beispiele: SQL> CREATE TABLE BANKLEITZAHL (blz number(8) primary key, bankname char (20)); SQL> CREATE TABLE MITARBEITER (pers_nr number(5) primary key, nachname char(20), vorname char(15), geschlecht number(1), strasse char(20), plz number(5), wohnort char(20), blz number(8) references BANKLEITZAHL, abt_nr number(2), gehalt number(7) check (gehalt between 2000 and 1000000));
6.7.1
SQL als Data Manipulation Language (DML)
Eine Data Manipulation Language (DML) dient der Veränderung der extensionalen Datensicht und beinhaltet drei grundlegende Befehle: • Einfügen von Tupeln (INSERT) INSERT INTO VALUES (<wert_1>, <wert_2><, ..., <wert_n>) ■ Einfügen von Tupeln in die Relation MITARBEITER SQL> INSERT INTO MITARBEITER values (79, ’Silcher’, ’Angela’, 2, ’Heiligenstr. 82’, 60054, ’Frankfurt’, 6, 4900, ’Kundenbetreuer’); • Ändern von Tupeln (UPDATE) UPDATE SET = <arithm. Ausdruck> WHERE ■ Aufgrund der guten Leistungen der Abteilung 3 (Debitorenbuchhaltung) erhalten die Mitarbeiter dieser Abteilung 5% mehr Lohn SQL > UPDATE MITARBEITER SET gehalt = gehalt * 1.05 WHERE abt_nr=3; • Löschen von Tupeln (DELETE) SQL> DELETE FROM WHERE ■ Der Mitarbeiter mit der Personalnummer 19 scheidet aus dem Unternehmen aus und wird aus der Relation Mitarbeiter entfernt: SQL> DELETE FROM MITARBEITER WHERE pers_nr=19;
6.7 Datenbankmanagement auf Basis der relationalen Sprache SQL
6.7.2
299
SQL als Query Language (QL)
Eine Query Language (QL) ist eine Abfragesprache zur Extraktion von Daten bzw. Informationen aus der Datenbank. Grundlage ist der Select-Befehl, wobei der einfachste Select-Befehl die vollständige Anzeige aller Tupel einer Relation ist: SQL> SELECT * FROM Grundfunktionen: • Projektion: Auswahl einzelner Spalten (Attribute) aus den Tabellen. Die Projektion generiert aus einer Relation B eine Relation A, indem eine Teilmenge der Attribute der Relation B in A eingehen. SELECT , , ..., FROM ■ Auswahl der Attribute pers_nr, vorname, nachname und gehalt aus der Relation MITARBEITER SQL > SELECT pers_nr, vorname, nachname, gehalt FROM MITARBEITER; ▲ Werden durch eine Projektion mehrere identische Tupel generiert, so sind die identischen Tupel
nach der Relationenlehre zu entfernen. Diese Forderung wird von den meisten RDBMS jedoch nicht unterstützt. SQL> SELECT position FROM MITARBEITER; Falls ein RDBMS nicht automatisch Duplikate entfernt, ist, um wirklich nur die unterschiedlichen Berufe zu erhalten, folgender SQL-Befehl auszuführen: SQL> SELECT DISTINCT(position) FROM MITARBEITER; • Selektion: Auswahl einzelner Zeilen (Datentupel) aus den Tabellen nach gewissen Kriterien. Die Selektion generiert aus einer Relation B eine Relation A durch Bildung einer Teilmenge der Tupel, die einer bestimmten Bedingung genügen: SELECT * FROM WHERE ■ Auswahl aller Mitarbeiter der Abteilung 3 SQL > SELECT * FROM MITARBEITER WHERE abt_nr=3; Weitere Selektionsoperatoren: – Sortieren – Mathematische Funktionsoperatoren – Gruppierung – Logische Operatoren: AND, OR, NOT – Arithmetische Operatoren: =, >, <, >=, <=, ! = ■ Beispiel für die Anwendung logischer und artithmetischer Operatoren: – Auswahl aller Mitarbeiter, die in Abteilung 3 arbeiten und weiblich (geschlecht=2) sind SQL> SELECT * FROM MITARBEITER WHERE abt_nr=3 AND geschlecht=2; – Auswahl aller Mitarbeiter, die entweder in Abteilung 3 oder Abteilung 4 arbeiten SQL> SELECT * FROM MITARBEITER WHERE abt_nr=3 OR abt_nr=4; – Auswahl aller Mitarbeiter, die ein Gehalt zwischen 4000 und 5000 beziehen und weiblich sind, oder die ein Gehalt zwischen 5000 und 6000 beziehen und männlich sind
300
6 Planung und Realisierung von Informationssystemen SQL> SELECT * FROM MITARBEITER WHERE (gehalt>4000 AND gehalt<5000 AND geschlecht=2) OR (gehalt between 5000 and 6000 AND geschlecht=1);
• Join: Der Join-Operator verbindet zwei oder mehr Relationen über Attribute zu einer neuen Relation. Ein Join ist eine Abfrage, die Daten aus mehr als einer Relation zusammensucht und in einer Relation ausgibt: SELECT , , ..., FROM , , ..., WHERE <Join-Bedingung> ▲ Existieren in verschiedenen zu verbindenden Relationen Attribute mit identischem Namen, ist diesen Attributen der Name der zugehörigen Relation (gefolgt von einem Punkt) voranzustellen. ■ Zu den Attributen pers_nr, nachname, vorname, abteilungs_no, gehalt, konto_nr und bankleitzahl sind zusätzlich die Attribute bankname und abteilungsname zu selektieren. SQL> SELECT m.pers_nr, m.nachname, m.vorname, m.abt_nr, a.bezeichnung, m.gehalt, m.konto_nr, m.blz, b.bankname FROM MITARBEITER m, ABTEILUNG a, BANK b WHERE m.abt_nr=a.abt_nr AND.blz=b.blz; ▲ Bei den Bezeichnern a,b und m handelt es sich um so genannte Alias-Namen, unter denen in
diesem Beispiel die Relationen Mitarbeiter, Abteilung und Bank angesprochen werden. • Vereinigung: Aus zwei oder mehr Relationen wird eine Relation gebildet, die die Vereinigungsmenge dieser Relationen bildet.
SELECT <liste von attributwerten> FROM UNION SELECT <liste von attributwerten> FROM ▲ Die Operation Union ist nur für Projektionen von Relationen durchführbar, deren Attribute identische Domänen aufweisen. ■ Neben der uns bereits bekannten Relation Lieferant existiert auch eine Relation Kunde. Zur Einführung eines EDI-Systems werden von allen Geschäftspartnern (Kunden und Lieferanten) die Daten Name, Strasse, PLZ und Ort benötigt. SQL > SELECT lieferantenname, strasse, plz, ort FROM LIEFERANT UNION SELECT kundenname, strasse, plz, ort FROM KUNDE; • Differenz: Differenzmenge aus einer Menge von Relationen. Diese Verknüpfung zweier Relationen wird in einer neuen Relation dargestellt, die alle Zeilen (Tupel) der einen Relation enthält, ohne diejenigen, die auch in der anderen vorhanden sind.
SELECT <liste von attributwerten> FROM MINUS SELECT <liste von attributwerten> FROM
6.7 Datenbankmanagement auf Basis der relationalen Sprache SQL
301
▲ Operation Differenz ist nur für Projektionen von Relationen durchführbar, deren Attribute identische Domänen aufweisen. ■ Selektion aller Lieferanten, die nicht auch Kunden sind. SQL> SELECT lieferantenname, strasse, plz, ort FROM LIEFERANT MINUS SELECT kundenname, strasse, plz, ort FROM KUNDE; • Schnittmenge: Verknüpfung zweier Relationen in einer neuen Relation, die alle Zeilen (Tupel), die sowohl in der einen Relation wie auch in der anderen vorhanden sind, enthält.
SELECT <liste von attributwerten> FROM INTERSECT SELECT <liste von attributwerten> FROM ▲ Die Operation Schnittmenge ist nur für Projektionen von Relationen durchführbar, deren Attribute identische Domänen aufweisen. ■ Die Finanzbuchhaltung benötigt die Daten aller Lieferanten, die auch Kunden sind, um bspw. eine Verrechnung von Soll- und Habenpositionen vorzunehmen: SQL> SELECT lieferantenname, strasse, plz, ort FROM LIEFERANT INTERSECT SELECT kundenname, strasse, plz, ort FROM KUNDE; Spezielle Operatoren: • Sortieren von Datensätzen Am Ende des SELECT-Befehls steht der Zusatz ORDER BY [DESC] ■ Absteigendes Sortieren der Relation Kunde nach dem Namen: SQL > SELECT * FROM KUNDE ORDER BY name DESC; Der Zusatz DESC bewirkt eine Sortierung in absteigender Reihenfolge. • Mathematische Operatoren – Zählen: SELECT COUNT(*) FROM WHERE ■ Anzahl aller Mitarbeiter in der Abteilung mit der Nummer 4: SQL> SELECT COUNT(*) FROM MITARBEITER WHERE abt_nr=4; – Addieren: SELECT SUM() FROM WHERE... ■ Gehaltssumme aller Mitarbeiter: SQL> SELECT SUM(gehalt) FROM MITARBEITER; – Minimum: SELECT MIN() FROM WHERE... ■ Niedrigstes Gehalt aller Mitarbeiter: SQL> SELECT MIN(gehalt) FROM MITARBEITER; – Maximum: SELECT MAX() FROM WHERE... ■ Höchstes Gehalt aller Mitarbeiter: SQL> SELECT MAX(gehalt) FROM MITARBEITER;
302
6 Planung und Realisierung von Informationssystemen – Mittelwert: SELECT AVG() FROM WHERE... ■ Durchschnittsgehalt aller Mitarbeiter: SQL> SELECT AVG(gehalt) FROM MITARBEITER; – Standardabweichung: SELECT STDDEV() FROM WHERE... ■ Standardabweichung der Gehälter aller Mitarbeiter: SQL> SELECT STDDEV(gehalt) FROM MITARBEITER;
Gruppierung von Datensätzen: Group by: Datensätze lassen sich mithilfe der Anweisung GROUP BY nach einem zu spezifizierendem Kriterium gruppieren. SELECT FROM GROUP BY ; ■ Beispielsweise kann eine Aufstellung der Anzahl gestellter Rechnungen pro Datumstag vorgenommen werden. SQL > SELECT datum, COUNT(*) FROM RECHNUNG GROUP BY datum; Spezielle Datenbankoperatoren: Having ■ Ermittlung der durchschnittlichen Gehälter der Berufsgruppen. Aus statistischen Gründen sollen nur Gruppen, die mindestens vier Tupel beinhalten, ausgewertet werden. SQL> SELECT position, AVG(gehalt) FROM MITARBEITER GROUP BY position HAVING COUNT(*) > 4; In, geschachtelte Select-Befehle: ■ Ermittlung der Lieferantennummer und der Namen aller Lieferanten, die das Teil No. 3 bereits geliefert haben. SQL> SELECT lieferanten_no, name FROM LIEFERANT WHERE lieferanten_no IN (SELECT lieferanten_no FROM BESTELLUNG WHERE teil_no=3); ▲ Die Verschachtelung über die In-Klausel kann beliebig tief erfolgen. Exists: ■ Ermittle die Namen der Lieferanten, die alle Teile liefern. SQL> SELECT lieferantenname FROM LIEFERANT l WHERE NOT EXISTS (SELECT * FROM TEILE t WHERE NOT EXISTS (SELECT * FROM BESTELLUNG b WHERE lieferanten_no=l.lieferanten_no AND teile_no=t.teile_no)); Anlegen einer Relation aus bereits in der Datenbank existierenden Daten: Das SQL-Kommando CREATE kann auch zum Anlegen einer Relation aus bereits in der Datenbank existierenden Daten verwendet werden. CREATE TABLE
AS SELECT ... ▲ Der Select-Teil des Create-Kommandos kann dabei alle Basisoperationen wie Projektion, Selektion, Join, Union usw. beinhalten.
6.7 Datenbankmanagement auf Basis der relationalen Sprache SQL
6.7.3
303
Views
Views (Sichten) sind virtuelle Tabellen, in denen die Daten nicht physisch gespeichert werden, sondern der SQL-Befehl zur Erzeugung der View gespeichert wird. Die Generierung der Relation erfolgt dynamisch zur Laufzeit. ● Die Generierung von Views erfolgt analog zur Erzeugung von Relationen: CREATE VIEW AS SELECT ... ■ Um uns den Aufwand eines Joins zu ersparen, wird ein View angelegt: SQL> CREATE VIEW TEST AS SELECT m.pers_nr, m.nachname, m.vorname, m.abt_nr, a. bezeichnung, m.gehalt, m.konto_nr, m.blz, b.bankname FROM MITARBEITER m, ABTEILUNG a, BANK b WHERE m.abt_nr=a.abt_nr AND m.blz=b.blz; Die Abfrage der Daten, die Mitarbeiter, Abteilungsname sowie die komplette Bankverbindung beinhaltet, erfolgt nun einfach über den Befehl: SQL> SELECT * FROM TEST; ▲ Es ist möglich, Views beliebig tief zu schachteln. SQL> CREATE VIEW TEST1 AS SELECT * FROM TEST WHERE abt_nr=3;
6.7.4
Query By Example
Query by Example (QBE) soll eine an Beispielen orientierte grafische Sprache zur Durchführung von Abfragen bereitstellen. ■ Produktbeispiel: QBE ist realisiert worden im Rahmen von QMF von IBM. Vorteil: Der Anwender braucht nicht SQL zu lernen. Nachteil: Diese Sprache ist weniger mächtig im Vergleich zu SQL. Beispielsweise beinhaltet QBE nicht die Möglichkeit der Durchführung einer Abfrage, die ein NOT EXISTS beinhaltet. ■ Bearbeiten der Mitarbeiter-Tabelle: Darstellung der intensionalen Struktur einer Tabelle: SQL>draw MITARBEITER MITARB. Pers_nr Name Vorname Strasse PLZ Wohnort BLZ Abt_nr Gehalt Pos. Projektion: Um die einzelnen Spalten anzeigen zu lassen, wird in den Spalten ein p. (present) eingetragen. Das entsprechende SQL-Statement würde lauten: SQL> SELECT pers_nr, name, vorname, blz, abt_nr FROM MITARBEITER; MITARB. Pers_nr Name Vorname Strasse PLZ Wohnort BLZ Abt_nr Gehalt Pos. p. p. p. p. p. Im Ergebnis werden nur die mit p. ausgezeichneten Spalten angezeigt. Selektion: Zur Selektion wird das Kriterium in der entsprechenden Spalte eingetragen. SQL> SELECT * FROM MITARBEITER WHERE abt_nr=3; MITARB. Pers_nr Name Vorname Strasse PLZ Wohnort BLZ Abt_nr Gehalt Pos. p. p. p. p. p. p. p. p.3 p.
304
6 Planung und Realisierung von Informationssystemen
SQL> SELECT * FROM MITARBEITER WHERE gehalt >4000; MITARB. Pers_nr Name Vorname Strasse PLZ Wohnort BLZ Abt_nr Gehalt Pos. p. p. p. p. p. p. p. p. p.> 4000 Join: Um mehrere Tabellen mittels JOIN zu verknüpfen, wird in den entsprechenden Spalten „_[Ausdruck]“ eingetragen. Der Ausdruck darf nur ein Zeichen lang sein. SQL> SELECT a.pers_nr, a.abt_nr, b.bezeichnung FROM MITARBEITER a, ABTEILUNG b WHERE a.abt_nr=b.abt_nr; MITARB. Pers_nr Name Vorname Strasse PLZ Wohnort BLZ Abt_nr Gehalt Pos. p. p._A p. ( ( ((( (((( ( ( (((( ((( ( ( ( ( (((( (((
ABTEILUNG Abt_nr Bezeichnung _A p. Sortieren: ao. = aufsteigende Sortierung (ascending order) do. = absteigende Sortierung (descending order) SQL> SELECT * FROM MITARBEITER ORDER BY pers_nr; MITARB. Pers_nr Name Vorname Strasse PLZ Wohnort BLZ Abt_nr Gehalt Pos. p.ao. p. p. p. p. p. p.3 p. p. ▲ Bei mehreren zu sortierenden Feldern wird in Klammern die Reihenfolge hinzugefügt, z. B. ao(1) ao(2).
6.7.5
Deskriptive Anwendungsentwicklung
Bei der deskriptiven Anwendungsentwicklung ist (im Idealfall) nur das zu lösende Problem an sich zu spezifizieren. ■ Beispiele: NATURAL, SQL, SQL*Forms ▲ Bei Programmiersprachen der 3. Generation (3GL) (Beispiele: C, COBOL, PASCAL etc.) ist in einem Algorithmus zu spezifizieren, WIE ein Problem zu lösen ist. ▲ Mithilfe der deskriptiven Anwendungsentwicklung lässt sich innerhalb relativ kurzer Zeit ein Prototyp erstellen. ● Ein wichtiges Instrument der deskriptiven Anwendungsentwicklung ist das Konzept der Ereignisorientierung, welches bedeutet, dass Aktionen durch das Auftreten von Ereignissen ausgelöst werden: Ereignis → Aktion ● Für die Menge der möglichen Ereignisse muss festgelegt werden, welche Reaktion auf welches Ereignis folgt. Die Definitionen von Aktionen auf der Basis von Ereignissen erfolgt auf der Basis von Triggern (Auslöser). ■ Beispiele für von Triggern ausgelöste Aktionen (auf Basis von SQL*Forms): • Einfügen (INSERT) • Ändern (UPDATE) • Löschen (DELETE)
6.7 Datenbankmanagement auf Basis der relationalen Sprache SQL
305
● Bei ereignisorientierter Software wird zur Laufzeit vom System ständig überprüft, ob bestimmte Ereignisse eingetreten sind. Ereignis → Auslösung des Triggers ● Der Trigger ist ein kleines Programm, das Ereignisse im IS verarbeitet. Nach Ausführung des Triggers wird die Kontrolle des Systems wieder an die Ereignisabfrage übergeben. ■ Beispiele für Ereignisse und zugehörige Klassen von Triggern: – Datenmanipulationen → Datenmanipulationstrigger – Navigationen des Benutzers in der Anwendung → Navigationstrigger – Betätigung einer Taste → Keytrigger ● Datenmanipulationstrigger: • ON-VALIDATE-FIELD-TRIGGER: Auslösung nach Eingabe in einem Feld • PRE-DELETE-TRIGGER: Auslösung vor dem Löschen eines Tupels • PRE-INSERT-TRIGGER: Auslösung vor dem Einfügen eines Tupels • POST-DELETE-TRIGGER: Auslösung nach Löschen eines Tupels • POST-INSERT-TRIGGER: Auslösung nach dem Einfügen eines Tupels • POST-UPDATE-TRIGGER: Auslösung nach Änderung ■ PRE-DELETE-Trigger: Vor dem Löschen einer Abteilung wird überprüft, ob in den Relationen der Datenbank noch Mitarbeiter in dieser Abteilung existieren. Wenn ja, erfolgt eine Fehlermeldung und die Löschung wird nicht vollzogen. Implementierung des Triggers in PL/SQL: DECLARE anzahl number(3); BEGIN SELECT COUNT(mitarbeiter_nr) INTO anzahl FROM MITARBEITER WHERE abteil_nr=:block.zu_löschende_Abteil_nr; IF anzahl > 0 THEN MESSAGE (’Es sind noch Mitarbeiter in dieser Abteilung!!’); RAISE form_trigger_failure; ELSE commit_form; END IF; END; ▲ PL/SQL ist eine Erweiterung von SQL um prozedurale Komponenten (in Anlehnung an ADA).
PL/SQL beinhaltet prozedurale Konzepte wie IF-ELSE-Klausel und Schleifen (loop). Implementierung in reinem SQL: SELECT ’x’ INTO global.erfolg FROM DUAL WHERE EXISTS (SELECT mitarbeiter_nr FROM MITARBEITER WHERE abteil_nr=:block.zu_löschende_abteil_nr); MESSAGE(’Es sind noch Mitarbeiter in dieser Tabelle!!’); RAISE forms_trigger_failure; EXCEPTION WHEN no_data_found THEN commit_form; ● Navigationstrigger: • PRE-FORM-TRIGGER: Auslösung bevor Maske (Form) gestartet wird • PRE-BLOCK-TRIGGER: Auslösung bevor in einen Block gewechselt wird
306
6 Planung und Realisierung von Informationssystemen • PRE-FIELD-TRIGGER: Auslösung bevor in ein Feld gewechselt wird • POST-BLOCK-TRIGGER: Auslösung nach Verlassen eines Blocks • POST-FIELD-TRIGGER: Auslösung nach Verlassen eines Feldes
■ Beispiel für einen Navigationstrigger: In einer Datenmaske soll vom Anwender in einem Feld eine Kundennummer eingegeben und der entsprechende Kundenname der Tabelle KUNDE angezeigt werden. Für das Feld, in dem die Eingabe erfolgt, wird ein POST-FIELD-Trigger definiert, der den entsprechenden Datensatz mit einem SQLKommando selektiert oder eine Fehlermeldung bringt, falls der Kunde nicht vorhanden ist. Triggerdefinition: SELECT Kundenname INTO BLOCK.name FROM KUNDE WHERE Kund_Nr=:block.nummer EXCEPTION WHEN no_data_found THEN MESSAGE (’Kunde nicht vorhanden’); RAISE form_trigger_failure;
POSTFIELD
POSTFIELD
Schema zur Veranschaulichung der Arbeitsweisen von Triggern ▲ Außer den SQL-Kommandos können in den Triggern von SQL-Forms auch Navigationskommandos verwendet werden. ■ GO_BLOCK (’Blockname’);
GO_FIELD(’Feldname’); NEXT_FIELD; PREVIOUS_FIELD; NEXT_BLOCK; ● Keytrigger werden durch Tastendruck des Benutzers ausgelöst. ■ Aus einer Tabelle mit Abteilungen soll eine Abteilung gelöscht werden: Über eine Taste, die einen Trigger namens KEY-DELREC auslöst, wird der entsprechende Datensatz am Bildschirm gelöscht. Um einem Anwender z. B. die Löschung eines Tupels aus der Tabelle RECHNUNG „zu verbieten“, ist z. B. folgender Trigger zu generieren: Trigger: KEY-DELREC Block: RECHNUNG
6.7 Datenbankmanagement auf Basis der relationalen Sprache SQL
307
Field: null Trigger Style: V3 Show Keys: X Description: null Trigger Text: BEGIN MESSAGE(’Loeschungen nicht möglich!’); RAISE sqlforms.form_trigger_failure; END;
6.7.6
Ausgewählte Probleme relationaler Datenbanken
▲ Große Hochlasttransaktionssysteme laufen i. d. R. auf Basis hierarchischer Datenbanksysteme. Obwohl das Konzept der relationalen Datenbank mehr Flexibilität eröffnet als ältere Datenbankmodelle, erreicht es seine Grenzen (Wenn z. B. innerhalb einer relationalen Datenbank Rückschlüsse von vorhandenen Daten (Beziehungen) auf neue Daten (Beziehungen) abgebildet werden sollen und wenn zeitliche Veränderungen im Sinne eines Versioning dargestellt werden sollen).
Deduktion in RDBMS: Ein deduktives Datenbanksystem ist in der Lage, aus vorhandenen (extensionalen) Fakten neue Fakten abzuleiten. ■ Es seien folgende Fakten gegeben: 1. C ist die Mutter von B. 2. B ist die Mutter von A. Diese Aussagen lassen sich in einem „traditionellen“ relationalen Datenbanksystem mithilfe der Relation MOTHER_OF abbilden: MOTHER DAUGHTER C B B A ▲ In einem deduktiven Datenbanksystem ist es nun zusätzlich möglich, eine Regel einzufügen, die
es erlaubt, aus den gegebenen Fakten das Faktum „C ist die Großmutter von A“ abzuleiten. Eine solche Regel hat die folgende Form: forall x forall y forall z (if mother of (x,y) and mother of (y,z) then grandmother of (x,z)). ● Diese Form von Deduktion lässt sich auch mit Unterstützung eines relationalen Datenbanksystems modellieren. ■ Dazu ist z. B. ein View mit folgendem SQL-Statement zu generieren: SQL > CREATE VIEW GRANDMOTHER_OF (grandmother, granddaughter) AS SELECT m1.mother, m2.daughter FROM MOTHER_OF m1, MOTHER_OF m2 WHERE m1.daughter=m2.mother; ▲ Kommen weitere Fakten hinzu, z. B. „D ist die Mutter von C“, so wird die Herleitung mit SQL
zunehmend komplexer, während mit der regelbasierten Darstellung nur eine einfache Erweiterung der oben angeführten Regel erforderlich ist.
308
6 Planung und Realisierung von Informationssystemen
Abbildung von Zeitabhängigkeiten in RDBMS: ▲ Bei den bisherigen Betrachtungen wurden zeitabhängige Aspekte nicht berücksichtigt. Wir gingen von der impliziten Annahme aus, dass für eine Unternehmung nur Daten/Informationen über den aktuellen Zeitpunkt von Bedeutung sind. ■ Folgende Beispiele zeigen, dass eine Abbildung von Zeitabhängigkeiten durchaus von Bedeutung sein kann: • Einkommen des Mitarbeiters X im Mai 1990. • Seit wann hat eine Unternehmung welche Kunden? • Preise eines Produktes im Jahr 1989. Lösungsansätze zur Abbildung von Zeitabhängigkeiten: 1. Jede Relation erhält zwei zusätzliche Attribute START und ENDE, die den Zeitpunkt des Beginns des Gültigseins eines Tupels und des Endes desselben repräsentieren. Kunden_no Name Anschrift START ENDE 3 Maier A-Str. 1.10.92 4 Schmidt B-Str. 2.10.92 Bei Änderung der Anschrift des Kunden mit No. 3 am 19.10.92 führt das zu folgender Änderung der Relation KUNDE: Kunden_no 3 4 3
Name Maier Schmidt Maier
Anschrift A-Str. B-Str. C-Str.
START ENDE 1.10.92 19.10.92 2.10.92 19.10.92
▲ Die Attribute START und ENDE der Relationen sollen dabei vom RDBMS verwaltet werden, sodass der Anwender sich nicht um das Handling zu kümmern braucht. Der Primärschlüssel der Relation KUNDE setzt sich aus der Kunden_no und dem Attribut START zusammen. ▲ Problem: Unterscheidung zwischen effective time und update time, die auseinanderfallen können. 2. Jede Relation enhält zusätzlich je zwei Attribute START und ENDE für die effective time und die update time. ▲ Problem der Alternativen 1 und 2: Start- und Endzeitpunkte sollten bestimmten Attributen (z. B. Anschrift) zugeordnet werden und nicht ganzen Tupeln, da i. d. R. einzelne Attributwerte und nicht gesamte Tupel Gegenstand von Updates sind. ▲ Dies gilt natürlich nicht bei Löschoperationen.
6.8
Objektorientierte Modellierung: UML
a) Was bedeutet Objektorientierung? Objektorientierung bedeutet das Zusammenführen von Daten und Funktionen in Form von Objekten. ● Ein Objekt besitzt Eigenschaften, das sind Attribute und Operationen, die entweder von außen zugreifbar oder nur innerhalb des Objekts sichtbar sind. Objekte kommunizieren durch den Austausch von Nachrichten miteinander. Eine von einem Objekt empfangene Nachricht löst i. d. R. die Ausführung einer Operation auf dem betreffenden Objekt aus. ● Objektorientierte Entwicklung heißt daher, das zu realisierende System als eine Menge kommunizierender Objekte zu modellieren und zu implementieren.
6.8 Objektorientierte Modellierung: UML
309
Der Einsatz objektorientierter Konzepte wurde in den späten 60er Jahren bereits mit SIMULA verwirklicht. Während aber SIMULA noch in erster Linie für die Entwicklung von Simulationssoftware eingesetzt wurde und daher unverdientermaßen einen geringen Verbreitungsgrad hatte, ist der Siegeszug der objektorientierten Nachfolgesprachen, allen voran Smalltalk, C++ und Java, bereits Geschichte. Zu den Wurzeln der Objektorientierung gehören aber auch die Bereiche des Artificial Intelligence und der Datenbanksysteme. Innerhalb der Artificial Intelligence-Forschung sind es vor allem die Wissensrepräsentation mit Sprachen wie KL-ONE, die als Vorläufer der Objektorientierung gelten. Im Bereich der Datenbanksysteme sind es vor allem die Konzepte der (semantischen) Datenmodellierung, wie z. B. Aggregation und Generalisierung (vgl. Entity-Relationship-Modell in Abschnitt 6.4), die sich in den objektorientierten Konzepten wiederfinden.
b) Was bedeutet objektorientierte Modellierung? Objektorientierte Modellierung bedeutet, ausgehend von der Problemstellung, den Problembereich (universe of discourse) als eine Menge kommunizierender und interagierender Objekte zu beschreiben, die sukzessive in den Lösungsbereich, d. h. in das zu implementierende System, überführt werden. Dabei umfasst objektorientierte Modellierung sowohl die frühen Phasen der Software-Entwicklung wie Anforderungsbeschreibung und Analyse, als auch die späten Phasen wie Systementwurf und Detailentwurf (vgl. auch Planungs-, Definitions- und Entwurfsphase des Phasenkonzepts in Abschnitt 6.1). ▲ Der entscheidende Vorteil der objektorientierten Modellierung gegenüber der traditionellen strukturierten Analyse und des strukturierten Entwurfs ist dabei die Durchgängigkeit der Konzepte. Das heißt, Objekte und ihre Eigenschaften werden im Problembereich identifiziert, mithilfe einer Modellierungssprache modelliert, im Laufe des Entwicklungsfortschritts verfeinert und schließlich in einer (idealerweise) objektorientierten Implementierungsumgebung (Sprache, Datenbanksystem, Middleware etc.) umgesetzt.
c) Warum UML? Bis Mitte der 90er-Jahre waren weit über ein Dutzend objektorientierter Modellierungsmethoden am Markt erhältlich. Abhängig von der Vergangenheit der jeweiligen Entwickler hatten die Methoden einen starken Datenmodellierungs- oder Programmiersprachenbezug. Die Hauptvertreter waren: • OMT von Rumbaugh et al., • die Booch-Methode und • OOSE von Jacobson. ▲ OMT war ein klarer Vertreter der ersten Gruppe mit enger Verbindung zur Datenmodellierung. Die Entwickler von OMT wollten vor allem die Modellierung von komplexen Objekten im Sinne einer objektorientierten Erweiterung des Entity-Relationship-Modells (vgl. Abschnitt 6.4) unterstützen. ▲ Die Booch-Methode hatte aufgrund ihrer Ada-nahen Vergangenheit einen starken Bezug zur dynamischen Modellierung und zu Programmiersprachenkonzepten. Sie ist besonders zur Modellierung von Echtzeitsystemen und nebenläufigen Systemen geeignet. ▲ OOSE schließlich fiel etwas aus dieser Klassifikation heraus, indem es als der Vertreter der Skandinavischen Schule angesehen werden kann, bei der die Modellierung und die Simulation von Vorgängen der realen Welt im Vordergrund stehen. OOSE wurde ursprünglich zur Modellierung von Telekommunikationssystemen entwickelt und wies daher einen engen Bezug zu den dort eingesetzten Modellierungstechniken auf. Um die Aufgaben der objektorientierten Modellierung nicht durch eine reine Notationsdiskussion zu überfrachten, hatte die OMG (Object Management Group), das wichtigste Standardisierungsgremium für objektorientierte Entwicklung, im Jahre 1996 einen Aufruf zur Spezifikation eines Modellierungsstandards
310
6 Planung und Realisierung von Informationssystemen
erlassen. Booch, Jacobson und Rumbaugh arbeiteten zu diesem Zeitpunkt bereits an einer Vereinheitlichung ihrer Ansätze. Deren Vorschlag wurde am 17.11.1997 als Unified Modeling Language (UML) in der Version 1.1 von der OMG als Modellierungsstandard akzeptiert. Zurzeit (Sommer 2000) existiert UML in der Version 1.3, deren Konzepte auf den folgenden Seiten beschrieben werden. ● UML ist eine grafische Modellierungssprache zum Spezifizieren, Konstruieren, Visualisieren und Dokumentieren von Softwaresystemen. ▲ Ein solches System wird nicht „in einem Wurf“ entwickelt, sondern im Verlauf eines Entwicklungsprozesses stufenweise verfeinert und aufgebaut. Die dabei entstehenden grafischen Repräsentationen beschreiben auf vorgegebenen Abstraktionsniveaus einen bestimmten Aspekt des Problembereichs oder des zu realisierenden Systems, wie z. B. die involvierten Objekte und ihre Beziehungen zueinander, die Interaktionen zwischen den Objekten und die Verteilung auf unterschiedliche Rechner. ▲ Diese Diagramme bieten auch Hilfestellung bei der Kommunikation zwischen Entwicklern und Kunden und den Entwicklern untereinander. Die Softwaretechnik folgt damit dem guten Beispiel anderer technischer Disziplinen, wie z. B. der Elektrotechnik und der Architektur, die sich längst grafischer Modellierungssprachen bedienen. So folgt der Schaltplan eines Videorecorders und der Plan eines Hauses einer international standardisierten Syntax und Semantik und ist damit „für jedermann“ lesbar. ● In diesem Sinn ist UML die „Lingua franca“ der objektorientierten Software-Entwicklung, indem es als Modellierungssprache dem Entwickler wesentliche Modellierungskonzepte und eine intuitive grafische Repräsentation derselben für die Konstruktion objektorientierter Softwaresysteme in die Hand gibt. UML unterscheidet acht Diagrammarten: • Anwendungsfalldiagramm • Klassendiagramm • Sequenzdiagramm • Kollaborationsdiagramm • Zustandsdiagramm • Aktivitätsdiagramm • Komponentendiagramm • Verteilungsdiagramm ▲ Während das Anwendungsfalldiagramm und das Klassendiagramm die statische Struktur des
zu entwickelnden Systems beschreiben, werden die vier Diagramme Sequenzdiagramm, Kollaborationsdiagramm, Zustandsdiagramm und Aktivitätsdiagramm zur Darstellung der dynamischen Struktur herangezogen. Komponentendiagramm und Verteilungsdiagramm werden auch als Implementierungsdiagramme bezeichnet, da sie zur Visualisierung der Hardware- und Softwaretopologie auf der Ebene der Implementierung dienen. ▲ Welche Diagramme bei der Entwicklung eines Softwaresystems konstruiert werden, hängt nicht zuletzt auch von der Art des zu entwickelnden Systems und vom zugrunde liegenden Entwicklungsprozess ab. Von der UML wird kein Entwicklungsprozess vorgeschrieben, vielmehr ist UML mit jedem beliebigen Entwicklungsprozess kombinierbar (so z. B. mit dem Phasenkonzept aus Abschnitt 6.1). ■ Die acht Diagramme von UML werden hier anhand der Entwicklung eines Bibliothekssystems vorgestellt. Mit dem Bibliothekssystem sollen so unterschiedliche Werke wie Bücher, CD-ROMs und Zeitschriften sowohl beschafft als auch entliehen werden können.
d) Anwendungsfalldiagramm (Use Case Diagram) Auch wenn in der objektorientierten Entwicklung die identifizierten Objekte, ihre Beziehungen zueinander und ihre Interaktionen im Mittelpunkt stehen, so ist für den Auftraggeber und Benutzer eines IS die Funktionalität dieses Systems am wichtigsten, wie auch immer diese Funktionalität realisiert wird.
6.8 Objektorientierte Modellierung: UML
311
● Das Anwendungsfalldiagramm dient zur Beschreibung der geforderten Funktionalität des zu entwickelnden Gesamtsystems in den frühen Phasen der Software-Entwicklung. Es besteht aus einer Menge von Anwendungsfällen und Schnittstellen zur Außenwelt in Form von kommunizierenden Akteuren. ● Ein Anwendungsfall (use case) beschreibt ein bestimmtes Verhalten, das von dem zu entwickelnden System erwartet wird. Er wird durch eine mit dem Namen des Anwendungsfalls beschriftete Ellipse dargestellt. Alle Anwendungsfälle zusammen machen die Funktionalität des Gesamtsystems aus. Wer mit dem System interagieren soll, wird durch Akteure festgelegt. ● Akteure (actors) stehen klar außerhalb des Systems. Sie benutzen das System, indem sie die Ausführung von Anwendungsfällen initiieren, oder sie werden vom System benutzt, indem sie selbst Funktionalität zur Realisierung einzelner Anwendungsfälle zur Verfügung stellen. UML kennt für Akteure zwei Darstellungsformen: Ein Rechteck, das mit dem Namen des Akteurs und dem Schlüsselwort actor beschriftet ist oder die piktografische Darstellung in Form eines beschrifteten Strichmännchens. ■ Anwendungsfalldiagramm Beschaffung: Das zu realisierende Bibliothekssystem muss sowohl die Beschaffung von neuen Werken als auch die Entleihung von Werken unterstützen. Aus Platzgründen wird im Anwendungsfalldiagramm nur die Beschaffung näher spezifiziert. Zur Beschaffung gehören die Anwendungsfälle Werk bestellen, Verlag erfassen, sofern dieser dem System noch nicht bekannt ist, Lieferung bearbeiten und das erworbene Werk beschlagworten. Die Beschaffung wird von einem Bediensteten der Bibliothek durchgeführt, der sich des Systems bedient (Akteur Bediensteter). Zur Beschlagwortung wird auch das Fachwissen eines Fachvertreters herangezogen (Akteur Fachvertreter). Beim Bearbeiten der Lieferung gibt es Tätigkeiten, die von der Art des Werks unabhängig sind (z. B. Eingang bestätigen), und werkspezifische Tätigkeiten. Letztere werden in den spezialisierten Anwendungsfällen Zeitschrift bearbeiten, Zeitschriftenausgabe bearbeiten, Buch bearbeiten und CD-ROM bearbeiten behandelt.
Da bei der Modellierung zwischen menschlichen und nicht menschlichen Akteuren unterschieden werden kann, gilt als Konvention, dass die Strichmännchendarstellung für menschliche Akteure (vgl. Bediensteter im Anwendungsfalldiagramm) und die Rechtecksdarstellung für nicht menschliche Akteure (vgl. Drucker im Sequenzdiagramm) verwendet wird. ● Ein Schlüsselwort (keyword) dient der textuellen Differenzierung von UML-Konstrukten, z. B. Klassen, Interfaces und Akteure, die alle durch dasselbe grafische Symbol (in diesem Fall ein Rechteck)
312
6 Planung und Realisierung von Informationssystemen
dargestellt werden. Um sie zu unterscheiden, wird außer bei Klassen ein Schlüsselwort in doppelten Spitzklammern ( . . . ) neben dem Namen des jeweiligen UML-Konstrukts vermerkt. Jeder Akteur muss mindestens eine Kommunikationsbeziehung zu einem Anwendungsfall haben, er kann aber auch mit mehreren Anwendungsfällen kommunizieren. ● Eine Kommunikationsbeziehung (communication relationship) wird zwischen genau einem Akteur und genau einem Anwendungsfall spezifiziert und ist ungerichtet, d. h. die Kommunikation kann in beiden Richtungen erfolgen. Darüber hinaus können Anwendungsfälle auch untereinander in Beziehung stehen, wobei man drei Beziehungsarten unterscheidet. ● Die include-Beziehung (include relationship) ist eine gerichtete Beziehung zwischen zwei Anwendungsfällen und besagt, dass das Verhalten vom zu inkludierenden Anwendungsfall in den inkludierenden Anwendungsfall eingefügt wird (entspricht einem Unterprogrammaufruf in der prozeduralen Programmierung). Die include-Beziehung wird durch einen gestrichelten Abhängigkeitspfeil dargestellt, der mit dem Schlüsselwort include beschriftet ist. Streng genommen müsste man daher von einer „include-Abhängigkeit“ reden, doch hat sich der Begriff der Beziehung in diesem Kontext in der Literatur durchgesetzt. Dies ist auch insofern korrekt, als in UML eine Abhängigkeit eine spezielle Form einer Beziehung darstellt. ● Die extend-Beziehung (extend relationship) ist ebenfalls eine gerichtete Beziehung zwischen zwei Anwendungsfällen und besagt, dass das Verhalten des erweiternden Anwendungsfalls in den zu erweiternden Anwendungsfall eingefügt werden kann (aber nicht muss!), vorausgesetzt, dass eine etwaig spezifizierte Bedingung erfüllt ist. Die extend-Beziehung wird durch einen mit dem Schlüsselwort extend beschrifteten Abhängigkeitspfeil dargestellt. Die Bedingung (condition) wird in eckigen Klammern ebenfalls zur extend-Beziehung vermerkt. Für jede extend-Beziehung können außerdem eine oder mehrere Erweiterungsstellen (extension points) im zu erweiternden Anwendungsfall definiert werden, die angeben, wo der erweiternde Anwendungsfall einzufügen ist. ● Bei der Generalisierungsbeziehung (generalisation relationship) erbt ein Anwendungsfall das gesamte Verhalten inklusive Kommunikationsbeziehungen von einem anderen Anwendungsfall, wobei er das geerbte Verhalten verändern und ergänzen kann. Die Generalisierung wird durch einen Pfeil mit einem nicht ausgefüllten gleichseitigen Dreieck als Spitze notiert, der von dem spezielleren zum generischeren Konstrukt führt. Generalisierungsbeziehungen können nicht nur zwischen Anwendungsfällen, sondern z. B. auch zwischen Klassen und zwischen Paketen spezifiziert werden (siehe auch weiter unten). UML erlaubt es, UML-Konstrukte durch so genannte Eigenschaften näher zu beschreiben. ● Eine Eigenschaft (property) ist entweder vordefiniert oder benutzerdefiniert und wird in geschwungenen Klammern neben dem Namen des betroffenen Konstrukts angeführt. ● Werden identische Teilaspekte von unterschiedlichen Anwendungsfällen in einem eigenen Anwendungsfall zusammengefasst, der aber für sich genommen keine ausführbare Funktionalität darstellt, so spricht man von einem abstrakten Anwendungsfall (abstract use case). Ein solcher wird durch Angabe der vordefinierten Eigenschaft {abstract} modelliert. ■ Ein Beispiel für einen abstrakten Anwendungsfall ist Lieferung bearbeiten im Anwendungsfalldiagramm Beschaffung).
e) Paket (Package) Für nichttriviale Problemstellungen können die einzelnen Diagramme schnell sehr unübersichtlich werden. Für solche Fälle kennt UML den Abstraktions- bzw. Strukturierungsmechanismus des Pakets.
6.8 Objektorientierte Modellierung: UML
313
● Ein Paket ermöglicht es, eine beliebige Anzahl von UML-Konstrukten und -Diagrammen zu gruppieren und davon zu abstrahieren. Dabei können Pakete selbst wieder Pakete beinhalten. Ein Paket wird in UML durch ein Rechteck mit aufgesetztem kleinen Rechteck dargestellt („Karteikarte mit Reiter“). Wird der Paketinhalt nicht gezeigt, so steht der Paketname innerhalb des großen Rechtecks. Wird der Paketinhalt dargestellt, so steht der Paketname im Reiter. ■ Paket Bibliotheksverwaltung: Das gesamte zu realisierende Bibliothekssystem wird als Paket Bibliotheksverwaltung mit dem vordefinierten Stereotyp systemModel modelliert und enthält alle für die Beschreibung des zu implementierenden Systems relevanten Informationen. Dieses spezielle Paket ist die Wurzel aller geschachtelten Pakethierarchien eines Systems. Es ist das einzige Konstrukt in UML, das selbst nicht als Teil eines anderen Konstrukts auftreten muss. Im Beispiel enthält das Paket Bibliotheksverwaltung die beiden Pakete Entlehnung und Beschaffung. Das Paket Beschaffung besteht u. a. aus jenem Teil des Anwendungsfalldiagramms, der im vorangegangenen Beispiel diskutiert wurde. Im Paket Entlehnung wiederum sind alle jene Informationen gekapselt, die den Entleihvorgang genauer spezifizieren.
Die im Beispiel vorkommenden Stereotypen stellen einen Erweiterungsmechanismus in UML dar. ● Ein Stereotyp (stereotype) ermöglicht die Kategorisierung von UML-Elementen. Ein Stereotyp wird textuell durch ein Schlüsselwort (s. o.) oder grafisch durch ein Piktogramm repräsentiert. Bezüglich der textuellen Darstellung wird der Name des Stereotyps in doppelten Spitzklammern (. . . ) in der Nähe des Namens des betroffenen UML-Elements angegeben. ■ Das Paket Bibliotheksverwaltung wird durch den vordefinierte Stereotyp Paketkategorie Systemmodell zugeordnet.
systemModel
der
Damit der Paketinhalt in kontrollierter Weise von außen sichtbar und damit auch zugreifbar wird, werden Sichtbarkeiten der einzelnen Elemente und Beziehungen zwischen den Paketen festgelegt. ● Die Sichtbarkeit (visibility) wird als Präfix zum Namen des betreffenden Elements hinzugefügt. Sie gibt die Sichtbarkeit des Elements außerhalb seines umschließenden Pakets an: • + . . . öffentlich sichtbar, • # . . . geschützt sichtbar, d. h. nur für erbende Pakete sichtbar, • – . . . außerhalb des Pakets nicht sichtbar („privat sichtbar“). Bei den Beziehungen zwischen Paketen unterscheidet man die Genehmigungsabhängigkeit und die Generalisierungsbeziehung. ● Die Genehmigungsabhängigkeit (permission dependency) eines Pakets von einem anderen Paket impliziert, dass die Elemente des ersten, „abhängigen“ Pakets alle Elemente mit ausreichender Sichtbarkeit des zweiten, „unabhängigen“ Pakets referenzieren können. Die Genehmigungsabhängigkeit existiert in zwei Ausprägungen und wird durch einen Abhängigkeitspfeil mit den Stereotypen access bzw. import von einem Paket zu einem anderen zum Ausdruck gebracht. ● Die Generalisierungsbeziehung (generalisation relationship) von einem Paket zu einem anderen bedeutet, dass ersteres alle öffentlich und geschützt sichtbaren Elemente des zweiten Pakets erbt und diese dann wie seine eigenen Elemente referenzieren kann.
314
6 Planung und Realisierung von Informationssystemen
f) Klassendiagramm (Static Structure Diagram, Class Diagram) ● Das Klassendiagramm zeigt im Wesentlichen Klassen und deren Beziehungen, kann allerdings auch einige andere „klassenähnliche“ Konstrukte enthalten (Interfaces, Klassenschablonen, Typen, Referenzen auf Entwurfsmuster u. v. m.). Darüber hinaus können auch konkrete Instanzierungen, also Objekte und Objektbeziehungen repräsentiert werden, um bestimmte Sachverhalte exemplarisch zu illustrieren. Aufgrund dieser Mannigfaltigkeit lautet die offizielle Bezeichnung des Klassendiagramms in UML „static structure diagram“. ■ Ausschnitt aus einem Klassendiagramm für das Bibliothekssystem (Detaillierungsniveau gemäß einer frühen Phase des Software-Entwicklungsprozesses):
● Eine Klasse (class) definiert die strukturellen Eigenschaften (Attribute) und das Verhalten (Operationen) einer Menge gleichartiger Objekte (Instanzen der Klasse). Das Rechtecksymbol für eine Klasse ist in Abschnitte untergliedert. Mit Ausnahme des obersten dürfen alle Abschnitte fehlen. Im obersten Abschnitt sind der Name und optional allgemeine Charakteristika der Klasse vermerkt (Stereotyp textuell oder als Piktogramm, Eigenschaftsangaben in geschwungenen Klammern), der zweite Abschnitt enthält die Attribute und der dritte Abschnitt die Operationen. Weitere Abschnitte mit frei wählbarer Semantik sind zulässig. ● Eine abstrakte Klasse (abstract class) ist eine Klasse, die nicht instanziert werden kann. Sie wird durch die Eigenschaftsangabe {abstract} charakterisiert. Alternativ zur Angabe von {abstract} kann eine abstrakte Klasse auch durch Notierung des Klassennamens in Kursivschrift gekennzeichnet werden. ■ Werk ist im Gegensatz zu CDROM, Buch und Zeitschriftenausgabe nicht instanzierbar und daher als abstract markiert.
6.8 Objektorientierte Modellierung: UML
315
● Ein Attribut (attribute) ist ein Datenelement, über das jedes Objekt der entsprechenden Klasse verfügt. Falls es für jedes Objekt einen individuellen Wert aufweisen kann, spricht man genauer von einem Instanzattribut, teilen sich alle Objekte einer Klasse denselben Wert des Attributs, handelt es sich um ein Klassenattribut. Ein Attribut wird durch seinen Namen definiert. Zusätzliche optionale Angaben umfassen den Datentyp, die Multiplizität (im Standardfall 1), den Initialwert und die Sichtbarkeit (public oder + für öffentliche Sichtbarkeit, private oder – für private Sichtbarkeit, protected oder # für geschützte Sichtbarkeit). Abgeleitete (berechenbare) Attribute werden durch einen vorangestellten Schrägstrich markiert. Am Ende der Spezifikation kann dem Attribut eine Liste mit Eigenschaftsangaben hinzugefügt werden. Klassenattribute werden in UML unterstrichen. ■ Die Klasse Entlehnung verfügt u. a. über das Attribut dauer vom Datentyp Integer mit dem Initialwert 30. ■ Eine vollständigere Attributspezifikation aus einer späteren Phase des Software-Entwicklungsprozesses, um barcode aus der Klasse Werk als geschütztes, optionales (Multiplizität 0 oder 1) Integer-Attribut zu definieren, für das ein einmal zugewiesener Wert nicht mehr verändert werden darf (Eigenschaft {frozen}), würde lauten: # barcode[0..1]: Integer {frozen} ● Eine Operation (operation) stellt eine Dienstleistung dar, die von einem anderen Objekt durch eine Nachricht angefordert werden kann. Operationen werden durch Methoden implementiert. Eine Operation aus dem dritten Abschnitt des Klassensymbols wird ähnlich einem Attribut durch Sichtbarkeit, Name, und Eigenschaftsangaben spezifiziert, wobei zusätzlich eine (eventuell leere) Parameterliste angegeben werden muss. Je Parameter sind folgende Angaben möglich: Name, Datentyp, Datenflussrichtung (in, out, inout) und Standardwert. Nach der Parameterliste kann der Ergebnistyp der Operation angegeben werden. Klassenoperationen, das sind solche, die auf der jeweiligen Klasse ausgefürt werden und für alle Instanzen dieser Klasse dasselbe Ergebnis liefern, werden von Instanzoperationen durch Unterstreichen unterschieden. ■ Die Klassenoperation identifizieren(k:String):Werk der Klasse Werk sucht aus allen Instanzen der Klasse Werk jene mit dem Schlüssel k und gibt diese zurück. ● Eine abstrakte Operation (abstract operation) ist eine Operation einer abstrakten Klasse, deren Implementation an eine Unterklasse (s. u.) delegiert wird. Eine abstrakte Operation wird durch die Eigenschaftsangabe {abstract} definiert. Alternativ dazu kann die Signatur der Operation auch kursiv gesetzt werden. ● Ein Interface (interface) ähnelt einer Klasse, kann aber lediglich Operationen, Generalisierungsbeziehungen und allenfalls hinführende unidirektionale Assoziationen aufweisen. Es spezifiziert durch die Vereinbarung von Operationen gewünschtes Verhalten, das es aber selbst nicht implementiert. Dazu bedarf es „echter“ Klassen, die mit dem Interface in einer so genannten Realisierungsbeziehung (eine Art Abhängigkeit, s. u.) stehen. Ein Interface wird durch ein Klassensymbol notiert, das i. Allg. lediglich den Namensabschnitt (mit dem Schlüsselwort interface versehen) und Operationssignaturen aufweist. ■ Die Klasse Entlehnung benutzt das Interface KannDrucken, das vom Akteur Drucker angeboten wird. Dadurch wird die Klasse von der konkreten Wahl des Akteurs entkoppelt. Notizen bieten generell die Möglichkeit, UML-Diagramme verbal zu erläutern. Ihre Verwendung ist nicht auf Klassendiagramme beschränkt. ● Eine Notiz (note) wird durch Rechteck mit Eselsohr dargestellt und durch eine gestrichelte Linie mit dem beschriebenen Modellelement verbunden. Als Inhalte von Notizen sind z. B. Kommentare, Einschränkungen oder Programmcode denkbar.
316
6 Planung und Realisierung von Informationssystemen
Im obigen Beispiel-Klassendiagramm finden sich zwei Notizen, die jeweils eine Einschränkung enthalten. Diese Einschränkungen sind in OCL (Object Constraint Language) formuliert, die es als Teil des UMLStandards erlaubt, semantische Zusatzbedingungen zu definieren. ● Eine Assoziation (association) beschreibt gleichartige Beziehungen zwischen Objekten als Beziehung zwischen den zugehörigen Klassen. Binäre (zweistellige) Assoziationen werden durch einfache Verbindungslinien (Kanten) zwischen den beteiligten Klassen dargestellt. Folgende zusätzliche Angaben sind u. a. möglich: Name der Assoziation (eventuell mit Angabe der Leserichtung durch ein schwarzes gleichseitiges Dreieck), Bezeichnung der Rollen, welche die beteiligten Objekte im Rahmen der Beziehung spielen sowie Multiplizitäten der einzelnen Rollen (erlaubte Anzahl von „Partnerobjekten“ des beteiligten Objekts). Assoziationskanten können auch gerichtet sein, um explizit anzugeben, in welche Richtung die Navigation von einem Objekt zu seinem Partnerobjekt erfolgen kann. Ungerichtete Kanten signalisieren „keine Angabe über Navigationsmöglichkeiten“. ■ Die Assoziation zwischen den Klassen Schlagwort und Werk heißt klassifiziert. Sie wird von Schlagwort nach Werk gelesen („Ein Schlagwort klassifiziert ein Werk“). Die Multiplizität ihrer beiden (unbenannten) Rollen ist jeweils „*“, was dem Intervall [0..∞) entspricht. ■ Zwischen Werk und Person bestehen zwei unbenannte Assoziationen, die einem Werk eine Reihe von Personen als Autoren bzw. als Herausgeber zuordnen (vgl. die beiden Assoziationsrollen). Gemäß einer der Klasse Werk zugeordneten Einschränkung werden im gegenständlichen System entweder Autoren oder Herausgeber zugeordnet, jedoch nicht beides gleichzeitig. ■ Die Assoziation verlegt zwischen Verlag und Werk kann im Bibliothekssystem nur in einer Richtung verfolgt (navigiert) werden: Der Zugriff von einem Werk zu seinem Verlag wird unterstützt, der Zugriff auf alle Werke eines bestimmten Verlags hingegen nicht. ● Bei einer qualifizierten Assoziation (qualified association) wird die Menge der Objektbeziehungen durch qualifizierende Attribute in disjunkte Teilmengen zerlegt. ■ Eine CD-ROM kann nicht nur als eigenständiges Werk, sondern auch als Beilage zu einem Buch verwaltet werden. Ein solches Buch kann mehrere CD-ROM-Beilagen aufweisen, durch das qualifizierende Attribut lfdNr wird die Multiplizität bei CDROM jedoch auf maximal eins reduziert: Einer Buchinstanz und einem bestimmten Wert für lfdNr ist genau eine CD-ROM zugeordnet (die Null ist nötig, da viele Bücher gar keine CD-ROM besitzen). ● Eine Assoziationsklasse (association class) ist einer Assoziation zugeordnet. Auf Ausprägungsebene entsprechen die Objekte einer Assoziationsklasse einzelnen Objektbeziehungen. Diese Beziehungen werden durch die Attribute der Assoziationsklasse näher beschrieben. Eine Assoziationsklasse wird durch ein eigenes Klassensymbol notiert, das durch eine gestrichelte Linie mit der entsprechenden Assoziationskante verbunden ist. ■ Die Beziehung zwischen Werk und Entlehner wird als Assoziationsklasse Entlehnung modelliert, deren Attribute einen konkreten Entleihfall charakterisieren. ● Eine mehrstellige Assoziation (n-ary association) beschreibt eine Beziehung zwischen mehr als zwei Partnerobjekten. Sie wird durch eine Raute dargestellt, die mit allen Klassen, die an der Assoziation teilnehmen, durch eine Kante verbunden ist. Der Assoziationsname wird in der Umgebung der Raute notiert. ● Die Aggregation (aggregation, part-of relationship) ist ein Spezialfall der allgemeinen Assoziation. Sie wird auch „Teile-Ganzes-Beziehung“ genannt und stellt eine asymmetrische Beziehung zwischen nicht gleichwertigen Partnern dar. Bei Vorliegen einer Aggregation wird jenes Ende der Assoziationskante, das zur Aggregatklasse, also „zum Ganzen“ hinführt, durch eine kleine (nicht ausgefüllte) Raute markiert.
6.8 Objektorientierte Modellierung: UML
317
■ Ein Buch-Objekt kann (u. a.) aus mehreren CDROM-Beilagen bestehen, die durch das qualifizierende Attribut lfdNr durchnummeriert werden. ● Die Komposition (composition) stellt eine spezielle, strengere Form der Aggregation dar, die durch eine ausgefüllte Aggregationsraute notiert wird. In der Kompositionsbeziehung gelten folgende Einschränkungen für die beteiligten Instanzen: • Ein Teil darf „Kompositionsteil“ höchstens eines Ganzen sein. • Ein Teil existiert höchstens so lange wie sein Ganzes. • Viele Operationen des Ganzen werden an seine Teile propagiert, typischerweise Kopier- und Löschoperationen. ■ Eine Zeitschrift „besteht aus“ ihren einzelnen Ausgaben, letztere können ohne die Zeitschrift nicht existieren. ● Die Generalisierung (generalization, is-a-Beziehung) stellt eine taxonomische Beziehung zwischen einer spezialisierten Klasse (Unter- oder Subklasse) und einer allgemeineren Klasse (Ober-, Basisoder Superklasse) dar, wobei die Subklasse die Charakteristika (Attribute, Operationen, Assoziationen) der Superklasse erbt (Eigenschaftsvererbung) und weitere Charakteristika hinzufügen kann, sowie geerbte Operationen anpassen kann. Die Generalisierung wird durch einen Pfeil mit einem gleichseitigen Dreieck als Spitze notiert, der von der Subklasse zur Superklasse führt. Mehrere Generalisierungspfeile, die zur selben Superklasse führen, können zu einem „Mehrfachpfeil“ verschmelzen. Diese Darstellungsvariante ist semantisch äquivalent zur entsprechenden Menge von Einzelpfeilen. ■ Die Klassen CDROM, Buch und ZeitschriftenAusgabe werden zur abstrakten Klasse Werk generalisiert. Sie verfügen durch Vererbung über die Attribute titel, jahr und barcode sowie über die Operationen klassifizieren, swEntfernen (zum Hinzufügen und Entfernen von Schlagwörtern) und identifizieren. Die Generalisierungsbeziehung kann durch Angabe von Einschränkungen in unmittelbarer Nähe der Pfeilspitze näher charakterisiert werden. Falls mehrere Pfeile betroffen sind, erfolgt die Zuordnung über eine gestrichelte Linie, die alle betroffenen Pfeile kreuzt. Folgende Einschränkungen sind vordefiniert: • complete (vollständig, Standardannahme) bzw. incomplete (unvollständig): In einer vollständigen Generalisierungshierarchie muss jedes Element der Superklasse gleichzeitig auch Element mindestens einer Subklasse sein. In einer unvollständigen Generalisierungshierarchie wird dies nicht gefordert. • disjoint (disjunkt, Standardannahme) bzw. overlapping (überlappend): In einer disjunkten Generalisierungshierarchie kann ein Objekt nur Element höchstens einer Subklasse sein. In einer überlappenden Hierarchie kann es auch mehreren Subklassen angehören. ■ Generalisierungshierarchie von Person: {incomplete} ⇒ es kann Personen geben, die weder Bedienstete noch Entleiher sind (nämlich Autoren bzw. Herausgeber). {overlapping} ⇒ es kann Bedienstete geben, die auch Entleiher sind. ● Steht eine Unterklasse in Generalisierungsbeziehung zu mehreren Oberklassen, spricht man von Mehrfachvererbung (multiple inheritance). Typ versus Instanz Instanzen (Objekte, Objektbeziehungen (links) etc.) werden von den zugehörigen Typen (Klassen, Assoziationen etc.) in UML durch einen einheitlichen Mechanismus unterschieden: Es wird für die Instanz dasselbe grafische Symbol wie für den Typ benutzt, wobei jedoch der Name der Instanz und eine allfällige Typangabe unterstrichen werden. Objekten können darüber hinaus Attributwerte zugeordnet werden. ● Ein Klassendiagramm, das nur Objekte und Objektbeziehungen darstellt, heißt Objektdiagramm (object diagram). ■ Ausschnitt aus einem Objektdiagramm für ein konkretes Buch im Bibliothekssystem:
318
6 Planung und Realisierung von Informationssystemen
g) Sequenzdiagramm (Sequence Diagram) Zur Darstellung des Systemverhaltens dienen in der UML Sequenz-, Kollaborations-, Zustands- und Aktivitätsdiagramme. Sequenz- und Kollaborationsdiagramme beschreiben das so genannte Interobjektverhalten, das ist die Art und Weise, wie einzelne Objekte durch Nachrichtenaustausch interagieren, um eine bestimmte Aufgabe zu erfüllen. Sie werden daher auch als Interaktionsdiagramme (interaction diagrams) bezeichnet. ● Ein Sequenzdiagramm dient primär zur Modellierung eines Szenarios, d. h. der exemplarischen Darstellung eines Ablaufs (Anwendungsfall oder Operation). Die Erweiterung zu vollständigen Algorithmen ist möglich (Symbolik für Fallunterscheidungen, Wiederholungen), kann jedoch leicht zu unleserlichen Diagrammen führen. ● Die vertikale Dimension des Sequenzdiagramms entspricht einer ordinal skalierten Zeitachse, horizontal werden die an dem Szenario teilnehmenden Objekte angeordnet. Sie werden durch eine gestrichelte Lebenslinie (lifeline) repräsentiert, die mit einem Objektsymbol beginnt. ● Aktivierungsbalken (activation bars) markieren jene Bereiche, in denen ein Objekt über den Kontrollfluss verfügt, also eine seiner Operationen ausgeführt wird. ● Aktive Objekte (active objects) besitzen einen durchgängigen Aktivierungsbalken und ein Objektsymbol mit fettem Rand. ● Nachrichten (messages) die zwischen den Objekten ausgetauscht werden, sind als Pfeile zwischen den Lebenslinien notiert. Diese Pfeile sind mit dem Namen und den Argumenten der Nachricht beschriftet. Durch entsprechende Pfeilspitzen wird zwischen synchroner (Prozeduraufruf), asynchroner (Signal) und unspezifizierter (nicht näher charakterisierter) Nachrichtenübermittlung unterschieden. Über einen gestrichelten Pfeil kann die Rückgabe eines Ergebnisses sichtbar gemacht werden. Nachrichten, die Objekte erzeugen, werden direkt an das Objektsymbol geführt. Wird ein Objekt gelöscht, endet seine Lebenslinie in einem X. ● Eine Überwachungsbedingung (guard condition, kurz: Bedingung) legt fest, wann eine Nachricht gesendet wird. Die „überwachte“ Nachricht wird nur übermittelt, wenn die in eckigen Klammern angegebene Bedingung erfüllt ist. Sollen Wiederholungen notiert werden, so sind die zu wiederholenden Nachrichten durch ein Rechteck einzurahmen, über dessen unterem Rand sich Angaben über die Wiederholung befinden. ■ Sequenzdiagramm für den Anwendungsfall Buch entlehnen: Der Akteur kommuniziert mit dem Bibliothekssystem über ein aktives Kontrollobjekt, das die Eingabemaske für die Entleihung darstellt und den Anwendungsfall steuert. Die Eingaben des Akteurs (Strichcode des Buchs bzw. der entleihenden Person, Schaltfläche „Ok“) werden als (unspezifizierte) Nachrichten an die Entleihmaske modelliert. Diese ermittelt zunächst das entsprechende Buchbzw. Entleihobjekt b und p, indem sie die (synchrone) Operation identifizieren aktiviert, die von den Klassen Werk und Entlehner als Klassenoperation angeboten wird (man beachte, dass die beiden Klassen als Instanzen der vordefinierten Metaklasse Class dargestellt sind und als solche mit Klassenoperationen auf Nachrichten reagieren). Diese Operation lädt das jeweilige durch seinen Strichcode identifizierte Objekt mithilfe der eigenen Operation laden vom Massenspeicher und gibt
6.8 Objektorientierte Modellierung: UML
319
die resultierenden Objekte als Funktionswerte zurück. Unter der diesem Szenario zugrunde liegenden Annahme, dass die Identifikation erfolgreich war, legt das Kontrollobjekt eine neue Entlehnung-Instanz e an. Dieser werden im Zuge ihrer Initialisierung die als Argumente der Operation new übermittelten Referenzen auf das Buch und den Entleiher zugeordnet. Danach wird e angewiesen, eine entsprechende Bestätigung zu drucken. Zu diesem Zweck eruiert e mittels geeigneter Zugriffsoperationen (getTitel etc.) die zu druckenden Daten des Buchs. Im Fall, dass der Drucker als „bereit“ erkannt wird (eine Alternative dazu ist im vorliegenden Szenario nicht vorgesehen), wird der eigentliche Ausdruck durch die Operation drucken veranlasst (asynchron, es wird nicht auf ein Ergebnis gewartet). Schließlich wird das Entleihungsobjekt e gespeichert und der Akteur vom erfolgreichen Abschluss des Anwendungsfalls informiert.
h) Kollaborationsdiagramm (Collaboration Diagram) Als zweiter Vertreter der so genannten Interaktionsdiagramme zeigt auch das Kollaborationsdiagramm die für einen bestimmten Zweck notwendigen Interaktionen zwischen Objekten. Das Kollaborationsdiagramm ist dem Sequenzdiagramm dabei insofern überlegen, als es zusätzlich zu den Interaktionen auch den ihnen zugrunde liegenden Kontext in Form von Objektbeziehungen darstellt (Kollaboration, s. u.). Umgekehrt wird darauf verzichtet, die Zeit als eigene grafische Dimension zu modellieren, sodass die Reihenfolge von Nachrichten durch Nummerieren spezifiziert werden muss. ● Eine Kollaboration (collaboration – manche deutschsprachigen Autoren übersetzen den Begriff zur Vermeidung der historischen Konnotation mit „Kooperation“) wird in der UML als Ausschnitt aus der statischen Modellstruktur definiert, welcher genau jene Modellelemente enthält, die zur Erreichung eines definierten Ziels kooperieren. Dabei werden die Modellelemente auf Instanzebene (als Objekte und Objektbeziehungen) dargestellt. Zusätzlich ist es möglich, in einer Kollaboration auch temporäre Beziehungen anzugeben: • parameter: Das Zielobjekt ist Parameter einer Methode. • local: Das Zielobjekt ist lokal zu einer Methode.
320
6 Planung und Realisierung von Informationssystemen • • •
global:
Das Zielobjekt ist global verfügbar. self: Das Zielobjekt ist das Objekt selbst. association (Standardangabe, kann entfallen): Die Objektbeziehung entspricht einer gewöhnlichen Assoziation aus dem Klassendiagramm.
● Gerichtete Objektbeziehungen dokumentieren eingeschränkte Navigierbarkeit. ● Ein Kollaborationsdiagramm entsteht aus einer Kollaboration, indem auf den Beziehungskanten der Nachrichtenaustausch zwischen den beteiligten Objekten dargestellt wird. ■ Kollaborationsdiagramm für den Anwendungsfall Buch entleihen (vgl. das zuvor gezeigte Sequenzdiagramm mit analoger Semantik):
● Eine Nachricht (message) wird durch einen Pfeil und eine textuelle Spezifikation notiert. Die Pfeilspitze gibt die Art des Nachrichtenaustausches an, wobei dieselben Typen wie im Sequenzdiagramm zulässig sind: synchron, asynchron und unspezifiziert. Die Nachrichtenspezifikation beginnt im Normalfall mit einer eindeutigen Sequenznummer für jede Nachricht. Diese Nummer folgt dem Format einer hierarchischen Klassifikation. Jede Klassifikationsebene entspricht einer Kontrollflussschachtelung, innerhalb derer sequenzielle Nachrichten gemäß ihrer Abfolge mit den Zahlen 1, 2, usw. durchnummeriert werden. Es gilt also für zwei Sequenznummern N.n und N.(n+1) mit gleichem Präfix N, dass die Nachricht N.(n+1) unmittelbar nach N.n erfolgt und dass beide Nachrichten zur Behandlung der Nachricht N dienen. Wird für n anstelle einer Zahl ein Name angegeben, so wird Nebenläufigkeit spezifiziert. Liegen ausschließlich nebenläufige Nachrichten vor, werden die Sequenznummern einem „flachen“ Nummernkreis entnommen. Bei bedingten Nachrichten wird die Bedingung (guard condition) in eckigen Klammern angegeben. Eine Iteration wird durch einen Stern nach der Sequenznummer notiert, wobei zusätzlich die Iterationsbedingung angegeben werden kann. Ein optionaler Doppelstrich rechts des Sterns deutet an, dass die einzelnen Schleifendurchgänge nebenläufig erfolgen können. ■ Als 3. Schritt zur Behandlung der Nachricht 2 werden in einer Schleife n Nachrichten übermittelt: 2*||[i=1..n]:verarbeite(i) Der Sequenznummer kann bei nebenläufigen Nachrichten eine Synchronisationsangabe (synchronization) vorangestellt sein. Diese Bedingung besteht aus einer Liste von Sequenznummern, die Vorgängernachrichten bezeichnen, gefolgt von einem Schrägstrich. Die gegenständliche Nachricht wird erst gesendet, wenn alle Vorgängernachrichten gesendet worden sind. ■ Die Nachricht C (starteC) kann nur nach A und B gesendet werden: A,B/C:starteC()
6.8 Objektorientierte Modellierung: UML
321
Numerische Sequenznummern synchronisieren implizit mit einer einzigen Vorgängernachricht: Eine Nachricht N.(n+1) kann erst erfolgen, nachdem N.n erfolgt ist. Nachrichten können über Argumente verfügen, die in Pseudocode oder einer Programmiersprache notiert werden. Ergebnisse einer Nachricht werden durch eine Liste von Namen bezeichnet, die links vom Zuweisungssymbol „:=“ stehen. Diese Namen können als Rollennamen für Objektbeziehungen herangezogen werden (vgl. 4:b:=identifizieren(b-barcode) und die Objektbeziehung mit der Rolle b für Nachricht 7.1 im obigen Beispiel), als Argumente für weitere Nachrichten dienen, in Bedingungen auftreten etc. Alternativ zur textuellen Notation von Ergebnissen und Argumenten sind auch eigene Objektfluss-Pfeile möglich, die mit den Namen der Ergebnisse bzw. mit den Argumentausdrücken markiert sind und entgegen bzw. entlang der Senderichtung der Nachricht gerichtet sind (vgl. das Ergebnis p der Operation 5). Objekte und Objektbeziehungen, die während einer durch ein Kollaborationsdiagramm beschriebenen Interaktion erzeugt bzw. gelöscht werden, können durch die Einschränkung {new} bzw. {destroyed} gekennzeichnet werden (vgl. die Entlehnung e). Für die Kombination {new destroyed} ist die Abkürzung {transient} vorgesehen. ● Aktive Objekte (active objects) werden durch die Eigenschaftsangabe {active} oder durch einen fetten Symbolrand markiert.
i)
Zustandsdiagramm (State Chart Diagram)
Zustandsdiagramme beschreiben Intraobjektverhalten, d. h. die möglichen Folgen von Zuständen, die ein einzelnes Objekt einer bestimmten Klasse • während seines „Lebenslaufs“, also von seiner Erzeugung bis zu seiner Destruktion, bzw. • während der Ausführung einer Operation der Reihe nach einnehmen kann. Zustandsdiagramme basieren auf Verallgemeinerungen von endlichen Automaten. ● Ein Zustandsdiagramm stellt einen Graph dar, dessen Knoten den Zuständen entsprechen, die von Objekten eingenommen werden können und dessen gerichtete Kanten die möglichen Zustandsübergänge angeben. Zustandsübergänge werden i. Allg. von exogenen Stimuli ausgelöst, die als Ereignisse bezeichnet werden. ● Ein Zustand (state) charakterisiert eine Situation, in der das betrachtete Objekt auf bestimmte äußere Ereignisse in situationsspezifischer Weise reagiert. Objekte verweilen eine gewisse Zeit lang in einem bestimmten Zustand, bis ein Ereignis (event) einen Zustandsübergang auslöst. Ein Zustandssymbol im Diagramm (Rechteck mit abgerundeten Ecken) kann in zwei Abschnitte unterteilt sein. Ein Zustand kann durch einen Namen im oberen Abschnitt charakterisiert sein (unbenannte Zustände gelten grundsätzlich als voneinander verschieden). Der untere Abschnitt kann Angaben über Aktivitäten und so genannte innere Transitionen (s. u.) enthalten. Zuständen können andauernde Aktivitäten (activities) zugeordnet werden. ● Aktivitäten (activities) werden ausgeführt, so lange sich das Objekt in dem Zustand befindet, dem die Aktivität zugeordnet ist. Eine Aktivität wird im Zustandssymbol nach dem Präfix do/ angegeben und kann durch ein eigenes Zustandsdiagramm näher beschrieben werden. Transitionen hingegen können mit so genannten Aktionen assoziiert werden. ● Aktionen (actions) sind atomare (nicht unterbrechbare) Tätigkeiten, die im Zuge des Zustandsübergangs durchgeführt werden und (konzeptuell) ebenfalls keine Dauer aufweisen.
322
6 Planung und Realisierung von Informationssystemen
■ Lebenslauf der Klasse Werk:
● Eine Transition (transition) ist der Übergang von einem Zustand zu seinem Folgezustand. Sie wird i. Allg. durch ein Ereignis ausgelöst und erfolgt, ohne selbst Zeit in Anspruch zu nehmen. Eine Transition wird durch einen i. Allg. beschrifteten Pfeil dargestellt, der einen Zustand mit seinem Folgezustand verbindet. Die Beschriftung enthält folgende Angaben: • Das auslösende Ereignis, das durch Argumente näher beschrieben sein kann. Sobald das Ereignis auftritt und die zugeordnete Bedingung erfüllt ist (s. u.), erfolgt (schaltet) die Transition. Eine eventuelle noch andauernde, dem Zustand zugeordnete Aktivität wird dabei unterbrochen. Fehlt die Angabe des Ereignisses, so schaltet die Transition nach Beendigung der Aktivität im Zustand. Tritt ein Ereignis ein, dem im aktuellen Zustand keine Transition zugeordnet ist, wird es ignoriert – es „geht verloren“. Sind dem Ereignis mehrere Transitionen zugeordnet, so schaltet hiervon nur eine (nichtdeterministisch). ■ Ereignisse im Beispieldiagramm sind etwa Lieferung oder Rechnung trifft ein. ■ Mit dem Ende der Aktivität beschlagworten wird der Zustand zur Ansicht verlassen.
• Eine optionale Bedingung (guard condition), die die Transition überwacht. Tritt das Ereignis ein und ist die Bedingung nicht erfüllt, so erfolgt kein Zustandsübergang. Das „nicht konsumierte“ Ereignis geht verloren, d. h. die Transition kann nicht ohne neuerliches Ereignis schalten. ■ Der Übergang von zur Ansicht nach entlehnbar erfolgt nur unter der Bedingung
[angenommen]. • Aktionen, die im Zuge der Transition auszuführen sind. Einen besonderen Rang nimmt dabei das Senden einer Nachricht ein, wofür eine eigene Syntax vorgesehen ist. Werden mehrere Aktionen angeführt, so entspricht die Reihenfolge der Ausführung der Reihenfolge der Spezifikation. ■ Aktionen sind z. B. bezahlen, Rücksendung, e:=send Entlehnung.new (der Klasse
Entlehnung wird die Nachricht new übermittelt, das Ergebnis wird e genannt).
6.8 Objektorientierte Modellierung: UML
323
● Innere Transitionen (internal transitions) werden ebenfalls von Ereignissen ausgelöst, verlassen aber den aktuellen Zustand nicht. Ihre Spezifikation erfolgt im unteren Abschnitt des Zustandssymbols in der Form Ereignis/Aktion Ereignis. An die Stelle von echten Ereignissen können auch die beiden Pseudoereignisse entry und exit treten. Die ihnen zugeordneten Aktionen werden immer dann ausgeführt, wenn das Objekt in den Zustand eintritt bzw. ihn verlässt. ■ Bei Eintritt in den Zustand nicht mehr vorhanden wird die Aktion deinventarisieren ausgeführt, egal, über welche Transition der Zustand erreicht wurde. Eine innere Transition, die von demselben Ereignis ausgelöst wird wie eine äußere Transition, maskiert die äußere. Sie wird also anstelle der äußeren Transition ausgeführt, wenn das Ereignis eintritt. Die UML unterscheidet folgende Arten von Ereignissen: • SignalEvent: Es wird ein Signal von einem anderen Objekt empfangen. Der Ereignisname bezeichnet das Signal. ■ Zu dieser Kategorie können verschwunden-Meldung oder zerstört-Erkennung gezählt werden. • CallEvent: Es wird eine Nachricht im Sinne eines Operationsaufrufs „empfangen“. Die Notation entspricht jener des Typs SignalEvent, wobei der Ereignisname die auszuführende Operation bezeichnet. ■ Entlehnung, Rückstellung. • ChangeEvent: Eine bestimmte Bedingung wird erfüllt. Ein solches Ereignis hat die Form when (logischer Ausdruck) und tritt ein, sobald der Wert des logischen Ausdrucks von falsch auf wahr wechselt. Ein weiteres Mal kann das Ereignis erst wieder eintreten, wenn der Wert des logischen Ausdrucks zuvor auf falsch gewechselt hat. • TimeEvent: Eine vorgegebene Zeitspanne seit einem bestimmten Vorgänger-Ereignis ist abgelaufen. Format: after (konstante Zeitspanne, optionales Bezugsereignis). Fehlt das Bezugsereignis, bezieht sich die Zeitspanne auf den Zeitpunkt des Eintritts in den aktuellen Vorzustand. ■ after(1 Sekunde), was gleich bedeutend ist mit after(1 Sekunde seit Eintritt in den Vorzustand) ■ Im Beispieldiagramm: after(3 Wochen) ● Pseudozustände sind notationstechnische Hilfszustände, die sofort verlassen werden müssen:
• Der Startzustand (initial state) markiert den „Beginn“ eines Zustandsdiagramms und besitzt keine eingehenden Transitionen. Die eindeutige ausgehende Transition wird sofort ausgelöst, sobald das System den Startzustand erreicht. • History-Zustände dienen als „Rücksprung-Adressen“ in ODER-verfeinerte Zustände (s. u.). • Zum Aufbau komplexer Transitionen aus mehreren einzelnen „Segment-Transitionen“ dienen statische Verzweigungsstellen (static branch points), dynamische Entscheidungsstellen (dynamic decision points) und Synchronisationsbalken (synchronization bars). Verzweigungs- und Entscheidungsstellen werden in sequenziellen Systemen eingesetzt, Synchronisationsbalken werden beim Übergang von sequenziellen zu nebenläufigen Systemen (Gabelung, bzw. umgekehrt: Vereinigung) verwendet. ■ Die Gabelung und Vereinigung aus dem Beispieldiagramm werden durch Synchronisationsbal-
ken ausgedrückt. • Synch-Zustände erlauben die Synchronisation von Zustandsübergängen innerhalb eines UNDverfeinerten Zustands (s. u.).
324
6 Planung und Realisierung von Informationssystemen
● Der Endzustand (final state – kein Pseudozustand) markiert das Ende des Ablaufs. Er besitzt keine ausgehenden Transitionen. Bei geschachtelten Diagrammen definiert er das Ende der Aktivität des übergeordneten Zustands, auf oberster Ebene entspricht er dem Destruktionspunkt des Objekts. Die UML kennt zwei Formen der Verfeinerung von Zustandsdiagrammen, die ODER-Verfeinerung und die UND-Verfeinerung. ● Mit der ODER-Verfeinerung wird ein so genannter komplexer Zustand (Superzustand; composite state) in Subzustände zerlegt, wobei das Objekt immer in genau einem der Subzustände ist, sobald es sich im Superzustand befindet (mutually exclusive disjoint substates). Diese Form kommt in zwei Varianten vor: • Angabe eines getrennten Zustandsdiagramms, das den Superzustand verfeinert und im Symbol des Superzustands durch Angabe von include/ gefolgt vom Namen der Verfeinerung referenziert wird. • Angabe der Verfeinerung des Superzustands direkt in einem eigenen Abschnitt innerhalb des (i. Allg. stark vergrößerten) Zustandssymbols. ■ Der Zustand entlehnt sowie beide nebenläufigen Subzustände von vorhanden sind ODER-verfeinert. ● Mit der UND-Verfeinerung erfolgt die Zerlegung in nebenläufige, gleichzeitig aktive Subzustände (concurrent substates). Auch die UND-Verfeinerung wird in einem eigenen Abschnitt des Zustandssymbols angegeben, der durch gestrichelte Linien in horizontale Unterabschnitte (Regionen; concurrent regions) zerlegt wird, die jeweils einem nebenläufigen Subzustand entsprechen und i. Allg. je eine ODER-Verfeinerung dieses Subzustands enthalten. Innerhalb der einzelnen nebenläufigen Subzustände erfolgen die Zustandsübergänge unabhängig voneinander. ■ Der Zustand vorhanden ist in zwei nebenläufige Subzustände UND-verfeinert (die ihrerseits beide ODER-verfeinert sind). Verlassen wird ein UND-verfeinerter Zustand durch zwei alternative Mechanismen: • Sobald in den Zustandsdiagrammen aller Subzustände die Endzustände erreicht worden sind, wird der komplexe Zustand über die in diesem Fall eindeutige und unmarkierte Transition verlassen. Es erfolgt also eine implizite Synchronisation der Abläufe in den Subzuständen: Jeder Subzustand muss „bereit“ für den Austritt aus dem Superzustand sein, bevor dieser Austritt erfolgen kann. • Existiert eine Transition, die direkt vom Zustandsdiagramm eines Subzustands aus dem komplexen Zustand hinausführt, so wird der komplexe Zustand verlassen, sobald dieser Zustandsübergang erfolgt, und zwar ohne Rücksicht auf die anderen nebenläufigen Subzustände, die dadurch ebenfalls verlassen werden. ■ Im [nicht angenommen]-Fall nach Verlassen des Zustands zur Ansicht wird der Superzustand vorhanden ebenfalls verlassen. ● Zwei nebenläufige Regionen in einer UND-Verfeinerung können durch einen Synch-Zustand (synch state) synchronisiert werden, womit i. Allg. Produzent-Konsument-Beziehungen modelliert werden: Ein Synch-Zustand „zählt“, wie oft seine eingehende Transition schaltet. So lange dieser „Zähler“ positiv ist, gilt der Pseudozustand als aktiv, d. h. die ausgangsseitige komplexe Transition kann schalten. Im Zuge einer solchen Transition wird der Zähler im Synch-Zustand dekrementiert. Sobald der Zähler null wird, ist die ausgangsseitige komplexe Transition so lange blockiert, bis eingangsseitig ein Zustandsübergang erfolgt und der Zähler wieder erhöht wird. Die Zahl im Synch-Zustand bezeichnet die Kapazität des Zählers, ihr Wert kann nicht überschritten werden. „*“ steht für Kapazität ∞. ■ Die Transition von verrechnet nach bezahlt kann nur schalten, wenn zuvor der Zustandsübergang von zur Ansicht nach entlehnbar erfolgt ist. ● „Vererbung“ von Transitionen: Transitionen, die von einem Superzustand zu einem bestimmten Ziel wegführen, gelten als für alle Subzustände dupliziert, und zwar zum selben Ziel führend. Eine solcherart
6.8 Objektorientierte Modellierung: UML
325
„geerbte“ Transition kann aber lokal redefiniert werden, indem bei einem einzelnen Subzustand eine explizite Transition mit demselben auslösenden Ereignis angegeben wird. ■ Das Ereignis after(3 Wochen) führt von jedem Subzustand von entlehnt in den Subzustand gemahnt. Aus dem Subzustand normal heraus entspricht das der ersten Mahnung, aus gemahnt heraus jeder weiteren Mahnung. ■ Das Ereignis verschwunden-Meldung führt von jedem Subzustand von vorhanden in den Zustand nicht mehr vorhanden. Transitionen, die zu einem Superzustand hinführen, entsprechen Transitionen in den Startzustand der Verfeinerung (bzw. in alle Startzustände aller nebenläufigen Regionen bei UND- Verfeinerungen). Alternativ kann eine solche Transition direkt in einen Subzustand („in die Verfeinerung hinein“) führen – ist die Verfeinerung nicht sichtbar, muss dieser Zielzustand durch einen kurzen senkrechten Strich innerhalb des Symbols des Superzustands notiert werden (Rumpfzustand mit Rumpftransition; stubbed state, stubbed transition). ■ Die Transition, die von Lieferung ausgelöst wird, aktiviert die beiden nebenläufigen Startzustände des Superzustands vorhanden. ■ Die dem Ereignis Entlehnung entsprechende Transition aktiviert den Startzustand von entlehnt. ● Ein History-Zustand (history state indicator) in einem ODER-verfeinerter Zustand „merkt sich“ den zuletzt aktiven Subzustand der Verfeinerung, in der er sich befindet, der im Zuge einer Transition in den History-Zustand automatisch wieder angenommen wird. Durch Verwendung eines tiefen HistoryZustands (deep history indicator) wird das „Gedächtnis“ auf alle geschachtelten Verfeinerungsebenen des komplexen Zustands ausgedehnt.
j) Aktivitätsdiagramm (Activity Diagram) Obwohl bei der objektorientierten Modellierung das Konzept des Objekts und seine Interaktionen mit anderen Objekten im Vordergrund stehen, ist es auch notwendig, Abläufe zu beschreiben. Abläufe treten auf gänzlich unterschiedlichen Detaillierungsebenen auf. Beispiele sind die Realisierung einer Operation, die einzelnen Schritte eines Anwendungsfalls oder das Zusammenspiel mehrerer Anwendungsfälle zur Realisierung (von Teilen) des Gesamtsystems. Aktivitätsdiagramme stammen von den Datenflussdiagrammen der strukturierten Analyse ab (s. a. Abschnitt 6.4) und ermöglichen die Beschreibung solcher Abläufe, wobei spezifiziert werden kann: • was die einzelnen Schritte des Ablaufs tun (durch Angabe einer Bezeichnung des Schritts und der durch ihn manipulierten Objekte), • in welcher Reihenfolge sie ausgeführt werden und • wer für sie verantwortlich zeichnet (optional). Die einzelnen Schritte eines Ablaufs werden als Aktionen oder Subaktivitäten bezeichnet. ● Aktionen (actions) sind nicht weiter zerlegbare Schritte eines Ablaufs. ● Subaktivitäten (subactivities) werden in einem eigenen Aktivitätsdiagramm weiter detailliert. Im Aktivitätsdiagramm beschreibt man beide durch Angabe von Zuständen, in denen Aktionen bzw. Subaktivitäten ausgeführt werden. ● Ein Zustand (state) im Aktivitätsdiagramm wird durch ein Rechteck mit konvexen Vertikalen dargestellt, das den Namen der auszuführenden Aktion bzw. Subaktivität enthält. Die Verfeinerung von Subaktivitäten und damit ihre grafische Unterscheidung zu Aktionen wird durch ein stilisiertes Aktivitätsdiagramm im Zustandssymbol dargestellt. Falls nicht inhaltlich irreführend, werden – einer intuitiveren Schreibweise gehorchend – i. F. Aktionen und Subaktivitäten zu Aktivitäten und deren Zustände zu Aktivitätszuständen zusammengefasst.
326
6 Planung und Realisierung von Informationssystemen
Ein Großteil der Eigenschaften von Zustandsdiagrammen ist auch auf Aktivitätsdiagramme übertragbar. So werden Beginn und Ende eines Ablaufs wie in Zustandsdiagrammen durch einen eindeutigen Start- und möglicherweise mehrere Endzustände markiert. ● Kontrollflusskanten (control flow) verbinden Aktivitäten untereinander und werden durch Transitionspfeile dargestellt, die die Ausführungsreihenfolge der einzelnen Schritte festlegen. Der Abschluss einer Aktivität fungiert dabei als impliziter Trigger für die Ausführung der Folgeaktivität. Ereignisse als explizite Auslöser von Transitionen werden nur in Ausnahmefällen modelliert (s. u.). Eine Transition kann jedoch mit einer Überwachungsbedingung (guard) in eckigen Klammern und weiteren Aktionen beschriftet werden. In einem solchen Fall wird die Transition nur dann ausgeführt, wenn die vorangegangene Aktivität abgeschlossen und die Bedingung erfüllt ist. Ist dies der Fall, werden die angegebenen Aktionen en passant ausgeführt, bevor die Aktivität, zu der die Transition führt, angestoßen wird. Jeder Aktivität müssen mindestens eine eingehende und mindestens eine ausgehende Transition zugeordnet sein. Sind mehrere ausgehende Transitionen ohne annotierte Bedingungen zugeordnet, wird indeterministisch ein Zustandsübergang ausgeführt. Werden den ausgehenden Transitionen einer Aktivität einander wechselseitig ausschließende Bedingungen zugeordnet, wird damit ein alternativer Ablauf modelliert. ● Mithilfe eines Entscheidungsknoten (decision node) genannten Pseudozustands können alternative Abläufe auch explizit gemacht und komplexe Entscheidungen in Form von Entscheidungsbäumen dargestellt werden. Einem Entscheidungsknoten sind eine oder mehrere eingehende Transitionen und zwei oder mehrere ausgehende Transitionen zugeordnet. Alle ausgehenden Transitionen müssen einander wechselseitig ausschließende Bedingungen tragen, wobei auch die vordefinierte Bedingung [else] möglich ist. Ein Kontrollfluss, der durch Entscheidungsknoten aufgespalten wurde, kann bei Bedarf auch durch dasselbe Symbol wieder vereinigt werden. Der Entscheidungsknoten wird in dieser Rolle dann als Merge bezeichnet. Einem Merge sind zwei oder mehrere eingehende Transitionen und eine ausgehende Transition zugeordnet. Diese ausgehende Transition darf weder ein Ereignis noch eine Überwachungsbedingung tragen. Mit den Pseudozuständen Gabelung und Vereinigung können auch nebenläufige Abläufe, d. h. parallele Teilfolgen von Aktivitäten, dargestellt werden. ● Die Gabelung (fork) zeigt den Beginn einer Nebenläufigkeit durch einen so genannten Synchronisationsbalken an, von dem mehrere Transitionen wegführen. Transitionen, die eine Gabelung verlassen, können auch Überwachungsbedingungen tragen. Sollte eine solche Bedingung zum Zeitpunkt des Schaltens der Transition nicht erfüllt sein, wird der zugehörige Zweig im Aktivitätsdiagramm nicht aktiviert. ● Analog zeigt die Vereinigung (join) das Ende einer Nebenläufigkeit durch einen Synchronisationsbalken an, in den mehrere Transitionen münden. Die Vereinigung schaltet, sobald alle über die eingehenden Transitionen verbundenen Aktivitäten beendet worden sind. Ist bei der zugehörigen Gabelung aufgrund einer Überwachungsbedingung ein bestimmter Zweig nicht aktiviert worden, so ist dieser auch für die Vereinigung irrelevant, d. h. es wird nicht „auf ihn gewartet“. ● Aktivitätsdiagramme unterstützen in Anlehnung an Datenflussdiagramme die Modellierung von Objektflüssen (object flows), indem Objekte entweder als Eingabe oder als Ausgabe einer oder mehrerer Aktivitäten modelliert werden. Abhängig davon wird das entsprechende Objektsymbol, ein Rechteck mit dem unterstrichenen Namen des Objekts und seinem aktuellen Verarbeitungszustand in eckigen Klammern, als Eingabe zu oder als Ausgabe von einer Aktivität spezifiziert, indem eine gerichtete gestrichelte Kante vom Objektsymbol zur verarbeitenden Aktivität bzw. umgekehrt gezeichnet wird. Sofern der Objektfluss den Kontrollfluss zwischen zwei Aktivitäten vollständig spezifiziert, wird nur der Objektfluss dargestellt.
6.8 Objektorientierte Modellierung: UML
327
Für die Ausführung der Aktivitäten können verantwortliche Objekte oder Akteure (Verantwortungsträger) spezifiziert werden. Da Aktivitätsdiagramme meist relativ früh im Entwicklungsprozess eingesetzt werden, können diese „Objekte“ aber auch sehr grob granulare Einheiten, z. B. die Abteilungen eines Unternehmens, dessen Geschäftsprozesse beschrieben werden, sein. ● Verantwortungsträger und die von ihnen ausgeführten Aktivitäten werden zu Verantwortlichkeitsbereichen (swimlane) zusammengefasst, das sind Regionen im Aktivitätsdiagramm, die mit den jeweils verantwortlichen Objekten beschriftet sind und durch vertikale Linien voneinander getrennt werden. ■ Aktivitätsdiagramm für den Anwendungsfall Lieferung bearbeiten: Der Anwendungsfall Lieferung bearbeiten ist Teil der Beschaffung (siehe Anwendungsfalldiagramm weiter oben). Zur Bearbeitung der Lieferung sind vier Verantwortungsträger involviert, nämlich ein Bediensteter, die Bibliotheksverwaltung, die Buchhaltung und ein Fachvertreter. Die einzelnen Schritte, aus denen der Anwendungsfall Lieferung bearbeiten besteht, sind Aktionen, die nicht weiter zerlegt werden. Die Lieferung wird von einem Bediensteten bestätigt, bevor parallel die Werkdaten ergänzt und die Rechnung bearbeitet werden kann. Ergibt die Beschlagwortung, dass das Werk nicht benötigt wird, so wird ebenfalls parallel die Bezahlung abgebrochen und das Werk zurückgesandt. Im positiven Fall wird parallel inventarisiert und bezahlt. Als Ergebnis ist das Werk sowohl im Zustand bezahlt als auch im Zustand entlehnbar.
Aktivitätsdiagramme beschreiben i. d. R. einen prozeduralen Ablauf und kein ereignisgesteuertes System. Will man dennoch das Senden bzw. Empfangen von Ereignissen oder Signalen modellieren, werden zwei eigene Knotensymbole verwendet. ● Für den Empfang eines Ereignisses (signal receipt) ist ein „Rechteck mit Nut“ vorgesehen, das mit dem Namen des Ereignisses beschriftet und mit zwei unmarkierten Transitionen mit einer Vorgängerund einer Nachfolgeraktivität verbunden ist. Optional kann ein Senderobjekt durch einen gestrichelten
328
6 Planung und Realisierung von Informationssystemen
Pfeil auf das Ereignissymbol verweisen. Die Vorgängeraktivität wird zuerst abgeschlossen, bevor das spezifizierte Ereignis empfangen werden kann. ● Ein duales Symbol („Rechteck mit Feder“) ist für das Senden eines Ereignisses (signal sending) im Zuge einer Transition vorgesehen. ■ Aktivitätsdiagramm für den (komplexen) Anwendungsfall Beschaffung: Die Beschaffung wurde bereits im Anwendungsfalldiagramm weiter oben beschrieben und wird nun präzisiert. Die Subaktivität Lieferung bearbeiten wurde im vorangegangenen Aktivitätsdiagramm detailliert. Sobald die Lieferung eingetroffen ist, kann sie bearbeitet werden. Dabei dient das zu bearbeitende Werk im Zustand bestellt als Eingabe.
k) Komponentendiagramm (Component Diagram) und Verteilungsdiagramm (Deployment Diagram) Die bisher vorgestellten Diagrammarten von UML werden von den frühen Phasen der SoftwareEntwicklung an verwendet. UML bietet mit dem Komponentendiagramm und dem Verteilungsdiagramm aber auch diagrammatische Unterstützung zur Dokumentation des implementierten Systems. Die beiden Diagramme stellen die implementierten Softwarekomponenten, ihre Abhängigkeiten untereinander und ihre Zuordnungen zu einzelnen Knoten einer Hardwaretopologie dar. ● Ein Komponentendiagramm (component diagram) ist ein Graph, dessen Knoten Komponenten und dessen Kanten Abhängigkeiten zwischen diesen Komponenten repräsentieren. ● Komponenten (components) existieren in der UML nur während der Implementierung bzw. Laufzeit des Systems und sind entweder: • Quellcode-Komponenten, • Binärcode-Komponenten oder • ausführbare Komponenten. Eine Komponente wird durch ein Rechteck mit zwei kleinen, den linken Rand überlagernden Rechtecken dargestellt. Innerhalb des Rechtecks wird der Komponentenname, etwaige Eigenschaften und ein möglicher Stereotyp geschrieben. Komponenten können sowohl auf der Typebene als auch auf der Instanzebene existieren. Eine Komponenteninstanz wird durch das Komponentensymbol und – in Analogie zum Objekt – mit Namen und Typbezeichner durch Doppelpunkt getrennt oder unbenannt mit Doppelpunkt gefolgt vom Typbezeichner dargestellt. Die gesamte Zeichenkette wird unterstrichen, um sie von einem Komponententyp zu unterscheiden. Es macht auch nur Sinn, bei ausführbaren Komponenten zwischen Typ und Instanz einer Komponente zu unterscheiden. Alle anderen Komponentenarten existieren nur auf der Typebene. Eine Komponente bietet eine Menge von Schnittstellen (interfaces) und deren Realisierung an. Daher kann eine Komponente jederzeit durch eine andere Komponente substituiert werden, die zumindest
6.8 Objektorientierte Modellierung: UML
329
die Schnittstelle(n) der ursprünglichen Komponente anbietet. Dies entspricht genau der Philosophie der komponentenorientierten Software-Entwicklung, die die Spezifikation von angebotenen und benötigten Schnittstellen in den Vordergrund stellt und strikt zwischen Funktionalität, d. h. Schnittstellen, und deren Realisierung unterscheidet. ● Die möglichen Abhängigkeiten zwischen Komponenten sind, neben den von der UML vordefinierten Übersetzungsabhängigkeiten zwischen Quellcode-Komponenten und Ausführungsabhängigkeiten zwischen ausführbaren Komponenten, benutzerdefiniert und abhängig von der verwendeten Sprache und Entwicklungsumgebung. Sie werden durch den bereits bekannten Abhängigkeitspfeil (gestrichelter Pfeil) dargestellt. Komponentendiagramme werden immer dann eingesetzt, wenn das entwickelte System hinreichend komplex ist. Da damit physische Abhängigkeiten zwischen Komponenten beschrieben werden, im Gegensatz zu logischen Beziehungen zwischen Klassen während der Modellierung, stellen Komponentendiagramme wichtige Informationen für Konfigurationsmanagement und Versionierung der Software zur Verfügung. Komponentendiagramme existieren aber ausschließlich auf der Typebene und können daher keine Komponenteninstanzen beinhalten. Solche können nur im Zusammenhang mit einem Verteilungsdiagramm gezeigt werden, indem angegeben wird, auf welchem konkreten Knoten (Prozessor) die Komponenteninstanz ausgeführt wird. Eine Komponenteninstanz kann auch eine geschachtelte Struktur aufweisen, indem sie selbst wieder Komponenteninstanzen, Pakete, aber auch Objekte beinhaltet, die innerhalb dieser Komponente existieren und ausgeführt werden. ■ So zeigt das Verteilungsdiagramm für das Bibliothekssystem (s. u.) die Komponenteninstanz beschaffung, die auf dem Knoten biblioServer:Host ausgeführt wird und selbst die Objekte verlag und buch enthält. beschaffung hat eine Ausführungsabhängigkeit zur am selben Knoten ablaufenden Datenbankschnittstellenkomponente jdbc. ● Ein Verteilungsdiagramm (deployment diagram) zeigt die eingesetzte Hardwaretopologie und das zugeordnete Laufzeitsystem in Form von Softwarekomponenten und eingebetteten Objekten. Ein Verteilungsdiagramm ist ein Graph, dessen Knoten Verarbeitungseinheiten, i. d. R. Prozessoren, repräsentieren und dessen Kanten Kommunikationsbeziehungen zwischen diesen Verarbeitungseinheiten darstellen. Ein Knoten wird als Quader dargestellt, die Kommunikationsbeziehung zwischen den Knoten als durchgezogene Linie. Die Benennung von Knoteninstanzen erfolgt analog zu Komponenteninstanzen. Obwohl Verteilungsdiagramme sowohl auf der Typ- als auch auf der Instanzebene definiert sind, werden sie vor allem auf der Instanzebene eingesetzt und beschreiben hier eine konkrete Hardware- und Softwarekonfiguration. Auch können Knoten, wie Komponenten, geschachtelt sein und Pakete oder direkt Komponenten beinhalten. Es können natürlich nur solche Komponenten Knoten zugeordnet werden, die während der Laufzeit existieren und instanzierbar sind, d. h. ausführbare Komponenten sind. Im Verteilungsdiagramm werden neben den Kommunikationsbeziehungen zwischen den Knoten auch die Abhängigkeitsbeziehungen zwischen den Komponenten dargestellt. ■ Ein mögliches Verteilungsdiagramm für das Bibliothekssystem besteht aus fünf Knoten mit vier Kommunikationsbeziehungen. Am Knoten biblioServer:Host läuft das Bibliothekssystem im Wesentlichen in zwei Komponenten, in der Komponente beschaffung und der Komponente entlehnung. Beide Komponenten sind über die Datenbankschnittstellenkomponente jdbc mit dem Datenbankserver (Knoten dbServer) verbunden, auf dem das Datenbankverwaltungssystem läuft (nicht explizit dargestellt). Sicherungen der Datenbank werden auf einem Band gespeichert (Knoten bandlaufwerk mit benutzerdefiniertem Stereotyp device), mit dem über eine SCSI-Schnittstelle kommuniziert wird (Kommunikationsbeziehung zwischen dbServer und bandlaufwerk mit benutzerdefiniertem Stereotyp scsi). Da das Bibliothekssystem als Web-Anwendung realisiert ist, wird auf die Komponenten beschaffung und entlehnung über die Web-Server-Komponente :W3Server mithilfe ei-
330
6 Planung und Realisierung von Informationssystemen
nes cgi-Aufrufs zugegriffen. Im Beispiel wird der Zugriff auf die Beschaffungssoftware (Knoten beschaffClient:PC) getrennt vom Zugriff auf die Entlehnsoftware (Knoten entlehnClient:PC) modelliert, was aufgrund sicherheitstechnischer Überlegungen sehr leicht vorstellbar ist. In beiden Fällen wird über einen Web-Browser (Komponente beschaff:W3Browser bzw. entlehn:W3Browser) auf den entsprechenden Web-Server (Komponente :W3Server auf dem Knoten biblioServer:Host) zugegriffen.
6.9
Ein ganzheitlicher Entwicklungsansatz: CASE
Ende der 70er-Jahre waren zwar Modelle und Methoden verfügbar, mit denen alle wesentlichen Phasen der Informationssystementwicklung und Sichten auf Informationssysteme beschrieben werden konnten. Die Vielzahl existierender, meist jedoch nicht wartungsfreundlicher Software führte zur so genannten Softwarekrise. Die düstere Prognose, dass Ende der 80er-Jahre nahezu keine Neuentwicklungen mehr möglich sein würden, weil alle Entwicklungsressourcen durch Wartung verbraucht werden, bewahrheitete sich glücklicherweise nicht. Neben der konsequenten Trennung fachlicher und realisierungsbezogener Beschreibungen hat dazu vor allem die Mitte der 80er-Jahre einsetzende Verfügbarkeit computergestützter Entwicklungsumgebungen (CASE = Computer-Aided Systems / Software Engineering) beigetragen. In CASE-Umgebungen stehen rechnergestützte Werkzeuge für alle Phasen und Sichten der Informationssystementwicklung zur Verfügung und erlauben es im Idealfall, unter einer gemeinsamen Oberfläche und auf der Grundlage einer gemeinsamen Entwicklungsdatenbank Informationssysteme in integrierter Form zu entwickeln und früher entwickelte Systembeschreibungen konsequent wiederzuverwenden. ● CASE-Werkzeuge sind Softwareprodukte, die die bei der Erstellung von Software benötigten Funktionen anbieteten. ● CASE-Umgebungen stellen CASE-Werkzeuge auf einer CASE-Entwicklungsplattform zur Verfügung und besitzen meist ein Repository zur Datenverwaltung sowie einen Message Service zur Koordination der Benutzer. ● Ziele des Einsatzes von CASE: • Erhöhung der Produktivität • Verbesserung der Qualität • Erleichterung des Software-Managements
6.9 Ein ganzheitlicher Entwicklungsansatz: CASE
331
● Nach dem ECMA-Referenzmodell existieren folgende Bestandteile einer CASE-Umgebung: • Repository-Services: Entitäten, Objekte und ihre gegenseitigen Beziehungen werden durch sie verwaltet. Ebenso wird die Ausführung und Steuerung von verteilten Prozessen unterstützt. • Data Integration-Services: Eine Versions- und Konfigurationsverwaltung für das Repository wird durch sie zur Verfügung gestellt. Zudem unterstützen sie den Austausch von Daten. • Tools: Software die nicht Bestandteil der CASE-Plattform ist und durch Dienstleistungen die Entwicklungswerkzeuge unterstützt. • Process Management-Services: Die Prozessverwaltung erlaubt die Erstellung von Aufrufsequenzen für die Werkzeuge der CASE-Plattform. Information über Benutzer und Rollen im SoftwareEntwicklungsprozess, sowie deren Bezüge werden durch das PMS verwaltet. • Message-Services: Sie sorgen für die Kommunikation zwischen CASE-Werkzeugen und CASEDienstleistungen. • User Interface-Services: Die Benutzerschnittstelle liefert eine einheitliche Oberfläche zu den verschiedenen CASE-Funktionalitäten. ● Sicherheit: Es können verschiedene Sicherheitsbereiche bei der Entwicklung in einem offenen verteilten System eingerichtet werden. ● Verwaltung und Konfiguration der CASE-Plattform: Die CASE-Umgebung muss auf die Bedürfnisse der einzelnen Entwicklungsaufgabe zugeschnitten werden können ● CASE-Werkzeugkategorien: Nach den Schwerpunkten des Einsatzes können folgende CASE Werkzeugkategorien unterschieden werden: • Upper-CASE (front end-CASE): Unterstützen frühe Phasen der Software-Entwicklung (Planung, Definition, Entwurf). • Lower-CASE (back end-CASE): Unterstützen späte Phasen der Software-Entwicklung (Einführung, Wartung). • I-CASE (integrated-CASE): Phasenübergreifende Werkzeuge die ein Softwareprodukt über seinen ganzen Lebenszyklus hinweg begleiten (cross life cycle tools, vertical tools). ● CASE-Tools unterstützen folgende Arten des Software-Engineering: • Forward Engineering: Das fertige Softwaresystem ist das Ergebnis des Entwicklungsprozesses. • Reverse Engineering: Das vorhandene Softwaresystem ist Ausgangspunkt der Analyse. • Reengineering: Umbau eines vorhandenen Softwaresystems mit Elementen des Reverse Engineering zu Beginn und Forward Engineering gegen Ende des Prozesses. • Round Trip Engineering: Der Entwicklungsprozess kann sowohl mit Forward Engineering als auch mit Reverse Engineering begonnen werden und benutzt beide Entwurfsansätze im Wechsel. ● Allgemeine Anforderungen an CASE-Werkzeuge: • Konsistente Unterstützung der Entwicklungsmethode ■ Beispielsweise können SA-Methoden schlecht mit OOA-Methoden kombiniert werden, daher
macht die Integration beider Tools in ein CASE-Werkzeug keinen Sinn. • Bereitstellung der notwendigen Basisfunktionalität ■ Die Erstellung aller für den Gesamtentwicklungsprozess benötigten Teilleistungen muss unter-
stützt werden. • Bereitstellung von effizienzsteigernden Funktionen ■ Hierzu dienen z. B. Makrorekorder, Versionsverwaltungssysteme oder Navigationshilfen.
• Bereitstellung von qualitätsteigernden Funktionen ■ Hier kann man die Integration von qualitätssichernden Werkzeugen in den Entwicklungsprozess
einordnen: z. B. die Überprüfung von Konsistenz, Redundanzfreiheit und Vollständigkeit des Entwurfs sowie die automatische Erstellung von Fehlerprotokollen.
332
6 Planung und Realisierung von Informationssystemen • Übernahme von Hilfs- und Routinearbeiten ■ Ein Beispiel hierfür sind OOA-Werkzeuge die bei der Neuentwicklung von Modellen das Objekt-
Repository auf ähnliche Objektstrukturen hin überprüfen und den Benutzer darüber informieren. • Bereitstellung von Export-/Importschnittstellen ■ Das CDIF (CASE-Data Interchange Format) bzw. das MIF (Metadata Interchange Format) sind
Ansätze den Datenaustausch zwischen CASE-Systemen zu standardisieren. • Integrierbarkeit in CASE-Plattformen: ■ CASE-Werkzeuge sollten in mehrere CASE-Plattformen integrierbar sein. Dazu sind mehrere
Schnittstellen notwendig. Die Konzeption von CASE-Tools als Schichtenarchitektur ist hierfür sinnvoll. ● Die Anforderungen an CASE-Plattformen resultieren in erster Linie aus deren Schittstellenfunktion. Dies sind Integrationsfähigkeit, Offenheit und Multiprojektfähigkeit.
6.9.1
Werkzeuge zur Daten- und Objektmodellierung
● Am Markt verfügbare Werkzeuge zur Unterstützung der Entwicklung von Datenmodellen, z. B. • IEF • Rational Rose • ORACLE*CASE • ARIS-Toolset In der Regel bieten sie eine Unterstützung beim Entwurf von Prozess- und Datenmodellen nach den gängigen Modellierungsverfahren ERM, EPK, UML usw. Das Information Engineering bietet eine Trennung der Daten- und Funktionssicht. ■ IEF: Werkzeugbasierte Unterstützung der Methode des Information Engineering von James Martin. Es handelt sich um einen top-down-Ansatz, bei dem das gesamte Vorgehen in 4 Phasen eingeteilt wird:
• Planning – Strategische Informationsplanung – Daten und Funktionen aus ganzheitlicher Sicht auf den abzubildenen Realitätsausschnitt, z. B. Unternehmung – Definition von Business Areas • Analysis Differenzierung der Funktionen und Methoden innerhalb der Business Areas • Design Transaktionen, Benutzerschnittstelle u. a.
6.9 Ein ganzheitlicher Entwicklungsansatz: CASE
333
• Construction Code-Generierung
Datenmodellierung in IEF Die Datenmodellierung ist ein Teil des Systementwurfs, neben der Funktionsmodellierung und Datenflussmodellierung. Als Methode der Datenmodellierung werden Entity Relationship Diagramme verwendet, wobei Beziehungstypen nach der Krähenfußnotation dargestellt werden. Es ist möglich, Subjekte zu generieren, die eine Abstraktion einer Menge von Objekten darstellen.
6.9.2
CASE-Werkzeug: ORACLE Designer
Im Folgenden wird Oracle Designer/2000 als Beispiel einer CASE-Umgebung betrachtet. Designer/2000 umfasst neben grafischen Werkzeugen zur Daten-, Datenfluss- und Funktionsmodellierung auch ein Prozessmodellierungswerkzeug sowie Werkzeuge zur grafischen Modellierung von Relationen, von Benutzerschnittstellen und von prozeduralen Modulen. Generatoren gibt es nicht nur für Oracles Viertgenerationssprachen, sondern auch für die Programmierspraschen Visual Basic, C++, Microsoft Help sowie für den Oracle Webserver. Es wird damit möglich, auf Grundlage einer durchgängigen, alle Lebenszyklusphasen abdeckenden CASE-Konzeption neben Client/Server-Anwendungen auch Internet/Intranet-Anwendungen zu erzeugen.
334
6 Planung und Realisierung von Informationssystemen
Diese Abbildung zeigt das Hauptmenü von Designer/2000 (Release 1.3). Die verschiedenen Werkzeuge sind jeweils einer bestimmten Phase der Systementwicklung zugeordnet. Die wichtigsten Werkzeuge sind: 1. Phase „Unternehmens-/Prozessmodellierung“: Mit dem Business Process Modeller werden in dieser Phase die Organisationseinheiten, Aufgaben und Daten des relevanten Realitätsbereichs in aggregierter, aber dafür integrierter Form abgebildet. Aufgaben sind über eine einfache oder komplexe Steuerungslogik miteinander sowie mit verarbeiteten/erzeugten Daten verknüpft und können Organisationseinheiten zugeordnet werden. Die erzeugten Modelle sind mehrstufig verfeinerbar. 2. Phase „Fachkonzept“: In dieser Phase werden mit dem Function Hierarchy Modeller die Funktionshierarchie, mit dem Dataflow Diagrammer die Datenflüsse und mit dem Entity Relationship Diagrammer die Datenstrukturen (ER-Modell) unabhängig voneinander und in beliebigem Detaillierungsgrad modelliert. Eine rudimentäre Integration der Sichten erfolgt über die Wiederverwendung bestimmter Elemente des (integrierten) Unternehmensmodells sowie über bestimmte Qualitätsprüfungsmechanismen. 3. Phase „DV-Konzept“: Designer/2000 unterstützt sowohl die Transformation der Ergebnisse des fachlichen Entwurfs auf eine DV-technische Beschreibungsebene wie auch die Verfeinerung des DVKonzepts. ● Generierung des DV-Konzepts aus den Ergebnissen der Anforderungsanalyse: Mit so genannten Design Wizards (d. h. automatisierten, interaktiven Generierungsprozeduren) werden auf Grundlage der Datenverwendung der modellierten Funktionen Module zur Abbildung des Systemverhaltens erstellt. Aus dem konzeptionellen Schema werden u. a. Relationen und Integritätsbedingungen zur Abbildung struktureller Systemaspekte generiert. ● Zur Verfeinerung des DV-Konzepts werden die generierten Relationenschemata bzw. Modulhierarchien nach DV-orientierten Kriterien überarbeitet (Data Schema Diagrammer bzw. Module Structure Diagrammer). Außerdem erfolgt die Modellierung der Benutzerschnittstelle (Module Data Diagrammer) und der Ablaufstruktur prozeduraler Module (Module Logic Navigator). 4. Phase „Implementierung“: Designer/2000 generiert aus • dem Relationenschema Server-Datenstrukturen, • aus Modulspezifikationen 4GL-Maskenanwendungen, 4GL-Berichtsanwendungen oder grafische Auswertungen, • aus Modulspezifikationen Visual-Basic-Programme oder C++-Klassendefinitionen, • aus Dokumentationstexten MS-Help-Anwendungen und • aus Modulspezifikationen Anwendungen für Oracle WebServer. Phasenbegleitende und -übergreifende Aktivitäten sind die Verwaltung der integrierten Entwicklungsdatenbank (Struktur, Zugriffsrechte und Inhalte) und die Erzeugung einer Vielzahl von Berichten/Dokumenten.
7
Vernetzung als Wettbewerbsfaktor
Die Erstellung und Einrichtung webbasierter Geschäftsprozesse nimmt einen immer größeren Raum neben den oftmals auf lokaler Ebene modellierten klassischen IT-Anwendungen (z. B. ERP) für große und mittelständische Unternehmen ein. Die zunehmende Bedeutung einer weitreichenden Vernetzung wird in diesem Kapitel zum einen in einer allgemeinen Übersicht über die Methoden und Möglichkeiten des Electronic Business gewürdigt, zum anderen findet eine Erläuterung der dazu notwendigen Schlüsseltechnologien wie Softwareagenten, XML und EDI statt. In zwei weiteren Abschnitten kommen Sicherheitsaspekte in Netzwerken und die ökonomische Bedeutung von Standards zur Sprache.
7.1
Electronic Business
Electronic Business (E-Business) bezeichnet den Einsatz moderner Informations- und Kommunikationstechnologien zur elektronischen Unterstützung von Geschäfts- und Kommunikationsprozessen zwischen in Beziehung stehenden Akteuren in potenziell allen beruflichen und privaten Bereichen. ▲ Man unterscheidet in Abhängigkeit der Teilnehmer und der Nachfragerichtung die folgenden Beziehungen: • Business-to-Business (B2B): Unterstützung von Prozessen zwischen Unternehmen, z. B. im Rahmen der Beschaffung direkter oder indirekter Güter (E-Procurement). • Business-to-Consumer (B2C): Unterstützung von Transaktionen zwischen Unternehmen und Endverbrauchern, z. B. durch Shoplösungen. • Consumer-to-Business (C2B): Unterstützung von Transaktionen zwischen Privatpersonen die ein Gut offerieren und Unternehmen, die dieses nachfragen. • Consumer-to-Consumer (C2C): Transaktionen zwischen Konsumenten bzw. Privatpersonen (z. B. ebay.com und ricardo.de) ▲ Darüber hinaus kann eine Klassifikation nach der Anzahl der an einer Beziehung beteiligten Akteure vorgenommen werden. Neben verschiedenen Formen so genannter 1-1 (z. B. Beschaffung von Gütern zwischen genau zwei Unternehmen) und 1-n (Verkauf von Gütern an unterschiedliche Nachfrager) Beziehungen, haben sich vermehrt Ansätze herauskristallisiert, die n-n Beziehungen unterstützen. Hierzu zählen insbesondere Portale und elektronische Marktplätze.
7.1.1
Portale
Der Begriff Portal bezeichnet einen zentralen Einstiegs- und Navigationspunkt, der dem Anwender Zugang zu einem virtuellen Angebotsraum bietet und ihn auf weiterführende Informationen – entsprechend seiner jeweiligen Interessen – lenkt. Web- bzw. Internetportale, deren Ursprünge in Aggregatoren (die verschiedene Inhalte zusammenfassen) und Suchdiensten begründet liegen, manifestieren sich in Form von Webseiten. Sie dienen der strukturierten Recherche und Präsentation von Inhalten im World Wide Web. Durch die dezentrale Organisation des Internet, können Web-Portale als Ansatz zu Lösung von Navigationsproblemen interpretiert werden. ▲ Die Navigation erfolgt aus Sicht des Anwenders über Verweise (Links), die Eingabe von Stichworten oder Kataloge. Wichtige Elemente sind Informationsverzeichnisse, Nachrichten, Diskussionsforen und Suchdienste. Um Portale insbesondere für Endverbraucher möglichst attraktiv zu gestalten, bieten Betreiber häufig eine Reihe kostenloser Services, etwa E-Mail-Accounts, Markt- und Preisvergleiche sowie den Download von Software (z. B. Shareware) an.
336
7 Vernetzung als Wettbewerbsfaktor
▲ Webportale sind i. Allg. durch eine Informationsorientierung gekennzeichnet, die sie von transaktionsorientierten Konzepten wie elektronischen Märktplätzen unterscheidet. Die Grenzen zwischen beiden Konzepten verlaufen fließend.
7.1.2
Elektronische Märkte
Ein vergleichsweise junger E-Business-Ansatz sind elektronische Marktplätze. Diese mithilfe moderner Informations- und Kommunikationstechnologien geschaffenen virtuellen Orte dienen als Plattform für das Zusammentreffen von Angebot und Nachfrage, indem sie neben allgemeinen Informationen, der Beschreibung von Produkten und Dienstleistungen respektive deren Anbietern verschiedene Funktionen und Dienste anbieten, die eine Interaktion zwischen Anbieter und Nachfrager unterstützen.
a) Marktplatzarten nach Zielgruppen Als eines der wesentlichen Merkmale von elektronischen Marktplätzen gilt die Abgrenzung der Zielgruppe. Diese kann sich an privaten, beruflichen oder geographischen Kriterien orientieren oder sämtliche Nutzer des Internets mit einbeziehen. Eine häufige Klassifizierung bildet die Unterscheidung horizontaler und vertikaler Marktplätze. • Horizontale Marktplätze sind durch ein weit gefächertes Angebot an allgemeinen Inhalten gekennzeichnet, das auf Funktionen und Prozesse vieler Branchen ausgerichtet ist. Sie werden daher auch als neutral bzw. branchen- und produktunabhängig bezeichnet. Einen Schwerpunkt bildet die Beschaffung indirekt wertschöpfender Güter und Dienstleistungen (z. B. Büromaterialien oder Computerzubehör), die häufig unter dem Begriff MRO (Maintenance, Repair and Organisation) zusammengefasst werden. • Vertikale Marktplätze fokussieren spezifische Themengebiete und sind auf eine bestimmte Interessensgemeinschaft, eine so genannte Community, ausgerichtet. Im Mittelpunkt können die Bedürfnisse einer Gruppe oder die einer ganzen Branche (z. B. der Chemieindustrie) stehen. Beispiele sind covisint.com in die Automobilindustrie und cpgmarket.com in der Konsumgüterindustrie. Darüber hinaus existieren offene (die sämtliche Nutzer des World Wide Web adressieren) und geschlossene Systeme (die entsprechend nur für einen definierten Teilnehmerkreis zugänglich sind). Die Ausprägungen der einzelnen Marktplätze werden häufig miteinander kombiniert. So existieren bspw. Marktplätze, die sowohl branchenspezifische als auch -neutrale Güter und Dienstleistungen anbieten oder solche, die auf eine spezielle Region begrenzt sind. ● Funktionale Abgrenzung: Aus funktionaler Sicht werden Schwarze Bretter, Katalogbasierte Dienste, Börsen, Auktionen und Mehrwertdienste unterschieden. • Schwarze Bretter (Pinboards) sind die einfachste funktionale Marktplatzart. Sie unterstützen durch eine Systematisierung, z. B. von Produkten, lediglich die Anbahnung einer Transaktion. Die eigentliche Vereinbarung und Abwicklung wird bilateral zwischen Anbieter und Nachfrager vollzogen. • Im Mittelpunkt Katalogbasierter Dienste stehen aggregierte Produkt- und Anbieterkataloge, die dem Nachfrager einen transparenten Überblick über das gesamte Angebotsspektrum eröffnen. Produkte und Leistungen können mit identischen, verwandten oder komplementären Artikeln in konzentrierter Form dargestellt werden. Sofern eine Integration mit den Warenwirtschaftssystemen der Anbieter besteht, können Verfügbarkeit und Preise in Echtzeit abgefragt werden. • Bei Börsen, die insbesondere in der Vermarktung von Restmengen und –kapazitäten angewendet werden, wird das Zusammenfinden von Anbieter und Nachfrager durch einen Dienst gesteuert. Nachfrager werden nach Abgabe eines Gebotes über einen Dienst zu einem Anbieter weitergeleitet. • Auch im Fall von Auktionen wird das Zusammentreffen von Anbieter und Nachfrager über einen Dienst gesteuert. Im Gegensatz zu Börsen, müssen die Eigenschaften des zu versteigernden Gutes
7.1 Electronic Business
337
oder der zu versteigernden Dienstleistung klar zu beschreiben sein. Den Ausgangspunkt bildet i. d. R. ein Mindestgebot. Im Allgemeinen ist zudem der zeitliche Horizont einer Auktion durch einen Stichtag befristet. • Als bislang komplexeste funktionale Ausprägung elektronische Marktplätze gelten so genannte Mehrwertdienste, Plattformen, die über ihr Funktionsspektrum bspw. die kollaborative Entwicklung von Produkten, Funktionen für das Supply Chain Management (z. B. eine Unternehmensübergreifende Bedarfsplanung) oder die Konvertierung von Daten heterogener Anwendungssysteme anbieten. Katalogbasierte Dienste und Auktionen bilden i. d. R. einen integralen Bestandteil.
b) Phasen einer Marktplatztransaktion Marktplatztransaktionen lassen sich im Wesentlichen in vier Bereiche, die Informations-, Vereinbarungs, Abwicklungs- und eine After-Sales-Phase, untergliedern:
• In der Informationsphase werden Informationen über potenzielle Anbieter und Nachfrager gesucht. Das Informationsangebot kann je nach Marktplatzart neben allgemeinen Informationen (z. B. Brancheninformationen) verschiedene Produkt- bzw. Leistungsspezifikationen und Eigenschaften der Anbieter und Käufer (z. B. Termintreue, Liquidität) umfassen. Diese werden im Rahmen eines ggf. alternativen Vergleichs verarbeitet und anschließend für die Kaufs- bzw. Verkaufsentscheidung eingesetzt. Informationsasymmetrien zwischen Marktplatzpartnern verlieren an Bedeutung, da Angebot und Nachfrage für beide Seiten transparent sind. Die Recherche wird gängigerweise durch Suchdienste und Kataloge (z. B. ein Business Directory) unterstützt. • In der anschließenden Vereinbarungsphase treten Anbieter und Nachfrager auf dem Marktplatz in Kontakt. Ziel ist es, Menge, Preis, Qualität, Lieferkonditionen, Zahlungsbedingungen und Garantie- und Serviceleistungen zu bestimmen. Die Komplexität der Phase unterliegt dem Preisfindungsmechanismus, der bspw. über Auktionen oder Börsen, Festpreise oder bereits vorverhandelte Verträge bestimmt wird. Mit der Zustimmung von Käufer und Verkäufer wird ein rechtsgültiger Vertrag geschlossen, der das Ende der Vereinbarungsphase bildet. • Auf Grundlage des geschlossenen Vertrages erfolgt in der Abwicklungsphase der eigentliche Leistungsaustausch. Im Bereich materieller Güter umfasst dieser den Versand des Gutes, die Bereitstellung relevanter Informationen (z. B. ein Online-Tracking über die Datenbestände beteiligter Dienstleistungsunternehmen), die Zahlungsabläufe und ggf. verschiedene Mehrwertdienste. Der Leistungsaustausch bei Informationsprodukten kann hingegen vollständig online erfolgen.
338
7 Vernetzung als Wettbewerbsfaktor
• Die After-Sales-Phase schließt sich dem eigentlichen Leistungsaustausch an. Sofern Nachfrager ergänzende Leistungen oder zusätzliche Informationen benötigen, z. B. für die Bearbeitung von Reparaturen und Garantieleistungen, werden historische Transaktionsdaten, die i. d. R. auf elektronischen Marktplätzen gesichert werden, genutzt. Anbieter- und Nachfragerverhalten können zudem in eine Teilnehmerbewertung einfließen, die anderen Marktplatzteilnehmern bereitgestellt werden kann. Die Phasen können vollständig, aber auch zu einzelnen Teilen auf einem Marktplatz stattfinden.
7.2
Internet-Auktionen
● Internet-Auktionen haben – analog zu traditionellen Auktionen – das Ziel, ein Gut (eine Ware oder eine Dienstleistung) durch einen Bietprozess mit konkurrierenden Bietern zu verkaufen. Sie nutzen das Internet • zur Informationsdarstellung (Produktpräsentation, Gebote der Teilnehmer, etc.), • zur Unterstützung der Teilnehmer am Prozess der Versteigerung und • zur Ermittlung/Vermittlung der Ergebnisse, d. h. der Zuordnung des zu versteigernden Objektes an den Bieter mit dem „besten“ Gebot, teilweise inklusive einer Online-Zahlung. Aus ökonomischer Sicht stellen sie somit eine digitale Form von Allokationsverfahren dar. ▲ Der Einsatz des Internets bringt vor allem die folgenden Vorteile: • Die Teilnehmer sind nicht an einen realen Ort der Versteigerung gebunden. • Die Anzahl der Teilnehmer ist nahezu unbeschränkt. • Der Bietprozess einschließlich Vertragsabschluss und -abwicklung kann sehr schnell ablaufen. • Die Transaktionskosten werden für alle Beteiligten gesenkt. ▲ Demgegenüber stehen u. a. Probleme • der Sicherheit, • des Vertrauens und • der unvollständigen Darstellbarkeit von Gütern. ■ Seit dem Start der ersten Internet-Auktionen im Jahr 1995 etablieren sich zunehmend diese digitalen Allokationsmechanismen und gelten als einer der am stärksten wachsenden Bereiche im E-Commerce. In mittlerweile Hunderten von Auktionshäusern werden sehr unterschiedliche Güter gehandelt. Der Schwerpunkt liegt auf der Allokation von Gütern mit starkem Preisverfall (z. B. Hard-/Software, Flugtickets) und auf der Allokation in ineffektiven Märkten mit seltenen Gütern (z. B. Sammlerstücke, Antiquitäten, Gebrauchtwagen). Da Informationen auf elektronischem Weg ausgetauscht werden und die gehandelten Güter nicht „vor Ort“ in Augenschein genommen werden, sind standardisierte Güter jedoch ein klassischer Markt für Internet-Auktionen. ● Die wichtigsten Businessmodelle für Internetauktionen sind: • Business-to-Consumer: Der überwiegende Teil der Auktionshäuser hat ausgewählte Händler als Geschäftspartner und bietet Konsumenten ausschließlich Objekte dieser Händler an. • Consumer-to-Consumer: Einige Auktionshäuser, wie z. B. ebay, ermöglichen es ihren Kunden, für eigene Objekte Auktionen zu initiieren. • Business-to-Business: Im Bereich der elektronischen Beschaffung (e-Procurement) werden vor allem (standardisierte) Produkte für Bürobedarf bzw. -ausstattung oder Rohstoffe (Stahl, Strom etc.) in Auktionsplattformen gehandelt. • Government-to-Business: Auch öffentliche Ausschreibungen als eine spezielle Form von Auktionen werden über Internetplattformen realisiert. Gerade dadurch wird es möglich, z. B. europaweite Ausschreibungsverfahren mit relativ geringem Aufwand durchzuführen.
7.2 Internet-Auktionen
339
● Auktionsformen im Internet: Im Folgenden werden grundlegende Auktionsformen vorgestellt, die bei Internet-Auktionen Einsatz finden. • Die Mehrzahl der Internet-Auktionen basiert auf der English Auction. Dabei handelt es sich um eine Auktionsform, in der die Bieter ihre Gebote so lange sukzessiv erhöhen, bis nur noch ein Bieter übrig bleibt. Dieser erhält den Zuschlag zum Preis des von ihm zuletzt genannten Gebots. • Bei der Dutch Auction gibt der Auktionator einen Startpreis bekannt, den er so lange senkt, bis der erste Bieter ein Gebot abgibt. Dieser erhält den Zuschlag zum Preis des von ihm genannten Gebots. • In der First Price Sealed Bid Auction gibt jeder Bieter genau ein verdecktes Gebot ab. Den Zuschlag erhält der Bieter mit dem höchsten Gebot zum Preis des von ihm genannten Gebots. • Die Second Price Sealed Bid Auction oder auch Vickrey Auction unterscheidet sich von der First Price Sealed Bid Auction lediglich dadurch, dass der Bieter mit dem höchsten Gebot den Zuschlag zum Preis des zweithöchsten Gebots erhält. • In einer Double Auction bieten sowohl Käufer (Gebote zum Kauf, so genannte bids) als auch Verkäufer (Gebote zum Verkauf, so genannte asks). Eine Transaktion kommt zustande, wenn das aktuell beste Gebot eines Käufers bzw. Verkäufers akzeptiert wird. ▲ Die Bezeichnung von Auktionen im Internet unterscheidet sich häufig von den in der Literatur verwendeten Termini. So wird die English Auction z. B. auch als Traditional Auction oder Internet Auction bezeichnet, die Dutch Auction z. B. auch als Descending Auction und die First Price Sealed Bid Auction auch als Non-Published Auction oder Silent Auction. Neben der von der Literatur zur Auktionstheorie abweichenden Bezeichnung finden sich im Internet auch neue Ausprägungen von Auktionsformen. So bietet uBid eine so genannte Wall Street Auction an, die im Wesentlichen einer hybriden English Auction und Dutch Auction entspricht: Wird der gegebene Mindestpreis überboten, findet eine English Auction statt, anderenfalls wird der Preis gesenkt bis der Markt geräumt ist. Onsale bietet eine so genannte Yankee Auction an, bei der bis zu einem gegebenen Zeitpunkt eine English Auction durchgeführt wird und anschließend eine First Price Sealed Bid Auction. ● Erfolgsfaktoren für Internetauktionen: Neben den zugrunde liegenden Auktionsformen, den gehandelten Produktarten und dem Businessmodell kann eine Beurteilung von Internet-Auktionen u. a. über die Kriterien • Bedienungskomfort (ease of use), • Zusatzinformation (on site ressources) und • Kundenzufriedenheit vorgenommen werden. ■ Beim Bedienungskomfort sind bspw. die Strukturierung des Angebots in einer Produktgruppenhierarchie und Suchfunktionen zur gezielten Suche oder Volltextrecherche maßgeblich. Als Zusatzinformationen können z. B. Produktinformationen über Links zu Hersteller bzw. Fachzeitschriften bekanntgegeben werden. Darüber hinaus bieten einige Auktionshäuser die Möglichkeit, sich per E-Mail über neue Produkte bzw. Angebote informieren zu lassen („keep an eye on an item“) oder den Auftrags- bzw. Gebotsstatus abzufragen. Kundenzufriedenheit versucht z. B. Onsale über ein Help-Desk-System zu erzielen. ▲ Darüber hinaus spielen für diesen Bereich der Schutz der Kundendaten und die Gewährleistung sicherer Verbindungen durch Secure Sockets Layer (SSL)-Protokolle sowie eine hohe Verfügbarkeit und Perfomance eine wichtige Rolle für die Zufriedenheit der Kunden. ● Probleme/Zukunftsaussichten: Internet-Auktionen geraten immer wieder in negative Schlagzeilen, die vor allem auf mangelnde Regulierung und Sicherheitsprobleme zurückzuführen sind. So ist es bei der Menge der Anbieter bzw. Bieter in Internet-Auktionen für regulierende Instanzen wie die Federal Trade Commision in den USA nicht möglich, die Vertrauenswürdigkeit aller Teilnehmer zu prüfen. Dies bezieht sich angebotsseitig auf die Art der eingestellten Waren (in großen Consumer-to-
340
7 Vernetzung als Wettbewerbsfaktor
Consumer Auktionshäusern finden sich entgegen der Richtlinien der Betreiber immer wieder Angebote für menschliche Organe, Waffen etc.) und bieter- bzw. anbieterseitig auf die Sicherheit der Transaktion, auf den Schutz der Kundendaten, auf die Verifikation der Identität der Teilnehmer, auf eine Zertifizierung von Anbietern/Webseiten, auf die Qualität der Produkte und die Verbindlichkeit und Nachvollziehbarkeit von Geboten und Abschlüssen (repudiation). ▲ Hinzu kommt das Problem der Preistreiberei: Bieterseitig durch so genannte „shielders“, die fingierte Gebote abgeben und diese kurz vor Auktionsende zurückziehen und anbieterseitig durch so genannte „shillers“, die durch eigene Gebote versuchen, Preise in die Höhe zu treiben. Durch die genannten Probleme werden Forderungen nach Zertifizierung und Regulierung von Internet-Auktionen laut. Insbesondere die bisherige Trennung der Internet-Auktion von bestehendem Auktionsrecht ist jedoch von entscheidendem Einfluss auf die Entwicklung von Internet-Auktionen. ● Ihre Chancen liegen jedoch auch weiterhin in der großen Zahl von (potenziellen) Teilnehmern, der hohen Performance, der einfachen Teilnahme/Bedienung durch Kunden, den niedrigen (Transaktions-) Kosten und dem hohen Erlebniseffekt (entertainment). Forschungen auf dem Gebiet elektronischer Verhandlungen (e-Negotiations) werden weitere wichtige Erkenntnisse bezüglich geeigneter Auktionsformen und ihrer Allokationswirkungen sowie völlig neue Formen elektronischer Verhandlungen hervorbringen. Innovative Ansätze werden bi- und multilaterale Verhandlungen und diese nicht nur über den Preis sondern auch über weitere Eigenschaften von Waren und Dienstleistungen, wie etwa Liefertermine oder Zahlungsziele in so genannten multiattributiven Verhandlungen bzw. Auktionen anbieten. ● Auf technischer Ebene führen die neuen Entwicklungen der multimedialen Präsentation z. B. zu neuen Möglichkeiten, den Erlebniseffekt und das gesellschaftliche Ereignis realer Auktionen in InternetAuktionen abzubilden. Mobile Endgeräte werden den Auktionsteilnehmer noch ortsungebundener machen. Darüber hinaus bieten Softwareagenten Automatisierungsmöglichkeiten für verbesserte Suchmaschinen („elektronische Schnäppchenjäger“) und proaktiven Kundenservice durch Gebotsassistenten: Z. B. informieren so genannte „alert-agents“ den Bieter, wenn er überboten wird, oder so genannte „bidagents“ generieren – nach der vom Bieter eingegebenen Strategie – in festgelegten „ticks“ Gebote, bis ein vom Bieter spezifiziertes Preislimit erreicht ist.
7.3
Softwareagenten
Ein Softwareagent ist ein Programmobjekt (siehe objektorientierte Programmierung) innerhalb eines Softwaresystems (Agentenplattform), welches autonom, d. h. ohne die direkte Intervention von Menschen oder anderen Softwareagenten, mit seiner Umwelt interagiert, um die von einem Anwender spezifizierten Ziele zu verfolgen. Der Softwareagent besitzt die Kontrolle über seinen inneren Zustand und seine Aktionen. SOFTWAREAGENT Ereignis
Aktion
UMWELT
Softwareagent in Wechselwirkung mit seiner Umwelt Softwareagenten besitzen die Grundeigenschaften: • Reaktivität, d. h. die Fähigkeit, die Umwelt wahrzunehmen und zeitnah auf die Veränderung dieser zu reagieren, ohne dabei die Zielvorgaben zu verlassen und/oder • Proaktivität, d. h. das Ausführen von zielgerichteten Aktionen aus eigener Initiative.
7.3 Softwareagenten
341
Diese Eigenschaften bestimmen ihre Verhaltensweisen und werden durch unterschiedliche interne Softwarestrukturen (Agentenarchitekturen) generiert. Es werden dabei meist drei grundlegende Agentenarchitekturtypen unterschieden.
7.3.1
Deliberative Softwareagenten
● Deliberative Softwareagenten besitzen ein explizites Modell der Umwelt, welches in symbolischer Repräsentation im Agenten gespeichert ist. Sie treffen mithilfe von logischen Schlussfolgerungstechniken die Entscheidung darüber, welche Handlungen A als nächste durchzuführen sind. Deliberative Softwarearchitekturen ermöglichen proaktives Verhalten der Softwareagenten. ● Ein einfaches Modell eines deliberativen Softwareagenten kann wie folgt aussehen: ▲ Die Funktion see repräsentiert die Fähigkeit eines Softwareagenten, seine Umwelt wahrzunehmen. Die Umwelt eines Softwareagenten ist charakterisiert durch ihren Zustand S. Wenn mit P die Menge der Wahrnehmungen bezeichnet wird, ergibt sich für die Funktion see: see S → P ■ Die wahrgenommenen Umwelteigenschaften werden als logische Ausdrücke in einer internen Datenbank des Agenten ∆ gespeichert. Beispiele für solche Wahrnehmungen sind: Temperature(reactor4726,321) Pressure(tank776,28) ▲ Außerdem führen wir die Funktion next ein, die den Inhalt einer Datenbank ∆ mittels einer Wahrnehmung auf eine neue agenteninterne Datenbank abbildet. Die Gesamtmenge der internen Zustände bzw. Datenbanken ∆ der Agenten wird mit D bezeichnet. next D × P → D ▲ Das Verhalten des Agenten wird bestimmt durch eine Menge von Aktionsregeln , welche in klassischer Prädikatenlogik als Inferenzregeln definiert sind. ▲ Der Entscheidungsprozess eines Softwareagenten wird durch die Aktionsregeln und Aktionsbeschreibungen ϕ modelliert. Wir schreiben ∆ ϕ , wenn die Aktionsbeschreibung ϕ mittels der Inferenzregel auf Basis der Datenbank ∆ verifiziert werden kann. ■ Beispiel für eine Aktionsbeschreibung: Open(valve221) ■ Ein Aktionsregel könnte lauten: Pressure(tank776,28) ∧ Temperature(reactor4726,321) −→ Open(valve221) ▲ Der Entscheidungsprozess eines Softwareagenten wird durch die Funktion action repräsentiert: action D → A Der Pseudocode dieser Funktion ist der folgende: 1 function action (∆ : D) : A 2 begin 3 for each a ∈ A do 4 if ∆ Do(a) then 5 return a 6 end-if 7 end-for 8 for each a ∈ A do 9 if ∆ ¬Do(a) then 10 return a 11 end-if
342
7 Vernetzung als Wettbewerbsfaktor
12 end-for 13 return null 14 end function action • Im ersten Teil der Funktion action (Zeilen 3-7) versucht der Softwareagent, nacheinander für jede mögliche Handlungsalternative die Aktionsbeschreibung Do(a) (mit Do(a) ∈ ϕ ) der Datenbank mithilfe der Inferenzregeln zu verifizieren und führt im Falle eines Erfolges die entsprechende Handlungsalternative a durch. Die Aktionsregeln in der Datenbank ∆ sind dabei so definiert, dass für den Fall einer Verifizierung von Do(a), a die optimale Handlungsalternative ist. • Kann der Softwareagent den Ausdruck Do(a) für keine der Handlungsalternativen a beweisen, so versucht er, eine Handlungsalternative zu finden, die mit den Inferenzregeln und der Datenbank konsistent bzw. nicht explizit verboten ist, d. h. für die ¬ Do(a) nicht abgeleitet werden kann (Zeilen 8-12) und führt diese durch. • Falls keine verifizierbare Handlungsalternative gefunden werden kann, wird die Aktion null ausgegeben und damit keine Aktion durchgeführt (Zeile 13).
7.3.2
Reaktive Softwareagenten
● Reaktive Softwareagenten besitzen kein internes, symbolisches Modell ihrer Umwelt und verzichten aus Komplexitätsgründen auf Schlussfolgerungstechniken. Ihr Verhalten wird durch einfache ReizAntwort-Schemata beschrieben, welche vordefinierte Verhaltensweisen für bestimmte Umweltzustände vorsehen. Komplexes Verhalten entsteht bei reaktiven Agentenarchitekturen nur als Ergebnis der Interaktion vieler Agenten in einem Multiagentensystem. Ein solches Systemverhalten wird auch als Emergenz bezeichnet. ● Eine typische reaktive Agentenarchitektur ist die Subsumptions-Architektur von Rodney Brooks: ▲ Ein Softwareagent besteht aus einer Reihe von Verhaltensmodulen, in denen die Verhaltensweisen des Agenten gespeichert sind. Die Verhaltensweisen werden durch Regeln repräsentiert, welche aus einem wahrgenommenen Input direkt eine Aktion ableiten: situation −→ action ▲ Eine Verhaltensregel ist definiert als ein Paar (c, a), bei dem c eine so genannte condition und a ∈ A eine Handlungsalternative darstellt, wobei c ∈ P aus der Menge der möglichen Wahrnehmungen stammt. Eine Verhaltensregel (c, a) wird aktiviert, wenn die Bedingung see(s) ∈ c für diesen Umweltzustand s ∈ S erfüllt ist. Mit Beh = {(c, a)| c ⊆ P und a ∈ A} bezeichnen wir die Menge aller möglichen Verhaltensregeln. ■ Beispiele für Verhaltensregeln sind: (1.1) if Alert(reactor4726,On) then Open(valve334) (1.2) if Temperature(reactor4726,321) and Pressure(tank776,28) then Open(valve221) (1.3) if Flowrate(tube211,588) and Level(tank776,28) then Close(valve221) ▲ Die Verhaltensmodule sind hierarchisch in Ebenen angeordnet, wobei die am unteren Ende der Hierarchie angesiedelten Module für grundlegende Aufgaben vorgesehen sind. Diese besitzen die Möglichkeit, die Ausführung von Aktionen auf höheren Ebenen bei Interessenkollision zu verhindern. Mit fallendem Rang in der Hierarchiestufe wächst die Priorität, mit der Aktionen weiter oben liegender Module unterbunden werden können. ▲ Zur Realisierung der Hierarchie der Verhaltensmodule ist auf die Menge der Verhaltensregeln R ⊆ Beh eine Inhibitionsrelation definiert: ≺⊆ R x R. Wir schreiben b1 ≺ b2 , wenn (b1 , b2 ) ∈≺, was bedeutet, dass die Verhaltensweise b1 sich auf einer niedrigeren Hierarchieebene als b2 befindet bzw. eine höhere Priorität als b2 hat. ■ In unserem Fall lautet die Inhibitionsrelation: (1.1) ≺ (1.2) ≺ (1.3)
7.3 Softwareagenten
343
▲ Die Entscheidungsfunktion action des Agenten wird nun durch die Menge der Verhaltensregeln dargestellt, die bedingt durch die Inhibitionsrelation unterschiedliche Prioritäten haben. ▲ Die Funktion action ist wie folgt definiert: 1 function action(p : P) : A 2 var f ired : ℘(R) 3 var selected : A 4 begin 5 f ired := {(c,a)|(c,a) ∈ R and p ∈ c} 6 for each (c,a) ∈ f ired do 7 if ¬(∃(c ,a ) ∈ f ired such that (c ,a ) ≺ (c,a)) then 8 return a 9 end-if 10 end-for 11 return null 12 end function action ▲ Zur Auswahl der auszuführenden Handlungsalternative werden zunächst alle erfüllten (fired) Verhaltensregeln bestimmt (Zeile 5). Anschließend wird aus dieser Menge diejenige Verhaltensregel (c, a) ausgewählt, welche die höchste Priorität hat und deren zugehörige Handlungsalternative a ausgeführt (Zeile 8). Falls keine Verhaltensregel erfüllt ist, wird die Aktion null ausgegeben bzw. keine Handlungsalternative durchgeführt. ■ Sind beispielsweise folgende Verhaltensregeln erfüllt: (1.1) if Alert(reactor4726,On) then Open(valve334) (1.3) if Temperature(reactor4726,321) and Pressure(tank776,28) then Open(valve221) so wird Open(valve334) ausgewählt da: (1.1) ≺ (1.3).
7.3.3
Hybride Softwareagenten
● Hybride Softwareagenten vereinigen deliberative und reaktive Ansätze auf Basis mehrschichtiger Architekturen. Während mithilfe der unteren Schichten grundlegende Verhaltensmuster eines Agenten in Form von Reiz-Antwort-Schemata implementiert sind und somit Elemente der reaktiven Architektur eingeführt werden, wird der deliberative Prozess der Planung und Entscheidungsfindung in höher gelegenen Schichten bearbeitet. ● Es können folgende Typen von Schichtenarchitekturen unterschieden werden: ▲ Horizontale Schichtenarchitektur:
• Alle Schichten arbeiten parallel, haben Zugriff auf die Wahrnehmung des Agenten und können Aktionen vorschlagen. • Ein zentrales Kontrollsystem entscheidet, welche Schicht zu einem bestimmten Zeitpunkt die Kontrolle über den Agenten besitzt.
▲ Vertikale Schichtenarchitektur:
• Nur die unterste Schicht hat Zugriff auf die Wahrnehmung des Agenten. Kann eine Schicht den Input nicht verarbeiten, leitet sie ihn an die nächst höhere Schicht weiter. Je nach Gestaltung des Ausführungsprozesses werden zwei Subarchitekturtypen unterschieden: – Bei der Ein-Weg-Kontrolle führt diejenige Schicht eine Aktion aus, welche angemessen auf einen Input reagieren kann, während – bei der Zwei-Weg-Kontrolle nur die unterste Schicht eine Aktion ausführen kann und der Informationsfluss dementsprechend wieder in Richtung der untersten Schicht verläuft.
344
7 Vernetzung als Wettbewerbsfaktor
▲ Der Unterschied zwischen den Agentenarchitekturen liegt in der Komplexität und Flexibilität der Entscheidungsfindung. Während bei der horizontalen Schichtenarchitektur, bedingt durch das zentrale Kontrollsystem deutlich mehr Handlungsalternativen verglichen werden müssen und daher längere Verarbeitungszeiten die Folge sind, weisen vertikale Schichtenarchitekturen eine geringere Fehlertoleranz auf, da eine Entscheidung alle Schichten durchläuft und ein Fehler innerhalb einer Schicht ernsthafte Konsequenzen für die gesamte Entscheidungsfindung nach sich ziehen kann.
In einer enger gefassten Definition werden Softwareagenten mentale Eigenschaften zugeschrieben, die üblicherweise im Zusammenhang mit menschlichem Verhalten stehen, wie etwa Überzeugungen, Wünsche und Absichten. Solche Eigenschaften kommen in Belief-Desire-Intention- (BDI-) Architekturen zum Ausdruck. BDI-Architekturen können als rein deliberative oder hybride Softwarearchitekturen dargestellt werden: ● Wissenschaftliche Grundlage der BDIArchitektur ist die Theorie vom so genannten „praktischen Denken“, die sich an der Entscheidungsfindung des Menschen im täglichen Leben orientiert und daher durch kurze Entscheidungsprozesse über Aktionen zur Förderung langfristiger Ziele charakterisiert ist. ● Die beiden Basiskomponenten von BDI-Softwareagenten sind:
▲ Datenstrukturen, welche den mentalen Zustand eines Softwareagenten beschreiben, wobei die Inhalte häufig in Form von logischen Ausdrücken repräsentiert werden. Sie gliedern sich in: • beliefs, Bel, welche die vom Agenten wahrgenommenen Informationen über seine Umwelt repräsentieren,
7.3 Softwareagenten
345
• desires, Des, die die zu einem bestimmten Zeitpunkt möglichen Handlungsalternativen darstellen und • intentions, Int, welche die Absichten, d. h. die aus den angestrebten Handlungsalternativen ausgewählten desires, charakterisieren. Der mentale Zustand eines BDI-Softwareagenten wird also dargestellt durch das Tripel (B, D, I), mit B ⊆ Bel, D ⊆ Des und I ⊆ Int. ▲ Funktionen, die definieren, welche Absichten auszuwählen sind (deliberation) und wie diese verfolgt werden sollen (means-ends reasoning). • Die belief revision function, brf, bestimmt eine neue Menge von beliefs auf Basis der aktuellen Menge der beliefs und des gegenwärtig wahrgenommenen Inputs: brf ℘ (Bel) x P → ℘ (Bel) • Die option generation function, options, definiert auf Basis der gegenwärtigen Menge der beliefs und intentions die Menge der möglichen Handlungsalternativen (desires) hinsichtlich einer Verfolgung der intentions (means-ends reasoning): options ℘ (Bel) x ℘ (Int) → ℘ (Des) • Die filter function, filter, aktualisiert die intentions des Softwareagenten auf Basis der vorhergehenden intentions und der gegenwärtigen beliefs und desires (deliberation): filter ℘ (Bel) x ℘ (Des) x ℘ (Int) → ℘ (Int) unter der Nebenbedingung: ∀ B ∈ ℘ (Bel),∀D ∈ ℘ (Des),∀I ∈ ℘ (Int), f ilter(B,D,I) ⊆ I ∪ D Sie löscht bestehende intentions, falls sie nicht mehr erreichbar sind oder der Aufwand der Verfolgung höher als der erwartete Nutzen ist, behält sie bei, falls sie noch nicht erreicht sind, aber immer noch einen positiven Nutzen erwarten lassen oder adaptiert neue, um bestehende intentions zu erreichen oder neue Möglichkeiten zu erforschen. • Die execute function, execute, wählt alle erreichbaren intentions aus und bestimmt die Handlungsalternativen, die zur Erfüllung dieser intentions durchgeführt werden müssen: execute: ℘ (Int) → A • Die action function, action, ist die Entscheidungsfunktion eines BDI-Agenten die alle vorstehenden Funktionen zusammenfasst und letztendlich eine Handlungsalternative auswählt: action: P → A Sie ist durch den folgenden Pseudocode definiert: 1 function action(p : P) : A 2 begin 3 B := br f (B,p) 4 D := options(D,I) 5 I := f ilter(B,D,I) 6 return execute(I) 7 end function action
7.3.5
Eigenschaften von Softwareagenten
Je nach Anwendungsdomäne können weitere Eigenschaften für Softwareagenten von Bedeutung sein: ● Kooperationsfähigkeit ist die Fähigkeit eines Softwareagenten, mit anderen Softwareagenten zusammenzuarbeiten und dabei deren Ziele zu berücksichtigen sowie Kompromissbereitschaft aufzuweisen. Basis jeglicher Kooperation ist Kommunikation, welche drei wichtige Aspekte beinhaltet: ▲ Das Interaktionsprotokoll nimmt Bezug auf die Strategie eines Agenten, deren Verfolgung seine
Interaktion mit anderen Agenten leitet. Dieses Protokoll kann ein Verhandlungsschema oder ein spieltheoretischer Mechanismus sein.
346
7 Vernetzung als Wettbewerbsfaktor
▲ Die Kommunikationssprache ist das Medium, über welches die Inhalte zwischen Agenten
kommuniziert werden. Gebräuchliche Agentenkommunikationssprachen sind KQML (Knowledge Query and Modification Language) und FIPA-ACL (FIPA-Agent Communication Language). Allen Agentenkommunikationssprachen ist gemein, dass ein Nachrichtenkopf mit Angaben zu Sender/Empfänger, Sprachdefinition (ACL, Knowledge Interchange Format), Wissensdomäne und Kommunikationstyp (Anfrage, Behauptung, Aufforderung usw.) dem eigentlich zu übertragenden Inhalt vorangestellt ist. ▲ Das Transportprotokoll ist der gewählte (vom Kontext unabhängige) Transportmechanismus der
Kommunikation, wie z. B. TCP-IP, SMTP, FTP. ■ Kollaborative-Softwareagenten sind ein Agententyp, dessen wesentliche Eigenschaft Kooperati-
onsfähigkeit darstellt. Sie kommen zur Lösung von Problemen zum Einsatz, die z. B. zu komplex für die Bewältigung durch ein einzelnes zentrales System sind oder die eine natürliche Verteiltheit aufweisen, wie die Kontrolle von verteilten Produktionsstätten innerhalb eines Unternehmens. Die Zuweisung der Aufgaben wird meist mittels Verhandlungen zwischen den Agenten vorgenommen. ● Lernfähigkeit ist die Fähigkeit eines Softwareagenten, das eigene Verhalten durch Interaktion mit der Umwelt, dem Menschen oder anderen Softwareagenten längerfristig zu verändern. Lernen ist dabei nicht nur auf das Sammeln und Auswerten von Fakten innerhalb logikbasierter Systeme beschränkt, sondern es können auch andere Techniken des Maschinenlernens wie Neuronale-Netze, Bayes’sche Belief-Netze sowie Bekräftigungslernen zum Einsatz kommen. ■ Bekräftigungslernende-Softwareagenten: Agenten, die anhand von positiven Umweltreaktionen
auf ihre Handlungen lernen und dabei eine Reduktion der dazu nötigen Bewertung auf häufig auftretende Aktionsmuster vornehmen. Sie werden z. B. in Multiagentensystemen zur Bewältigung von Koordinationsaufgaben im Supply Chain Management eingesetzt. ■ Interface-Softwareagenten: Persönliche Assistenten eines Benutzers, den sie im Umgang mit be-
stimmten Anwendungssystemen unterstützen. Der Interface-Softwareagent überwacht und imitiert die Aktionen des Benutzers und erlernt dabei, wie diese besser durchgeführt werden können. ● Softwareagenten, denen reaktives sowie proaktives Verhalten möglich ist (etwa auf Basis einer hybriden Agentenarchitektur bestehend aus reaktiven und deliberativen Komponenten) und die darüber hinaus kooperations- und lernfähig sind, werden als intelligente Softwareagenten bezeichnet. ● Mobilität ist die Fähigkeit eines Softwareagenten, sich (über eine Infrastruktur) selbstständig in einem elektronischen Netzwerk von einem Ort zu einem anderen zu bewegen. Vorreiter auf dem Gebiet der mobilen Agenten ist das Projekt www.agentcities.net, das sich mit der Realisierung einer weltweiten Plattform für mobile Agenten, basierend auf dem FIPA-Standard (Foundation for Intelligent Physical Agents), beschäftigt. Neben einer Klassifizierung hinsichtlich der Eigenschaften von Softwareagenten werden sie häufig durch ihre Aufgabe, die sie zu erfüllen haben, bzw. ihre Rolle definiert. So lassen sich z. B. Planungs-, Kontrollsowie Informationssoftwareagenten unterscheiden. ■ Informationssoftwareagenten unterstützen einen Benutzer bei der Suche nach Informationen in Netzwerken wie dem Internet. Sie spüren potenzielle Informationsquellen auf, filtern diese entsprechend dem Interessenprofil ihrer Benutzer und präsentieren ihm das Ergebnis. Gemäß ihrer Anwendungsdomäne kann es notwendig sein, dass sie Lernfähigkeit besitzen, z. B. um im Zeitablauf die Präferenzen ihrer Benutzer besser zu erfassen. Solche Softwareagenten können gleichzeitig aufgrund ihrer Eigenschaften als Interface-Softwareagenten bezeichnet werden.
7.4 Standardisierung und Standards
7.4
347
Standardisierung und Standards
Die Entscheidung über die Nutzung von (Kommunikations-)Standards ist notwendige Bedingung für jede Interaktion sowie für die Koordination wirtschaftlicher Aktivitäten. ● Standards stellen Kompatibilität zwischen verschiedenen Systemelementen her. Sie sind damit einheitliche Regeln als Grundlage der Interaktion zwischen (menschlichen, maschinellen) Akteuren. ■ Beispiele für Standards sind DNS, natürliche Sprachen, metrische Konventionen, Währungen, Kommunikationsprotokolle (IP, TCP, HTTP) und syntaktische oder semantische Konventionen wie XML oder EDI. ▲ Viele öffentliche wie private Institutionen bemühen sich um die Entwicklung und Verbreitung von Standards. Bekannt sind etwa ISO, ANSI, DIN, W3C, oder OASIS. ● Standards in Informationssystemen ermöglichen das Zusammenspiel heterogener Computernetzwerke, Betriebssysteme und Anwendungen. Der Integration unterschiedlicher Anwendungen kommt insbesondere im Electronic Business herausragende Bedeutung zu, indem u. a. ein Informationsfluss und -zugriff wertkettenübergreifend und in Echtzeit unterstützt werden soll. ● Vorteile des Einsatzes von Standards: Schnellere, bessere und billigere Kommunikation; bessere Nutzung vorhandener Informationen. ■ So spart man bei der Nutzung von E-Mail die typischen Kosten einer Briefsendung wie Porto, Papier oder Druckkosten. Weiterhin erreicht eine elektronische Nachricht sehr viel schneller ihren Empfänger. Zu weiteren Vorteilen u. a. aus Automatisierung von Kommunikationsprozessen siehe Abschnitt EDI. ● Kosten des Einsatzes von Standards: Abhängig von Standard und Einsatzbereich können Kosten anfallen für Hardware-, Software-, Umstellungs- oder Einführungskosten und Schulungskosten; daneben Kosten der Koordination durch die Einigung mit Marktpartnern über einen einheitlichen Standard (Zeit, Personal (Gremien), Datenermittlung und -verarbeitung, Kontroll- und Anreizsysteme). Diese Standardisierungskosten können sich kontextabhängig stark unterscheiden. So sind bspw. die Kosten einer EDI-Einführung in einem Unternehmen in aller Regel geringer als die Einführung von Modulen einer Standardsoftware wie etwa SAP R/3. Durch die netzeffektbedingte Interdependenz (Synergien) der Standardisierungsentscheidungen der verschiedenen Akteure entsteht ein Koordinationsproblem („das Standardisierungsproblem“). Dieses Entscheidungsproblem sowie die Folgen von Netzeffekten z. B. auf Softwaremärkten ist Gegenstand der Netzeffekttheorie. ▲ Da bei der Entscheidung über die Einführung eines Standards die Standardisierungsentscheidungen der Kooperationspartner zu berücksichtigen sind, ergibt sich ein Koordinationsproblem. Allgemein steigt der Nutzen eines Standards für einen bestimmten Anwender mit der Zahl seiner sonstigen Nutzer. So wird der Nutzen von E-Mail je größer, desto mehr andere ebenfalls E-Mail benutzen und damit erreichbar sind. Dieses Phänomen des in der Anwenderzahl steigenden Nutzens eines Gutes wird allgemein als positiver Netzeffekt bezeichnet und lässt sich ökonomisch als nachfrageseitige Skalenerträge interpretieren. Es bewirkt, dass die Entscheidungen über Kommunikationsstandards eigentlich unabhängiger Akteure interdependent werden. ● Theorie der Netzeffekte: Mit zunehmender Bedeutung von IuK-Technologien wuchs der Bedarf, mit positiven Netzeffekten einhergehende Phänomene zu erklären und ihre Implikationen für (marktliche) Koordination und Effizienz zu untersuchen. So sind Märkte, auf denen Kompatibilität eine wichtige Produkteigenschaft ist (z. B. Software), stets auch Märkte, auf denen starke Netzeffekte zu finden sind. Prominente Beispiele für Marktversagen bei Netzeffekten sind der Sieg von VHS gegen Betamax oder die Verwendung der QUERTY-Tastatur trotz der Verfügbarkeit ergonomischerer Tastaturanordnungen. Allerdings sind diese Beispiele kontrovers diskutiert und nicht unwidersprochen.
348
7 Vernetzung als Wettbewerbsfaktor
▲ Folgen von Netzeffekten: Allgemein weisen Diffusionsprozesse von Produkten, die positiven Netzeffekten unterliegen, mehrere Gleichgewichte auf. Das bedeutet, dass bei der Verbreitung von Technologien und Standards letztendlich eines der alternativen Produkte monopolistisch den Markt beherrscht („Lock-in“). Ebenso gelten Netzeffektmärkte als instabil, es können tendenziell nur selten mehrere inkompatible Technologien koexistieren und der Umschwung zu der einen, marktbeherrschenden Technologie erfolgt plötzlich („tippy networks“). Nicht effiziente Marktergebnisse (Über- als auch Unterversorgung mit Standards) sind möglich. Unterversorgung („Excess Inertia“) kann dadurch entstehen, dass keiner das überproportionale Risiko einer frühen Auswahl treffen möchte, um nicht der Gefahr ausgesetzt zu sein, in einem schließlich zu kleinen Netz zu „stranden“. Überversorgung („Excess Momentum“) bspw. durch intertemporale Preisstrategien (Anbieter subventioniert frühe Käufer durch niedrige Preise und verlangt von späteren Konsumenten der dann wertvolleren Technologie entsprechend höhere Preise). ● Kritik an der Theorie der Netzeffekte: In jüngster Zeit mehren sich Kritikpunkte an traditionellen Ansätzen der Netzeffekttheorie. So scheitern sie regelmäßig an der Erklärung der beobachteten Vielfalt realer Diffusionsprozesse von Standards. Als Resultat lassen sich bedeutungsvolle Phänomene moderner Netzeffektmärkte, wie z. B. die Koexistenz verschiedener IT-Produkte trotz starker Netzeffekte, kleine aber stabile Cluster von Benutzern einer speziellen Lösung oder das Phänomen, dass starke Akteure in Kommunikationsnetzen andere Teilnehmer zwingen, bestimmte Softwarelösungen zu verwenden, nicht abbilden. Neuere Ansätze betonen daher die Bedeutung struktureller Netzwerkdeterminanten sowie der individuellen Verschiedenartigkeit der Wirkung von Netzeffekten. Für die Wettbewerbspolitik stellt sich u. a. die Frage, wie (und ob) sie bei möglicherweise effizienten Monopolen eingreifen soll.
7.4.1
Electronic Data Interchange (EDI)
Seit den späten 60er-Jahren nutzen Unternehmen EDI (Electronic Data Interchange) zum elektronischen (meist auch unternehmensübergreifenden) Austausch strukturierter Geschäftsdokumente wie Bestellungen, Rechnungen etc. Im Gegensatz zur papiergebundenen Kommunikation ermöglicht EDI einen medienbruchlosen Informationsfluss zwischen verschiedenen Computersystemen. Auch heute ist EDI ein wichtiger Bestandteil z. B. im Supply Chain Management. Grundlage sind EDI-Standards, die Inhalt und Struktur der ausgetauschten Geschäftsdokumente festlegen. ▲ Unterschiedliche EDI-Standards: Aus branchen-, partner- und landesspezifisch unterschiedlichen Anforderungen entstand eine Vielzahl unterschiedlicher EDI-Standards und Insellösungen wie die vielen EDI-Standards in den unterschiedlichen Branchen (VDA in der Automobilindustrie, SWIFT in der Bankenbranche, SEDAS in der Konsumgüterwirtschaft) oder Ländern (z. B. TRADACOMS in England oder ANSI ASC X12 in den USA). Zur weltweiten Vereinheitlichung entwickelten die Vereinten Nationen und die weltweite Standardisierungsorganisation ISO als internationalen, branchenneutralen Standard UN/EDIFACT (EDI for Administration, Commerce and Transport, ISO 9755). Die Komplexität von EDIFACT führte zu der Entwicklung so genannter Subsets (anwendungsorientierte Untermengen). Wichtige (untereinander inkompatible) branchentypische EDIFACT-Subsets sind wie ODETTE (sollte nachträglich EDIFACT-konform werden) in der Automobilindustrie, CEFIC in der chemischen Industrie, EDIFICE in der Elektronikindustrie, EANCOM im Handel, EDICON in der Baubranche oder RINET in der Versicherungsbranche. ● Motivation der ersten EDI-Lösungen war die Erkenntnis, dass ein Großteil zwischen- wie innerbetrieblicher Kommunikation schriftlich erfolgt und dass ein Geschäftsdokument mehrere Stationen durchläuft. Dabei werden im jeweiligen Unternehmen die Dokumente in mehreren Etappen meist durch die eigenen computergestützten Systeme erstellt, ausgedruckt und an den Kommunikationspartner geschickt, wo das Dokument dann in das dortige Anwendersystem eingegeben wird. Es lassen sich leicht mehr als 20 Stationen identifizieren, in denen bereits vorhandene Daten neu eingetippt werden.
7.4 Standardisierung und Standards
349
Es wird geschätzt, dass zwischen 70 % und 95 % aller in ein System neu einzugebender Inhalte mehrfach eingegeben werden, obwohl sie auf einem anderen System schon zur Verfügung stehen. Diese Mehrfacheingabe von Daten ist äußerst ineffizient, zeitraubend und fehleranfällig. ● Vorteile von EDI: Mit EDI ist es Geschäftspartnern möglich, direkt zwischen ihren Systemen zu kommunizieren und somit Prozesse zu automatisieren. Hierdurch können Kosten der jeweiligen Dokumentenverarbeitung reduziert werden, was unter anderem geringere Durchlaufzeiten ermöglicht. Allgemein resultieren Vorteile der Verwendung von EDI aus geringeren Kommunikationskosten. Die medienbruchlose Weiterverarbeitbarkeit der Daten reduziert Erfassungsfehler und -kosten. Die sofortige Verfügbarkeit und automatisierte Verwendung der Daten ermöglicht eine Automatisierung und Koordination verschiedenster Geschäftsprozesse und macht somit bspw. eine Just-in-TimeProduktion möglich. Dadurch kann ein Unternehmen seine Lagerhaltung drastisch reduzieren, die Kapitalbindung sinkt, es kann durch schnellere Informationen rascher auf geänderte Wettbewerbsverhältnisse reagieren. Ein weiterer Grund für die Nutzung von EDI liegt in der Möglichkeit, den Kunden besseren Service anbieten zu können (CRM). Typischerweise wird von branchenunabhängigen Kosteneinsparungen in Höhe von 5-6 % des Umsatzes oder einer Reduktion der Bruttoselbstkosten für Geschäftsdokumente in der Größenordnung 10:1 gesprochen. ▲ Im Zusammenhang mit elektronischen Märkten sind EDI-Standards z. B. zur Beschreibung von Katalogdaten und gemeinsamen Procurement-Anwendungen („collaborative commerce“) wichtig ▲ XML/EDI ist die Verwendung von XML zur Beschreibung von EDI-Nachrichten (siehe „XML/EDI“) ● Funktionsweise von EDI: Die Information über die Bedeutung des Inhaltes von EDI-Nachrichten ergibt sich aus der Position bzw. der Reihenfolge der jeweiligen Elemente einer Nachricht. ■ Anfang einer EDIFACT-Bestellung (EANCOM): UNB+UNOC:3+4331111111008:14+4121212120005:14+990519:1020+525+++++ EANCOM’ZNH+785+ORDERS:D:93A:UN:EAN007’BGM+220+014501234567’DTM+137: 19990519:102’ DTM+2:19990524:102’... ● Die EDIFACT-Regeln (ISO 9735) legen Zeichensatz, Wortschatz (Datenelemente und Datenelementgruppen) und Grammatik (Syntax, Anordnung von Datenelementen und Segmenten) fest. ● Eine EDIFACT-Nachricht ist unterteilt in Datenelemente, Datenelementgruppen und Segmente. Ein Datenelement ist der kleinste Baustein einer EDIFACT-Nachricht (z. B. Preis oder Artikelnummer). Eine Datenelementgruppe ist eine Zusammenfassung von Informationen, die in sachlichem oder logischem Zusammenhang stehen (z. B. Menge und Mengeneinheit). Datenelemente und Datenelementgruppen stehen innerhalb eines Segmentes immer an einer festgelegten Position, aufgrund derer sie identifiziert werden können. Ein Segment ist eine Zusammenfassung von Datenelementen und/oder Datenelementgruppen, die in einem logischen Zusammenhang stehen. Jedes Segment wird durch einen Segmentbezeichner identifiziert. • (’) ist Segment-Endzeichen (steht am Ende eines jeden Segmentes). • (+)-Zeichen ist Datenelement-Trennzeichen. Es trennt Segmentbezeichner am Anfang eines jeden Segmentes von den folgenden Datenelementen und diese wiederum voneinander. • (:) grenzt die Datenelemente innerhalb einer Datenelementgruppe voneinander ab. ▲ Die Bedeutung der jeweiligen Felder ist in zweimal pro Jahr publizierten Verzeichnissen festgelegt.
So genannte Message Implementation Guides (MIGs) enthalten die Regelwerke zu den einzelnen Subsets. Dabei handelt es sich um einen Katalog aller möglichen Datenfelder an einer bestimmten Position sowie eine Aufzählung der möglichen Inhalte. ● Verbreitung von EDI: Trotz der Vorteile nutzen weniger Unternehmen EDI als erwartet. Der Hauptgrund liegt darin, dass vor allem kleine und mittelständische Unternehmen (KMU) die erheblichen Setup- und Betriebskosten traditioneller EDI-Lösungen scheuen. Verstärkend führt die Vielzahl unterschiedlicher und i. d. R. untereinander nicht kompatibler EDI-Standards zu Unsicherheit. Vor diesem
350
7 Vernetzung als Wettbewerbsfaktor
Hintergrund ist traditionelles EDI als Einsparpotenzial vornehmlich Großunternehmen vorbehalten, die durch hohe Transaktionsvolumina einen höheren Nutzen aus verbesserten Geschäftsprozessen realisieren können als die kleineren Partner früher in der Wertkette. So nutzen 52 % der deutschen und 75 % der amerikanischen Großunternehmen EDI, 98 % der Nicht-Fortune 1.000 hingegen nicht. Deutsche Großunternehmen verwenden hierbei EDI mit 21% ihrer Geschäftspartner und erwirtschaften damit 38 % ihrer Umsätze. Mit webbasiertem EDI (WebEDI) und XML/EDI sollen diese Kosten gesenkt werden.
7.4.2
HTML
HTML (Hypertext Markup Language) ist die Auszeichnungssprache, deren Einfachheit den Siegeszug des World Wide Web (WWW) zu Beginn und Mitte der 90er-Jahre ermöglichte. ▲ 1989 entwickelte Tim Berners-Lee am Forschungszentrum der Europäischen Organisation für Kernforschung, CERN, HTML mit dem primären Ziel, den Austausch wissenschaftlicher Dokumente zu unterstützen, insbesondere mit der Möglichkeit, auf physikalisch entfernte (Literatur-)Quellen zu verweisen. ● HTML besteht aus „Tags“ (Auszeichnern) im Text, die dem Browser anzeigen, wie die von ihnen umschlossenen Dokumententeile darzustellen sind (siehe auch Abschnitt 1.6.2). •
XML ist keine Kleidergröße
ist eine Anweisung für jeden Browser, den eingeklammerten Text als Überschrift Heading erster Ordnung zu formatieren, also bspw. in Schriftgröße 24, fett, Times New Roman. • Neben Überschriften können so normale Textabschnitte, Tabellen etc. definiert werden. HTML ist damit eine Präsentationsbeschreibungssprache, deren großer Vorteil in ihrer Einfachheit liegt. ▲ Eine HTML-Referenz, die alle Tags beschreibt, ist SELFHTML
(http://www.teamone.de/selfhtml/selfhtml.htm). ● HTML-Dilemma: Der Preis für die Einfachheit von HTML ist die begrenzte Einsatzmöglichkeit für Datenaustausch anstelle reiner Datenpräsentation. HTML-Daten sind nicht maschinenverständlich und können somit nicht automatisch verarbeitet werden. Die Defizite von HTML sind insbesondere: • Erweiterbarkeit: HTML erlaubt weder die Definition eigener Tags noch das Spezifizieren individueller Attribute zur semantischen Auszeichnung von Daten. Ein HTML-Dokument enthält nur Informationen, wie Inhalte darzustellen sind; weitergehende Informationen über die Semantik des Inhalts sind nicht abbildbar. • Struktur: In HTML können keine Datenstrukturen jenseits von Formatinformationen beschrieben werden. Der Zusammenhang der Daten untereinander ist nicht beschreibbar. • Validierung: HTML fehlen Sprachspezifikationen, die eine Überprüfung der strukturellen Validität der Daten erlauben. Anwendungen, die HTML-codierte Daten verarbeiten sollen, können daher nicht die Korrektheit der Struktur des Markup in HTML-Dokumenten überprüfen.
7.4.3
XML
● XML (Extensible Markup Language) ist eine textbasierte Meta-Auszeichnungssprache, die die Beschreibung, den Austausch, die Darstellung und die Manipulation von strukturierten Daten erlaubt, sodass diese von einer Vielzahl von Anwendungen genutzt werden können. XML ist im Gegensatz zu HTML eine Metasprache, die auf SGML (Standard Generalized Markup Language, ISO 8879) basiert. XML ist „extensible“, da es sich im Gegensatz zu HTML nicht um ein festes Format im Sinne einer bestimmten Auszeichnungssprache, sondern vielmehr um eine Metasprache handelt, die Vorschriften bereitstellt, eine beliebige Vielzahl konkreter Auszeichnungssprachen für die verschiedensten Arten von Dokumenten zu definieren.
7.4 Standardisierung und Standards
351
▲ Metasprache: Als Metasprache stellt SGML (wie XML) Vorschriften bereit, um Auszeichnungssprachen formal zu definieren. SGML dient seit über 10 Jahren als Basis für die verschiedensten Auszeichnungssprachen (u. a. HTML bis zur Version 4) auf diversen Medien und enthält deswegen Sprachmittel für unterschiedlichste Zwecke und ist damit eine äußerst flexible (aber auch komplexe) Architektur, mit der Dokumente für beliebige Medien aufbereitet werden können, ohne die Struktur der Daten zu verlieren. ▲ Neben der Unterstützung des Dokumentenaustauschs ermöglicht XML allgemein die flexible Weiterverwendung von Daten und ist die Grundlage für eine Verwendung von Metadaten, was u. a. zu einer erhöhten Interoperabilität unterschiedlicher Anwendungen und mächtigen Retrievalmöglichkeiten führt. ▲ Neue Versionen von HTML sind eine Anwendung von XML Das Grundkonzept von XML ist die Trennung von Inhalt, Struktur und Layout. XML-Dokumente unterscheiden sich auf den ersten Blick nicht wesentlich von HTML-Dokumenten. Auch XML-Dokumente bestehen aus Inhalten, die durch Tags ausgezeichnet sind. Während die Anzahl und Benennung der Tags für HTML aber vorgegeben sind, können für XML-Dokumente beliebig viele und frei („semantisch“) benannte Tags verwendet werden. Somit besteht der wesentliche Unterschied darin, dass die Auszeichner Informationen über den Inhalt enthalten können und die Verschachtelung der Tags ineinander die Struktur der Daten abbilden kann. ■ HTML:
<strong>Bosak, Jon XML, Java, and the future of the Web
■ XML: Bosak, Jon <TITEL>XML, Java, and the future of the Web Die Bedeutung des Inhaltes der Tags zeigt sich in der semantischen Auszeichnung, die Verschachtelung gibt die Struktur der Daten wieder, im Beispiel hat der Artikel einen Titel und einen Autor. Während HTMLDokumente in erster Linie beschreiben, wie der Inhalt der Tags darzustellen ist, kann ein XML-Dokument also Aussagen über die Bedeutung des Inhaltes enthalten. ▲ XML unterscheidet sich in den folgenden drei Punkten grundsätzlich von HTML: • Tags („Elemente“) und deren Attribute können individuellen Anforderungen entsprechend definiert und benannt werden. • Dokumentenstrukturen können in beliebiger Komplexität abgebildet werden. • XML-Dokumente können – müssen aber nicht – eine formale Beschreibung ihrer Grammatik enthalten (DTD, Schema). ▲ Alle XML-Dokumente müssen wohlgeformt sein, d. h. sie müssen bestimmten syntaktischen Regeln der XML-Sprachspezifikationen gehorchen. Die wichtigsten dieser Regeln sind: • Am Anfang des Dokumentes sollte der Hinweis auf die XML-Version erfolgen: ■
• Jeder geöffnete Tag muss explizit geschlossen werden. ■ Bosak, Jon
• Tags ohne Inhalt (wie z. B. in HTML) werden in XML geschlossen. ■ explizit oder kurz als
• Das Markup muss, wie bei mathematischen Klammern, streng hierarchisch gegliedert sein. Es darf also keine überlappenden Elemente geben. ● Darüber hinaus können XML-Dokumente gültig sein. Dann wird ihre Grammatik, also Art und Struktur der verwendeten Elemente, in Document Type Definitions (DTD) oder XML Schemata ausgedrückt. • Eine DTD kann in das XML-Dokument selber eingefügt werden oder mittels eines Links referenziert werden, z. B. mit: . In der DTD
352
7 Vernetzung als Wettbewerbsfaktor wird festgelegt, welche Tags verwendet werden können und wie diese ineinander geschachtelt werden (Inhaltsmodell). Mithilfe der DTD ist es Programmen nun möglich, ein XML-Dokument auf strukturelle Fehler zu überprüfen oder eine neue Instanz dieses Dokumenttyps zu bilden. • Dabei dient die DTD als allgemeines Muster, das Angaben enthalten kann, welche der Elemente durch eine Instanz benutzt werden müssen oder welche beliebig häufig (also gar nicht, einmal oder mehrfach) erscheinen dürfen. Mit Schemata können darüber hinaus Datentypen, Vererbungsmechanismen etc. verwendet werden. • Darstellung eines XML-Dokumentes mithilfe von Style Sheets. Auf Style Sheets wird durch entsprechende processing instructions verwiesen, z. B.: . ● Zwei Style Sheet Sprachen möglich: Extensible Style Sheet Language (XSL) und von Cas-
cading Style Sheets (CSS). XSL unterstützt auch Programmelemente, und Dokumente können transformiert werden (z. B. mit XSLT von XML zu HTML). ▲ Informationen zu XML (Tutorials, Tools, Standards etc.): http://xml.cnec.org
7.4.4
XML/EDI
XML/EDI ist die Verwendung von XML als Datenformat für den elektronischen Austausch von Geschäftsdokumenten. Zusammen mit der Verwendung allgegenwärtiger Internettechnologie, Clients (Browser) etc. ist die Hoffnung verbunden, die mit traditionellem EDI verbundenen Kosten deutlich zu senken und KMU in Wertketten zu integrieren. ▲ Da XML-Tags frei benennbar sind, gibt es letztlich unendlich viele Möglichkeiten, Geschäftsdokumente zu beschreiben. Jeder kann sich den eigenen Anforderungen am besten entsprechende XML-Sprachen definieren. So gibt es eine Bioinformatic Sequence Markup Language (BSML) zur Beschreibung von Gensequenzen, das Weather Observation Markup Format (OMF) für Wetterberichte oder die Financial Products Markup Language (FpML) für Finanzderivate. Es ist wichtig zu sehen, dass XML nur ein syntaktischer Standard ist, die Semantik (also die Benennung der Tags) kann sich auch nach EDIFACT richten: ■ Beispiel EDIFACT:
UNH+ELFE0000001+INVOIC:D:95A:UN:ETEB+1:C’ ■ „Übersetzung 1“ in XML:
<elfe_segment name="message header"zweck="Beginn der Telekom -Rechnung"elfe="UNH"> <elfe_0062>ELFE0000001 <elfe_S009> <elfe_0065>INVOIC <elfe_0052>D ........ ................. ■ „Übersetzung 2“ in XML (angelehnt an deutsche EDI-Gesellschaft (DEDIG)):
7.5 Sicherheit
7.5
353
Sicherheit
Vernetzung, speziell über das Internet, bringt neben Chancen auch erhebliche und u. U. unternehmensgefährdende Risiken mit sich, etwa wenn Informationen an Wettbewerber fallen. Trotzdem ist vollständige Abschottung nicht sinnvoll, denn es geht auch darum, das Vertrauen von Partnern und Kunden zu gewinnen und zu pflegen. ● Da Sicherheit eng mit den Interessen der Beteiligten verbunden ist und diese (etwa im Kunden-Lieferanten-Verhältnis) konfligieren können, ist „Mehrseitige Sicherheit“ wichtig, die die Interessen nicht nur einer Seite berücksichtigt. ● Sicherheit ist vielfach eine zu den sonstigen Funktionen des Systems querliegende Aufgabe und muss bereits beim Systementwurf mitgedacht werden. ● Sicherheit lässt sich im Regelfall nicht „herausmodularisieren“. Die Maßnahmen und Techniken müssen in die sonstige Technik und Organisation integriert werden. ● Da Sicherheit mit einer Vielfalt von „Trade-Offs“, speziell bei der Wahl der jeweiligen Schutzniveaus, zu tun hat, ist sie in der Praxis letztendlich oft anwendungsspezifisch. ● Essentiell für den Entwurf einer Sicherheitsarchitektur ist, sich klar zu machen, • was (welche Prozesse, Informationen, Institutionen) zu schützen ist, • wem (welche Prozesse, Informationen, Institutionen, Technologien) man wie weit und unter welchen Umständen traut und • welche Risiken und Angriffsmöglichkeiten bestehen. ● Werden Sicherungsmaßnahmen ergriffen, ist auf ihre Wechselwirkung untereinander und mit anderen Unternehmenszielen, etwa der Kundenfreundlichkeit zu achten. Leider wird in der Praxis vielfach gegen diese Prinzipien verstoßen, weswegen man in halbfertigen oder laufenden Systemen im Regelfall konfrontiert ist mit: ▲ Nachträglich aufgesetzten Sicherungsmaßnahmen, die • den Geschäftsgang hemmen, • grundsätzliche Schwächen haben (z. B. Firewalls), • mit vergleichsweise geringem Aufwand umgangen werden können oder • stets nachgebessert bzw. aktualisiert werden müssen (z. B. Virenscanner), was teuer und fehlerträchtig ist. ▲ Mangelndem Problemverständnis und Gläubigkeit des Managements an einzelne Mechanismen („Wir haben Firewalls und Verschlüsselung, damit sind wir doch sicher, oder? “) Sicherheit für vernetzte Systeme muss überall ansetzen, wo Informationsverarbeitung vor, während und nach der jeweiligen Transaktion stattfindet und auch die Beschaffung der benötigten Sicherheitstechnik berücksichtigen, speziell wenn diese von Nichtexperten benutzt werden soll. Dieses Kapitel gibt eine Übersicht über die wohl wichtigsten „Baustellen“und nennt zum Abschluss einige wesentliche Prinzipien.
7.5.1
Verschlüsselung
Verschlüsselungsverfahren sind die Basis für sehr viele Sicherheitstechniken und -maßnahmen. Zwei prominente Anwendungen sind einerseits der Schutz der Vertraulichkeit und andererseits digitale Signaturen. ● Klassisch werden zum Schutz der Vertraulichkeit symmetrische Verfahren (z. B. DES, IDEA oder AES) eingesetzt, bei denen für Ver- und Entschlüsselung der gleiche Schlüssel verwendet wird. Ihr Vorteil ist die hohe Verarbeitungsgeschwindigkeit. Ihr Nachteil ist, dass mit jedem Kommunika-
354
7 Vernetzung als Wettbewerbsfaktor
tionspartner ein Schlüssel vereinbart werden muss und alle diese Schlüssel geheim gehalten werden müssen. ● Asymmetrische Verfahren wie RSA sind zwar langsamer aber bezüglich der Schlüsselverwaltung überlegen. Hier muss jeder Nutzer N nur ein Paar aus einem öffentlichen und einem privaten Schlüssel verwalten. N’s öffentlicher Schlüssel wird möglichst breit verteilt. Mit ihm können beliebige Nutzer Nachrichten an N so verschlüsseln, dass sie nur mit N’s privatem Schlüssel gelesen werden können. ● Asymmetrische Verfahren eignen sich auch besser für digitale Signaturen: Verschlüsselt N eine Nachricht mit seinem privaten Schlüssel, können andere Nutzer mithilfe von N’s öffentlichem Schlüssel prüfen, ob die Nachricht von N kam, denn so lange er seinen privaten Schlüssel nicht preisgibt, kann diese Verschlüsselung nur von ihm stammen. ▲ Nicht alle asymmetrischen Verfahren erlauben, dass N denselben privaten Schlüssel zum Lesen empfangener Nachrichten verwendet, den er zum Signieren einsetzt, denn nicht bei allen Verfahren sind die Ver- und Entschlüsselungsoperationen kommutativ. ■ In der Praxis werden zumeist hybride Verfahren eingesetzt (z. B. „Pretty Good Privacy“). Sie verschlüsseln die eigentliche Nachricht mithilfe eines schnellen symmetrischen Verfahrens und den dazu verwendeten Schlüssel dann mithilfe eines asymmetrischen Verfahrens. ▲ Alle bislang existierenden und praktisch verwendbaren Verfahren bieten nur Schutz auf Zeit: Verschlüsselte Inhalte können auch ohne Kenntnis des verwendeten Schlüssels entschlüsselt werden, wenn genug Zeit und Rechenkapazität vorhanden ist. Die Sicherheit der gegenwärtigen Verfahren beruht darauf, dass solche Angriffe Jahre bis Jahrhunderte dauern würden, jedenfalls wenn die Rechentechnik sich künftig ähnlich weiterentwickelt wie in der Vergangenheit. ■ Neue Rechnerkonzepte oder Fortschritte in der Mathematik verlangen jedoch ggf. neue Abschätzungen. Beispielsweise erleichterte das „Number Field Sieve“-Verfahren die Zerlegung großer Zahlen in Primfaktoren erheblich und machte die Entschlüsselung eines mit einem 512 Bit langen RSA-Schlüssel verschlüsselten Textes weit schneller möglich als zuvor erwartet. ● Es bietet sich deshalb an, Verschlüsselungsverfahren als Module oder in Programmbibliotheken zur Verfügung zu stellen, um untauglich gewordene Verfahren möglichst einfach austauschen zu können. ● Bei der Beurteilung der Tauglichkeit ist zu berücksichtigen, wie lange der Schutz der zu schützenden Daten vorhalten soll, z. B. für wie lange sichergestellt werden kann, dass die Verfälschung eines Dokumentes bei der Signaturprüfung auffällt. Eine oft unterschätzte Aufgabe ist das Schlüsselmanagement: ● Erzeugen Nutzer ihre Schlüssel selbst, müssen sie selbst für deren Qualität sorgen, z. B. prüfen, ob ein Schlüssel „zufällig“ schwach ist, weil seine mathematischen Eigenschaften nicht mit denen des eingesetzten Verfahrens harmonieren und ob der Schlüsselgenerator manipuliert ist. Lassen Nutzer ihre Schlüssel von jemand anderem erzeugen, müssen sie darauf vertrauen, dass dieser die Schlüssel entweder nicht vorhält oder nicht missbraucht. Es bieten sich Verfahren an, in denen selbst und von anderen erzeugte Schlüsselteile zu einem Schlüssel kombiniert werden. ● Generell ist die sichere Aufbewahrung von Schlüsseln nicht einfach. An das Internet angeschlossene handelsübliche PCs bieten z. B. kaum Schutz gegen ein heimliches Kopieren der Schlüssel. Schlüssel sollten daher mindestens durch Passworte geschützt, besser in vertrauenswürdigen Geräten gespeichert werden. ▲ Große Industrienationen, etwa die USA, beschränken den Export von Verschlüsselungsprogrammen aus Gründen der nationalen Sicherheit. Es dürfen i. Allg. nur vergleichsweise schwache Verfahren bzw. Verfahren, die wegen beschränkter Schlüssellänge nur reduzierte Sicherheit bieten, exportiert werden. Man muss also damit rechnen, dass exportierbare Verfahren den jeweiligen Nachrichtendiensten und vergleichbaren Organisationen wenig Schwierigkeiten bereiten.
7.5 Sicherheit
7.5.2
355
Schlüsselzertifizierung und -infrastrukturen
Wer den öffentlichen Schlüssel einer Person benutzt, etwa um eine Nachricht an sie vertraulich zu halten oder eine von ihr signierte Nachricht zu prüfen, muss sich darauf verlassen können, dass dieser Schlüssel wirklich der öffentliche Schlüssel dieser Person ist. Diese Zuordnung sicher zu treffen, ist nicht trivial. ▲ Nicht ausreichend ist z. B., einfach den öffentlichen Schlüssel von einer WWW-Seite zu laden, denn diese kann unerkannt manipuliert worden sein. Um die Zuordnung zwischen Schlüssel und Person zu bestätigen, werden öffentliche Schlüssel zertifiziert, d. h. jemand prüft die Zuordnung und unterschreibt mithilfe seines eigenen privaten Schlüssels den öffentlichen Schlüssel der jeweiligen Person. Zwei Strategien bezüglich Zertifizierung und davon abhängende Schlüsselinfrastrukturen (Public Key Infrastructures, PKI) lassen sich unterscheiden: 1. „Webs of Trust “: Nutzer lassen ihre Schlüssel von möglichst vielen anderen Nutzern bei persönlichen Treffen zertifizieren und zertifizieren ihrerseits die Schlüssel ihrer Gegenüber. Vorteil von „Webs of Trust“ ist, dass keine Dienstleistung in Anspruch genommen werden muss und einander vertraute Gruppen unkompliziert sicher kommunizieren können. Nachteil ist, dass bei Neukontakten ein „gemeinsamer Nenner“ oft nur über Umwege oder gar nicht zu finden ist. 2. Hierarchische Zertifizierung: Die öffentlichen Schlüssel einer bekannten und anerkannten Zertifizierungsstelle (Wurzelzertifizierungsinstanz) werden über verschiedene Medien weit bekannt gemacht, z. B. in amtlichen Veröffentlichungen gedruckt oder in WWW-Browser integriert. Auf diese Weise lassen sich von dieser Stelle zertifizierte Schlüssel sehr einfach prüfen. Verschiedene organisatorische Formen von Zertifizierungshierarchien existieren: 1. Staatlich verankerte und geregelte Zertifizierungshierarchien: Mit dem deutschen Gesetz zur digitalen Signatur (SigG) wurde eine teilstaatliche Zertifizierungshierarchie etabliert. Die dem BMWi zugeordnete Regulierungsbehörde für Telekommunikation und Post (RegTP) fungiert als Wurzelzertifizierungsinstanz. Die RegTP genehmigt private Zertifizierungsstellen und zertifiziert ihre Schlüssel, sodass diese Unternehmen dann Endverbrauchern Zertifikate ausstellen können. Wegen der höheren technischen Anforderungen sind SigG-konforme Signaturen, was ihren Beweiswert angeht, privilegiert. 2. Selbstgeregelte allgemein nutzbare Zertifizierungshierarchien: Beispiele sind die Policy Certification Authority (PCA) für das Deutsche Forschungsnetz und die US-Firma Verisign sowie die deutschen Firmen T-TeleSec und TC-TrustCenter. Das Identrus-Projekt koppelt die Zertifizierung mit Garantien zu den anvisierten Zahlungsflüssen. 3. Firmeninterne Zertifizierungshierarchien: Firmenintern zu zertifizieren, lohnt sich insbesondere dann, wenn die Nutzeridentitäten einfacher vor Ort im Unternehmen geprüft werden können als durch einen externen Anbieter. Aufgabe von Zertifizierungsinstanzen ist auch die Verwaltung und Veröffentlichung widerrufener Zertifikate. Der Aufwand hierfür ist erheblich, und es sind noch einige Probleme offen, z. B.: ▲ Um Schaden zu vermeiden, kommt es ähnlich wie bei der Sperrung von Kreditkarten, auf eine schnelle Reaktion und eine sorgfältige Information der „Akzeptanzstellen“, also der Prüfer digital signierter Dokumente, an. ▲ Weil der Sperrvorgang trotz aller Bemühungen nicht in Nullzeit durchführbar wird, ist es wichtig, aber nicht trivial, gerecht festzulegen, ab wann eine Sperrung gültig ist.
7.5.3
Schutz von Kommunikation über das WWW
Sichere Kommunikation über das WWW setzt zunächst voraus, dass der Client weiß, ob der Server wirklich der ist, der er vorgibt zu sein (Authentizität), evtl. auch, dass der Server weiß, um wen es sich bei dem Client handelt. Weiterhin ist es nötig, dass Client und Server vertraulich Daten austauschen können.
356
7 Vernetzung als Wettbewerbsfaktor
▲ Am weitesten verbreitet sind das „Secure Sockets Layer“-Protokoll (SSL) und das darauf basierende ähnliche „Transport Layer Security“-Protokoll (TLS). Sie sichern die Kommunikation auf der Internet-Transportebene mithilfe eines so genannten „Handshake“ zur Authentisierung und zum Schlüsselaustausch und sind Beispiele für die Nutzung von Schlüsselinfrastrukturen: 1. Der Client meldet sich an und schlägt vor, welche Verschlüsselungsverfahren zum Schutz der Kommunikation eingesetzt werden können. 2. Der Server antwortet mit einer Auswahl von Verfahren (denen, die er unterstützt) und authentisiert sich mithilfe eines Zertifikates. Abhängig von dem ausgewählten Verschlüsselungsprotokoll sendet der Server auch seinen Beitrag zur Erzeugung des Sitzungsschlüssels für die eingesetzte Verschlüsselung. 3. Der Client kann das Zertifikat prüfen und sich vergewissern, dass der Server authentisch ist. Gegebenenfalls sendet er seinerseits ein Zertifikat, damit auch der Server weiß, mit wem er es zu tun hat. Auf jeden Fall übermittelt er dem Server, dessen öffentlichen Schlüssel er nach Schritt 2 kennt, geschützt einen Schlüssel für ein symmetrisches Verschlüsselungsverfahren, sodass beide vertraulich kommunizieren können. Client
Server Vorschlag von Verschlüsselungsverfahren
1 Server-Zertifikat, Auswahl von Verschlüsselungsverfahren, ggf. Beitrag zur Ermittlung des Sitzungsschlüssels 2 evtl. Client-Zertifikat, ggf. Beitrag zur Ermittlung des Sitzungsschlüssels 3
Geschützte Daten 4
Authentisierung und Verschlüsselung zwischen Client und Server mittels SSL/TLS Der Handshake ist so in das Zusammenspiel von TCP und HTTP integriert, dass Nutzer davon im Erfolgsfall nur das bemerken, was ihr Browser als Symbol für eine abgesicherte Kommunikation anzeigt (z. B. ein geschlossenes Vorhängeschloss). ▲ Ein Schutzmechanismus, der bei SSL fehlt, ist die verbindliche Signierung, etwa von Garantiezusagen. SSL sichert lediglich den Transport der WWW-Seiten zum Client, einen Dokumentencharakter bekommen sie dadurch nicht.
7.5.4
Sichere Anbindung an das Internet
Grundlage sicherer Vernetzung ist eine sichere Anbindung an das Internet. Sie verlangt oft spezielle Rechner und eine geeignete Architektur. Eine sichere Internetanbindung kann auch als Basis für ein Virtual Private Network zur Verbindung räumlich getrennter, interner Netze dienen. Schließlich mehren sich Ansätze zur Einbruchserkennung und Bewachung.
7.5 Sicherheit
357
Elemente einer sicheren Anbindung an das Internet 1. Firewalls: Firewalls dienen entsprechend ihrem Namen als „Brandschutzmauern“ zwischen einem zu schützenden internen Netz und einem (öffentlichen) Netz, auf das der Betreiber der Firewall keinen Einfluss hat, etwa dem Internet. Im Allgemeinen schützen Firewalls das interne Netz durch Filterung und Protokollierung des Nachrichtenverkehrs. Ziele der Einrichtung einer Firewall sind z. B.: ● Schutz des internen Netzes gegen unbefugten Zugriff von außen, ● Schutz der Vertraulichkeit, Integrität und Verfügbarkeit der lokal übertragenen und gespeicherten Daten, ● Schutz der Integrität und Verfügbarkeit der lokalen Netzkomponenten (z. B. Informationsserver) und ● Schutz vor Angriffen, die neue sicherheitsrelevante Schwachstellen, speziell in Betriebssystemen, ausnutzen, durch Reduzierung der Zahl exponierter Rechner. Da im Internet die Zahl potenzieller Angreifer und deren Kenntnisstand sehr hoch ist, ist dieses Ziel von besonderer Bedeutung. Zwei Typen von Firewalls lassen sich unterscheiden. • Paketfilter setzen an den unteren Internet-Protokollschichten (TCP, IP) an und leiten entsprechend den jeweiligen Regeln Pakete weiter oder fangen sie ab. • Ein Application-Gateway ist der jeweiligen Anwendung vorgeschaltet, kennt das entsprechende Anwendungsprotokoll (z. B. bei Proxy-Servern HTTP) und erlaubt oder verbietet Verbindungen bzw. die Kommunikation auf Anwendungsebene. ▲ Der Einsatz von Firewalls ist nicht unproblematisch: Wer die Firewall kontrolliert (auch als Angreifer), kontrolliert den gesamten Verkehr zwischen internem Netz und Internet und hat außerdem Zugriff auf die Protokolldaten. Aus diesem Grund bietet sich eine Abstufung und Verteilung von Funktionen an. Organisationsweite Firewalls vertragen sich nicht mit dem Einsatz von Ende-zuEnde-Verschlüsselung von Nutzer zu Nutzer, denn sie können nur lesbare Dateien (etwa MailAttachments) filtern, nicht jedoch verschlüsselte.
358
7 Vernetzung als Wettbewerbsfaktor
2. Screened Subnets: Screened Subnets, auch „Demilitarisierte Zonen (DMZ)“ genannt, haben vor allem zwei Funktionen: (a) Sie beherbergen Funktionalität, die weder ganz intern noch ganz extern ist, und erlauben so eine Staffelung des Schutzes: Ein WWW-Server, auf den bestimmte Zugriffe erlaubt sein sollen, kann so durch einen Paketfilter geschützt werden, das interne Netz durch einen zweiten, schärferen. Außerdem legt die Überwindung einer Firewall noch nicht das ganze Netz bloß. (b) Sie erlauben die Abtrennung und Auslagerung komplexer, etwa rechen- oder wartungsintensiver, Funktionalität aus der Firewall, z. B. eines zentralen Virenscanners zur Kontrolle von E-MailAttachments oder aus dem Internet geladenen Dateien (vorausgesetzt diese sind nicht verschlüsselt). 3. Virtual Private Networks: Oft sind räumlich getrennte interne Netze einer Organisation und deren Verbindung zu schützen, etwa die internen Netze verschiedener Filialen eines Unternehmens. Klassisch wurden dafür Leitungen angemietet und deren Sicherung dem Telekommunikationsanbieter überlassen. Falls man sich auf keinen Anbieter verlassen oder aus Kostengründen das Internet nutzen will, kann man das unsichere Netz „durchtunneln“. Die wichtigste Funktionalität ist dabei der Schutz vor Abhören der übertragenen Daten. Meist wird dazu das IP um eine Verschlüsselungsfunktion angereichert. Diese Funktionalität kann auch in einer Firewall untergebracht werden. 4. Einbruchserkennung: Mit Firewalls verwandt sind einbruchserkennende Systeme (Intrusion Detection Systems, IDS). Sie beobachten und protokollieren Aktivitäten in Rechnern und Netzen, um so Einbrüche möglichst frühzeitig zu erkennen und die Verwalter zu alarmieren. Zwei Kategorien von Systemen lassen sich unterscheiden: (a) Missbrauchserkennende Systeme: Charakteristika von Angriffen, etwa bestimmte Kommandofolgen zur Erlangung von Administratorrechten, werden entdeckt. (b) Anomalieerkennende Systeme: Nach einer „Lernphase“ werden Abweichungen von üblichem (Nutzer-)verhalten entdeckt. ▲ Wegen ihrer umfangreichen Datenerfassung und intensiven Auswertung von Nutzerdaten sind IDS nicht unproblematisch. Es wird deshalb an Systemen gearbeitet, die Protokolldaten verschlüsselt erheben und nur im Alarmfall dem Administrator zukommen lassen.
7.5.5
Schutz von Anonymität und Unbeobachtbarkeit
Nicht jeder Internet-Nutzer will, dass seine Interessen und sein Nutzungsverhalten anderen (etwa den Betreibern eines aufgesuchten WWW-Servers oder den Anbietern eines E-Mail-Dienstes) bekannt werden. Darum entwickelt sich ein Markt für den Schutz der Anonymität und Unbeobachtbarkeit von Kommunikation. ■ Einfache Dienste wie der Anonymizer arbeiten als Proxidienst. Nutzer rufen die von ihnen gewünschte WWW-Seite nicht direkt auf, sondern über ein Formular auf der Anonymizer-WWW-Seite. Der Anonymizer ruft dann die gewünschte Seite auf, filtert sämtliche potenziell identifizierenden Informationen und Abfragen (etwa Cookies) und präsentiert die Seite dem Nutzer. Dieser kann so vor dem Betreiber der Seite anonym bleiben. Natürlich liegen aber alle Informationen beim Betreiber des Anonymizers vor und die Nutzer müssen ihm vertrauen. Fortgeschrittene Konzepte zwingen die Nutzer nicht, einer einzelnen Instanz vertrauen zu müssen und sichern auch die Unbeobachtbarkeit des Nutzers vor dem Anbieter des Kommunikationsdienstes. Sie basieren im Kern auf dem Konzept „Mixe“ und verschleiern den Weg von Nachrichten (und damit die Verbindung zwischen Sender und Empfänger): 1. Nachrichten werden über eine Anzahl von Knotenrechnern (Mixe) umgeleitet, bevor sie ihren Empfänger erreichen.
7.5 Sicherheit
359
2. Geeignete Verschlüsselung beim Nutzer und Umverschlüsselung in jedem Mix hindert selbst starke Beobachter, die alle physischen Verbindungen überwachen können, die Nachrichten zu verfolgen, denn sie bemerken nicht, wann eine bestimmte Nachricht einen Mix verlässt. 3. Ein Mix weiß zu jeder Nachricht nur, von wem er sie erhielt und an wen er sie weiterreicht. Arbeiten Mixe mit dem Beobachter zusammen, ist dies keine Gefahr, so lange wenigstens ein benutzter Mix unbestechlich bleibt. Der Schutz für die Nutzer bestimmt sich also nach dem stärksten, nicht dem schwächsten Glied der Mix-Kette, und die Nutzer können selbst auswählen, welche und wie viele Mixe sie in die Kette aufnehmen. ■ Eine recht einfach via WWW zugängliche Realisierung des Mixkonzeptes für E-Mail ist das Mixmaster-Remailer-System. Der einfache Zugang hat allerdings den Nachteil, dass der Betreiber der Zugangsseite die Nachricht und die ausgewählten Mixe erfährt. Außerdem werden die verfügbaren Remailer i. Allg. ehrenamtlich betrieben, sodass sie gelegentlich nicht verfügbar sind. ■ Das System „Freedom“ der Firma Zero-Knowledge, die erste kommerzielle Implementierung des MixKonzeptes, versucht die Einschränkungen des Mixmaster-Systems zu überwinden. Es setzt auf der TCPIP-Ebene an und unterstützt die meisten Internet-Anwendungsprotokolle, u. a. HTTP, Telnet und POP3.
7.5.6
Mehrseitig sichere Zahlungssysteme
Leistungserbringer wollen sicher sein, eine Zahlung zu erhalten. Zahler wollen einerseits sicher sein, dass ihr Geld nicht unbegründet abfließt und verschwindet. Andererseits wollen sie (gerade bei anonym und unbeobachtbar in Anspruch genommenen Leistungen) vermeiden, dass ihre Aktivitäten über den Bezahlweg verfolgbar werden. ● Meist versuchen elektronische Zahlungssysteme, die Partner möglichst klar zu identifizieren und den Bezahlvorgang möglichst nachvollziehbar zu dokumentieren, um ihn ggf. wieder rückabwickeln zu können. Oft basieren sie auf einer PKI, die die Kommunikation zwischen Käufern, Händlern und Zahlungssystembetreibern (etwa Banken oder Kreditkartenorganisationen) sichern soll. ■ Ein Beispiel ist die von MasterCard und Visa initiierte „SET Secure Electronic Transaction“-Spezifikation, die Autorisierung und Abwicklung von Kreditkartentransaktionen über das Internet schützt. ● Systeme wie ecash ahmen Bargeld in digitaler Form nach und schützen die Käufer davor, dass der Zahlungssystembetreiber erfährt, wie und wo sie ihr Geld ausgeben. Der Zahlungssystembetreiber signiert Geld so, dass zwar Zahlungsempfänger das Geld prüfen und beim Betreiber einlösen können, dieser jedoch nicht erfährt, von wem das Geld ursprünglich kam, so lange es nicht mehrfach ausgegeben wird.
7.5.7
Nutzbare Verhandlungs- und Verknüpfungsmechanismen
Verhandlungsmechanismen sind immer dann nötig, wenn die Sicherheitsanforderungen verschiedener Parteien nicht trivial kompatibel sind oder wenn die Partner zwischen verschiedenen Angeboten der jeweils anderen Seite auswählen müssen. Verknüpfungsmechanismen binden Transaktionsphasen oder deren Elemente zusammen, speziell wenn diese asynchron sind. ■ Erreichbarkeitsmanagement ermöglicht Verhandlungen, ob und unter welchen Bedingungen ein Telefonanruf beim Angerufenen durchdringt und z. B. ein (möglicherweise störendes) Klingeln auslöst. Dies kann u. a. von der Zeit des Anrufs abhängig gemacht werden oder davon, dass der Anrufer die Dringlichkeit seines Anrufes verdeutlicht hat. Sicherheitsmanagement erlaubt, über die Sicherheitseigenschaften des Telefonats zu verhandeln, etwa ob es verschlüsselt werden soll oder ob der Angerufene dem Rufer eine Quittung erstellt.
360
7 Vernetzung als Wettbewerbsfaktor
■ Das „Basis-Kooperations“-Protokoll ermöglicht, Nachrichten verschachtelt zu signieren. Die Nachrichten (etwa ein Angebot eines Händlers, die entsprechende Bestellung eines Kunden und die Lieferzusage des Händlers) werden so zu einem von den Partnern signierten Vertrag verknüpft. ■ Im Projekt SEMPER wurde der Prototyp eines „Fair Internet Trader“ (FIT) zum Handel mit Informationen in rein elektronischen Szenarien entwickelt. Er unterstützt neben der Verhandlung auch die Durchführung und Kontrolle einer Transaktion. Dabei stellt er u. a. sicher, dass ein Verkäufer eine Zahlung nicht erhält, ohne den Erhalt zu quittieren und, dass umgekehrt eine Quittung nur vergeben wird, wenn der Verkäufer die Zahlung erhält. Außerdem prüft FIT z. B. während der Verhandlung, ob und wie das jeweilige Gegenüber die Vertragsformulare ändert. ■ Eine prinzipielle Einschränkung bei Sicherheitsverhandlungen ist, dass Vertraulichkeitsziele nicht herauf-, sondern nur heruntergehandelt werden können: Information, die einmal ungeschützt übermittelt wird, kann z. B. nicht mehr als vertraulich angenommen werden und mit einem Dienstanbieter über die Anonymität einer Dienstleistung zu verhandeln, macht nur Sinn, wenn man dabei anonym bleiben kann. ■ Damit Nutzer wirklich über Sicherheitsanforderungen verhandeln können, müssen diese Anforderungen in eine anwendungsnahe Form gebracht werden, die Nutzer verstehen können und die Werkzeuge müssen von Laien bedienbar sein. ■ Schließlich hängt die Sicherheit der Verhandlung wesentlich von der Sicherheit der Geräte der Nutzer ab, z. B. davon, dass die technische Repräsentation der Verhandlungsposition der Nutzer nicht manipuliert werden kann.
7.5.8
Vertrauenswürdige Geräte in Nutzerhand
Mangelnde Sicherheit der Endgeräte (und speziell der Betriebssysteme handelsüblicher PCs) ist prinzipiell ein von Vernetzung unabhängiges Thema. Es wird aber bedeutender, weil über Netzzugänge oftmals unbemerkt Programme auf die Rechner gelangen, etwa ausführbare Inhalte von HTML-Seiten (z. B. ActiveX-Controls) oder Makros in Textdokumenten. Diese Programme können, da es den Betriebssystemen an Schutzfunktionen mangelt, weitgehende Aktivitäten, etwa Festplattenzugriffe entfalten. Aus den vergangenen Abschnitten ergeben sich jedoch trotz dieser Probleme mindestens folgende Aufgaben für sichere Geräte: ● Speicherung persönlicher Token und Geheimnisse wie z. B. Signatur und Entschlüsselungsschlüssel, digitale Münzen, Adressbücher und Informationen, für wen und wann man erreichbar ist. ● Sicherheitssensitive Verarbeitung von Daten, speziell das Signieren von Dokumenten mit der Sicherheit, dass wirklich das angezeigte Dokument und nicht ein anderes signiert wird („What you see is what you sign“). ● Verhandlungen, etwa über Erreichbarkeit oder Sicherheitsanforderungen. Verschiedene Ansätze versuchen, die Lücke zwischen verfügbarer und aus technischer Sicht benötigter Sicherheit in Endgeräten zu schließen: ■ Der persönliche Charakter der gespeicherten Informationen legt z. B. nahe, als Plattform für ein sicheres Gerät, etwa einen persönlichen Sicherheitsassistenten, Chipkarten vorzusehen, da sie leicht (etwa in der Brieftasche) transportabel und bei geeigneter Einrichtung der Schnittstelle (zum Chipkartenleser) vergleichsweise schwierig zu manipulieren sind. ▲ Problematisch ist jedoch, dass klassische Chipkarten Nutzern weder für die Ein- noch für die Ausgabe eine direkte und sichere Schnittstelle bieten. Werden bspw. zu signierende Dokumente über einen handelsüblichen PC angezeigt, muss auch dessen (Un-)Sicherheit in Betracht gezogen werden.
7.5 Sicherheit
7.5.9
361
Erkennbarkeit der Sicherheit für Nutzer
Die Komplexität heutiger IT macht eine Beurteilung ihrer Sicherheit durch einfache „Draufschau“ unmöglich. Die für eine qualifizierte Beurteilung erforderliche eingehendere Prüfung ist jedoch für viele Anwender zu aufwendig. Ein Weg zu mehr Erkennbarkeit der Sicherheit von IT ist, sie durch unabhängige Prüflabors auf der Basis veröffentlichter Kriterien, etwa ISO/IEC 15408 „Common Criteria“ evaluieren zu lassen. Solche Evaluationen helfen dann auch Nichtexperten, Systeme in Bezug auf ihre Sicherheit und die eigenen Anforderungen einzuschätzen. Hersteller oder Dienstanbieter können in seriöser Weise aufzeigen und prüfen lassen, welche Eigenschaften ihre Angebote haben. ■ Berichte über die Evaluationen (und die zugehörigen Zertifizierungen) finden sich unter anderem bei der Zertifizierungsstelle des Bundesamtes für Sicherheit in der Informationstechnik. ▲ Die meisten Evaluationen werden gegenwärtig von Herstellern finanziert, die dann auch Art und Umfang der Evaluationen bestimmen.
7.5.10
Entwurfsprinzipien für mehrseitige Sicherheit
Viele Risiken bei vernetzten Systemen sind in den jeweiligen Infrastrukturen angelegt. Ihnen muss möglichst schon beim Systementwurf entgegengewirkt werden, denn spätere „Nachbesserungen“ sind oft teuer und treffen das Problem meist nicht wirklich, sodass Schwachstellen bleiben. Einige Entwurfsprinzipien helfen, spätere Sicherheitsprobleme zu vermeiden. 1. Datensparsamkeit: Datensparsamkeit bedeutet, möglichst wenige Daten zu erheben und zu speichern, also insbesondere beim Entwurf zu prüfen, ob ein Dienst nicht auch mit weniger Daten als geplant erbracht werden kann. Man hat dann für weniger Daten Verantwortung, sie etwa gegen unbefugte Weitergabe zu schützen und spart nicht zuletzt Kosten. 2. Kontrollmöglichkeiten für die Nutzer: Damit Nutzer ihre Sicherheitsinteressen wahrnehmen können, müssen sie imstande sein, die von ihnen verwendete Technik und die sie betreffenden Datenflüsse zu kontrollieren. Dafür sind zunächst aussagekräftige Statusinformationen nötig, z. B. Auskunft darüber, welche Daten über die Nutzer gespeichert sind. Außerdem sind Informationen zu den Konsequenzen einer Handlung wichtig, z. B. welche Daten nach Anklicken eines Buttons auf einer WWWSeite an den jeweiligen Anbieter übermittelt werden. ■ Ein im E-Commerce besonders wichtiger Spezialfall ist die Abbildung der Warnfunktion eigenhändiger Unterschriften: Dass der Unterzeichner einen Stift in die Hand nehmen muss, zeigt ihm deutlich, dass es „ernst wird“, während sich das Anklicken eines Buttons „Vertrag“ kaum von dem Anklicken eines Buttons „Mehr Information“ unterscheidet. 3. Auswahlmöglichkeiten und Verhandlungsspielräume: Kontrollmöglichkeiten für Nutzer setzen voraus, dass diese verschiedene Optionen angeboten bekommen, um die auswählen zu können, die ihren Sicherheitsinteressen am besten entspricht. Dies ist z. B. wichtig, wenn es darum geht, welche und wie viele Daten sie wann und wie übermitteln, auf welche Weise sie bezahlen wollen oder wie sich Verantwortung und Haftung verteilen. 4. Dezentralisierung und Verteilung: Meist ist es aus Sicherheitssicht sinnvoll, Daten und andere Ressourcen zu dezentralisieren. Schäden können so in ihren Auswirkungen begrenzt werden, selbst wenn sie öfter auftreten sollten. Verteilung in Verbindung mit Redundanz hilft, die Verfügbarkeit und Integrität von Datenbanken zu schützen. Vermeidet man große Datenmengen in einer Hand, sinkt das Risiko eines Missbrauchs durch unzulässige Verknüpfung. Außerdem werden Angriffe von außen weniger attraktiv, weil weniger zu „holen“ ist. ▲ Schutz durch Dezentralisierung verlangt natürlich, dass auch in den dezentralen Einrichtungen, etwa den Rechnern der Kunden, auf ein ausreichendes Sicherheitsniveau geachtet wird. Ansonsten muss das Risiko eines Angriffs in einer professionell betriebenen Zentrale gegen das von Nachlässigkeiten in den dezentralen Einrichtungen abgewogen werden.
8
Finanzmathematik
8.1
Einfache Zinsen
Einfache Verzinsung, Zinsen pro Jahr über alle Jahre immer gleich groß. Das Kapital K0 wächst bei einem Zinssatz von i bei einfachen Zinsen in t Jahren auf Kt = K0 (1 + ti) Kt K0 = . (1 + ti) K0 Kt i t
Kapital zu Beginn = Anfangskapital = Barwert Kapital nach t Jahren = Endkapital = Endwert Zinssatz, (i wie engl. interest) Anzahl der Jahre = Laufzeit
■ Ein Kapital von 200 a wird mit einem Zinssatz von 3 % verzinst. Das Kapital ist dann nach zwei Jahren bei einfachen Zinsen auf K2 =200 a (1 + 2 × 0,03) =212 a angewachsen. ■ Wenn Sie nach fünf Jahren bei 3 % einfachen Zinsen ein Kapital von 400 a besitzen, ist das Kapital am 400 Anfang K0 = (1+5×0,03) =347,83 a gewesen. ▲ Die Formel für einfache Zinsen wird in der Praxis selten für Laufzeiten (t) größer als ein Jahr verwendet. Laufzeittage Zinsen innerhalb eines Jahres werden meist nach Tagen berechnet, und zwar t = Jahreslänge . in Tagen ● Die Berechnung der Laufzeittage (= Zinstage) und der Jahreslänge in Tagen (= Basis) hängt von der gewählten Berechnungsmethode (Day Count Convention) ab. Fünf Berechnungsmethoden (Usancen) sind gebräuchlich: Methode
30E/360
Beschreibung Sei t1 =T1.M1.J1 der Tag, der Monat und das Jahr des ersten Datums (Anfangsdatum) und t2 =T2.M2.J2 der Tag, der Monat und das Jahr des zweiten Datums (Enddatum). Die Differenz zweier Datumsangaben liefert die Anzahl der Tage vom ersten Datum bis zum zweiten Datum, d. h. t2 − t1 liefert die Anzahl der Tage von t1 bis t2. min(x,y) gibt den kleinsten Wert von x und y an. Die Anzahl der Zinstage basiert unabhängig von der tatsächlichen Länge des Monats auf der Voraussetzung, dass jeder Monat 30 Tage und das Jahr 360 Tage hat. Bei Monaten mit 31 Tagen ist der 31. kein Zinstag. 35 Beispiele: Vom 15.5.1997 bis 20.6.1997 ergibt t = . 360 360 + 60 + 15 435 Vom 15.1.1996 bis 31.3.1997 ergibt t = = . 360 360 (J2 − J1) × 360 + (M2 − M1) × 30 + min(T 2,30) − min(T 1,30) Formel: . 360 ■ Diese Methode wird in Deutschland u. a. bei der Verzinsung von Sparbüchern, Termingeldern oft angewandt.
8.1 Einfache Zinsen 30/360
363
Die Anzahl der Zinstage basiert wie bei der 30E/360-Methode auf der Voraussetzung, dass jeder Monat 30 Zinstage hat. Allerdings ist die Berechnung anders, falls der Endtag der 31. eines Monats ist: Es wird mit 31 Zinstagen gerechnet. 35 Beispiele: Vom 15.5.1997 bis 20.6.1997 ergibt t = . 360 436 Vom 15.1.1996 bis 31.3.1997 ergibt t = . 360 Formel: Wenn T 1 = 31, wird T 1 auf 30 gesetzt, d. h. auf min(T 1,30). Wenn T 2 = 31 und (T 1 = 30 oder T 1 = 31), wird T 2 auf 30 gesetzt, andernfalls wird T 2 beibehalten. Anschließend wird berechnet (J2 − J1) × 360 + (M2 − M1) × 30 + (T 2 − T 1) t= . 360 ▲ Viele Taschenrechner und EDV-Programme arbeiten nach dieser international angewandten Methode.
Actual/360
Die Methode basiert auf der exakten, kalender-genauen (engl.: actual) Aufzählung der Tage. Die Basistage betragen 360. 36 . Beispiele: Vom 15.5.1997 bis 20.6.1997 ergibt t = 360 441 . Vom 15.1.1996 bis 31.3.1997 ergibt t = 360 t2 − t1 Formel: t= . 360 ■ Anwendung bspw. in Deutschland bei Floating Rate Notes.
Actual/365
Wie Actual/360, nur Nenner 365. Beispiele: Vom 15.5.1997 bis 20.6.1997 ergibt t = Vom 15.1.1996 bis 31.3.1997 t =
36 . 365
441 . 365
t2 − t1 . 365 ■ Bei Geldmarktpapieren wird in Deutschland diese Methode verwendet. Formel:
Actual/Actual
t=
Bei dieser Methode werden sowohl die Laufzeittage als auch das zugrunde gelegte Basisjahr mit kalendergenauen Werten berücksichtigt. 36 Beispiele: Vom 15.5.1997 bis 20.6.1997 ergibt t = . 365 352 89 Vom 15.1.1996 bis 31.3.1997 ergibt t = +0+ . 366 365 Formeln: Sei Bk der Beginn des Jahres k, also der 1.1. des Jahres k, wobei BJ1 ≤ t1 < BJ1+1 < · · · < BJ2 ≤ t2 < BJ2+1 t = Bruchteil des Startjahres + Anzahl der „vollen“ Jahre +Anteil des Schlussjahres BJ1+1 − t1 t2 − BJ2 = + J2 − J1 − 1 + exakte Tage im Jahr J1 exakte Tage im Jahr J2
364
8 Finanzmathematik
8.2
Zinseszinsrechnung
Zinsen werden nach Ablauf eines Jahres dem Kapital zugeschlagen und im folgenden Jahr mitverzinst. ● Ein Kapital K0 führt bei jährlicher Verzinsung mit dem Zinssatz i in n Jahren auf ein Endkapital von = K0 · (1 + i)n = K0 qn (Zinseszins-Formel). Kn Kn = = = Kn vn . (1 + i)n qn
K0 K0 q=1+i=1+
p (Zinsfaktor). 100
n Laufzeit (kann erweitert werden auf R) qn Aufzinsungsfaktor oder Prolongationsfaktor Kn Endkapital (Zeitwert nach n Jahren) K0 Anfangskapital, Gegenwartswert oder Barwert Für die Laufzeit n gilt bei gegebenem Zinssatz, Anfangskapital und Endkapital: lg(Kn ) − lg(K0 ) . n= lg(q) Für den Zinssatz, der notwendig ist, bei gegebener Laufzeit und gegebenem Anfangskapital ein bestimmtes Endkapital zu erhalten, gilt: Kn n −1 . p = 100 K0 ■ Auf welches Endkapital Kn wächst ein Anfangskapital K0 von 1000 a mit Zinseszinsen bei 4% Zins in 2 Jahren an: K2 = 1000 a (1 + 0,04)2 = 1081,60 a ■ Bei welchem Zinssatz erhalten wir nach 2 Jahren 100 a Zinseszinsen? 1100 − 1 = 4,88 p = 100 1000
8.2.1
Vorschüssige Verzinsung
Nachschüssige oder dekursive Zinsen sind Zinsen, die am Ende einer Verzinsungsperiode anfallen. Vorschüssige oder antizipative Zinsen fallen am Anfang einer Verzinsungsperiode an. ● Bei der Zinseszinsrechnung mit vorschüssiger Verzinsung und dem vorschüssigen Zinssatz iv gilt: K0 = Kn (1 − iv )n (1 − iv )n heißt vorschüssiger Abzinsungsfaktor K0 Kn = . (1 − iv )n Bei „vorschüssiger einfacher“ Verzinsung gilt K0 = Kn (1 − n iv ) K0 Kn = . 1 − n iv ■ Auf welches Endkapital Kn wächst ein Kapital K0 von 1000 a bei vorschüssigen Zinseszinsen von 4% in 2 Jahren an? 1000 K2 = (1−0,04) 2 =1085,07 a Bei vorschüssiger Verzinsung ist das Endkapital höher als bei nachschüssiger Verzinsung.
8.3 Rentenrechnung
8.2.2
365
Unterjährige Verzinsung
Unterjährige Verzinsung, der Zuschlag der aufgelaufenen Zinsen auf das Kapital erfolgt zu mehreren Terminen gleichen Abstands im Jahr. ● Das Endkapital einer einmaligen Anlage bei unterjähriger Verzinsung beträgt nm i Kn = K0 1 + . m Wobei n die Laufzeit in Jahren und m die Anzahl der Zinstermine pro Jahr ist. Die Zinstermine müsssen dabei auf das Jahr gleichmäßig verteilt sein. i ist der Zinssatz auf ein Jahr bezogen. ■ Auf welches Endkapital Kn wächst ein Kapital K0 von 1000 a bei 4 % Zinsen in 2 Jahren an, wenn das Kapital monatlich verzinst wird (monatlicher Zinssatz 4 % : 12 = 0,33 %, 24 Monate Laufzeit) K24 = 1000 a · 1,003324 = 1082,28 a. Stetige Verzinsung, die Anzahl der Zinsperioden pro Jahr werde immer größer. Damit wird die Länge der Zinsperioden immer kleiner. ■ Anwendungen sind auch bei physikalischen und biologischen Vorgängen zu finden.
8.2.3
Stetige Verzinsung
● Bei stetiger Verzinsung und einem Zinssatz von is gilt: Kn = K0 eis n . Zwischen dem Zinssatz is bei stetiger Verzinsung und dem Zinssatz i bei „exponentieller“ Verzinsung gilt, wenn beide zu gleichen Endwerten führen sollen: 1 + i = eis oder i = eis − 1 oder is = ln(1 + i) . ■ Bei einem Anfangskapital K0 von 1000 a und einer stetigen Verzinsung von 4 % ergibt sich nach 2 Jahren ein Endkapital von K2 = 1000 a e0,04·2 = 1083,29 a.
8.3
Rentenrechnung
8.3.1
Grundbegriffe
▲ Der Begriff Rente hat im allgemeinen Sprachgebrauch unterschiedliche Bedeutungen. In der Finanzmathematik versteht man darunter Folgendes: Rente, Folge von gleich großen Zahlungen oder Leistungen in gleich großen Zeitabständen (z. B. 1 Jahr). Werden die Zahlungen jeweils zu Beginn bzw. am Ende einer Periode geleistet, so heißt die Rente vorschüssig bzw. nachschüssig. ▲ Renten können sowohl Einzahlungen auf als auch Abhebungen von einem Konto sein. Laufzeit, die Zeit, wie lange die Zahlungen geleistet werden. Zeitrente, Rente, die über einen im Voraus kalendermäßig festgelegten Zeitraum gezahlt wird. ■ z. B. Zinsleistungen aus festverzinslichen Wertpapieren Leibrente, Rente, deren Zahlungen von einem bestimmten Zeitpunkt an bis zum Lebensende erfolgen. ■ z. B. Angestelltenversicherung für Altersruhegeld, Lebensversicherung
366
8 Finanzmathematik
8.3.2
Nachschüssige Rente
Nachschüssige Rente (Postnumerando-Rente), die Rentenzahlungen werden am Ende einer Periode geleistet. ▲ Die Rentenzahlungen r können am besten anhand eines Zahlenstrahls dargestellt werden. n Jahre lang wird am Jahresende eine Zahlung geleistet:
Rentenendwert, Kapital, zu welchem die jährlichen Zahlungen bei einem festen Zinssatz führen. Dazu müssen alle Zahlungen auf den Zeitpunkt n aufgezinst werden. Rentenbarwert oder Gegenwartswert, heutiger Wert aller Rentenzahlungen. ▲ Bei einer nachschüssigen Rente wird die erste Rate ein Jahr nach dem Bezugszeitpunkt des Barwertes und die letzte Rate genau am Bezugszeitpunkt des Rentenendwertes geleistet. ● Rentenendwert einer nachschüssigen Rente in Höhe von r, die n Jahre gezahlt wird: Rn = r
qn − 1 qn − 1 =r = r sn q−1 i = sn
Barwert einer nachschüssigen Rente (kurz: Rentenbarwert): R0 =
Rn 1 qn − 1 = r = r an qn qn q − 1 = an
Laufzeit n bei gegebenem Zinssatz i, jährlicher Rente r und Rentenendwert Rn : i Rn +1 log log(i Rn + r) − log(r) r n= = log(1 + i) log(1 + i) Laufzeit n bei gegebenem Zinssatz i, jährlicher Rente r und Rentenbarwert R0 : R0 log 1 − i r n=− log(1 + i) 1 − q−n 1 − vn = i i qn − 1 nachschüssiger Rentenendwertfaktor = i Rente, Rentenrate Laufzeit in Jahren Zinssatz =1+i = q−1
an nachschüssiger Rentenbarwertfaktor sn r n i q v
=
8.3 Rentenrechnung
367
■ Welchen Barwert R0 hat eine 10 Jahre lang nachschüssig zu zahlende Rente r von jährlich 10.000 a (i=4%)? 1 1 qn − 1 1,0410 − 1 = 10.000 a · = 81.108,96 a · R0 = r n q q−1 1,0410 0,04 ● Näherungsweise Bestimmung des Zinssatzes i (bzw. q = 1 + i) bei nachschüssiger jährlicher Zahlungsweise und gegebenem Rentenendwert Rn , Rentenrate r und Laufzeit n: Ausgehend von der k-ten Näherung qk wird die nächste Näherung qk+1 nach dem Newton-Verfahren folgendermaßen errechnet: r qn + Rn (1 − qk ) − r , k = 1,2,3, . . . qk+1 = qk − k n r qn−1 − Rn n Dabei muss die erste Näherung q1 vorgegeben werden. ● Endwert einer einmaligen Zahlung K0 und einer jährlichen nachschüssigen Rente r, die n Jahre bei einem Zinssatz von i gezahlt wird: qn − 1 Rn = K0 qn + r . q−1 ■ Ein Gewinn von 100.000 a wird zu 4% angelegt. 10 Jahre lang werden jährlich nachschüssig je 5.000 a vom Gewinn abgehoben. Wie hoch ist das Kapital nach 10 Jahren? qn − 1 Kn = K0 qn + r q−1 K10 = 100.000 a · 1,0410 − 5.000 a
8.3.3
1,0410 − 1 = 87.993,89 a 0,04
Vorschüssige Rente
Vorschüssige Rente (Pränumerando-Rente), die Rentenzahlungen r erfolgen am Anfang des jeweiligen Zeitabschnittes.
● Rentenendwert einer jährlichen Rente mit vorschüssiger Zahlung: qn − 1 Rn = r q q−1 Rentenbarwert: 1 qn − 1 R R0 = nn = r n−1 q q q−1 mit Rn vorschüssiger Rentenendwert R0 vorschüssiger Rentenbarwert r Rente, Rentenrate n Laufzeit in Jahren q =1+i
368
8 Finanzmathematik
Laufzeit bei gegebenem Zinssatz i, jährlicher Rente r und Rentenendwert Rn : i Rn log 1 + r n= log(1 + i) Laufzeit bei gegebenem Zinssatz i, jährlicher Rente r und Rentenbarwert R0 : i R0 log 1 + i − r n=1− log(1 + i) ■ Ein Sparer zahlt 10 Jahre jährlich vorschüssig 10.000 a ein (p = 4). n −1 10 Rentenendwert: Rn = r q qq−1 = 10.000 a · 1,04 · 1,040,04−1 = 124863,51 a Rentenbarwert: R0 =
8.3.4
Rn qn
=
124863,44 1,0410
= 84353,32 a
Ewige Rente
Ewige Rente, die Anzahl der Rentenzahlungen ist unbegrenzt. ● Barwert einer ewigen jährlich nachschüssig zahlbaren Rente: r i ▲ Der Endwert einer ewigen Rente ist nicht endlich. R0 =
Kapitalisierungsfaktor, Faktor, mit dem die Rente multipliziert werden muss, um den Barwert zu erhalten. Bei nachschüssigen Rentenzahlungen beträgt er 1/i = 100/p Barwert einer jährlichen ewigen Rente mit vorschüssigen Zahlungen: rq i ■ Die Erbpacht für ein Grundstück soll als ewige Rente jährlich 5.000 a betragen. Welchen Wert besitzt das Grundstück bei 5% p. a., wenn die Erbpacht a) am Jahresende, b) am Jahresanfang fällig wird? R0 =
r 5000 = = 100.000 a i 0,05 rq 5000 · 1,05 b) R0 = = = 105.000 a i 0,05
a) R0 =
8.3.5
Aufgeschobene und abgebrochene Rente
Aufgeschobene Rente, die Rentenzahlung beginnen erst nach Ablauf von einigen Jahren (Karenzzeit oder Wartezeit)
8.3 Rentenrechnung
369
● Bei einer aufgeschobenen jährlich nachschüssig zu zahlenden Rente mit Karenzzeit k gilt: Rentenendwert: Rk+n = r sn Rentenbarwert: R0 = Rk+n q−(k+n) = r (an+k − ak ) mit
sn =
qn − 1 , i
a =
1 q − 1 , = k bzw. n + k . q q − 1
■ Eine Rente r von 500 a soll n = 10 Jahre nachschüssig gezahlt werden. Die erste Zahlung erfolgt nach einer Karenzzeit k von 5 Jahren. Wie hoch ist der Rentenbarwert R0 bei p = 6? R0 = r
q−k − q−(n+k) 1,06−5 − 1,06−15 = 500 a = 2749,94 a i 0,06
Abgebrochene Rente, die Rentenzahlungen enden zu einem bestimmten Zeitpunkt, während die „Zinseszinsrechnung“ noch weiterläuft.
● Abgebrochene nachschüssigen Rente: Barwert: R0 = r an Endwert: Rn+k = r sn qk = r an qn+k qn − 1 i ■ Wie hoch ist der Rentenendwert Rn+k bei einer abgebrochenen nachschüssigen Rente von 500 a mit n = 30 Jahren und k = 5 Jahren (p = 6)? mit
sn =
Rn+k = r sn qk R30+5 = 500 a ·
1,0630 − 1 · 1,065 = 52898,84 a 0,06
Unterbrochene Rente, zwischen den Rentenzahlungen liegen Karenzzeiten.
8.3.6
Jährliche Verzinsung – unterjährige Rentenzahlung
▲ Bei den bisherigen Betrachtungen fallen die Termine der Rentenzahlung mit den Zinsterminen zusammen, d. h. Rentenperiode = Zinsperiode. In diesem Abschnitt ist die eine Periode ein Vielfaches der anderen. ● Es gibt zwei Fälle zu betrachten: • jährliche Verzinsung und unterjährige Rentenzahlung • unterjährige Verzinsung und jährliche Rentenzahlung Ersatzrente, fiktive äquivalente Jahresrente bei unterjähriger (z. B. monatlicher) Zahlung aber jährlicher Verzinsung. ● Mit dieser äquivalenten Ersatzrente wird dann der Rentenendwert mithilfe der Formeln für die jährliche Rentenzahlung ermittelt.
370
8 Finanzmathematik
Nachschüssige Zahlungsweise:
● Fiktive jährliche Ersatzrente re , für die die nachschüssige Zahlung von m Raten im Jahr der Höhe r äquivalent ist, wenn unterjährig einfache Zinsen vergütet werden: (m − 1)i re = r m + 2 Rentenendwert: Rn = re sn ,
mit sn =
qn − 1 i
Rentenbarwert: Rn R0 = n q Rate r bei gegebenem Rentenendwert Rn , Zinssatz i und Laufzeit n, wenn r m-mal im Jahr gezahlt wird: r= m+
Rn i (m−1)i (qn 2
− 1)
■ Ein Sparer zahlt 6 Jahre lang auf einen Rentensparvertrag monatlich nachschüssig 200 a ein. Wie hoch ist das Kapital am Ende der Laufzeit (p = 6)? 11 · 0,06 Jährliche Ersatzrente: re = 200 a · (12 + ) = 2466 a 2 1,066 − 1 Rentenendwert: R6 = re · s6 = 2466 a · = 17.201,13 a 0,06 Sparplan: Jahre Endkapital davon Einzahlung Zinsen 1 2.466,00 2.400,00 66,00 2 5.079,96 4.800,00 279,96 3 7.850,76 7.200,00 650,76 4 10.787,80 9.600,00 1.187,80 5 13.901,07 12.000,00 1.901,07 6 17.201,13 14.400,00 2.801,13 Zahlt der Sparer jährlich nachschüssig 6 Jahre lang 2400 a ein, beträgt das Endkapital nach 6 Jahren (p = 6): R6 = 2400 a ·
1,066 − 1 = 16.740,76 a 0,06
Vorschüssige Zahlungsweise:
● Rentenendwert von m vorschüssigen Zahlungen im Jahr: Rn = re sn
8.3 Rentenrechnung
371
mit
(m + 1)i re = r m + fiktive jährliche Ersatzrente 2 qn − 1 sn = i ▲ Unterjährig werden dabei nur einfache Zinsen vergütet. ■ Ein Sparer zahlt 10 Jahre lang auf einen Rentensparvertrag monatlich vorschüssig 200 a ein. Wie hoch ist der Rentenendwert (i = 6%)? R10 = 200 a · (12 +
8.3.7
13 · 0,06 1,0610 − 1 )· = 32.662,01 a 2 0,06
Unterjährige Verzinsung
■ Eine nachschüssige jährliche Rentenzahlung von 1.000 a wird vierteljährlich bei einem Zinssatz von 4% (p. a.) verzinst, d. h. der Zinssatz beträgt 1% vierteljährlich. Wie hoch ist der Endwert der Rente nach zehn Jahren?
Jährliche Zahlungen und unterjährige Verzinsung ▲ Die Rentenzahlung wird an die Verzinsung angepasst, indem eine unterjährige Rente r (konforme Rente) gesucht wird, die bei m-maliger Zahlung pro Jahr äquivalent zu r ist. Sei i der Zinssatz pro Jahr, dann ist i = i/m der Zinssatz pro 1/m-Jahr. Mit q = 1 + i gilt: m m−2 m−1 q −1 r=r q +q +···+q +1 = r q −1 ● Jährliche Zahlungen und unterjährige Verzinsung: Rentenendwert Rn = r sm n Rentenbarwert R0 = r am n i = i/m q = 1 + i q − 1 r = r m q − 1 q n·m − 1 sm n = i 1 − q −n·m am n = i ■ Der Endwert aus dem obigen Beispiel beträgt mit
1,01 − 1 1,0140 − 1 · = 12.039,79 a 1,014 − 1 0,01 ▲ Die bisherigen Betrachtungen in diesem Abschnitt basieren auf jährlichen Rentenzahlungen und einer Verzinsung nach m1 Jahren. R10 = 1.000 a
372
8 Finanzmathematik
● Unterjährige Rentenzahlung bei unterjähriger Verzinsung: Rentenendwert nach n Jahren von nachschüssigen unterjährigen Zahlungen r bei m Zahlungen und m Verzinsungen pro Jahr und einem Zinssatz p. a. von i: m·n 1 + mi −1 Rn = r i m
Rentenbarwert: Rn m·n R0 = 1 + mi ■ Welcher Rentenbarwert R0 ist heute anzulegen, um bei vierteljährlicher Verzinsung (4% p. a.) 10 Jahre lang nachschüssig vierteljährlich 500 a zu erhalten? i m·n 1+ m −1 Rentenendwert: Rn = r i m 0,04 40 1+ 4 −1 R10 = 500 a = 24.443,19 a 0,04 4
Rentenbarwert:
Rn 24.443,19 = R0 = 40 = 16.417,34 a i m·n 1+ m 1 + 0,04 4
8.4
Tilgungsrechnung
8.4.1
Grundbegriffe
▲ Die Tilgungsrechnung behandelt die Rückzahlung von Darlehen, Krediten, Anleihen usw. Tilgung oder Tilgungsrate, Betrag der am Ende eines Zeitabschnittes zum Abtragen der Schuld gezahlt wird. Tilgungsfreie Zeit, Bei einem Darlehen kann vereinbart werden, dass die Tilgung erst nach mehreren Jahren beginnt. Die Anfangsschuld wird in den Jahren, in denen nicht getilgt wird, nur verzinst. Die tilgungsfreie Zeit plus die Tilgungszeit (Zeit, in der die Schuld getilgt wird) ergeben die Laufzeit des Darlehens. Restschuld, Schuld nach einer bestimmten Zeit, in der ein Teil der Schuld getilgt wurde. Annuität, (jährliche) Zahlung des Schuldners. Annuität ist die Summe aus Tilgung und Zinsen. Annuitätentilgung (auch Annuitätendarlehen), Annuitäten sind während des gesamten Tilgungszeitraums gleich hoch; der Tilgungsanteil nimmt dagegen zu. Ratentilgung, Die Tilgungsraten sind während des gesamten Tilgungszeitraums gleich hoch, die Annuitäten dagegen verschieden. Ratenkredit, Kredit mit speziellen Bedingungen. Bei einem Ratenkredit sind z. B. gleich hohe Beiträge zurückzuzahlen; es liegt also keine Ratentilgung vor. Tilgungsplan, Übersicht über sämtliche Zahlungen zur Tilgung einer Schuld. Für die einzelnen Jahre werden Zinsen, Tilgungsraten, Annuität und Restschulden angegeben. ▲ Der Tilgungsplan wird durch die tilgungsfreie Zeit nicht wesentlich verändert. Er enthält nur zusätzlich die tilgungsfreien Jahre mit der Zinszahlung.
8.4 Tilgungsrechnung
373
Bei einem Zinssatz von i ergibt sich folgender allgemeiner Tilgungsplan: Jahr 1 2 ... m ... n
Laufzeit Anfangsschuld Restschuld nach m Jahren, m = 1, . . . ,n Jahresleistung (Annuität) des Schuldners im m-ten Jahr Zinsen am Ende des m-ten Jahres Tilgungsbetrag im m-ten Jahr
● Bei einem Tilgungsplan gilt: Am = Tm + Zm K0 = T1 + . . . + Tn = A1 v + A2 v2 + . . . + An vn
8.4.2
mit v = (1 + i)−1
Ratentilgung
Ratentilgung, alle Tilgungsraten sind konstant, d. h. Tm = T für m = 1, . . . ,n. ● Bei einer Ratentilgung gilt, wenn die Schuld nach n Jahren getilgt sein soll: Tm = T =
K0 n
Km = K0 − mT = K0 (1 −
m ) n
m−1 )i , m = 1,2, . . . ,n n 1 m−1 + i(1 − ) i Am = Tm + Zm = K0 n n
Zm = K0 (1 −
■ Ein Unternehmen nimmt einen Kredit in Höhe von 50.000 a zu 6% Zinsen auf. Jährlich sollen durch Ratentilgung 12.500 a getilgt werden. Tilgungsplan Jahr 1 2 4 4 5
Restschuld zu Jahresanfang 50.000,– 37.500,– 25.000,– 12.500,– 0
Annuitätentilgung, die jährlichen Zahlungen (Annuitäten) sind konstant, d. h. Am = A für m = 1, . . . ,n. Der Schuldner hat über die gesamte Laufzeit gleich große Belastungen. Jahr 1 2 3 ... m ... n n+1
● Bei der Annuitätentilgung gilt: Am = A = Tm + Zm Tm = T1 qm−1 ,T1 = A − iK0 Zm = A − Tm K0 = T1 + T2 + . . . + Tn = T1 (1 + q + . . . + qn−1 ) = T1 sn K0 i q−1 K0 = Aan A= = K0 qn n n 1−v q −1 sn A = T1 = T1 qn an Km = Aan−m Km = K0 − T1 − . . . − Tm = K0 − sm T1 Km = K0 qm − Asm log 1 − iKA0 n = log v log TA1 log A − log T1 n = = log q log q mit an =
1 − vn qn − 1 = , qn (qn − 1) i
qn − 1 , i (Bei am , sm und an−m ist hier statt n der entsprechende Index einzusetzen.)
sn =
log v = − log q . ■ Ein Kredit von 50.000 a soll zu 6 % Zinsen in 4 Jahren durch jährliche Annuitäten getilgt werden. Tilgungsplan: A = K0 qn
q−1 0,06 = 50.000 a · 1,2624769 · = 14429,58 a n q −1 0,2624769
8.5 Abschreibung Jahr 1 2 4 4
Restschuld zu Jahresanfang 50.000,38.570,42 26.455,07 13.612,79
Zinsen 3000,2314,23 1587,30 816,77
Tilgung 11.429,58 12.115,35 12.842,28 13.612,79
375
Annuität 14.429.58 14.429.58 14.429.58 14.429.56
● Die Laufzeit eines Annuitätendarlehens mit einem nominellen Zinssatz i und einem (anfänglichen) Tilgungssatz von iT beträgt i + iT log iT . n= log(1 + i)
8.4.4
Unterjährige Verzinsung und Tilgung
■ Sie erhalten ein Darlehen in Höhe von 100.000 a mit einem Zinssatz von 5 %. Statt jährlicher Annuität von 36.000 a zahlen Sie jetzt monatlich 3.000 a zurück. Die Zins- und Tilgungsverrechnung soll auch monatlich (m = 12) erfolgen. Mit K0 = 100.000 a, p = 5, m = 12 gilt ein monatlicher Zinssatz von i = 0,05/12 = 0,004166667 und eine monatliche Zahlung von A = 3.000 a. Streng genommen dürfte diese monatliche Zahlung von 3.000 a nicht mit Annuität A abgekürzt werden. Es gilt mit K0 = 100.000 a,p = 5,m = 12,i = 0,05/12 = 0,004166667 und A = 3.000 a: log 1 − iKA0 −0,06494 n= = = 35,96, log v −0,001805 d. h. n ist ungefähr 36 Monate. Die Restschuld nach 35 Monaten beträgt (1 + i)35 − 1 (A − iK0 ) i = 100.000 a − 37,59666 · 2.583,33 = 2.875,24 a .
K35 = K0 − s35 T1 = 100.000 a −
Dadurch kann dann die Restzahlung berechnet werden.
8.5
Abschreibung
Abschreibungen, berücksichtigen die jährliche Wertminderung eines Wirtschaftsgutes (Maschinen, Fahrzeuge, Gebäude) durch a) verbrauchsbedingte (technische) Ursachen, b) wirtschaftlich bedingte Ursachen (z. B. technischer Fortschritt), c) zeitlich bedingte Ursachen (z. B. Ablauf eines Miet-, Leasingvertrages). ● Die Abschreibungen (steuerrechtlich: Absetzungen für Abnutzung: AfA) werden als Aufwand in der Gewinn- und Verlustrechnung erfasst. Zum Abschreibungspotenzial gehören die Anschaffungskosten (AK = Anschaffungspreis abzüglich Anschaffungspreisveränderungen zuzüglich Anschaffungsnebenkosten wie Transport-, Verpackungs-, Montagekosten). Abschreibungsfähige Wirtschaftsgüter (Gebäude, Maschinen, Fuhrpark, Betriebs- und Geschäftsausstattungen) sind durch planmäßige Abschreibungen aufgrund einer betriebsgewöhnlichen Nutzungsdauer im Wert zu mindern. Nicht vorhersehbare Wertminderungen (z. B. technischer Fortschritt) sind durch außerplanmäßige Abschreibungen zu berücksichtigen.
376
8 Finanzmathematik
8.5.1
Abschreibungsverfahren
● Lineare Abschreibung, Abschreibung vom Anschaffungswert K0 auf den Restwert KN nach N Nutzungsjahren in gleichen Jahresraten, Restwert nach n Jahren K0 − KN Kn = K0 − n · , n = 1,..,N . N ● Geometrisch-degressive Abschreibung, es werden jährlich von einem Wirschaftsgut p% von dem jeweiligen Buchwert abgeschrieben mit fallenden Abschreibungsbeträgen. geometrisch p n a) Restwert nach n Jahren Kn = K0 1 − 100 , n = 1,2,.. . b) Jährlicher prozentualer Abschreibungssatz p bei vorgegebener Abschreibungszeit N und gefordertem Restwert KN : KN N . p = 100 · 1 − K0 ■ Eine Anlage mit dem Anschaffungswert von 100.000 a wird jährlich mit 6% vom Restwert abgeschrieben. Restwert nach 5 Jahren: 5 6 K5 = 100.000 a · 1 − = 73.390,40 a 100 ● Leistungsabschreibung, die Abschreibungsbeträge werden nach der Leistung eines Wirtschaftsgutes bestimmt (z. B. Maschinenstunden, Inanspruchnahme des Rechenzentrums, gefahrene Kilometer). ■ Abschreibung eines LKW nach Fahrleistung:
= 100.000 a Anschaffungskosten K0 geschätzte Fahrleistung des LKW insgesamt = 200.000 km 100.000 a Abschreibung pro km = = 0,50 200.000 km Für ein Wirtschaftsgut ist ein zu Beginn der Nutzungsperiode gewähltes Abschreibungsverfahren beizubehalten. Lediglich der Übergang von der geometrisch-degressiven zur linearen Abschreibung (AfA) ist möglich ( §7 Abs 3 EStG). ■ Anschaffungskosten K0 der Maschine 100.000 a betriebsgewöhnliche Nutzungsdauer 5 Jahre Schrottwert 0 a Jahr geom. degr. AfA AK/Restbuchwert Übergang auf die 30% linear verteilt auf die lineare AfA möglich Restnutzungsdauer 1 AK 100.000,– – -30.000,– 20.000,– 2 70.000,– – −21.000,– 17.500,– 3 49.000,– 49.000,– −14.700,– 16.333,– → −16.333,– 4 – 32.667,– −16.333,– 5 – 16.334,– −16.334,– 0,–
9
Quantitative Methoden des modernen Wertpapier-Managements
9.1
Portfolio Selection
● Rendite einer Aktie: Prozentrendite: Logarithmierte Rendite:
St − St−1 St−1 St rt = ln St−1 rt =
St = Kurs der Aktie zum Zeitpunkt t
L
Erwartungswert der Rendite i:
µi =
∑ pl ril
l=1 L
Varianz der erwarteten Rendite:
σ i2 =
Standardabweichung der erwarteten Rendite: σ i =
pl = Wahrscheinlichkeit des Zustands l, i=Aktie
∑ pl (ril − µ i)2
l=1
σ i2
▲ Im Folgenden werden meist logarithmierte Renditen betrachtet.
Am Kapitalmarkt werden nach Annahme N riskante Wertpapiere (=Aktien) gehandelt. ● Effiziente Portefeuilles bieten bei gleichem Erwartungswert der Rendite eine niedrigere Standardabweichung oder bei gleicher Standardabweichung einen höheren Erwartungswert der Rendite gegenüber nichteffizienten Portefeuilles. Efficient Set: Menge aller effizienten Portefeuilles. Efficient Frontier (Effiziente Line, Effizienter Rand): Linie, auf der die effizienten Portefeuilles liegen. Entspricht im (µ ,σ )-Raum einer Hyperbel. Ausgangspunkt und Grundlage der modernen Kapitalmarkttheorie ist die von Markowitz entwickelte Portfolio-Selection-Theorie. Als normative Theorie leitet sie her, wie ein Anleger mit gegebenen Erwartungen unter bestimmten Annahmen und auf Basis seiner Risikopräferenz die Struktur seines Portefeuilles aus riskanten Wertpapieren optimieren sollte. ● Annahmen der Portfolio Selection: 1. Anleger maximiert Bernoulli-Nutzen. Grenznutzen ist positiv. 2. Anleger trifft seine Entscheidung anhand einer quadratischen Risikofunktion. Alternativ zu dieser Annahme werden multivariat normalverteilte Wertpapierrenditen vorausgesetzt. 3. Anleger beurteilt Wertpapiere und Portfolios anhand des Erwartungswertes und der Standardabweichung (bzw. der Varianz) der Rendite. 4. Anleger ist risikoavers. 5. Anlagehorizont des Investors beträgt eine Periode. 6. Anzahl der Wertpapiere und Wahrscheinlichkeitsverteilungen der zukünftigen Renditen der Wertpapiere sind exogen und dem Investor bekannt. 7. Wertpapiere sind beliebig teilbar. Anleger kann Leerverkäufe durchführen. Anleger ist Preisnehmer. 8. Es fallen weder Transaktionskosten noch Steuern an.
9.1.1
Grundmodell ohne Existenz einer risikofreien Anlage
• Budgetrestriktion der Aktienanlage: N
∑ xi = 1 i=1
mit xi als Anteil der Aktie i am Portefeuille.
378
9 Quantitative Methoden des modernen Wertpapier-Managements
▲ Bei gegebenen Renditeparametern der einzelnen Aktien (Erwartungswerte, Varianzen, Kovarianzen) ist die Struktur eines Portefeuilles vollständig durch die Anteile beschrieben, die in die einzelnen Aktien investiert werden. Im Grundmodell werden für die xi keine Obergrenzen oder Nichtnegativitätsbedingungen vorausgesetzt. • Erwartungswert der Portefeuille-Rendite: N
µp =
∑ xi µ i
i=1
mit µ i als Erwartungswert der Rendite ri der Aktie i. • Varianz der Portefeuille-Rendite: N
σ p2 =
N
∑ ∑ xi x j σ i j
i=1 j=1
mit σ i j als Kovarianz der Renditen der Aktien i und j. • Portefeuille-Optimierung: Minimierung der Portefeuille-Varianz σ p2 unter den Nebenbedingungen N
∑ xi = 1
N
µ¯ p =
und
i=1
∑ xi µ i .
i=1
▲ Für einen vorgegebenen Erwartungswert der Portefeuille-Rendite µ¯ p ist die Wertpapiermischung {x1 ,x2 , . . . ,xN } zu finden, die die Varianz der Portefeuille-Rendite minimiert.
a) Lagrange-Ansatz des Portefeuille-Problems ● Lagrange-Ansatz zur Lösung der Portefeuille-Optimierung: N
N
N
L = ∑ ∑ xi x j σ i j − λ 1
∑ xi µ i − µ¯ p
i=1 j=1
− λ2
i=1
N
∑ xi − 1
.
i=1
Ableitungen der Lagrange-Funktion: N ∂L = 2 ∑ x j σi j − λ1µ i − λ2 = 0 ∂xi j=1
∂L =− ∂λ 1 ∂L ∂λ 2
=−
N
∑ xi µ i − µ¯ p
i=1
N
für i = 1,2, . . . ,N
=0
∑ xi − 1
=0
i=1
● Aktienanteile im Optimum: xi =
1 N σˆ i j λ 1 µ j + λ 2 ∑ 2 j=1
für i = 1,2, . . . ,N
mit σˆ i j als Element der Inversen der Varianz-Kovarianz Matrix.
Ist die Varianz-Kovarianz Matrix invertierbar, dann ist der Vektor der optimalen Portefeuille-Anteile xi bestimmt durch: σˆ 11 σˆ 12 . . . σˆ 1N λ1µ1 + λ2 x1 x2 1 σˆ 21 σˆ 22 . . . σˆ 2N λ 1 µ 2 + λ 2 . . = . . . . .. . 2 . . . . . . . . . . xN σˆ N1 σˆ N2 . . . σˆ NN λ1µN + λ2 ▲ Ökonomisch bedeutet die Invertierbarkeit der Varianz-Kovarianz Matrix, dass es keine zwei ver-
schiedenen Linearkombinationen von Wertpapieren gibt, die vollständig korreliert sind und keine Aktie eine Varianz von Null hat. ● Lagrange-Multiplikatoren im Optimum: Cµ¯ p − B A − Bµ¯ p λ1 = 2 und λ 2 = 2 2 AC − B AC − B2 mit den Marktkonstanten N
N
A = ∑ ∑ µ i µ j σˆ i j , i=1 j=1 N
N
N
N
B = ∑ ∑ µ i σˆ i j = ∑ ∑ µ j σˆ i j i=1 j=1 N
und
i=1 j=1
N
C = ∑ ∑ σˆ i j . i=1 j=1
Die Werte der Lagrange-Multiplikatoren folgen aus den beiden Gleichungen N N N N 1 und 1= λ 1 ∑ ∑ µ j σˆ i j + λ 2 ∑ ∑ σˆ i j 2 i=1 j=1 i=1 j=1 N N N N 1 µ¯ p = λ 1 ∑ ∑ µ i µ j σˆ i j + λ 2 ∑ ∑ µ i σˆ i j , 2 i=1 j=1 i=1 j=1 die man aus der Summation der Bedingung für die Aktienanteile im Optimum über alle i bzw. aus der Multiplikation des Ergebnisses im Optimum mit µ i und anschließender Summation über alle i erhält. ■ Aktien A und B mit µ A = 0,2, µ B = 0,3, σ A2 = 0,04, σ B2 = 0,08 und cov(rA ,rB ) = 0,02. Optimales (varianzminimales) Portefeuille für µ¯ p = 0,25: Aus xA + xB = 1 folgt xB = 1 − xA und aus xA µ A + xB µ B = µ¯ p folgt 0,2xA + 0,3 (1 − xA ) = 0,25. Lösung: xA = xB = 0,5. Portefeuille-Varianz: σ p2 = 0,04.
b) Bestimmung des effizienten Randes Allgemeiner Zusammenhang zwischen Varianz und Erwartungswert eines varianzminimalen Portefeuilles: σ p2 =
A − 2Bµ p + Cµ p2 AC − B2
380
9 Quantitative Methoden des modernen Wertpapier-Managements
• Multiplikation der Ableitung der Lagrange-Funktion nach den Aktienanteilen mit xi und Summation über alle i: N
1 1 xi ∑ x j σ i j = λ 1 xi µ i + λ 2 xi . 2 2 j=1 Durch Einsetzen der Werte für λ 1 und λ 2 in Abhängigkeit von alternativen µ¯ p -Werten folgt: σ p2 = µ p
Cµ p − B A − Bµ p + . AC − B2 AC − B2
• Minimum-Varianz-Portefeuille MVP: µ MVP =
B C
2 und σ MVP =
1 C
Der Erwartungswert und die Varianz der Rendite des Portefeuilles mit der absolut geringsten Varianz folgen aus der Bedingung: d σ p2 2Cµ p − 2B = =0 dµ p AC − B2 • Effiziente Linie der Wertpapiermischungen, nach rechts ansteigender Ast einer Parabel im (µ p ,σ p )– Achsendiagramm: AC − B2 2 µ p = µ MVP + σ p2 − σ MVP C
9.1.2
Portfolio Selection bei Existenz einer risikofreien Anlage
Anleger hat die Möglichkeit, seine Mittel in eine risikofreie Anlage zu investieren. Die Varianz der sicheren Rendite r ist gleich Null. Zu dieser Rendite r kann sich der Anleger auch Geldmittel beschaffen. Mit y sei der Anteil des Anleger-Portefeuilles bezeichnet, der in die risikofreie Anlage investiert wird. N
Modifizierte Budgetrestriktion der Aktienanlage:
∑ xi + y
=1
i=1
N
Erwartungswert der Portefeuille-Rendite:
i=1 N N
Varianz der Portefeuille-Rendite:
N
µ p = ∑ xi µ i + yr = r + ∑ xi (µ i − r) i=1
σ p2 = ∑ ∑ xi x j σ i j i=1 j=1
● Portefeuille-Planungsproblem: Minimiere die Portefeuille-Varianz σ p2 unter der Nebenbedingung N
µ¯ p = r + ∑ xi (µ i − r) . i=1
a) Lagrange-Ansatz des Portefeuille-Problems ● Lagrange-Funktion zur Bestimmung des optimalen Portefeuilles: N
N
L = ∑ ∑ xi x j σ i j − λ i=1 j=1
N
r + ∑ xi (µ i − r) − µ¯ p i=1
9.1 Portfolio Selection
381
Ableitungen der Lagrange-Funktion: ∂L ∂xi ∂L ∂λ
N
= 2 ∑ x j σ i j − λ (µ i − r) = 0 j=1
für i = 1,2, . . . ,N
N
= − r + ∑ xi (µ i − r) − µ¯ p
=0
i=1
● Lösung der Optimierung: 1 Aktienanteile im Optimum: xi = λ 2 Risikofreie Anlage:
N
1 2
∑ σˆ i j µ j − rλ j=1
N
∑ σˆ i j
für i = 1,2, . . . ,N
j=1
A − Br − Bµ¯ p + Crµ¯ p A − Br − Br + Cr2 µ¯ p − r λ =2 A − 2Br + Cr2 y=
Lagrange-Multiplikator:
Die Werte für y und λ folgen aus der Bedingung für die optimalen Aktienanteile. Die Addition über alle i ergibt N
1
1
∑ xi = 2 λ B − 2 λ rC = 1 − y i=1
mit den bekannten Marktkonstanten B und C, sodass also λ in Abhängigkeit von y beschrieben ist. Elimination von y durch Multiplikation der Gleichung der Bedingung für die optimalen Aktienanteile mit µ i und Summation über alle i: N
1
1
∑ xi µ i = 2 λ A − 2 λ rB = µ¯ p − yr i=1
mit der bekannten Marktkonstante A.
b) Bestimmung des effizienten Randes Allgemeiner Zusammenhang zwischen Erwartungswert und Varianz der Rendite eines varianzminimalen Portefeuilles: σ p2 =
(µ p − r)2 A − 2Br + Cr2
√ ● Effiziente Linie: µ p = r + σ p A − 2Br + Cr2 ▲ Die effiziente Linie ist eine Gerade im (µ p ,σ p )–Koordinatensystem.
9.1.3
Separationstheorem von Tobin
● Separationstheorem von Tobin: Die Struktur des optimalen Aktien-Portefeuilles ist unabhängig vom Umfang des Portefeuilles riskanter Anlagen. Anteil Anleger-Portefeuille, der in die Aktie i investiert wird: N
xi =
µp − r
∑ σˆ i j (µ j − r) A − 2Br + Cr2 j=1
382
9 Quantitative Methoden des modernen Wertpapier-Managements
Bezogen auf die gesamte Portefeuille-Struktur ist dieser Anteil wegen B − Cr
N
∑ xi = (µ p − r) A − 2Br + Cr2 i=1
unabhängig vom Erwartungswert µ p des Anleger-Portefeuilles: N
xi N
∑ xi
∑ σˆ i j (µ j − r) =
j=1
B − Cr
i=1
▲ Bietet sich einem Anleger neben riskanten Aktienanlagen noch die Möglichkeit einer risikofreien Geldanlage bzw. Geldaufnahme, dann hat der angestrebte Erwartungswert der Rendite zwar Einfluss auf den Umfang der in die riskanten Aktien insgesamt zu investierenden Mittel. Die Struktur des optimalen Aktienbestandes bleibt davon aber unbeeinflusst, sodass der Anleger die Entscheidung über die Struktur des optimalen Aktien-Portefeuilles unabhängig von der Entscheidung über den Umfang des optimalen Aktien-Portefeuilles treffen kann.
9.1.4
Tangential-Portefeuille
Tangential-Portefeuille, Tangente von µ p = r an die aufsteigende effiziente Linie. • Steigung der effizienten Linie an der Stelle σ p = σ T : σ T AC − B2 $ 2 σ T2 − σ MV AC − B2 C P • Steigung der Tangente von r an den effizienten Rand: $ 2 µ0 − r + σ T2 − σ 02 AC−B µT − r C = σT
σT
• Gleichsetzen der beiden Steigungen ergibt: % AC − B2 2 4 σ T = σ MV + σ P MV P C (µ MV P − r)2 2 Mit µ MV P = B/C sowie σ MV P = 1/C:
Standardabweichung der Rendite des Tangential-Portefeuilles: √ A − 2Br + Cr2 σT = B − Cr Erwartungswert der Rendite des Tangential-Portefeuilles: A − Br B − Cr ● Tangential-Portefeuille als Portefeuille riskanter Aktien: µT =
xTi =
∑Nj=1 σˆ i j (µ j − r) B − Cr
9.1 Portfolio Selection
9.1.5
383
Portefeuille-Risiken der Wertpapiere
▲ In diversifizierten Portefeuilles erscheint es nicht sinnvoll, das Risiko eines Wertpapiers durch die Standardabweichung seiner Renditeverteilung zu beschreiben. Das Risiko eines Wertpapiers muss vielmehr im Portefeuille-Zusammenhang gesehen und gemessen werden. Portefeuille-Risiko einer Aktie i: die auf σ p normierte Kovarianz einer Aktie i im Portefeuille p: PRi =
cov(ri ,r p ) σp
= σ i ip
mit − 1 ≤ ip ≤ 1
Fallunterscheidungen: • ip = 1 • ip < 1 • ip < 0
⇒ ⇒ ⇒
PRi = σ i ; PRi < σ i ; PRi < 0, d. h. das Wertpapier trägt im betrachteten Portefeuille zu einer Verminderung des Gesamtrisikos bei.
Portefeuille-Risiko eines Wertpapiers i in einem effizienten Portefeuille p: PRi = (µ i − r)
λ µi − r = σp 2σ p µp − r
In einem effizienten Portefeuille ist das Portefeuille-Risiko einer Aktie proportional zu ihrer Risikoprämie. Bei Gültigkeit des Separationstheorems ist also in allen Anleger-Portefeuilles das Portefeuille-Risiko eines Wertpapiers gleich groß. ● Verhältnis der Portefeuille-Risiken in effizienten Portefeuilles: PRi µi − r = PR j µj − r ● Alternative Darstellung der Effizienzgerade mithilfe des Portefeuille-Risikos: µp = r +
(µ T − r) σT
σp
■ Kapitalmarkt mit Aktien A und B: µ A = 0,08, µ B = 0,14, σ A = 0,1, σ B = 0,15, AB = 0,4, r = 0,05. Optimales (varianzminimales) Portefeuille mit µ¯ p = 0,11: L ∂L ∂xA ∂L ∂xB ∂L ∂λ
Es folgt xA = 11,75%, xB = 62,75% und y = 1 − xA − xB = 25,50%. Portefeuille-Risiken von A und B: 0,08 − 0,05 PRA = 0,09410 · = 0,0497 , PRB = 0,1491 0,11 − 0,05 Verhältnis der Portefeuille-Risiken: PRA µA − r 1 = = PRB µB − r 3
384
9 Quantitative Methoden des modernen Wertpapier-Managements
9.2
Capital Asset Pricing Model
9.2.1
Grundlagen
Effizienzgerade im Kapitalmarktgleichgewicht: µ p = r + (µ M − r)
σp σM
Systematisches Risiko SRi eines Wertpapiers: Risikobeitrag eines Wertpapiers i zum Markt-Portefeuille M: µi − r PRiM = SRi = σ M µM − r ▲ Die Aussagen des CAPM gelten nur für den Fall, dass bei gegebenem Informationsstand Aktienangebot (emittierte = umlaufende Aktien) und Aktiennachfrage der Anleger bei den abgeleiteten Aktienrenditen (Kursen) übereinstimmen.
9.2.2
Annahmen des CAPM
Capital Asset Pricing Model (CAPM), beruht auf den gleichen Annahmen wie die Portfolio Selection. Zusätzlich gilt: 1. Risikofreier Zinssatz ist für alle Anleger identisch. 2. Informationen sind für alle Anleger kostenlos und unmittelbar verfügbar. 3. Anleger haben homogene Erwartungen. 4. Kapitalmarkt ist im Gleichgewicht. ▲ Implikationen der Annahmen 1. bis 3.: Aufgrund der homogenen Erwartungen und des für alle Anleger identischen risikofreien Zinssatzes berechnen alle Anleger die gleiche Effizienzgerade. Alle individuellen Portfolios befinden sich folglich auf dieser Linie. Damit investieren alle Anleger je nach Grad der Risikoaversion einen Teil bzw. ein Vielfaches ihrer Mittel in das für alle gleiche (!) Tangential-Portefeuille. Kapitalmarktgleichgewicht, der Markt ist geräumt; individuelle Portefeuille-Pläne aller Anleger sind bei den Gleichgewichtskursen kompatibel; kein Anleger hat bei den herrschenden Kursen das Bedürfnis, sein Portefeuille umzustrukturieren. ▲ Implikation der Annahme 4.: Besteht ein solches Kapitalmarktgleichgewicht, so gibt es weder ein Überschussangebot noch eine Überschussnachfrage nach bestimmten Wertpapieren. Im Tangential-Portefeuille müssen demnach alle Aktien enthalten sein. Dieses wird als Markt-Portefeuille M bezeichnet.
9.2.3
Hypothesen des CAPM
Risk-Return-Beziehung, erwartete Rendite eines Wertpapiers im Kapitalmarktgleichgewicht: µM − r µi = r + SRi σM
bzw. µi − r
Risikoprämie der Aktie i
=
µM − r σM
Marktpreis des Risikos
SR i Systematisches Risiko der Aktie i
9.2 Capital Asset Pricing Model
385
▲ Im Kapitalmarktgleichgewicht besteht ein linearer Zusammenhang zwischen dem Erwartungswert der Wertpapierrendite und dem systematischen Risiko des Wertpapiers. Die erwartete Rendite ergibt sich als Summe aus dem risikofreien Zinssatz und dem systematischen Risiko, das mit dem Marktpreis des Risikos bewertet wird. Das systematische Risiko ist demnach als einziges bewertungsrelevant. Die isoliert gemessene Volatilität (die Standardabweichung der Rendite) spielt über das systematische Risiko hinaus ebenso wenig eine Rolle wie das unsystematische Risiko, das im Markt-Portefeuille vollständig diversifiziert ist. Risikoprämie einer Aktie µ i − r, wird im Kapitalmarktgleichgewicht durch den Marktpreis des Risikos und das systematische Risiko dieses Wertpapiers bestimmt. ▲ Der Standardabweichung der Rendite (der Volatilität) kommt kein eigenständiger Erklärungswert zu. ● Linearer Zusammenhang zwischen den Erwartungswerten der Risikoprämien und den systematischen Risiken der Wertpapiere. Für jede zusätzliche Einheit „Systematisches Risiko“ sollte eine zusätzliche Einheit „Erwartungswert der Risikoprämie“ vergütet werden. Der Marktpreis des Risikos ist positiv, die Risikoprämie nimmt mit steigendem systematischen Risiko zu.
9.2.4
Security Market Line
▲ Die Wertpapiermarktgerade bezieht sich auf ein einzelnes Wertpapier und trifft eine Aussage über die erwartete Rendite dieses Wertpapiers im Kapitalmarktgleichgewicht. Ist das systematische Risiko höher als das Risiko des Markt-Portefeuille, dann liegt auch die erwartete Rendite des Wertpapiers über der des Markt-Portefeuille. Security Market Line: µi = r +
µM − r SRi σM
● Die Steigung der Wertpapiermarktgerade (Security Market Line) entspricht dem Marktpreis des Risikos. µi 6
µM
r
Wertpapiermarktgerade
σM
-
SRi
Alternative Darstellung der Wertpapiermarktgerade µ i = r + (µ M − r)β i
mit β i =
cov(ri ,rM ) var(rM )
● Der Beta-Faktor β i misst das systematische Risiko der Aktie i im Markt-Portefeuille. Das grafische Bild wird ebenfalls als Wertpapiermarktgerade bezeichnet.
386
9 Quantitative Methoden des modernen Wertpapier-Managements µi 6
µM
r
Wertpapiermarktgerade
1
-
βi
▲ Beta-Faktor des Markt-Portefeuille ist gleich Eins. Entsprechend ist die erwartete Rendite eines Wertpapiers bei einem β i > 1 höher als die erwartete Marktrendite und bei einem β i < 1 niedriger als die erwartete Marktrendite. ■ Kapitalmarkt mit Aktien A und B: Markt-Portefeuille mit µ M = 12%, σ M = 10% und r = 5%. Weiter sind gegeben AM = 0,5, BM = 0,3, σ A = 25%, σ B = 30%. Für die Beta-Faktoren gilt: β A =
0,25 · 0,5 = 1,25, β B = 0,9. 0,1
Erwartete Renditen: µ A = r + β A (µ M − r) = 13,75% ,
9.2.5
µ B = 11,3%
Capital Market Line
Capital Market Line: µ p = r + (µ M − r)
σp σM
Die grafische Umsetzung der Effizienzgerade im Kapitalmarktgleichgewicht bezeichnet man als Kapitalmarktgerade (Capital Market Line). Es besteht ein linearer Zusammenhang zwischen dem Erwartungswert der Portefeuille-Rendite und dem Risiko des Portfolio, gemessen als Standardabweichung der Portefeuille-Rendite. µp 6
µM
r
Kapitalmarktgerade
σM
-
σp
9.3 Index- und Faktormodelle
9.3
Index- und Faktormodelle
9.3.1
Ein-Index-Modell und Ein-Faktor-Modell
387
a) Ein-Index-Modell Rendite-erzeugender Prozess eines Ein-Index-Modells (Single-Index-Modell, Diagonal-Modell): cov(rit ,It ) σ iI = 2 . rit = ai + bi It + ε it mit bi = var(rI ) σI It ist ein zunächst nicht näher definierter Index; ai stellt die Komponente der Aktienrendite rit dar, die unabhängig vom Index ist; bi ist die Sensitivität der Aktienrendite bezüglich des Index; ε it ist ein Störterm. ● ai und bi sind annahmegemäß im Zeitablauf konstant. Die Sensitivität bi gibt die durchschnittliche Veränderung der Rendite der Aktie bei einprozentiger Veränderung des Index an. Die Zeitindizierung wird im Weiteren meist unterdrückt. ▲ Nach Annahme hat der Störterm einen Erwartungswert von Null bei konstanter Varianz ist die Kovarianz zwischen der Störgröße und dem Index gleich Null und sind die Kovarianzen zwischen den Störgrößen der Wertpapiere ebenfalls gleich Null. • Erwartete Rendite der Aktie i beim Ein-Index-Modell: µ i = E(ri ) = E(ai + bi I + ε i ) = ai + bi E(I) .
• Varianz der Aktienrendite beim Ein-Index-Modell: var(ri ) = cov(ri ,ri ) = b2i cov(I,I) + 2bi cov(I,ε i ) + cov(ε i ,ε i ) = b2i σ I2 + σ ε2 . Aufteilung der Varianz der Aktienrendite in zwei Komponenten: linker Term als das indexbezogene Risiko (= Faktorrisiko); rechter Term als das idiosynkratische bzw. wertpapierbezogene (wertpapierspezifische) Risiko. • Bestimmtheitsmaß zwischen Aktienrendite und Faktor:
2iI = 1 −
σ 2 . σ i2
Das Bestimmtheitsmaß gibt an, wie viel Prozent der Varianz der Aktienrendite durch den Index erklärt werden. • Rendite eines Portefeuilles im Ein-Index-Modell: N
N
N
N
N
i=1
i=1
i=1
i=1
i=1
r p = ∑ xi ri = ∑ xi (ai + bi I + ε i ) = ∑ xi ai + ∑ xi bi I + ∑ xi ε i . Vereinfacht: r p = a p + b p I + ε p
N
N
N
i=1
i=1
i=1
mit a p = ∑ xi ai , b p = ∑ xi bi , ε p = ∑ xi ε i .
• Erwartungswert und Varianz eines Portefeuilles: µ p = a p + b p E(I) . σ p2 = b2p σ I2 + σ ε2 =
N
∑ xi bi
i=1
2
N
σ I2 + ∑ x2i σ ε2i . i=1
Der letzte Term, das idiosynkratische Risiko verschwindet bei ausreichender Diversifikation. • Kovarianz zwischen Aktienrenditen beim Ein-Index-Modell: cov(ri ,r j ) = bi b j cov(I,I) + bi cov(I,ε j ) + b j cov(I,ε i ) = bi b j σ I2 .
388
9 Quantitative Methoden des modernen Wertpapier-Managements
▲ Mit der Kenntnis von Erwartungswert, Varianz und Kovarianz kann man das Portefeuille-Planungsproblem stark vereinfachen, da man eine deutlich geringere Anzahl von Schätzungen benötigt. Bei der Portfolio Selection benötigt man bei N Wertpapieren Schätzungen für den risikolosen Zinssatz (1 Parameter), die Erwartungswerte der Renditen (N), die Varianzen der Renditen (N) sowie für die Kovarianzen ((N 2 − N)/2). Beim Ein-Index-Modell benötigt man Schätzungen für den risikolosen Zinssatz (1), den Erwartungswert des Index (1), die Varianz des Index (1), ai für jedes Wertpapier (N), bi für jedes Wertpapier (N) sowie für die Varianzen der Störterme (N). Während man also bei der Portfolio Selection (N 2 + 3N + 2)/2 Schätzungen benötigt, sind beim Ein-Faktor-Modell 3N + 3 Schätzungen erforderlich. ■ Ein Vergleich der Anzahl der Schätzungen zeigt den Vorteil des Ein-Index-Modells ab einer Anzahl von 5 Wertpapieren: N Portfolio Selection Ein-Index-Modell 2 6 9 3 10 12 4 15 15 5 21 18 10 66 33 50 1326 153 100 5151 303 300 45451 903
b) Ein-Faktor-Modell Ein-Faktor-Modell: rit = ai + bi Ft + ε it ● Im Prinzip sind Faktor- und Index-Modell identisch. Lediglich unterschiedliche Bezeichnung in der Literatur und Ersetzung des Indexzeichens I durch das Faktorzeichen F. bi wird häufig als Faktorsensitivität und das indexbezogene Risiko als Faktorrisiko bezeichnet.
9.3.2
Multi-Index- und Mehr-Faktoren-Modelle
• Rendite-erzeugender Prozess eines Multi-Index-Modells: rit = ai + bi1 I1t + bi2 I2t + . . . + biκ Iκ t + ε it . • Erwartete Rendite der Aktie i beim Multi-Index-Modell: µ i = E(ri ) = ai + bi1 E(I1 ) + . . . + biκ E(Iκ ) . • Annahmen des Multi-Index-Modells für alle Aktien i und Indizes k: 1. E(ε i ) = 0. 2. σ ε2i ist konstant. 3. Rendite ai und Sensitivitäten bik sind im Zeitablauf konstant. 4. cov(ε i ,ε j ) = 0. 5. cov(ε i ,Ik ) = 0. 6. Ergänzend zum Ein-Faktor-Modell wird cov(Il ,Im ) = 0 angenommen, d. h., zwischen zwei Indizes darf keine Korrelation bestehen. • Varianz der Aktienrendite beim Multi-Index-Modell: var(ri ) = cov(ri ,ri ) = b2i1 σ I21 + . . . + b2iκ σ I2κ + σ ε2i .
9.3 Index- und Faktormodelle
389
• Kovarianz zwischen den Renditen: cov(ri ,r j ) = bi1 b j1 σ I21 + . . . + biκ b jκ σ I2k . ▲ Auch hier kann das Risiko wieder zerlegt werden, wobei das index- oder faktorbezogene Risiko auf die jeweiligen Faktoren aufgeteilt wird. ▲ Für praktische Anwendungen von Index- und Faktor-Modellen ist es notwendig, die (Faktor-)Sensitivitäten bik und den Parameter ai zu kennen. Diese werden i. d. R. aus vergangenen Daten der Aktien und der Faktoren mithilfe einer einfachen (univariaten) Regression im Falle eines Ein-Index-Modells oder einer multiplen (multivariaten) Regression bei einem Multi-Index-Modell geschätzt. Die gängigste Methode zur Schätzung einer Regressionsgleichung ist das OLS (Ordinary Least Square = Methode der kleinsten Quadrate)-Verfahren. ▲ Index- und Faktoren–Modelle treffen keine Aussagen über die Anzahl und die Wahl der relevanten Faktoren. Die Faktoren werden oft über die so genannte Faktorenanalyse, anhand ökonomischer Theorien oder auch durch Vorabspezifikation bestimmt. Für die Anzahl der Indizes erhält man zumeist Werte unter 10, bei großen Stichproben aber auch erheblich darüber. Allerdings weisen meist nur die maximal ersten 10 Faktoren einen wesentlichen Erklärungsbeitrag für die Aktienrenditen auf.
9.3.3
Das Marktmodell
Das Marktmodell kann als Spezialfall eines Ein-Index-Modells aufgefasst werden, bei dem die Rendite bzw. die Überschussrendite des Markt-Portefeuilles als einziger Index verwandt wird. Da das MarktPortefeuille nicht beobachtbar ist, wird als Proxy üblicherweise ein Aktienindex gewählt. ● Standardform des Marktmodells: rit = α i + β i rMt + ε it . Marktmodell als empirisch nachprüfbare Form des CAPM. CAPM ist ex ante-Modell, das auf Erwartungswerten basiert. Marktmodell ist ex post-Modell, das mit Vergangenheitsdaten von Wertpapierrenditen arbeitet. ● Characteristic Line: Die grafische Darstellung des Marktmodells bezeichnet man als charakteristische Linie. ▲ Für das Marktmodell gelten die gleichen Annahmen wie für das Ein-Index-Modell; allerdings mit einer Ausnahme. Statt cov(ε it ,ε jt ) = 0 gilt beim Marktmodell ∑ j x j cov(ε i ,ε j ) = 0. • Erwartungswert der Wertpapierrendite beim Marktmodell: µi = α i + β iµM . • Varianz der Wertpapierrendite beim Marktmodell: 2 σ i2 = β i2 σ M + σ ε2i . Gesamtrisiko
systematisches Risiko
unsystematisches Risiko
Der linke Term stellt das systematische Risiko, der rechte Term das unsystematische Risiko der Aktie dar. Der Störterm im Marktmodell wird daher auch unsystematische Rendite genannt. Bei ausreichender Diversifikation verschwindet das unsystematische Risiko: 2 2 2 2 2 σ p = β p σ M + σ ε p = ∑ xi β i σ M2 + ∑ x2i σ ε2i i
i
● Wichtige Unterschiede zwischen CAPM und Marktmodell: • CAPM ist ein ex ante-Modell, Marktmodell ein ex post-Modell. • CAPM ist ein einperiodiges Modell, Marktmodell wird wie die Index-Modelle allgemein mit einer Zeitreihenregression, also mit Werten zu verschiedenen Zeitpunkten, geschätzt.
390
9 Quantitative Methoden des modernen Wertpapier-Managements • CAPM ist ein Gleichgewichtsmodell, während beim Marktmodell der Kapitalmarkt nicht im Gleichgewicht sein muss.
● Voraussetzungen für eine Kompatibilität von CAPM und Marktmodell: 1. Der am Kapitalmarkt gültige rendite-erzeugende Prozess ist das Marktmodell. 2. Die Anleger haben rationale Erwartungen, d. h. die Erwartungen der Anleger stimmen mit der Vorhersage der relevanten ökonomischen Theorie, hier dem CAPM, überein. 3. Die Renditen sind unabhängig und identisch verteilt. Diese drei Annahmen gewährleisten, dass das mit dem Marktmodell geschätzte Beta mit dem Beta des CAPM übereinstimmt, der Beta-Faktor über den gesamten Untersuchungszeitraum stabil ist und die ex post-ermittelten Mittelwerte der Renditen mit den ex ante-erwarteten Renditen übereinstimmen. ▲ Marktmodell und CAPM sind identisch, wenn α i = (1 − β i )r. ■ Index-Tracking: Gegeben sind folgende Kennzahlen zweier Aktien A und B sowie des Marktindex M: Volatilität Korrelation Beta-Faktor M 24,84 % 1,0000 1,0000 A 31,40 % 0,8203 1,0370 B 32,15 % 0,6962 0,9011 Berechnung der unsystematischen Risiken von A und B: σ ε2A = σ A2 − β A2 σ M2 = 0,31402 − 1,03702 · 0,24842 = 0,03224,σ ε2B = 0,05326
Da σ ε2A < σ ε2B und das Beta von A näher an Eins liegt, ist die A-Aktie zur Nachbildung des Marktindex der B-Aktie vorzuziehen. Nachbildung („Tracking“) des Marktindex durch Kombination von A und B: xβ A + (1 − x)β B = 1, d. h. 1,0370x + 0,9011(1 − x) = 1
=⇒ x = 0,7277 .
Man wählt also ein Portefeuille bestehend zu 72,77 % aus Aktie A und zu 27,23 % aus Aktie B zum Tracking des DAX. Diese Portefeuille hat ein Beta von Eins und ein unsystematisches Risiko von σ ε2A+B = x2 σ ε2A + (1 − x)2 σ ε2B = 0,02102 .
9.3.4
Arbitrage Pricing Theory APT
Ein alternativer Ansatz zum CAPM ist die von Ross formulierte und in verschiedenen Versionen weiterentwickelte Arbitrage Pricing Theory APT. Wesentliche Voraussetzung für die Herleitung der APT ist die Annahme der Arbitrage-Freiheit. Die APT unterstellt, dass die Renditen aller Wertpapiere durch ein Faktormodell erzeugt werden. ● Zentrale Bewertungsgleichung der Arbitrage Pricing Theory APT: µ i = E(ri ) = λ 0 + λ 1 bi1 + . . . + λ κ biκ
● Alternative Darstellung der zentralen Bewertungsgleichung der Arbitrage Pricing Theory APT: µ i = E(ri ) = r + bi1 (µ p1 − r) + . . . + biκ (µ pκ − r)
● Annahmen der APT: 1. Die Renditen werden durch ein Index- bzw. Faktor-Modell erzeugt: ri = E(ri ) + bi1 F1 + . . . biκ Fκ + ε i mit E(Fk ) = 0 für alle k . Die Rendite besteht somit aus einem erwarteten Teil E(ri ), der alle zum Zeitpunkt t bekannten Informationen enthält und einem unerwarteten Teil, der sich aufgrund der zwischen t und t + 1 eintreffenden Informationen ergibt.
9.3 Index- und Faktormodelle
391
2. Es gelten die für Index-Modelle üblichen Annahmen. 3. Bei den Faktoren handelt es sich um gemeinsame Faktoren, d. h. der Wert des Faktors zu einem bestimmten Zeitpunkt ist für alle Wertpapiere gleich. Unternehmenskennzahlen können als Faktoren nicht verwendet werden. 4. Es gibt „sehr viele“ Wertpapiere. Die Anzahl der Wertpapiere N ist größer als die Anzahl der Faktoren κ . 5. Es gibt „sehr viele“ Anleger. Die Nachfragestruktur ist atomistisch. 6. Die Anleger haben einen positiven Grenznutzen. Die Anleger verhalten sich rational. 7. Die Anleger haben homogene Erwartungen bezüglich Anzahl, Art und Erwartungswert der Faktoren. ▲ Vergleich der Annahmen zum CAPM: Die APT setzt als einzige Annahme bezüglich des Ver-
haltens der Marktteilnehmer voraus, dass Anleger eine höhere Rendite einer niedrigeren Rendite vorziehen (positiver Grenznutzen). Die Annahme des Kapitalmarktgleichgewichts wird bei der APT ebenfalls abgeschwächt: So dürfen auf dem Kapitalmarkt keine Arbitrage-Möglichkeiten bestehen (Annahme der Arbitrage-Freiheit). Da die APT in der Ursprungsfassung kein Gleichgewichtsmodell ist, ist für die APT auch nicht die Kenntnis eines Markt-Portefeuilles notwendig. 8. Der Kapitalmarkt ist vollkommen in dem Sinne, dass keine Teilbarkeitsprobleme, keine Leerverkaufsrestriktionen, keine Transaktionskosten und keine Steuern auftreten, die Friktionen im Handel verursachen oder die Bewertung der Wertpapiere beeinflussen. Der Kapitalmarkt ist somit arbitragefrei, d. h. Arbitrage-Möglichkeiten führen zu einer sofortigen Anpassung der Kurse und damit zur Aufhebung der Arbitrage-Möglichkeiten. ● Arbitrage-Portefeuille: Unter den Annahmen der APT konstruierbares Portefeuille mit folgenden Eigenschaften: N
1. ∑ xi = 0. Zur Bildung des Portefeuilles muss kein Geld zur Verfügung gestellt werden. Die Summe i=1
der Anteile kann nur Null ergeben, wenn Leerverkäufe möglich sind. N
2. b pk = ∑ xi bik = 0 für alle k. Das Portefeuille weist kein systematisches Risiko bzw. keine Faktorrii=1
siken auf. N 3. ε p = ∑ xi ε i = 0. Das idiosynkratische Risiko muss verschwinden. Diese Bedingung kann nur i=1
dann vollständig erfüllt sein, wenn es unendlich viele Wertpapiere gibt oder der Kapitalmarkt im Gleichgewicht ist. Andernfalls gilt diese Anforderung nur approximativ. Rendite des Arbitrage-Portefeuilles: 1. Schritt (Faktor-Modell-Eigenschaft):
r p0 = E(r p0 ) + b p1 F1 + . . . + b pκ Fκ + ε p N
2. Schritt (2. und 3. Eigenschaft von Arbitrage-Portefeuilles):
r p0 = E(r p0 ) = ∑ xi µ i i=1
N
3. Schritt (1. Eigenschaft von Arbitrage-Portefeuilles):
r p0 = E(r p0 ) = ∑ xi µ i = 0 i=1
▲ Da das Arbitrage-Portefeuille keinen Geldeinsatz erfordert und risikolos ist, muss es eine Rendite von Null erzielen. ▲ Die abgeleiteten Bedingungen bilden ein Gleichungssystem. Durch Einfügen von k Konstanten λ k und geeignete Umformung erhält man die obige zentrale Bewertungsgleichung der APT. Diese Gleichung gilt nur, wenn a) unendliche viele Wertpapiere am Markt gehandelt werden oder b), wenn endlich viele Wertpapiere existieren und der Kapitalmarkt wie beim CAPM im Gleichgewicht ist. Gibt es endlich viele Wertpapiere, aber kein Kapitalmarktgleichgewicht, dann gilt die Gleichung nur approximativ, da bei der Portefeuille-Bildung das idiosynkratische Risiko nicht vollständig eliminiert werden kann.
392
9 Quantitative Methoden des modernen Wertpapier-Managements
● Zero-Beta-Portefeuille: Portefeuilles, die gegenüber allen Faktoren eine Sensitivität von Null aufweisen: bik = 0 für alle k. Bewertungsgleichung für das Zero-Beta-Portefeuille: µi = λ0
Zero-Beta-Portefeuilles haben kein systematisches bzw. faktorbezogenes Risiko. Da sie annahmegemäß gut diversifiziert sind, tragen sie auch kein bzw. fast kein idiosynkratisches Risiko. Diese Portefeuilles sind folglich risikolos, die Rendite dieser Portefeuilles entspricht somit dem risikolosen Zinssatz: λ 0 = r. ▲ Der risikolose Zinssatz ist durch die Rendite der Zero-Beta-Portefeuilles definiert. Die APT trifft also nicht die Annahme der Existenz eines risikolosen Zinses, sondern seine Existenz folgt aus den Annahmen der APT. ● Faktor-k-Portefeuilles: haben gegenüber genau einem Faktor die Sensitivität Eins und gegenüber den restlichen Faktoren eine Sensitivität von Null: µ pk = λ 0 + λ k bik = r + λ k
Bei Arbitrage-Freiheit müssen alle Faktor-k-Portefeuilles denselben Erwartungswert der PortefeuilleRendite aufweisen. Überschussrendite der Faktor-k-Portefeuilles über den risikolosen Zins: λ k = µ pk − r
■ Beispiel zur APT und Faktor-k-Portefeuille: Kapitalmarkt mit 3 Wertpapieren und 2 Faktoren mit den Sensitivitäten b11 = −0,40, b12 = 1,75, b21 = 1,60, b22 = −0,75, b31 = 0,67, b32 = −0,25 . Faktor-1-Portefeuille: x1 = 0,3, x2 = 0,7, x3 = 0 folgt aus Lösung des Gleichungssystems: x1 + x2 + x3 = 1 b p1 = −0,4x1 + 1,6x2 + 0,67x3 = 1 b p2 = 1,75x1 − 0,75x2 − 0,25x3 = 0 . Faktor-2-Portefeuille: x1 = 0,625, x2 = 0, x3 = 0,375 folgt aus Lösung des Gleichungssystems: x1 + x2 + x3 = 1 b p1 = −0,4x1 + 1,6x2 + 0,67x3 = 0 b p2 = 1,75x1 − 0,75x2 − 0,25x3 = 1 . Sind weiter ein risikoloser Zinssatz von 7% und Überschussrenditen der Faktor-k-Portefeuilles von 16,6% bzw. 13,4% gegeben, so folgt für die Risikoprämien: λ 1 = µ p1 − r = 16,6% − 7% = 9,6% λ 2 = µ p2 − r = 13,4% − 7% = 6,4 % .
Bestimmung der erwarteten Rendite des Wertpapiers 1: r1 = µ 1 + b11 F1 + . . . + b1κ Fκ + ε 1 = µ 1 − 0,4F1 + 1,75F2 . Bildung eines Portefeuille aus den Faktor-Portefeuilles und der risikolosen Anlage/Verschuldung, das die gleiche Risikocharakteristik (b11 = −0,4, b12 = 1,75) bezüglich der Faktoren besitzt wie das
9.4 Kennzahlen des Zins-Management
393
Wertpapier 1: −0,4 Anteile des Faktor-1-Portefeuilles; 1,75 Anteile des Faktor-2-Portefeuilles sowie −0,35 Teile des risikolosen Wertpapiers, d. h. Kreditaufnahme. Damit folgt: µ p = (−0,35) · 0,07 + (−0,4) · 0,166 + 1,75 · 0,134 = 0,1436
, also
µ 1 = 14,36% .
9.4
Kennzahlen des Zins-Management
9.4.1
Effektiv-, Termin- und Laufzeitzinssätze von Anleihen
• Marktwert PV einer endfälligen Kuponanleihe: T
et t t=1 (1 + i)
PV = ∑ mit
et = Kuponzahlung bzw. Tilgungszahlung in t = T , T = Laufzeit in Jahren i = Marktzinssatz p. a. • Effektivzins: Interner Zinsfuß iiz f , d. h. T
PV − ∑ t=1
et 1 + iiz f
t = 0
• Laufzeitzinssätze R1 , R2 ,. . . (Spot Rates): (Jahres-) Zinssätze für Anlagen entsprechender Laufzeiten: T
et t t=1 (1 + Rt )
PV = ∑
Der Laufzeitzinssatz Rt beschreibt den Kassazinssatz für Anlagen von 0 bis t. Da keine zwischenzeitlichen Anlagen oder Ausschüttungen erfolgen dürfen, handelt es sich bei den Anlagen um Zero-Bonds (Null-Kuponanleihen). • Terminzinssätze r1 , r2 ,. . . ( Forward Rates): Zinssätze der jeweiligen zukünftigen Perioden bzw. Jahre: T
et t t=1 (1 + rt )
PV = ∑
Der Terminzinssatz rt stellt den in der Periode t (auf Basis der Informationen in t = 0) ermittelten Jahreszinssatz dar. ▲ Es gilt: R1 = r1 ,
(1 + R2 )2 = (1 + r1 )(1 + r2 )
bzw. allgemein % t
Rt =
t
∏ (1 + rτ ) .
τ =1
394
9 Quantitative Methoden des modernen Wertpapier-Managements
9.4.2
Arbitrage-Analyse von Anleihen
■ Zwei Anleihen A und B mit folgender Zahlungscharakterisitk und folgenden Renditen. Einjährige Anlagemöglichkeit zu 5 %. t=0 t=1 t = 2 Rendite Anleihe A −90 0 101,124 6% Anleihe B −100 6 106,000 6% Duplikation des Zahlungsstroms von Anleihe A mit Wertpapier B und einjähriger Anlage. Wenn der ursprüngliche und der duplizierte Zahlungsstrom nicht den gleichen Kurswert aufweisen, bestehen Arbitrage-Möglichkeiten. Dazu werden zunächst von Anleihe B nominal 95,4 % erworben. Die Auszahlung in t = 1 wird schließlich mithilfe der zur Verfügung stehenden einperiodigen Anlagemöglichkeit ausgeglichen, man verschuldet sich im Umfang von 5,724 zu 5 % für eine Periode. Das Duplikations-Portefeuille ist billiger als Anleihe A, sodass Anleihe B trotz gleicher Effektivverzinsung Anleihe A vorzuziehen ist. Der Grund ist darin zu sehen, dass eine steigende Zinskurve herrscht und die Mittelanlage in Anleihe B (im Durchschnitt) früher wieder zurückfließt und in der zweiten Periode zu einem höheren Zinssatz angelegt werden kann.
Anleihe A Anleihe B 95,4 % Anleihe B Verschuldung zu 5 % A-95,4 %B-Verschuldung
● Duration D einer Anleihe: 1 T tet D= ∑ (1 + i)t . PV t=1 Die Duration ist als mittlere Bindungsdauer eines i. d. R. festverzinslichen Wertpapiers definiert. Sie kann berechnet werden, indem die Zahlungszeitpunkte des Wertpapiers mit dem Anteil des dem Zahlungszeitpunkt zugerechneten Barwertes am Marktwert gewichtet werden. D . 1+i ■ Bei Null-Kuponanleihen ist die Duration gleich der Laufzeit der Anleihe, bei Kuponanleihen ist die Duration kleiner als die Laufzeit. Modified Duration:
● Konvexität Con einer Anleihe: Con = D + D2 + V
mit V =
1 T (t − D)2 et ∑ (1 + i)t . PV t=1
Da PV eine konvexe Funktion in i ist, kann über die Duration nur bei kleinen Zinsänderungen eine gute D Approximation der Änderung des Marktwertes der Anleihe erreicht werden: ∆PV ≈ −PV∆i ∆i. 1+i
9.5 Preistheorie von Aktienoptionen
395
Sie entspricht dem zweiten Glied einer Taylor-Approximation nach dem Zinssatz i. Für eine bessere Annäherung wird ein weiteres Glied der Taylor-Reihe ermittelt: D Con 1 (∆i)2 . ∆i + PV∆i 2 1+i 2 (1 + i) ■ Immunisierung des Portefeuille-Endvermögens durch die Wahl der Duration gemäß des Planungshorizonts: ∆PV ≈ −PV∆i
Anleger mit Anlagebetrag 15.000 a möchte in 2 Jahren über einen bei dem herrschenden Marktzins von 10 % erzielbaren Betrag von mindestens 18.150 a verfügen. Existierende Wertpapiere weisen alle eine Effektivverzinsung von 10 % auf. Marktzinsänderung kurz nach t = 0 auf 12 % oder auf 8 % wird als möglich erachtet. Wahl eines Wertpapiers A mit der folgenden Zahlungscharakteristik und der Duration von 2 (Jahren): t=1 t=2 t=3 Anleihe A 44,00 48,40 53,24 Marktwert von A =
44,00 48,40 53,24 + = 120. + 1,1 1,12 1,13
Kauf von 15.000/120 = 125 Anteile Wertpapier A. 1 1 · 44,00 2 · 48,40 3 · 53,24 Duration von A = + + =2. 120 1,1 1,12 1,13 Berechnung des Endvermögens bei unverändertem Marktzinssatz: 125 · 44,00 · 1,10 + 48,40 · 125 + 53,24/1,10 = 18.151,96 a . Berechnung des Endvermögens bei verändertem Marktzinssatz auf 12 %: 125 · 44,00 · 1,12 + 48,40 · 125 + 53,24 · 125/1,12 = 18.150 a . Berechnung des Endvermögens bei verändertem Marktzinssatz auf 8 %: 125 · 44,00 · 1,08 + 48,40 · 125 + 53,24 · 125/1,08 = 18.152,03 a . Der Anleger profitiert also von Marktzinsänderungen in beiden Richtungen und erhält dann den geplanten Vermögensendwert, wenn sich das Marktzinsniveau nicht ändert: Der Vermögensendbetrag ist gegen Zinsänderungen immunisiert.
9.5
Preistheorie von Aktienoptionen
● Aktienoption: berechtigt den Optionskäufer (Inhaber der Option), eine bestimmte Aktie (Basiswert, Basisobjekt) zu einem festgelegten Preis (Basispreis, Basiskurs) zu erwerben (Call, Kaufoption) bzw. zu veräußern (Put, Verkaufsoption). Für dieses Recht zahlt der Käufer dem Verkäufer der Option eine Prämie, den Optionspreis. Ist die Ausübung der Option nur zu einem bestimmten Zeitpunkt möglich, so spricht man von einer europäischen Option. Kann die Option jederzeit bis zu einem festgelegten Zeitpunkt, dem Verfalldatum, ausgeübt werden, so handelt es sich um eine amerikanische Option. Der Verkäufer (Stillhalter) der Option ist verpflichtet, während der festgelegten Frist (Laufzeit) auf Verlangen des Käufers die Basisaktie zum vereinbarten Basispreis zu liefern bzw. abzunehmen. Nimmt der Inhaber der Option sein Optionsrecht in Anspruch (Ausübung der Option), tritt die oben genannte aufschiebende Bedingung ein und der Kaufvertrag muss erfüllt werden.
396
9 Quantitative Methoden des modernen Wertpapier-Managements
9.5.1
Arbitrage-Grenzen bei Aktienoptionen
Postuliert man lediglich einen arbitragefreien Kapitalmarkt, so kann man bereits erste Wertbeziehungen zwischen Optionswert und Einflussparametern ableiten, indem man untere und obere Grenzen des Optionswertes bestimmt. ● Wert einer Option im Verfallzeitpunkt: C(T ) = max(0,S(T ) − K) ,
P(T ) = max(0,K − S(T ))
mit C als Call- und P als Put-Preis, Verfalldatum T , Kurs der Basisaktie S sowie spezifizierter Basispreis K. ● (Positiver) Innerer Wert eines Call bzw. eines Put: S − K bzw. K − S. Zeitwert eines Call bzw. eines Put: C− Innerer Wert bzw. P− Innerer Wert. ● Arbitrage-Grenzen bei Calls: • Der Call-Preis ist nichtnegativ: C ≥ 0. • Der Call-Preis ist kleiner als der Preis der Basisaktie: C ≤ S. • Der Call-Preis ist größer als die Differenz aus Aktienkurs und Basiskurs: C ≥ S − K. • Der Call-Preis ist größer als die Differenz aus Aktienkurs und diskontiertem Basiskurs: C ≥ S − Kr−T mit risikolosem Zinssatz r. ● Arbitrage-Grenzen bei Calls mit Dividenden: C ≥ S − Kr−T − Dr−tD C ≥ S − Kr−T − Dmax r−tD C ≥ S − Kr−T − Dbarw max
bei sicherer Dividendenausschüttung D zum Zeitpunkt tD. bei unsicherer Dividendenausschüttung D˜ ≤ Dmax zum Zeitpunkt tD . bei mehreren unsicheren Dividendenausschüttungen mit Dbarw max als Barwert der Summe der während der Restlaufzeit maximal erwarteten Dividendenausschüttungen.
▲ Sind Dividenden zu berücksichtigen, so verringern sich die unteren Schranken offensichtlich jeweils
um den Barwert der erfolgten Dividendenausschüttungen auf die betrachtete Aktie. ● Arbitrage-Grenzen bei Puts: • Der Put-Preis ist nichtnegativ: P ≥ 0. • Der Put-Preis ist kleiner als der Basiskurs: P ≤ K. • Der Preis amerikanischer Optionen ist größer als die Differenz aus Basiskurs und Aktienkurs: P ≥ K − S. • Der Put-Preis ist größer als die Differenz aus diskontiertem Basiskurs und Aktienkurs: P ≥ Kr−T −S. ▲ Bei Verkaufsoptionen ist zu beachten, dass nur für amerikanische Puts der Wert immer größer als
der innere Wert ist. Bei europäischen Puts ist diese Wertrelation nicht zwingend gegeben. ● Arbitrage-Grenzen bei Puts mit Dividenden: P ≥ Dr−tD + Kr−T − S P ≥ Dmin r−tD + Kr−T
bei sicherer Dividendenausschüttung D zum Zeitpunkt tD . − S bei unsicherer Dividendenausschüttung D˜ ≥ Dmin zum Zeitpunkt tD.
−T P ≥ Dbarw −S min + Kr
bei mehreren unsicheren Dividendenausschüttungen mit Dbarw min als Barwert der Summe der während der Restlaufzeit mindestens erwarteten Dividendenausschüttungen.
▲ Dividendenausschüttungen haben bei Verkaufsoptionen genau den gegenteiligen Effekt auf die Wert-
untergrenze im Vergleich zu entsprechenden Ergebnissen für Kaufoptionen. Die untere Begrenzung erhöht sich um den diskontierten Dividendenbetrag.
9.5 Preistheorie von Aktienoptionen
397
● Arbitrage-Grenzen bei variierendem Basispreis: Für K1 ≤ K2 ≤ K3 gilt: C(K1 )
K2 − K1 ≥ P(K2 ) − P(K1 ) . Nur für europäische Optionen gilt: (K2 − K1 ) r−T ≥ C(K1 ) − C(K2 ) (K2 − K1 ) r−T ≥ P(K2 ) − P(K1 ) . ● Der Wert eines amerikanischen Call bzw. Put kann nicht kleiner sein als der Wert eines ansonsten gleichartigen amerikanischen Call bzw. Put mit einer geringeren Restlaufzeit.
9.5.2
Optimale Ausübung amerikanischer Aktienoptionen
● Es ist nicht sinnvoll, eine amerikanische Kaufoption vor ihrem Verfalldatum auszuüben, wenn auf die zugrunde liegende Aktie während der Optionslaufzeit keine Dividende gezahlt wird. Amerikanische Option mit Restlaufzeit T . Umformung von C ≥ S − Kr−T in eine Gleichung: C ≥ S − Kr−T + VWC mit „Versicherungswert“ VWC ≥ 0. Erweitert man die Gleichung mit +K − K, so folgt C − (S − K) Verlust aufgrund vorzeitiger Ausübung
=
K Kr−T − Zeitwert für Anlage von K
+
VWC
.
Versicherungswert der Option
Bei sofortiger Ausübung eines amerikanischen Call kann der Investor lediglich S−K erzielen. Die Differenz aus Optionswert C und dem bei sofortiger Ausübung realisierten Wert S − K ist jedoch immer positiv aufgrund des positiven Zeitwertes und des positiven Versicherungswertes. Ein rationaler Investor kann also durch Halten bzw. Verkaufen der Option einen höheren Wert C realisieren. ● Die Wahrscheinlichkeit einer optimalen vorzeitigen Ausübung eines Put ist in jedem Zeitpunkt größer als Null, weshalb es also durchaus sinnvoll sein kann, einen amerikanischen Put vor dem Fälligkeitstermin auszuüben. Bezieht man Dividendenzahlungen in das Kalkül mit ein, so verändert sich die Argumentation grundlegend, da nun nicht nur für Puts, sondern auch für Calls eine vorzeitige Ausübung optimal sein kann: ● Wenn die Summe der während der Restlaufzeit der Option ausgeschütteten Dividenden zu jedem Zeitpunkt kleiner ist als der Zinsertrag, der sich aus der Anlage von K während dieses Zeitraums ergibt, dann wird eine Kaufoption bis zur Fälligkeit gehalten werden. Die Umkehrung dieser Aussage gilt nicht. ▲ Amerikanische Calls werden außer am Fälligkeitstermin nur unmittelbar vor einem Ex-DividendeTermin vorteilhaft ausgeübt. ● Falls in jedem Zeitpunkt die Summe der noch auszuschüttenden Dividenden größer ist als der Zinsertrag durch die Anlage von K, dann wird ein amerikanischer Put bis zur Fälligkeit gehalten. Die Umkehrung dieser Aussage gilt nicht. ▲ Amerikanische Puts sollten nicht unmittelbar vor einem Ex-Dividende-Termin ausgeübt werden.
398
9 Quantitative Methoden des modernen Wertpapier-Managements
9.5.3
Put-Call-Paritäten
Unter den Put-Call-Paritäten versteht man verteilungsfreie Relationen zwischen den Preisen von Calls und Puts auf das gleiche Basisobjekt mit identischer Laufzeit und identischem Basispreis. ● Put-Call-Parität für europäische Optionen: P = C − S + Kr−T . Der Wert eines Put P entspricht dem Wert eines Call C des gleichen Typs abzüglich des Aktienkurses S plus des diskontierten Basispreises Kr−T . Zur Herleitung dieser Beziehung bildet man ein Portefeuille bestehend aus dem Kauf einer Aktie und einer darauf bezogenen Verkaufsoption, dem Verkauf einer gleichartigen Kaufoption und einer Kreditaufnahme in Höhe des abgezinsten Basispreises der Optionskontrakte. Der zukünftige Portefeuille-Wert ist dann unabhängig von dem realisierten Aktienkurs gleich Null. Um risikolose Gewinnmöglichkeiten auszuschließen, muss der Portefeuille-Wert im Ausgangszeitpunkt also ebenfalls gleich Null sein. ● Put-Call-Paritäten für europäische Optionen mit Dividendenberücksichtigung: P = C − S + Kr−T + Dr−tD bei sicherer Dividendenausschüttung D zum Zeitpunkt tD. C − S + Kr−T + Dmin r−tD ≤ P ≤ C − S + Kr−T + Dmax r−tD bei unsicherer Dividendenausschüttung Dmin ≤ D˜ ≤ Dmax zum Zeitpunkt tD. −T C − S + Kr−T + Dbarw + Dbarw min ≤ P ≤ C − S + Kr max barw bei mehreren unsicheren Dividendenausschüttungen mit Dbarw max bzw.Dmin als Barwert der Summe der während der Restlaufzeit der Option maximal bzw. minimal erwarteten Dividendenausschüttungen.
● Put-Call-Paritäten für amerikanische Optionen: C − S + Kr−T ≤ P ≤ C − S + K ohne Dividendenberücksichtigung. C − S + Kr−T ≤ P ≤ C − S + Kr−T + Dr−tD bei sicherer Dividendenausschüttung D in tD. C − S + Kr−T ≤ P ≤ C − S + Kr−T + Dmax r−tD bei unsicherer Dividendenausschüttung D˜ ≤ Dmax zum Zeitpunkt tD. C − S + Kr−T ≤ P ≤ C − S + Kr−T + Dbarw max bei mehreren unsicheren Dividendenausschüttungen mit Dbarw max als Barwert der Summe der während der Restlaufzeit der Option maximal erwarteten Dividendenausschüttungen.
9.5.4
Binomialmodell zur Bewertung von Optionen: Ein-Perioden-Fall
Modelle zur Bewertung von Optionen beruhen insbesondere auf Annahmen über die Verteilung der Renditen der zugrunde liegenden Titel. Bei geeigneten Verteilungsvoraussetzungen lassen sich Preisformeln über die Konstruktion eines Hedge-Portefeuilles bestehend aus der Option, dem Basispapier und einer risikofreien Anlage ableiten. Die Wertentwicklung einer Option wird dupliziert, sodass durch Arbitrage-Argumente der gesuchte Optionswert bestimmt werden kann.
9.5 Preistheorie von Aktienoptionen
399
● Binomialmodell: Kurs der Basisaktie folgt einem multiplikativen binomialen Prozess in zeitgleichen Abständen. Angenommene Aktienkursentwicklung im Ein-Perioden-Fall: t=0
S
t=1 ! !! ! ! !! ! ! aa aa aa aa a
u·S
d·S
Europäischer Call bzw. Put auf diese Aktie mit Basispreis K und Fälligkeit zum Periodenende hat Werte Cu = max(0,uS − K) und Cd = max(0,dS − K) bzw. Pu = max(0,K − uS) und Pd = max(0,K − dS) im Fälligkeitszeitpunkt. ● Duplikations-Portefeuille (Hedge Portefeuille) für Call-Optionen: Portefeuille aus ∆ Aktien und risikofreier Anlage B zum Zinssatz r, sodass zum Periodenende die möglichen Optionswerte Cu und Cd dupliziert werden. Es muss also gelten: ∆uS + rB = Cu und ∆dS + rB = Cd bzw. Cu − Cd uCd − dCu und B = . ∆= (u − d)S (u − d)r Für das Duplikations-Portefeuille gilt dann: ∆S + B = C. Wäre die Option teurer, das heißt C > ∆S + B, so würde man die Option leerverkaufen und einen risikolosen Gewinn (=Arbitrage-Gewinn) realisieren. Im umgekehrten Fall (C < ∆S + B) könnte man die Option kaufen und das Portefeuille verkaufen. Hedge Ratio (Options-Delta): Cu − Cd ∆= . (u − d)S Das Options-Delta gibt die Anzahl der leerzuverkaufenden Aktien an, die beim Erwerb eines Call das Portefeuille risikofrei halten. ▲ Die Herleitung für Verkaufsoptionen erfolgt analog. ● Wert eines europäischen Call im Ein-Perioden-Modell: pCu + (1 − p) Cd r−d u−r C= mit p = und 1 − p = . r u−d u−d Wert eines europäischen Put im Ein-Perioden-Modell: pPu + (1 − p) Pd P= . r ▲ Präferenzfreie Bewertung: Zentrale Eigenschaft der vorgestellten Bewertung: Wahrscheinlichkeiten über das Eintreten der möglichen Umweltzustände scheinen keine Rolle zu spielen. Die Risikoeinstellung der Investoren hat keinen direkten Einfluss auf die Bewertung der Option. Präferenzabhängige Bewertung: Nehmen wir bspw. an, die Wahrscheinlichkeit für das Eintreten des Zustands uS sei gleich q. Unter der Annahme der Risikoneutralität der Marktteilnehmer entspricht der faire Preis C der Kaufoption dem mit dem Zinssatz r der risikolosen Alternativanlage abgezinste Erwartungswert der Option: qCu + (1 − q)Cd C = E(Ct=1 ) = mit q als Eintrittswahrscheinlichkeit des Zustands uS. r Pseudowahrscheinlichkeit p: p lässt sich als Wahrscheinlichkeit im Sinne von q interpretieren. Mit der Annahme u > r > d folgt 0 < p < 1. Insofern besteht Ähnlichkeit mit einer Wahrscheinlichkeitsziffer.
400
9 Quantitative Methoden des modernen Wertpapier-Managements
In der Tat ist p jener Wert der Wahrscheinlichkeit q, den man an einem risikoneutralen Kapitalmarkt im Gleichgewicht erwarten müsste, da in einer solchen Welt der Erwartungswert der Aktienrendite dem r−d = p. risikolosen Zinssatz entspricht: qu + (1 − q)d = r. Damit folgt: q = u−d ■ Zahlenbeispiel zum Ein-Perioden-Binomialmodell: Aktienkaufoption mit Basispreis 250 a und einer Laufzeit von einem Jahr. Die der Option zugrunde liegende Aktie notiert heute zum Kurs von 250 a. Die künftige Aktienkursentwicklung ist unsicher. Nach einem Zeitraum von einem Jahr stellt sich genau einer von zwei unterschiedlichen Aktienkursen ein: uS = 400 a oder dS = 200 a, d. h. u = 1,6 und d = 0,8. Zinssatz für einjährige Anlagen 12 %. Duplikation des Zahlungsstroms des Call durch Aktien und risikofreie Anlage: Cu − Cd 150 − 0 = = 0,75 (u − d)S (1,6 − 0,8) · 250 uCd − dCu 0 − 0,8 · 150 B= = = −133,93 . (u − d)r (1,6 − 0,8) · 1,12 Es folgt: C = ∆S + B = 0,75 · 250 − 133,93 = 53,57 a. ∆=
Das Ergebnis bestätigt man auch über: 1,12−0,8 1,6−1,12 · 150 + ·0 1,6−0,8 1,6−0,8 0,4 · 150 + 0,6 · 0 = = 53,57 . C= 1,12 1,12 ● Annahmen des Binomialmodells: 1. Der Wertpapierhandel findet nur zu diskreten Zeitpunkten statt. 2. Der Kurs der zugrunde liegenden Aktie kann zu jedem Zeitpunkt einen von zwei möglichen Werten annehmen. In der Verallgemeinerung auf mehrere Perioden werden schließlich gleiche Periodenlängen und ein multiplikativer binomialer Prozess angenommen: Das dargestellte Optionspreismodell wird als Binomialmodell bezeichnet. 3. Keine Transaktionskosten, keine Informationskosten, keine Steuern. 4. Wertpapiere sind beliebig teilbar und Leerverkäufe wie auch Käufe von Wertpapieren sind unbeschränkt möglich. 5. Zins einer risikofreien Anlage ist gegeben und im Zeitablauf konstant. Sollzins entspricht dem Habenzins. 6. Investoren handeln rational und ziehen ein größeres Vermögen einem kleineren vor. 7. Bei den betrachteten Optionen handelt es sich um europäische Optionen. 8. Von Dividendenzahlungen wird abstrahiert.
9.5.5
Binomialmodell zur Bewertung von Optionen: Zwei-Perioden-Fall
● Werte eines Call im Zwei-Perioden-Fall: In t = 2: Cuu = max(0,uu S −K) , Cud = max(0,ud S −K), Cdd = max(0,dd S −K) . pCuu + (1 − p)Cud pCud + (1 − p)Cdd In t = 1: Cu = , Cd = . r r pCu + (1 − p)Cd In t = 0: C = bzw. r p (pCuu + (1 − p)Cud ) /r + (1 − p) (pCud + (1 − p)Cdd ) /r C= r 1 2 2 = 2 p max(0,u S − K) + 2p(1 − p) max(0,udS − K) + (1 − p)2 max(0,d 2 S − K) . r
9.5 Preistheorie von Aktienoptionen
401
■ Zahlenbeispiel zum Zwei-Perioden-Binomialmodell Das Ein-Perioden-Binomialmodell wird nun auf zwei Perioden erweitert:
Cu − Cd 176,7857 − 25 = = 0,7589 . (u − d)S 0,8 · 250
In der zweiten Periode gilt für den Fall eines Kursanstiegs auf uS in t = 1: ∆u =
Cuu − Cud 390 − 70 = =1. (u − d)uS 0,8 · 400
In der zweiten Periode gilt für den Fall eines Kursverfalls auf dS in t = 1: ∆d =
Cud − Cdd 70 = = 0,4375 . (u − d)dS 0,8 · 200
▲ Selbstfinanzierende Portefeuillestrategie: Das Portefeuille ist nach jeder Kursbewegung umzuschichten, um es risikofrei zu halten. Das Options-Delta gibt die Anzahl der leerzuverkaufenden Aktien an. Falls sich das Delta erhöht, sind mehr Aktien zu verkaufen, ein niedrigeres Delta zieht einen Rückkauf an Aktien nach sich. Durch solche Portefeuille-Umstrukturierungen wird unter Vernachlässigung von Transaktionskosten kein Zahlungsstrom ausgelöst.
402
9 Quantitative Methoden des modernen Wertpapier-Managements
9.5.6
Binomialmodell zur Bewertung von Optionen in allgemeiner Form
Angenommene Aktienkursentwicklung im n-Perioden-Binomialmodell: t=0
S
t=1
t=2 t=3
............
PP P P . . . . . . . . . . . . PP P P PP P P PP P PP uS P P P P P P P ............ PP PP P P P dS P PP PP P P PP P PP P PP P P ..........P . . PP P PP P P
t=n
un S un−1 dS un−2 d 2 S .. .. .. .. .. .. u2 d n−2 S ud n−1 S dnS
● Werte der Option am Verfalltermin t = n: Cu j dn− j = max 0,u j d n− j S − K für j = 0,1,2, . . . ,n . Aus diesen n + 1 Werten ermittelt man die n möglichen Werte für den Call im Zeitpunkt t = n − 1. Aus den dann berechneten n Werten sind weiter die n − 1 Zustandswerte für den Call in t = n − 2 zu bestimmen u.s.w. Durch dieses sukzessive Rückrechnen erhält man den aktuellen Wert der Kaufoption als Barwert der möglichen Endwerte: 1 n n j C= n ∑ p (1 − p)n− jCu j dn− j r j=0 j ● Bewertungsformel im Binomialmodell: (1. Schritt): 1 n n j C= n ∑ p (1 − p)n− j max 0,u j d n− j S − K r j=a j 1 n n j = n∑ p (1 − p)n− j u j d n− j S − K r j=a j n j n− j n j K n n j n− j u d = S∑ p (1 − p) − n∑ p (1 − p)n− j . n j r r j j=a j=a Anzahl minimaler Kursaufwärtsbewegungen a, ab denen der Call in-the-money ausläuft, also die Bedingung ua d n−a S > K erfüllt ist; a als kleinste ganze Zahl mit a ≥ a : K log d nS u . a = log d Für alle j ≥ a gilt dann max 0,u j d n− j S − K = u j d n− j S − K und für alle j < a: max 0,u j d n− j S − K = 0 .
9.5 Preistheorie von Aktienoptionen (2. Schritt): n n K S∑ (p ) j (1 − p )n− j − n j r j=a
403
n ∑ j p j (1 − p)n− j j=a n
u d p und 1 − p = (1 − p). r r Mit B(a; n,p) = ∑nj=a nj p j (1 − p)n− j folgt auch kurz
mit p =
C = SB(a; n,p ) − Kr−n B(a; n,p) .
9.5.7
Black/Scholes-Modell
● Optionsbewertungsformel von Black/Scholes für Calls: C = SN(d1 ) − Kr−T N(d2 ) mit log d1 =
S K
+ log r + √ σ T
σ2
2
T
√ , d 2 = d1 − σ T
und S K T r
= Aktienkurs, = festgelegter Basiskurs zum Bezug der Aktie, = Laufzeit der Option in Jahren, = risikoloser Zinssatz p.a., σ = Standardabweichung der Aktienrendite p. a. (= Volatilität).
Die Funktionen N(.) und log(.) stehen für den Wert der kumulierten Standardnormalverteilung bzw. den natürlichen Logarithmus. ● Verbale Interpretation der Black/Scholes-Formel: Im ersten Term der Call-Formel wird der Aktienkurs mit der Anzahl an Aktien, die in einem Duplikations-Portefeuille pro Call-Position benötigt werden, gewichtet. Im zweiten Term wird der diskontierte Basispreis mit der Wahrscheinlichkeit, dass der Aktienkurs S über K liegt, der Call also im Geld ist, gewichtet. Falls S in Relation zu K sehr groß und damit die Wahrscheinlichkeit einer Ausübung der Option nahe Eins ist, gilt approximativ N(d1 ) ≈ N(d2 ) ≈ 1 und es folgt C = S − Kr−T . Für Puts gilt: P = −SN(−d1 ) + Kr−T N(−d2 ) = −S [1 − N(d1 )] + Kr−T [1 − N(d2 )] . ● Black/Scholes-Differenzialgleichung: ∂C
1 ∂2C 2 2 σ S = iC mit i = r − 1 . ∂t ∂S 2 ∂S2 Die Black/Scholes-Formel lässt sich als kontinuierlicher Grenzfall der binomialen Bewertungsformel interpretieren. Die Herleitung der Formel erfolgt zumeist als Lösung der Black/Scholes-Differenzialgleichung. + iS
∂C
+
404
9 Quantitative Methoden des modernen Wertpapier-Managements
● Annahmen des Black/Scholes-Modells: 1. Das logarithmierte Verhältnis der Aktienkurse ist normalverteilt, d. h. die Aktienrenditen sind normalverteilt. Die Momentanvarianz p. a. ist konstant. 2. Aktien und Optionen werden kontinuierlich an einem vollkommenen Markt gehandelt. 3. Keine Transaktionskosten, keine Informationskosten, keine Steuern. 4. Wertpapiere sind beliebig teilbar und Leerverkäufe wie auch Käufe von Wertpapieren sind unbeschränkt möglich. 5. Zins einer risikofreien Anlage ist gegeben und im Zeitablauf konstant. Sollzins entspricht dem Habenzins. 6. Investoren handeln rational und ziehen ein größeres Vermögen einem kleineren vor. 7. Bei den betrachteten Optionen handelt es sich um europäische Optionen. 8. Von Dividendenzahlungen wird abstrahiert. ● Risikoneutraler Bewertungsansatz: Bestimmung des Optionspreises als Barwert der erwarteten Optionsendwerte: E C(T ) = E max 0,S(T ) − K . Aus der Normalverteilungsannahme für S(T ) folgt mit der Dichtefunktion f von S
f S(T ) =
1
√ exp S(T )σ 2π
2 1 log S(T ) − µ − 2 σ
schließlich ∞ E C(T ) = S(T ) − K K
1
√ exp S(T )σ 2π
2 1 log S(T ) − µ − dS . 2 σ
Transformation von S(T ) in eine standardnormalverteilte Zufallsvariable und Berechnung von E(C(T )). Die Beobachtung, dass der arbitragefreie Wert eines Derivats unabhängig von den Risikopräferenzen der Marktteilnehmer bestimmt werden kann, führt zur Folgerung, dass der gesuchte Optionswert als mit dem risikofreien Zinssatz diskontierter Erwartungswert der Optionsendwerte bestimmt werden kann.
9.5.8
Beispielsrechnung zur Black/Scholes-Formel
■ Laufzeit T = 6 Monate, Basiskurs K = 480 a, Aktienkurs S = 465 a, risikoloser Jahreszinssatz r = 7 %. Volatilität wird aus vergangenen Renditen anhand des aktuellen Kurses und der bekannten Wochenschlusskurse der letzten 26 Wochen sukzessive berechnet.
9.5 Preistheorie von Aktienoptionen log S j /S j−1
9 Quantitative Methoden des modernen Wertpapier-Managements
Aus tabellierten Werten der Standardnormalverteilung folgt: N(d1 ) = N(0,09) = 0,53519 und N(d2 ) = N(−0,06) = 1 − N(0,06) = 0,4761 . Wert der Kaufoption: C = 465 · 0,53519 − 480 · 1,07−0,5 · 0,4761 = 26,41 . Für einen Put gleichen Typs folgt analog P = −465 · [1 − N(0,09)] + 480 · 1,07−0,5 · [1 − N(−0,06)] = 25,44 oder auch aus der Put-Call-Parität
P = C − S + Kr−T = 26,41 − 465 + 480/ 1,07 = 25,44 .
9.5.9
Delta-Faktor
● Delta ∆: Sensitivität des Optionspreises gegenüber dem Aktienkurs. Das Delta berechnet sich als erste partielle Ableitung des Black/Scholes-Operationswertes nach der Aktienkursvariablen. ∆C =
∂C ∂S
= N(d1 ) > 0
und ∆ P =
∂P ∂S
= N(d1 ) − 1 < 0 .
Delta eines Call liegt zwischen Null und Eins, das Delta eines Put zwischen minus Eins und Null. Eine weit aus dem Geld liegende Option erfährt bei einer Veränderung des Kurses der Basisaktie eine geringe Preisbeeinflussung. Mit zunehmender Wertigkeit steigt das Delta an, Wertzuwächse beim Call bzw. Wertminderungen beim Put werden also größer, wenn der Aktienkurs sich erhöht. Das Delta von in the money Calls strebt mit abnehmender Restlaufzeit gegen Eins, das Delta von out of the money Calls gegen Null.
1
0,6 0,4
0,35 0,2
0,2
0,05 0 380 405 430 455 480 505 530 555 580
Aktienkurs
-0,2 -0,4
0,95 0,8 0,65
-0,6
0,5
Volatilität
0,95 0,8 0,65 0,5
Put-Delta
Call-Delta
0,8
Volatilität
0
0,35 -0,8 -1 380
0,2 0,05 405
430
455
480
505
Aktienkurs
530
555
580
9.5 Preistheorie von Aktienoptionen
9.5.10
407
Dynamisches Hedging
Fixes Hedging, einmaliger Aufbau einer geeigneten Optionsposition, die – im Prinzip – über einen gewissen längeren Zeitraum bestehen bleibt. ● Dynamische Hedge-Strategien, laufende Anpassung der Absicherungsposition an die aktuelle Marktentwicklung der zu sichernden Position. Hedge-Strategien, die berücksichtigen, dass sich der Kurs des Underlying, also der Aktienkurs, ständig ändert bzw. ändern kann und somit die Anzahl der zu kaufenden oder auch zu verkaufenden Finanztitel für einen vollständigen Hedge fortwährend anzupassen ist. Um eine vollständige Absicherung zu gewährleisten, müssen beide Positionen ständig in einem bestimmten Verhältnis zueinander gehalten werden, das einen gegenseitigen vollständigen Ausgleich der Wertschwankungen gewährleistet. Während beim fixen Hedge bspw. pro abzusichernder Aktie genau eine Optionsposition eingegangen wird, also der Gegenwert der Kassaposition im Verhältnis 1:1 auf dem Optionsmarkt gedeckt wird, bestimmt man beim Delta-Hedge das Hedge-Verhältnis mit dem DeltaFaktor. ■ Portefeuille bestehend aus w1 Kaufoptionen C1 und w2 Kaufoptionen C2 auf die gleiche Basisaktie, die sich nur hinsichtlich Fälligkeit oder Basispreis unterscheiden. Wert der Position w1C1 + w2C2 ist gegen Änderungen des Aktienkurses immun, wenn: w1
∂C1 ∂S
+ w2
∂C2 ∂S
=0,
d. h.
w1 ∆C =− 2 . w2 ∆ C1
∆ C1 Optionen vom Typ C2 zu ∆ C2 verkaufen. Für ein Portefeuille in Aktien und eine darauf bezogene Option erhält man analog, dass pro Optionskäuferposition ∆ Aktien zu verkaufen bzw. pro Aktieninhaberposition 1/∆ Optionen zu verkaufen sind. Für jede Long-Position in einer Option vom Typ C1 sind demnach
9.5.11
Gamma-Faktor
● Options-Gamma Γ , Veränderung des Delta bei einer Veränderung des Aktienkurses. Zweite partielle Ableitung der Black/Scholes-Formel nach der Aktienkursvariablen: 2 ∂∆ C ∂∆ P ∂2C 1 1 −d1 √ N (d1 ) > 0 mit N (d1 ) = √ exp Γ = = = 2 = . ∂S ∂S ∂S 2 Sσ T 2π Options-Gamma ist positiv und wird für sehr niedrige und sehr hohe Aktienkurse gleich Null. Das Gamma einer at the money-Option steigt gegen Ende der Laufzeit an. Das Gamma von in und out of the money-Optionen strebt dagegen mit abnehmender Restlaufzeit gegen Null. Das Options-Gamma fällt mit abnehmender Volatilität gegen Null, wobei zunächst ein Anstieg des Gamma zu beobachten ist. Dieser Anstieg ist bei at the money-Optionen am deutlichsten ausgeprägt. ● Gamma-Hedging, analog zur Vorgehensweise des oben beschriebenen Delta-Hedging wird eine Gamma-neutrale Position aufgebaut. Da das Gamma die Reagibilität des Delta auf Änderungen des Basiskurses beschreibt, kann durch eine Delta-Gamma-neutrale Strategie zum einen das Portefeuille Deltaneutral gestaltet werden und gleichzeitig durch die Gamma-Neutralität die Sensitivität des PortefeuilleDelta relativ niedrig gehalten werden, sodass Umschichtungen weniger häufig notwendig erscheinen. Gamma ist somit ein Maß für die Stabilität der Absicherungsposition.
408
9 Quantitative Methoden des modernen Wertpapier-Managements
0,025
0,015 0,8
0,01
0,55
0,005 0 380
0,3 430
480
530
Aktienkurs
9.5.12
Volatilität
Gamma
0,02
0,05 580
Theta-Faktor
● Options-Theta Θ : Veränderung des Optionspreises bei einer sich verkürzenden Restlaufzeit: Sσ ∂P ∂C = √ N (d1 ) + Kr−T (log r)N(d2 ) > 0; = − Kr−T (log r) . ΘP = ∂T ∂T ∂T 2 T Für einen Call ist das Theta immer positiv. Eine längere Restlaufzeit verringert zum einen den Barwert des Basispreises, zum anderen birgt sie ein größeres Potenzial an für die Option günstigen Aktienkursen, d. h. Kursen, ab denen die Option im Geld ist. Für Verkaufsoptionen sind diese beiden Effekte gerade gegenläufig, sodass keine eindeutige Aussage hinsichtlich des Vorzeichens beim Theta eines Put getroffen werden kann.
ΘC =
∂C
60 1,6
40 1,1 20 0,6 0 380 425
470
Aktienkurs
9.5.13
0,1 515
560
Restlaufzeit
Call-Theta
80
Lambda-, Rho-, Alpha- und Omega-Faktor
● Options-Lambda Λ (Options-Vega), Sensitivität des Optionspreises gegenüber der Kursvolatilität: √ ∂C ∂P Λ = = = S T N (d1 ) > 0 . ∂σ
∂σ
Das Lambda berechnet sich als erste partielle Ableitung des Black/Scholes-Operationswertes nach der Volatilitätsvariablen.
9.5 Preistheorie von Aktienoptionen
409
Der Optionspreis einer at the money-Option reagiert sehr stark auf Volatilitätsveränderungen. Das Options-Lambda ist positiv und steigt mit längerer Restlaufzeit der Option. Eine Option ist umso volatilitätssensibler, je höher ihre Zeitwertkomponente ist. Somit ist das Lambda von at the moneyOptionen deutlich größer als das Lambda von in und out of the money-Optionen. ● Options-Rho, Sensitivität des Optionspreises gegenüber dem Zinssatz. Der Rho-Faktor ist für einen Call positiv und für einen Put negativ. Mit zunehmendem Aktienkurs nimmt der Einfluss des Zinssatzes auf den Wert einer Kaufoption zu und auf den Wert einer Verkaufsoption ab. ● Options-Alpha, Sensitivität des Optionswertes gegenüber dem Basiskurs. ● Options-Omega Ω , Elastizität des Optionswertes bezüglich Veränderungen des Aktienkurses. Prozentuale Abhängigkeit des Optionspreises von der prozentualen Veränderung des Aktienkurses: S∆ C S∆ P und Ω P = . ΩC = C C Das Omega ist stets größer oder gleich Eins, die Option ist also stets elastischer als der zugrunde liegende Finanztitel. Da dies sowohl für Kurssteigerungen als auch für Kursverluste gilt, verdeutlicht Omega das erhöhte Risiko, das ein Anleger auf dem Optionsmarkt im Vergleich zum Anleger auf dem Kassamarkt eingeht. Die Elastizität für weit out of the money-liegende Optionen nimmt sehr große Werte an, ihre höchste Elastizität erreicht die Option unmittelbar vor dem Verfalldatum.
9.5.14
Berechnung von Optionskennzahlen in einem einfachen Fall
■ Spezialfall S = Kr−T : Black/Scholes-Formel: C = SN(d1 ) − Kr−T N(d2 ) = Kr−T [N(d1 ) − N(d2 )] mit
+ log r + √ d1 = σ T Put-Call-Parität: log
Kr −T K
σ2
2
T
1 √ = σ T 2
1 √ und d2 = − σ T . 2
P = C − S + Kr−T = C . Taylor-Approximation der Dichtefunktion der Normalverteilung: d3 1 1 d5 d− + − +... . N(d) = + √ 2 2 π 6 120 Bei Vernachlässigung aller √ Komponenten von N(d) mit einer Ordnung größer als zwei folgt für den Optionswert C = 0,4Sσ T . Options-Delta eines Call: √ 1 ∆ C = + 0,2σ T . 2 Options-Delta eines Put: √ 1 ∆ P = 0,2σ T − . 2 1 2 1 2 Mit N (d1 ) ≈ 0,4 exp − d1 = 0,4 exp − σ T ≈ 0,4 folgt für das Options-Gamma: 2 2 1 Γ = 0,4 √ . Sσ T
10
Operations Research
Operations Research (OR), modellgestützte Vorbereitung von Entscheidungen zur Gestaltung und Steuerung soziotechnischer Systeme oder auch manchmal „die Anwendung quantitativer Verfahren zur Lösung wirtschaftswissenschaftlicher Probleme“. ▲ Der Begriff entstand zwischen 1937 und 1939 zunächst als „Operational Research“ in Abgrenzung zum „Technical Research“ am damaligen Radar-Warnsystem der Royal Air Force. Parallel zur technischen Entwicklung des Warnsystems sollte eine Gruppe von Mitarbeitern die Operationen, d. h. die Organisation, das Informationswesen, die Abstimmung von Maßnahmen etc. vorantreiben.
Aufgabenstellung OR-Prozess, alle Aktivitäten von der Problemidentifizierung bis zum validen Modell: Problemerkennung und Problemformulierung, Identifizierung der Umweltzustände, Analyse und Festlegung der Entscheidungskriterien, Analyse und Prognose der Systemumwelt, Entwurf von Entscheidungsalternativen, Modellkonstruktion, Datenbeschaffung, Datenorganisation, Analyse der Datenqualität, Auswahl und Entwurf von Algorithmen, Auswahl und Entwurf von EDV-Programmen, Modellrechnungen, Interpretation der gefundenen Ergebnisse, Implementierung. ● Teilgebiete des OR: • Lineare Optimierung, • Netzplantechnik, • Netzwerkmodelle, • Dynamische Optimierung, • Ganzzahlige Optimierung, • Dualitätstheorie, • Nichtlineare Optimierung.
10.1
Lineare Optimierung
Lineare Optimierung (LP), Teilgebiet des OR mit linearem Modell. ● Die Zielfunktion z, die maximiert oder minimiert wird, ist linear und alle Nebenbedingungen (Restriktionen) sind ausschließlich lineare Gleichungen oder Ungleichungen der Typs „kleiner-gleich“ oder „größer-gleich“. ▲ Alternative Bezeichnungsweisen sind: linear programming (engl.), Lineare Planungsrechnung oder auch Lineare Programmierung.
10.1.1
Das Grundmodell der Linearen Optimierung
Grundmodell der linearen Optimierung (LP-Modell), Maximierungsmodell mit ausschließlich „≤“-Nebenbedingungen, ist durch Hinzufügen von Schlupfvariablen in kanonischer Form darstellbar.
10.1 Lineare Optimierung Summenschreibweise
Matrix-Schreibweise
Max
Max
z
mit
z = cT · x + z0
z n
mit
z = ∑ c j · x j + z0 j=1 n
411
u. d. N. yi + ∑ ai j · x j = bi für i = 1, 2, . . . , m u. d. N. y + A · x = b j=1
yi , x j ≥ 0 für i = 1, 2, . . . , m für j = 1, 2, . . . , n
x, y ≥ 0 c, x n-dimensionale Vektoren b, y m-dimensionaler Vektor A (m × n)-dimensionale Matrix
Entscheidungsvariablen, Variablen x j des Modells. Es sind diejenigen Größen, deren Werte gesucht sind. Im Grundmodell ist x j eine kontinuierliche Variable, die nur nicht-negative Werte annehmen darf. Zielfunktionswert z, die zu optimierende Variable, nicht vorzeichenbeschränkt. Zielfunktion, beschreibt die Abhängigkeit des Zielwertes von den Entscheidungsvariablen. Sie muss definitionsgemäß linear sein. Nebenbedingung (oder Restriktion), jede Form einer Einschränkung der Wertzuweisung für die Entscheidungsvariablen. Dazu zählen die Nebenbedingungen in Form linearer Gleichungen und Ungleichungen, jedoch auch die Nichtnegativitätsbedingungen. Rechte Seite, die absoluten Glieder aller Restriktionen, i. d. R. zum Vektor b zusammengefasst. Lösungsraum, die von allen Nebenbedingungen beschriebene Menge der zulässigen Lösungen, stellt konvexen Polyeder dar: P = {x | A · x ≤ b, x ≥ 0}
10.1.2
Modellerweiterungen
Allgemeines LP-Modell, allgemeinste Form eines linearen Optimierungsmodells mit allen Restriktionsvarianten. Modell Opt
Attribut Opt ∈ {Max,Min}
z n
mit
z=
∑ c j · x j + z0
j=1 n
∑ ai j · x j
u. d. N.
j=1
xj
bi
0
∈ {≤ , = , ≥} ∈ {≥ ,frei, ≤}
Minimierungsproblem, die Zielfunktion ist zu minimieren; ist durch Vorzeichenumkehr der Zielfunktion in ein Maximierungsproblem zu transformieren: Min z = −Max(−z) Höchstgrenze für Nebenbedingungen ergibt „≤ - Restriktion“, Addition einer (nicht-negativen) Schlupfvariable führt auf Gleichungsform: n
∑ ai j · x j j=1
≤ bi
→
n
yi + ∑ ai j · x j = bi j=1
mit yi ≥ 0
412
10 Operations Research
Mindestforderung als Nebenbedingung ergibt „≥-Restriktion“, Subtraktion einer (nicht-negativen) Überschussvariablen führt auf Gleichungsform: n
∑
ai j · x j ≥ bi
→
j=1
n
−yi + ∑ ai j · x j = bi
mit yi ≥ 0
j=1
Künstliche Basisvariablen, werden allen Gleichungen hinzugefügt, die keine natürliche Basisvariablen in Form einer Schlupfvariablen besitzen. Nichtnegativitäts-Bedingungen für die Variablen brauchen nicht in Gleichungen transformiert zu werden; sie werden implizit berücksichtigt. Nicht-positive Variablen, durch Einführung einer Ersatzvariablen x−j = −x j lässt sich dieser Fall auf den Standardfall zurückführen: xj ≤ 0
↔
x−j = −x j
mit x−j ≥ 0
Freie Variable, eine Variable, die sowohl positive als auch negative Werte annehmen darf, d. h. z. B. aus dem Bereich −∞ < x j < +∞ frei wählbar ist. Ersetzt man sie durch die Differenz zweier nicht-negativer Variablen x j = x+j − x−j , so ist auch dies formal auf den Standardfall zurückgeführt: x j frei
10.1.3
↔
x j = x+j − x−j
mit x+j , x−j ≥ 0
Grafische Lösung
■ Das folgende LP-Problem ist seiner Grundstruktur nach mit dem vorherigen Modell identisch: Max z mit z = 20x1 + 30x2 (zf) u. d. N. x1 + 2x2 ≤ 200 (n1) x1 + x2 ≤ 160 (n2) x2 ≤ 60 (n3) x1 , x2 ≥ 0 (nn) Die grafische Darstellung des Ungleichungssystems ergibt die schattierte Menge P aller zulässigen Lösungen:
10.1 Lineare Optimierung
413
Die Zielfunktion stellt für einen festen Wert von z (z. B. z = 600) eine Gerade im x1 ,x2 -System dar. Alle auf dieser Geraden liegenden Punkte (x1 ,x2 ) ergeben denselben Zielfunktionswert z = z(x1 ,x2 ), d. h. jede Parallele zu der eingezeichneten Zielgeraden ist eine Isozielwertlinie, eine Linie gleichen Zielwertes. In Pfeilrichtung parallel verschobene Geraden entsprechen einem höheren Zielfunktionswert. Die am weitesten verschobene Parallele, die den Lösungsraum P gerade noch berührt (tangiert), stellt den maximalen Zielfunktionswert dar. Er ergibt sich im Punkt x1 = 120 und x2 = 40 mit dem Wert zmax = 3.600. ▲ Die grafische Lösung ist zwar nur für zweidimensionale Probleme möglich, jedoch zeigt die Abbildung bereits (fast) alle wesentlichen Eigenschaften allgemeiner LP-Probleme: ● Eigenschaften eines LP-Problems: • Alle Nebenbedingungen, d. h. einschließlich der Nichtnegativitätsbedingungen, bilden zusammen den zulässigen Lösungsraum. • Der Lösungsraum bildet ein beschränktes oder unbeschränktes konvexes Polyeder. • Eine lineare Zielfunktion nimmt ihr Extremum (Maximum oder Minimum) stets in einem Eckpunkt an oder ihr Wert ist unbeschränkt. • Der optimale Eckpunkt ist genau dann erreicht, wenn der Zielfunktionswert in allen benachbarten Punkten nicht besser ist.
10.1.4
Äquivalentes unterbestimmtes Gleichungssystem und Basislösung
Jede Nebenbedingung des Typs „≤“ kann man durch Hinzufügen einer Schlupfvariablen, für die ebenfalls die Nichtnegativitätsbedingung gelten muss, in eine Gleichung transformieren: n
∑ ai j · x j
≤ bi
n
ist äquivalent zu
j=1
yi + ∑ ai j · x j = bi
mit yi ≥ 0
j=1
Ist die Schlupfvariable yi gleich null, so ist die ursprüngliche Nebenbedingung als Gleichung erfüllt: yi = 0 ⇒
n
∑ ai j · x j
= bi
j=1
Für yi > 0 gilt die strenge Ungleichung: yi > 0 ⇒
n
∑ ai j · x j
< bi
j=1
■ Durch Hinzufügen von Schlupfvariablen erhält man aus dem Beispiel die folgende äquivalente Darstellung: Max
z
mit
z = 20x1 +30x2
u. d. N. y1 y2 y3
+x1 +2x2 = 200 +x1
+x2 = 160 +x2 = 60
y1 , y2 , y3 , x1 , x2 ≥ 0
414
10 Operations Research
Ohne die Nichtnegativitätsbedingungen stellen die Nebenbedingungen ein unterbestimmtes Gleichungssystem (3 Gleichungen mit 5 Variablen) dar. Sie beschreiben den Lösungsraum P, wobei auf jedem der linearen Randstücke genau eine Variable gleich null ist. ● Ein Eckpunkt ist dadurch beschrieben, dass genau zwei Variablen gleich null sind. Eine Lösung mit dieser Eigenschaft wird als Basislösung des zugehörigen unterbestimmten Gleichungssystems bezeichnet. Die Basislösung ist zulässig, wenn ein Eckpunkt des Lösungsraums P vorliegt. ▲ Der grafische Lösungsweg kann rechnerisch nachvollzogen werden, indem - ausgehend von einem zulässigen Eckpunkt - die zugehörige Basislösung bestimmt wird. Ist die Zielfunktion von diesem Punkt aus verbesserungsfähig, d. h., gibt es eine benachbarte Basislösung mit besserem Zielfunktionswert, dann wird diese berechnet. Andernfalls kann die Berechnung beendet werden, weil die optimale Lösung erreicht ist. ● Dies ist exakt der Lösungsweg der Simplex-Methode.
10.1.5
Simplex-Methode
Simplex-Methode, 1947 von G. B. Dantzig entwickelt, folgt im Prinzip dem grafischen Lösungsweg. ● Von einer Basislösung (= Eckpunkt) ausgehend wird die Zielfunktion sukzessive und zielgerichtet entlang benachbarter Eckpunkte parallel verschoben. ▲ Die Eigenschaft der Nachbarschaft wird durch den Austausch genau einer Variablen in der Basis beim Übergang von einer Lösung zur nächsten garantiert. Simplex-Iteration, Austausch einer Basisvariablen gegen eine Nichtbasisvariable, bestehend aus: • der Auswahl des Pivotelements und • der Durchführung der Pivotoperation. Simplex-Tableau, Tabellendarstellung der kanonischen Form eines LP-Problems. Basisvariablen, bestehend aus Schlupfvariablen und künstlichen Basisvariablen der kanonischen Form. Nichtbasisvariablen, Entscheidungs- und Überschussvariablen.
10.1 Lineare Optimierung
BV
Max z xn+1 .. .
x1 d1 a11
NBV · · · xj · · · dj a1 j ...
xn+i .. .
ai1
ai j
xn+m
am1
xn dn a1n .. .
RS z0 b1 .. .
ain .. .
bi .. .
· · · amn
bm
... · · · am j
415
Verkürztes Tableau, unterscheidet sich vom vollständigen durch das Fehlen der Einheitsmatrix (der Basisvariablen). ● Ganz besonders sei auf die Darstellung der Zielfunktion in diesem Tableau aufmerksam gemacht. In der Gleichungsform wird das Modell meist in der Form Max
z n
mit
z=
∑ cj · xj j=1
n
u. d. N. xn+i + ∑ ai j · x j = bi für alle i = 1, 2, . . . , m j=1
xk ≥ 0 für alle k Zielfunktionskoeffizienten c j haben im Tableau die Form: n
z − ∑ cj = 0 j=1
▲ Im Tableau treten die Koeffizienten mit umgekehrtem Vorzeichen auf. Dies führt regelmäßig zu Interpretationsschwierigkeiten! Zielzeilenkoeffizienten d j : d j = −c j Damit ist äquivalent: n
z − ∑ cj = 0
⇔
j=1
n
z + ∑ dj = 0 j=1
▲ Durch Einführung der Zielzeilenkoeffizienten wird das Vorzeichenproblem im Tableau umgangen.
10.1.6
Simplex-Algorithmus
Ausgangstableau: Max x j z dj xr ar j xi ai j
xs ds ars ais
RS z0 br bi
● Konvergenz der Simplex-Methode: Von einer zulässigen Lösung ausgehend, wird in endlich vielen Iterationen entweder die maximale Lösung erreicht oder nachgewiesen, dass die Lösung unbeschränkt ist.
416
10 Operations Research
▲ Der theoretische Fall des Kreiselns tritt in der Praxis nicht auf. Simplex-Methode (Standardform) Input: Simplextableau mit zulässiger Ausgangslösung Output: Simplextableau mit optimaler (oder unbeschränkter) Basislösung Vereinbarung: Umgerechnete Koeffizienten sind durch einen Stern (*) gekennzeichnet. Schritt 1: Auswahl der Pivotspalte s Es sei ds = min d j j
Falls ds ≥ 0 ist, dann ist die maximale (= optimale) Lösung erreicht; die Rechnung ist beendet. Andernfalls wähle die Spalte s als Pivotspalte. Auswahl der Pivotzeile'r br bi
Berechne: = min ais > 0} (Quotientenkriterium) i ars ais
Schritt 2:
Schritt 3: 3.1:
3.2:
3.3:
3.4:
3.5:
Wähle Zeile r als Pivotzeile. Bei mehreren minimalen Quotienten wähle die Zeile r unter den entsprechenden Zeilen beliebig aus. Falls kein ais > 0 existiert, ist die Lösung unbeschränkt; die Rechnung endet. Pivotoperation bzgl. ars > 0 Pivotzeile r ar j br a∗r j = für alle j = s , b∗r = ars ars Pivotspalte s ais ds a∗is = − für alle i = r , ds∗ = − ars ars Pivotelement 1 a∗rs = ars Alle übrigen Elemente ais · ar j a∗i j = ai j − = ai j − ais · a∗r j für alle i = r und j = s ars ais · br b∗i = bi − = bi − ais · b∗r für alle i = r ars ds · ar j d ∗j = d j − = d j − ds · a∗r j für alle j = s ars ds · br z∗0 = z0 − = z0 − ds · b∗r ars Vertauschung der Variablen Tausche xr gegen xs und gehe nach Schritt 1.
■ Beispiel: Ausgangslösung: Max x1 x2 z −20 −30 x3 1 2 x4 1 1 x5 0 1
RS 0 200 160 60
Lösung nach 1. Iteration: Max x1 x5 RS z −20 30 1800 x3 1 −2 80 x4 1 −1 100 x2 0 1 60
Lösung nach 2. Iteration: Max x3 x5 RS z 20 −10 3400 x1 1 −2 80 x4 −1 1 20 x2 0 1 60
Lösung nach 3. Iteration: Max x3 x4 RS z 10 10 3600 x1 −1 2 120 x5 −1 1 20 x2 1 −1 40
10.1 Lineare Optimierung
417
Optimale Lösung, alle Zielzeilenkoeffizienten sind d j ≥ 0: x3 = x4 = 0 → x1 = 120,x2 = 40,x5 = 20 → zmax = 3.600 Mehrdeutigkeit der Lösung liegt vor, wenn in der optimalen Lösung einer oder mehrere Zielzeilenkoeffizienten gleich null sind. ▲ Die Zielfunktion verläuft in diesem Fall parallel zu einer Kante oder einer Fassette des Polyeders. Degeneration der Lösung heißt, dass ein oder mehrere Koeffizienten der Rechten Seite gleich null sind. Der entsprechende Eckpunkt ist dann überbestimmt.
10.1.7
Bestimmung einer zulässigen Lösung
Ausgehend von dem allgemeinen LP-Problem erhält man nach Einführung von Schlupf- und Überschussvariablen sowie künstlichen Basisvariablen das bereits bekannte LP-Problem: Max
z
mit
z
n
+ ∑ dj · xj
= z0
j=1 n
u. d. N. x + ∑ a j · x j
= b für alle ∈ L ursprüngliche „≤“-Bedingung
j=1 n
xg + ∑ ag j · x j − xg = be für alle g ∈ G ursprüngliche „≥“-Bedingung j=1 n
xe + ∑ ae j · x j
= be für alle e ∈ E ursprüngliche „≥“-Bedingung
j=1
xj ≥ 0 x ,xg ≥ 0 xg ,xe künstlich Wiederum seien bi ≥ 0 für alle i ∈ L∪G∪E vorausgesetzt, was durch Vorzeichenumkehr vor der Einführung von Schlupf- und Überschussvariablen stets erreicht werden kann. ▲ Die Unzulässigkeit der aktuellen Basislösung B0 = {x ,xg ,xe } besteht darin, dass die künstlichen Variablen in der Basis einen Wert größer null haben, falls bg , bg , be > 0 sind, sie in einem zulässigen Punkt aber gleich null sein müssen. Zweite Zielfunktion, gleich Summe aller künstlichen Variablen, die der Bedingung, dass die künstlichen Variable nicht negativ werden dürfen, minimiert wird. Unter dieser Voraussetzung kann die Summe der künstlichen Variablen bestenfalls gleich null werden, d. h. ein Ergebnis, bei dem notwendigerweise alle künstlichen Variablen gleich null sein müssten: Min w mit w = ∑g∈G xg + ∑e∈E xe u. d. N. xg ,xe ≥ 0 für alle g ∈ G und e ∈ E ergibt genau dann eine zulässige Lösung, wenn w = 0, d. h. xg = xe = 0 für alle g ∈ G und e ∈ E erreicht ist. Als zweite Zielfunktion ergibt sich: w=
∑
g∈G
xg +
∑ xe = − ∑ ( ∑
e∈E
j
g∈G
ag j +
∑ ae j ) · x j + ∑
e∈E
g∈G
xg +
∑
g∈G
bg +
∑ be .
e∈E
418
10 Operations Research
In der Standardform eines Maximierungsproblem: Max
(−w)
mit
(−w) + ∑ ( ∑ ag j +
n
j=1 g∈G
∑ ae j ) · x j + ∑
e∈E
g∈G
xg = −( ∑ bg + g∈G
∑ be )
e∈E
n
u. d. N. z + ∑ d j · x j j=1 n
x + ∑ a j · x j
= z0 = b für alle ∈ L
j=1 n
xg + ∑ ag j · x j − xg = be für alle g ∈ G j=1 n
xe + ∑ ae j · x j
= be für alle e ∈ E
j=1
xj ≥ 0 x ,xg ≥ 0 xg ,xe ≥ 0 z frei Unzulässigkeitsfunktion, alternativer Name für die zweite Zielfunktion. Ihr Wert ist ein Maß für die Summe aller Unzulässigkeiten. ● Je kleiner der Wert der Unzulässigkeitsfunktion, desto stärker nähert sich die Lösung dem zulässigen Bereich. ▲ Mithilfe der Simplex-Methode kann man das neue Problem lösen, indem die ursprüngliche Zielfunktion wie eine Nebenbedingung mit umgerechnet wird, allerdings mit der Maßgabe, dass die entsprechende Zeile niemals Pivotzeile werden darf. Das heißt, diese „Nebenbedingung“ darf nicht restriktiv werden, sodass die Zielvariable z als freie Variable behandelt werden muss. Zulässige Lösung, der Lösungsprozess endet mit dem minimalen Wert der Funktion w = 0. Keine zulässige Lösung, der Lösungsprozess endet mit dem minimalen Wert der Funktion w > 0.
10.2
Dualitätstheorie
Dualität linearer Programme, das paarweise Auftreten von LP-Problemen. Zu jedem LP-Problem existiert ein zweites, das als das „duale Problem“ des ersteren bezeichnet wird. ■ Bei Zwei-Personen-Nullsummenspielen wird besonders deutlich, dass der Gewinn des einen Spielers gleich dem Verlust des anderen Spielers ist. Das heißt, es muss sich dieselbe Lösung ergeben, wenn man den Mindestgewinn des Spielers A maximiert oder den Maximalverlust des Spielers B minimiert. Die entsprechenden linearen Programme sind dual zueinander. ■ In der Produktionsprogrammplanung ist mit jedem Ressourcen-Allokations-Problem ein Preisproblem verbunden. Das heißt, der Faktoreinsatz wird davon abhängig gemacht, welche Erlöse sich mit ihm erzielen lassen. Das Problem, die Ressourcen so einzusetzen, dass sich ein maximaler Gewinn ergibt, ist dual zu dem Problem, Verrechnungspreise für die Faktoren zu bestimmen, so dass die Kosten ihres Einsatzes minimiert werden.
10.2 Dualitätstheorie Duale Entsprechungen, die gegenseitigen Entsprechungen des primalen und des dualen Problems. Primales Problem Zielfunktion Rechte Seite Koeffizientenmatrix Variable (Spalte) Nebenbedingung (Zeile)
Mit diesen Bezeichnungen ergibt sich im Folgenden das als PRIMAL bezeichnete LP-Problem: Max z mit z = cT · x u. d. N. A · x ≤ b x≥0 Das Preisproblem ergibt sich, wenn man allen Faktoren i Preise ui zuordnet: u1 u2 u= → der Vektor der Faktorbewertungen .. . um Als Wert aller verfügbaren Faktoren erhält man: m
w = ∑ bi · ui = bT · u i=1
Die Preise sind so zu bestimmen, dass die Bewertung aller vorhandenen Faktoren minimal ist.
419
420
10 Operations Research
Bei der Berechnung der Preise soll in jedem Fall sichergestellt sein, dass der Wert der eingesetzten Faktoren in einer Aktivität den Deckungsbeitrag c j des Aktivitätenoutputs nicht unterschreitet: m
∑ ai j · ui ≥ c j
für alle j = 1, 2, . . . , n
i=1
Restriktionen zusammengefasst: AT · u ≥ c Keine negativen Preise: u≥0 Zusammengefasst ergibt sich das LP-Problem: DUAL Min w mit w = bT · u u. d. N. AT · u ≥ c u≥0 Allgemeines duales Problem, ergibt sich aus folgender Synopse, die von links nach rechts zu interpretieren ist, wenn das primale Problem ein Maximierungsproblem ist, sonst von rechts nach links, wobei die so genannte Punktnotation für die i-te Zeile Ai· bzw. für die j-te Spalte A· j der Matrix A verwendet wurde: PRIMAL (DUAL) Kriterium: Max Variablen: x j ; j = 1, 2, . . . , n Funktionen: ATi· · x ; i = 1, 2, . . . , m Zielfunktion: z = cT · x + z0 Rechte Seite: b Nebenbed.: A· · x ≤ b ∀ ∈ L Ae· = be ∀e ∈ E T Ag· ≥ bg ∀g ∈ G Variablen: xi ≥ 0 ∀i ∈ I x j frei ∀ j ∈ J xk ≤ 0 ∀k ∈ K
DUAL (PRIMAL) Kriterium: Min Funktionen: AT· j · u ; j = 1, 2, . . . , n Variablen: ui ; i = 1, 2, . . . , m Rechte Seite: c Zielfunktion: w = bT · u + z0 Variablen: u ≥ 0 ∀ ∈ L ue frei ∀e ∈ E ug ≤ 0 ∀g ∈ G Nebenbed.: AT·i · u ≥ ci ∀i ∈ I AT· j · u = c j ∀ j ∈ J AT·k · u ≤ ck ∀k ∈ K
▲ Zwischen den jeweils paarweise auftretenden LP-Problemen bestehen enge Beziehungen. Sie sind im Folgenden in Form von Eigenschaften zusammengestellt, auf die im weiteren Text Bezug genommen wird. Wir halten zunächst fest, dass es sich bei den beiden dualen Problemen Max z mit z = cT · x u. d. N. A · x ≤ b x≥0
⇔
Min w mit w = bT · u u. d. N. AT · u ≥ c u≥0
um zwei verschiedene Probleme handelt! Sie werden i. d. R. unterschiedliche Dimensionen besitzen und durch die Nebenbedingungen sind völlig verschiedene Polyeder beschrieben.
10.2 Dualitätstheorie
421
▲ Die zulässigen Lösungen des einen Problems haben mit den zulässigen Lösungen des anderen Problems im Prinzip nichts gemeinsam. ● Eigenschaften dualer Probleme: Duales Problem des dualen: Das duale Problem des dualen Problems ergibt das primale Problem. Schwache Dualität: Es seien x∗ eine zulässige Lösung des primalen Max-Problems und u∗ eine zulässige Lösung des dualen Min-Problems: z(x∗ ) = cT · x∗ ≤ bT · u∗ = w(u∗ ) Der Zielfunktionswert einer zulässigen Lösung des Maximierungsproblems ist also stets kleiner oder gleich dem Zielfunktionswert einer zulässigen Lösung des dazugehörenden Minimierungsproblems. ▲ Aus der schwachen Dualität ergeben sich wichtige Folgerungen:
⇒ Der Zielfunktionswert einer zulässigen Lösung des Min-Problems stellt eine obere Schranke für die optimale (und zulässige) Lösung des Max-Problems dar. ⇒ Analog ist der Zielfunktionswert einer zulässigen Lösung des Max-Problems eine untere Schranke für die optimale Lösung des Min-Problems. ⇒ Ist die Lösung des Max-Problems zulässig und nach oben unbeschränkt, so gibt es keine zulässige Lösung des Min-Problems. ⇒ Ist die Lösung des Min-Problems zulässig und nach unten unbeschränkt, so gibt es keine zulässige Lösung des Max-Problems. ⇒ Falls das Min-Problem keine und das Max-Problem mindestens eine zulässige Lösung besitzt, so ist das Max-Problem nach oben unbeschränkt. ⇒ Hat das Max-Problem keine und das Min-Problem mindestens eine zulässige Lösung, so ist das Min-Problem nach unten unbeschränkt. Hinreichende Bedingung der Optimalität: In einem Paar dualer LP-Probleme sei x∗ eine zulässige Lösung des (primalen) Max-Problems und u∗ eine zulässige Lösung des (dualen) Min-Problems. z(x∗ ) und w(u∗ ) seien die entsprechenden Zielfunktionswerte und es gelte z(x∗ ) = w(u∗ ). Dann ist x∗ die optimale Lösung des Max-Problems und u∗ die optimale Lösung des Min-Problems. Starke Dualität: Besitzt in einem Paar dualer LP-Probleme eines der beiden Probleme eine (endliche) Optimallösung, dann auch das andere und die Zielfunktionswerte beider Probleme sind im Optimum gleich. Neben zahlreichen theoretischen Folgerungen ergibt sich die folgende auch für den praktischen Einsatz relevante Konsequenz. ● Es wird angenommen, dass für ein Paar zueinander dualer Probleme jeweils eine zulässige
Basislösung bekannt ist. Beide LP-Probleme sollen also unabhängig voneinander gelöst werden, wobei in beiden Fällen zunächst die Zulässigkeit angestrebt wird. Wegen der schwachen Dualität ist der Zielfunktionswert: ⇒ des Min-Problems obere Schranke für das Max-Problem ⇒ des Max-Problems untere Schranke für das Min-Problem. Der einzige gemeinsame (zulässige) Wert beider Probleme ergibt sich wegen des starken Dualitätssatzes im Optimum. Complementary Slackness-Bedingung: Für ein Paar dualer LP-Probleme gilt: x∗ und u∗ sind dann und nur dann optimale Lösungen der
422
10 Operations Research jeweiligen Probleme, wenn sie die Complementary Slackness-Bedingung u∗ T · (b − A · x∗ ) = 0 bzw. (AT · u∗ − c)T · x∗ = 0 erfüllen. ▲ Die CS-Bedingung ist identisch mit der ökonomischen Aussage, dass nur diejenigen Faktoren
einen Schattenpreis ( = Dualvariable!) ungleich null haben, die knapp sind, bei denen also die Nebenbedingung als Gleichung gilt. Umgekehrt ist der Schattenpreis gleich null, wenn die Nebenbedingung nicht restriktiv ist, d. h. das Ungleichheitszeichen gilt.
10.2.1
Duale Simplex-Methode
Die primale Simplex-Methode arbeitet in der Optimierungsphase nach dem folgenden Prinzip: • Sie startet mit einer (primal) zulässigen Lösung. • In jeder Iteration wird eine andere Basislösung berechnet, die die Eigenschaft hat, 1. nach wie vor zulässig zu sein und 2. hinsichtlich des Zielfunktionswertes besser, zumindest aber nicht schlechter zu sein. ▲ Dieses (primale) Prinzip strebt also von einer zulässigen Lösung ausgehend die Optimalität an, wobei sichergestellt wird, dass die einmal gewonnene Zulässigkeit nicht mehr verloren geht. Alle bis auf die letzte Basislösung sind zulässig, aber nicht optimal; nach den zuvor erarbeiteten Ergebnissen kann man also feststellen: Sie sind primal, jedoch nicht dual zulässig. ● Die Lösungsstrategie besteht dabei darin, eine (primal) zulässige Lösung stetig zu verbessern, bis sie auch dual zulässig, also optimal ist. Duale Strategie, geht genau umgekehrt vor, d. h. startet mit einer dual zulässigen Lösung und strebt primale Zulässigkeit an. Ist sie erreicht, so ist man am Ziel, d. h. die erste (primal) zulässige Lösung ist dann die gesuchte. Wir gehen hierzu wieder von der Standardform aus: Ausgangstableau: Max x j z dj xr ar j xi ai j
xs ds ars ais
RS z0 br bi
Die zugehörige Basislösung sei optimal (dual zulässig), d. h. d j , ds ≥ 0, jedoch nicht (primal) zulässig, d. h., es existiere mindestens eine Zeile i mit bi < 0. Duale Simplex-Methode (Standardform) Input: Output: Vereinbarung: Schritt 1:
Simplextableau mit dual zulässiger (= optimaler) Ausgangslösung Simplextableau mit optimaler und primal zulässiger Basislösung oder dem Nachweis, dass keine zulässige Lösung existiert. Umgerechnete Koeffizienten sind durch einen Stern (*) gekennzeichnet. Auswahl der Pivotzeile r Es sei br = min bi i
Falls br ≥ 0 ist, dann ist eine zulässige Lösung erreicht; die Rechnung ist beendet. Andernfalls wähle die Zeile r als Pivotzeile.
10.2 Dualitätstheorie Schritt 2:
423
Auswahl der Pivotspalte's
d j
ds Berechne: − = min − ar j < 0} j ars ar j Wähle Spalte s als Pivotspalte. Bei mehreren minimalen Quotienten wähle die Spalte s unter den entsprechenden Zeilen beliebig aus.
Schritt 3: 3.1:
3.2:
3.3:
3.4:
3.5:
Falls kein ar j < 0 existiert, gibt es keine zulässige Lösung; die Rechnung endet. Pivotoperation bzgl. ars < 0 Pivotzeile r ar j br a∗r j = für alle j = s , b∗r = ars ars Pivotspalte s ais a∗is = − für alle i = r , ars
ds∗ = −
ds ars
Pivotelement 1 a∗rs = ars Alle übrigen Elemente ais · ar j a∗i j = ai j − = ai j − ais · a∗r j für alle i = r und j = s ars ais · br b∗i = bi − = bi − ais · b∗r für alle i = r ars ds · ar j d ∗j = d j − = d j − ds · a∗r j für alle j = s ars ds · br z∗0 = z0 − = z0 − ds · b∗r ars Vertauschung der Variablen Tausche xr gegen xs und gehe nach Schritt 1.
■ Beispiel: Gesucht ist die Lösung des nachstehenden Minimierungsproblems. Min z mit z = 2x1 +4x2 +5x3 u. d. N. x1 +2x2 +3x3 ≥ 9 2x1 +3x2 +x3 ≥ 12 2x1 +2x2 +4x3 ≥ 15 x1 ,x2 ,x3 ≥ 0 Max
x1
x2
x3
RS
Max
x6
x2
x3
RS
(−z)
2
4
5
0
(−z)
1
2
1
−15
−9
x4
− 12
−1 −1
x4
−1 −2 −3
x5
−2
−1 −12
x5
−1
−1
3
3
x6
−2 −2 −4 −15
x1
− 12
1
−2
15 2
3
− 32
424
10 Operations Research Max
x6
x2
x4
RS
Max
x5
x2
x4
RS
(−z)
1
1
− 332
(−z)
−1
3 2
x3
− 25
x5
− 52
−4
3
− 32
x6
− 25
x1
− 32
−1
2
9 2
x1
− 35
1 5 1 5 8 5 7 5
− 845
1
1 5 1 5
8 5
x3
1 2 1 2
6 5 3 5 27 5
10.3
− 65 1 5
Revidierte Simplex-Methode
▲ Klassische Simplex-Methode: In jeder Iteration wird das gesamte Tableau umgerechnet. Dabei sind bei größeren Problemen u. U. außerordentlich viele Operationen des Typs a∗ = a − b·c , d. h. der zentralen d linearen Transformation, auszuführen, was mit folgenden, z. T. gravierenden Nachteilen verbunden ist: Speicherplatz: Die Koeffizientenmatrizen sind groß, jedoch meist nur dünn besetzt. Bei der vollständigen Umrechnung ändert sich die Verteilung der Nichtnull-Elemente, sodass eine kompakte Speicherung nicht infrage kommt. Die vollständige Speicherung der Koeffizientenmatrix kann nicht im Arbeitsspeicher vorgenommen werden, weshalb – bei externer Speicherung – sehr viele Input/Output-Operationen anfallen, was die Lösungszeit stark belastet. Rechenzeit: Gerade wenn es sich um große Probleme mit i. d. R. sehr viel mehr Aktivitäten (Spalten) als Nebenbedingungen (Zeilen) handelt, werden letztendlich nicht alle, sondern i. Allg. sogar nur relativ wenige Aktivitäten „bewegt“, d. h. nur ein geringer Teil der Spalten wird tatsächlich Pivotspalte. Würde man diese a priori kennen, so könnte auf die Darstellung und Umrechnung solcher Aktivitäten, die sich für den Entscheidungsprozess als irrelevant herausstellen, ganz verzichtet werden. ▲ Das Problem ist, dass man über dieses Wissen ex ante nicht verfügt. Rundungsfehler: Durch die wiederholte Umrechnung eines jeden Koeffizienten kommt es häufig vor, dass ein Nullelement ungleich null wird und - bei exakter Rechnung - in einer späteren Iteration wieder verschwindet (d. h. = 0 wird). Für die interne Darstellung einer Gleitkommazahl stehen jedoch nur begrenzt viele Stellen zur Verfügung, sodass gerundet und abgeschnitten werden muss, weshalb Koeffizienten, die im fortgeschrittenen Rechenstadium eigentlich gleich null wären, fälschlicherweise einen Wert ungleich null haben und als Pivotelement gewählt werden. Revidierte Simplex-Methode, alternative Implementierung der Simplex-Methode, bei der nur derjenige Teil des Simplex-Tableaus umgerechnet wird, der für den nächsten Schritt unbedingt erforderlich ist. Alle anderen Daten werden bei Bedarf aktualisiert. Basisinverse, derjenige Teil der Koeffizientenmatrix, mit dem alle anderen Daten umgerechnet werden müssen. Sie wird im Wesentlichen aktuell gehalten. Je nach Form der Inversen gibt es verschiedene Varianten der revidierten S. M.: • Revidierte S. M. mit Explizitform der Inversen • Revidierte S. M. mit Produktform der Inversen • Revidierte S. M. mit LU-Form der Inversen Blockpivoting, Matrizendarstellung des Pivotprozesses, liefert die Rechenregeln für die Aktualisierung der in jeder Iteration benötigten Daten. z xL xB xN 1 0T dTB dTN 0 E AB AN Ausgangstableau
z xL xB xN −1 T T T T =⇒ 1 −dB AB 0 dN − dB · A−1 B · AN 0 A−1 E A−1 B B · AN Tableau auf kanonische Form zur Basis B
10.3 Revidierte Simplex-Methode
425
Logische Variablen, Schlupf- und/oder künstliche Variablen, bilden anfangs eine Basis B. Nach Beginn des Lösungsprozesses enthält B auch Entscheidungsvariablen. Jeder Lösungszustand kann eindeutig durch Aufteilung der Matrizen und Vektoren in die Bereiche B=Menge der Indizes der Basisvariablen (BV) N=Menge der Indizes der Nichtbasisvariablen (NBV) beschrieben werden. dT z0 ·x = A b
→
dTB dTN AB AN
·
xB xN
z0 = b
Basismatrix AB ist regulär und quadratisch, die Basisinverse A−1 B existiert; nach den Rechenregeln des Blockpivoting erhält man: Max xN z d∗T N xB A∗N
RS z∗0 b∗
=
Max xN T T z dN − dB · A−1 B · AN −1 xB AB · AN
RS z0 − dTB A−1 B ·b −1 AB · b
● Vorgehensweise bei revidierter Simplex-Methode: • Basisinverse A−1 B wird auf aktuellem (Lösungs-) Stand gehalten, nur sie wird in jeder Iteration umgerechnet. • Wahl der Pivotspalte s, die Zielzeilenkoeffizienten werden aktualisiert. ▲ Genau genommen braucht man noch nicht einmal alle, sondern nur einen geeigneten (z. B. beim Max-Problem einen negativen) Koeffizienten. • Wahl der Pivotzeile r (Quotientenkriterium), die Pivotspalte a∗s und die Rechte Seite b∗ werden aktualisiert. • Pivotoperation, mit geeignetem Pivotelement wird die Basisinverse aktualisiert.
10.3.1
Revidierte Simplex-Methode mit Explizitform der Basisinversen
Schritt 1: Auswahl der Pivotspalte s Bevor die Pivotspalte ausgewählt werden kann, müssen im Prinzip alle Zielfunktionskoeffizienten aktualisiert werden: T T −1 d∗T N = dN − dB · AB · AN Dies ist der rechenintensivste Schritt, der sinnvollerweise in drei Teile zerlegt werden kann. Schritt 1.1: Berechnung der Simplex-Multiplikatoren Für alle Koeffizienten ist das Produkt dTB · A−1 B zu berechnen. Dieser Vektor ist gerade die Duallösung zur Basis B, d. h. der Vektor der Simplex-Multiplikatoren: π T = dTB · A−1 B ▲ Nach den Regeln des Blockpivoting ergeben sie sich als negative Zielzeilenkoeffizienten der logischen Basis. Verrechnungspreise der knappen Faktoren, alternative ökonomische Interpretation des Vektors π T . Schritt 1.2: Berechnung der Zielzeilenkoeffizienten d ∗j = d j − π T · a j für alle j ∈ N ● Reduzierte Zielzeilenkoeffizienten (reduced cost), alternative Bezeichnung der aktuellen Zielzeilenkoeffizienten, weil der ursprüngliche Zielzeilenkoeffizient (cost coefficient) um den zu Verrechnungspreisen (π T ) bewerteten Resourcenverzehr (a j ) gekürzt wird.
426
10 Operations Research
Auspreisen (Pricing), Berechnung der reduzierten Kosten, erfolgt in jedem Schritt neu, weil sich jedes Mal die Verrechnungsbasis und damit die Preise ändern. Man beachte, dass es i. Allg. sehr viele Nichtbasisspalten j ∈ N gibt, für deren Aktualisierung pro Iteration ein Skalarprodukt berechnet werden muss. ● Pricing erfordert hohen Rechenaufwand. Schritt 1.3: Auswahl über Pivotspalte s (i. e. S.) ds∗ = min {d j } j∈N
ds∗
Für ≥ 0 ist das Maximum erreicht. Da sich die Pivotspaltenauswahl einerseits wegen der Aktualisierung der vollständigen Zielzeile als sehr rechenaufwendig erweist, jedoch andererseits nicht notwendigerweise der kleinste Zielzeilenwert, sondern nur ein negativer ausgewählt werden muss, kann man sich vorstellen, dass durch modifizierte Auswahlstrategien Recheneinsparungen erzielt werden können. Beispielsweise könnte man den ersten Zielzeilenwert auswählen, • der negativ ist oder • der kleiner ist als eine Schranke (Vergleichswert, der laufend angepasst werden muss) oder • der in einem Teilvektor der kleinste ist. ▲ Diese und andere heuristische Auswahlstrategien werden als Pricing, Multiple Pricing, Cycling etc. bezeichnet. Schritt 2: Auswahl der Pivotzeile r Auch dieser Schritt wird in zwei Teilschritten ausgeführt: Schritt 2.1: Aktualisierung der Pivotspalte Die Spalte s der Ausgangsmatrix wird umgerechnet: a∗s = A−1 B · as Schritt 2.2: Entscheidung über die Pivotzeile r (i. e. S.) Quotientenkriterium, aktuelle Pivotspalte und aktuelle Rechte Seite werden verglichen; da die Rechte Seite in jeder Iteration auf aktuellem Stand gebraucht wird, ist es ratsam, sie zusammen mit der ∗ Basisinverse A−1 B jeweils umzurechnen. Wir gehen daher davon aus, dass b bekannt ist: ' ( b∗r b∗i ∗ = min |a > 0 i∈B a∗rs a∗is is Falls alle a∗is ≤ 0 sind, ist das Problem unbeschränkt; andernfalls ist a∗rs das Pivotelement der nachfolgenden Pivotoperation. Schritt 3: Pivotoperation bezüglich a∗rs Basistableau, bestehend aus aktuellen Basisvariablen, logischen Nichtbasisvariablen, negativen Simplex-Multiplikatoren, der Basisinversen und der aktuellen Rechten Seite. Aktuelle Pivotspalte, zum Zweck der Pivotoperation seitlich angeordnet. Max xL T∗ z dL = −dTB · A−1 B xB
A−1 B
RS z∗0 b∗
xs ds∗ a∗is a∗rs a∗ms
Pivotoperation, die Variable xr wird durch die neue Basisvariable xs ersetzt; als neue Basis ergibt sich B∗ := B − {r} + {s}.
10.3 Revidierte Simplex-Methode
427
● Darstellungs- und Rechendetails: • Während des gesamten Lösungsprozesses wird „nur“ das Basistableau transformiert, d. h. abgesehen von Zielzeile und Rechter Seite ein (m × m)-Tableau! Für LP-Probleme mit sehr vielen Nebenbedingungen (z. B. ist m > 2.000 nicht ungewöhnlich groß!) ist diese Matrix keineswegs klein, sondern im Gegenteil auch zu groß, um explizit gespeichert zu werden! • Zu Beginn der Rechnung sind die Basisvariablen logische Variablen, bestehend aus Schlupfvariablen und/oder künstlichen Variablen. Die Basismatrix und somit auch die Basisinverse besteht dann ausschließlich aus Einheitsvektoren, sodass stets mit dem Basistableau B = L (= Logische Basis) und der Einheitsmatrix E als Basisinverse begonnen werden kann. Max z
xL 0T 1
xL
RS z0
...
b
1 1
• Während des Iterationsprozesses wird eine Spalte Pivotspalte, deren aktueller Zielzeilenkoeffizient negativ ist. Das kann z. B. auch ein Zielzeilenkoeffizient des Vektors d∗T B des Basistableaus sein. In diesem Fall käme die zugehörige logische Variable – d. h. eine Schlupfvariable – zurück in die Basis, sodass direkt im Basistableau nach den Regeln der klassischen Simplex-Methode vorgegangen wird. Da es hierzu keiner Zusatzrechnung bedarf, sollte man eine derartige Iteration immer ausführen, sobald ein Zielzeilenkoeffizient des Basistableaus negativ wird! • Die Daten des Ausgangssystems sind i. d. R. große, dünn besetzte Matrizen, die kompakt gespeichert werden müssen. Eine 1000 × 2000-Matrix hat 2 · 106 Koeffizienten. Wenn davon aber nur 0,1 % ungleich null sind, so enthält die Matrix nur 2000 wirklich relevante Koeffizienten. Auch davon sind in praktischen Anwendungen i. d. R. ein hoher Prozentsatz entweder „+1“ oder „−1“, sodass die wichtigen technologischen Informationen u. U. nur auf ganz wenigen unterschiedlichen Daten basieren. Kompakt speichern bedeutet, von den Koeffizienten nur die Positionen und Werte festzuhalten, wozu von der Informatik viele Verfahren vorgeschlagen wurden. • Bei der Umrechnung einer dünn besetzten Matrix ändert sich der Besetzungsgrad von Iteration zu Iteration zwar nur wenig (er nimmt i. Allg. langsam zu!), jedoch ändert sich das kompakte Speicherbild laufend, sodass eine derartige Datenorganisation sehr ineffizient wäre. Daraus ist zu schließen, dass nur solche Matrizen bzw. Teile davon kompakt gespeichert werden (können), die nicht mehr geändert werden. Dazu zählt u. a. die Ausgangsmatrix (problemfile), die kompakt angelegt wird und auf die im Folgenden nur noch lesend zugegriffen wird. Die Datenumrechnung findet in einer davon getrennt gehaltenen Arbeitsmatrix (workfile) statt, die als wesentliche Information die jeweils aktuelle Basisinverse A∗B −1 enthält. • Im Allgemeinen wird während eines Lösungsprozesses nur ein verhältnismäßig kleiner Anteil aller Aktivitäten jemals Basisvektor. Somit brauchen diejenigen Spalten, die nie Pivotspalte werden, auch niemals umgerechnet zu werden. Damit findet das Iterieren immer nur in einem - bei praktischen Problemen überraschend - kleinen Ausschnitt der Matrix statt, wodurch viel Rechenaufwand gespart wird.
10.3.2
Algorithmus und Beispiel
Bei der Beschreibung der revidierten Simplex-Methode mit Explizitform der Inversen wird von der folgenden Darstellung des Problems in Form der Ausgangsmatrix und der Darstellung der aktuellen Lösung im Basistableau ausgegangen:
428
10 Operations Research
x RS cT z0 A b Problemdaten (kompakt gespeichert)
Max xL RS T T −1 z −π = −dB · AB z∗0 xB A−1 b∗ B Basistableau in Matrixform
Revidierte Simplex-Methode mit Explizitform der Inversen Input:
Ausgangsmatrix A, Zielzeilenvektor dT und Rechte Seite-Vektor b. Die Anfangsbasis enthält nur logische Variablen (B = L). B enthalte die Indizes der Basisvariablen (BV) einer beliebigen Basis, N die der Nichtbasisvariablen (NBV).
Output:
Basistableau mit optimaler (oder unbeschränkter) Basislösung
Methode:
Pivottransformationen der geschlossen dargestellten Basisinversen
Markierung:
Umgerechnete Koeffizienten sind mit Stern (*) gekennzeichnet.
Schritt 1:
Auswahl der Pivotspalte s 1.1
Simplex-Multiplikatoren: π T = −dT = dTB · A−1 B Falls einer der Multiplikatoren negativ ist, wähle die entsprechende Spalte als Pivotspalte und verfahre innerhalb des Basistableaus wie im vollständigen Simplex-Tableau. Das heißt, die zugehörige Schlupfvariable wird BV und die Pivotspalte wird zum Einheitsvektor. Alle übrigen Koeffizienten werden „normal“ umgerechnet.
1.2
Pricing T T d∗T N = dN − π · AN
1.3
Auswahl der Pivotspalte s ds∗ = min{d ∗j } j∈N
ds∗
Falls ≥ 0 ist, dann ist die maximale Lösung (= optimale Lösung) erreicht; die Rechnung ist beendet. Andernfalls wähle die Spalte s als Pivotspalte. Schritt 2:
Schritt 3:
Auswahl der Pivotzeile r 2.1
Aktualisierung der Pivotspalte s: a∗s = A−1 B · as
2.2
Pivotzeile r ' ( b∗r b∗i ∗ = min |a > 0 u∈B a∗rs a∗is is Wähle Zeile r als Pivotzeile. Bei mehreren minimalen Quotienten wähle die Zeile r unter den entsprechenden Zeilen beliebig aus. Falls kein ais > 0 existiert, ist die Lösung unbeschränkt; die Rechnung ist beendet. Pivotoperation bzgl. a∗rs > 0 Das aktualisierte Basistableau ergibt sich durch entsprechende Umrechnung mittels der aktualisierten Pivotspalte und der durch den Index r festgestellten Pivotzeile. Nach der Iteration wird die Variable xs die Variable xr in dem BVVektor xB ersetzen.
10.3 Revidierte Simplex-Methode
429
■ Beispiel: Max z mit z = 2x1 + x2 + 2x3 + 3x4 − 2x5 + x6 + x7 u. d. N. x1 + x2 + 2x3 + 2x4 + x6 + x7 ≤ 20 x1 + x2 − x3 + x4 + 2x5 + 2x6 ≤ 16 x2 + x4 − x5 + x6 + 2x7 ≤ 6 xj ≥ 0
für alle j ∈ N
x1 x2 x3 x4 x5 x6 x7 RS −2 −1 −2 −3 2 −1 −1 0 1 1 2 2 0 1 1 20 1 1 −1 1 2 2 0 16 0 1 0 1 −1 1 2 6 Problemdatei mit Ausgangsmatrix Da alle drei Nebenbedingungen „≤-Restriktionen“ sind, können als (logische) Basisvariablen die Schlupfvariablen x8 , x9 und x10 benutzt werden. Somit lautet das erste Basistableau zur (logischen) Basis B = L = {8, 9, 10}. Max x8 z 0 x8 1 x9 0 x10 0
▲ Die Pivotspalte ist dem Basistableau beigefügt; das sich ergebende Pivotelement ist fettgedruckt.
Die daraus resultierende Iteration führt auf: Max x8 z 2 x1 1 x9 −1 x4 0
x9 0 0 1 0
x10 RS −1 34 −2 8 1 2 1 6
Basistableau zu B = {1, 9, 4} mit Pivotspalte der 3. Iteration 3. Iteration: ▲ Es ergibt sich ein negativer Zielzeilenkoeffizient.
Daher wird direkt in der Tabelle, die ja bereits auf aktuellem Stand ist, pivotiert. Das Pivotelement ist wieder markiert. Es ergibt sich: Max x8 x9 x10 z 1 1 0 x1 −1 2 0 x10 −1 1 1 x4 1 −1 0
RS 36 12 2 4
x3 −1 −4 −3 3
Basistableau zu B = {1, 10, 4} mit Pivotspalte der 4. Iteration 4. Iteration:
▲ Die Pivotspalte ist dem Basistableau wieder beigefügt; das sich ergebende Pivotelement ist fettge-
druckt.
10.3 Revidierte Simplex-Methode
431
Die daraus resultierende Iteration führt auf: Max x8
x9
x10
RS
2 3 2 3
0
37 13
x1
4 3 1 3
0
52 3
x10
0
0
1
6
x3
1 3
− 13
0
4 3
z
Basistableau zu B = {1, 10, 3}
4 2 5. Iteration: N = {2, 4, 5, 6, 7} → π = − − 0 3 3 12 011 4 2 dTN = ( −1 −3 2 −1 −1 ) − − − 0 · 1 1 2 2 0 3 3 1 1 −1 1 2 1 10 5 1 = 1 3 3 3 3 Für alle Zielzeilenkoeffizienten j ∈ N gilt d j ≥ 0 (einschließlich der Zielzeilenkoeffizienten des Basistableaus), sodass die optimale Lösung erreicht ist. Sie lautet: 1 52 4 für x1 = und x3 = zmax = 37 3 3 3 ▲ Der Schlupf der dritten Restriktion beträgt x10 = 6, d. h. sie wird nicht benutzt! T
10.3.3
Produktdarstellung der Inversen
Produktform der Inversen, Zerlegung einer inversen Matrix als Produkt von Elementarmatrizen. Elementarmatrix, diejenige Matrix, durch deren Linksmultiplikation die Pivotoperation der Basisinversen darstellbar ist. ds a1s (k−1) (k) (k−1) ... T T 1 d 1 d 1 dTL L L ⇒ E(k) · = −1 −1 0 A−1 0 AB 0 AB B ars .. . ams
mit
E(k)
1
η0 η1
1 . . . .. . = ηr .. . . . . ηm
1
ds − ars η0 a1s − η1 ars . . ... . mit η = = 1 ηr . .. ars .. . ηm a ms − ars
432
10 Operations Research
● E(k) heißt Elementarmatrix der k-ten Pivotoperation bezüglich ars . ■ Beispiel: Pivotoperation mit Ergebnistableau Max
x8
x9
x10
RS
x3
z
1
1
0
36
−1
x1
−1
2
0
12
−4
x10
−1
1
1
2
x4
1
−1
0
4
Max x8
x9
x10
RS
2 3 2 3
0
37 13
x1
4 3 1 3
0
52 3
−3
x10
0
0
1
6
3
x4
1 3
− 13
0
4 3
z ⇒
Wird durch Linksmultiplikation mit der folgenden Elementarmatrix dargestellt: 4 1 2 1 1 1 0 36 0 112 3 3 3 3 1 1 4 2 −1 2 0 12 0 523 3 3 3 · = 1 1 −1 1 1 2 0 0 1 6 1 1 4 1 −1 0 4 − 13 0 3 3 3 Unter der Annahme, dass man die Pivotspalten von k aufeinander folgenden Iterationen kennt und mit der Einheitsmatrix als Ausgangs-Basisinverse (= nullte Basisinverse) begonnen hat, lässt sich die Folge der Pivotoperationen und damit die Basisinverse nach k Iterationen wie folgt darstellen: (k) 1 dTL = E(k) · E(k−1) · · · · · E(2) · E(1) · E(0) 0 A−1 B wobei jede der Matrizen E(k) eine Elementarmatrix der Ordnung (m + 1) × (m + 1) ist, mit der entsprechend umgerechneten Pivotspalte (sk -te Spalte des Problems) in Position rk . ■ Beispiel: Pivotspalten mit fettgedruckten Pivotelementen: Iteration Zielzeile
10.3 Revidierte Simplex-Methode Nach der 3. Iteration ergibt sich:
1 dTL 0 A−1 B
(3)
(3)
=E
=
1 dTL 0 A−1 B
·
1
(2)
1 1 −1 2 −1 1 1 1 −1
=
1
1 1 2 1 −1 1
=
2 1 43 3 2 0 13 3 0 0 0 0 13 − 13
0 0 1 0
·
1
2 −1 1 −2 −1 1 1 0 1
Nach der 4. Iteration ergibt sich schließlich: 1 1 (4) 3 (3) 4 1 dTL 1 1 dTL (4) 3 = E · = −1 −1 0 A 1 1 0 AB B
433
·
1
1 3
1 1 −1 2 −1 1 1 1 −1
Vergleicht man die Basisinverse jeder einzelnen Iteration, so kann man sich von deren Korrektheit überzeugen. Hintereinander ausgeführt ergibt sich also: 4 2 1 0 3 3 (4) 0 1 2 0 1 dTL 3 3 = = E(4) · E(3) · E(2) · E(1) −1 0 0 0 AB 0 1 0 =
1 3
1 1
− 13 1 3 4 3
1 1 1 3
10.3.4
0
1
1 1 2 1 −1 1
1
2 1 −1 1 0 1
1
3 1 −2 1 −1 1
Implementierung der Produktform
● Jede Iteration wird durch eine Elementarmatrix repräsentiert, die nicht vollständig gespeichert wird, sondern durch den zugehörigen Eta-Vektor und seine Position innerhalb der Elementarmatrix (Index r der Pivotzeile) hinreichend festgelegt ist. ■ Anstelle des Produkts der vier (4 × 4)-Matrizen ergibt sich dann z. B. Iteration Zielzeile η -Vektor
Vorteile dieser Darstellungsform: • Man beachte, dass sich die η -Vektoren im Verlauf der Iterationen nicht ändern. Bei einer großen, dünn besetzten Matrix sind auch die η -Vektoren ebenfalls dünn besetzt und können - da sie nicht mehr umgerechnet werden - kompakt gespeichert werden! • Da jeder η -Vektor gerade eine Pivotspalte darstellt, ist nur der jeweils letzte Vektor auf neuestem Stand. Der 1. Vektor ist nur einmal umgerechnet, der 2. nur zweimal usw. Da sich die Matrix (und damit auch die Pivotspalte) in jeder Iteration auffüllt, sind die η -Vektoren i. Allg. dünner besetzt als die k-fach transformierte Basisinverse. • Solange weniger als m Iterationen durchgeführt sind, enthält die Eta-Datei weniger Spalten als die (vollständige) Basisinverse. Die Basisinverse A−1 B wird bei der revidierten Simplex-Methode an zwei Stellen benötigt: 1. Bei der Berechnung der Simplex-Multiplikatoren: π T = dTB · A−1 B Es handelt sich um eine Multiplikation des Zeilenvektors dTB mit der Inversen A−1 B von rechts. −1 ∗ 2. Bei der Aktualisierung der Pivotspalte: as = AB · as Es wird der Spaltenvektor as mit der Inversen A−1 B von links multipliziert. Simplex-Multiplikatoren, der Vektor π T besteht aus den negativen Zielzeilenkoeffizienten der Basisinversen: π T = − 1 0 . . . 0 · Ek · Ek−1 · . . . · E2 · E1 = −1 0 . . . 0 · Ek · Ek−1 · . . . · E2 · E1 (Wertet man das Produkt von links aus, so ist ein Zeilenvektor mit einer Elementarmatrix, die bis auf eine Spalte gleich der Einheitsmatrix ist, zu multiplizieren. Wenn der η -Vektor in der Elementarmatrix an r-ter Position steht, ändert sich als einziges Element des Zeilenvektors genau das r-te Element. Das zu ändernde Element ergibt sich gerade als Skalarprodukt aus dem Zeilenvektor mal dem η -Vektor: z∗i = zi für i = r ∗T T j z = z · E mit ∗ T j zr = z · η für i = r ▲ Da hierbei die Elementarmatrizen und damit die η -Vektoren rückwärts, d. h. mit dem letzten beginnend, abgearbeitet werden, wird die Transformation auch als „backward transformation“ oder kurz BTRAN bezeichnet. Aktualisierung der Pivotspalte Die Pivotspalte wird angepasst, indem mit der Basisinversen von links multipliziert wird: k k−1 a∗s = A−1 · . . . · E2 · E1 · as B · as = E · E
Dieses Produkt wird von rechts ausgewertet, wobei die Multiplikation einer Elementarmatrix mit dem Spaltenvektor wieder einen Spaltenvektor ergibt: 1 η 1j a1s a1s + η 1j · ars 1 ηj a a +ηj ·a is is rs i i j E · as = · = j j η r ars η r · ars η mj 1
ams
ams + η mj · ars
Bei dieser Operation wird also im Wesentlichen das ars -fache des η -Vektors zur Spalte addiert mit Ausnahme des r-ten Elementes, das durch η rj · ars ersetzt wird. Diese Operation wiederholt sich k-mal, wobei die Elementarmatrizen, d. h. die η -Vektoren vorwärts abgearbeitet werden. Im Prinzip werden hier die Iterationen in der einen Pivotspalte nachgeholt. Die Operation wird daher auch als „forward transformation“ oder FTRAN bezeichnet.
10.3 Revidierte Simplex-Methode
435
Aktualisierung der Basis Pricing, Pivotspaltenwahl und Quotientenkriterium bleiben unverändert. Statt des Basistableaus wird lediglich die Rechte Seite b∗ aktualisiert. Ansonsten wird nur die Pivotspalte als neuer η -Vektor der EtaDatei hinzugefügt.
10.3.5
Vorteile der revidierten vs. der klassischen SimplexMethode
Kompakte Speicherung, spaltenorientierte, dichte Speicherung der Ausgangsmatrix und der Eta-Datei, sodass nur solche Elemente gespeichert zu werden brauchen, die ungleich null sind. Es bietet sich eine Listenspeicherung an (i, j,ai j ), die man adressverketten kann. Eine andere Möglichkeit ist der Aufbau eines Bit-Musters für jede Spalte derart, dass eine „1“ z. B. markiert, in welcher Position der Spalte ein Koeffizient = 0 zu finden ist, während sonst die „0“ steht. Dem Bit-Muster braucht man nun nur noch die Koeffizienten ungleich null folgen zu lassen, und zwar genau in der Reihenfolge ihres Auftretens in der Spalte. Noch effizienter ist es, wenn man hier einen Zeiger auf eine Liste von Koeffizienten = 0 einträgt. Dann brauchen solche Koeffizienten, die in einer technologischen Matrix vielfach auftreten, nur einmal abgespeichert zu werden. ■ Man denke in diesem Zusammenhang z. B. an die vielen Einsen, die in einer LP-Matrix auftreten. Partial Pricing, Multiple Pricing Ein rechenaufwendiger Schritt ist die Berechnung der aktuellen Zielzeilenkoeffizienten (Pricing): d ∗j = d j − π T a j
für alle
j∈N
Wird diese Rechnung in jeder Iteration vollständig durchgeführt, so sind pro Iteration größenordnungsmäßig n Skalarprodukte zu berechnen. Andererseits muss man nicht zwangsläufig den kleinsten Zielzeilenkoeffizienten suchen – es genügt ein hinreichend kleiner. ▲ Diese Überlegungen führten zur Entwicklung sehr effizienter heuristischer Strategien, die den Rechenaufwand beim pricing stark reduzieren. Partial Pricing, es wird nur ein Teil der Zielzeilenkoeffizienten d j aktualisiert, z. B. die ersten p Spalten. Unter ihnen wird der kleinste Koeffizient gewählt, falls er negativ bzw. kleiner ist als ein vorgegebener Parameter, der u. U. dynamisch dem Lösungsfortschritt angepasst wird. Ein gängiger Wert ist z. B. p ≈ 10. Sodann wird die Gruppe der nächsten p Koeffizienten untersucht etc. Findet sich in keiner Gruppe mehr ein geeigneter Koeffizient c j < 0, so ist die Optimallösung erreicht. Multiple Pricing, ist die in der Praxis am häufigsten benutzte Strategie. Die Zielfunktion wird vollständig aktualisiert, jedoch wird anschließend nicht nur eine Spalte s mit dem kleinsten, sondern eine Menge von q Vektoren ausgewählt, die gerade die q kleinsten Zielzeilenkoeffizienten besitzen (und negativ sind!). Die zugehörigen Spalten werden aktualisiert, sodass ein Mini-LP entsteht. Die nächsten Iterationen werden nun in dem Mini-LP durchgeführt, wobei die erste vom absolut kleinsten Zielzeilenkoeffizienten bestimmt wird. Sie würde auch sonst ausgewählt worden sein und heißt daher auch Major Iteration. Anschließend wird das Mini-LP vollständig (und klassisch) aktualisiert. Nachfolgende Iterationen (Minor Iterationen) werden so lange im Mini-LP durchgeführt, bis keine negativen Zielzeilenkoeffizienten mehr vorhanden sind. Vorteilhaft ist, dass man den hohen Pricingaufwand nur einmal betreibt, um anschließend mehrere günstige Aktivitäten gleichzeitig auszuwählen. Es zeigt sich, dass unter den q (≈ 10) ausgewählten Spalten häufig viele sind, die tatsächlich auch als nächste ausgewählt worden wären. Für sie hat man praktisch den Pricingaufwand gespart.
436
10 Operations Research
Wiederum ist nachteilig – hier allerdings nur geringfügig –, dass die Iterationszahl ansteigt. In der Praxis ändert man den Parameter q, d. h. die Anzahl auf einmal ausgewählter Spalten, dynamisch, wobei man q kleiner werden lässt, je weiter der Lösungsprozess fortgeschritten ist. Reinversion, Neuberechnung der Basisinversen zum Zweck der kürzesten Darstellung der Basisinversen und der Minimierung von Rundungsfehlern. Mithilfe der Reinversion wird der Weg zwischen dem Ausgangsproblem und dem aktuellen Lösungszustand jeweils auf seine minimale Länge reduziert.
11
Spieltheorie
● Spieltheorie im traditionellen und hier verstandenen Sinn ist die normative Theorie des Entscheidens bei sozialer Interaktion. Wann Interaktion vorliegt oder nicht, hängt teilweise vom Spielerbegriff ab. ■ Wenn z. B. einmaliger Konsum schon abhängig macht, kann das Problem, ob ich heute oder morgen konsumiere, schon als soziale Interaktion interpretiert werden. Der „Konsument heute“ als unabhängiger Spieler müsste dann vorhersagen, wie er sich als „Konsument morgen“ verhalten wird. In der Regel wird aber davon ausgegangen, dass unterschiedliche Spieler durch verschiedene Personen repräsentiert werden. ▲ Im Vergleich zur Entscheidungsfindung im Kapitel 4 ist die Spieltheorie mit drei Arten von Ungewissheit konfrontiert: • Stochastische Ungewissheit wird durch die kardinale Nutzenkonzeption (vgl. Bernoulli-Prinzip) erfasst, die von Präferenzen für zufallsbehaftete Ergebnisse ausgeht. • Unvollständige Information über die Regeln des Spiels, z. B. die Bewertung von Spielverläufen durch die Gegner, wird durch Einführung fiktiver Zufallszüge in stochastische Ungewissheit transformiert (Harsanyi). • Strategische Ungewissheit wird durch die spieltheoretischen Lösungen aufgelöst, wobei von allgemeiner Rationalität ausgegangen wird. ● Aufgaben der Spieltheorie sind • die mathematisch genaue Beschreibung von Spielen sowie • die Entwicklung von Lösungskonzepten. Hier wird die Darstellung und Lösung systematisch von der detailliertesten zur abstraktesten Spielform eingeführt.
11.1
Extensive Spiele und Spielbäume
● Um ein Spiel mit den Spielern 1, . . . , n genau zu erfassen, muss man • die Reihenfolge der Züge, • den jeweiligen Entscheider, • seinen Kenntnisstand bei der Entscheidung, • seine Alternativen, • bei Zufallszügen die Wahrscheinlichkeiten und • für alle Partien die Bewertung durch alle n Spieler festlegen. ● Entsprechend ist ein extensives Spiel durch den Vektor T = (B, P, I, Z, W, U) definiert, dessen Komponenten im Folgenden erläutert werden. ● B ist der Spielbaum, d. h. ein zusammenhängender, schleifenloser (endlicher) Graph, bestehend aus Knoten und Verbindungsstrecken mit einem Spielanfang o (für origin).
Ein Spielbaum B ● Ein Knoten, an dem es von o ausgehend und ohne Rückwärtsbewegung nicht weitergeht, heißt Endpunkt (e1 bis e7 im Beispiel). Eine Partie ist ein Streckenzug von o zu einem Endpunkt, d. h. jeder Endpunkt entspricht einer Partie. Für den Spielbaum B sei • K(B) die Menge seiner Knoten, • E(B) mit E(B) ⊂ K(B) die Menge seiner Endpunkte e und • D(B) = K(B)\E(B) die Menge der Entscheidungsknoten. ● Die Spielerzerlegung P ist formal eine Zerlegung von D(B) in n + 1 disjunkte Teilmengen, die D(B) abdeckt: P0 + P1 + . . . + Pn = D(B) ● Gilt für den Entscheidungsknoten k ∈ D(B) die Bedingung k ∈ Pi , so besagt dies, dass Spieler i am Knoten k ziehen muss. Spieler i = 0 ist der Zufall, während die Spieler 1 bis n als persönliche Spieler bezeichnet werden. In der Baumdarstellung kann die Spielerzerlegung P einfach durch Angabe der Spielernummern an den Entscheidungsknoten erfolgen: 1
● Die Informationszerlegung I verfeinert die Spielerzerlegung gemäß Pi = Ii1 + . . . + IiM
i
für i = 0, 1, . . . , n.
Eine solche nicht-leere Teilmenge Ii von Pi heißt Informationsbezirk des Spielers i. Wenn Spieler i an einem Knoten k ∈ Ii entscheidet, weiß er nicht, an welchem Knoten in Ii er sich befindet, sofern Ii nicht einelementig ist. ● Ein Streckenzug von o durch k ∈ Ii kann auf verschiedenen Strecken von k aus fortgesetzt werden. Diese Fortsetzungsmöglichkeiten sind die Handlungsalternativen des Spielers i im Entscheidungsknoten k ∈ Ii . Es folgt, dass • die Anzahl der Handlungsalternativen in allen Knoten k ∈ Ii eines Informationsbezirkes Ii gleich sein muss (man könnte sonst anhand dieser Anzahl die Knoten unterscheiden), • bei perfekter Erinnerung niemals zwei Entscheidungsknoten einer Partie im selben Informationsbezirk liegen dürfen (man müsste seine frühere Entscheidung vergessen).
11.1 Extensive Spiele und Spielbäume
439
● In der Baumdarstellung kann die Informationszerlegung durch Einkreisen der Knoten erfolgen: .....................................
● Als Konvention wird stets von einelementigen Informationsbezirken I0 ⊂ P0 des Zufallsspielers 0 ausgegangen. Gilt dies auch für die persönlichen Spieler, so spricht man von perfekter Information (die meisten Brettspiele wie Schach, Mühle usw., Ausnahme: Stratego; Kartenspiele wie Skat usw. beruhen auf imperfekter Information). ● Die Zugzerlegung Z identifiziert für alle mehrelementigen Informationsbezirke Ii die Handlungsalternativen an allen Knoten k ∈ Ii . Die Menge Z(Ii ) dieser Züge z ∈ Z(Ii ) ist die Zugmenge im Informationsbezirk Ii . Die Anzahl | Z(Ii ) | der Züge z ∈ Z(Ii ) ist also die Anzahl der Alternativen an jedem Knoten k ∈ Ii . Da Spieler i nicht weiß, an welchem Knoten k in Ii er sich befindet, kann er sich an verschiedenen Knoten k in Ii nicht unterschiedlich entscheiden. So kann Spieler 3 in I31 nicht L in k1 und R in k2 wählen, falls die jeweils linken bzw. rechten Handlungsalternativen identifiziert werden. In der Baumdarstellung lässt sich allgemein durch Kennzeichnung der Züge die Spielerzerlegung beschreiben: Z(I31 ) = {L,R}, Z(I32 ) = {l,m,r}. ● Die Wahrscheinlichkeitszuordnung W weist jedem Informationsbezirk I0 ⊂ P0 des Zufallspielers eine Wahrscheinlichkeitsverteilung w(· | I0 ) über die Zugmenge Z(I0 ) zu, d. h. w(z | I0 ) ist die Wahrscheinlichkeit für den Zufallszug z ∈ Z(I0 ). ● Durch die Auszahlungsfunktion U wird für jeden Endpunkt e ∈ E(B) die Nutzenbewertung u(e) = (u1 (e), . . . ,un (e)) dieser Partie durch alle n persönlichen Spieler 1,. . . ,n festgelegt. In der Baumdarstellung lässt sich die Wahrscheinlichkeitszuordnung W durch Angabe der Wahrscheinlichkeiten an den Zufallszügen und die Auszahlungsfunktion U durch (transponierte) Nutzenvektoren an den Endpunkten einfügen: ..................................................... .... .. . ..... ....... ......................... ............................ ..... ..... . ............ ................................................. ...................... . . . . . . . . . . . ............ ............ ............ .................................................................. ............ ..................................................... ....... ...... ... .... .. ... .. ............ .... ... ..................... ................ ..... . .... . ... . . .. . ..... ... . .... ... ... . . . . .................................................... .......................................................... .... . . . ... . .. .... . . . . . . . ... ... . .... .... ... ... .... .... ... ... .... .... ... ... .... ... ... .. . . . . . . .... ... .. . ... . . . . . ... .. .......................................................................................................................................................................... ... . . . . .... . . ... . . . . . . . ..... .. ... ... .. . ... . . . . . . ... ...... ...... ... . . . . . . . . . . . . . . . ... . . . ............................................................................................................................................................... . ... ... . . . . . . . .. .... .... .. .... .... ... .. . . . . . ... .. ... .... ..... ... .... ..... . . . ... ... . . . . . ... . . . . . ... . . . . ... . ... .. . .... . ... . . ... . . . . . ... .. ... . ... . .... . .. ... . . . . . . . ... ... ... ... . . . ... . . . . . . . ... ... ... . .. .. ... . ... . . . . . ... . . . ... ... ... . ... .. .. . ... . . . . . . . ... ... .. ... . . ... . . ... . . . . . . . ... ... ... ... ... . .. .. . . . . . . . . ... ... . ... .. ... .... . ... . ... . . . . . ... ... ... .. .. . . ... ... ...
0 uo
2 3
u
1 3
L0
1
l1
R0
r1
L1
u2
l
u 1 3
u
u
m
u
1
R1
u2
r
l
u
u
m
u
r
u
4 0 −1 5 2 0 6 7 −3 3 2 0
u −5 3
440
11 Spieltheorie
▲ Aus einer solchen (komplettierten) Baumdarstellung lassen sich alle Definitionsmerkmale, d. h. alle Komponenten des extensiven Spiels T = (B,P,I,Z,W,U) ablesen.
11.2
Lösungskonzepte für extensive Spiele
● Eine Strategie si des persönlichen Spielers i = 1,. . . ,n im extensiven Spiel T schreibt genau einen Zug si (Ii ) ∈ Z(Ii ) für jeden Informationsbezirk Ii ⊂ Pi des Spielers i vor. Es sei Si die Menge der Strategien si des Spielers i = 1, . . . , n. n
„Tausendfüßlerspiel“ Da im Tausendfüßlerspiel s1 = (L,l) den Anfangszug L vorschreibt, erübrigt sich für den Spieler 1 eine Entscheidung zwischen l und r. Ohne eine solche kontrafaktische Überlegung des 1 kann sich aber 2 nicht zwischen L und R und damit letztlich auch der 1 selbst nicht zwischen L und R entscheiden. ● Jeder Strategienvektor s ∈ S impliziert eine Wahrscheinlichkeitsverteilung Prob{·|s} über der Endpunktmenge E(B), die im Falle von P0 = ∅ einem Endpunkt die Wahrscheinlichkeit 1 zuweist. Damit ist für jeden Spieler i = 1,. . . ,n durch s die Erwartungsauszahlung Ui (s) = ∑ Prob{e|s}ui(e) s∈S
oder die Auszahlungsfunktion für Strategienvektoren definiert. ● Die Strategie si ∈ Si heißt dominiert, falls eine andere Strategie si ∈ Si existiert mit Ui (si ,s−i ) ≥ Ui (si ,s−i ) für alle s−i , wobei die Ungleichung für wenigstens ein s−i strikt ist. Eine dominierte Strategie si ist daher niemals besser, aber für wenigstens ein s−i = (s j ) j =i schlechter als die sie dominierende Strategie si . ● Werden dominierte Strategien verworfen, können sich neue Strategien als dominiert erweisen und damit verworfen werden (Verfahren wiederholter Elimination dominierter Strategien). Im Tausendfüßlerspiel ist jede Strategie s1 mit r durch die Strategie s1 dominiert, die sich von s1 nur durch l statt r unterscheidet. Antizipiert 2 die Elimination solcher Strategien s1 durch den 1, so ist s2 = R durch s2 = L dominiert. Nach Elimination von s2 = R ist dann letztlich die Strategie s1 = (R, l)
11.2 Lösungskonzepte für extensive Spiele
441
durch s1 = (L, l) dominiert. Die eindeutige Lösung gemäß dem Verfahren wiederholter Elimination dominierter Strategien ist daher der Strategienvektor s∗ = (s∗1 , s∗2) = ((L, l),L ). ● Falls Ui (si , s−i) ≥ Ui (si , s−i) für alle si ∈ S, erweist sich si als beste Antwort auf s−i . Die Menge R(si ) = {s− i ∈ × S j : si
ist beste Antwort auf s−i }
j =1
ist der Stabilitätsbereich von si . Gilt für zwei Strategien si , si ∈ Si , dass R(si ) ⊂ R(si ), so heißt =
die Strategie si inferior. Wann immer sich si als beste Antwort erweist, gilt dies auch für si aber nicht umgekehrt. Ebenso wie dominierte Strategien kann man auch inferiore Strategien wiederholt eliminieren. Für das Tausendfüßlerspiel implizieren beide Verfahren dasselbe Ergebnis. ● Ein Gleichgewichtspunkt (Cournot, Nash) ist ein Strategienvektor s∗ = (s∗i ,s∗−i), bei dem jede Komponente s∗i für i=1,. . . ,n sich als beste Antwort auf s∗−i erweist, d. h. Ui (s∗ )= max {Ui (si ,s∗−i ) : si ∈ Si } für i=1,. . . ,n. Für s = (si ,s−i ) bezeichne Bi (s) die Menge der besten Antworten si des Spielers i auf s−i bzw. s = (si ,s−i ). Die Abbildung B(·) mit n
1 1 −1 −1 −1 1 „Nullsummenspiel“ ● Im obigen Nullsummenspiel, in dem sich an allen Endpunkten alle Auszahlungen zu Null aufaddieren, gibt es keinen Gleichgewichtspunkt. Diese Nichtexistenz wird durch gemischte Strategien qi vermieden, die Wahrscheinlichkeitsverteilungen über Si sind: qi (si ) ∈ [0,1]
mit
l
∑ qi(si ) = 1.
si ∈Si
Qi bezeichnet die Menge der gemischten Strategien qi des Spielers i=1,. . . ,n und n
einen gemischten Strategienvektor. Im Nullsummenspiel ist q∗ = (q∗1 ,q∗2 ) mit q∗i (si ) = 1/2 für beide Strategien si beider Spieler i das eindeutige Gleichgewicht in gemischten Strategien (vgl. Abschnitt 10.1 zur linearen Optimierung). ● Gleichgewichtspunkte lassen sich als Lösungen rechtfertigen, da nur sie • auf allgemeiner Optimalität (jeder Spieler reagiert optimal auf das Verhalten seiner Mitspieler) beruhen, • sich selbst stabilisierende Verhaltenserwartungen (wenn man einen Gleichgewichtspunkt erwartet, besteht für niemanden Anreiz, davon abzuweichen) beschreiben,
442
11 Spieltheorie • axiomatisch durch die Anforderungskataloge Optimalität und wahre bzw. rationale Erwartungen oder Optimalität und (umgekehrte) Konsistenz charakterisiert werden.
● Optimalität folgt aus der Wahl bester Antworten auf das wahre Verhalten der anderen Spieler, wie es für rationale Erwartungen erforderlich ist. Konsistenz ist eine Dezentrationseigentschaft (falls einige Spieler schon gemäß einem Gleichgewichtspunkt entschieden haben, ist es für die verbleibenden Spieler gleichgewichtig, sich ebenfalls gemäß diesem zu entscheiden). ● Problem der Gleichgewichtskonzeption ist nicht die Existenz, sondern die Vielfalt an Gleichgewichten. Im Ultimatumspiel sind z. B. s = (s1 ,s2) = (L,(J,n)),(R,(N, j)),(R,(J, j)) Gleichgewichtspunkte, von denen aber nur der letzte als Lösung überzeugt (warum sollte Spieler 2 den Zug N oder n wählen?). ............................... ....... ... ... .. ..... ................. . .. .. .... ....... .............................................. . . . . ...... .... . . . ...... . . .... ...... ...... ...... ...... ...... ...... ...... . . . . . ...... .... . . ...... . . . ...... .... . . . . . ...... .... . . ...... . . . ...... .... . . . . . ..................................... ........................................... . .... . . . ... .... . ... .... ... . . ... ........... . . . .... . ... ....... ... ... . . .. . . . ... ....... ...... .. .... ...... ...... ..... . . .......................................... ...................................... . . . . . . ... .... .. ... . . . . . . . . ... .... .. ... .... .... .... ... .... .... .... .... .... .... ... .... .... .... .... .... . . . . . . . . .... .... .. .... . ... . . . . . .... .... .. .. . . . . . . .... .... .. .. . . . . . . . .... . .... .... .... .
1 uo
L
R
u2
J
u
50 50
u2
N
j
u
0 0
u
99 1
n
u
0 0
„Ultimatumspiel“ ● Verfeinerungskonzepte versuchen unsinnige Gleichgewichtspunkte als Lösung auszuschließen. Ein Teilbaum B von B definiert ein Teilspiel T = (B , P , I , Z , W , U ) des Spiels T , falls jeder Informationsbezirk von T , der einen Entscheidungsknoten k von B enthält, nur solche Knoten umfasst, d. h. ein Teilspiel ist informationsmäßig abgeschlossen (wer im Teilspiel T entscheidet, weiß, dass er sich im Teilbaum B befindet). Die übrigen Komponenten P ,I ,Z ,W ,U von T ergeben sich durch Beschränkung der jeweiligen Komponente von T auf B . Das Ultimatumspiel verfügt über zwei (echte) Teilspiele, nämlich dasjenige nach L und dasjenige nach R. ● Ein teilspielperfektes Gleichgewicht s von T schreibt nicht nur für T , sondern auch für jedes Teilspiel T von T einen Gleichgewichtspunkt vor (Selten). Beschränkt man si auf die Informationsbezirke Ii des i im Teilspiel T , so induziert dies eine Strategie si des i für das Teilspiel T . Allgemein induziert also der Strategienvektor s von T einen Strategienvektor s für jedes Teilspiel. Für ein teilspielperfektes Gleichgewicht s erweisen sich diese induzierten Strategienvektoren s für alle Teilspiele T von T als Gleichgewichte von T . Im Ultimatumspiel ist nur (R, (J, j)) teilspielperfektes Gleichgewicht. ● Im 3-Personen-Spiel sollte Spieler 3 offenbar die Strategie s3 = l wählen (s3 = r wird durch s3 = l dominiert.) Dennoch ist s = (s1 , s2 , s3) = (R, R , r) ein teilspielperfektes Gleichgewicht in diesem Spiel ohne (echte) Teilspiele. Spieler 3 kann sich irrational verhalten, da er gemäß (R, R , r) gar nicht zum Zuge kommt.
„3-Personen-Spiel“ ● Unerreichte Informationsbezirke lassen sich vermeiden, indem man • Spiele pertubiert, d. h. von positiven Mindestwahrscheinlichkeiten für alle Züge und damit Strategien ausgeht, • die Lösung des Spiels T , durch den Grenzwert der Lösungen perturbierter Spiele definiert, wenn die Pertubationen (Mindestwahrscheinlichkeiten) gegen Null konvergieren. ▲ Gleichgewichtspunkte s von T , die sich in diesem Sinne rechtfertigen lassen, heißen perfekt (Selten). Im 3-Personen-Spiel ist (R, R , r) kein perfektes Gleichgewicht, aber s = (s1 , s2 , s3) = (L, L , l). ● Das später entwickelte Verfeinerungskonzept sequenzieller Gleichgewichte (Kreps und Wilson) ist generisch äquivalent zum perfekten Gleichgewicht. Die via Pertubationen implizit definierten Erwartungen, in welchen Knoten man sich in einem Informationsbezirk befindet, werden hierbei explizit erfasst. ● Formal besteht ein sequenzielles Gleichgewicht aus einem Strategienvektor q und Erwartungen Wq , sodass • jeder durch q vorgeschriebene Zug sich bei den durch Wq spezifizierten Erwartungen als sequenziell rational, d. h. nutzenmaximierend erweist und • q und Wq konsistent sind (es lässt sich eine Folge vollständig gemischter Strategienvektoren qk mit qk → q und Wqk → Wq für k → ∞ finden, wobei Wqk die durch qk implizit definierten Erwartungen sind). ● Letztlich vermeiden perfekte oder sequenzielle Gleichgewichte explizit oder implizit das Phänomen eines von der Lösungspartie unerreichten Informationsbezirks, für den dann die Erwartungen darüber, in welchem Knoten man sich befindet, nicht gemäß der Bayes-Regel (der Formel bedingter Wahrscheinlichkeiten) definiert werden können. ▲ Die Existenz perfekter und damit sequenzieller Gleichgewichte lässt sich analog zur Existenz von Gleichgewichten nachweisen. Man kann natürlich das Gleichgewichtskonzept so stark verfeinern, dass die generelle Existenz gefährdet ist. Strikte Gleichgewichte q∗ = (q∗i , q∗−i ) mit Ui (q∗i , q∗−i ) > Ui (qi , q∗−i) für alle Strategien qi ∈ Qi mit qi = q∗i und für alle Spieler i weisen die höchste Form der Selbststabilisierung auf (jede individuelle Abweichung führt zu einem Verlust für den Abweicher). Strikte Gleichgewichte sind notwendigerweise in reinen Strategien, d. h. q∗i (s∗i ) = 1 für genau eine Strategie s∗i ∈ Si und für alle Spieler i = 1, . . . , n. Im Nullsummenspiel gibt es jedoch kein striktes Gleichgewicht. ▲ Ein solches, allgemein unerfüllbares Verfeinerungskonzept kann jedoch Ausgangspunkt für eine Theorie der Gleichgewichtsauswahl sein, die sich die Aufgabe stellt, für jedes Spiel eindeutig eine
444
11 Spieltheorie
Gleichgewichtslösung s vorzuschreiben. Sind s1 = (s11 , . . . , s1n) und s2 = (s21 , . . . , s2n) z. B. zwei strikte Gleichgewichte von T , so könnte man s1 als lösungsungeeignet bezeichnen, wenn s2 das Gleichgewicht s1 auszahlungsdominiert, d. h. Ui (s2 ) > Ui (s1 ) für i = 1, . . . , n. Allerdings werden hierdurch die Risiken, sich gemäß s2 statt s1 zu verhalten, nicht adäquat erfasst. Dies versuchen allgemein anwendbare Auswahltheorien (Harsanyi und Selten, Güth und Kalkofen). Zum Teil werden intuitive Kriterien vorgeschlagen, die nur für spezielle Klassen von Spielen anwendbar sind. ■ In 2-Personen-Nullsummenspielen ist die Existenz multipler Gleichgewichte unproblematisch, da die Gleichgewichtsstrategien austauschbar (sind q1 = (q11 , q12) und q2 = (q21 , q22) Gleichgewichte, so gilt dies auch für (q11 , q12 ) und (q21 , q12 )) und auszahlungsäquivalent (Ui (q1 ) = Ui (q2 ) für alle Gleichgewichte q1 und q2 ) sind. Diese Gleichgewichte lassen sich durch die üblichen Verfahren (lineare Programmierung) des Operations Research ableiten.
11.3
Korrelierte Gleichgewichte
● Gibt es einen mehr oder minder durch alle Spieler beobachtbaren Zufallszug, so eröffnen sich neue Verhaltensmöglichkeiten. ● Ist Ω = (A,B,C) die Menge möglicher Zufallsereignisse und gilt n = 2, so ist eine mögliche individuelle Beobachtbarkeit dadurch gegeben, dass Spieler i = 1 bzw. i = 2 beobachtet, ob der realisierte Zustand ω ∈ Ω in {A} oder A¯ = {B,C} bzw. in C¯ = {A,B} oder {C} liegt. Damit ist im Fall ω = A Spieler 1 vollständig informiert, während Spieler 2 nur ω = C ausschließen kann, ω = B nur A durch Spieler 1 und C durch Spieler 2 auszuschließen, ω = C Spieler 2 vollständig informiert, währen Spieler 1 nur ω = A ausschließen kann.
u u u u u u u u u u u u 1 0 0 2 1 0 0 2 1 0 0 2 2 0 0 1 2 0 0 1 2 0 0 1 „Korrelationsspiel“
11.4 Spiele mit unvollständiger Information
445
■ Im Korrelationsspiel gäbe es ohne den gestrichelt eingezeichneten (nicht unbedingt real stattfindenden) Zufallszug ω ∈ Ω = {A, B, C} mit den Wahrscheinlichkeiten α für ω = A, β für ω = B und 1 − α − β für ω = C nur die strikten Gleichgewichte s1 = (L, l) und s2 = (R, r) mit den Auszahlungsvektoren (1, 2) bzw. (2, 1). Im erweiterten Spiel erweist sich für α = 12 und β < 13 zum Beispiel s∗ = (s∗1 , s∗2) = ((LA , RA ), (lC , rC )) ¯
¯
als korreliertes Gleichgewicht mit den Auszahlungen 23 − 2β = α · 1 + β · 0 + (1 − α − β ) · 2 für Spieler 1 und 32 − β = α · 2 + β · 0 + (1 − α − β ) · 1 für Spieler 2. Durch β → 0 lässt sich also die gleiche Auszahlung von 32 für beide Spieler approximieren, die im nicht erweiterten Spiel unerreichbar ist.
y 0 t1 y 0 t1 y 0 t¯1 y 0 t¯1 1 − y 0 t 2 1 − y 0 t¯2 1 − y 0 t 2 1 − y 0 t¯2 „outside option“
● Im Outside Option-Spiel mit t¯1 > y > t 1 > 0 und t¯2 > 1 − y > t 2 > 0 weiß nur Spieler i=1,2 selbst, ob er bei Wahl der outside option (X bzw. x durch Spieler 1) den Gewinn t i oder t¯i erhält. Der jeweils andere Spieler j = i erwartet den Typ t i mit Wahrscheinlichkeit α für j = 2 bzw. β für j = 1 mit α ,β ∈ (0,1). Durch den gestrichelt eingezeichneten fiktiven Zufallszug werden diese Erwartungen adäquat in stochastische Ungewissheit transformiert: Da Spieler j nur über seinen eigenen Typ t j , aber nicht über ti mit i = j informiert wird, erwartet er den Typ t i mit Wahrscheinlichkeit α bzw. β , wie es seinen ursprünglichen Erwartungen entspricht.
446
11 Spieltheorie t2 t1 t1 t¯1 beide
t2
t¯2
beide
αβ
α (1 − β )
α
(1 − α )β
(1 − α )(1 − β ) 1−β
1−α 1
β
● Wenn sich die Wahrscheinlichkeiten für die vier möglichen Typenvektoren wie im Outside OptionSpiel aus den unabhängigen Randverteilungen bestimmen, spricht man von konsistenter unvollständiger Information. Bei mehr als zwei Spielern verlangt konsistente unvollständige Information, dass zwei unterschiedliche Mitspieler j des i die gleichen Erwartungen bezüglich der Typen t¯i und t¯i hegen. Natürlich kann es mehr als zwei Typen ti eines Spielers i geben. ● Im Outside Option-Spiel gibt es keine Teilspiele, d. h., jeder Gleichgewichtspunkt ist teilspielperfekt. Sequenzielle Rationalität im Sinne perfekter bzw. sequenzieller Gleichgewichte verlangt s∗ = (s∗1 , s∗2) = ((X, y)(J, j)), d. h. die Lösung hängt nur von t1, aber nicht von t2 ab. Ob Spieler 1 die outside option X bzw. x wählt, bestimmt sich gemäß t1. Welche Konsequenzen daraus für den Spieler 2 resultieren, wird von 1 nicht berücksichtigt. ................................ ...... ... ... ... ...u . .. ..... 0 . .... .. .. ..o .. .. . . . . . .... ............................................. .... . . . . ...1 α.... .... .... . .... − α .... .. .. .. .... . .. .... ... .................................. ................................... .... ... .... . ...... ....... .. ... .. ........ . .... .... ..... .. . .. . . ..... . .... . . . ... ........... .. ..... . .. .... . . ........................................... .......................................... .... ... .. . ... . . . . . .... . ... .... ... .... ... .... .... ... ... .... .... ... ... .... .... ... . .. . . . . .... ... ... .. . . . . .... ... .. . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ... .......... . .......... .. . ... . . . .. .... .. . .. .. ... . . . . . . .... ..... ... ... . . . .. . . . . .... .. .... . ... ...... ... .. . . . . . . ...................................................................................................................... ... .. . ... . .. . . . ... ... ... .. .. .. ... . . . ... ... . .. . .. ... . . . ... ... . ... .. . .. . . . . ... ... ... . .. . .. . . . . ... ... ... . .. .. . . . . . . ... ... ... . .. .. . ... . . . . ... ... . .. . .. ... . . . . ... ... . ... .. . .. . . . . ... ... ... . .. . .. . . . . ... ... ... . .. .. . . . . . . ... ... ... . . .. . .... .... . . . .
u
u1
1
N
J
j
u2
L
u t1 0
u
0 2
n
u2
R
u
L
R
u
0 2
x y 0 0
u
u t¯1 0
„Signalisierspiel“ ● In einem Signalisierspiel kann aus den vorherigen Entscheidungen informierterer Spieler unter Umständen deren Informationsstand abgelesen werden. Würde Spieler 1 z. B. J und n gemäß der Lösung wählen, so müsste Spieler 2 davon ausgehen, sich im linken Knoten des Signalisierspiels zu befinden, wenn er sich zwischen L und R entscheidet. Für t¯1 > y und t 1 < 0 ergibt sich als Lösung damit das Signalisierungsgleichgewicht s∗ = (s∗1 ,s∗2 ) = ((J,n),L). Für andere Parameterkonstellationen erweist sich auch typenverheimlichendes Verhalten als gleichgewichtig: 1 ((N,n),L) für α > , t 1 > 0, t¯1 > y 2 1 ((N,n),R) für α < , t 1 > x, t¯1 > 0 2 1 ((J, j),L) für α > , t 1 < 0, y > t¯1 2 1 ((J, j),R) für α < , x > t 1 , 0 > t¯1 2 Gemäß solchen pooling-Gleichgewichten kann Spieler 2 nicht aus der vorherigen Entscheidung des 1 ablesen, ob der 1 zwischen N oder J oder zwischen n oder j auszuwählen hätte.
11.5 Stufenspiele
11.5
447
Stufenspiele
● Formal unterscheiden sich Stufenspiele von extensiven Spielen dadurch, dass sie • unendlich viele (statt nur endlich vieler) Alternativen und • simultane (statt nur sequenzielle) Entscheidungen mehrerer Spieler zulassen. Wir wollen dies nun anhand eines Beispiels demonstrieren. ■ Es soll zunächst Anbieter 1 seine Verkaufsmenge x1 ≥ 0 und dann, in Kenntnis von x1 , die Anbieter 2 und 3 ihre Mengen x2 ≥ 0 bzw. x3 ≥ 0 festlegen. Ferner sei für i=1,2,3 die Gewinnfunktion
∏(x1 ,x2,x3) = xi (1 − x1 − x2 − x3 ). i
● Teilspielperfekte Gleichgewichte werden rekursiv bestimmt, indem man für alle x1 ≥ 0 zunächst
das Gleichgewicht 1 − x1 für 0 ≤ x ≤ 1 1 für j = 2, 3 s∗j (x1 ) = x j = 3 0 sonst der zweiten Stufe nach x1 ableitet. Für die erste Stufe gilt dann 2
d. h. s∗1 = x1 = 12 zusammen mit s∗2 (x1 ) und s∗3 (x1 ) beschreibt das eindeutige teilspielperfekte Gleichgewicht. Während für Spieler 1 eine Strategie s1 aus einer Mengenentscheidung x1 besteht, sind die Strategien s2 und s3 Abbildungen, die jeder Menge x1 eine Angebotsentscheidung s2 (x1 ) bzw. s3 (x1 ) zuordnen.
11.6
Spiele in Agentennormalform
● Die Normalform ist eine statische Repräsentation strategischer Spiele. Sie beschreibt für alle Spieler die Menge möglicher Strategien sowie ihre Bewertung aller möglichen Strategienvektoren. Die zeitliche Abfolge der aus einem Strategienvektor resultierenden Züge wird damit vernachlässigt. ● Die Agentennormalform basiert auf einem dezentralen Spielerbegriff, nämlich dem des Agenten. Ein Spieler i=1,. . . ,n des extensiven Spiels T = (B,P,I,Z,W,U) verfügt über Mi Agenten i j , die jeder den Zug in einem seiner Mi Informationsbezirke Iij für j=1,. . . ,Mi auswählen. Die Strategienmenge des Agenten i j , der im Informationsbezirk Iij des Spielers i den Zug z ∈ Z(Iij ) auswählt, ist damit die Zugmenge Z(Iij ). Ein Strategienvektor schreibt damit für jeden Informationsbezirk jedes persönlichen Spielers einen Zug vor und entspricht damit einem Strategienvektor in der extensiven Form T . Die Auszahlung eines Agenten i j kann damit durch die Auszahlung des Spielers i für diesen Strategienvektor im Spiel T definiert werden. ▲ Das Tausendfüßlerspiel ist daher ein 3-Agenten-Spiel mit S11 = {L,R}, S12 = {l,r}, S21 = {L ,R } und
(2,2,1) für s11 (1,1,4) für s1 1 1 1 2 U(s1, s2 , s1) = (8,8,2) für s11 (4,4,16) für s11
=L = R, s12 = L = R, s12 = R , s21 = l = R, s12 = R , s21 = r
448
11 Spieltheorie
Offenbar ist neben der Lösung (L, L , l) gemäß dem Verfahren wiederholter Elimination dominierter Strategien auch der Strategienvektor (L, L , r) ein Gleichgewichtspunkt der Agentennormalform, der aber imperfekt ist (im pertubierten Spiel muss Agent l 2 den Zug r mit minimaler Wahrscheinlichkeit realisieren). ▲ Dies verdeutlicht, dass Aspekte sequenzieller Rationalität wie Teilspielperfektheit durch die üblichen Verschärfungen des Gleichgewichtsbegriffs wie Perfektheit zu gewährleisten sind, die nicht von der sequenziellen Abfolge der Entscheidungen abhängen.
11.7
Normalformspiele
● Im Unterschied zur Agentennormalform beruht die Normalform auf dem zentralen Spielerbegriff, gemäß dem ein Spieler mit seiner Entscheidung das Verhalten in allen seinen Informationsbezirken festlegt. Formal ist ein n-Personen-Spiel in Normalform definiert durch G = (S1 , . . . , Sn ; U) mit Si = Strategienmenge des Spielers i = 1, . . . ,n und U(s) = (U1 (s), . . . , Un(s)) als Auszahlungsfunktion, die jedem Strategievektor n
s = (s1 , . . . , sn) ∈ S = × Si i=1
die Nutzenbewertung Ui (s) durch alle Spieler i = 1, . . . ,n zuordnet. ● Für das Ultimatumspiel ist die Normalform G = (S1 , S2; U) wie folgt: S1 = {L,R},S2 = {(J, j),(J,n),(N, j),(N,n)} und (50,50) für s = (L(J, j)),(L,(J,n)) U(s) = (U1 (s),U2(s)) = (99,1) für s = (R,(J, j)),(R,(N, j)) (0,0) sonst Von den Gleichgewichtspunkten (R,(J, j)), (R,(J,N)) und (L,(J,n)) ist nur (R,(J, j)) perfekt. Ähnlich wie für die Agentennormalform müssen also Aspekte sequenzieller Rationalität durch die üblichen Verschärfungen des Gleichgewichtsbegriffs garantiert werden, die nicht von der sequenziellen Struktur des Spiels abhängen. ▲ 2-Personen-Nullsummenspiele in Normalform lassen sich wegen U1 (s) = −U2 (s) in Matrixform darstellen. Den Matrixfeldern entsprechen dann die Strategienvektoren s = (s1 ,s2 ) ∈ S1 × S2 und die jeweilige Eintragung der Bewertung U1 (s) = U1(s1 ,s2) durch Spieler 1. s12
s22
s32
s42
s1 s11 s21
4 4
3 2
2 1
1 2
s31
3
2
1
0
s2
3 × 4-Matrix Im 3×4-Matrixspiel verfügt Spieler 1 über drei und Spieler 2 über vier reine Strategien. Offenbar wird s31 durch s11 dominiert und s12 und s22 durch s32 oder s42 . Durch Elimination der dominierten Strategien erhält
11.7 Normalformspiele
449
man das reduzierte Spiel mit dem Sattelpunkt q∗1 (s11 ) = q∗1 (s21 ) = 0.5 = q∗2 (s32 ) = q∗2 (s42 ) und U1 (q∗ ) = U1 (q∗1 ,q∗2 ) = 1.5 und U2 (q∗ ) = U2 (q∗1 ,q∗2 ) = −1.5 als Auszahlungsvektor. s2 s1 s11 s21
s32
s42
2 1
1 2
reduzierte 3 × 4-Matrix ▲ Gleichgewichtspunkte von 2-Personen-Nullsummenspielen bestehen aus maximin-Strategien, die die eigene Auszahlungserwartung unter der Annahme maximieren, dass der Gegner sie zu minimieren sucht. Ist also q∗ = (q∗1 ,q∗2 ) ein Gleichgewicht, so gilt U1 (q∗ ) = maxq1 {minq2 {U1(q1 ,q2 ) : q1 ∈ Q1 ,q2 ∈ Q2 }} Da U1 (q1 ,q2 ) linear von den Wahrscheinlichkeiten q1 (s1 ) und q2 (s2 ) abhängt, erweist sich die Bestimmung der Gleichgewichte q∗ für 2-Personen-Nullsummenspiele als Problem der linearen Optimierung (vgl. Abschnitt 10.1). Wegen ihrer maximin-Eigenschaft wird ein Gleichgewichtspunkt in 2-PersonenNullsummenspielen auch Sattelpunkt genannt (ein Sattel hat längs zum Pferd ein Minimum und quer zum Pferd ein Maximum). ▲ Sind q∗ = (q∗1 ,q∗2 ) und qˆ = (qˆ1 ,qˆ2) Sattelpunkte eines 2-Personen-Nullsummenspiels, so sind auch (q∗1 ,qˆ2 ) und (qˆ1 ,q∗2) Sattelpunkte. Ferner gilt U1 (q∗ ) = U1 (q∗1 ,qˆ2 ) = U1 (qˆ1 ,q∗2 ) = U1 (q). ˆ Sattelpunkte sind also auszahlungsäquivalent und ihre maximin-Strategien austauschbar. Die Theorie der 2-Personen-Nullsummenspiele genügt damit Ansprüchen, die für eine allgemeine Theorie strategischer Spiele unerfüllbar sind. ● Auch symmetrische 2-Personen-Spiele mit S1 = S2 und U1(s, ˜ s) ˆ = U2 (s, ˆ s) ˜ lassen sich in Matrixform leicht beschreiben. s2 s1 Links Rechts
Links Rechts 1 -1
-1 1
Koordination Im Koordinationsspiel müssen beide Spieler zwischen Links und Rechts(fahren auf der Straße) wählen und sind immens an einer koordinierten Entscheidung s∗ = (Links,Links) oder s∗ = (Rechts,Rechts) interessiert, die beide strikte Gleichgewichtspunkte sind. Allerdings ließe sich nur willkürlich zwischen diesen auswählen, da sich die Strategien nur durch die willkürliche Benennung der Strategien unterscheiden. Die einzige willkürfreie Lösung ist damit der gemischte Gleichgewichtspunkt q∗i (Links) = q∗i (Rechts) =
1 2
für i = 1, 2,
der nicht strikt ist und durch die strikten Gleichgewichtspunkte s∗ im Sinne von 1 = Ui (s∗ ) > Ui (q∗ ) = 0 auszahlungsdominiert wird.
450
11 Spieltheorie s2 s1 s˜ sˆ s¯
s˜
sˆ
s¯
1 0 0 0 2 0 0 0 3
Koordinationswahl Im Koordinationswahlspiel sind die strikten Gleichgewichte (s, ˜ s), ˜ (s, ˆ s) ˆ und (s, ¯ s) ¯ im Sinne von Ui (s, ¯ s) ¯ = 3 > Ui (s, ˆ s) ˆ = 2 > Ui (s, ˜ s) ˜ = 1 für i = 1,2 auszahlungsgeordnet, d. h. (s, ¯ s) ¯ ist die offenbare Lösung. ● Analog lassen sich asymmetrische 2-Personen-Spiele in Normalform in Bimatrixform darstellen. In jedes der Matrixfelder, die die Strategienvektoren s = (s1 ,s2 ) ∈ S1 × S2 repräsentieren, ist dann der Nutzenvektor U(s) = (U1 (s),U2(s)) einzutragen. s1 Konzert Fußball
s2
Konzert Fußball (α ,β ) (0,0)
(0,0) (β ,α )
Kampf der Geschlechter mit α > β > 0 Im Kampf der Geschlechter-Spiel ist Spieler 1 der weibliche und Spieler 2 der männliche Part. Beide sind ungern alleine (falls einer zum Konzert, der andere zum Fußball geht), sie zieht jedoch, anders als er, ein gemeinsam besuchtes Konzert dem gemeinsam besuchten Fußballspiel vor. Zwischen den beiden strikten Gleichgewichtspunkten (Konzert, Konzert) und (Fußball, Fußball) könnte man nur willkürlich unterscheiden. Die einzige symmetrieinvariante Lösung ist daher der gemischte Gleichgewichtspunkt q∗1 (Konzert) =
α α +β
, q∗2 (Konzert) =
β
α +β
,
der nicht strikt und wegen U1 (q∗1 ,q∗2 ) =
αβ α +β
= U2 (q∗1 ,q∗2 ) < β
durch beide strikte Gleichgewichtspunkte auszahlungsdominiert wird. s1 s11 = nichtgestehen s21 = gestehen
s2
s12 = nicht gestehen s22 = gestehen (1,1) (α ,0)
(0,α ) (β ,β )
Gefangenendilemma mit α > 1 > β > 0 Das Gefangenendilemma ist motiviert durch die Kronzeugenregelung, die dem Kronzeugen (der gesteht) Straffreiheit zusichert. Wegen α > 1 > β > 0 ist „gestehen“ dominante Strategie, d. h. das einzige (strikte) Gleichgewicht „gestehen, gestehen“ ist die offenbare Lösung, obwohl der Strategienvektor „nicht gestehen, nicht gestehen“ die Lösung wegen 1 > β auszahlungsdominiert. Diese Tatsache erklärt die große Bekanntheit und breite Anwendung des Gefangenendilemma. Während das Grundtheorem der Wohlfahrtsökonomik die Vereinbarkeit von individuellem Eigennutz und gesellschaftlicher (Pareto-)Effizienz für Marktwirtschaften beweist, wird durch das Gefangenendilemma der Ausnahmecharakter einer solchen Aussage illustriert. ▲ Schon von Neumann und Morgenstern glaubten, dass die Normalform trotz ihrer statischen Erfassung des strategischen Konflikts alle Aspekte adäquat erfasst. Unsere Beispiele haben schon verdeutlicht,
11.8 Wiederholte Spiele
451
wie sich Aspekte sequenzieller Rationalität durch verschärfte Gleichgewichtskonzepte wie Perfektheit garantieren lassen. Dies würde insbesondere für strikte Gleichgewichte gelten, die aber typischerweise in sequenziellen Spielen nicht existieren müssen (wenn z. B. ein Informationsbezirk eines persönlichen Spielers von der Gleichgewichtspartie nicht erreicht wird). Verschärfte Perfektheitsbegriffe wie strikt perfekte Gleichgewichte s∗ , die sich durch Gleichgewichtsfolgen für jede Sequenz perturbierter Spiele von G (die mit abnehmender Perturbation gegen G konvergieren) approximieren lassen, existieren nicht immer. s1 s11 s21
S2
S21
s22
s32
(1,2) (1,0) (0,1) (1,2) (0,0) (1,1)
2 × 3-Bimatrixspiel Im 2 × 3-Bimatrixspiel ist s12 die offenbare Lösungsstrategie für Spieler 2. Übersteigt die positive Mindestwahrscheinlichkeit für s22 diejenige für s32 , so muss Spieler 1 daher s11 wählen, während er im perturbierten Spiel mit umgekehrt angeordneter Mindestwahrscheinlichkeit stets s21 wählt, d. h. es existiert kein strikt perfektes Gleichgewicht. Auswege bieten sich entweder durch Beschränkung der Perturbationen, z. B. gehen uniform perfekte Gleichgewichte von gleichen positiven Mindestwahrscheinlichkeiten für alle (undominierten) Strategien aus oder durch mengenwertige Lösungen, z. B. verlangt die Stabilitätsmenge die strikte Perfektheit nicht eines einzelnen Gleichgewichts, sondern einer Menge von Gleichgewichten. Jedes strikte Gleichgewicht definiert mithin eine Stabilitätsmenge. Im 2 × 3-Bimatrixspiel ist die einzige Stabilitätsmenge durch {(q1 ,s12 ) : qi ∈ Q1 } bestimmt.
11.8
Wiederholte Spiele
Durch Wiederholung eines Spiels entsteht eine neue Spielsituation, wobei ergänzende Annahmen darüber erforderlich sind, was man über die bisherigen Runden erfährt und wie man eine Sequenz periodischer Ergebnisse bewertet. Natürlich kann man Wiederholung auch für extensive Spiele betrachten. Hier soll von einem Spiel G = (S1 , . . . ,Si ; U) in Normalform ausgegangen werden. ● Es sei unterstellt, dass im wiederholten Gefangenendilemma alle vorherigen Züge allgemein bekannt sind und dass die Spieler die periodischen Ergebnisse gemäß der durchschnittlichen Periodenauszahlung bewerten (im Fall unendlich vieler Wiederholungen kann dies durch den limes inferior, d. h. durch den minimalen Häufungspunkt aller Periodengewinne eines Spielers festgelegt werden). Es sei T die Anzahl der Runden t = 1, . . . ,T . Man nennt das Gefangenendilemma das Basisspiel und bezeichnet seine T fache Wiederholung als T -Superspiel. Gilt T < ∞, so ist das einzige teilspielperfekte Gleichgewicht des T -fach gespielten Gefangenendilemmas dadurch bestimmt, dass beide Spieler i = 1,2 stets s2i verwenden, d. h. „gestehen“. Man zeigt dies durch Rückwärtsinduktion: In der T -ten Runde ist s1i dominiert (i = 1,2). Antizipiert man dies, so ist s1i auch in vorletzter Runde dominiert; antizipiert man dies, so. . . . ■ Für T = ∞ ist auch stete Kooperation mit teilspielperfektem Gleichgewichtsverhalten vereinbar. Die Theoreme, die die vielfältigen Lösungen für T = ∞ nachweisen, heißen Folk Theoreme. So können z. B. beide Spieler die Grimmstrategie (im ∞-Superspiel): Wähle s1i , wenn kein Spieler j = 1,2 jemals zuvor s2j verwandt hat, andernfalls spiele s2i . verwenden. Der Vektor der Grimmstrategien ist ein teilspielperfektes Gleichgewicht, da jede Abweichung von s1i die limes inferior-Auszahlung im ∞-Superspiel auf Null absenkt, also nicht lohnt, und da
452
11 Spieltheorie
stete Verwendung von s2i durch beide Spieler auch teilspielperfektes Gleichgewichtsverhalten darstellt. Andere, die Kooperation s1 = (s11 ,s12 ) stabilisierende Strategien im ∞-Superspiel, sind tit for tatStrategien (man wählt nur hinreichend lange und nicht ewig s2i nach Beobachtung von s2j ).
11.9
Evolutionäre Spiele
● In der Spieltheorie wird üblicherweise von (allgemein bekannter) Rationalität ausgegangen, d. h. jeder Spieler weiß, dass jeder Spieler rational ist, dass jeder Spieler weiß, dass jeder Spieler rational ist, dass jeder Spieler weiß, dass jeder Spieler weiß usw. Die konträre Annahme der Evolutionsbiologie ist, dass das Verhalten (primitiver Organismen und Lebewesen) genetisch determiniert ist, d. h. es wird jegliche Kognition geleugnet. In der Theorie evolutionärer Spiele werden genetische Programme mit den möglichen Strategien identifiziert. Statt nach rationalen Strategien zu suchen, werden die Strategien bestimmt, die evolutionär stabil sind, d. h. den evolutionären Selektionsprozess überleben. ● Der reproduktive Erfolg ist in der Evolutionsbiologie die erwartete Anzahl an Nachkommen eines genetischen Programms. In der Theorie evolutionärer Spiele wird dieser mit der Auszahlung einer Strategie für eine durch den Strategienvektor erfasste Populationszusammensetzung identifiziert. Oft werden, wie in der Evolutionsbiologie, symmetrische 2-Personen-Spiele (Ein-Spieler-Populationen) unterstellt (man kann durch einen Zufallszug, der unverzerrt die Spielerrollen zuweist, jedes Spiel symmetrieren). Ein solches evolutionäres Spiel ε in Normalform ist vollständig beschrieben durch: ε = (S,R)
mit S = Strategiemenge und R(s,s) ˜ = Erfolg der Strategie s für den Strategienvektor (s,s) ˜ ∈ S × S bzw. in einer s-monomorphen ˜ Population
s˜ Taube s Taube Falke
V /2 V
Falke 0 (V − C)/2
Falke und Taube Wie für das Falke und Taube-Spiel lässt sich ε in Matrixform beschreiben. Eine Strategie s∗ ∈ S heißt evolutionär stabil (Maynard Smith und Price), falls • R(s∗ ,s∗) ≥ R(s,s∗ ) für alle s ∈ S, d. h. (s∗ ,s∗ ) ist ein symmetrisches Gleichgewicht im Spiel ε , und • R(s∗ ,s) ˜ > R(s, ˜ s) ˜ für alle s˜ ∈ S mit R(s,s ˜ ∗) = R(s∗ ,s∗). Die erste Bedingung erfasst, dass eine evolutionär stabile Strategie s∗ optimal an eine s∗ -monomorphe Population angepasst sein muss. Existieren alternative beste Antworten s˜ auf s∗ -monomorphe Populationen, so würden sie gemäß R(s∗ ,s) ˜ > R(s, ˜ s) ˜ im Falle ihrer Ausbreitung sofort wieder durch s∗ verdrängt. Im Falke und Taube-Spiel bezeichnet V den vollen reproduktiven Erfolg ohne Kampf; die Kosten eines ernsten Kampfes betragen C für den Verlierer. Für V > C > 0 ist s∗ = „Falke“ evolutionär stabil, während für C > V > 0 die gemischte Strategie q∗ mit V V −C , q∗ (Taube) = C C die einzige evolutionär stabile Stratgie ist. q∗ (Falke) =
▲ Im Allgemeinen ist die Existenz evolutionär stabiler Strategien nicht gesichert, sodass man die Bedingung für evolutionäre Stabilität abschwächen muss. Statt statischer Konzepte evolutionärer Stabilität wird auch oft direkt der dynamische evolutionäre Prozess (z. B. in Form der Replikator-Dynamik) untersucht (vgl. den Abschnitt über Differenzen/Differenzialgleichungen).
11.10 Kooperative Spiele
11.10
453
Kooperative Spiele
Alle bisherigen Spielformen werden unter dem Begriff nichtkooperativ bzw. strategisch zusammengefasst. Diese etwas irreführende Bezeichnung soll lediglich darauf hinweisen, dass hierbei die individuellen strategischen Möglichkeiten/Strategien explizit erfasst werden. Kooperation, z. B. im Sinne gemeinsamer Gewinnmaximierung aller Spieler, ist dadurch nicht ausgeschlossen, sondern muss lediglich auf individuelle Bestrebungen zurückgeführt werden. Letztlich müssten sich damit die Kooperation implizierenden individuellen Entscheidungen als (perfekt) gleichgewichtig erweisen. Dies ist das Forschungsprogramm der nichtkooperativen bzw. strategischen Verhandlungstheorie (Nash), gemäß der Kooperation auf selbststabilisierendem individuellem Verhalten beruhen muss. ● In der kooperativen Spieltheorie wird generell vorausgesetzt, dass jegliches Verhalten bindend vereinbart werden kann. Man unterstellt daher uneingeschränkte Selbstbindungskraft. Hierauf beruht auch die Rechtfertigung dafür, nicht nur die Selbststabilisierung kooperativen Handelns, sondern sogar die individuellen Verhaltensmöglichkeiten überhaupt vernachlässigen zu können. Letztlich werden nur noch die möglichen Auszahlungen durch ein kooperatives Spiel erfasst. Wie diese aus individuellem Verhalten resultieren, bleibt völlig unspezifiziert. ● Kooperative Spiele werden durch ihre charakteristische Funktion V erfasst, die jeder Koalition C mit ∅ = C ⊂ N = {1, . . . ,n}, d. h. jeder Teilmenge der Spielermenge N, die Menge V (C) ⊂ Rn der durch C erreichbaren Nutzenvektoren u = (u1 , . . . ,un ) zuordnet. Kann V (C) für alle Koalitionen C in der Form V (C) =
u = (u1 , . . . ,un ) ∈ Rn : ∑ ui ≤ v(C) i∈C
geschrieben werden, d. h. kann jede Koalition C den Gesamtgewinn v(C) beliebig unter ihren Mitgliedern aufteilen, so spricht man von einem kooperativen Spiel bzw. einer charakteristischen Funktion mit Seitenzahlungen. Charakteristische Funktionen mit Seitenzahlungen werden einfach durch die Funktion v(·) beschrieben. ● Apexspiel N = {1, 2, . . . , n} mit n ≥ 3 1 für C ⊃ {1, j} mit j > 1 v(C) = und C ⊃ {2, . . . , n} 0 sonst Im Apexspiel ist Spieler 1 (der Apex) im Falle n > 3 mächtiger als seine Mitspieler j = 2, . . . , n. Dies erkennt man an den minimalen Gewinnkoalitionen, d. h. den Koalitionen C mit v(C) = 1 und (C\{k}) = 0 für jedes Mitglied k ∈ C. Im Apex-Spiel sind dies die Koalitionen {1, j} mit j > 1 sowie die Koalition {2, . . . , n}. Ein Spiel v(·) heißt superadditiv, falls v(C1 + C2 ) ≥ v(C1 ) + v(C2 ). Hier steht C1 + C2 für die Vereinigung der disjunkten Koalitionen C1 und C2 . In superadditiven Spielen wird überlicherweise unterstellt, dass die Koalition N aller Spieler gebildet wird. Als Problem verbleibt dann nur noch die Aufteilung von v(N) auf alle Spieler. Auszahlungsvektoren u = (u1 , . . . , un ) mit ui ≥ v({i}) für alle i ∈ N
454
11 Spieltheorie
heißen individuell rational und solche mit
∑ ui = v(N)
i∈N
(wegen der Superadditivität) effizient. Die Menge I(v) =
u ∈ Rn : ui ≥ v({i}) für alle i ∈ N und
∑ ui = v(N)
i∈N
ist die Imputationsmenge der charakteristischen Funktion v(·) mit Seitenzahlungen. Im Apexspiel ist jede Aufteilung u = (u1 , . . . ,un) von v(N) = 1 mit ui ≥ 0 für alle i ∈ N in der Imputationsmenge enthalten. Ergänzt man die Anforderungen der Imputationsmenge um die Gruppenrationalität
∑ ui ≥ v(C) für alle ∅ = C ⊂ N,
i∈C
so erhält man das Konzept des Kerns
C (v) = u ∈ Rn : ∑ ui ≥ v(C) für alle ∅ = C ⊂ N, i∈C
∑ ui = v(N)
.
i∈N
Im Apexspiel folgt aus der Gruppenrationalität u1 + u2 ≥1 u1 + u3 ≥1 u1 + un ≥ 1 u2 + u3 + . . . + un ≥ 1 die Bedingung (∗)2(u1 + . . . + un ) + (n − 3)u1 ≥ n. Wegen der Effizienz von u, d. h. u1 + . . . + un = 1, lässt sich dies schreiben als (n − 3)u1 ≥ n − 2. Für n > 3 ist dies mit der Bedingung u2 + u3 + . . . + un ≥ 1 unvereinbar. Für n = 3 konkretisiert sich (∗) zu u1 + u2 + u3 ≥ 3/2 > v(N) = 1. Für alle n ≥ 3 ist damit der Kern des Apexspiels leer. ▲ Eine andere kooperative Lösungskonzeption sind die intern und extern stabilen Mengen oder von Neumann-Morgenstern-Lösungen S(v): • S(v) ist intern stabil, falls für alle u, ˆ u˜ ∈ S(v) keine Koalition C mit uˆi > u˜i für alle i ∈ C und ∑ uˆi ≤ v(C) i∈C
existiert. • S(v) ist extern stabil, falls für u ∈ I(v) und u ∈ / S(v) ein uˆ ∈ S(v) und eine Koalition C existiert mit uˆi > ui für alle i ∈ C und ∑ uˆi ≤ v(C). i∈C
■ Im Apexspiel mit n = 3 ist ' ( 1 1 1 1 1 1 S(v) = , ,0 , , 0, , 0, , 3 3 3 3 3 3 intern und extern stabil.
11.10 Kooperative Spiele
455
Gilt für u, ˆ u˜ ∈ I(v), dass eine Koalition C existiert mit uˆi > u˜i für alle i ∈ C und
∑ uˆi ≤ v(C),
i∈C
so wird u˜ durch uˆ dominiert. Der Kern lässt sich daher als die Menge aller undominierten Auszahlungsvektoren u ∈ I(v) beschreiben. Allerdings kann diese Forderung zu weitgehend sein, sodass der Kern leer ist wie im Apexspiel. Dies vermeidet das Konzept der Verhandlungsmenge B(v) (Aumann und Maschler). Wesentliche Idee ist hier, nur dann Dominanzbeziehungen zu akzeptieren, wenn der dominierende Auszahlungsvektor nicht seinerseits „verworfen“ werden kann. Im Prinzip eröffnet sich hier eine große Vielfalt an Lösungsmöglichkeiten, da man die Kette • u ∈ I(v) wird nicht dominiert (Kern) • u ∈ I(v) wird nicht dominiert durch uˆ ∈ I(v), welches nicht „verworfen“ werden kann (Verhandlungsmenge) • u ∈ I(v) wird nicht dominiert durch uˆ ∈ I(v), welches nicht „verworfen“ werden kann durch Auszahlungsvektoren, die ihrerseits nicht „verworfen“ werden können beliebig lang gestalten kann. Ausgehend vom Kern wird hier alternierend die Lösungsmenge zunächst größer, dann kleiner, dann größer,. . . , da man die möglichen „Verwerfungen“ zunächst vermehrt, dann vermindert usw. ● Im Apexspiel ist die Verhandlungsmenge durch die Quoten der Spieler bestimmt, d. h. durch die Lösung des Gleichungssystems u1 + u j = 1 für alle j = 2, . . . , n u2 + . . . un = 1, das heißt n−2 1 u1 = und u j = für genau ein j = 2, . . . , n n − 1 n − 1 B(v) = u ∈ I(v) : . 1 für alle j = 2, . . . , n oder u j = n−1 Für alle u ∈ I(v) und alle Koalitionen C wird e(C,u) = v(C) − ∑ ui i∈C
als Überschuss von C bezüglich u bezeichnet. Das Drohpotenzial des Spielers i gegen den Spieler j bezüglich u wird durch si j (u) = max {e (C,u) : i ∈ C, j ∈ / C} gemessen. Das Lösungskonzept des Kernel K(v) erlaubt nur solche Auszahlungsvektoren u ∈ I(v), für die für alle Spielerpaare i, j ∈ N die Bedingung si j (u) − s ji (u) u j − v { j} ≤ 0 gilt, d. h. si j (u) > s ji (u) ist nur möglich, falls Spieler j in seinem Auszahlungsanspruch schon auf u j = v({ j}) reduziert wurde. Der Kernel K(v) des Apexspiels mit n = 3 ist ' ( 1 1 1 K(v) = , , . 3 3 3 ● Das eindeutige Konzept des Nucleolus N(v) (Schmeidler) geht davon aus, dass für alle u ∈ I(v) die aus u resultierenden Überschüsse e(C,u) nicht ansteigend zu Vektoren n L(u) = e C1 ,u , . . . , e C2 −1 ,u
456
11 Spieltheorie
mit e Ck ,u ≥ e Cl ,u für k < l angeordnet werden. N(v) ist dann durch den Auszahlungsvektor u ∈ I(v) gegeben, dessen Vektor L(u) lexikografisch minimal in I(v) ist. ■ Im Apexspiel mit n = 3 gilt N(v) ⊂ K(v), d. h. 1 1 1 N(v) = , , . 3 3 3 Bezeichnet |C| die Anzahl der Mitglieder der Koalition C, so ist der Wert ϕ (v) = (ϕ 1 (v), . . . , ϕ n (v)) (Shapley) durch |C| − 1 ! n − |C| ! v (C) − v C\ {i} ∑ n! ∅ =C⊂N i∈C
bestimmt, wobei v(∅) = 0 unterstellt wird. Entsprechend diesem eindeutigen Wertkonzept wird in allen möglichen Reihenfolgen sukzessive die große Koalition N gebildet, wobei jeder Spieler i seinen Beitrag v(C) − v(C\{i}) zum Koalitionserfolg erhält und wobei diese Auszahlung mit der Wahrscheinlichkeit dafür, dass i als letzter der Koalition C beitritt, gewichtet werden muss. Man kann den (Shapley-)Wert konstruktiv gemäß dieser Vorgehensweise berechnen. In Sonderfällen, z. B. bei Symmetrie der Spieler j = 2, . . . ,n, lässt sich durch die den Wert charakterisierenden Axiome die Berechnung vereinfachen. ▲ Im Apexspiel gilt ϕ i (v) =
n−2 , n
ϕ j (v) =
2 n(n − 1)
für alle j = 2, . . . , n,
d. h. mit zunehmender Anzahl n an Spielern erhält Spieler 1 immer mehr vom (Einheits)Kuchen. ● Die kooperative (Nash-)Verhandlungslösung ist das erste Lösungskonzept für kooperative (2 Personen-) Spiele V (·) ohne Seitenzahlungen. Ist V ({1,2}) ⊂ R2 nicht-leer, kompakt und konvex, so wird hierdurch der Auszahlungsvektor u = (u1 ,u2) aus V ({1,2}) ausgewählt, für den das Dividendenprodukt u1 − V {1} u2 − V {2} maximal ist, sofern überhaupt ein u ∈ V ({1,2}) mit positivem Dividendenprodukt existiert. u2 6 6
In der grafischen Darstellung entspricht dies einem Tangentialpunkt der Hyperbel (im gleichseitigen {1,2} gestrichelten Koordinatensystem) und des rechten oberen Randes von V , der so genannten Nut zenmöglichkeitsgrenze von V {1,2} .
„Ultimatumspiel“ von der # extensiven Form # zur $ Agentennormalform {L,R},{J,N},{ j,n}; (50,50,50) für L und J U(s) = (99,1,1) für R und j (0,0,0) sonst
Agentennormalform
von der # Agentennormalform # zur $ Normalform {L,R},{(J, j),(J,n),(N, j)(N,n)}; (50,50) für L und (J, j) oder (J,n) U(s) = (99,1) für R und (J, j) oder (N, j) (0,0) sonst
Normalform
von der # Normalform # zur $ charakteristischen Funktion mit Seitenzahlungen 100 für C = N = {1,2} v(C) = charakteristische Funktion mit Seitenzahlungen 0 sonst ● Obwohl das ursprüngliche Ultimatumspiel in extensiver Form auf einer fundamentalen Asymmetrie beruht, die die extrem unfaire Auszahlungsaufteilung von 99 zu 1 gemäß der Lösung (R(J, j)) impliziert, ist die charakteristische Funktion v(·) mit Seitenzahlungen völlig symmetrisch. Dies verdeutlicht, dass durch die zunehmende Abstraktion beim Übergang von der extensiven Form zur charakteristischen Funktion wesentliche strategische Aspekte vernachlässigt werden können. ● Andererseits gibt es Konfliktsituationen, in denen es nur eine Alternative zur Kooperation gibt und die adäquat durch ihre charakteristische Funktion beschrieben werden, wie das folgende Einstufenspiel:
458
11 Spieltheorie Die beiden Spieler i = 1,2 wählen gleichzeitig ihre Forderung si mit 0 ≤ si ≤ 100 aus.
Auszahlung: Im Fall s1 + s2 ≤ 100 erhält Spieler i = 1,2 den Betrag si , andernfalls erhalten beide Null.
1. Stufe:
Einstufenspiel
von der # Stufenform # zur $ charakteristischen Funktion 100 für C = N v(C) = charakteristische Funktion mit Seitenzahlungen 0 sonst ▲ Auch hier ist die charakteristische Funktion symmetrisch. Diese Symmetrie reflektiert aber die Symmetrie des Einstufenspiels. Konkret erscheint die symmetrische 50 : 50-Gewinnaufteilung, wie sie Kernel, Nucleolus, (Shapley-)Wert und kooperative (Nash-)Verhandlungslösung implizieren, sowohl für das Einstufenspiel als auch für seine charakteristische Funktion als einzig sinnvolle (eindeutige) Lösung.
12
Graphen und Algorithmen
12.1
Graphen
12.1.1
Grundbegriffe
Graph G(E, K), Zusammenfassung zweier Mengen E und K, wobei E eine Menge, Ecken oder Knoten, und K ⊆ E2 eine Menge von Paaren (u, v), u = v, Kanten oder Bögen, bedeuten. G(E, K) heißt endlich, wenn E und K nur je endlich viele Elemente enthalten, im anderen Falle heißt G(E, K) unendlich. Leerer Graph, E und K sind leere Mengen. Schlinge, Kante, deren Endpunkte zusammenfallen. Mehrfachkante, mehreren Kanten ist dasselbe geordnete oder ungeordnete Paar von Ecken zugeordnet. Multigraph, Schlingen, {u,u} ∈ K und Mehrfachkanten zwischen Ecken u,v sind n möglich. Vollständiger Graph K(n) , Graph mit Eckenzahl |E| = n und Kantenzahl |K| = 2 . Bipartiter Graph, E besteht aus zwei disjunkten Mengen S und T und jede Kante besitzt je eine Ecke in S und T . Vollständiger bipartiter Graph Km,n , |S| = m, |T | = n; alle Arten von Kanten zwischen S und T sind vorhanden; |E| = m + n, |K| = m · n. ■
vollständiger Graph K4 ,
vollständiger bipartiter Graph K2,4
■ Personen-Job-Zuordnungsprobleme. Qn -Würfel, Eckenmenge, bestehend aus einer Folge der Zahlen 0 und 1 der Länge n mit |E| = 2n Ecken und |K(Qn)| = n · 2n−1 Kanten. ■ Q3 -Würfel: |E| = 23 = 8 |K(Qn )| = 12
111
011 001
101 110
010 000
100
Weg der Länge n, Folge von n + 1 verschiedenen Ecken u1 , u2 , . . . , un+1 und n Kanten {ui , ui+1 } ∈ K, i = 1, 2, . . . , n. Kreis der Länge n, Folge von n verschiedenen Ecken u1 , u2, . . . , un und n verschiedenen Kanten {ui , ui+1 } ∈ K, i = 1, 2, . . . , n. Adjazente oder benachbarte Ecken u, v, Endpunkte ein und desselben Elements von K.
460
12 Graphen und Algorithmen
Inzidenz von Ecke u und Kante k, u ist Endecke von k. Inzidenz von Kante k und Kante l, Kante k und Kante l besitzen eine gemeinsame Endecke. Grad von Ecke u, d(u) = |N(u)|, Anzahl der Menge der Nachbarn N(u) von u ∈ E. ■ Isolierte Ecke: d(u) = 0. Untergraph H(E , K ) von G(E, K), wenn E ⊆ E und K ⊆ K. Induzierter Untergraph, enthält alle Kanten zwischen den Ecken in E , die auch G enthält. ▲ Wichtige Untergraphen entstehen durch Weglassen von Ecken und Kanten. ■ Bei gegebenem G(E, K) ist G \ A, A ⊆ E, der Graph, der aus G entsteht, indem A und alle mit dieser Ecke inzidenten Kanten weggelassen werden. Komponenten von G(E, K), die auf den Äquivalenzklassen von K induzierten Untergraphen. Brücke, Kante eines Graphen, die bei ihrer Entfernung die Komponenten des Graphen erhöht. Abstand d(u,v) zweier Ecken u und v, d(u,v), Länge des kürzesten Weges von u nach v. ▲ Gehören u und v verschiedenen Komponenten an, so existiert ein solcher Weg nicht; man setzt d(u,v) = ∞. Durchmesser von G(E, K): D(G) = maxu,v∈E d(u,v). Gerichteter Graph, Digraph, orientierter Graph G(E, K), Graph, bestehend aus Eckenmenge E, Kantenmenge K ⊆ E 2 von geordneten Paaren (gerichtete, orientierte Kanten); in k = (u,v) ist c die Anfangsund v die Endecke von k. ▲ Jede gerichtete Kante kommt höchstens einmal vor; u = v. G können beide gerichtete Kanten (u,v) und (v,u) auftreten. ▲ In Zusammenhängender Graph, für zwei voneinander verschiedene Ecken existiert mindestens einer der Wege zwischen den beiden Ecken. Stark zusammenhängender Graph, von jeder Ecke u gibt es zu jeder anderen Ecke v einen gerichteten Weg. Gerichteter Weg, gerichteter Kreis, Weg bzw. Kreis, bei dem die Länge des Weges gleich der Anzahl der gerichteten Kanten ist. Azyklischer Graph, Graph, der keinen gerichteten Kreis enthält. ■ Transportpläne, wonach möglichst zweckmäßig von Erzeugern zu Verbrauchern transportiert werden soll. ● Ordnung n und Größe q des Graphen G(E, K) sind durch n = |E| und q = |K| bestimmt, wobei |E| die Mächtigkeit von E und |K| die Mächtigkeit von K ausdrückt. (Bei Beschränkung auf endliche Mengen E und K sind n und q jeweils die Anzahlen ihrer Elemente.) ● Zusammenhang der Grade von Ecken d(u) und Kanten K eines Graphen G(E, K) :
∑ d(u) = 2|K|.
u∈E
▲ Jeder Graph hat eine gerade Anzahl von Ecken mit ungeradem Grad.
12.1 Graphen
12.1.2
461
Darstellung von Graphen
Bildliche Darstellung, anschaulich durch Ecken und Kanten, jedoch für Erfassung durch Computer ungeeignet; dafür Matrizendarstellung bei durchnummerierten Ecken u1 , u2, . . . , un und Kanten k1 , k2, . . . , kq . Adjazenzmatrix A, n × n-Matrix 1 für {ui ,u j } ∈ K A = (ai j ), ai j = 0 sonst ▲ A ist eine symmetrische Matrix mit aii = 0 sowie Zeilen- und Spaltensummen, die mit den Graden übereinstimmen. ■
4
u2
u3 6
1 u1
3
u4
5 8 9
2 u5
7 u6
10
i 1 2 3 A= 4 5 6
j
1
2
3
4
5
6
0 1 0 0 0 1
0 0 0 0 1 0
0 1 0 0 1 0
0 0 1 0 0 1
1 0 0 0 0 1
0 0 0 0 1 0
Adjazenzmatrix zu nebenstehenden Graphen Inzidenzmatrix B, n × q-Matrix B = (bi j ), 1, falls von ui Kante k j ausgeht bi j = −1, falls in ui Kante k j endet 0 sonst. ▲ Die Spalten von B entsprechen den Kanten, die Zeilen von B entsprechen den Ecken des Graphen; in jeder Spalte stehen genau ein Element +1, ein Element −1 und sonst die Elemente 0. In jeder Zeile gibt die Anzahl der Elemente +1 an, wie viele Kanten von der jeweiligen Ecke wegführen. Die Anzahl der Elemente −1 gibt an, wie viele Kanten in der jeweiligen Ecke münden.
12.1.3
Bäume
Baum, zusammenhängender Graph, der keine Kreise enthält. ■ Verzweigungsnetze: Wasserleitungsnetz, Stammbaum, Telefonnetz; geeignete Datenstruktur für Suchund Sortierprobleme Aufspannender Baum, Untergraph eines Graphen G(E, K), der ein Baum der Ordnung n = |E| ist. ● Ein vollständiger Graph Kn besitzt t(n) = nn−2 aufspannende Bäume. ■ G ist ein Baum der Ordnung n = 3, t(3) = 3. 1
2
3
1
2
3
1
2
3
462
12 Graphen und Algorithmen
Breadth-First-Suche (BFS), Algorithmus zur Konstruktion eines aufspannenden Baumes für einen durch seine Adjazenzmatrix gegebenen Graphen nach Durchsuchen der Ecken (der Breite nach). Depth-First-Suche (DFS), Algorithmus zur Konstruktion eines aufspannenden Baumes für einen gegebenen Graphen nach Durchsuchen der Kanten (der Tiefe nach). Greedy Algorithmus, Algorithmus zur Konstruktion eines aufspannenden Baumes mit minimalem Gewicht für einen gewichteten Graphen (zusammenhängender Graph mit Gewichtsfunktion). ■ Streckenplan mit minimalen Gesamtkosten; Schaltplan mit Kommunikationsmöglichkeit aller Elemente untereinander und minimalen Gesamtkosten Algorithmus von Dijkstra, Algorithmus zur Konstruktion eines aufspannenden Baumes für einen gewichteten Graphen mit eindeutigem minimalem Weg von u ∈ E nach v ∈ E, wobei für die Länge des kürzesten Weges d(u,v) = l(v) für alle v gilt.
12.2
Matchings
Matching M ⊆ K für einen bipartiten Graphen G(S + T,K), Menge von paarweise nicht inzidenten Kanten. ■ Job-Zuordnungsprobleme mit S = (P1 , . . . ,Pn) als Menge von Personen, T = (J1 , . . . ,Jn ) als Menge von Jobs und Pi J j ∈ K für eine Zuordnung von Pi zu J j . Ziel: Optimale Zuordnung von Elementen S zu Elemten T unter Berücksichtigung von Gewichten auf den Kanten. Matching-Zahl m(G) von G, Anzahl von Kanten in einem maximal großen Matching. ▲ m(G) kann kleiner als |S| bzw. |T | sein. Maximum Matching M, wenn |M| = m(G) gilt. ● Für einen bipartiten Graphen G(S + T,K) ist m(G) = |S|, wenn für eine Teilmenge A von S gilt |A| ≤ |N(A)| mit N(A) = {v ∈ T | (u, v) ∈ K, u ∈ A}. (N(A) ist die Menge der Nachbarn von A.) ● Für einen bipartiten Graphen G(S + T,K) ist m(G) = |S| − maxA⊆S (|A| − |N(A)|). ■ m(G) < |M| m(G) = 4 < |M| = 5, da drei Elemente von S(u3 , u4, u5 ) nur zwei Nachbarn (v2 , v3) als Elemente von T besitzen.
u1
v1
u2
v2
u3
v3
u4
v4
u5
v5
Träger von G(S + T,K), Menge der Ecken D ⊆ S + T , wobei D jede Kante trifft (bedeckt). ▲ Für jeden Träger D und jedes Matching M bedeckt D jede Kante von M und es ist |D| ≥ |M|. ● Gleichgewichtssatz: Für einen bipartiten Graphen G(S + T,K) gilt max(|M|) = min(|D|). ▲ Es gibt Methoden zur allgemeinen Konstruktion eines Maximum Matchings und von einem Minimum Träger.
12.3 Netzwerke
12.3
Netzwerke
12.3.1
Flüsse in Netzwerken
463
Netzwerk von u nach v, gerichteter Graph G(E, K) mit Quelle u, Senke v, u = v, (u, v) ∈ K und eine Gewichtsfunktion c, der Kapazität des Graphen, die eine Bewertung der einzelnen Kanten beinhaltet (c : K → N0 ). ■ G als Straßensystem mit K = {k1 ,k2 , . . . ,km }, wobei jedem gerichteten ki ein Wert c(ki ) zugeordnet wird, der eine bestimmte Eigenschaft dieser, z. B. Durchlassfähigkeit, charakterisiert. ▲ Netzwerke ergänzen bisherige Strukturbeschreibungen von Graphen und sind Abbildungen realer Systeme durch Beschreibung von Vorgängen und Zuständen in Systemen. Zulässiger Fluss von Quelle u nach Senke v im Netzwerk G(E, K), Funktion f :K → N0 , die die Kapazität der Kanten nicht überschreitet und für die der Nettofluss, d. h. die Differenz des Ein- und Ausflusses für alle Ecken, außer u und v Null ist. Wert eines zulässigen Flusses, Nettofluss in die Senke. ▲ Den Wert eines zulässigen Flusses zu maximieren ist Hauptanliegen eines Algorithmus zu einem Maximum Fluss.
12.3.2
Euler’scher Zug und Hamilton’scher Kreis
Euler’scher Zug, Kantenfolge k1 ,k2 , . . . ,kn , wobei ki zu ki+1 inzident ist, in einem Multigraphen, in der jede Kante genau einmal enthalten ist und die an ihre Ausgangsecke zurückkehrt; sind Anfangs- und Endecke nicht identisch, dann ergibt sich ein offener Euler’scher Zug.
A=E
A
Euler’scher Zug
E
offener Euler’scher Zug
Euler’scher Graph, Graph, der einen Euler’schen Zug besitzt; zusammenhängender Multigraph G(E, K) mit einem geraden Grad der Ecken, wobei Schlingen doppelt zu zählen sind. ● In einem Graphen mit offenem Euler’schem Zug sind Anfangs- und Endpunkt Ecken mit ungeradem Grad, während alle übrigen Ecken einen geraden Grad besitzen. ■ Königsberger Brücken-Problem: Können die sieben Brücken so durchlaufen werden, dass jede Brücke nur einmal passiert wird?
A
B
D
C
464
12 Graphen und Algorithmen
Nein! Der Graph der Königsberger Brücken lässt sich weder durch einen Euler’schen Zug noch durch einen offenen Euler’schen Zug zeichnen.
A
C
B
D
▲ Neben den bisher zugrunde gelegten Kantenfolgen in einem Graphen sind auch die sich nicht überkreuzenden Kantenfolgen, Kreise, von Bedeutung. Hamilton’scher Kreis, geschlossene Kantenfolge in einem Graphen, die alle Ecken genau einmal enthält. Hamilton’scher Graph, Graph, der einem Hamilton’schen Kreis besitzt.
Graph mit (links) und ohne (rechts) Hamilton’schen Kreis ● Satz von Dirac (hinreichende Bedingung): Besitzen in einem Graphen G(E, K) alle Ecken einem Grad größer gleich k, k ∈ N\{1} und ist |E| ≤ 2k, so besitzt G einen Hamilton’schen Kreis.
13
Netzplanmodelle
13.1
Überblick über die Netzplantechnik
Die Netzplantechnik dient zur Planung und Abwicklung von Projekten sowie für die Darstellung von Produktionsabläufen mit vielfältigen technologisch, kapazitäts- und kostenmäßig bedingten Abhängigkeiten. Die Projekte werden in einzelnen Vorgänge und Ereignisse zerlegt, deren Abhängigkeiten untereinander ermittelt und grafisch dargestellt werden können. Die grafische Darstellung heißt NETZPLAN. Vorgang, ein „zeitforderndes Geschehen mit definiertem Anfang und Ende“. ■ • Entwicklung eines Softwaresystems • Installation einer Maschine • Montage eines Antriebsaggregates etc. Ereignis, das „Eintreten eines definierten Zustandes im Ablauf“. ■ • Beginn der Entwicklungsarbeiten • Maschinenanlage installiert • Montage abgeschlossen etc. Bei der Darstellung von Vorgängen und Ereignissen können verschiedene Netzpläne gewählt werden. Darstellung Knoten Pfeil Projekt Vorgang Vorgangsknoten Netzplan Vorgangspfeil Netzplan Ereignis Ereignisknoten Netzplan = Die theoretisch möglichen Ereignispfeil-Netzpläne werden wegen widersprüchlicher Zuordnung praktisch nicht angewendet.
13.2
Critical Path Method (CPM)
CPM-Netzplan (Critical Path Method), Ereignisse werden im Sinne von Beginn- oder Endzeitpunkt eines Vorganges als Knoten dargestellt, Vorgänge als Pfeile. Man unterscheidet Vorgang – Anordnungsbeziehung zwischen Anfangs- und Endereignis desselben Vorgangs. Scheinvorgang – Anordnungsbeziehung zwischen bestimmten Zeitpunkten verschiedener Vorgänge. Definition: Ein Netzplan ist ein Graph mit den speziellen Eigenschaften: 1. es gibt genau einen Anfangsknoten, 2. es gibt genau einen Endknoten, 3. es gibt keine Doppelpfeile, 4. es gibt keine Gegenpfeile, 5. es gibt keine Zyklen. ● Die Vorgänge werden durch Pfeile, die Ereignisse durch Knoten und die Vorgangsdauern durch Pfeilbewertungen dargestellt.
466
13 Netzplanmodelle
Ereignis i kann erst eintreten, wenn die Vorgänge a und b abgeschlossen sind.
a
i
b
Die Vorgänge c und d können erst dann beginnen, wenn das Ereignis i eingetreten ist, bzw. wenn die Vorgänge a und b abgeschlossen sind. Für den Fall, dass z. B. der Vorgang c erst dann beginnen kann, wenn die Vorgänge a und b abgeschlossen sind, der Beginn des Vorgangs d aber nur erfordert, dass der Vorgang b abgeschlossen ist, wird ein so genannter Scheinvorgang eingeführt, der durch den gestrichelten Pfeil dargestellt ist: Scheinvorgänge verbrauchen keine Zeit und keine produktiven Faktoren. Sie haben die Aufgabe, die Eindeutigkeit der Darstellung von Ablaufstrukturen sicherzustellen.
a
c
i
b
a
b
d
i
j
c
d
▲ Auch wenn zwei Vorgänge gemeinsame Anfangs- und Endereignisse haben, wird zur Sicherstellung der Eindeutigkeit ein Scheinvorgang zur Darstellung benötigt.
13.2.1
Di j FZi
Darstellung im CPM-Netzplan
– Dauer der Tätigkeit – frühester Termin von Ereignis i, wenn alle vorangehenden Tätigkeiten frühestmöglich beginnen. FAZi j (SAZi j ) – frühestmöglicher (spätesterlaubter) Anfang des Vorgangs (i, j) FEZi j (SEZi j ) – frühestmögliches (spätesterlaubtes) Ende des Vorgangs (i, j) SZ j – spätesterlaubter Termin von j derart, dass bei frühestmöglichem Beginn aller folgenden Tätigkeiten der Endtermin des Projektes noch eingehalten werden kann
Zur Berechnung der FZi beginne beim Startereignis mit FZ0 = 0, zur Berechnung der SZ j beginne bei Endereignis SZE = FZE = Länge eines kritischen Weges. FZi = maxk (FZk + Dki ) SZ j = minl (SZl − Di j ) FAZi j = FZi FEZi j = FAZi j + Di j SAZi j = SEZi j − Di j k sind Vorgängerknoten zu i l sind Nachfolgeknoten zu j
Kritischer Pfad (critical path), vom Anfangs- zum Endknoten, eine Folge von Knoten, zwischen denen nur Pfeile mit einem GPi j gleich Null liegen. Die entsprechenden Ereignisse haben Pj = 0. Daher bestimmt dieser Weg die Länge des Projektes bei planmäßigem Verlauf.
13.2.2
Hinweis zur Ermittlung der Pufferzeit
Pufferzeit Vorläufer Nachläufer GPi j früheste Lage späteste Lage FPi j früheste Lage früheste Lage FRPi j späteste Lage späteste Lage UPi j späteste Lage früheste Lage GPi j = Gesamtpuffer = maximale Zeitspanne, um die der Beginn des Vorganges [vi ,v j ] verschoben werden kann, ohne den Endtermin des Projekts zu gefährden; = Zeitreserve, die sich ergibt, wenn alle vorhergehenden Vorgänge frühestmöglich und alle folgenden Vorgänge spätesterlaubt starten.
468
13 Netzplanmodelle
■ Die Projektdauer ist schrittweise von der Normaldauer zur kürzest möglichen Projektdauer zu verkürzen, wobei der Kostenzuwachs aller Vorgänge aber möglichst klein bleiben soll. Hier finden sich für jeden Vorgang Angaben zu den Normal- und Minimaldauern sowie den zugehörigen Kosten (folgendes Beispiel ist entnommen aus Thumb, Norbert: Grundlagen und Praxis der Netzplantechnik, 3. Auflage, München 1975, S. 100, 101, 104, 114) Vorgang Normal- MinimalKosten bei Mittlere Beschleudauer dauer nigungskosten i j NDi− j MINDi− j Normaldauer Minimaldauer MBKi− j NDKi− j MINDKi− j 1 2 14 8 6200 8600 400 1 3 6 5 2200 2400 200 1 4 8 5 1750 2800 350 2 5 0 0 0 0 0 2 6 24 14 6000 7500 150 2 7 16 12 3200 4000 200 3 5 4 4 1000 1000 0 4 8 6 4 900 1500 300 5 7 3 2 1160 1340 180 5 8 18 15 5000 5600 200 6 9 6 5 2500 3000 500 7 8 6 6 1800 1800 0 7 9 14 8 3000 4500 250 8 9 10 6 4200 5800 400 Die für die Kürzung der Projektdauer wichtigen Kennzahlen werden in den Netzplan übertragen:
13.2 Critical Path Method (CPM)
469
Die normale Projektdauer von λ = 46 ZE ist durch den kritischen Weg bestimmt, d. h. durch die Dauer der auf ihm liegenden Vorgänge. Die Verkürzung der Projektdauer um eine ZE kann somit nur durch Beschleunigung eines verkürzbaren kritischen Vorgangs erfolgen. Hierbei ist der Vorgang mit den geringsten Beschleunigungskosten zu wählen. In einem ersten Schritt lässt sich die Projektdauer, durch Beschleunigung des „billigsten“ Vorgangs (2–7) um 2 ZE, auf λ = 44 ZE verkürzen. In der folgenden Abbildung ist der Netzplan „b“ nach der Kürzung aufgeführt.
Das Bild zeigt, dass nunmehr ein zweiter kritischer Weg 2–6–9 entstanden ist. Nach jedem Verkürzungsschritt ist die Neuberechnung der Zeitverhältnisse und die Ermittlung der zugehörigen Kosten sowie die Kontrolle erforderlich, ob weitere kritische Wege entstanden sind. Bei einer weiteren Kürzung der Projektdauer sind alle kritischen Wegabschnitte (Äste), die gleichzeitig gekürzt werden müssen, zu berücksichtigen und jeweils die geringsten mittleren Beschleunigungskosten (MBK) zu ermitteln. Gekürzt werden die Abschnitte der kritischen Wege, die zur Gruppe mit den minimalen MBK gehören. Durch schrittweise Verkürzung der Projektdauer von λ = 46 ZE auf die minimale Projektdauer λ = 32 ZE ermittelt man den in Tabelle 7 aufgeführten Anstieg der Beschleunigungskosten. Zusätzlich werden Ausfallkosten in Höhe von 700 GE/ZE berücksichtigt, sodass sich die totalen Projektkosten in Abhängigkeit von der Projektdauer aus Beschleunigungskosten, Ausfallkosten und Projektkosten bei Normaldauer aufsummieren. Im Beispiel lassen sich die minimalen Gesamtkosten des Projekts bei Realisation des Plans „g“ erzielen.
PERT (Program Evaluation and Review Technique), stellt den Ablauf als eine Folge von Ereignissen dar, und zwar je Ereignis eine Zeile: • für das Ereignis i den frühstmöglichen Zeitpunkt FZi • für den spätesterlaubten Zeitpunkt SZi
13.3.1
Wahrscheinlichkeitsverteilung der Vorgangsdauern
Zur Schätzung der Plandauer eines Vorgangs (i,j) bei PERT werden drei Zeitschätzungen vorgenommen, die gewichtet zu einer Schätzdauer zusammengefasst werden. Als Wahrscheinlichkeitsfunktion wird die Betaverteilung f (D) = k(D − a)α (b − D)γ zugrunde gelegt, die in dem Intervall zwischen der optimistisch geschätzten Dauer ODi j = a und der pessimistisch geschätzten Dauer PDi j = b liegt und ihren Gipfel (d. h. den wahrscheinlichsten Wert, die Normaldauer) bei NDi j = m hat.
13.3 Program Evaluation and Review Technique (PERT)
471
Als zutreffendste Kurvenform und Lage für praktische Anwendungen wird die Wahl der Parameter α und γ zu (α + γ ) = 4 angesehen. Hieraus errechnet sich ein Erwartungswert für die Vorgangsdauer, d. h. eine mittlere Dauer MDi j : a + 4m + b . 6 Die Varianz berechnet sich näherungsweise zu 2 b−a 2 σ Di j = . 6 MDi j =
So wie bei CPM die Zeitwerte je Vorgang mit der Normaldauer ND berechnet werden, berechnen sich hier die frühestmöglichen und spätesterlaubten Zeitpunkte für alle Ereignisse und deren Puffer bei PERT mit den MD-Daten. FPi j = Freier Puffer maximale Zeitspanne, um die der Beginn des Vorganges [vi ,v j ] verschoben werden kann, ohne den frühestmöglichen Anfangstermin FAZ der nachfolgenden Vorgänge zu beeinflussen. FRPi j = Freier Rückwärtspuffer maximale Zeitspanne, um die der Beginn des Vorganges [vi ,v j ] verschoben werden kann, unter der Bedingung, dass alle Vorläufer zu ihrem spätestmöglichen Endtermin SEZ aufhören. UPi j = Unabhängiger Puffer maximale Zeitspanne, um die der Beginn des Vorganges [vi ,v j ] verschoben werden kann, unter der Bedingung, dass alle Vorläufer zu ihrem spätestmöglichen Endtermin aufhören und alle Nachläufer zu ihrem frühestmöglichen Anfangstermin beginnen. ⇒ Selbst im ungünstigsten Fall steht diese Pufferzeit zur Verfügung.
13.3.2
Wahrscheinlichkeit der Einhaltung von Projektendterminen
Der Erwartungswert der Projektdauer summiert sich aus den mittleren Dauern der auf dem kritischen Weg liegenden Vorgängen. Für diese Projektdauer wird aufgrund des zentralen Grenzwertsatzes Normalverteilung unterstellt. Die Wahrscheinlichkeiten kann man der (0,1)-normierten Tabelle der Standardform der Gauß’schen Verteilung entnehmen. Die Fläche F gibt die Wahrscheinlichkeit W , mit der ein nächster Fall im Intervall [−∞, u] erwartet werden kann. Die Werte für u berechnen sich aus den Abweichungen x − µ Projekt σ Projekt
So wird z. B. der erwartete Projektendtermin mit 50 % W K eingehalten, da x − µ = 0 ⇒ u = 0 ⇒ F = 0.5 ist.
472
13 Netzplanmodelle
'
µ
'
13.4
Metra-Potenzial-Methode (MPM)
MPM (Metra-Potenzial-Methode), dem zugrunde liegenden Projekt wird ein Vorgangsknotennetz (MPMNetzplan) zugeordnet: Vorgang i
Vorgang j
13.5 Graphic Evaluation and Review Technique (GERT)
13.5
Graphic Evaluation and Review Technique (GERT)
13.5.1
Zweck
473
GERT, dient zur Beschreibung und Berechnung von Abläufen in Projekten, deren Abläufe bzw. Tätigkeiten nicht eindeutig determiniert sind, sondern bei bestimmten Ereignissen aufgrund a) von Projektinformationen (z. B. technischer Zustand) b) von zufälligen Bedingungen (z. B. Wetter) verschiedene Fortsetzungen des Projektes erfolgen. Dies ist in CPM, PERT oder MPM nicht möglich. Eine Konsequenz ist die Existenz von Ereignisknoten, die eine Verzweigung des Weiteren Projektablaufes ermöglichen.
13.5.2
Knotenlogik
EXKLUSIVES ODER: Jede auf den Knoten zulaufende und ausgeführte Aktivität kann die Realisation des Knotenereignisses bewirken. Ein gleichzeitiges Eintreffen von zwei oder mehr Kanten ist ausgeschlossen, sodass in einem bestimmten Zeitpunkt jeweils nur eine Kante einlaufen und das Knotenereignis auslösen kann. INKLUSIVES ODER: Jede auf den Knoten zulaufende und ausgeführte Aktivität kann zur Realisierung des Knotenereignisses führen. Ausgelöst wird das Ereignis durch die zuerst eintreffende Kante, d. h. dieser Knotentyp ist ein Minimumoperator. UND: Das Knotenereignis trifft erst dann ein, wenn alle Aktivitäten, die durch die einlaufenden Kanten repräsentiert werden, ausgeführt sind (Maximumoperator). DETERMINISTISCH: Alle von einem Knoten wegführende Aktivitäten müssen ausgeführt werden, nachdem das Knotenereigniss eingetreten ist, d. h. jede der Aktivitäten besitzt einen Wahrscheinlichkeitsparameter von p = 1. STOCHASTISCH: Nachdem ein Knotenereignis eingetreten ist, wird nur eine der wegführenden Aktivitäten ausgeführt, und zwar mit einer vorgegebenen Wahrscheinlichkeit.
474
13 Netzplanmodelle
13.5.3
Struktur von GERT-Netzplänen
13.5.4
Beispiel für einen GERT-Netzplan
1 −→ 2 Produktion Werkstück und 1. Test 2 −→ 3 ff Weiterverarbeitung, Werkstück gut 2 −→ 6 Weiterverarbeitung, Werkstück schlecht 6 −→ 7 Test 7 −→ 8 Werkstück o.k. 7 −→ 6 Werkstück wird überarbeitet 7 −→ 10 Werkstück endgültig Ausschuss
Prämisse 1 – Die einzelnen Vorgänge des einem GERT-Netzlan zugrunde liegenden Projektes seien sämtlich voneinander unabhängig. Prämisse 2 – Ein GERT-Netzplan besitzt genau eine Quelle. Prämisse 3 – Ein GERT-Netzplan besitze mindestens eine Senke, von jedem Knoten aus sei mindestens eine Senke erreichbar. Prämisse 4 – Bevor ein Vorgang abgeschlossen ist, darf – unabhängig von der Wahl der Vorgangsdauern – nicht erneut mit seiner Ausführung begonnen werden. Prüfregel: – Wege, die sich in einem stochastischen Knoten trennen, treffen sich danach erstmalig in einem EXKLUSIVE-ODER-Knoten.
▲ Folgende Konstellation ist nicht zulässig (durch deterministischen Ausgang wird Ereignis immer wieder ausgelöst):
Prämisse 5 – Bei jeder Ausführung des einem GERT-Netzplan zugrunde liegenden Projektes muss mindestens ein Zielereignis eintreten. Auch wenn jeweils ein INKLUSIVE-ODER-Knoten durch einen UND-Knoten ersetzt wird, muss die Möglichkeit bestehen, von der Quelle aus über diesen Knoten zu einer Senke zu gelangen. Prüfregel: – Wege, die sich in einem deterministischen Knoten trennen, treffen sich danach erstmalig in einem UND- oder INKLUSIVE-ODER-Knoten.
Nicht zulässig, da Doppelpfeil, stochastischer Ausgang/UND-Eingang → Ereignis tritt nie ein. Prämisse 6 – Bei der Ausführung des Projektes trete höchstens ein Zielereignis ein. Prüfregel: – Wege trenne sich zuletzt in einem stochastichen Knoten. Für Zyklen gilt: Prämisse 7 – Jeder Eingangsknoten eines Zyklus sei ein EXKLUSIVE-ODER-Knoten.
13.6
Stochastische Exklusive-Oder-Netzpläne (STEO)
GERT-Netzpläne mit ausschließlich stochastischen EXKLUSIVE-ODER-Knoten heißen STEO-Netzpläne.
pi j := Prob(i → j/i) Wahrscheinlichkeit, dass der Vorgang i → j realisiert wird, unter der Vorraussetzung, dass der Knoten i (Ereignis i) aktiviert wurde. di j := Dauer des Vorgangs i → j, deterministisch Prämisse 8 – Jeder Ausgangsknoten eines Zyklus sei ein stochastischer Knoten.
476
13 Netzplanmodelle
Zulässiger Zyklus
Unzulässiger Zyklus ▲ Die Prüfregeln wirken einschränkender als die Prämissen, eignen sich aber in fast allen Fällen, Ausnahme:
14
Arithmetik und Numerik
14.1
Mengen
Menge, die Zusammenfassung bestimmter wohlunterscheidbarer Objekte (Elemente der Menge) zu einem Ganzen. Mengen werden mit großen Buchstaben, z. B. X, Elemente der Menge mit kleinen Buchstaben, z. B. p, x gekennzeichnet. Man schreibt p ∈ X, wenn p Element von X ist und p ∈ X, wenn p nicht Element der Menge X ist.
14.1.1
Darstellung von Mengen
Aufzählung ihrer Elemente, ■ X = {1, 2, 3, 4}. Charakterisierung durch eine definierende Eigenschaft E der Elemente p, man schreibt X = {p| p genügt der Eigenschaft E}. ■ Die Menge aller in Deutschland lebenden Menschen, {Mensch | Mensch lebt in Deutschland }, die Menge der reellen Zahlen, R = {z | z ist reell}. Venn-Diagramm, Grafik, bei der eine Menge in der Ebene symbolisch durch eine Punktmenge – berandet von einer geschlossenen Kurve – dargestellt wird. ●
7 12
1
▲
■
▼
❚ ◗
9
◆ ● ■
Venn-Diagramme Leere Menge 0/ = { }. ▲ Die leere Menge enthält kein Element, auch nicht die Null! {0} = 0/ ,
{0} = { }.
Gleichheit von Mengen: Man nennt zwei Mengen X und Y gleich, wenn jedes Element aus X auch Element von Y und jedes Element aus Y Element auch von X ist. Schreibweise: X = Y . Mächtigkeit von Mengen: Man nennt zwei Mengen X und Y gleichmächtig, wenn es eine eineindeutige Abbildung der Elemente aus X auf die Elemente aus Y gibt, d. h. wenn jedem Element aus X genau ein Element aus Y zugeordnet werden kann (siehe auch unter Begriff Abbildung). ▲ Endliche Mengen sind gleichmächtig, wenn sie die gleiche Anzahl von Elementen besitzen. ■ Alle 20elementigen Mengen sind gleichmächtig. Die Menge der natürlichen Zahlen und die Menge der rationalen Zahlen sind gleichmächtig. Teilmenge oder Untermenge: Eine Menge Y ist enthalten in einer anderen Menge X (Y ist eine echte Teilmenge von X, Schreibweise: Y ⊂ X oder X ⊃ Y ), wenn jedes Element x ∈ Y auch Element von X ist und X und Y nicht identisch sind.
478
14 Arithmetik und Numerik
■ {1, 4} ⊂ {1, 2, 3, 4}. Die Menge der Zweifamilienhäuser ist Teilmenge der Menge aller Gebäude. ▲ X ⊂ Y und Y ⊂ X =⇒ X = Y . X ist unechte Teilmenge von Y (und umgekehrt). ▲ Nach DIN 5473 ist ⊆ das Zeichen für Enthaltensein und ⊆ das Zeichen für echtes Enthaltensein. Obermenge, ist X Teilmenge von Y , so ist umgekehrt Y Obermenge von X. Reflexivität: X ⊂ X. Transitivität: X ⊂ Y und Y ⊂ Z =⇒ X ⊂ Z. ● Stets gilt: 0/ ⊂ X.
14.1.2
Mengenoperationen
● Zwei Mengen X und Y sind genau dann gleich, wenn sie genau die gleichen Elemente enthalten. ■ {1, 4} = {4, 1}, die Anordnung der Elemente ist beliebig. {1, 4} = {4, 1, 1}, 1 und 1 sind nicht wohlunterscheidbar, beide repräsentieren das gleiche Element. Vereinigungsmenge, Z = X ∪ Y enthält alle Elemente, die zur Menge X oder zur Menge Y gehören. ■ {1, 2} ∪ {1, 3, 4} = {1, 2, 3, 4}. ● Stets gilt: X ∪ 0/ = 0/ ∪ X = X. Schnittmenge oder Durchschnitt, Z = X ∩Y enthält alle Elemente, die sowohl in X als auch in Y enthalten sind. ■ {1, 2, 4} ∩ {2, 3, 5} = {2}. ● Stets gilt: X ∩ 0/ = 0/ ∩ X = 0/ . ▲ Merkregel für Verknüpfungszeichen: Schnittbildung (und) ist unten offen (∩); Vereinigung (oder) ist oben offen (∪). Disjunkte Mengen: X und Y heißen disjunkt, wenn sie kein gemeinsames Element besitzen. Dies ist / äquivalent mit der Aussage X ∩ Y = 0. ■ {1, 3, 4} und {2, 5, 7} sind disjunkt. Komplementärmenge oder Komplement: Betrachtet man nur Teilmengen einer festen Menge X, so ist das Komplement (bezüglich der Menge X) AC einer Teilmenge A ⊂ X definiert als diejenige Menge, die alle Elemente aus X enthält, die nicht Element von A sind. ■ X = {1, 2, 3, 4, 5, 6}, A = {1, 2, 3}, Komplement von A bezüglich X. AC = {4, 5, 6}, ● Ist X die zugrunde liegende Menge, so gilt stets: / 0/ C XC = 0, = X, (AC )C = A, / AC ∪ A = X. AC ∩ A = 0, ¯ ▲ Schreibweisen: AC oder X − A oder A.
14.1 Mengen
479
Differenzmenge X \ Y , sprich X ohne Y , enthält diejenigen Elemente von X, die nicht zu Y gehören: X \ Y = {x|x ∈ X und x ∈ Y }. ■ {1, 2, 3, 4, 5} \ {1, 2, 4, 6, 7} = {3, 5}. ▲ Die Differenzmenge X \ Y ist klar zu unterscheiden von der Komplementärmenge Y C , da bei der Differenzbildung X \ Y die Menge Y nicht Teilmenge von X zu sein braucht. Symmetrische Differenz oder Diskrepanz X∆Y , alle Elemente, die in X oder Y , nicht aber in X und Y enthalten sind. X∆Y = (X \ Y ) ∪ (Y \ X) = (X ∪ Y ) \ (X ∩ Y ) = (X ∪ Y ) \ (Y ∩ X). ■ {1, 2, 3, 4, 5}∆{3, 4, 5, 6, 7} = {1, 2, 6, 7}. Produktmenge X × Y , Menge aller geordneten Paare (x,y), wobei x ∈ X und y ∈ Y . Die Produktmenge wird auch als kartesisches Produkt der Mengen X und Y bezeichnet. ■ X = {1,2}, Y = {5,6},
X × Y = {(1, 5), (1, 6), (2, 5), (2, 6)}.
▲ Bei geordneten Paaren kommt es auf die Reihenfolge an; i. Allg. ist (x, y) = (y, x). Potenzmenge POT X einer Menge X ist die Menge aller Teilmengen dieser Menge. ■ POT {1, 2} = {{ }, {1}, {2}, {1, 2}}. ▲ Die leere Menge und die Menge selbst gehören zur Potenzmenge! X
Y
X
X
Schnitt X ∩ Y
Vereinigung X ∪ Y
X
Y
Y
Symmetrische Differenz X ∆ Y
Y
x Differenz X \ Y
Komplement X
C
Mengenoperationen werden in CAD-Systemen angewendet. Verknüpfungen von Grundvolumina durch Vereinigung, Durchschnitt und Differenz erzeugen in dreidimensionalen CAD-Systemen komplexe Verknüpfungskörper. ■ Mengenverknüpfung dreier Körper: VV = (V1 ∪ V2 ) \ V3 .
⊃
V1
⇒
\ V2
V3
VV
▲ Vertauschung der Verknüpfungsreihenfolge führt i. Allg. zu anderen Ergebnissen, z. B.: (V1 \ V3 ) ∪ V2 = V1 ∪ V2 ist der Profilkörper ohne Bohrung. Im Zusammenhang mit CAD spricht man auch von Boole’schen Operationen.
480
14 Arithmetik und Numerik
14.1.3
Gesetze der Mengenalgebra
Kommutativgesetze oder auch Vertauschungsgesetze: X ∩Y = Y ∩X ,
X ∪ Y = Y ∪ X.
Assoziativgesetze oder auch Zusammenfassungsgesetze: X ∩ Y ∩ Z = (X ∩ Y ) ∩ Z = X ∩ (Y ∩ Z), X ∪ Y ∪ Z = (X ∪ Y ) ∪ Z = X ∪ (Y ∪ Z). ● Vereinigung und Schnittbildung sind kommutativ und assoziativ. ▲ Für die Differenzmengenbildung sind das Kommutativ-, das Assoziativ- und das Distributivgesetz nicht gültig, z. B. folgt für die Vertauschung: ■ {1,2,3} \ {1,2} = {3}, aber {1,2} \ {1,2,3} = { } = {3}. Distributivgesetze oder auch Verteilungsgesetze: X ∩ (Y ∪ Z) = (X ∩ Y ) ∪ (X ∩ Z), X ∪ (Y ∩ Z) = (X ∪ Y ) ∩ (X ∪ Z). Idempotenzgesetze: X ∩X =X ,
X ∪ X = X.
Absorptionsgesetze: X ∪ (X ∩ Y ) = X ,
X ∩ (X ∪ Y ) = X.
Gesetze von de Morgan: (X ∩ Y )C = X C ∪ Y C ,
14.2
(X ∪ Y )C = X C ∩ Y C .
Zahlensysteme
Zahlensystem (Positionssystem), eine natürliche Zahl B und eine Menge von B Symbolen. B ist die Basis; die Symbole sind die Ziffern des Positionssystems. ● Darstellung einer Zahl z im Zahlensystem zur Basis B n
z(B) =
∑
zi Bi , B ∈ N, B ≥ 2
i=−m
14.2.1
Dekadisches Zahlensystem
Dezimalsystem, Basis B = 10 und Ziffern 0, 1, 2, 3, 4, 5, 6, 7, 8 und 9. ● Jede natürliche Zahl ist als Kombination dieser Symbole darstellbar. ■ 1456 = 1 · 1000 + 4 · 100 + 5 · 10 + 6 · 1 = 1 · 103 + 4 · 102 + 5 · 101 + 6 · 100 = 1 · B3 + 4 · B2 + 5 · B1 + 6 · B0 ; d. h. jeweils zehn Einheiten sind zu einer größeren Einheit zusammengefasst:
14.2 Zahlensysteme
481
10 Einer (100 ) = 1 Zehner (101 ) 10 Zehner (101 ) = 1 Hunderter (102 ) = 1 Tausender (103 ) 10 Hunderter (102 ) 10 Tausender (103 ) = 1 Zehntausender (104 ) 1000 Tausender (103 ) = 1 Million (106 ) 1000 Millionen (106 ) = 1 Milliarde (109 ) 1000 Milliarden (109 ) = 1 Billion (1012 ) 1000 Billionen (1012 ) = 1 Billiarde (1015 ) 1000 Billiarden (1015 ) = 1 Trillion (1018 ) ▲ Vorsicht: In der englischsprachigen Literatur steht „billion“ für die deutsche Milliarde, also für 109 , „trillion“ hingegen steht für die deutsche Billion, also für 1012 . Die Einheit Einer, also die Eins lässt sich feiner unterteilen 1 1 Einer (100 ) = 10 Zehntel (10−1 = ) 10 1 −1 −2 1 Zehntel (10 ) = 10 Hundertstel (10 = ) 100 1 1 Hundertstel (10−2 ) = 10 Tausendstel (10−3 = ) 1000 1 1 Tausendstel (10−3 ) = 10 Zehntausendstel (10−4 = ) usw. 10000 ● Alle reellen Zahlen sind in diesem System darstellbar, u. U. nur als unendliche Summen. 1 1 +4· = 1 · B1 + 2 · B0 + 9 · B−1 + 4 · B−2 . ■ 12,94 = 1 · 10 + 2 · 1 + 9 · 10 100 Die Schreibweise auf der linken Seite heißt Dezimalbruch oder Kommazahl, wobei die Ziffern zu negativen Basisexponenten rechts vom Komma stehen. ▲ In englischsprachiger Literatur hat der Punkt die Bedeutung des Kommas; das Komma hingegen dient zur Unterteilung in Dreierblöcke. ■ 12,343.09 englische (amerikanische) Schreibweise für 12 343,09. Für einige Zehnerpotenzen gibt es spezielle Namen, wenn sie im Zusammenhang mit Maßen gebraucht werden: Wert
Name
Abkürzung
Wert
Name
Abkürzung
101 102 103 106 109 1012 1015 1018 1021 1024
Deka Hekto Kilo Mega Giga Tera Peta Exa Zetta Yotta
Dezi Centi Milli Mikro Nano Piko Femto Atto Zepto Yocto
d c m µ
n p f a z y
1 ■ 1 mm ist ein Millimeter, d. h. Meter, oder 1 hl = 1 Hektoliter = 100 l = 100 Liter. 1 MW ist ein 1000 Megawatt, d. h. eine Million Watt.
482
14 Arithmetik und Numerik
14.2.2
Weitere Zahlensysteme
● Ein wichtiges System ist das duale Zahlensystem (auch binäres Zahlensysstem). Darauf basiert die Speicherung in elektronischen Rechenmaschinen, bei denen lediglich zwei Zustände möglich sind. Basis ist 2, als Symbole werden 0 und 1 (manchmal auch H für High und L für Low) verwandt. dezimal binär oktal hexadez. 0 0 0 0 1 1 1 1 2 10 2 2 3 11 3 3 4 100 4 4 5 101 5 5 6 110 6 6 7 111 7 7 8 1000 10 8 9 1001 11 9
dezimal 10 11 12 13 14 15 16 17 18 19
binär oktal hexadez. 1010 12 A 1011 13 B 1100 14 C 1101 15 D 1110 16 E 1111 17 F 10000 20 10 10001 21 11 10010 22 12 10011 23 13
■ 19(10) = 1·24 + 0·23 + 0·22 + 1·21 + 1·20 ≡ 10011(2) in dieser Notation. ▲ 2 als natürliche Basis der Rechnerarithmetik ist zu unhandlich, um größere Zahlen darstellen zu können. Für das hexadezimale Zahlensystem werden jeweils vier Positionen des Dualsystems zusammengefasst, sodass die Basis des Hexadezimalsystems 16 ist. Demzufolge benötigt man 16 Symbole zur Repräsentation der Ziffern: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E und F. ■ 5AE(16) = 5 · 162 + 10 · 161 + 14 · 160 = 5 · 256 + 10 · 16 + 14 · 1 = 1454(10) . ▲ Zur Unterscheidung von Dezimalzahlen wird den Hexadezimalzahlen oft ein Dollarzeichen vorangesetzt, etwa $12 entspricht 18 in dezimaler Schreibweise. Oktales Zahlensystem, lediglich 3 Stellen des Dualsystems werden zu einer Stelle zusammengefasst. Basis ist 8, Ziffern sind 0,1,2,3,4,5,6 und 7.
14.2.3
Darstellung in Rechnern
Bit, eine Binärstelle im Computer/Taschenrechner, kennt nur zwei Zustände 0 und 1 (technisch: Höhe der anliegenden elektrischen Spannung). Byte, Zusammenfassung von 8 Bit zu einer größeren Einheit. Die einzelnen Bits werden meist von 0–7 nummeriert, nicht von 1–8! Binary coded decimal (BCD) Standard, jede Dezimalstelle einer Zahl wird für sich als 4-Bit-Dualzahl (Tetrade) codiert. Zur Codierung der Ziffern von 0 bis 9 werden also nur 10 Tetraden benötigt, 6 Pseudotetraden (1010, 1011, 1100, 1101, 1110, 1111) werden nicht benötigt. ■ BCD-Codierung der Zahl 179: 0001 0111 1001. IEEE-Standard, (phonet. [ai tripl i:], Institute of Electrical and Electronics Engineers), standardisierte Zahlendarstellung in Rechnern; ist in den meisten Programmiersprachen und auf vielen Computersystemen realisiert. ■ Verschiedene Datentypen in C: byte, Darstellung ganzer Zahlen: −128 . . . + 127,
14.3 Natürliche Zahlen
483
int = 2 Byte, Darstellung ganzer Zahlen: −32768 . . . + 32767, long = 4 Byte, Darstellung ganzer Zahlen: −2147483648 . . . + 2147483647, float = 4 Byte, Näherung reeller Zahlen x als Dezimalbrüche mit max. 8 Ziffern + 2 Ziffern 10er Exponent: |x| < 1,701411 · 1038 , double = 8 Byte, Näherung reller Zahlen x als Dezimalbrüche mit max. 16 Ziffern + 3 Ziffern 10er Exponent: |x| < 1,701411 · 10306 . Bei float und double gibt es auch untere Schranken für |x|, sie liegen ungefähr bei |x| > 10−38 für float und |x| > 10−306 für den Datentyp double. ▲ float und double Zahlen heißen Gleitkommazahlen oder auch Fließkommazahlen. Sie weisen 8 bzw. 16 signifikante Stellen auf.
▲ Zur Eingabe von Zehnerpotenzen ist bei Taschenrechnern meist eine Taste EE oder EXP vorgesehen. Dabei bedeutet die Tastenfolge 1 EXP 5 die Eingabe der Zahl 105 ; die Tastenfolge 1 0 EXP 5 entspricht der Eingabe der Zahl 106 .
14.2.4
Horner-Schema zur Zahlendarstellung
Horner-Schema zur Zahlendarstellung: n
z(B) =
∑
zi Bi
i=−m
= (zn + (zn−1 + . . . + (z−m+1 + z−m · B−1 ) · B−1 . . .) · B−1 ) · Bn ▲ Die zi sind die Ziffern des Zahlensystems zur Basis B, also 0, 1 im Dual- oder 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F im Hexadezimalsystem. ■ Darstellung von 234,57 im dekadischen Zahlensystem. 234,57 = (2 + (3 + (4 + (5 + 7 · 10−1) · 10−1 ) · 10−1) · 10−1 ) · 102 = 2 · 102 + 3 · 101 + 4 · 100 + 5 · 10−1 + 7 · 10−2
14.3
Natürliche Zahlen
Menge der natürlichen Zahlen: N = {0, 1, 2, 3, 4, . . . }. ▲ Nach DIN 5473 ist Null ebenfalls natürliche Zahl. Menge der natürlichen Zahlen ohne Null: N∗ = N \ {0} = {1, 2, 3, 4, . . . }. Auf dieser Menge basiert jede Art von Abzählung (Kardinalzahlen) und Ordnen (Ordinalzahlen, 1., 2., 3., . . . ). Ferner dienen sie der Indizierung (a1 , a2, . . . ). Symbolisch werden natürliche Zahlen oft mit i, j, k, l, m, n notiert. ▲ In FORTRAN sind die Buchstaben i-n standardmäßig für INTEGER-Zahlen reserviert. Speicherung natürlicher Zahlen: Große natürliche Zahlen sind auf einem Taschenrechner nicht exakt darstellbar. Der Betrag des Bundeshaushaltes 1992, ca. 420.000.000.000 a kann nicht mehr exakt gespeichert werden und ist auf einer Anlage mit acht signifikanten Stellen nicht von 420.000.000.348 zu unterscheiden. Bei PCs und Großrechnern gelten ähnliche Beschränkungen. ▲ Im Rechner gibt es immer eine größte natürliche Zahl, die keinen Nachfolger hat. ● Jede natürliche Zahl besitzt einen Nachfolger, z. B. ist 13 Nachfolger von 12.
484
14 Arithmetik und Numerik
● Genau eine natürliche Zahl, die Null, ist nicht Nachfolger einer anderen natürlichen Zahl, d. h. sie besitzt keinen Vorgänger. ▲ In PASCAL Vorgänger von n: pred(n), Nachfolger von n: succ(n). ● Verschiedene natürliche Zahlen haben verschiedene Nachfolger. ● Es gibt unendlich viele natürliche Zahlen: Die Folge der natürlichen Zahlen ist nach oben unbeschränkt. Sie sind auf einem Zahlenstrahl (einer Zahlenhalbgeraden) als isolierte, äquidistante Punkte darstellbar.
0
1
2
3
4
5
6
7
8
9
10
11 12 13
Zahlenstrahl
14.3.1
Vollständige Induktion
Gilt 1. die natürliche Zahl 0 (bzw. 1 oder eine beliebige andere natürliche Zahl n0 ) besitzt eine bestimmte Eigenschaft E und 2. wenn die natürliche Zahl n die Eigenschaft E besitzt, dann ist dies auch für ihren Nachfolger n = n + 1 richtig, dann besitzen alle Zahlen m aus N bzw. (N∗ oder m ∈ N,m ≥ n0 ) diese Eigenschaft. ■ Bernoulli’sche Ungleichung: (1 + x)n ≥ 1 + nx für x ∈ R und n ∈ N. Beweis: Die Ungleichung gilt für n = 2: (1 + x)2 = 1 + 2x + x2 > 1 + 2x. Gilt sie für n, dann gilt sie auch für n + 1, denn (1 + x)n+1 = (1 + x)n (1 + x) > (1 + nx)(1 + x) = 1 + (n + 1)x + x2 > 1 + (n + 1)x. Damit gilt die Beziehung für alle n ≥ 1.
14.3.2
Vektoren und Felder, Indizierung
n -dimensionaler Vektor, n-Tupel von Zahlen ai , indiziert von a1 bis an . Die ai heißen Komponenten des Vektors a = (a1 ,a2 , . . . ,an); häufig werden Vektoren auch als Spalten geschrieben. ▲ Das n-Tupel ist nur ein Beispiel für einen Vektor; allgemeiner Vektorbegriff siehe Kapitel über Vektoren. n × m -dimensionales Feld, n × m -Matrix oder Array, rechteckiges Schema von Zahlen aik , indiziert von a11 bis anm . n ist die Anzahl der Zeilen, m die Anzahl der Spalten einer Matrix. Die aik heißen Feldelemente (Arrayelemente) des Arrays a11 a12 · · · a1m a21 a22 · · · a2m .. .. . . .. . . . . . an1 an2 · · · anm i ist der Zeilenindex, k der Spaltenindex.
14.3 Natürliche Zahlen
485
▲ Merkregel: Zeilenindex zuerst, Spaltenindex später. Siehe auch im Kapitel über Matrizen.
14.3.3
Rechnen mit natürlichen Zahlen
▲ Die hier verwendeten Rechenoperationen werden in „Rechnen mit reellen Zahlen“ definiert. ● Addition, Multiplikation und Potenzieren von natürlichen Zahlen n und m, (n,m ∈ N) ergeben jeweils wieder eine natürliche Zahl: m + n = m
m ∈ N ;
m · n = n
n ∈ N ;
mn = m
m ∈ N.
● Die Subtraktion m − n (m,n ∈ N) (Umkehrung der Addition) hingegen führt u. U. aus N heraus, ■ 4 − 6 = −2 ∈ N. ● Die Division m : n (m,n ∈ N) (Umkehrung der Multiplikation) führt u. U. ebenfalls aus N heraus, 3 ■ 3 : 2 = = 1,5 ∈ N. 2 Lässt sich eine natürliche Zahl m ohne Rest durch eine andere natürliche Zahl n teilen, so ist n Teiler von m. m ist durch n teilbar. Gleichzeitig ist m Vielfaches von n. ■ 21 hat die Teiler 1, 3, 7, 21. ● Eins ist Teiler jeder natürlichen Zahl, jede natürliche Zahl hat sich selbst zum Teiler und jede natürliche Zahl ist Teiler von Null. Ist m Teiler von k und n Teiler von m, so ist auch n Teiler von k. ■ 3 ist Teiler von 6; 6 ist Teiler von 24, also ist auch 3 Teiler von 24. ▲ In PASCAL sind spezielle INTEGER-Divisionen möglich: n div m, n, m ∈ N gibt die größte natürliche Zahl l mit n/m ≥ l, n mod m gibt den Rest, der bei der Division n/m bleibt. In FORTRAN wird bei Division von INTEGER-Größen automatisch der Divisionsrest abgeschnitten, d. h. n/m in FORTRAN entspricht n div m in PASCAL. ■ 7 div 3 = 2 und 7 mod 3 = 1. Primzahlen P haben genau zwei verschiedene Teiler, nämlich Eins und sich selbst. Diese Teiler werden als unechte Teiler bezeichnet. Im Gegensatz dazu ist z. B. 3 echter Teiler von 15. ▲ Eins ist keine Primzahl! Liste der Primzahlen < 100: 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 Zusammengesetzte Zahlen, Zahlen, die mindestens einen echten Teiler haben. ■ 15 = 3 · 5 ist eine zusammengesetzte Zahl. ● Zusammengesetzte Zahlen sind keine Primzahlen! Primfaktorenzerlegung, eindeutige Zerlegung einer zusammengesetzten Zahl in ein Produkt aus Primzahlen.
486
14 Arithmetik und Numerik
■ Primfaktorenzerlegung von 44772: 44772 = 2 · 22386 = 2 · 2 · 11193 = 2 · 2 · 3 · 3731 = 2 · 2 · 3 · 7 · 533 = 2 · 2 · 3 · 7 · 13 · 41 44772 = 22 · 3 · 7 · 13 · 41. Teilerfremde Zahlen haben keinen gemeinsamen echten Teiler (keinen gemeinsamen Primfaktor). ■ 45 = 3 · 3 · 5 und 26 = 2 · 13 sind teilerfremd. Teilbarkeitsregeln Eine Zahl ist genau dann durch . . . teilbar, wenn ● 2: ihre letzte Ziffer durch 2 teilbar ist. ■ 38394 ist durch 2 teilbar, weil 4 durch 2 teilbar ist. ● 3: ihre Quersumme (die Summe aller Ziffern) durch 3 teilbar ist. ■ 435 ist durch 3 teilbar, weil 4+3+5 = 12 durch 3 teilbar ist. ● 4: die aus den beiden letzten Ziffern gebildete Zahl durch 4 teilbar ist. ■ 456724 ist durch 4 teilbar, weil 24 durch 4 teilbar ist. ● 5: ihre letzte Ziffer entweder eine 5 oder eine Null ist. ■ 435 und 3400 sind durch 5 teilbar. ● 6: sie durch 2 und durch 3 teilbar ist. ■ 438 ist durch 2 teilbar, weil 8 durch 2 teilbar ist, ferner ist 4+3+8 = 15 durch 3 teilbar, also ist 438 durch 6 teilbar. ● 7: Regel ziemlich kompliziert, besser explizit Division durch 7 ausprobieren. ● 8: die durch die letzten drei Ziffern gebildete Zahl durch 8 teilbar ist. ■ 342416 ist durch 8 teilbar, weil 416 durch 8 teilbar ist. ● 9: ihre Quersumme durch 9 teilbar ist. ■ 9414 ist durch 9 teilbar, weil 9+4+1+4 = 18 durch 9 teilbar ist. ● 10: ihre letzte Ziffer eine Null ist. ■ 4000 und 23412390 sind durch 10 teilbar. Größter gemeinsamer Teiler (ggT) mehrerer natürlicher Zahlen ist das Produkt der höchsten Potenzen von Primfaktoren, die allen diesen Zahlen gemeinsam sind. ■ 660 = 22 · 3 · 5 · 11 420 = 22 · 3 · 5 · 7 144 = 24 · 32 Der ggT von 660 und 420 und 144 ist also 22 · 31 = 12. ▲ Programmsequenz zur Berechnung des größten gemeinsamen Teilers zweier Zahlen a und b, a ≥ b nach dem Euklidischen Algorithmus:
14.4 Ganze Zahlen
487
BEGIN Euklid INPUT a,b Es sei a>b; falls b>a, vertausche a und b.) c:= 1 WHILE (c =0) DO c:= a MOD b a:= b b:= c ENDDO OUTPUT a END Euklid Kleinstes gemeinsames Vielfaches (kgV) mehrerer natürlicher Zahlen ist das Produkt aller jeweils höchsten Potenzen von Primfaktoren, die in mindestens einer dieser Zahlen auftauchen. ■ 588 = 22 · 3 · 72 56 = 23 · 7 2 364 = 2 · 7 · 13 Das kgV von 588 und 56 und 364 ist also 23 · 31 · 72 · 131 = 15288. ● Es gilt immer: ggT(a, b) · kgV(a, b) = ab. ▲ Diese Beziehung kann zur Berechnung des kgV zweier Zahlen nach dem Euklidischen Algorithmus herangezogen werden.
14.4
Ganze Zahlen
Erweitert man N um die Menge {n| − n ∈ N}, so erhält man die Menge der ganzen Zahlen Z = {. . . , − 3, − 2, − 1, 0, 1, 2, 3, . . . } . ● In dieser Menge ist neben der Addition und Multiplikation auch die Subtraktion uneingeschränkt ausführbar: Für alle n,m ∈ Z ist auch n − m = n ∈ Z. ▲ N ist Teilmenge von Z: N ⊂ Z. Die Division (Umkehrung der Multiplikation) ist in der Menge der ganzen Zahlen nicht immer ausführbar, d. h. das Ergebnis liegt i. Allg. nicht mehr in der Menge der ganzen Zahlen. 1 ■ 1 : (−2) = − ∈ Z. 2 ▲ In Programmiersprachen heißen ganze Zahlen INTEGER-Zahlen. Auf dem Computer gibt es eine größte INTEGER-Zahl, die von der speziellen Hard- und Software abhängt.
14.5
Rationale Zahlen (gebrochene Zahlen) '
Konstruiert man die neue Menge Q =
( k | k, m ∈ Z, m = 0 , so ist in ihr auch die Division uneingem
schränkt ausführbar. ▲ Ausnahme: Die Division durch Null ist nicht definiert. ● Q enthält die ganzen Zahlen als Teilmenge Z ⊂ Q. Jede ganze Zahl m lässt sich auch als Bruch m (Quotient) schreiben, m = ∈ Q. 1
488
14 Arithmetik und Numerik
▲ Die Darstellung einer Zahl r ∈ Q als Quotient
p ist nicht eindeutig. q
2 709 1 = = . 3 6 2127 ▲ In elektronischen Rechenmaschinen sind rationale Zahlen i. Allg. nur näherungsweise darstellbar.
■
14.5.1
Dezimalbrüche
Abbrechende Dezimalbrüche, Ziffernfolge bricht ab. Stehen rechts von einer Stelle nur noch Nullen, so können diese weggelassen werden, sofern sie hinter dem Komma stehen. ■ 1,500 = 1,5 ist ein abbrechender Dezimalbruch. 1200,00 = 1200 (die beiden Nullen vor dem Komma dürfen nicht weggelassen werden). ▲ 1,500 und 1,5 bedeuten aber unterschiedliche Genauigkeiten, nämlich 1,45≤1,5<1,55, aber 1,4995≤1,500<1,5005. Sofortperiodische Dezimalbrüche, Ziffernfolge bricht nicht ab, wiederholt sich aber ständig. ■ periodische Dezimalbrüche 1 = 0,09090909 . . . = 0,09; 11
4 ¯ = 1,3333 . . . = 1,3; 3
3 = 0,428571 7
Nichtsofortperiodische Dezimalbrüche, unregelmäßige Ziffernfolge, gefolgt von sich wiederholender Sequenz von Ziffern. 19 = 1,26666 . . . = 1,26. ■ 15 ● Alle rationalen Zahlen sind als abbrechende, sofortperiodische oder nichtsofortperiodische Dezimalbrüche darstellbar. Umrechnung: Sofortperiodischer Dezimalbruch: α 1α 2 . . . α m 0,α 1 α 2 . . . α m = . 99 . . . . 9 . . m mal die 9
Nichtsofortperiodischer Dezimalbruch: β1β2 . . . βn . . . α1α2 . . . αm − β1β2 . . . βm 0,β 1 β 2 . . . β n α 1 α 2 . . . α m = 99 . . . . 9 00 . . . . 0 . . . . m mal die 9 n mal die 0
Bezeichnung: γ 1 γ 2 . . . γ n bedeutet die Zahl mit der Ziffernfolge γ 1 bis γ n , nicht das Produkt der Zahlen γ 1 bis γ n . ■ 1,43131 . . . = 1,431 14 1 31 = + · 10 10 99 14 31 = + 10 990 14 · 99 + 31 = 990 1417 = 990
14.5 Rationale Zahlen (gebrochene Zahlen)
489
▲ 0,9¯ = 1. ▲ Im Rechner können ausschließlich abbrechende Dezimalbrüche verarbeitet werden. Alle anderen Zahlentypen werden durch abbrechende Dezimalbrüche genähert. Dabei treten Fehler durch Abschneiden oder Runden auf. ■ Taschenrechner mit 8 Stellen: 1 : 6 = 0,1666666 = 1/6 Abschneidefehler, 1 : 6 = 0,1666667 = 1/6 Rundungsfehler.
14.5.2
Brüche
Echte Brüche:
a
< 1, a,b ∈ Z, b = 0. b Unechte Brüche:
a
≥ 1, a,b ∈ Z, b = 0. b Gemischte Zahl: Summe aus einer ganzen Zahl und einem echten Bruch. 2 2 ■ 4+ =4 . 3 3 ▲ WICHTIG: 2 2 2 2 sondern 4 =4+ . 4 = 4 · , 3 3 3 3 ● Der Betrag eines Bruches ist genau dann kleiner 1, wenn der Betrag des Zählers kleiner als der des Nenners ist. |(−2/3)| < 1, da | − 2| = 2 < 3 = |3|. Kehrwert eines Bruches: Zähler und Nenner vertauschen. b a 1 ist Kehrwert von , ist Kehrwert von a. a b a Erweitern von Brüchen: Zähler und Nenner werden mit derselben Zahl oder – allgemeiner – demselben mathematischen Ausdruck multipliziert. a a·c = . b b·c 2 2·5 10 ■ = = . 3 3·5 15 ▲ Erweitern mit Null ist nicht erlaubt! Kürzen von Brüchen (Umkehrung des Erweiterns): Zähler und Nenner werden durch dieselbe Zahl oder – allgemeiner – denselben mathematischen Ausdruck dividiert: a a/c = . b b/c −8 −8/4 −2 ■ = = , 12 12/4 3 (a + b)c c = . 2 d(a + b) d(a + b) ● Beim Erweitern und Kürzen eines Bruchs ändert sich dessen Wert nicht. ▲ Diese Regel ist beim numerischen Rechnen u. U. wegen Rundungs- und Abschneidefehlern verletzt.
490
14 Arithmetik und Numerik
Wichtige Merkregel: Durch Differenzen und durch Summen kürzen nur die Dummen, a+c a = . b+c b
14.5.3
Rechnen mit Brüchen
Addition und Subtraktion: Brüche werden addiert bzw. subtrahiert, indem man sie durch Erweitern und/oder Kürzen auf einen gemeinsamen Nenner (Hauptnenner) bringt, die neuen Zähler addiert bzw. subtrahiert und den Nenner beibehält. 1 12 5 17 4 ■ + = + = . 15 9 45 45 45 Multiplikation: Brüche werden multipliziert, indem jeweils Zähler und Nenner miteinander multipliziert werden. a·c ac a c · = = . b d b·d bd 2 −1 −2 2 ■ · = =− . 3 5 15 15 Division: Brüche werden durcheinander dividiert, indem mit dem Kehrwert des Divisors multipliziert wird. a c a d ad : = · = . b d b c bc 1 2 1 3 1·3 1·1 1 ■ : = · = = = . 6 3 6 2 6·2 2·2 4 Doppelbrüche können als Division zweier Brüche aufgefasst werden: a/b a c a d ad = : = (a : b) : (c : d) = · = . c/d b d b c bc Doppelbrüche werden aufgelöst, indem man das Produkt der Außenglieder (a und d) durch das Produkt der Innenglieder (b und c) dividiert. 1/2 1·3 3 ■ = = . 2/3 2·2 4
14.6
Rechnen mit Quotienten
14.6.1
Proportion
Proportion, die Werte ai , bi von Wertepaaren (ai ,bi ) heißen zueinander proportional, wenn ai : bi = k = konstant gilt. Proportionalitätsfaktor, Proportionalitätskonstante, die Konstante k bei proportionalen Zusammenhängen. ■ 1 Liter Milch kostet 1,50 a, 2 Liter kosten 3 a. Der Preis der Milch ist proportional zur eingekauften Menge. Der Proportionalitätsfaktor ist 1,50 a/Liter. Der Umfang eines Kreises ist proportional zu dessen Radius, die Proportionalitätskonstante ist 2π . ● Liegt Proportionalität a : b = c : d vor, dann gilt mit beliebiger Konstante k = 0: 1. Proportionalitätskonstante a c = =k Proportionalitätskonstante. b d
14.7 Irrationale Zahlen
491
2. Inversion b:a=d:c
Proportionalitätskonstante ist1/k.
3. Kürzen und Erweitern ak : b = ck : d,
a : bk = c : dk,
ak : bk = c : d,
a : b = ck : dk,
a:c
c:a =
= b : d,
d : b.
4. Korrespondierende Addition und Subtraktion (a ± b) : b = (c ± d) : d,
(a ± b) : a = (c ± d) : c.
● Geometrisches Mittel s: Gilt a : s = s : b, dann ist s =
√ ab das geometrische Mittel von a und b.
● Harmonisches Mittel h: Gilt (a − h) : (h − b) = a : b, dann ist h = 2ab/(a + b) das harmonische Mittel von a und b, 2ab 1 1 1 1 h= =⇒ = + . a+b h 2 a b
14.6.2
Dreisatz
Dreisatzrechnung, auch Berechnung der vierten Proportionale, Berechnung von unbekannten Größen in proportionalen Zusammenhängen. x:b=c:d
=⇒
a:x=c:d
=⇒
a:b=x:d
=⇒
a:b=c:x
=⇒
b·c , d a·d x= , c a·d x= , b b·c x= . a x=
■ 1,5 m Seil kosten 1,20 a, wie viel Seil bekommt man für 5 a? – Die dritte Formel ist anzuwenden, a =1,5 m, b =1,20 a und d =5 a, dann ist x = (1,5 m/1,20 a) · 5 a = 6,25 m.
14.7
Irrationale Zahlen
Zahlen, die nicht als Bruch darstellbar √ sind, heißen irrationale Zahlen I. Man findet z. B. keine Zahl r ∈ Q 2 mit r · r = r = 2. Die Lösung r = 2 ∈ / Q. √ ■ 2, π , ln 7, e, . . . ∈ I. ▲ Irrationale Zahlen sind im Rechner nicht darstellbar, sie werden durch endliche Dezimalbrüche genähert. √ ■ 2 lässt sich zwar mit beliebiger Genauigkeit berechnen, die Resultate jeder Rechnung sind aber stets endliche (abbrechende) Dezimalbrüche.
492
14 Arithmetik und Numerik
14.8
Reelle Zahlen
Die Menge R der reellen Zahlen ist die Vereinigungsmenge der rationalen und irrationalen Zahlen R = Q ∪ I. Alle Zahlen x ∈ R sind als (evtl. unendliche) Dezimalbrüche darstellbar. ● Neben der Addition, der Multiplikation und der Subtraktion ist in R auch die Division (Ausnahme Division durch Null) uneingeschränkt ausführbar. ▲ Die Gleichung x2 + 1 = 0 hat auch in R keine Lösung. Daher wird der Bereich der reellen Zahlen nochmals erweitert zu dem Bereich der komplexen Zahlen. ● Die Menge der reellen Zahlen R bildet zusammen mit den Verknüpfungen + und · den Körper der reellen Zahlen. ▲ In Digitalrechnern werden reelle Zahlen durch endliche Dezimalbrüche angenähert. Trotzdem wird der Datentyp oft mit REAL bezeichnet. Vorkommende Schreibweisen: 1.34, 0.134E1, 0.134D1.
14.9
Komplexe Zahlen
Um Lösungen für die Gleichung x2 + 1 = 0 angeben zu können, definiert man die imaginäre Einheit: i2 = −1 Eine komplexe Zahl z ∈ C lässt sich schreiben: algebraisch als Summe von Real– und Imaginärteil z = a + ib, wobei a und b reelle Zahlen sind, exponentiell als Exponentialfunktion z = reiϕ mit reellem Radius r und reeller Phase ϕ , Phase: ϕ ∈ (−π ,π ] (−π < ϕ ≤ +π ), polar als z = r cos ϕ + ir sin ϕ oder grafisch als Zeiger in der Gauß’schen Zahlenebene. ● Umrechnung:
r = a2 + b2 ,
b arctan , a π
2
,
b π + arctan , a 3 π , 2 arctan b + 2π , a a = r cos ϕ , b = r sin ϕ . ϕ =
falls a > 0 falls a = 0, b > 0 falls a < 0 falls a = 0, b < 0 falls a > 0, b < 0
Betrag einer komplexen Zahl z = a + ib ist definiert als √ |z| = a2 + b2 = r = z¯z ▲ Stets gilt |z| ≥ 0. Es lassen sich nur Absolutbeträge von komplexen Zahlen vergleichen. Die Schreibweise z1 > z2 ist für komplexe Zahlen nicht definiert. Konjugiert komplexe Zahl, Umdrehen des Vorzeichens des Imaginärteils. z¯ = a − ib = a + ib = re−iϕ
14.10 Rechnen mit reellen Zahlen
493
▲ andere Schreibweise: z¯ = z∗ ▲ Bei Programmiersprachen gibt es nicht immer einen speziellen Datentyp für komplexe Zahlen!
Im( z ) z 1 φ −φ
−1 −1
Re( z )
1 _ z
Gauß’sche Zahlenebene
Körper der komplexen Zahlen Die Menge C = {(a,b)| a, b ∈ R} zusammen mit der Addition (a, b) + (c, d) = (a + c, b + d) und der Multiplikation (a, b) · (c, d) = (ac − bd, ad + bc) bilden den Körper der komplexen Zahlen. ▲ Beachte die Gültigkeit der üblichen Regeln, wenn man identifiziert: (a,b) ≡ a + ib mit i · i = −1. Insbesondere ist 1 = (1,0), i = (0,1). Es gelten die Inklusionen C ⊃ R ⊃ Q ⊃ Z ⊃ N.
14.10
Rechnen mit reellen Zahlen
14.10.1
Vorzeichen und Betrag
Negative Zahlen werden durch ein vorangestelltes Vorzeichen (−) gekennzeichnet. Auf einem Taschen rechner entspricht dies der Vorzeichentaste +/– und nicht der Taste für die mathematische Operation Subtraktion – ! Positive Vorzeichen werden meist weggelassen. Es gilt: −(−r) = +r = r. Betrag, auch Absolutwert abs(r) oder |r| ist definiert: −r , wenn r < 0 und abs(r) = abs r = |r| = r, wenn r ≥ 0 . ■ abs(−3) = 3 oder |4,43| = 4,43. ▲ Programmiersprachen haben oft abs[x] als Funktionsaufruf implementiert. Gesetze für das Rechnen mit Beträgen: abs(ab) = |ab| = |a| · |b|
|a + b| ≥ |a| − |b| |a + b + c + . . . | ≤ |a| + |b| + |c| + . . . Der Name stammt aus der Geometrie ebener Dreiecke, für deren Seiten gilt: a ≤ b+c b ≤ c+a c ≤ a+b
a c b a
b c=a+b
c
Dreiecksungleichung ▲ Numerische Anwendung der Betragsfunktion: Programmsequenz zur Berechnung von Maximum und Minimum von n Zahlen. BEGIN MiniMax INPUT n INPUT x[i], i = 1..n max:= x[1] min:= x[1] FOR i = 2 TO n DO max:= (max + x[i] + abs(max - x[i]))/2 min:= (min + x[i] - abs(min - x[i]))/2 ENDDO OUTPUT max, min END MiniMax
14.10.2
Ordnungsrelationen
Die Menge der reellen Zahlen lässt sich ebenfalls als Zahlengerade darstellen. Jede reelle Zahl wird durch einen Punkt auf der Zahlengeraden repräsentiert. −6
−5 −4.8
−4
−3
−2
−2.4
−1
0
1 ln2
2
3 e
4
5
6
3.5
Zahlengerade Nullpunkt, teilt die Zahlengerade in positive (R+ ) und negative reelle Zahlen (R− ) ein. Positive Zahlen liegen rechts, negative links vom Nullpunkt, Schreibweise: x > 0, wenn x positiv und x < 0, wenn x negativ. − Null ist weder positiv noch negativ, R+ 0 und R0 enthalten aber die Null. Eine reelle Zahl r ist kleiner als eine andere reelle Zahl s (Schreibweise r < s), wenn r auf der Zahlengeraden links von s liegt. In analoger Weise sind die Relationen größer als (>), kleiner gleich (≤) und größer gleich (≥) definiert.
14.10 Rechnen mit reellen Zahlen Relation
Schreibweise
größer als größer gleich kleiner als kleiner gleich
r r r r
>s ≥s <s ≤s
495
Bedeutung r − s ist positiv r − s ist positiv oder =0 r − s ist negativ r − s ist negativ oder =0
▲ Komplexe Zahlen lassen sich nicht anordnen.
14.10.3
Intervalle
Teilmengen von R, die auf der Zahlengeraden durch zwei Randpunkte a und b, a < b begrenzt werden, heißen Intervalle. Man unterscheidet endliche Intervalle I=
a≤x a<x x≤b x
Spezialfall für a = 0, I für a = 0, I für b = 0, I für b = 0, I R
= R+ 0 = R+ = R− 0 = R−
▲ Manchmal werden offene Intervalle anstatt durch (a, b) durch ]a, b[ bezeichnet.
14.10.4
Runden und Abschneiden
Wissenschaftlich-technische Darstellung einer rellen Zahl, x.xxxEyyy (in FORTRAN für doppelt-genaue Zahlen auch x.xxxDyyy). ■ 14357,34 = 1.435734E4 0,0003 = 3.0E − 4 Mantisse, die durch x.xxx repräsentierte Dezimalzahl in der wissenschaftlich-technischen Darstellung. Exponent, hier: die durch yyy repräsentierte ganze Zahl in der wissenschaftlich-technischen Darstellung. ▲ Die Länge der Mantisse und der gültige Bereich für den Exponenten sind system- und programmiersprachenabhängig. Verfügbare Stellen, diejenigen Stellen einer Dezimalzahl, in wissenschaftlich-technischer Darstellung, die exakt bekannt sind. ■ 0,000001 = 1.E–6 lediglich die Eins ist verfügbar. ■ Messung mit gewöhnlichem Lineal ergibt 12,300 cm. Nur 12,3 sind verfügbar, ein normales Lineal lässt eine genauere Bestimmung einer Länge nicht zu. Bei Rechnungen mit elektronischen Rechnern ergeben sich oft Resulate mit mehr verfügbaren Stellen, als die Genauigkeit der Methode oder der Eingabegrößen überhaupt zulässt.
496
14 Arithmetik und Numerik
▲ Die Angabe vieler Nachkommastellen verbessert die Genauigkeit des Resultats oft nicht! ■ Die Seitenlängen eines Rechtecks seien jeweils auf 2 Nachkommastellen genau bekannt: a = 3,12 und b = 1,53. Es ist nicht sinnvoll, als Flächeninhalt A = 3,12·1,53 = 4,7736 anzugeben; die Genauigkeiten, mit der a und b gegeben sind, lassen dies nicht zu! Die Angabe A = a · b ≈ 4,77 reicht aus! Numerische Näherungen: Abschneiden, nur eine gewisse Anzahl von Dezimalstellen wird mitgenommen, alle nachfolgenden werden ignoriert. ■ 4,7456 −→ 4,74 (Abschneiden nach zwei Nachkommastellen). Runden auf eine gewisse Anzahl (n) von Dezimalstellen, ist Ziffer an der n + 1-ten Stelle < 5, so werden die ersten n Nachkommastellen notiert, andernfalls (Ziffer ≥ 5) wird die n-te Ziffer um Eins erhöht. ■ 4,7456 −→ 4,7 (Runden auf eine Nachkommastelle), 4,7456 −→ 4,75 (Runden auf zwei Nachkommastellen), 4,99953 −→ 5,000 (Runden auf drei Nachkommastellen). ▲ In PASCAL gibt es die Funktionen round(x) bzw. trunc(x) für die Rundung bzw. das Abschneiden von Dezimalbrüchen. Ergebnis ist jeweils eine ganze Zahl.
14.10.5
Rechnen mit Intervallen
Numerische Rechnungen enthalten Näherungszahlen mit endlicher Anzahl von Dezimalstellen. Bisweilen ist es sinnvoll, eine obere und eine untere Schranke (also ein Intervall) anzugeben, innerhalb dessen sich der exakte Wert mit Sicherheit befindet. Intervall a˜ = [a, a] = {a | a ∈ R, a ≤ a ≤ a }, a untere Grenze, a obere Grenze. Addition: a˜ + b˜ = c˜ = [a + b, a + b]. Subtraktion: a˜ − b˜ = c˜ = [a − b, a − b]. Multiplikation: a˜ · b˜ = c˜ = [c, c], c = min{ab, ab, ab, ab}, c = max{ab, ab, ab, ab}. Division: 1 1 1 1 = = , , b˜ [b, b] b b b, b < 0
a˜ = c˜ = [c, c], b˜
' c = min
( a a a a , , , , b b b b
' c = max
( a a a a , , , , b b b b
oder b, b > 0.
■ Eine Größe a befinde sich mit Sicherheit im Intervall a˜ = [2, 4], eine zweite Größe b mit Sicherheit im Intervall b˜ = [−2, − 1], dann gilt mit Sicherheit für a ± b, a · b, a/b: a + b ∈ [2 − 2, 4 − 1] = [0, 3], a − b ∈ [2 − (−1), 4 − (−2)] = [3, 6], a · b ∈ [4 · (−2), 2 · (−1)] = [−8, − 2], a/b ∈ [4/(−1), 2/(−2)] = [−4, − 1]. ▲ Zum Rechnen mit „unscharfen“ Größen siehe auch unter Fuzzy-Logik/Arithmetik.
14.10 Rechnen mit reellen Zahlen
14.10.6
497
Klammerung
Klammern, mathematische Zeichen, die immer in Paaren auftreten. Die in der Klammer stehenden Operationen sind zuerst auszuführen. Ineinanderschachtelung von Klammern ist möglich. Symbole für öffnende Klammern (in üblicher Reihenfolge): (, [, {, Symbole für schließende Klammern (in üblicher Reihenfolge): }, ], ). Auflösen von Klammern Minusklammer: −(a − b) = −a + b. Ausmultiplizieren von Klammern: (a + b) · (c + d)
= ac + bc + ad + bd,
(−a + b) · (c − d) = −ac + bc + ad − bd. ● Klammern müssen dann gesetzt werden, wenn eine Rechenoperation geringerer Stufe vor einer Rechenoperation höherer Stufe ausgeführt werden muss. ■ Quadrat einer Summe; die Klammer ist notwendig, da das Quadrieren vor der Addition auszuführen wäre, i. Allg. ist (a + b)2 = a2 + b2 . ▲ Beim numerischen Rechnen müssen Klammern auch anstellen gesetzt werden, an denen analytisch keine Klammern auftauchen. √ ■ Quadratwurzel aus einer Summe: 1 + 2,
√
Tastenfolge auf dem Taschenrechner: ( 1 + 2 ) = . ▲ In Programmiersprachen werden auch die Argumente von Funktionen, Prozeduren, Subroutinen und Feldindizes in Klammern ( ) eingeschlossen. ■ sin(x) steht für sin x, a(1, 2) oder a[1, 2] steht für das Array- oder Feldelement a1, 2 .
14.10.7
Addition und Subtraktion
● Addition und Subtraktion sind Rechenoperationen erster Stufe: Addition Summand plus Summand ist gleich Summe a + b = c 4,5 + 3,2 = 7,7 Subtraktion Minuend minus Subtrahend ist gleich Differenz a − b = c 1,4 − 2,6 = −1,2
▲ Auf dem Taschenrechner sind die entsprechenden Tasten zum Aufruf der Rechenoperationen + und – . Ebenso werden in allen Programmiersprachen + und − als Symbole für Addition bzw. Subtraktion verwandt. ● Die Subtraktion kann immer als Addition des Negativen des Subtrahenden (Subtrahend mal −1) aufgefasst werden: 1 − 2 = 1 + (−2) = −1.
498
14 Arithmetik und Numerik
▲ Vorsicht ist bei der Auflösung von Klammerausdrücken geboten: a − (b − c) = a − b + c. Neutrales Element der Addition ist die Null, 0. 0 + a = a,
a + 0 = a.
● Die Addition ist kommutativ und assoziativ: Kommutativgesetz: a + b = b + a. Assoziativgesetz: a + (b + c) = (a + b) + c = a + b + c. ▲ Auf dem Rechner gelten diese Gesetze wegen Rundungs- und Speicherfehlern im Allgemeinen nicht, denn: auf einem Taschenrechner mit 10 Stellen ergibt (1012 + 1) + (−1012 ) = 0,
aber (1012 + (−1012 )) + 1 = 1.
● Die Subtraktion ist weder kommutativ noch assoziativ. ■ 2 − 3 = 3 − 2. Nach Umwandlung der Subtraktion in eine Addition des Negativen gilt wieder Kommutativität und Assoziativität. ■ 2 − 3 = 2 + (−3) = (−3) + 2 = −3 + 2.
14.10.8
Summenzeichen
Summenzeichen, abkürzende Schreibweise für N am + am+1 + am+2 + am+3 + . . . + aN , ∑ ai = 0, falls N < m i=m
falls N ≥ m
Rechenregeln für Summen. Summe gleicher Summanden: N
∑ a = (N − m + 1)a ,
m ≤ N.
i=m
Benennung des Index ist beliebig, muss aber beibehalten werden: N
∑ ai =
i=m
N
∑ ak .
k=m
Aufspaltung von Summen in Teilsummen: N
∑ ai =
i=m
l
∑ ai +
i=m
N
∑
ai , m ≤ l < N.
i=l+1
Herausziehen konstanter Faktoren C: N
N
i=m
i=m
∑ Cai = C ∑ ai .
Summen von Summen können gemäß Kommutativ– und Assoziativgesetz umgeschrieben werden: N
∑ (ai + bi + ci + . . . ) =
i=m
N
N
i=m
i=m
∑ ai + ∑ bi +
N
∑ ci + . . .
i=m
14.10 Rechnen mit reellen Zahlen
499
Indizes können auch durch Rechnung festgelegt werden: N
N−m+l
i=m
i=l
∑ ai =
∑
ai+m−l .
Doppelsummen können vertauscht werden: N
L
∑ ∑ bik = i=1 k=1
L
N
∑ ∑ bik .
k=1 i=1
▲ Summen werden als Schleifen (loops), Doppelsummen als doppelte Schleifen programmiert. Schleifen haben die Struktur Tue . . . so lange bis . . . oder Tue . . . von Untergrenze . . . bis Obergrenze . . . REPEAT ... UNTIL, WHILE ... DO und FOR ... TO ... DO Anweisungen in PASCAL oder, DO ... ENDDO bzw. CONTINUE Anweisung in FORTRAN. ▲ Vorsicht ist bei der numerischen Berechnung längerer Summen geboten! Wegen Abschneide- und Rundungsfehlern gelten hier Assoziativ- und Kommutativgesetz nicht. ■ Numerische Summation der ersten 1000 Glieder der Leibniz-Reihe π 1 1 1 1 = 1 − + − + − +··· . 4 3 5 7 9 1. Möglichkeit: Summation von links nach rechts. 2. Möglichkeit: Summation von rechts nach links. 3. Möglichkeit: Summation von links nach rechts, aber positive und negative Glieder getrennt mit anschließender Differenzbildung. 4. Möglichkeit: Summation von rechts nach links, aber positive und negative Glieder getrennt mit anschließender Differenzbildung. 1 2 3 4
▲ Man bemerkt, dass 1. das Resultat von der Summationsreihenfolge abhängt, 2. das Resultat von dem verwendeten Rechner abhängt und 3. Rechner oft mehr Stellen ausgeben, als es ihre Genauigkeit zulässt. Das auf acht Stellen gerundete exakte Resultat ist 0.78514816.
14.10.9
Multiplikation und Division
Multiplikation und Division sind Rechenoperationen zweiter Stufe: Faktor Multiplikand a 2,0 Dividend a 5,1
Multiplikation Faktor ist gleich Produkt Multiplikator ist gleich Produkt b = c −7,2 = −14,4 Division geteilt durch Divisor ist gleich Quotient : b = c : 1,7 = 3,0 mal mal · ·
500
14 Arithmetik und Numerik
▲ Auf dem Taschenrechner ist für die Multiplikation die × Taste zu benutzen, nicht die Taste für den Dezimalpunkt . . Bei der Division wird die Taste ÷ verwandt.
Beim Programmieren in PASCAL, C, FORTRAN, ... ist für die Multiplikation das Zeichen ∗, für die Division das Zeichen / zu benutzen.
Die Division durch b = 0 kann immer als Multiplikation mit 1/b aufgefasst werden. Neutrales Element oder Einselement der Multiplikation ist die Eins, 1: 1 · a = a. Die Multiplikation ist kommutativ und assoziativ. Kommutativgesetz: a · b = b · a. Assoziativgesetz: a · (b · c) = (a · b) · c = a · b · c. ▲ Diese Gesetze gelten jedoch nur analytisch. Bei der numerischen Auswertung können sie hilfreich sein: (1045 · 1060 ) · 10−60 ist so i. Allg. auf Taschenrechnern nicht berechenbar, da das Zwischenresultat 10105 nicht darstellbar ist. 1045 · (1060 · 10−60 ) hingegen liefert das korrekte Resultat 1045 . ● Ein Produkt ist genau dann Null, wenn mindestens ein Faktor Null ist. ● Die Division ist weder kommutativ noch assoziativ. ■ 3/2 = 2/3. Nach Umwandlung der Division in eine Multiplikation mit dem Kehrwert des Divisors gilt wieder Kommutativität und Assoziativität. 1 1 ■ 3/2 = 3 · = · 3. 2 2
14.10.10 Produktzeichen Produktzeichen, abkürzende Schreibweise für N am · am+1 · am+2 · am+3 · . . . · aN , falls N ≥ m ∏ ai = 1, falls N < m i=m Rechengesetze für Produkte: Produkt gleicher Faktoren: N
∏ a = aN−m+1
m ≤ N.
i=m
Benennung des Index ist beliebig, muss aber beibehalten werden: N
N
i=1
k=1
∏ ai = ∏ ak . Aufspaltung von Produkten in Teilprodukte: N
l
i=m
i=m
∏ ai = ∏ ai ·
N
∏
i=l+1
ai
m ≤ l < N.
14.10 Rechnen mit reellen Zahlen
501
Konstante Faktoren können separiert werden: N
N
i=m
i=m
∏ Cai = CN−m+1 ∏ ai . Produkte von Produkten können gemäß Kommutativ- und Assoziativgesetz umgeschrieben werden: N
N
N
N
i=m
i=m
i=m
i=m
∏ aibici . . . = ∏ ai · ∏ bi · ∏ ci . . . Indizes können auch durch Rechnung festgelegt werden: N
N−m+l
i=m
i=l
∏ ai =
∏
ai+m−l .
Doppelte Produkte können vertauscht werden: N
L
L
N
∏ ∏ bik = ∏ ∏ bik . i=1 k=1
k=1 i=1
14.10.11 Potenzen und Wurzeln ● Potenzieren und Radizieren (Ziehen der Wurzel) sind Rechenoperationen dritter Stufe. Potenz mit ganzzahligem Exponenten, abkürzende Schreibweise für ein Produkt gleicher Faktoren: a · a · · · · · · a = an . n Faktoren a heißt Basis, n heißt Hochzahl oder Exponent. ■ Quadratzahlen (n = 2): 1,4,9,16,25,. . . . Potenz mit negativem Exponent: 1/Potenz mit positivem Exponenten n 1 1 1 1 · · .... · = = a−n . a a a a n Faktoren ● Das Radizieren (Wurzelziehen) ist eine Umkehrung des Potenzierens. √ Definition der Wurzel: n a = x ⇐⇒ xn = a; a ≥ 0, n ∈ N, x ≥ 0. ■ Wenn√ein Würfel des Volumens 125 cm3 gegeben ist, so ist die Kantenlänge a = 3 125 cm = 5 cm. ● Die n-te Wurzel einer Zahl a ist definiert als diejenige nicht negative, eindeutig bestimmte Zahl, die n-mal mit a ergibt. √ sich selbst multipliziert 2 −2 = 4 obgleich (−2) = 4. a heißt Radikand, n heißt Wurzelexponent. ▲ Ist kein Wurzelexponent angegeben, so ist immer die Quadratwurzel (n = 2) gemeint. Wurzeln, Potenzen mit gebrochenen Exponenten 1 √ n a = an ,
1 √ √ 1 √ = a− n , speziell: 2 a = a. n a ▲ Wurzeln sind immer als Potenz darstellbar; das Rechnen mit Wurzeln wird dadurch stark vereinfacht.
502
14 Arithmetik und Numerik
Rechengesetze für beliebige Potenzen 00 ist nicht definiert, a0 = 1, wenn a = 0, 0n = 0, wenn n > 0, a1 = a, am · an = am+n, am 1 = am−n = n−m , n a a n n n a · b = (ab) , −n an a n b = = , n b b a (an )m = (am )n = anm ,
m
m
aber: an = a(n ) = anm .
● Diese Gesetzmäßigkeiten gelten auch für reelle Exponenten n, m ∈ R! √ 2 a ist demzufolge ein wohldefinierter Ausdruck. ▲ Potenzen in FORTRAN: a ∗ ∗x, Potenzen in PASCAL: nicht vorhanden. Tip: ax = exp (x · ln a). Rechenregeln für Wurzeln: √ √ n n 1 = 1, 0 = 0, n > 0, √ √ m 1 1 m , am/n = n am = n a , a−m/n = √ = √ n n m a a √ √ √ n n n a · b = ab, √ n a a √ = n , n b b $√ $√ √ n m m n a= a = nm a. ▲ Quadratwurzel auf dem Computer: sqrt(a), höhere Wurzeln in FORTRAN: a∗∗(1.0/n), höhere Wurzeln in PASCAL: exp(1/n∗ln(a)). Zusammenhang der Wurzel mit dem Betrag: √ √ 2n |a| = a2 , allgemein: |a| = a2n Rationalmachen des Nenners, wenn das Ergebnis einer Rechnung ein Bruch mit Wurzel im Nenner ist, wird der Bruch so erweitert, dass keine Wurzel mehr im Nenner auftaucht. Grundregeln zum Rationalmachen des Nenners: √ 1 a √ = , a a √ n 1 an−1 √ = , n a a√ 1 b∓ a √ = 2 . b± a b −a
14.10 Rechnen mit reellen Zahlen
503
√ 4ac 4ac · (2bc + ab) √ = ■ . 4b2 c2 − ab 2bc − ab ▲ Quadratwurzeln (hier aus a) lassen sich leicht iterativ durch die folgende Vorschrift berechnen: Gegeben sei Startnäherung x0 = 0, dann ist 1 a xn+1 = xn + , n = 0, 1, 2, . . . 2 xn ▲ Programmsequenz zur numerischen Berechnung von Quadratwurzeln: BEGIN Wurzel INPUT a INPUT eps (absolute Genauigkeit) x:= a WHILE (abs(x*x - a) ≥ eps) DO x:= (x + a/x)/2 ENDDO OUTPUT x END Wurzel ■ Berechnung der Quadratwurzel aus 100, mit einer absoluten Genauigkeit von 10−6 und dem Startwert 1. Das Verfahren konvergiert trotz des schlechten Startwerts sehr schnell: Iterationsschritt Näherungswert 0 1.0000000 1 50.5000000 2 26.2400990 3 15.0255301 4 10.8404347 5 10.0325785 6 10.0000529 7 10.0000000
14.10.12 Exponentation und Logarithmus Exponentation und Logarithmieren sind Rechenoperationen dritter Stufe. ▲ Exponentialausdrücke sind streng von Potenzausdrücken zu unterscheiden. Bei Potenzausdrücken, z. B. a3 , ist der Exponent fest, bei Exponentialausdrücken, z. B. 3a , ist die Basis fest. Rechenregeln: ax · ay = ax+y ,
ax = ax−y , ay y
y
(ax )y = (ay )x = axy , aber ax = a(x ) . Logarithmus x des Numerus c zur Basis a (c > 0), derjenige Exponent x, für den gilt: ax = c. Schreibweise: x = loga c. ▲ Der Logarithmus ist nur für positive Argumente definiert. log(0) oder log(–2) sind nicht definiert. ■ 10x = 1000 log10 1000 = 3
⇔
103 = 1000.
504
14 Arithmetik und Numerik
Rechenregeln: loga 1 = 0 ,
loga a = 1,
loga (xy) = loga x + loga y, loga xn = n · loga x, 1 , logc a
loga c =
loga
loga ax = x, loga
x = loga x − loga y, y
√ 1 n x = loga x, n
loga c · logc a = 1,
log1/a x = − loga x. Spezielle Logarithmen: Dekadischer Logarithmus auch Briggs’scher Logarithmus, Basis ist 10, Schreibweisen log10 x, manchmal auch nur lg x oder log x. Logarithmus zur Basis 2, Basis ist 2, Schreibweise log2 x, lb x, selten ld x. Natürlicher Logarithmus, Basis ist die Euler’sche Zahl e, Schreibweisen loge x oder einfach ln x. e = lim
n→∞ ∞
=
1 1+ n
n
1
∑ n!
n=0
= 2,71828 . . . ▲ Viele Programmiersprachen kennen nur den Logarithmus naturalis (natürlicher L.), Schreibweise ist log(x) in FORTRAN und ln(x) in PASCAL. Andere Logarithmen lassen sich leicht durch einen Wechsel der Basis berechnen. Wechsel der Basis: logb x =
loga x . loga b
■ Berechnung des dekadischen Logarithmus von 23, für den Fall, dass die verwendete Programmiersprache nur den natürlichen Logarithmus kennt: log10 23 = ln(23)/ ln(10) ≈ 3,135/2,303 ≈ 1,362. Umrechnungsfaktor von Basis ⇒ nach Basis ⇓ 2 e 10
2
e
10
1 1,443 3,322 0,693 1 2,303 0,301 0,434 1
■ Der Zehnerlogarithmus von 16 ist ungefähr 1,204, dann ist der Zweierlogarithmus von 16 gleich 1,204 · 3,322 ≈ 4.
14.11 Binomischer Satz
14.11
Binomischer Satz
14.11.1
Binomische Formeln
Methode zur Auflösung quadratischer Klammerausdrücke: (a ± b)2
= a2 ± 2ab + b2 ,
(a + b)(a − b) = a2 − b2 . Analoge Behandlung höherer Potenzen (a + b)3
= a3 + 3a2 b + 3ab2 + b3 ,
(a − b)3
= a3 − 3a2 b + 3ab2 − b3 ,
(a + b)4
= a4 + 4a3 b + 6a2 b2 + 4ab3 + b4 ,
(a − b)4
= a4 − 4a3 b + 6a2 b2 − 4ab3 + b4 ,
(a + b)2 (a − b)2 = a4 − 2a2 b2 + b4 .
14.11.2
Binomialkoeffizienten
Fakultät ! Definition: 0! = 1, 1! = 1,
2! = 1 · 2 = 2,
n! = 1 · 2 · 3 · . . . · n,
3! = 1 · 2 · 3 = 6, . . . n! = (n − 1)! · n.
Näherungsformel nach Stirling (für große n): n n √ , n! ≈ 2π n e genauer: n n √ 1 1 139 571 n! ≈ 2π n + · 1+ − − +... . e 12n 288n2 51840n3 2488320n4 Definition der Binomialkoeffizienten, sprich n über k n n n−1 n−2 n − (k − 1) n! = · · ·...· = . k 1 2 3 k (n − k)! k!
14.11.3
Pascal’sches Dreieck
Pascal’sches Dreieck, einfaches Schema zur Berechnung von Binomialkoeffizienten. Konstruktion: Starte mit einer Eins; füge an den Anfang und an das Ende jeder Zeile eine Eins an. Alle anderen Elemente des Pascal’schen Dreiecks ergeben sich jeweils als die Summe der beiden darüber stehenden Zahlen der vorangegangenen Zeile.
1 n =0 1 1 n =1 2 1 1 n =2 3 3 1 1 n =3 1 4 6 4 1 n =4 10 10 1 5 5 n =5 1
Symmetrie des Pascal’schen Dreiecks: n n = . k n−k Das erste und letzte Element jeder Zeile des Pascal’schen Dreiecks ist Eins: n n = = 1. 0 n Das zweite und vorletzte Element der n-ten Zeile hat den Wert n: n n = = n. 1 n−1 Konstruktionsschema des Pascal’schen Dreiecks: n n n+1 n n n+1 + = , + = . k−1 k k k k+1 k+1 Die Summe aller Elemente der n-ten Zeile des Pascal’schen Dreicks ist 2n : n n n n n n = 2n . + + +... + =∑ k 0 1 2 n k=0 Weitere Eigenschaften: n i n+1 k k+1 k+2 n = , + + +... + =∑ k+1 k k k k i=k k k n n+1 n+2 n+k n+i n+k+1 + + +... + =∑ = , 0 1 2 k i k i=0 n n n n n n n−1 + + +... = 2 , + + + . . . = 2n−1 . 0 2 4 1 3 5 ▲ Programmsequenz zur Berechnung der ersten n Zeilen des Pascal’schen Dreiecks. BEGIN Pascal INPUT n u[i]:= 0, i = 0...n+1 FOR k = 0 TO n DO s:= 0 t:= 1 FOR i = 0 TO k DO u[i]:= s + t s:= t t:= u[i+1] ENDDO OUTPUT u[i], i = 0...k ENDDO END Pascal
14.11 Binomischer Satz
14.11.5
Entwicklung von Potenzen von Summen
Binomischer Satz: Potenzen des Ausdrucks (a ± b) lassen sich entwickeln gemäß n n−1 1 n n−2 2 n n n (a + b) = a + a b + a b +... + a1 bn−1 + bn . 1 2 n−1 Unter Berücksichtigung von n n = = 1 sowie a0 = b0 = 1 0 n kann die Formel verallgemeinert werden n n n−k n (a ± b) = ∑ a (±b)k . k k=0 Weiterhin gilt: an − bn = (a − b) ·
n−1
∑ an−k−1bk .
k=0
507
15
Gleichungen und Ungleichungen
Algebra, Lösung von Gleichungen und Ungleichungen, die lediglich die elementaren Operationen Addition, Subtraktion, Multiplikation, Division und das Potenzieren mit natürlichen Exponenten enthalten. Algebraische Gleichung n-ten Grades (Grundform): an x n + an−1 x n−1 + . . . + a1 x + a0 = 0,
ai ∈ R, an = 0,
kompakte Summenschreibweise: n
∑ aix i = 0. i=0
▲ Die Suche nach Polynom-Nullstellen führt auf algebraische Gleichungen. Diophantische Gleichung: Algebraische Gleichung mit ganzzahligen Koeffizienten, für die nur ganze Zahlen als Lösungen gesucht werden. ■ Die diophantische Gleichung ax + by = c
a, b, c ∈ Z
ist genau dann lösbar, wenn der größte gemeinsame Teiler von a und b ein Teiler von c ist. ▲ Diophantische Gleichungen treten z. B. auf, wenn Beziehungen zwischen Stückzahlen beschrieben werden. Bisher wurden nur die diophantischen Gleichungen bis zum zweiten Grad mit zwei Variablen allgemein gelöst. Für diophantische Gleichungen höheren Grades sind nur spezielle Lösungen bekannt.
15.1
Grundlegende algebraische Begriffe
15.1.1
Nomenklatur
Variable, Platzhalter für Elemente aus einer Menge, wobei offen ist, welches spezielle Element gemeint ist. ■ x ist eine technische Größe. Dabei kann x für Drehzahl, Spannung, Zeit, . . . stehen. 2(x + 1) − 2 = 2x. x kann für eine beliebige reelle oder auch komplexe Zahl stehen. ▲ Innerhalb einer Aufgabe sind mit gleichen Symbolen immer dieselben Elemente bzw. Zahlenwerte verbunden. Konstante, Platzhalter für ein ganz bestimmtes Element oder eine eindeutig bestimmte reelle oder komplexe Zahl. ■ π , e, −2, 3, 22 sind Konstanten. Koeffizient, reelle oder komplexe Zahl als Vorfaktor einer Potenz der Variablen. ■ ai x i ; ai ist der Koeffizient zu x i . Unbekannte, Platzhalter für dasjenige Element, dessen Wert durch Lösen einer Gleichung ermittelt werden soll. ■ 3x = 9,3. x ist die Unbekannte in dieser Gleichung. x = 3,1 ist die vollständige Lösung des Problems. ▲ Unbekannte sind insbesondere Variablen. Term, mathematischer Ausdruck aus Variablen, Konstanten und Rechenvorschriften (+, − etc.) in mathematisch zulässiger Anordnung.
15.1 Grundlegende algebraische Begriffe
509
√ ■ 2 4a + b + a, 1,2, a sind Terme, ( (3a ist kein Term, weil ein Teil des Terms fehlt (Klammern sind nicht geschlossen). ▲ Term ist der Oberbegriff für Zahlen und kompliziertere mathematische Ausdrücke, die keine Gleichheits- oder Relationszeichen enthalten. Gleichung, zwei Terme S und T , die durch ein Gleichheitszeichen = verbunden sind (S = T ). ■ 7a + 2 = 3, b = 23
sind Gleichungen.
Ungleichung, zwei Terme S und T , die durch eines der Relationszeichen < , > , ≤ , ≥ oder das Ungleichheitszeichen = verbunden sind. ■ 4 > 1, a < 4b + 2, 5 > 1
oder −5 < 1 sind Ungleichungen.
Aussageform, Gleichung oder Ungleichung, die mindestens eine Variable enthält. ■ 4x = 12
ist eine Aussageform.
Aussage, Gleichung oder Ungleichung, die keine Variablen oder Unbekannten enthält. Eine Aussage kann entweder wahr oder falsch sein. ■ 2·4=8 2·4=7
ist eine wahre Aussage, ist eine falsche Aussage.
▲ In den geläufigen Programmiersprachen wird der Wahrheitsgehalt von Aussagen durch logische Variablen repräsentiert; sie kann nur die Werte TRUE (wahr) oder FALSE (unwahr) annehmen. Definitionsgleichung, ordnet einer Variablen einen Wert oder mathematischen Ausdruck zu. ■ x = 12y + 3 ordnet der Variablen x 12 mal den Wert der Variablen y plus 3 zu. ▲ In Computerprogrammen sind auch mathematisch unsinnige Definitionsgleichungen möglich, z. B. n=n+1 erhöht den unter dem Variablennamen n gespeicherten Wert um 1. In PASCAL werden daher definierende Gleichungen durch n:=n+1 unterschieden von Aussagen in Gleichungsform, wie etwa n=3, d. h. n hat entweder den Wert 3, dann ist die Aussage wahr, andernfalls ist die Aussage falsch. Eindeutigkeit: Im Allgemeinen sind die Lösungen algebraischer Gleichungen nicht immer eindeutig, d. h. es können mehrere mögliche Werte für die Unbekannte vorkommen. ■ x2 = 4 hat die Lösungen +2 und −2. Grundmenge G, Menge der zugelassenen Werte für die Unbekannte. ▲ Definitionsbereich D wird oft synonym verwandt, obwohl der Begriff streng genommen nur für Funktionen gilt. Lösungsmenge L, Menge der Werte für die Unbekannte, die aus einer Gleichung eine wahre Aussage machen. Die Lösungsmenge ist stets Teilmenge der Grundmenge. ■ 2x = −4 hat keine Lösung in N als Grundmenge, aber die Lösung −2 in der Grundmenge Z. 2x = −4 wird mit x = −2 zu einer wahren Aussage; −2 gehört zu L, aber x = 3 macht 2x = −4 zu einer falschen Aussage, gehört also nicht zur Lösungsmenge L.
15.1.2
Gruppe
Gruppe, Paar (M,◦) aus einer Menge M und einer Verknüpfung ◦, wobei gilt: Assoziativgesetz: (a ◦ b) ◦ c = a ◦ (b ◦ c),
a, b, c ∈ M.
510
15 Gleichungen und Ungleichungen
Existenz des neutralen Elements e ∈ M: a◦e=e◦a=a,
a ∈ M.
Existenz der inversen Elemente a−1 ∈ M: a ◦ a−1 = a−1 ◦ a = e,
a ∈ M.
Eine Gruppe heißt kommutative oder Abel’sche Gruppe, falls zusätzlich gilt: Kommutativgesetz: a ◦ b = b ◦ a,
a, b ∈ M.
● Existenz einer Verknüpfung: Für alle a,b ∈ M existieren s,t ∈ M mit a ◦ s = b und t ◦ a = b. ■ Die Menge der ganzen Zahlen mit der gewöhnlichen Addition (Z,+) ist eine Abel’sche Gruppe. Die Menge der Drehungen im dreidimensionalen Raum mit der Nacheinanderausführung als Verknüpfung der Elemente ist eine nichtkommutative Gruppe.
15.1.3
Ring
Ring, Tripel (M, ⊕ ,⊗) aus einer Menge und zwei Verknüpfungen ⊕ „Addition“ und ⊗ „Multiplikation“, wobei gilt: Gruppeneigenschaft: (M,⊕) ist eine Abel’sche Gruppe. Assoziativgesetz bezüglich ⊗: (a ⊗ b) ⊗ c = a ⊗ (b ⊗ c) ,
a, b, c ∈ M.
Distributivgesetz: a ⊗ (b ⊕ c) = (a ⊗ b) ⊕ (a ⊗ c) (a ⊕ b) ⊗ c = (a ⊗ c) ⊕ (b ⊗ c)
,
a, b, c ∈ M.
● Existenz der Subtraktion, für a,b ∈ M gibt es genau ein s ∈ M mit s ⊕ a = b und a ⊕ s = b. Ein Ring heißt kommutativer Ring, falls zusätzlich gilt: Kommutativgesetz bezüglich ⊗ a ⊗ b = b ⊗ a,
a,b ∈ M.
■ Die Menge der ganzen Zahlen mit der gewöhnlichen Addition und Multiplikation (Z, + ,·) ist ein kommutativer Ring. Die Menge der Polynome mit der gewöhnlichen Addition und Multiplikation ist ein kommutativer Ring.
15.1.4
Körper
Körper, Tripel (M, ⊕ ,⊗) aus einer Menge und zwei Verknüpfungen ⊕ und ⊗, wobei gilt: Gruppeneigenschaft (M,⊕): (M,⊕) ist eine Abel’sche Gruppe mit dem neutralen Element Null (0; Nullelement). Gruppeneigenschaft (M\{0},⊗): (M\{0},⊗) ist eine Abel’sche Gruppe mit dem neutralen Element Eins (1; Einselement). Distributivgesetz: a ⊗ (b ⊕ c) = (a ⊗ b) ⊕ (a ⊗ c),
a, b, c ∈ M.
● Existenz der Division, für a,b ∈ M\{0} gibt es genau ein s ∈ M mit s ⊗ a = b und a ⊗ s = b.
15.2 Gleichungen mit einer Unbekannten
511
■ Die Menge der reellen Zahlen mit der gewöhnlichen Addition und Multiplikation ist ein Körper ● (R, + ,·) ist ein Körper. (C, + ,·) ist ein Körper.
15.1.5
Vektorraum
Vektorraum, eine Menge M von so genannten Vektoren x ∈ M über einem Körper (K, + ,·) mit folgenden Verknüpfungen, die für alle a,b ∈ K und x,y ∈ M definiert sind: 1. Vektoraddition ⊕:
x,y ∈ M
x ⊕ y ∈ M
=⇒
(M,⊕) muss Abel’sche Gruppe sein. 2. Multiplikation mit einem Skalar *:
x ∈ M, a ∈ K
=⇒
a * x ∈ M.
Dabei gelten: Assoziativgesetz: a * (b * x) = (a · b) * x, 1. Distributivgesetz: (a + b) * x = (a * x) ⊕ (b * x), 2. Distributivgesetz: a * (x ⊕ y) = (a * x) ⊕ (a * y). ▲ reeller Vektorraum, Vektorraum über dem Körper (R, + ,·) komplexer Vektorraum, Vektorraum über dem Körper (C, + ,·) ■ Vektorraum der dreidimensionalen Vektoren. Zur Bezeichnungsweise: Vektoren werden wie hier entweder in der Form a,x oder aber in der Form a, x dargestellt. Für weitere Erläuterungen, siehe Abschnitt 16.1.6.
15.1.6
Algebra
Algebra, mathematische Struktur, die den Vektorraum- und den Ringeigenschaften genügt. ■ Die Menge der (n × n)-Matrizen mit der gewöhnlichen Matrizenaddition und -multiplikation ist eine Algebra.
15.2
Gleichungen mit einer Unbekannten
Äquivalenz von Gleichungen: Zwei Gleichungen sind äquivalent, wenn Grundmenge und Lösungsmenge übereinstimmen. ● Isolation der Variablen (Unbekannten): Methoden zur Gleichungslösung basieren auf dem Auffinden äquivalenter Gleichungen (Äquivalenzumformungen), die leicht lösbar sind. ▲ Am Ende einer Kette von Äquivalenzumformungen steht jeweils eine Gleichung, bei der die Variable isoliert auf der linken Seite der Gleichung steht.
512
15 Gleichungen und Ungleichungen
15.2.1
Elementare Äquivalenzumformungen
1. Vertauschung der Seiten einer Gleichung ● Vertauscht man die Seiten einer Gleichung, so ist die neue Gleichung der alten äquivalent. ■ x = 3 und 3 = x sind äquivalente Gleichungen. ▲ Bei Ungleichungen ist dies nicht gültig! x > 3 und 3 > x sind einander nicht äquivalent, sie widersprechen sich sogar. 2. Termaddition und -subtraktion ● Addiert oder subtrahiert man auf beiden Seiten einer Gleichung jeweils den gleichen Term, so sind alte und neue Gleichung äquivalent. ■ x = 3 und x + 4 = 3 + 4 bzw. x + 4 = 7 sind äquivalent. x = 3 und x − x = 3 − x bzw. 0 = 3 − x sind äquivalent. 3. Termmultiplikation und -division ● Multipliziert oder dividiert man auf beiden Seiten einer Gleichung jeweils den gleichen Term, der aber nicht Null sein darf, so sind alte und neue Gleichung äquivalent. ■ x = 3 und x · 4 = 3 · 4 bzw. 4x = 12 sind äquivalent. 1 x = 3 und x/3 = 3/3 bzw. x = 1 sind äquivalent. 3 ▲ Vorsicht beim Multiplizieren oder Dividieren mit Termen, die die Variable selbst enthalten. ■ x = 3 und x(x + 1) = 3(x + 1) bzw. x2 + x = 3x + 3 sind nur dann äquivalent, wenn für die zweite Gleichung x = −1 als mögliche Lösung explizit ausgeschlossen wird. x2 = 3x und x2 /x = 3x/x bzw. x = 3. Die Division durch x ist nur zulässig, wenn x = 0 ausgeschlossen ist, d. h. x = 0 als Lösung von x2 = 3x vor der Division bekannt war. Erst dann sind x2 = 3x und x = 3 äquivalent. 4. Substitution ● Substituiert man einen Term durch eine neue Variable, so erhält man die Lösung der ursprünglichen Gleichung, wenn man die neue Gleichung löst und anschließend rücksubstituiert. ■ x2 − 6 = 3, Substitution y = x2 neue Gleichung y − 6 = 3, Lösung: y = 9, √ √ 2 Rücksubstitution x = y = 9 =⇒ x1,2 = ± y = ± 9 = ±3.
15.2.2
Übersicht der verschiedenen Gleichungsarten
Ganzrationaler Term, Summe bzw. Differenz ganzzahliger Potenzen der Variablen. Allgemeine Form: P(x) = an x n + an−1 x n−1 + . . . + a1 x + a0 , ■ 3x2 + 4x − 12, 3x20 , 4
n∈N
sind ganzrationale Terme.
▲ Fasst man P als Funktion der Variablen x auf, so nennt man P auch Polynom. ● Summen, Differenzen und Produkte ganzrationaler Terme sind wieder ganzrationale Terme. Ganzrationale Gleichung, Gleichung, die Gleichheit zweier ganzrationaler Terme ausdrückt: P1 (x) = P2 (x). ■ 2x2 − 3 = 4x3 − 12x + 1 ist eine ganzrationale Gleichung.
15.3 Lineare Gleichungen
513
Gebrochenrationale Gleichung, Gleichung, die Quotienten zweier ganzrationaler Terme enthält: P3 (x) P1 (x) = . P2 (x) P4 (x) 4x2 − 3 = 12x − 1 ist eine gebrochenrationale Gleichung ■ −3x3 + 2 Irrationale Gleichung, Gleichung, die Terme mit Wurzeln und/oder rationalen Potenzen der Variablen enthält. √ ■ 3x2 − 2x = x − 12, 3x2 + x − 3 = x2/3 sind irrationale Gleichungen. Algebraische Gleichungen, alle Gleichungen, die sich bis auf mögliche Einschränkungen im Definitionsbereich äquivalent in die Grundform an x n + an−1 x n−1 + . . . + a1 x + a0 = 0 umformen lassen. ● Ganzrationale, gebrochenrationale und irrationale Gleichungen sind algebraische Gleichungen. Sie lassen sich durch Multiplikation, Potenzieren und Radizieren auf die Grundform bringen. Transzendente Gleichungen, Gleichungen, die andere Ausdrücke als Wurzeln und Potenzen, wie etwa lg x, sin x, ex oder 3x , enthalten. ▲ Eine transzendente Gleichung ist keine algebraische Gleichung.
15.3
Lineare Gleichungen
Lineare Gleichungen enthalten die Variable nur in der Potenz 0 (Konstante) oder 1 (linearer Term).
15.3.1
Gewöhnliche lineare Gleichungen
Normalform linearer Gleichungen ax + b = 0, a = 0
mit der Lösung x = −
b a
● Lineare Gleichungen lassen sich immer auf Normalform bringen. ■ x + 2 = 2x − 1 Addition von 1, x + 3 = 2x Subtraktion von 2x, −x + 3 = 0 mit der Lösung x = 3. ▲ Geometrische Interpretation: Abszisse des Schnittpunkts zweier Geraden in der Ebene oder Schnittpunkt einer Geraden mit der x-Achse.
15.3.2
Lineare Gleichungen in gebrochener Form
Lineare Gleichungen können in gebrochener Form gegeben sein. Bei der Lösung ist darauf zu achten, dass nicht durch Null dividiert wird. 1 1= x = 1 1−x ist äquivalent der linearen Gleichung 1 − x = 1.
514
15 Gleichungen und Ungleichungen
15.3.3
Lineare Gleichungen in irrationaler Form
Lineare Gleichungen können auch Wurzeln enthalten. Bei der Lösung ist darauf zu achten, dass keine negativen Radikanden auftreten. √ 4−x =3 x≤4 ist äquivalent der linearen Gleichung, 4 − x = 9. ▲ Das Quadrieren beider Seiten einer Gleichung ist keine Äquivalenzumformung, da sich die Grundmenge der zugelassenen Werte für die Variable vergrößern kann.
15.4
Quadratische Gleichungen
Quadratische Gleichungen enthalten neben einem konstanten und/oder linearen Term die Variable x höchstens zur zweiten Potenz: ax2 + bx + c = 0, a = 0. Normalform quadratischer Gleichungen: x2 + px + q = 0 mit
b c p= ,q= . a a
p-q-Formel zur Lösung quadratischer Gleichungen: p 2 p p2 p 2 x1,2 = − ± − q, D= −q= − q. 2 2 2 4 Diskriminante D, gibt Aufschluss über die Art der Lösung: 1. 2. 3.
√ D > 0 zwei verschiedene reelle Lösungen, x1,2 = −p/2 ± D; D = 0 eine doppelte reelle Lösung, x1 = x2 = −p/2; √ D < 0 zwei komplexe Lösungen, die zueinander konjugiert sind, x1,2 = −p/2 ± i −D.
Produktdarstellung einer quadratischen Gleichung (x − x1 ) · (x − x2 ) = 0 ist immer möglich, die Lösungen x1 ,x2 sind leicht abzulesen. Durch Ausmultiplizieren x2 + (−x1 − x2 ) · x + x1 x2 = 0 erhält man den ● Wurzelsatz von Vieta Sind x1 und x2 die Lösungen der quadratischen Gleichung, x2 + px + q = 0, dann ist die Summe der beiden Lösungen gleich −p und das Produkt der beiden Lösungen gleich q: x1 + x2 = −p und x1 x2 = q. ■ 3x2 − 6x − 9 = 0 Division durch 3 =⇒ Normalform, x2 − 2x − 3√= 0 d. h. p = −2 und q = −3. D = 4 =⇒ 1. Fall, x1,2 = 1 ± 4, also x1 = 3 und x2 = −1. Vieta: 3 + (−1) = 2 = −p und 3 · (−1) = −3 = q. ▲ Geometrische Interpretation: Abszissen der Schnittpunkte einer Parabel mit einer Geraden oder Schnittpunkte einer Parabel mit der x-Achse, falls D ≥ 0.
15.5 Kubische Gleichungen
15.4.1
515
Quadratische Gleichungen in gebrochener Form
● Eine quadratische Gleichung in gebrochener Form kann durch Termmultiplikation auf Normalform gebracht werden. 3−x ■ = 2x + 3 x+1 1. Ausschluss von x = −1 und Multiplikation mit x + 1: 3 − x = (2x + 3) · (x + 1) = 2x2 + 5x + 3. 2. Auf Normalform bringen und lösen: 0 = 2x2 + 6x =⇒ 0 = x2 + 3x mit den Lösungen x1 = 0 und x2 = −3.
15.4.2
Quadratische Gleichungen in irrationaler Form
● Eine quadratische Gleichung mit Wurzelausdrücken kann durch Quadrieren auf Normalform gebracht werden. Vorsicht: Dabei können neue nur scheinbare Lösungen auftreten. √ ■ −2x − 3 = x + 1. 1. 2.
Ausschluss von x ≥ −3/2, Quadrieren beider Seiten: −2x − 3 = (x + 1)2 = x2 + 2x + 1. Auf Normalform bringen und lösen: 0 = x2 + 4x + 4 = (x + 2)2 ,
mit der doppelten Lösung x1,2 = −2. Eine Probe durch Einsetzen in die Ausgangsgleichung zeigt, dass −2 keine Lösung der ursprünglichen Gleichung ist.
15.5
Kubische Gleichungen
Kubische Gleichung in Normalform: x3 + ax2 + bx + c = 0. Substitution y = x + a/3 führt auf reduzierte Form y3 + py + q = 0 mit 3b − a2 2a3 ab und q = c + − . 3 27 3 Diskriminante: p 3 q 2 D= + . 3 2 Cardano’sche Formeln: √ q q √ u = 3 − + D und v = 3 − − D. 2 2 a x1 = − + u + v, 3 a u+v √ u−v x2,3 = − − ± 3 i, 3 2 2 p=
516
15 Gleichungen und Ungleichungen
● Vieta’scher Wurzelsatz für kubische Gleichungen x1 , x2 , x3 sind Lösungen von x3 + ax2 + bx + c = 0. Dann gilt a = −(x1 + x2 + x3 ),
b = x1 x2 + x2 x3 + x3 x1 , c = −x1 x2 x3 .
Klassifikation der Lösung: 1. D > 0: eine reelle und zwei komplexe Lösungen, die zueinander konjugiert sind, 2. D = 0: drei reelle Lösungen, darunter eine Doppellösung, 3. D < 0: casus irreducibilis, drei verschiedene reelle Lösungen. ▲ Für den irreduziblen (3.) Fall lassen sich komplexe Ausdrücke vermeiden durch den trigonometrischen Lösungsansatz: |p| ϕ a x1 = − + 2 cos , 3 3 3 a |p| ϕ −π x2 = − − 2 cos , 3 3 3 |p| ϕ +π a x3 = − − 2 cos , 3 3 3 wobei
28 % ≈ 0,338 =⇒ ϕ ≈ 1,226 rad, 3 19 27 9 2 19 ϕ x1 = − + 2 cos ϕ 1 = 2, ϕ1 = ≈ 0,409 rad, 3 3 9 2 19 ϕ −π x2 = − − 2 cos ϕ 2 = −3, ϕ2 = ≈ −0,639 rad, 3 3 9 2 19 ϕ +π x3 = − − 2 cos ϕ 3 = −1, ϕ3 = ≈ 1,456 rad. 3 9 3 ▲ Bei Gleichungen dritten Grades führen numerische Lösungsmethoden meist schneller zum Ziel als die allgemeinen analytischen Verfahren. cos ϕ =
15.6
Gleichungen vierten Grades
● Auch für Gleichungen vierten Grades existiert ein allgemeines Lösungsschema. Für Gleichungen höheren Grades gibt es keine allgemeinen Formeln, die die Wurzeln durch die Koeffizienten nur mithilfe von algebraischen Operationen (d. h. die vier Grundoperationen und Wurzelziehen) ausdrücken.
15.6 Gleichungen vierten Grades
15.6.1
517
Allgemeine Gleichung vierten Grades
▲ Das Lösungsschema ist zu komplex, als dass es angesichts moderner Computer noch breite Anwendung fände, wird hier aber dennoch angegeben. Lösungen der Gleichung in Normalform x4 + ax3 + bx2 + cx + d = 0 stimmen mit den Lösungen von ay − c a+D 2 x + ·x+ y+ =0 2 D überein. Dabei ist D = ± 8y + a2 − 4b, und y ist irgendeine reelle Lösung der kubischen Gleichung 8y3 − 4by2 + (2ac − 8d)y + (4bd − a2 d − c2 ) = 0.
15.6.2
Biquadratische Gleichungen
Biquadratische Gleichung, leicht lösbarer Spezialfall einer Gleichung vierten Grades: x4 + ax2 + b = 0. ▲ Lösungsverfahren: Substitution y = x2 und zweimaliges Lösen einer quadratischen Gleichung. Substitution: y = x2 =⇒ y2 + ay + b = 0. Lösung: a a2 − b. y1,2 = − ± 2 4 √ Rücksubstitution x = ± y mit dem Endresultat: % a a2 √ − b. x1,2,3,4 = ± y1,2 = ± − ± 2 4 ▲ Die Lösungen sind i. Allg. komplex, d. h. es können negative Radikanden auftreten.
15.6.3
Symmetrische Gleichungen vierten Grades
Symmetrische Gleichung vierten Grades, lösbarer Spezialfall einer Gleichung vierten Grades: ax4 + bx3 + cx2 + bx + a = 0. ▲ Lösungsverfahren: Division durch x2 (ist möglich, falls a = 0, andernfalls liegt sowieso keine Gleichung vierten Grades vor), Zusammenfassen der Terme und Substitution y = x + 1/x. Durchzuführende Umformungen: 1 1 2 0=a x + 2 +b x+ + c, x x = a(y2 − 2) + by + c, = ay2 + by + (c − 2a). Die letzte, quadratische Gleichung hat die Lösungen y1 und y2 . Bei der Rücksubstitution ist jeweils die quadratische Gleichung 1 y1,2 = x + ⇐⇒ x2 − y1,2 · x + 1 = 0 x zu lösen.
518
15 Gleichungen und Ungleichungen
▲ y1,2 können komplex sein, ebenso die rücksubstituierten Lösungen der ursprünglichen Gleichung. Lösungen: x1,2,3,4
15.7
1 = 2
$ y1,2 ± y21,2
mit y1,2
1 2 2 = −b ± b − 4ac + 8a . 2a
Gleichungen beliebigen Grades
● Fundamentalsatz der Algebra Jede Gleichung n-ten Grades an x n + an−1 x n−1 + . . . + a1 x + a0 = 0 besitzt unter Berücksichtigung der Vielfachheiten genau n Lösungen x1 , x2 , . . . ,xn in C, d. h. Lösungen können mehrfach auftreten. ■ Die Gleichung (x − 2)2 = 0 hat die doppelt auftretende Lösung x1 = x2 = 2. ▲ Ist n gerade, so braucht die Gleichung keine reelle Lösung zu besitzen, ist n ungerade, so besitzt die Gleichung mindestens eine reelle Lösung. Für allgemeine algebraische Gleichungen (rationale Gleichungen n-ten Grades) existieren keine allgemeinen Lösungsverfahren.
15.7.1
Polynomdivision
Faktorisierte Schreibweise: an x n + an−1 x n−1 + . . . + a1 x + a0 = an (x − x1 )(x − x2 ) · . . . · (x − xn ) , xi , i = 1, . . . n sind die Lösungen der algebraischen Gleichung. ● Kennt man eine Lösung einer algebraischen Gleichung, so kann man einen Linearfaktor abspalten und analog der schriftlichen Division von Dezimalzahlen dividieren: ■ x = 4 ist Lösung von x4 − 4x3 − 3x2 + 10x + 8 = 0. Abspalten von (x − 4) (x4 −4x3 −3x2 +10x +8) : (x − 4) = x3 − 3x − 2 −x4 +4x3 0x3 −3x2 +10x +3x2 −12x −2x +8 +2x −8 0 Also: x4 − 4x3 − 3x2 + 10x + 8 = (x3 − 3x − 2) · (x − 4). ● Sukzessives Abspalten von Linearfaktoren führt nach n − 1 Schritten auf die faktorisierte Form. Allerdings müssen n − 1 Lösungen der Gleichung bekannt sein. ■ Für den algebraischen Ausdruck aus dem letzten Beispiel gilt: x4 − 4x3 − 3x2 + 10x + 8 = (x − 4) · (x + 1) · (x + 1) · (x − 2), = (x − 4) · (x + 1)2 · (x − 2).
15.8 Gebrochenrationale Gleichungen
15.8
519
Gebrochenrationale Gleichungen
Allgemeine Lösungsmethode: 1. Ausschließen aller Variablenwerte, für die ein Nenner Null wird, 2. Gleichung mit den Termen, die im Nenner stehen, durchmultiplizieren, 3. Gleichung auf Grundform bringen und 4. Lösen der Gleichung. ▲ Schritt 1 enthält ebenfalls schon die Lösung einer algebraischen Gleichung.
15.9
Irrationale Gleichungen
Allgemeine Lösungsmethode: 1. Ausschließen aller Variablenwerte, für die ein Radikand negativ wird, 2. Wurzeln und Potenzen mit gebrochenen Exponenten durch Potenzieren der Gleichung eliminieren, 3. Gleichung auf Grundform bringen und 4. Lösen der Gleichung und Durchführung einer Probe. ▲ Der erste Schritt ist für den Fall durchzuführen, wenn man nur die reellen Lösungen der Gleichung sucht. Im Komplexen sind auch negative Wurzelargumente zulässig. ▲ Beim Umformen irrationaler Gleichungen können neue Lösungen auftreten, daher ist eine Probe immer auszuführen.
15.9.1
Wurzelgleichungen
Wurzelgleichung mit einer Wurzel Lösungsmethode: Isolierung der Wurzel und Quadrieren (Potenzieren). √ ■ Lösung von x + 7 = x + 1: Definitionsbereich: D = {x ∈ R| x ≥ −7}, Quadrieren: x + 7 = x2 + 2x + 1 | − x − 7, 2 Lösen von 0 = x + x − 6, Lösung:√x1 = 2, √ x2 = −3, √ √ Probe: 2 + 7 = √ 9 = 3 = 2 + 1 und −3 + 7 = 4 = 2 = −3 + 1 = −2, Lösungsmenge von x + 7 = x + 1: L = {2}. ▲ Das Quadrieren/Potenzieren kann zu nicht äquivalenten Gleichungen führen. Weitere scheinbare Lösungen können auftreten. Eine Probe ist immer auszuführen! Wurzelgleichung mit zwei Wurzeln Lösungsmethode: 1. Isolieren einer Wurzel, 2. Quadrieren der Gleichung, 3. Isolieren der übrigen Wurzel und 4. Erneutes Quadrieren.
● Enthält eine Gleichung Potenzen mit rationalen Exponenten, so ist sie durch geeignetes Potenzieren auf die Grundform einer algebraischen Gleichung zu bringen. ■ Umformung von x2/3 − 1 = x: x2/3 − 1 = x |
Potenz isolieren (+1)
x2/3
= x + 1 | Gleichung zur 3. Potenz erheben ()3
x2
= (x + 1)3 | Ausmultiplizieren und Umformen
0
= x3 + 2x2 + 3x + 1.
15.10
Transzendente Gleichungen
Transzendente Gleichung, enthält kompliziertere Ausdrücke als Potenzen. ■ lg x = 0 und sin2 x − x = 4 sind transzendente Gleichungen. ▲ Für transzendente Gleichungen gibt es i. Allg. keine systematischen Lösungswege. Sie sind oft nur näherungsweise numerisch lösbar.
15.10.1
Exponentialgleichungen
Gleichung mit einem Exponentialausdruck Struktur: aT = S, T,S sind Terme. ■ 3x = x + 5 ist Exponentialgleichung.
15.10 Transzendente Gleichungen
521
Lösbarer Spezialfall: S = b ist konstant und T ist ein ganzrationaler Term. Lösungsmethode: Logarithmieren der Gleichung. ■ Lösung der Gleichung 2x −1 = 8: 2
2x −1 2
= 8 | Logarithmieren
(x2 − 1) lg 2 = lg 8 |
: lg 2 (beachte: lg 8 = lg 23 = 3 · lg 2)
x2
3 · lg 2 | +1 lg 2 = 4 | Wurzel ziehen
x1,2
= ±2.
x2 − 1
=
▲ Beim Logarithmieren muss sichergestellt sein, dass beide Seiten der Gleichung > 0 sind. Gleichung mit zwei Exponentialausdrücken Struktur: aT = bS , S,T sind Terme. ■ Lösung der Gleichung 23x+1 = 4x−1 : 23x+1
= 4x−1 |
Logarithmieren
(3x + 1) lg 2 = (x − 1) lg 4 | 3x + 1
= 2(x − 1) |
x
= −3.
15.10.2
: lg 2 − 2x − 1
Logarithmusgleichungen
Gleichung mit einem Logarithmus Struktur: loga T = S , S,T sind Terme. Lösbarer Spezialfall: S = b ist konstant und T ist ganzrationaler Term. Lösungsmethode: Exponentation der Gleichung. ■ Lösung der Gleichung log2 (x2 − 1) = +3: Definitionsbereich: D = {x ∈ R| abs(x) > 1}. log2 (x2 − 1) = 3 | x2 − 1
= 23 |
x2
=9|
x1,2
= ±3.
Exponentation (2... ) +1 Wurzel ziehen
Gleichung mit zwei Logarithmen Struktur: loga T = logb S , S,T sind Terme Lösbarer Spezialfall: a = b und S,T sind ganzrationale Terme. ■ Lösung der Gleichung loga (x + 1) = loga (2x + 4): Definitionsbereich: D = {x ∈ R| x > −1}. loga (x + 1) = loga (2x + 4) | Exponentation (a... ) x+1
= 2x + 4 |
−3
=x
−4−x
=⇒ L = { }, da − 3 ∈ / D.
▲ Bei Logarithmusgleichungen ist genau auf den Definitionsbereich zu achten, da die Exponentation den Definitionsbereich vergrößert.
522
15 Gleichungen und Ungleichungen
15.10.3
Trigonometrische (goniometrische) Gleichungen
Trigonometrische Gleichung, auch goniometrische Gleichung, enthält Winkelfunktionen der Variablen. ● Wegen der Periodizität der Winkelfunktionen sind trigonometrische Gleichungen i. Allg. unendlich vieldeutig, d. h. es gibt unendlich viele Lösungen. ■ sin x = 0 hat die Lösungen x = z · π mit z ∈ Z. ● Vereinfachungen trigonometrischer Gleichungen lassen sich mit den Beziehungen der trigonometrischen Funktionen untereinander, die bei der Einführung der Winkelfunktionen aufgelistet sind, erreichen.
15.11
Gleichungen mit Beträgen
● Gleichungen mit Beträgen sind meist mehrdeutig, da für alle Terme T gilt: | − T | = | + T |. Fallunterscheidung, Methode zur Lösung von Gleichungen, bei der einmal ein positives und einmal ein negatives Betragsargument angenommen wird.
15.11.1
Gleichung mit einem Betragsausdruck
Grundform: S = |T |, S,T sind Terme, vgl. Abschnitt 15.1. Lösungsmethode: Einmalige Fallunterscheidung 1. Betrachte S = +T , für T ≥ 0, 2. betrachte S = −T , für T < 0. ■ Lösung von 2x + 3 = |x − 2|: 1. Fall: 2x + 3 = +(x − 2), für x ≥ 2, mit der scheinbaren Lösung x1 = −5, denn (x1 ≥ 2); 2. Fall: 2x + 3 = −(x − 2) = −x + 2, für x < 2, mit der richtigen Lösung x2 = −1/3, denn (x < 2). y 3
y= 2 x+ 3
2
y=|x −2 |
1
2. Fall
1
2
1. Fall
x
▲ Bei der Lösung von Betragsgleichungen mit Fallunterscheidungen können scheinbare Lösungen auftreten, daher ist immer darauf zu achten, dass die gewonnene Lösung auch in dem betrachteten Intervall liegt oder es ist eine Probe durchzuführen. Komplizierter wird die Aufgabe, falls die Beträge höherer Potenzen berechnet werden müssen. ■ Lösung von 1 = |x2 − 2|: 1. Fall: 1 = +(x2 − 2), für x√2 ≥ 2, mit den Lösungen √ x21,2 = ± 3, Probe: 1 = |(± 3) − 2| = |3 − 2|; 2. Fall: 1 = −(x2 − 2), für x2 < 2, mit den Lösungen x3,4 = ±1,
15.12 Ungleichungen
523
Probe: 1 = |(±1)2 − 2|. Alle vier Lösungen sind echte Lösungen. y 2
y=|x −2 | 1
1. Fall
15.11.2
−1
y=1 x
1
1. Fall
2. Fall
Gleichungen mit mehreren Betragsausdrücken
Lösungsmethode: Durch mehrfache Fallunterscheidungen wird der Bereich der reellen Zahlen R in mehrere u. U. uneigentliche Intervalle unterteilt. ■ Lösung von |x + 1| − 2 = |2x − 4|: y 3
y=| 2 x- 4| y=|x+1| − 2
2 1 −1
3. Fall
1 2. Fall
x
2
1. Fall
1. Fall: x + 1 ≥ 0 und 2x − 4 ≥ 0, d. h. x ≥ 2, Lösung von: +(x + 1) − 2 = +(2x − 4) mit der Lösung x1 = 3, Probe: |3 + 1| − 2 = 2 = |2 · 3 − 4| =⇒ x1 ist Lösung; 2. Fall: x + 1 ≥ 0 und 2x − 4 < 0, d. h. −1 ≤ x < 2, Lösung von: +(x + 1) − 2 = −(2x − 4) mit der Lösung x2 = 5/3 Probe: |5/3 + 1| − 2 = 2/3 = |2 · 5/3 − 4| =⇒ x2 ist Lösung; 3. Fall: x + 1 < 0 und 2x − 4 < 0, d. h. x < −1, Lösung von: −(x + 1) − 2 = −(2x − 4) mit der Lösung x3 = 7, x3 = 7 ≤ −1, kann also keine Lösung sein: Probe: |7 + 1| − 2 = 6 = 10 = |2 · 7 − 4| =⇒ x3 ist keine Lösung. 4. Fall: x + 1 < 0 und 2x − 4 ≥ 0 liefert x < −1 und x ≥ 2, keine Lösung.
15.12
Ungleichungen
Ungleichung, zwei Terme S und T , die durch eines der Relationszeichen < , > , ≤ , ≥ oder das Ungleichheitszeichen = verbunden sind. Die Lösungen von Ungleichungen sind i. Allg. Vereinigungen von Intervallen. ● Ungleichungen lassen sich ähnlich, aber nicht genauso wie Gleichungen umformen.
524
15 Gleichungen und Ungleichungen
15.12.1
Äquivalenzumformungen bei Ungleichungen
1. Vertauschen der Seiten einer Ungleichung ● Vertauscht man die Seiten einer Ungleichung, so ist die neue Ungleichung der alten nur dann äquivalent, wenn das Relationszeichen umgedreht wird. ■ 1 < x und x > 1 sind äquivalente Ungleichungen. ▲ Allzu oft werden aus Flüchtigkeit Ungleichungen, wie etwa 1 < x und x < 1 als äquivalent angesehen. Dies ist falsch. 2. Termaddition und -subtraktion ● Addiert oder subtrahiert man auf beiden Seiten einer Ungleichung jeweils den gleichen Term, so sind alte und neue Ungleichung einander äquivalent, ohne dass das Relationszeichen umgedreht werden muss. ■ x − 2 < 4 und x − 2 + 2 < 4 + 2 bzw. x < 6 sind äquivalent. 3. Termmultiplikation und -division ● Multipliziert oder dividiert man beide Seiten einer Ungleichung mit jeweils dem gleichen, stets positiven Term, so sind alte und neue Ungleichung äquivalent. Ist der Term immer negativ, so sind alte und neue Ungleichung genau dann äquivalent, wenn das Relationszeichen umgedreht wird. ▲ Multiplikation mit oder Division durch Null ist wie bei Gleichungen nicht zulässig! ● Kann der Term, mit dem multipliziert oder dividiert wird, sowohl positive als auch negative Werte annehmen, so ist eine Fallunterscheidung durchzuführen: a < b soll mit einem Term T multipliziert werden, dann sind zu betrachten: 1. Fall: a · T < b · T , für T > 0 und 2. Fall: a · T > b · T , für T < 0. ■ Lösung der Ungleichung x − 1 < (x − 1)−1 : 1. x = 1 als mögliche Lösung ist auszuschließen; 2. 1. Fall: x−1 > 0, also x > 1, Multiplikation mit x−1, d. h. das Relationszeichen ist nicht umzudrehen; (x − 1)2 < 1 besitzt in dem betrachteten Intervall die Lösung 1 < x < 2; 3. 2. Fall: x − 1 < 0, also x < 1, Multiplikation mit x − 1, d. h. das Relationszeichen ist umzudrehen; (x − 1)2 > 1 besitzt in dem betrachteten Intervall die Lösung x < 0; 4. die Ungleichung hat alle reellen Zahlen x mit x < 0 oder 1 < x < 2 zur Lösung, L = {x | x < 0; 1 < x < 2}. y 3
y=x−1
2 1 1
2. Fall
x
2
1. Fall y= ( x- 1)
−1
15.13 Numerische Lösung von Gleichungen
15.12.2
525
Addition und Multiplikation von Ungleichungen
Für reelle Zahlen bzw. Terme a,b,c,d gilt: a≤b∧c≤d 0≤a≤b 0≤c≤d 0≤a≤b c≤d≤0
15.13
=⇒ a + c ≤ b + d =⇒ a · c ≤ b · d =⇒ a · d ≥ b · c
Numerische Lösung von Gleichungen
Nullstellensuche, Methode zur Lösung von Gleichungen der Form f (x) = 0, wobei f (x) ein algebraischer oder transzendenter Term ist. Eine Stelle x = x0 heißt Nullstelle von f (x), wenn f (x0 ) = 0 ist. ● Jede Gleichung lässt sich auf eine Nullstellensuche zurückführen, denn f1 (x) = f2 (x) ist immer äquivalent zu f1 (x) − f2 (x) = 0. ■ ex = x und ex − x = 0 sind äquivalent.
15.13.1
Grafische Lösung
Grafische Lösungsmethode, beide Seiten einer Gleichung werden jeweils als eine Funktion der Variablen betrachtet, die Graphen werden in ein gemeinsames Koordinatensystem gezeichnet. ● Lösungen sind lediglich die Abszissenwerte der Schnittpunkte beider Graphen. ▲ Grafische Lösungen sind uneenau, geben jedoch meist einen guten Hinweis, wo Lösungen zu suchen und wo eventuell Fallunterscheidungen durchzuführen sind.
15.13.2
Intervallschachtelung (Bisektion)
Intervallschachtelung, Methode zur sukzessiven Eingrenzung einer Nullstelle einer stetigen Funktion bzw. Lösung einer Gleichung. ● Kennt man Grenzen eines Intervalls, in dem mit Sicherheit genau eine Nullstelle einer stetigen Funktion liegt, so kann man durch schrittweise Intervallhalbierung die Nullstelle eingrenzen. ▲ Hat eine stetige Funktion an den Grenzen eines Intervalls I unterschiedliche Vorzeichen, so befindet sich mindestens eine Nullstelle in I. Suche einer Lösung der Gleichung f (x) = 0. Abfolge der Prozedur: 1. Schritt: Festlegen zweier Intervallgrenzen x1 und x2 , sodass mindestens eine Nullstelle im Intervall [x1 ,x2 ] liegt, d. h. es gilt f (x1 ) < 0 und f (x7 ) > 0 oder umgekehrt, also mit Sicherheit f (x1 ) · f (x2 ) < 0. 2. Schritt: Neue Intervalle mit x3 = (x2 + x1 )/2 und Überprüfung, os f (x3 ) · f (x1 ) < 0 oder f (x3 ) · f (x2 ) < 0. Im ersten Fall wähle [x1 ,x3 ], andernfalls [x3 ,x2 ] als neues Intervall und iteriere dies solange, bis das Intervall genügend klein ist. ▲ Programmsequenz für Nullstellensuche einer Funktion f (x) im Intervall [su ,xo ] durch Intervallschachtelung BEGIN Intervallschachtelung INPUT xu, xo ( es sei f(xu)*f(xo)<0, xu<xo )
526
15 Gleichungen und Ungleichungen
INPUT eps (benötigte Genauigkeit) fehler:= (xo - xu)/9 WHILE (fehler > eps) DO xneu:= (xo + xu)/2 IF (f(xneu)*f(xu) < 0) THEN xo:= xneu ELSE xu:= xneu ENDIF fehler:= 0.5*fehler ENDDO OUTPUT (xo+xu)/2 END Intervallschachtelung
15.13.3
Sekantenverfahren und Regula falsi
Sekantenverfahren und Regula falsi, Iterationsmethoden zur näherungsweisen Nulsstellensuche bei stetigen Funktionen f (x). Idee der Verfahren: neue Näherung ist die Nullstelle der Sekante durch die beiden vorangegangenen Näherungen. Regula falsi: Spezielles Sekantenverfahren, bei dem zusätzlich gefordert wird, dass die gesuchte Nullstelle immer zwischen zwei aktuellen Näherungen liegt, f (xn−1 ) · f (xn ) < 0. ▲ Ist der Einschluss der Nullstelle einmal erreicht, dann kann er im nächsten Schritt aufrechterhalten werden: Das Sekantenverfahren geht in die Regula falsi über. y x n+1 xn x n−1 x
Idee der Regula falsi ● Iterationsvorschrift für die beiden Verfahren: xn − xn−1 xn+1 = xn − f (xn ) , x0 ist der Startwert. f (xn ) − f (xn−1 ) ▲ Programmsequenz für Nullstellensuche einer Funktion f durch Regula falsi mit vorgegebener Genauigkeit . BEGIN Regula falsi INPUT xu, xo ( es sei f(xu)*f(xo)<0, xu<xo ) INPUT eps (Fehlerschranke) fehler:= xo - xu xalt:= xo WHILE (fehler > eps) DO xneu:= xo - f(xo)*(xo - xu)/(f(xo) - f(xu)) IF (f(xneu)*f(xu) < 0) THEN xo:= xneu
15.13 Numerische Lösung von Gleichungen
527
ELSE xu:= xneu ENDIF fehler:= abs(xalt - xneu) xalt:= xneu ENDDO OUTPUT xneu END Regula falsi ▲ Regula falsi und das verwandte Newton-Verfahren konvergieren i. Allg. schneller als die sukzessive Approximation.
15.13.4
Newton-Verfahren
Newton-Verfahren, Iterationsmethode zur näherungsweisen Nullstellensuche bei differenzierbaren Funktionen f . Die Nullstelle der Tangente an die Kurve an der Stelle des alten Näherungswertes gibt den neuen Näherungswert. y
x n+1
xn
x
Idee des Newton-Verfahrens ● Iterationsvorschrift: f (xn ) xn+1 = xn − x0 ist der Startwert. f (xn ) ▲ Das Newton-Verfahren ist nur dann anwendbar, wenn die Ableitung f der Funktion bekannt ist. Konvergenzordnung, in einem numerischen Iterationsverfahren seien ε n und ε n+1 die Abweichungen von der gesuchten exakten Lösung xl von f (x) = 0 im n-ten bzw. (n + 1)-ten Schritt, xn = xl + ε n ,
xn+1 = xl + ε n+1
mit ε n+1 = Aε np .
Die Größe p wird als Ordnung der Konvergenz des Verfahrens bezeichnet. ● Hinreichende Bedingung für die Konvergenz des Newton-Verfahrens:
f (x) · f (x)
[ f (x)]2 ≤ q, q < 1, x ∈ U für alle x in einer Umgebung U der Nullstelle, die alle Punkte xn enthält. In manchen Fällen konvergiert das Verfahren nicht oder nur sehr langsam. Dann ist der Startwert x0 zu weit von der Nullstelle entfernt oder es handelt sich um eine mehrfache Nullstelle von f . ▲ Ist die Nullstelle xl von f einfach, d. h. gilt f (xl ) = 0 und f (xl ) = 0, dann ist das Newton-Verfahren lokal quadratisch konvergent, f (xl ) ε n+1 = ε n2 . 2 f (xl ) Im Fall mehrfach zu zählender Nullstellen ist das Newton-Verfahren nur noch lokal linear konvergent, ε n+1 = Aε n ,
|A| < 1.
528
15 Gleichungen und Ungleichungen
▲ Programmsequenz für Nullstellensuche einer Funktion f durch das Newton-Verfahren mit der Genauigkeitsvorgabe . Die Ableitung von f ist f . BEGIN Newton INPUT x0 (erste Näherung der Nullstelle) INPUT eps (Fehlerschranke) x:= x0 ; fehler:= eps + 1 WHILE (fehler > eps) DO y:= x - f(x)/f’(x) fehler:= abs(y-x) x:= y ENDDO OUTPUT x END Newton
15.13.5
Sukzessive Approximation
Fixpunkt eines mathematischen Ausdrucks T (x), derjenige Wert x0 , für den T (x0 ) = x0 gilt. Sukzessive Approximation, Iterationsvorschrift zum Auffinden von Fixpunkten x = T (x). xn+1 = T (xn ), n = 0,1,2, . . . ■ Lösung von x − cos x = 0: Betrachte cos x = x. Startwert: 1 1. cos 1,000 = 0,540 2. cos 0,540 = 0,858 3. cos 0,858 = 0,654 4. cos 0,654 = 0,793 .. .. . . 17. cos 0,738 = 0,740 18. cos 0,740 = 0,739 19. cos 0,739 = 0,739 (Fixpunkt auf 3 Stellen genau) y 1
y=x
y= cos x
1
π/2
x
Beispiel zur sukzessiven Approximation ● Banach’scher Fixpunktsatz: Ist I ein abgeschlossenes Intervall und T eine Abbildung derart, dass für alle x ∈ I gilt: T (x) ∈ I und genügt T einer Lipschitz-Bedingung oder auch Kontraktionsbedingung |T (x2 ) − T (x1 )| ≤ L · |x2 − x1 | mit L < 1 für alle x1 ,x2 ∈ I, dann gibt es einen eindeutig bestimmten Fixpunkt x ∈ I, x = T (x).
15.13 Numerische Lösung von Gleichungen
529
● Unter den Voraussetzungen des Banach’schen Fixpunktsatzes konvergiert das Verfahren der sukzessiven Approximation stets gegen den (eindeutig bestimmten) Fixpunkt von T . ▲ Ist I abgeschlossen und beschränkt und T differenzierbar, so ist L = max{|T (x)|, x ∈ I}. ▲ Programmsequenz zur Berechnung der Lösung von cos x = x mit sukzessiver Approximation. BEGIN Sukzessive Approximation INPUT eps (benötigte absolute Genauigkeit) x0:= 1 fehler:= 1 WHILE (fehler > eps) DO x1:= cos(x0) fehler:= abs(x1 - x0) x0:= x1 ENDDO OUTPUT x0 END Sukzessive Approximation ● Fixpunkt von S(x) ist die Lösung der Gleichung T (x) = S(x)−x = 0. Falls also die Lösung der Gleichung T (x) = 0 gesucht ist, kann als Alternative zur direkten Lösung der Fixpunkt von S(x) = T (x) + x mittels sukzessiver Approximation bestimmt werden. ▲ Häufig lassen sich Gleichungen nicht mit sukzessiver Approximation lösen, da das entsprechende S(x) oft keiner Lipschitz-Bedingung genügt. Übersicht der numerischen Nullstellensuchmethoden: Methode Intervallschachtelung Regula falsi Newton Sekantenmethode
Anzahl Startwerte
Konvergenz
2
langsam
2
mittel
1
schnell
2
mittel bis schnell
Stabilität immer konvergent immer konvergent nicht immer konvergent nicht immer konvergent
Anwendbarkeit
Bemerkungen
universell universell eingeschränkt falls f = 0
f benötigt
universell
Startwerte brauchen Nullstellen nicht einzuschließen
16
Vektorrechnung
16.1
Vektoralgebra
16.1.1
Vektor und Skalar
In Technik und Naturwissenschaft treten skalare und vektorielle Größen auf. Skalar, durch die Angabe eines Zahlenwertes (reelle Maßzahl) und die Maßeinheit vollständig bestimmte Größe. ■ Länge, Zeit, Temperatur, Masse, Arbeit, Energie, Potenzial, Kapazität. Neben Maßzahl und Einheit benötigen viele Größen die zusätzliche Angabe einer Richtung: Vektor, gerichtete Größe (Strecke), dargestellt durch einen Pfeil. Richtung des Pfeiles bestimmt die Richtung des Vektors. Länge des Pfeiles entspricht der Maßzahl. Bezeichnung: Im Allgemeinen mit lateinischen Buchstaben im Fettdruck, versehen mit einem Pfeil (a,b), auch üblich sind deutsche Buchstaben bzw. die Notationen (a,a etc.). Eine eindeutige Festlegung erhält man ebenfalls durch die Angabe von Anfangs- und Endpunkt, P und Q: a = PQ. ■ Geschwindigkeit, Beschleunigung, elektrische und magnetische Feldstärke, Gravitationskraft, Ortsvektor, Drehmoment. ▲ Viele Vektoren sind – wie die zugehörigen Rechenregeln – anschaulich in zwei oder drei Dimensionen (Ebene, Raum) gegeben, das Vektorkonzept lässt sich aber direkt auf n Dimensionen ausdehnen. ndimensionale Vektoren (auch mit n > 1000) haben große praktische Bedeutung bei der Behandlung großer linearer Gleichungssysteme. Betrag oder Norm, Länge eines Vektors, Abstand Q des Anfangspunktes vom Endpunkt, bestimmt die Länge des Vektors: a a = |a| = PQ ≥ 0. a=PQ P Oft auch #a#. ● Durch die Angabe von Betrag und Richtung ist ein Vektora eindeutig bestimmt. ▲ Relevant für die Bestimmung eines Vektors sind nur Betrag und Richtung, nicht dagegen die genaue Lage im Raum: Der „Vektor“ ist gewissermaßen ein Symbol für alle Pfeile, die durch Parallelverschiebung aus ihm hervorgehen können.
16.1.2
Spezielle Vektoren
Nullvektor 0, Vektor vom Betrag Null, Anfangs- und Endpunkt fallen zusammen. Der Nullvektor hat die Länge Null und eine unbestimmte Richtung. Einheitsvektore, Vektor vom Betrag Eins, |e| = 1. Ortsvektor (gebundener Vektor) des Punktes P,
r(P) = OP,
16.1 Vektoralgebra
531
zu jedem Vektor a gibt es einen Vertreter, dessen Anfangspunkt (O) im Koordinatenursprung liegt und dessen Spitze zum Punkt P führt. Freier Vektor, darf beliebig verschoben, aber nicht gespiegelt, nicht gedreht und nicht skaliert werden. Linienflüchtiger Vektor, Vektor, der entlang seiner Wirkungslinie beliebig verschiebbar ist. ■ Kräfte am starren Körper sind linienflüchtige Vektoren. Gleichheit von Vektoren, zwei Vektoren werden als gleich betrachtet, wenn sie in Betrag und Richtung übereinstimmen, a = b. ● Gleich lange Vektoren sind nur dann gleich, wenn sie ohne Drehung (Rotation), nur durch eine Parallelverschiebung, zur Überdeckung gebracht werden können. Parallele Vektoren, a ||b, können durch Parallelverschiebung auf dieselbe Gerade gebracht werden. Gleichgerichtete Vektoren, a ↑↑ b, haben die gleiche Richtung. Entgegengesetzte (antiparallele) Vektoren,a ↑↓ b, haben entgegengesetzte Richtungen bzw. entgegengesetzte Orientierungen. Inverser Vektor oder Gegenvektor −a, Vektor mit gleicher Länge wiea, jedoch entgegengesetzter Richa tung. Der inverse Vektor −a ist antiparallel zu a, −a a ↑↓ (−a). Vektorfeld, Gesamtheit der den Raumpunkten zugeordneten (Feld-) Vektoren; Funktion von Rn nach Rn . ■ Gravitationsfeldstärke, magnetische Feldstärke, elektrische Feldstärke.
16.1.3
Multiplikation eines Vektors mit einem Skalar
Produkt von Vektora mit Skalar r ergibt einen Vektor b = ra mit dem |r|-fachen Betrag des Vektors a: |ra| = |r| · |a|. ▲ Oft wird der Multiplikationspunkt weggelassen, um Verwechslungen mit dem Skalarprodukt zweier Vektoren, a · b, zu vermeiden. r > 0 : ra unda sind gleichgerichtet (a ↑↑ ra).
1,5 a a −0,5 a
■ Kraftgesetz der Mechanik, Kraft gleich Masse mal Beschleunigung, F = ma. r < 0 : ra unda sind entgegengerichtet,a ↑↓ ra. r = −1: Gegenvektor ra = −a, gleicher Betrag wiea, entgegengesetzte Richtung. ▲ Die beiden Vektoren a und ra, (r = 0) sind kollinear, d. h. linear abhängig.
16.1.4
Vektoraddition
Addition zweier Vektoren a und b, der Vektor b wird verschoben, bis sein Anfangspunkt in den Endpunkt des Vektors a fällt. Summenvektor c, der resultierende Vektor, der vom Anfangspunkt vona zum Endpunkt des verschobenen Vektors b reicht. c = a +b. ■ Parallelogramm der Kräfte im Fachwerk.
b
a c=a+b
a
b
532
16 Vektorrechnung
▲ Für das Rechnen mit skalaren Größen gelten die Rechengesetze (Algebra) der reellen Zahlen, für das Rechnen mit Vektoren wird die Vektoralgebra benötigt: |c| = |a| + |b|. ● Die Addition mehrerer Vektoren erfolgt nach der Polygonregel (auch: Vektorpolygon): Der jeweils nächste zu addierende Vektor wird mit seinem Anfangspunkt am Endpunkt des vorherigen abgetragen. Dies führt zu einem Polygon.
a
b
c
e
● Ist das Vektorpolygon geschlossen, so ist der Sumd menvektor der Nullvektor. ■ Führt die Vektoraddition von Kräften zum Nullvektor, so heben sich die Kräfte in ihrer Wirkung gegenseitig auf.
16.1.5
Vektorsubtraktion
Subtraktion zweier Vektoren a und b, durch Addition vona und dem zum Vektor b inversen Vektor −b erhält man als resultierenden Vektor den Differenzvektor d: d = a −b = a + (−b).
b
d=a−b a −b
a−b
a
−b
Der Differenzvektor d weist vom Endpunkt von b zum Endpunkt vona, wenn a und b einen gemeinsamen Anfangspunkt haben. ▲ Der Differenzvektor lässt sich ebenfalls im Parallelogramm darstellen. ■ Abstandsvektor der Punkte mit den Ortsvektorenr1 undr2 : r2 −r1 .
16.1.6
Rechengesetze
Vektorraumaxiome, folgende Gesetze gelten allgemein für das Rechnen mit Vektoren in n Dimensionen (im so genannten n-dimensionalen Vektorraum Rn , n = 2,3, . . .). ● Kommutativgesetz:
a +b = b +a. ● Assoziativgesetze:
a + (b +c) = (a +b) +c, r · (s ·a)
= (r · s) ·a r,s ∈ R.
● Neutrales Element:
0 +a = a +0 = a. ● Inverses Element:
a + (−a) = (−a) +a = 0. ● Distributivgesetze: r · (a +b) = r ·a + r · b, (r + s) ·a = r ·a + s ·a, 0 ·a
=a · 0 = 0,
1 ·a
=a · 1 = a.
16.1 Vektoralgebra
533
● Dreiecksungleichung: ||a| − |b|| ≤ |a ±b| ≤ |a| + |b|. ■ Zwei Dimensionen (n = 2): Die Ebene oder auch die „Ebene der Lösungsvektoren“ von homogenen Gleichungssystemen mit zwei Unbekannten; Drei Dimensionen (n = 3): Der dreidimensionale Raum; oder der Raum von Lösungsvektoren eines Systems von drei Gleichungen mit drei Unbekannten.
16.1.7
Lineare (Un-)Abhängigkeit von Vektoren
Linearkombination b von Vektoren a1 ,a2 , . . . ,an , Summe von n Vektoren ai , i = 1, . . . ,n, mit skalaren Koeffizienten ri :
b = r1a1 + r2a2 + . . . + riai + . . . + rnan , ri ∈ R ,ai ∈ Rm , i. Allg. m = n. ■ n = 3:
b = r1a1 + r2a2 + r3a3 . Linear abhängige Vektoren, a1 , a2 , . . . ,an, (ai = 0, i = 1, . . . ,n), es existiert eine Linearkombination der n Vektoren, die verschwindet, r1a1 + r2a2 + . . . + rnan = 0, obwohl die Koeffizienten r1 ,r2 , . . . ,rn nicht alle gleichzeitig Null sind. ● Bei linear abhängigen Vektoren ist wenigstens einer der Vektoren als Linearkombination der anderen Vektoren, d. h. als Summe von Vielfachen der anderen Vektoren, darstellbar. Kollineare Vektoren, parallele oder antiparallele Vektoren a und b = 0, einer der beiden Vektoren ist ein Vielfaches des anderen Vektors a,b.
a = rb, r ∈ R, a,b ∈ R2 . ● Kollineare Vektoren sind linear abhängig: Jeder Vektor kann durch ein Vielfaches eines parallelen Vektors dargestellt werden! Komplanare Vektoren, zwei (oder mehr) in einer Ebene liegende Vektorena,b undc = 0. ● Drei oder mehr Vektoren in R2 sind linear abhängig: Jeder Vektor in einer Ebene kann durch eine Summe von Vielfachen zweier linear unabhängiger Vektoren in der Ebene dargestellt werden. ra + sb + tc = 0. ● Drei Vektoren des R3 liegen in einer Ebene, wenn die Determinante ihrer Komponenten verschwindet:
ax bx cx
ay by cy = 0.
az bz cz Linear unabhängige Vektoren, a1 ,a2 , . . . ,ai , . . . ,an , alle Linearkombinationen verschwinden dann und nur dann, wenn alle ri verschwinden, ri ≡ 0: r1a1 + r2a2 + . . . + riai + . . . + rnan = 0
=⇒
ri = 0 für alle i.
● Zwei nicht kollineare Vektoren bzw. drei nicht komplanare Vektoren sind linear unabhängig. ● Ist die Zahl der Vektoren n größer als die Dimension m des Vektorraumes, so sind die Vektoren immer linear abhängig. ■ Drei Vektoren in einer Ebene und vier Vektoren in einem dreidimensionalen Raum sind immer linear abhängig, d. h. man kann einen Vektor als Summe des Vielfachen der anderen Vektoren ausdrücken.
534
16 Vektorrechnung
16.1.8
Basis
Basis, eines n-dimensionalen Vektorraumes Rn , System von n linear unabhängigen Vektoren im Rn . ● Jeder Vektor eines Vektorraumes kann durch Linearkombinationen seiner Basisvektoren beschrieben werden. Orthogonalbasis, die Basisvektoren stehen senkrecht aufeinander. Orthonormalbasis, die Basisvektoren stehen senkrecht aufeinander und sind normierte Einheitsvektoren: |e1 | = |e2 | = . . . = |en | = 1. Kartesische Basis (Einheitsvektoren), geradliniges Orthonormalbasissystem, das eine besonders einfache geometrische Interpretation der zu beschreibenden Probleme erlaubt. Normierte Basis des zweidimensionalen Vektorraums R2 (z. B. x,y der Ebene), sind zwei linear unabhängige (d. h. nicht parallele) Einheitsvektoren e1 ,e2 (nicht notwendigerweise senkrecht aufeinander stehend).
y P
a2 1 e2 e1 1
a1 x
Komponentendarstellung: Ein kartesisches Koordinatensystem im n-dimensionalen Vektorraum Rn erlaubt die Darstellung von ndimensionalen Ortsvektoren (deren Anfangspunkt im Nullpunkt liegt), durch die Angabe der Koordinaten (a1 ,a2, . . . ,an ) des Punktes P, in dem die Vektorspitze endet. Die Vektoren a i ei , i = 1, . . . ,n werden als die Komponenten des Vektors a bezeichnet. ■ In der Darstellung eines Vektors durch eine Zeilen- oder Spaltenmatrix werden oft auch die Zahlen ai selbst als Komponenten des Vektors bezeichnet. Komponentendarstellung eines Vektors in n Dimensionen: a) Spaltenschreibweise, a1 a2 a = .. . . an b) Zeilenschreibweise (transponierter Spaltenvektor), T
a = (a1 ,a2 , . . . ,an ). ▲ Komponentenweises Rechnen ist hier nur für kartesische Koordinaten angegeben, die Formeln gelten nicht für Polar-, Kugel- oder Zylinderkoordinaten! ■ Vektoren werden komponentenweise addiert und subtrahiert. Komponentendarstellung: a1 b1 a1 ± b1 a2 ± b2 = a2 ± b2 . a3 b3 a3 ± b3
16.1 Vektoralgebra
535
■ Gesamtkraft als Resultierende der Einzelkräfte: n
Fx = Fx1 + Fx2 + . . . + Fxn =
∑ Fx , α
α =1
n
Fy = Fy1 + Fy2 + . . . + Fyn =
∑ Fy , α
α =1
n
Fz = Fz1 + Fz2 + . . . + Fzn =
Fx Fxα n F = Fy = ∑ Fyα . α =1 Fz Fzα
∑ Fz , α
α =1
■ Differenz von Ortsvektoren in Komponentendarstellung:
a −b =ax +ay +az −bx −by −bz = (ax − bx )i + (ay − by )j + (az − bz )k. ■ Addition in Zeilenschreibweise:
b = (5, 7, − 8) a = (3, − 5, 7) a +b = (3 + 5, (−5) + 7, 7 + (−8)) = (8, 2, − 1). Basis im dreidimensionalen Raum: Normierte Basis, drei beliebige linear unabhängige, d. h. nicht komplanare Einheitsvektorene1 ,e2 ,e3 , a = a1 ·e1 + a2 ·e2 + a3 ·e3 . Orthonormalbasis im kartesischen Koordinatensystem, drei senkrecht aufeinanderstehende Einheitsk mit vektoreni,j, 1 0 0 i = 0 , j = 1 , k = 0 , 0 0 1
z a3
P a
k j i
y
a2 a1
x
d. h.i,j,k sind Einheitsvektoren in x-, y- und z-Richtung (liegen jeweils auf der Koordinatenachse). Rechte-Hand-Regel, gestreckter Daumen (e1 ) und Zeigefinger (e2 ) und der um 90◦ abgewinkelte Mittelfinger (e3 ) der rechten Hand bilden ein Rechtssystem. Die Vektoren im dreidimensionalen Raum sind durch ihre Koordinaten a1 ,a2 ,a3 bezüglich eines rechtwinkligen kartesischen Koordinatensystems gegeben. Durch Weglassen der dritten Komponente entsteht ein zweidimensionaler Vektor in der Ebene, für den die gleichen aufgeführten Rechenoperationen gelten. a1 a1 3D : a2 , 2D : . a2 a3 ● Jeder Vektora in der Ebene ist als Linearkombination (Summe von Vielfachen vone1 unde2 ) der zwei Basisvektoren (e1 ,e2 ) darstellbar:
a = a1 ·e1 + a2 ·e2 ;
a1 ,a2 ∈ R.
Affine Koordinaten von a bezüglich der Basise1 ,e2 : a1 ,a2 . ■ Kartesisches Koordinatensystem in zwei Dimensionen, die Basisvektoreni,j sind senkrecht aufeinanderstehende Einheitsvektoren.
536
16 Vektorrechnung
i = 1 , 0
j = 0 . 1
Komponenten (Koordinaten a1 ,a2 ) bestimmen den Vektor eindeutig
a = a1 ·i + a2 ·j. Spaltenvektor: a1 a = . a2 Zeilenvektor: T
a = (a1 ,a2 ). ● Im dreidimensionalen Vektorraum R3 lässt sich jeder Vektor a durch die drei kartesischen Koordinaten (a1 ,a2 ,a3 ) beschreiben, die die Vorfaktoren der kartesischen Einheitsvektoreni,j,k sind:
a = (a1 ,a2 ,a3) = a1i + a2j + a3k mit
1 0 0 i = 0 j = 1 k = 0 . 0 0 1 ● Lineare Unabhängigkeit in der Ebene, zwei Vektoren in der Ebene, a1 b = b1 a = a2 b2 sind linear unabhängig, wenn die Vektorgleichung ra + sb = 0 nur die triviale Lösung r = s = 0 besitzt. Diese Vektorgleichung ist gleichwertig dem linearen Gleichungssystem in r und s: ra1 + sb1 = 0 ra2 + sb2 = 0. ● Die Vektoren a und b sind linear abhängig (kollinear) bei Verschwinden der Determinante, d. h. das lineare Gleichungssystem ist nicht eindeutig lösbar!
a a
1 2
= a1 · b2 − a2 · b1 = 0.
b1 b2 ▲ Lineare Abhängigkeit bedeutet, dass die zwei Geraden, auf denen a und b liegen, parallel sind (sich nicht schneiden) oder aufeinander liegen (unendlich viele Schnittpunkte haben). Dann hat das obige lineare Gleichungssystem keine Lösung ⇐⇒ Die Determinante ist Null! −2 1 8 ■ a = ; b = ; c = . 7 3 −15
−2 1
= −6 − 7 = −13 = 0 :
7 3
a und b sind linear unabhängig und können als Basis verwendet werden. c = ra + sb, −→ −2r + s = 8 und7r + 3s = −15. Lösen des Gleichungssystems ergibt:
c = −3a + 2b. c ist hier als ganzzahliges Vielfaches vona und b darstellbar.
16.2 Skalarprodukt oder inneres Produkt
16.2
537
Skalarprodukt oder inneres Produkt
Skalarprodukt, Multiplikation zweier n-komponentiger Vektoren a,b ∈ Rn derart, dass das Ergebnis ein Skalar, also eine reelle Zahl, ist:
a ·b = c, c ∈ R.
▲ Anschauliche Bedeutung des Skalarproduktes: Projektion von b aufa, multipliziert mit |a| oder Projektion von a auf b, multipliziert mit |b|.
b
b
14 2 43
● Die beiden Vektoren müssen gleich viele Komponenten haben! Ist ϕ der zwischen den Vektoren eingeschlossene Winkel, dann gilt: a ·b = |a| · |b| · cos ϕ (0◦ ≤ ϕ ≤ 180◦ ).
a′
ϕ
ϕ 14243 a b′ T a •b b′ = |a|
a T
a •b a′= |b|
Komponentendarstellung, „Zeile mal Spalte“: b1 T b2 a b = (a1 ,a2 , . . . ,an ) · .. = a1 b1 + a2 b2 + . . . + an bn . . bn T
▲ In Matrixschreibweise ist die Reihenfolge der Vektoren extrem wichtig! a b ergibt einen Skalar (Zeile T mal Spalte), aber b a ergibt eine (n × n)-Matrix (das dyadische Produkt).
16.2.1
Rechenregeln
● Kommutativgesetz:
a ·b = b ·a. ● Distributivgesetz:
a · (b +c) = a ·b +a ·c. ● Assoziativgesetz für Multiplikation mit reeller Zahl r: (ra) · b = r(a · b) = ra · b. ▲ Daa·b = c einen Skalar (c ∈ R) ergibt, kann man niemals das Skalarprodukt von drei Vektoren bilden: a ·b ·c existiert nie! Das Produkt (a ·b)c existiert, es ist das Produkt der Zahla ·b=|a||b| cos ϕ mit dem Vektor c. ● Das Skalarprodukt zweier Vektoren a,b kann nur gebildet werden, wenn a und b aus dem gleichen Vektorraum sind, d. h. gleich viele Komponenten haben. ■ a = (a1 ,a2 ) , b = (b1 ,b2 ,b3 ) ⇒ a · b existiert nicht!
Betrag, Normierung und Gleichheit von Vektoren im R3 : Betrag oder Länge, Norm eines Vektors: $ |a| = a ·a = a21 + a22 + a23 . Normierung eines Vektors, Einheitsvektor: a1 a1 a 1 1 · a2 . = · a2 = 2 + a2 + a2 |a| |a| a 1 2 3 a3 a3 Betrag:
a
= 1.
|a| ■ Betrag des Vektors a = 3i −j + 2k √ |a| = 32 + (−1)2 + 22 = 14 ≈ 3,742. Gleichheit von Vektorena und b: ● Vektoren sind genau dann gleich, wenn alle ihre Koordinaten gleich sind:
■ Gesucht: eingeschlossener Winkel ϕ der beiden Vektoren
a
= (0,1,1) b = (1,1,0),
cos ϕ =
a ·b 1 1 =√ √ = → ϕ = 60◦ . 2 2· 2 |a| · |b|
▲ Anwendung in der 3-D-Computergrafik: Ausblendung verdeckter Flächen von konvexen Körpern. Ist das Skalarprodukt eines Flächennormalenvektors mit dem Bildschirmnormalenvektor negativ, d. h. deutet die Fläche weg vom Bildschirm, so wird sie nicht in der Grafik dargestellt. ● Dreiecksungleichung: |a +b| ≤ |a| + |b|, $ $ 2 2 2 2 (a1 + b4 ) + . . . + (an + bn ) ≤ a1 + . . . + an + b28 + . . . + b2n . ● Cauchy-Schwarz’sche Ungleichung: |a · b| ≤ |a| · |b|. ● Kollineare Vektoren als Spezialfall: Das Skalarprodukt zweier paralleler Vektoren a und b ist gleich dem Produkt der Beträge der zwei Vektoren (ϕ = 0, cos ϕ = 1).
a ·b = |a| · |b|
a ↑↑ b.
16.2 Skalarprodukt oder inneres Produkt
539
Das Skalarprodukt entgegengesetzter Vektoren ist gleich dem negativen Produkt der Beträge vona und b (ϕ = 180◦ , cos ϕ = −1).
a ·b = −|a| · |b|
a ↑↓ b.
● Senkrecht stehende (orthogonale) Vektoren als Spezialfall: Das Skalarprodukt orthogonaler Vektoren verschwindet (ϕ = 90◦ , cos ϕ = 0).
a ·b = 0
⇐⇒
a ⊥ b.
■ Konstruktion orthogonaler Vektoren: Bestimmung von einer Komponente b3 von b, sodassa ⊥ b
a = (3,2, − 2) b = (2,1,b3) a ·b = 6 + 2 − 2b3 = 0 → b3 = 4. ● Kosinussatz: (a ±b)2 = a2 ± 2a · b +b2 = |a|2 + |b|2 ± 2|a||b| cos(a,b), (a +b)2 − (a −b)2 = 4a · b = 4|a||b| cos(a,b), $ |a ± b| = a2 ± 2a · b +b2 . ● Kartesische Einheitsvektoren im Raum R3 ,i,j,k stehen senkrecht aufeinander:
i ·i =j ·j = k ·k = 1
(wegen ϕ = 0◦ , also cos ϕ = 1).
i ·j =i ·k =j ·k = 0
(wegen ϕ = 90◦ , also cos ϕ = 0).
● Kronecker-Symbol, fasst die Orthonormalität zusammen: 0 (l = m) δ lm =el ·em = mite1 =i,e2 =j,e3 = k und l,m = {1,2,3}. 1 (l = m) ■ Multiplikation von Vektoren mit einem Skalar erfolgt komponentenweise: a1 ra1 ra = r a2 = ra2 , a3 ra3 (r · s)a = r(sa),
ra1 rb1 r(a +b) = ra + rb = ra2 + rb2 , ra3 rb3 (r + s)a = ra + sa.
Matrizen, Determinanten und lineare Gleichungssysteme
17.1
Matrizen
Matrix, Schema zur rechteckigen Anordnung von m · n Zahlen, die entsprechend ihrer Stellung im Schema indiziert sind. Zu Rechenoperationen siehe 17.3. Lineares Gleichungssystem, System aus mehreren linearen Gleichungen für mehrere Unbekannte, wobei die Unbekannten so zu bestimmen sind, dass die Gleichungen simultan erfüllt werden. Matrizen werden zur Behandlung linearer Gleichungssysteme (lineare Abbildungen, Transformationen, Diskretisierung von Differenzialgleichungen, Finite Elemente usw.) verwendet. Bei der Berechnung elektrischer Netzwerke oder Festigkeitsberechnungen für Maschinenteile (Wellen, Motoren) treten häufig große Gleichungssysteme mit mehr als 100 Gleichungen auf. Siehe auch Anwendungen in den Kapiteln Differenzialgleichungen und Vektorrechnung. ■ Lineares Gleichungssystem mit drei Unbekannten x1 ,x2 ,x3 (s. auch Abschnitt 17.5): a11 x1 + a12 x2 + a13 x3 = c1 a21 x1 + a22 x2 + a23 x3 = c2 a31 x1 + a32 x2 + a33 x3 = c3 Koeffizientenmatrix A, die bei dem linearen Gleichungssystem gebildete Matrix aus den bekannten Koeffizienten ai j zu den Unbekannten x j : a11 a12 a13 A = a21 a22 a23 . a31 a32 a33 Abgekürzte symbolische Matrizenschreibweise: Ax = c. Manchmal auch: [A]{x} = {c}. Lösungsvektor x, auch {x}, unbekannter Vektor, der zu bestimmen ist. Konstantenvektor c, auch {c} (siehe Kapitel 16). ▲ In der Vektorrechnung wird ein Vektor aufgrund seiner geometrischen Interpretation (Pfeil in der Ebene oder im Raum) zusätzlich mit einem Pfeil gekennzeichnet a oder unterstrichen a. In der Matrizenrechnung wird dieser Pfeil jedoch meist weggelassen, weil ein Vektor hier als Zeilen- oder Spaltenmatrix aufgefasst wird. Matrix A(m,n) , rechteckige Anordung von m · n Matrixelementen ai j in m Zeilen (horizontale Reihen) und n Spalten (vertikale Reihen). Typ einer Matrix A(m,n) , (m × n)-Matrix A (sprich „m mal n-Matrix“), Klassifizierung von Matrizen nach der Zeilenzahl m und der Spaltenzahl n. Alle Matrizen mit der gleichen Anzahl von Spalten und Zeilen gehören zum gleichen Typ. a11 · · · a1n .. m, n ∈ N. A = ... . am1 · · · amn
17.1 Matrizen Abgekürzte Schreibweise: A = (ai j )i=1,...,m,
j=1,...,n
541
= (Ai j ) = (ai j ).
Matrixelemente ai j auch Ai j , sind mit Indizes (natürliche Zahlen) versehen: Index i ∈ N: Zeilennummer (i = 1, . . . ,m), Index j ∈ N: Spaltennummer ( j = 1, . . . ,n). ■ Das Matrixelement a32 steht im Kreuzungspunkt der dritten Zeile mit der zweiten Spalte. ▲ Matrixelemente können reelle oder komplexe Zahlen sein, sich aber auch aus anderen mathematischen Objekten wie Polynomen, Differenzialen, Vektoren oder Operatoren (z. B. Funktionale oder Differenzialoperatoren) zusammensetzen. Reelle Matrix, Matrix mit reellen Matrixelementen. Komplexe Matrix, Matrix mit komplexen Matrixelementen. ▲ Auf dem Computer werden Matrizen häufig als indizierte Größen (Felder oder Arrays) dargestellt. Deklaration einer reellen Matrix mit m Zeilen und n Spalten in FORTRAN: DIMENSION A(m,n), in PASCAL: VAR A: ARRAY[1..m,1..n] OF REAL;. Das Matrixelement ai j wird in FORTRAN durch A(i,j) und in PASCAL und C durch A[i,j] oder A[i][j] dargestellt. ▲ Darstellung einer komplexen Matrix auf dem Computer ist oft nur durch getrennte Behandlung von Real- und Imaginärteil möglich. Deklaration einer komplexen Matrix mit m Zeilen und n Spalten in FORTRAN: COMPLEX A(m,n), in PASCAL: VAR A: ARRAY[1..m,1..n] OF RECORD Re: REAL; Im: REAL END; Während in FORTRAN Operationen mit dem Variablentyp COMPLEX definiert sind, müssen in PASCAL und C Operationen mit den Real- und Imaginärteilen getrennt vereinbart werden. Auf das Matrixelement ai j wird in FORTRAN genauso wie bei reellen Matrizen zugegriffen. In PASCAL wird auf den Real- und Imaginärteil getrennt zugegriffen: Realteil von ai j = A[i,j].Re Imaginärteil von ai j = A[i,j].Im Hauptdiagonalelemente, die auf der Diagonalen von links oben nach rechts unten liegenden Matrixelemente: a11 , a22 , a33 , . . . , d. h. alle ai j mit i = j: (aii ) = (a11 , a22 , . . . ,ann ). Nebendiagonalelemente, die auf der Diagonalen von rechts oben nach links unten liegenden Matrixelemente: a1,n , a2,n−1 , a3,n−2 , . . . , d. h. alle ai j mit j = n − (i − 1), i, j ∈ {1, . . . ,n} : (ai,n−(i−1) ) = (a1,n−1 ,a2,n−2 , . . . ,an,1 ).
542
17 Matrizen, Determinanten und lineare Gleichungssysteme
Spur einer Matrix, Summe der Diagonalelemente einer (n × n)-Matrix: n
Zeilenvektor, Matrix, die nur eine Zeile (horizontal) hat (Zeilenmatrix) oder eine einzelne Zeile einer Matrix. Spaltenvektor, Matrix, die nur eine Spalte (vertikal) hat (Spaltenmatrix) oder eine einzelne Spalte einer Matrix. a1 .. Spaltenvektor: a = . Zeilenvektor: aT = (a1 , · · · ,an ). an aT bezeichnet den zu a transponierten Vektor (siehe Abschnitt 17.2 über transponierte Matrizen). ■ Bezeichnen ai j die Elemente der Matrix A mit n Zeilen und m Spalten und k eine natürliche Zahl zwischen 1 und m, bzw. l eine natürliche Zahl zwischen 1 und n. Dann nennt man a1k .. . ank den k-ten Spaltenvektor bzw. (al1 , · · · ,alm ). den l-ten Zeilenvektor der Matrix A. ▲ Jede einreihige Matrix kann als Vektor aufgefasst werden. Umgekehrt kann jeder Vektor als (1 × n)Matrix aufgefasst werden. Skalare können als (1 × 1)-Matrix aufgefasst werden. ▲ Deklaration eines Vektors mit n Elementen in FORTRAN: DIMENSION A(n) in PASCAL: VAR A: ARRAY[1..n] OF REAL; Das Vektorelement ai wird in FORTRAN durch A(i) und in PASCAL durch A[i] dargestellt. ▲ Indexüberschreitung: Falls der Index i nicht im zulässigen Bereich (zwischen einschließlich 1 und n) liegt, bricht PASCAL, falls man die Prüfung nicht extra abgeschaltet hat, mit einer Fehlermeldung ab (Range check error), FORTRAN aber nicht! Indexüberschreitungen müssen daher in FORTRANProgrammen explizit ausgeschlossen werden.
17.2 Spezielle Matrizen
17.2
Spezielle Matrizen
17.2.1
Transponierte, konjugierte und adjungierte Matrizen
543
Transponierte oder gestürzte Matrix AT , entsteht aus der Matrix A durch Vertauschung der Zeilenvektoren mit den Spaltenvektoren (bei quadratischen Matrizen Spiegelung an der Hauptdiagonalen). ● Transponierte Matrix erhält man auch durch Vertauschung der Indizes: aTji = ai j . ● Wenn A eine (m × n)-Matrix ist, so ist AT eine (n × m)-Matrix. ■ Transponierte einer (2 × 3)-Matrix ist eine (3 × 2)-Matrix: T 1 2 1 3 9 = 3 4 . 2 4 6 9 6 ● Transponierte einer transponierten Matrix (AT )T ist die ursprüngliche Matrix A: (AT )T = A. Konjugiert komplexe Matrix A∗ , entsteht aus der Matrix A durch komplexe Konjugation (siehe Abschnitt 14.9 über komplexe Zahlen) der einzelnen Matrixelemente: a∗i j = Re(ai j ) − i · Im(ai j ). Adjungierte Matrix AH , entsteht aus der Matrix A durch komplexe Konjugation und Transposition: AH = (A∗ )T .
17.2.2
Quadratische Matrizen
Quadratische Matrizen sind grundlegend bei linearen Abbildungen und Transformationen (siehe Computergrafik). Quadratische Matrix (oder (n × n)-Matrix), hat genau so viele Zeilen wie Spalten: a11 · · · a1n .. , n ∈ N. A = ... . an1 · · · ann ▲ Jede nicht quadratische Matrix kann durch Hinzufügen von Nullen zu einer quadratischen Matrix vervollständigt werden. Beachte: der Rang bleibt dabei unverändert! ▲ Zu jeder quadratischen Matrix existiert eine komplexe oder reelle Zahl det A, auch |A| geschrieben, die Determinante von A. Symmetrische Matrix, quadratische Matrix, die ihrer Transponierten gleich ist: A = AT . ● Symmetrische Matrizen sind spiegelsymmetrisch zu ihrer Hauptdiagonalen, es gilt ai j = a ji
17 Matrizen, Determinanten und lineare Gleichungssysteme
Antisymmetrische oder schiefsymmetrische Matrix, eine quadratische Matrix, die dem Negativen ihrer Transponierten gleich ist: A = −AT . ● Für antisymmetrische Matrizen gilt ai j = −a ji , alle Diagonalelemente sind gleich Null aii = 0. Somit verschwindet auch die Spur: Sp(A) = 0. ■ Antisymmetrische Matrix:
0 −3 2 0 −5 . 3 −2 5 0 ● Jede quadratische Matrix kann in eine Summe aus einer symmetrischen Matrix As und einer antisymmetrischen Matrix Aas zerlegt werden A = As + Aas , mit: 1 As = (A + AT ), 2
1 Aas = (A − AT ). 2
■ Zerlegung einer quadratischen Matrix in eine Summe einer symmetrischen und einer antisymmetrischen Matrix: 0 −1 3 2 −5 8 2 −4 5 1 −9 = −4 1 −2 + 1 0 −7 . −3 2 5 3 5 −2 3 −3 7 0 Hermitesche oder selbstadjungierte Matrix, quadratische Matrix, die ihrer Adjungierten gleich ist: A = AH = (A∗ )T . ● Für hermitesche Matrizen gilt ai j = a∗ji . Antihermitesche oder schiefhermitesche Matrix, quadratische Matrix, die dem Negativen ihrer Adjungierten gleich ist: A = −AH . ● Für schiefhermitesche Matrizen gilt ai j = −a∗ji , aii = 0, Sp(A) = 0. ● Jede quadratische Matrix kann in eine Summe aus einer hermiteschen Ah und einer antihermiteschen Matrix Aah zerlegt werden A = Ah + Aah , mit: 1 Ah = (A + AH ), 2
1 Aah = (A − AH ). 2
▲ Für reelle quadratische Matrizen reduzieren sich die hermiteschen Matrizen auf die symmetrischen und die schiefhermiteschen auf die schiefsymmetrischen Matrizen. Unitäre Matrix, A ist unitär, wenn die Multiplikation von A mit ihrer adjungierten AH die Einheitsmatrix ergibt. A · AH = A · (A∗ )T = E.
17.2 Spezielle Matrizen
17.2.3
545
Dreiecksmatrizen
Rechte oder obere Dreiecksmatrix R („R“ von rechts), eine Matrix, in der alle Elemente unterhalb bzw. links der Hauptdiagonalen gleich Null sind: a11 a12 · · · a1n .. 0 a22 . ai j = 0 für alle i > j R= .. . .. ... ... . . 0 · · · 0 ann Linke oder untere Dreiecksmatrix L („L“ von links), rechts der Hauptdiagonalen gleich Null sind: a11 0 · · · 0 .. a21 a22 . . . . ai j = 0 für alle i < j L= . . .. 0 .. an1 · · · · · · ann
eine Matrix, in der alle Elemente oberhalb bzw. .
▲ Im Englischen werden meist die Abkürzungen L für lower (=untere) und U für upper (=obere) verwendet. ■ Linke Dreiecksmatrix bzw. rechte Dreiecksmatrix: 1 0 0 1 7 2 L= 3 4 0 bzw. R = 0 4 2 . 3 2 1 0 0 1 ● Transponierte einer rechten Dreiecksmatrix ist eine linke Dreiecksmatrix und umgekehrt. RT = L,
LT = R.
■ Transponierte einer Dreiecksmatrix: T 5 0 0 5 3 1 LT = 3 4 0 = 0 4 2 = R. 1 2 4 0 0 4 ▲ LR-Zerlegung: Jede nichtsinguläre (reguläre) Matrix lässt sich durch Zeilenvertauschungen so umformen, dass sie sich in ein Produkt aus einer linken und einer rechten Dreiecksmatrix zerlegen lässt. Dies wird bei der numerischen Lösung linearer Gleichungssysteme benutzt (vgl. Gauß-Algorithmus, Abschnitt 17.6). ▲ Die Determinante einer Dreiecksmatrix ist das Produkt (nicht wie bei der Spur die Summe) der Diagonalelemente: n
det L = a11 · a22 · · · ann = ∏ aii , gilt analog auch für i=1
17 Matrizen, Determinanten und lineare Gleichungssysteme
Stufenränder sind durch Sterne markiert. Sterne (∗) stehen für Zahlen ai j = 0. Unter den Sternen stehen ausschließlich Nullen. Trapezmatrix, (m × n)-Matrix in Trapezform, mit m − k Nullzeilen: a11 a12 · · · a1k a1k+1 · · · · · · a1n .. .. .. 0 a22 . . . .. . . . . . . . . . . . . . . . . 0 ··· 0 a akk+1 · · · · · · akn kk . 0 · · · · · · 0 0 · · · · · · 0 .. . . .. .. . . .. . . . . . . . . . . ... . ... . . . . . . . 0 ··· ··· 0 0 ··· ··· 0 ▲ Die Trapezmatrix wird häufig für die erweiterte Koeffizientenmatrix beim Lösen von linearen Gleichungssystemen gebraucht. ▲ Stufenmatrizen, Trapezmatrizen und Dreiecksmatrizen sind beim praktischen Lösen von gestaffelten Gleichungssystemen von großer Bedeutung, siehe Abschnitt 17.6 über numerische Lösung von linearen Gleichungssystemen.
17.2.4
Diagonalmatrizen
Diagonalmatrix, quadratische Matrix, in der alle Elemente außerhalb der Hauptdiagonalen Null sind. a11 0 · · · 0 .. 0 a22 . . . . , ai j = 0 für alle i = j. D= . ... ... . . 0 0 · · · 0 ann ● Jede Diagonalmatrix ist gleichzeitig rechte und linke Dreiecksmatrix. ● Jede Diagonalmatrix ist symmetrisch. ● Transponierte einer Diagonalmatrix ist wieder die gleiche Matrix: DT = D.
Tridiagonalmatrix, quadratische Matrix, bei der alle Matrixelemente gleich Null sind, außer denen, die auf der Hauptdiagonalen ai j , i = j und der eins darunter oder eins darüber liegenden Diagonalen ai j , i = j ± 1 liegen: ai j = 0 für |i − j| > 1. Bandmatrix, quadratische Matrix, bei der alle Matrixelemente gleich Null sein müssen, außer denen, die auf der Hauptdiagonalen und k darüber und l darunter liegenden Diagonalen ai j j ≤ i + k bzw. ai j i ≤ j + l liegen. Die Matrixelemente ungleich Null sind alle auf einem diagonal verlaufenden „Band“ angeordnet: ai j = 0
für i − j > l,
j − i > k, l < n.
Rechte Hessenbergmatrix, quadratische Matrix, bei der alle Matrixelemente gleich Null sind, die unterhalb der ersten linken Diagonalen, ai j , i = j + 1 liegen: ai j = 0
für i − j > 1.
Linke Hessenbergmatrix, quadratische Matrix, bei der alle Matrixelemente gleich Null sind, die oberhalb der ersten rechten Diagonalen ai j , i = j − 1 liegen: ai j = 0
für
j − i > 1.
Tridiagonalmatrix, Bandmatrix, rechte Hessenbergmatrix. •: Hauptdiagonalelement, ◦: Diagonalelement Einheitsmatrix E (auch mit I bezeichnet, siehe identische Abbildung, Abschnitt 17.3), quadratische Matrix, deren Hauptdiagonalelemente gleich Eins und alle anderen Matrixelemente gleich Null sind: 1 0 ··· 0 0 1 . . . ... . E= . . .. . . . . 0 . 0 ··· 0 1 ■ Die (3 × 3)-Einheitsmatrix: 1 0 0 E(3,3) = 0 1 0 . 0 0 1 Skalarmatrix, Diagonalmatrix, deren Hauptdiagonalelemente alle gleich c und alle anderen Matrixelemente gleich Null sind: c 0 ··· 0 1 0 ··· 0 . . . .. 0 c . . . ... 0 1 . = c = cE. S= .. . . . . . . ... 0 . .. . . . . 0 0 ··· 0 c 0 ··· 0 1
548
17 Matrizen, Determinanten und lineare Gleichungssysteme
■ (2 × 2)-Skalarmatrix: 2 0 S= . 0 2 Nullmatrix 0, alle Matrixelemente sind gleich Null: 0 0 ··· 0 0 0 . . . ... . 0= .. . . . . . . . 0 0 ··· 0 0 ■ Die (2 × 4)-Nullmatrix: 0 0 0 0 0= . 0 0 0 0 Eine Zeilen-Nullmatrix (entspricht dem Nullvektor): 0= 0 0 0 0 0 . ▲ Für beliebige verknüpfbare Matrizen gilt (siehe Addition bzw. Multiplikation von Matrizen, Abschnitt 17.3): A + 0 = 0 + A = A und A0 = 0A = 0. ● Gleichheit von Matrizen, zwei Matrizen A und B sind genau dann gleich, A = B, wenn sie vom gleichen Typ sind, d. h. die gleiche Anzahl von Zeilen und Spalten haben und alle sich entsprechenden Matrixelemente jeweils gleich sind: A = B ⇔ ai j = bi j für alle i = 1, . . . ,n, j = 1, . . . ,m. ▲ Aus det A = det B folgt nicht A = B, (siehe Determinanten, Abschnitt 17.4)!
17.3
Operationen mit Matrizen
▲ Matrizen können nur unter bestimmten geeigneten Voraussetzungen addiert, subtrahiert, multipliziert, potenziert, differenziert und integriert werden!
17.3.1
Addition und Subtraktion von Matrizen
Zur Matrix A kann Matrix B addiert oder von A subtrahiert werden, wenn ihre Matrixelemente vom gleichen Typ sind und sie die gleiche Anzahl von Zeilen und Spalten haben. ● Matrizen werden elementweise addiert bzw. subtrahiert, indem ihre sich entsprechenden Matrixelemente addiert bzw. subtrahiert werden. A±B=C
⇔
ai j ± bi j = ci j .
▲ Programmsequenz zur Addition von Matrizen. BEGIN Addition von Matrizen INPUT A[1..m,1..n],B[1..m,1..n] FOR i:= 1 TO m DO FOR j:= 1 TO n DO C[i,j]:= A[i,j] + B[i,j]
17.3 Operationen mit Matrizen
549
ENDDO ENDDO OUTPUT C[1..m,1..n] END Addition von Matrizen ■ Addition zweier Matrizen: 1 3 2 3 3 6 + = . 2 4 0 4 2 8 Rechenregeln: ● Summenmatrix A + B und Differenzmatrix A − B sind wieder (m × n)-Matrizen. ● Kommutativgesetz der Matrixaddition. A + B = B + A, komponentenweise: ai j + bi j = bi j + ai j . ▲ Im Gegensatz zur Addition ist die Multiplikation zweier Matrizen nicht kommutativ (siehe Multiplikation von Matrizen). ● Assoziativgesetz der Addition von Matrizen: (A + B) + C = A + (B + C),
(ai j + bi j ) + ci j = ai j + (bi j + ci j ).
● Nullelement: A + 0 = 0 + A = A. ● Negative Matrix: A + (−A) = 0. ● Transponierte einer Summe: (A + B)T = AT + BT . ● Die Menge aller (m × n)-Matrizen, deren Elemente reelle Zahlen sind, bilden bezüglich der Matrixaddition eine Abel’sche Gruppe.
17.3.2
Multiplikation einer Matrix mit skalarem Faktor c
Eine Matrix kann mit einer reellen oder komplexen Zahl c (skalarer Faktor) multipliziert werden. ● Eine Matrix wird mit einem Faktor c multipliziert, indem jedes einzelne Element ai j mit c multipliziert wird. ca11 · · · ca1n a11 · · · a1n .. = .. .. . ... ... C = c A = c ... . . . am1 · · · amn
cam1 · · · camn
▲ Multiplikation einer Matrix mit einem Skalar kann auch als Multiplikation mit einer Skalarmatrix aufgefasst werden: cA = (cE)A. ▲ Division durch einen skalaren Faktor d = 0 kann als Multiplikation mit 1/d aufgefasst werden. ● Ein allen Matrixelementen gemeinsamer Faktor c kann vor die Matrix gezogen werden. Division durch Null ist nicht erlaubt. ■ Skalarmatrix: c 0 ··· 0 0 c . . . ... = cE = c .. . . . ... 0 . 0 ··· 0 c
17 Matrizen, Determinanten und lineare Gleichungssysteme
Rechenregeln der Matrixaddition und Multiplikation mit einem Skalar: (Auftretende Summen und Produkte müssen definiert sein!) ● Die Multiplikation einer Matrix mit Faktoren c und d (reelle oder komplexe Zahlen) ist kommutativ, assoziativ und distributiv. ● Kommutativgesetz: cA = Ac, ● Assoziativgesetz: c(dA) = (cd)A, ● Distributivgesetze: (c ± d)A = cA ± d A, c(A ± B) = cA ± cB, ● Multiplikation mit dem Einselement, Einheitsmatrix E, Identische Abbildung: 1A = EA = A. ● Die Matrizen (lineare Abbildungen) bilden in Bezug auf die Addition und die Multiplikation mit einem Skalar einen Vektorraum.
17.3.3
Multiplikation von Vektoren, Skalarprodukt
Die Multiplikation zweier Vektoren ist auf drei verschiedene Weisen definiert: Je nachdem, ob man das Skalarprodukt, das Vektorprodukt oder das dyadische Produkt bildet, erhält man als Ergebnis einen Skalar, einen Vektor oder eine Matrix. ▲ Skalarprodukt und Vektorprodukt zweier Vektoren a und b sind nur definiert, wenn a und b die gleiche Anzahl von Elementen (Komponenten) haben. Beim dyadischen Produkt können a und b verschiedene Anzahlen von Elementen haben. Skalarprodukt der Vektoren a und b mit jeweils n Elementen, gekennzeichnet durch einen Punkt, ist ein Skalar (= reelle oder komplexe Zahl!), die Summe der Produkte der sich entsprechenden Elemente (siehe Vektorrechnung für Anwendungen in der Geometrie, Kapitel 16): n
a · b = a1 b1 + a2 b2 + · · · + an bn = ∑ ai bi . i=1
Das Produkt zweier Matrizen wird manchmal auch als Skalarprodukt bezeichnet. ▲ Man kann das Skalarprodukt zweier Vektoren (gekennzeichnet durch einen Punkt) auch als Skalarprodukt einer Zeilenmatrix mit einer Spaltenmatrix (kein Punkt) auffassen, dann ist aber die Reihenfolge von aT und b wichtig: a · b = aT b = baT . Das Skalarprodukt aT b ist eine Zahl, deutlich zu unterscheiden vom dyadischen Produkt baT , welches eine Matrix ergibt. ■ Skalarprodukt von einem Zeilenvektor (Zeilenmatrix) mit einem Spaltenvektor (Spaltenmatrix): b1 n .. T a b = (a1 · · · an ) . = a1 b1 + a2 b2 + a3 b3 + . . . + an bn = ∑ ai bi . bn
i=1
17.3 Operationen mit Matrizen
551
Vektorprodukt oder Kreuzprodukt a × b von zwei drei-komponentigen Vektoren a und b, gekennzeichnet durch ein Kreuz zwischen den Vektoren (siehe Vektorrechnung, Kapitel 16), ergibt einen Vektor. Dyadisches Produkt oder tensorielles Produkt, Produkt zweier Vektoren a mit m Elementen und b mit n Elementen, das eine (m × n)-Matrix ergibt. Die Elemente ci j der Dyade C aus den Vektoren a und b sind gegeben durch: ci j = ai bj . ● Das dyadische Produkt kann als Matrixprodukt (siehe Multiplikation von Matrizen) definiert werden: C = abT . a: Matrix mit einer Spalte (= Spaltenvektor). bT : Matrix mit einer Zeile (= Zeilenvektor). ■ Dyadisches Produkt: 1 a = 3 , bT = (2, 1, 4) , C = abT , 2 1 2 1 4 abT = 3 (2,1,4) = 6 3 12 = C. 2 4 2 8 ■ Das dyadische Produkt aus dem Vektor a mit ai = i, i = 1, . . . ,10 mit sich selbst (= Matrixprodukt von a mit aT ) ergibt die quadratische symmetrische (10 × 10)-Matrix: C = a aT mit ci j = i · j, die als Matrixelemente alle möglichen Einmaleins: 1 2 3 4 5 6 7 2 4 6 8 10 12 14 3 6 9 12 15 18 21 4 8 12 16 20 24 28 5 10 15 20 25 30 35 C= 6 12 18 24 30 36 42 7 14 21 28 35 42 49 8 16 24 32 40 48 56 9 18 27 36 45 54 63 10 20 30 40 50 60 70
17.3.4
Produkte der Zahlen von 1 bis 10 enthält, also das kleine 8 16 24 32 40 48 56 64 72 80
Multiplikation einer (m × n)-Matrix A mit einem n-dimensionalen Spaltenvektor x ergibt einen Spaltenvektor b mit m Zeilen (Komponenten): Ax = b, a11 · · · .. .
17 Matrizen, Determinanten und lineare Gleichungssysteme
▲ Dies ist die Kurzschreibweise für lineare Gleichungssysteme, A heißt Systemmatrix, b Konstantenvektor, x Lösungs- oder Systemvektor. Die Komponenten bi erhält man als Skalarprodukt zwischen den Zeilenvektoren ai der Matrix A und dem Vektor x: bi = ai · x = ai1 x1 + ai2 x2 + · · · + ain xn =
n
∑ ai j x j , i = 1, . . . ,m. j=1
■ Multiplikation einer Matrix mit einem Vektor: 132 2 13 2 4 0 1 = 8 . 321 4 12 ▲ Das Produkt der Matrix A mit der Vektor x ist nur definiert, wenn A genau so viele Spalten wie x Zeilen (Komponenten) hat.
17.3.5
Multiplikation von Matrizen
▲ Das Produkt AB der Matrix A mit der Matrix B ist nur definiert, wenn A genauso viele Spalten wie B Zeilen hat. ■ A(3,3) B(2,3) ist nicht definiert! A(3,3) hat drei Spalten, aber B(2,3) nur zwei Zeilen! Matrixprodukt oder Skalarprodukt der Matrix A mit der Matrix B, ergibt die Matrix C = AB, deren Elemente die Skalarprodukte der Zeilenvektoren von A mit den Spaltenvektoren der Matrix B sind. Bezeichnet ai den i-ten Zeilenvektor von A und b j den j-ten Spaltenvektor von B, dann sind die Elemente ci j von C = AB gegeben durch die Zahl (Skalarprodukt!) n
ci j = ai · b j = ∑ ail bl j . l=1
Das Skalarprodukt zwischen den Zeilenvektoren ai , i = 1, . . . , n, und den Spaltenvektoren b j , j = 1, . . . , m, ist hier durch einen Punkt gekennzeichnet. Weitere Darstellungen sind: Matrix-Vektor-Darstellung: C = (A b1 , . . . , A bn ) , Vektor-Matrix-Darstellung: 1 a B .. C = . , am B Summe dyadischer Produkte: k
● Typ-Regel: Multipliziert man eine Matrix A(m,l) mit m Zeilen und l Spalten mit einer Matrix B(l,n) mit l Zeilen und n Spalten, so ist das Ergebnis eine Matrix mit m Zeilen und n Spalten: C(m,n) = A(m,l) B(l,n) . Spaltenzahl = Anzahl der Elemente in der Zeile. Zeilenzahl = Anzahl der Elemente in der Spalte. Anzahl der Elemente in der Zeile von A = Anzahl der Elemente in der Spalte von B. ● Spaltenzahl l von A muss gleich der Zeilenzahl l von B sein. A(m,l) B(l,n) = C(m,n) . ▲ Innere Dimensionen l sind gleich, Multiplikation ist möglich. ▲ Äußere Dimensionen m sowie n entsprechen den Dimensionen m × n des Resultats. ▲ Reihenfolge der Matrixmultiplikation ist wichtig: AB = BA A(m,l) B(l,m) = B(l,m) A(m,l) . ▲ Programmsequenz zur Multiplikation einer (m × n)-Matrix A mit einer (n × l)-Matrix B. Das Ergebnis wird in die (m × l)-Matrix C gespeichert. BEGIN Matrizenmultiplikation INPUT m, n, l INPUT a[i,k], i=1..m, k=1..n INPUT b[i,k], i=1..n, k=1..l FOR i = 1 TO m DO FOR j = 1 TO l DO sum:= 0 FOR k = 1 TO n DO sum:= sum + a[i,k]*b[k,j] ENDDO c[i,j]:= sum ENDDO ENDDO OUTPUT c[i,k], i=1..m, k=1..l END Matrizenmultiplikation
17.3.6
Rechenregeln der Matrixmultiplikation
● Die Matrixmultiplikation vermittelt eine lineare Abbildung oder lineare Transformation x → x = Ax. A(x + y) = Ax + Ay,
A(cx) = cAx.
▲ Anwendungen bei Rotation, Translation, Inversion und Skalierung in der Computergrafik. ● Auftretende Summen und Produkte müssen definiert sein! ● cAB = A(cB) = c(AB). ● Assoziativgesetz: (AB)C = A(BC) = ABC. ● Matrizenmultiplikation ist i. Allg. nicht kommutativ! AB = BA.
554
17 Matrizen, Determinanten und lineare Gleichungssysteme
▲ Die Reihenfolge der Matrizen darf nicht vertauscht werden: A(2,3) B(3,3) = C(2,3) , B(3,3) A(2,3)
ist nicht definiert!
■ Umgekehrtes Produkt (siehe oben): 23 13 2·1+3·22·3+3·4 8 18 = = . 04 24 0·1+4·20·3+4·4 8 16 ▲ Wichtiger Unterschied Skalarprodukt aT b: Ergebnis ist ein Skalar, dyadisches Produkt baT : Ergebnis ist eine Matrix! aT b = baT ▲ Skalarprodukt und dyadisches Produkt sind Spezialfälle des allgemeinen Matrixproduktes. Kommutative Matrizen, zwei quadratische Matrizen, für die gilt: AB = BA. ▲ Das umgekehrte Produkt B(l,n) A(m,l) ist nur definiert für n = m, aber die Matrixmultiplikation ist nicht kommutativ. ● Distributivgesetze: A(B + C) = AB + AC, (B + C)A = BA + CA. ● Einselement: Einheitsmatrix AE = A, ● Nullelement: Nullmatrix A0 = 0, ● Nullteiler: AB = 0 ⇒ A = 0 oder B = 0, ● AB = AC ⇒ B = C. ● Die transponierte Matrix eines Produktes zweier Matrizen ist gleich dem Produkt der zwei transponierten Matrizen in umgekehrter Reihenfolge (AB)T = BT AT . ▲ Genügt y dem Gleichungssystem Ay = b und x dem Gleichungssystem Bx = y, so gilt: (AB)x = b.
17.3.7
Multiplikation mit einer Diagonalmatrix
● Eine Matrix A wird mit einer Diagonalmatrix D von links bzw. von rechts multipliziert, indem jedes Element einer Zeile bzw. Spalte von A mit dem Diagonalelement der entsprechenden Zeile bzw. Spalte von D multipliziert wird. (DA)i j = dii ai j bzw. (AD)i j = ai j d j j . ● Identische Abbildung der Matrix A, d. h. die Multiplikation der Matrix A mit der Einheitsmatrix E. ● Multiplikationen mit der Skalarmatrix S = cE oder der Einheitsmatrix E sind kommutativ: AS = SA = cA, AE = EA = A. ● Multiplikation einer Matrix A mit der Nullmatrix 0 ergibt die Nullmatrix. A0 = 0A = 0.
17.3 Operationen mit Matrizen
555
▲ Die Umkehrung gilt i. Allg. jedoch nicht! ● Aus AB = BA = 0 folgt nicht notwendig, dass A oder B gleich Null ist! Nullteiler A und B, weder A noch B sind Nullmatrizen, doch AB ist Nullmatrix. AB = BA = 0
Das Schema von Falk bietet eine größere Übersichtlichkeit bei der Multiplikation zweier Matrizen „per Hand“. ■ Matrixschreibweise des Schemas von Falk für das Produkt der Matrizen A und B: B A C
wobei C = AB.
Zur Berechnung des Produktes C = AB wird zuerst die Matrix A in das linke untere Rechteck und die Matrix B in das rechte obere Rechteck geschrieben. Jedes Matrixelement ci j von C ergibt sich so aus dem Skalarprodukt des linksstehenden Zeilenvektors ai von A mit dem obenstehenden Spaltenvektor b j von B im Schnittpunkt der Zeile i von A und der Spalte j von B. Vektorschreibweise nach dem Schema von Falk: b1 · · · bj · · · bn a1 a1 · b1 · · · · · · a1 · bn .. .. .. .. l . . . . mit ci j = ai b j = ∑ aik bk j . ai · · · ci j · · · k=1 .. .. .. .. . . . . am
am · b1 · · ·
· · · am · bn
Matrixelementschreibweise nach dem Schema von Falk: Im Kreuzungspunkt der i-ten Zeile der Matrix A mit der j-ten Spalte der Matrix B steht das Matrixelement ci j der Matrix C = AB:
a11 · · · a1l .. . ai1 · · · ail .. . am1 · · · aml
b11 .. .
· · · b1 j .. .
···
bl1
···
···
l
∑ a1k bk1
k=1
l
···
.. . .. .
···
∑ amk bk1 · · ·
k=1
bl j
··· .. . ci j .. .
b1n .. . bln l
∑ a1k bkn
k=1
··· ···
.. . .. .
l
∑ amk bkn
k=1
mit ci j = ai1 b1 j + ai2 b2 j + · · · + ail bl j = ∑lk=1 aik bk j .
556
17 Matrizen, Determinanten und lineare Gleichungssysteme
■ Multiplikation von zwei (2 × 2)-Matrizen mit dem Schema von Falk:
1 3 2 4
2 3 0 4 1·2+3·0 1·3+3·4 2·2+4·0 2·3+4·4
B ⇔ mit: C = AB = A C
2 15 4 22
.
■ Multiplikation von einer (2 × 3)-Matrix A mit einer (3 × 4)-Matrix B mit dem Schema von Falk:
1 0 3 2 1 −4
1 4 3 0 1 1 −1 3 0 −2 −3 2 1 −2 −6 6 3 17 17 −5
⇒C=
1 −2 −6 6 3 17 17 −5
.
Die resultierende Matrix C ist eine (2 × 4)-Matrix.
17.3.9
Zeilensummen- und Spaltensummenproben
Zeilensummenprobe oder Spaltensummenprobe kann zur Kontrolle von Matrixmultiplikationen benutzt werden. Zeilensummenvektor a der Matrix A = (ai j ), der Spaltenvektor, dessen Matrixelemente ai die Summe der Matrixelemente der i-ten Zeile ist ai = ai1 + ai2 + . . . + ain . Spaltensummenvektor b der Matrix B = (bi j ), der Zeilenvektor, dessen Matrixelemente b j die Summe der Matrixelemente der j-ten Spalte ist b j = b1 j + b2 j + . . . + bn j . Zeilensummenprobe des Produkts AB = C. ● Das Produkt der Matrix A mit dem Zeilensummenvektor b der Matrix B muss gleich dem Zeilensummenvektor c der Matrix C sein! Ab = c. ▲ Aus Ab = c folgt, dass ein Rechenfehler vorliegt, der umgekehrte Schluss ist zwar nicht zulässig, die Wahrscheinlichkeit eines Rechenfehlers ist dann aber eher gering. Vor allem bei großen Matrizen ist der Rechenaufwand für die Kontrolle vergleichsweise gering. Vorgehen bei der Zeilensummenprobe in fünf Schritten: 1. Berechne das Produkt C = AB; 2. Berechne aus C den Zeilensummenvektor c; 3. Berechne aus B den Zeilensummenvektor b; 4. Multipliziere b mit der Matrix A von links; 5. Vergleich: Ergebnis Ab muss gleich c sein. ■ Zeilensummenprobe: 1. AB = C 1 3 2 3 2 15 = . 2 4 0 4 4 22
17.4 Determinanten
557
2. Zeilensummenvektor c der Matrix C berechnen: 2 + 15 17 c= = . 4 + 22 26 3. Zeilensummenvektor b der Matrix B berechnen: 2+3 5 b= = . 0+4 4 4. Produkt der Matrix A mit dem Zeilensummenvektor b berechnen: 1 3 5 5 + 12 17 Ab = = = . 2 4 4 10 + 16 26 5. Vergleich der Zeilensummen Ab = c 17 17 = . 26 26 ● Spaltensummenprobe: Das Produkt des Spaltensummenvektors a der Matrix A mit der Matrix B muss gleich dem Spaltensummenvektor c der Matrix C sein.
17.4
Determinanten
Determinanten, u. a. Hilfsmittel um die Lösbarkeit linearer Gleichungssysteme (mit beliebig vielen Unbekannten) zu untersuchen. Determinanten erlauben auch, die Lösung eines Gleichungssystems mithilfe der Cramer’schen Regel zu ermitteln, allerdings ist das Verfahren sehr ineffizient! Determinante det A (|A|, |aik |) einer Matrix A. Jeder n-reihigen quadratischen Matrix A lässt sich eindeutig eine reelle oder komplexe Zahl zuordnen, die Determinante det A. Sie ist gleich der Summe über alle möglichen Produkte aus n Matrixelementen, wobei in jedem Summanden jeweils genau ein Element aus jeder Zeile und jeder Spalte der Matrix vorkommen muss und jeder Summand mit +1 oder −1 gewichtet wird, je nachdem, ob die entsprechende Permutation π (i) der Zahlen 1,2, . . . ,n durch eine gerade oder ungerade Anzahl j(π ) von Vertauschungen jeweils zweier benachbarter Indizes zustande gekommen ist. Permutationen: (1,2,3,4,5, . . .), (2,1,3,4,5, . . .), (2,3,1,5,4, . . .) usw., Schreibweise:
a11 · · · a1n a11 · · · a1n
..
. . .. . ... . . det A = det . . . =
.. .
a an1 · · · ann n1 · · · ann
n! n
= ∑(−1) j(π ) ∏ ai,π (i) .
π i=1
▲ Zu einer Menge von Indizes (1,2,3, . . . ,n) gibt es genau n! verschiedene Permutationen, über die summiert werden muss. Numerische Verfahren, die die Bestimmung der Determinante einer Matrix beinhalten, besitzen daher i. Allg. einen Aufwand von O (n!) und sind deshalb ausgesprochen zeitaufwendig. Praktische Berechnung von Determinanten i. Allg. nach elementaren Umformungen der Matrix auf Diagonalform. ▲ Die numerische Berechnung von Determinanten mit n > 3 erfolgt wegen des deutlich geringeren Aufwandes mit dem Gauß’schen Algorithmus.
558
17 Matrizen, Determinanten und lineare Gleichungssysteme
17.4.1
Zweireihige Determinanten
Determinante einer zweireihigen Matrix A, auch zweireihige Determinante oder Determinante zweiter Ordnung, ist die Zahl:
a a11 a12
11 a12 det A = |A| = det =
= a11 a22 − a12 a21 .
a21 a22 a21 a22 Die Zahl a11 a22 − a12 a21 ist gleich dem Produkt aus den Elementen der Hauptdiagonalen minus dem Produkt der Nebendiagonalelemente. ● Determinantenlösbarkeitskriterium für Gleichungssysteme: Ein lineares Gleichungssystem mit zwei Gleichungen und zwei Unbekannten besitzt dann und nur dann genau eine Lösung, wenn eine Zahl, die Determinante det A der Koeffizientenmatrix A, ungleich Null ist, det A = 0.
17.4.2
Allgemeine Rechenregeln für Determinanten
Die folgenden Rechenregeln gelten für alle Determinanten, also inbesondere auch für zweireihige. In diesem Fall sind sie besonders leicht einzusehen. ▲ Verschiedene Matrizen können die gleiche Determinante haben. ● Aus det A = det B folgt nicht A = B 1 0 4 0 ■ det = −1 = det = −1, 0 −1 0 −1/4 obwohl die zwei Matrizen verschieden sind, A = B! ● Stürzen der Matrix: der Wert einer Determinante bleibt unverändert, wenn die Determinante der an der Hauptdiagonalen gespiegelten (transponierten) Matrix bestimmt wird:
a
a
a a
11 12 11 21 det A =
=
= det AT .
a21 a22 a12 a22 ● Vertauschungssatz: Beim Vertauschen zweier Zeilen oder Spalten wechselt die Determinante ihr Vorzeichen:
a11 a12 ● Faktorregel: Werden die Matrixelemente einer beliebigen Zeile bzw. Spalte einer Determinante mit einem reellen Skalar c multipliziert, wird die Determinante mit c multipliziert:
a21 a22 ● Umgekehrt gilt: Eine Determinante wird mit einem reellem Skalar c multipliziert, indem man alle Elemente genau einer beliebigen Zeile bzw. Spalte mit c multipliziert. ● Besitzen die Matrixelemente einer Zeile bzw. einer Spalte der Matrix einen gemeinsamen Faktor, so kann dieser vor die Determinante gezogen werden. ▲ Eine Matrix wird mit einem Skalar multipliziert, indem jedes einzelne Element mit dem Faktor multipliziert wird. Eine Determinante wird mit einem Skalar multipliziert, indem nur genau eine Spalte der Determinante mit dem Skalar multipliziert wird!
17.4 Determinanten Allgemeine Faktorregel: a11 · · · a1n .. .. c det A = c det . . an1 · · · ann ca11 · · · a1n .. .. = det . .
Begründung: det A = 0: Die Matrixelemente einer kompletten Zeile sind Null. det B = 0: Zwei Zeilen und zwei Spalten sind zueinander proportional. det C = 0: Zwei Spalten sind gleich, zwei Zeilen zueinander proportional. det D = 0: Die Matrixelemente einer kompletten Spalte sind Null. ● Linearkombinationsregel: Der Wert der Determinante ändert sich nicht, wenn man zu einer Zeile bzw. Spalte ein beliebiges Vielfaches der anderen Zeile bzw. Spalte elementweise addiert oder subtrahiert.
a
a ± ca
a a
11 12 11 12 12
=
.
a21 a22 a21 ± ca22 a22 ● Multiplikationssatz für Determinanten: Die Determinante des Matrixproduktes zweier Matrizen A und B ist gleich dem Produkt der Determinanten der einzelnen Matrizen: det(A · B) = det A det B = |A| |B|. ▲ Das Multiplikationstheorem liefert eine Möglichkeit, die Determinante eines Matrixproduktes direkt aus den Determinanten der einzelnen Matrizen zu berechnen. Die Berechnung des Matrixproduktes kann man sich so sparen. ● Zerlegungssatz, besteht eine Zeile (oder Spalte) aus einer Summe von Elementen, so kann die Determinante folgendermaßen in eine Summe von zwei Determinanten zerlegt werden:
(a + b ) a a
b a a
11
11 12 1 12 1 12
=
+
.
(a21 + b2 ) a22 a21 a22 b2 a22
560
17 Matrizen, Determinanten und lineare Gleichungssysteme
● Determinante von Dreiecksmatrizen, die Determinante einer Dreiecksmatrix ist gleich dem Produkt der Hauptdiagonalelemente und besitzt den Wert:
a
a
11 12 det A =
= a11 a22 = ∏ aii .
0 a22 i ● Determinante der Diagonalmatrix D (gleichzeitig obere und untere Dreiecksmatrix): det D = d11 d22 = ∏ dii . i
■ Für die Einheitsmatrix gilt analog: det E = 1. ■ Für die Nullmatrix gilt: det 0 = 0.
17.4.3
Determinantenwert Null
Eine n-reihige Determinante ist dann und nur dann Null, wenn sie eine oder mehrere der folgenden Bedingungen erfüllt: ● Alle Matrixelemente einer Zeile (oder Spalte) sind Null. ● Zwei Zeilen (oder Spalten) stimmen überein. Multiplikation einer Zeile (oder Spalte) mit −1 und Addition ergibt eine Zeile (oder Spalte) mit lauter Nullen. ● Zwei Zeilen (oder Spalten) sind zueinander proportional. Ist der Proportionalitätsfaktor c, so kann das c-fache einer Zeile (oder Spalte) von der anderen Zeile (oder Spalte) abgezogen werden. Da sich der Wert der Determinante dabei nicht ändert, ist die Determinante gleich Null. ● Bei einem sehr kleinen Determinantenwert darf nicht geschlossen werden, daß die Spalten linear abhängig sind. ● Eine Zeile (oder Spalte) ist als Linearkombination der übrigen Zeilen (oder Spalten) darstellbar: Eine Linearkombination der übrigen Zeilen- oder Spaltenvektoren kann von dieser Zeile (oder Spalte) abgezogen werden. Daraus ergibt sich eine Zeile (oder Spalte) mit lauter Nullen.
17.4.4
Dreireihige Determinanten
Dreireihige Determinanten werden berechnet, um die Lösbarkeit von linearen Gleichungssystemen dritter Ordnung, d. h. drei Gleichungen mit drei Unbekannten, zu ermitteln. Determinante dritten gewonnene Zahl
a11 a12
det A = a21 a22
a31 a32
Grades oder Determinante dritter Ordnung, die aus einer dreireihigen Matrix a13 a23 a33
= a11 a22 a33 + a12 a23 a31 + a13 a21 a32 − a13 a22 a31 − a11 a23 a32 − a12 a21 a33 . ■ Das Spatprodukt dreier Vektoren lässt sich als Determinante einer dreireihigen Matrix schreiben, deren Spalten die Komponenten der Vektoren sind.
● Lösbarkeit von linearen Gleichungssystemen dritter Ordnung: Damit ein Gleichungssystem a11 x1 + a12 x2 + a13 x3 = b1 a21 x1 + a22 x2 + a23 x3 = b2 a31 x1 + a32 x2 + a33 x3 = b3 eindeutig nach den Unbekannten x1 ,x2 ,x3 aufgelöst werden kann, muss die Determinante der Koeffizientenmatrix A des Gleichungssystems ungleich Null sein, d. h.
a11 a12 a13
det A = a21 a22 a23 = 0.
a31 a32 a33 ● Regel von Sarrus: Zur Berechnung von Determinanten einer dreireihigen Matrix werden die ersten beiden Spalten der Matrix nochmals rechts neben die Determinante gesetzt. Wert der Determinante: Produkte der Elemente auf den von links oben nach rechts unten führenden Diagonalen werden addiert, die Produkte der Elemente auf den von rechts oben nach links unten führenden Diagonalen werden subtrahiert. a11 a12 a13 det A = a21 a22 a23 a31 a32 a33
a11 a12 a21 a22 a31 a32
= a11 a22 a33 + a12 a23 a31 + a13 a21 a32
Hauptdiagonalprodukte
−a13 a22 a31 − a11 a23 a32 − a12 a21 a33 a 11
a 12
a 13
a 11
a 12
a 21
a 22
a 23 a 21
a 22
a 31
a 32
a 33
a 32
−
−
−
a 31 +
+
Nebendiagonalprodukte Produkt der Hauptdiagonalelemente Produkt der Nebendiagonalelemente
+
Zur Illustration der Regel von Sarrus ▲ Regel von Sarrus gilt nur für dreireihige Determinanten aber nicht (!) für Determinanten höherer Ordnung, diese werden mit dem Entwicklungssatz von Laplace berechnet. ■ Berechnung der Determinante einer dreireihigen Matrix mit der Regel von Sarrus: 5 −1 det A = 1 −2 0 3
4 7 2
5 −1 1 −2 0 3
= 5 · (−2) · 2 + (−1) · 7 · 0 + 4 · 1 · 3 +
(Hauptdiagonalelemente)
−4 · (−2) · 0 − 5 · 7 · 3 − (−1) · 1 · 2
(Nebendiagonalelemente)
= −111. ● Determinanten höherer Ordnung lassen sich durch Determinanten niedriger Ordnung, so genannte Unterdeterminanten, berechnen. ● Berechnung von Determinanten dritter Ordnung kann man zurückführen auf die Berechnung von Determinanten zweiter Ordnung. Analog für Determinanten mit höherer Ordnung.
562
17 Matrizen, Determinanten und lineare Gleichungssysteme
▲ Unterdeterminante zweiter Ordnung, det Uik , entsteht aus einer Determinante durch Streichen der i-ten Zeile und der k-ten Spalte: Die verbleibenden Elemente bilden eine zweireihige Determinante. ▲ Adjungierte Unterdeterminante Aik des Elementes aik , die Unterdeterminante det Uik multipliziert mit dem Vorzeichenfaktor (−1)i+k
Aik = (−1)i+k · det Uik . ■ Dreireihige Determinanten sind durch Ausklammern der Elemente der ersten Zeile mit Unterdeterminanten zweiter Ordnung darstellbar.
A11 = + det U11 , A12 = − det U12 , A13 = + det U13 . Elemente der ersten Zeile der Matrix A werden ausgeklammert, die Determinante ist ein Ausdruck, in dem diese Elemente der ersten Zeile und ihre Adjunkten auftreten, daher: Entwicklung der Determinante nach den Elementen der ersten Zeile. Entsprechende Entwicklungsformeln gibt es für jede andere Zeile oder Spalte: ● Entwicklungssatz von Laplace: Eine dreireihige Determinante lässt sich nach jeder der drei Zeilen oder Spalten wie folgt entwickeln: Entwicklung nach der i-ten Zeile: 3
det A =
∑ aik Aik ,
i = 1, . . . ,3.
k=1
Entwicklung nach der k-ten Spalte: 3
det A = ∑ aik Aik ,
k = 1, . . . ,3.
i=1
Dabei bezeichnen Aik = (−1)i+k det Uik die Adjunkte des Elementes aik von A und det Uik die Unterdeterminante, die durch Streichen der i-ten Zeile und k-ten Spalte von A entsteht. ■ Untermatrix einer (3 × 3)-Matrix A ist eine (2 × 2)-Matrix Uik : a11 a12 a13 a11 a13 a21 a22 a23 = . U32 = a31 a32 a33 a 21 a23 ⇐ Zeile 3 streichen ⇑ Spalte 2 streichen
Unterdeterminante:
a
11 a13 det U32 =
a21 a23
= a11 a23 − a13 a21 .
● Für dreireihige Determinanten gelten die gleichen Rechenregeln wie für zweireihige Determinanten.
17.4 Determinanten
17.4.5
563
Determinanten höherer (n-ter) Ordnung
Der Determinantenbegriff kann für beliebige quadratische Matrizen n-ter Ordnung verallgemeinert werden: Determinante n-ter Ordung oder n-reihige Determinante ordnet einer n-reihigen quadratischen Matrix eine Zahl, det A, zu. Determinante n-ter Ordnung:
a11 · · · a1n
.. .. det A = ... . .
.
a ··· a n1
nn
● Lösbarkeitskriterium für Gleichungssysteme n-ter Ordnung: Ein lineares Gleichungssystem n-ter Ordnung (d. h. mit n Gleichungen und n Unbekannten) besitzt dann und nur dann eine eindeutige Lösung, wenn die Determinante der Koeffizientenmatrix ungleich Null ist, det A = 0! Unterdeterminante det Uik der Ordnung n − 1, zur (n × n)-Matrix A, in A wird die i-te Zeile und die k-te Spalte gestrichen und aus der sich daraus ergebenden ((n − 1) × (n − 1))-Matrix wird die Determinante gebildet. Der Index i bzw. j wird zur Kennzeichnung, welche Zeile bzw. Spalte gestrichen wurde, benutzt. Algebraisches Komplement, Adjunkte, adjungierte Unterdeterminante, Kofaktor Ai j , des Elementes ai j , die mit dem Vorzeichenfaktor (−1)i+ j multiplizierte (n − 1)-reihige Unterdeterminante det Ui j , die aus der Matrix A durch Streichen der i-ten Zeile und der j-ten Spalte und Bildung der Determinante der resultierenden Matrix Ui j hervorgeht:
Ai j = (−1)i+ j det Ui j . Analog zu den zwei- und dreireihigen Determinanten lassen sich die n-reihigen Determinanten definieren. Sie können zur Aufstellung des Lösbarkeitskriteriums für lineare Gleichungssysteme mit n Gleichungen benutzt werden. ● Laplace’scher Entwicklungssatz: Eine n-reihige Determinante lässt sich nach den Matrixelementen einer beliebigen Zeile oder Spalte entwickeln: ■ Entwicklung nach der i-ten Zeile: n
det A =
∑ aik Aik
(i = 1, . . . ,n).
k=1
■ Entwicklung nach der k-ten Spalte: n
det A = ∑ aik Aik
(k = 1, . . . ,n).
i=1
Aik = (−1)i+k det Uik : Algebraisches Komplement von aik in det A. det Uik : (n − 1)-reihige Unterdeterminante. ● Für dreireihige Determinanten ergibt sich die Regel von Sarrus. ● Der Wert einer n-reihigen Determinante ist unabhängig von der Zeile oder Spalte, nach der entwickelt wird. ▲ Der Rechenaufwand kann erheblich verringert werden, indem man nach der Zeile oder Spalte entwickelt, die die meisten Nullen enthält. ▲ Die numerische Berechnung von Determinanten mit n > 3 erfolgt am effizientesten mithilfe von elementaren Umformungen. Die Matrix wird auf Dreiecksform gebracht, die Determinante ist dann gerade das Produkt der Hauptdiagonalelemente.
564
17 Matrizen, Determinanten und lineare Gleichungssysteme
▲ Der Vorzeichenfaktor im algebraischen Komplement kann mit der Schachbrettregel bestimmt werden. ■ (n × n)-Matrix: + − + − .. .
− + − +
+ − + −
− ··· + − +
● Rechenregeln für Determinanten n-ter Ordnung, sind analog zu denen für zwei- und dreireihige Determinanten. ▲ Bei der Multiplikation einer Determinante mit einem Faktor c ist lediglich eine beliebige Zeile oder Spalte der Determinante mit c zu multiplizieren. Dies ist im Gegensatz zur Multiplikation einer Matrix mit einem Skalar c, bei dem jedes Element ai j mit c multipliziert werden muss: c det A = det(c A); vielmehr gilt cn det A = det(c A).
17.4.6
Berechnung n-reihiger Determinanten
● Laplace-Entwicklung nach einer Zeile oder Spalte mit möglichst vielen Nullen. ● Durch elementare Umformungen wird der Wert der Determinante nicht geändert. ● Nullen in Zeilen erzeugen durch Addition (Subtraktion) von Vielfachen von Zeilen. ● Nullen in Spalten erzeugen durch Addition (Subtraktion) von Vielfachen von Spalten. ▲ Praktische Berechnung von n-reihigen Determinanten durch elementare Umformungen: Die praktische Berechnung von Determinanten höherer Ordnung erfolgt mit numerischen Verfahren. Die Matrix wird dabei durch elementare Umformungen, die den Wert der Determinante nicht verändern, in eine Dreiecksmatrix übergeführt. Die Determinante ist dann einfach zu berechnen: ● Die Determinante einer Dreiecksmatrix ist das Produkt der Elemente auf der Hauptdiagonalen: det A = a11 · a22 · a33 · · · · · ann für A=
■ Entwickeln nach der ersten Spalte: 1 4 5 A = 0 2 6 = 1 · (2 · 3 − 0 · 6) − 0 · (· · · ) + 0 · (· · · ) = 6. 0 0 3 ▲ Solche Verfahren zur Matrixumformung werden zur Lösung linearer Gleichungssysteme herangezogen.
17.4.7
Reguläre und inverse Matrix
Reguläre Matrix, eine n-reihige, quadratische Matrix A, deren Determinante det A nicht verschwindet: det A = 0 ⇔ A ist regulär ⇔ A ist nicht singulär. ● Lineare Gleichungssysteme sind nur eindeutig lösbar, wenn die Koeffizientenmatrix regulär ist, d. h., wenn die Koeffizientendeterminante ungleich Null ist: det A = 0.
17.4 Determinanten
565
Singuläre Matrix, eine Matrix A, deren Determinante det A gleich Null ist: det A = 0 ⇔ A ist singulär ⇔ A ist nicht regulär. ● Lineare Gleichungssysteme Ax = b (b beliebiger Konstantenvektor), deren Koeffizientenmatrix A singulär ist, det A = 0, sind nicht eindeutig lösbar. Inverse Matrix A−1 oder reziproke Matrix, Kehrmatrix zu A, die quadratische Matrix A−1 , für die gilt: AA−1 = A−1 A = E. ● Multipliziert man eine Matrix A mit ihrer inversen Matrix A−1 , so ergibt sich die Einheitsmatrix E. ● Das Matrixprodukt aus A und A−1 ist kommutativ. ● Nicht jede Matrix besitzt eine Inverse. ● Eine quadratische Matrix besitzt höchstens eine Inverse. Invertierbarkeit einer Matrix, existiert zu einer quadratischen n-reihigen Matrix A eine ebenfalls quadratische n-reihige Matrix A−1 mit AA−1 = E, so heißt A invertierbare Matrix. ● Nur reguläre Matrizen sind invertierbar. ● Singuläre Matrizen sind nicht invertierbar. ● Nur lineare Gleichungssysteme mit invertierbarer Koeffizientenmatrix sind eindeutig lösbar! ● Lineare Gleichungssysteme können mithilfe der inversen Matrix direkt gelöst werden: Ax = c ⇔ A−1 Ax = A−1 c ⇒ x = A−1 c. ▲ Gleichungssysteme mit fester Koeffizientenmatrix A, aber verschiedenem Konstantenvektor c, können so nach einmaliger Berechnung der Inversen A−1 für viele verschiedene Störglieder c gelöst werden (siehe Gauß-Jordan-Verfahren, Abschnitt 17.6). ● Ähnlichkeit von Matrizen, zwei Matrizen A und B sind genau dann ähnlich, wenn mindestens eine invertierbare (reguläre) Matrix U existiert, für die gilt: A = U−1BU. ▲ Die Ähnlichkeitstransformation U kann z. B. eine Rotation, Translation, Streckung, Stauchung oder Spiegelung sein. Siehe auch Transformationen.
17.4.8
Berechnung der inversen Matrix mit Determinanten
● Zu jeder regulären n-reihigen quadratischen Matrix A gibt es genau eine inverse Matrix A−1 mit A11 · · · An1 1 1 . .. . A−1 = AT = .. . det A det A A1n · · · Ann Die Matrixelemente von A T erhält man, indem man die Matrix der algebraischen Komplemente (Aik )i,k=1,...,n von aik transponiert. Diese wiederum lassen sich durch Unterdeterminanten ausdrücken:
Aik = (−1)i+k · det Uik .
566
17 Matrizen, Determinanten und lineare Gleichungssysteme
det Uik ist die (n − 1)-reihige Unterdeterminante aus A, sie wird berechnet aus der quadratischen Untermatrix Uik vom Typ (n − 1) × (n − 1), die man aus A erhält, wenn man die i-te Zeile und die kte Spalte streicht. ▲ Gerade die Matrixelemente, deren Zeilen- bzw. Spaltenindizes an der Untermatrix Uik angegeben sind, fehlen von der Matrix A. ■ Untermatrix einer (3 × 3)-Matrix A ist eine (2 × 2)-Matrix Uik : a11 a12 a13 a11 a13 a21 a22 a23 . U32 = = a31 a32 a33 a 21 a23 ⇐ Zeile 3 streichen ⇑ Spalte 2 streichen
Unterdeterminante:
a
11 a13 det U32 =
a21 a23
= a11 a23 − a13 a21 .
Adjunkte:
A32 = (−1)2+3 det U32 . ▲ Es ist zu beachten, dass in die inverse Matrix A−1 die Transponierte A T der quadratischen Matrix der algebraischen Komplemente A (siehe transponierte Matrizen, Abschnitt 17.2) eingeht, die man durch Spiegelung an der Hauptdiagonalen oder Vertauschung der Indizes erhält. ▲ In der Praxis berechnet man die Inverse, insbesondere bei großen Matrizen, nicht mithilfe der Determinante (sehr ineffizient!), sondern durch elementare Umformungen. Numerische Berechnung der inversen Matrix siehe Gauß-Jordan-Verfahren, Abschnitt 17.6. ■ Drehung eines Ortsvektors x um Drehwinkel α bezüglich der z-Achse. cos α − sin α 0 A = sin α y = Ax , cos α 0 0 0 1 cos α sin α 0 1 A−1 = − sin α cos α 0 , det A 0 0 1 det A = cos2 α + sin2 α = 1. Charakteristisch für Operatoren (Transformationen) mit |x| = |y|, Norm bleibt erhalten. cos α sin α 0 cos(−α ) − sin(−α ) 0 =⇒ A−1 = − sin α cos α 0 = sin(−α ) cos(−α ) 0 . 0 0 1 0 0 1 Vorzeichenwechsel der Sinusterme beachten! ● Eigenschaften invertierbarer Matrizen: −1 −1 A = A, (A · B)−1 = B−1 A−1 , −1 T T −1 A = A .
17.4 Determinanten
17.4.9
567
Rang einer Matrix
Unterdeterminante p-ter Ordnung, Determinante det U, die man aus einer quadratischen (p × p)-Untermatrix erhält. Die Übermatrix A kann auch eine nicht-quadratische (m × n)-Matrix (m,n ≥ p) sein. Rang einer Matrix, Rg(A), die höchste Ordnung aller von Null verschiedenen Unterdeterminanten von A. ● Für eine (m × n)-Matrix A mit Rg(A) = r gilt: A besitzt mindestens eine Unterdeterminante det U der r-ten Ordnung, die ungleich Null ist. Alle Unterdeterminanten mit einer Ordnung größer als r verschwinden. ● Lösbarkeitskriterium für lineare Gleichungsysteme: Ein lineares Gleichungssystem Ax = c ist dann und nur dann eindeutig lösbar, wenn der Rang der (n × n)-Koeffizientenmatrix A gleich n ist: Rg(A(n,n) ) = n ⇔ Ax = c ist eindeutig lösbar. ● Der Rang einer (m × n)-Matrix A mit Rg(A(m,n) ) = r ist höchstens gleich der kleineren der Zahlen m und n: m für m ≤ n r≤ n für n ≤ m. ● Rang einer regulären quadratischen Matrix A mit n Zeilen und n Spalten: Rg(A) = n ⇔ det A = 0. ● Rang einer singulären quadratischen Matrix A mit n Zeilen und n Spalten: Rg(A) < n ⇔ det A = 0. ● Rang der Nullmatrix 0: Rg(0) = 0. Spaltenrang, maximale Anzahl linear unabhängiger Spaltenvektoren. Zeilenrang, maximale Anzahl linear unabhängiger Zeilenvektoren. ● Ist der Zeilenrang einer Matrix gleich dem Spaltenrang, so ist dies der Rang Rg(A) der Matrix A. Zeilenrang(A) = Spaltenrang(A) ⇒ Rg(A) = Zeilenrang(A). ● Rang einer Trapezmatrix ist gleich der Anzahl nicht verschwindender Zeilen. Elementare Umformungen von Matrizen ● Zwei Zeilen (oder Spalten) werden miteinander vertauscht. ● Eine Zeile (oder Spalte) wird mit einer von Null verschiedenen Zahl multipliziert. ● Zu einer Zeile (oder Spalte) wird eine andere Zeile bzw. Spalte oder ein Vielfaches davon addiert. ● Der Rang einer Matrix ändert sich nicht, wenn sie elementaren Umformungen unterworfen wird! ▲ Die elementaren Umformungen werden auch beim Gauß-Verfahren zur Lösung linearer Gleichungssysteme eingesetzt, Abschnitt 17.5.
17.4.10
Bestimmung des Ranges mit Unterdeterminanten
Der Rang r einer (m × n)-Matrix A kann in drei Schritten, die gegebenenfalls wiederholt werden müssen, bestimmt werden: • Zunächst sei m ≤ n vorausgesetzt (sonst vertauscht man m und n in der folgenden Prozedur). • Prüfen, ob alle Unterdeterminanten m-ter Ordnung verschwinden. • Ist dies nicht der Fall, so ist r = m. • Verschwinden aber alle Unterdeterminanten m-ter Ordnung, so wird diese Prozedur für m−1 wiederholt.
568
17 Matrizen, Determinanten und lineare Gleichungssysteme
■ Bestimmung des Ranges einer (2 × 3)-Matrix: 7 4 9 A= m = 2, n = 3, 7 3 0 ⇒ Rg(A) < 3, da m = 2 ist. Ist Rg(A) = 2? Finde eine zweireihige Unterdeterminante mit det U = 0. 4 9 det = 4 · 0 − 9 · 3 = −27 = 0 3 0 ⇒ Rg(A) = 2.
17.5
Lineare Gleichungssysteme
Lineare Gleichungsysteme treten auf in der Elektrotechnik (Berechnungen elektrischer Netzwerke), in der technischen Mechanik (Festigkeitsberechnungen für Maschinenteile und Tragwerke) und in vielen anderen Bereichen, insbesondere auch bei der numerischen Lösung von diskretisierten Differenzialgleichungssystemen. Lineares Gleichungssystem mit m Gleichungen, m Konstanten ci , n Unbekannten xi und m × n Koeffizienten ai j : a11 x1 + a12 x2 + · · · + a1n xn a21 x1 + a22 x2 + · · · + a2n xn .. .
Symbolische Schreibweise: Ax = c, manchmal auch: [A]{x} = {c}. Koeffizienten- oder Systemmatrix A, Matrix der Koeffizienten ai j . Lösungs- oder Systemvektor x, Vektor der Unbekannten xi , die zu bestimmen sind. Konstantenvektor oder rechte Seite c, enthält die Konstanten ci , die die an das System gestellten Bedingungen (z. B. äußere Kräfte) beschreiben. ▲ Lineare Gleichungssysteme lassen sich nur unter bestimmten Voraussetzungen lösen. Hierzu gibt es eine Vielzahl von unterschiedlichen Verfahren (z. B. grafische Methode, Gauß-Jordan-Verfahren). Homogenes Gleichungssystem, die rechte Seite der Gleichungen ist Null: c = 0, c1 = · · · = cm = 0.
17.5 Lineare Gleichungssysteme
569
■ Homogenes Gleichungssystem mit zwei Unbekannten: a11 x1 + a12 x2 = 0, a21 x1 + a22 x2 = 0. Inhomogenes Gleichungssystem: c = 0, ci = 0 für mindestens ein i = 1, . . . ,m. ■ Inhomogenes Gleichungssystem mit zwei Unbekannten: a11 x1 + a12 x2 = 3, a21 x1 + a22 x2 = 6. Überbestimmtes lineares Gleichungssystem, notwendige (aber nicht hinreichende) Voraussetzung: n < m. Unterbestimmtes lineares Gleichungssystem, notwendige (aber nicht hinreichende) Voraussetzung: n > m.
17.5.1
Systeme von zwei Gleichungen mit zwei Unbekannten
Grafische Lösung: Die Bestimmung des Schnittpunktes zweier Geraden entspricht der Lösung eines linearen Gleichungssystems mit zwei Gleichungen und zwei Unbekannten: a11 x1 + a12 x2 = c1 , a21 x1 + a22 x2 = c2 . Drei Lösungstypen können vorkommen: 1. Zwei Geraden schneiden sich in einem Schnittpunkt. ⇒ Schnittpunktkoordinaten sind eindeutige Lösung des Gleichungssystems! 2. Die Geraden schneiden sich nicht. Sie sind parallel. ⇒ Lösung des Gleichungssystems existiert nicht! 3. Geraden sind identisch. Jeder Punkt der einen Geraden liegt auf der anderen und ist somit Schnittpunkt (Lösung). ⇒ Unendlich viele Lösungen des Gleichungssystems existieren! [x 2]
1 a 11 x 1 +a 12 x 2 =c 1
x2
[x 2]
2
[x 2]
a 21 x 1 +a 22 x 2 =c 2 x1
[x 1]
[x 1]
Schnittpunktermittlung zwischen Geraden Analytische Lösung nach der Einsetzmethode: Matrixschreibweise des Gleichungssystem: Ax = c
3
[x 1]
570
17 Matrizen, Determinanten und lineare Gleichungssysteme
oder in Komponentenschreibweise: a11 a12 x1 c1 = . a21 a22 x2 c2 1. Erste Gleichung des Gleichungssystems wird mit a22 multipliziert. 2. Zweite Gleichung mit −a12 multiplizieren. 3. Addition der resultierenden Gleichungen (a11 a22 − a12 a21 ) · x1 = c1 a22 − a12 c2 . 4. Nach x1 auflösen: c1 a22 − a12 c2 x1 = . a11 a22 − a12 a21 Eindeutige Lösung für x1 ! ▲ Division nur möglich, wenn det A = a11 a22 − a12 a21 = 0 ist. 5. Erste Gleichung des Systems mit −a21 multiplizieren. 6. Zweite Gleichung mit a11 multiplizieren. 7. Addition der resultierenden Gleichung: (a11 a22 − a12 a21 ) · x2 = c2 a11 − a21 c1 . 8. Nach x2 auflösen: c2 a11 − a21 c1 x2 = . a11 a22 − a12 a21 Eindeutige Lösung für x2 ! ▲ Division nur möglich, wenn det A = a11 a22 − a12 a21 = 0! Die Zahl det A = a11 a22 − a12 a21 bestimmt also, ob das Gleichungssystem eindeutig lösbar ist. Cramer’sche Regel, Lösungsvektor x eines linearen Gleichungssystems Ax = c mit regulärer Koeffizientenmatrix A ist eindeutig bestimmt durch: det Ai . det A Ai bezeichnet die Matrix, die man aus der Koeffizientenmatrix A erhält, wenn man die i-te Spalte durch den Konstantenvektor c ersetzt. xi =
▲ Die Cramer’sche Regel ist zur Lösung von linearen Gleichungsystemen mit mehr als drei Gleichungen ungeeignet, da ineffizient. ■ Für zwei lineare Gleichungen mit (a11 a22 − a12 a21 ) = det A = 0 lassen sich die Gleichungen mit der Cramer’schen Regel nach x1 und x2 auflösen und das Gleichungssystem besitzt die eindeutige Lösung:
a22 c1 − a12 c2 a11 c2 − a21 c1 1
c1 a12
1
a11 c1
x1 = x2 = = =
,
.
det A det A c2 a22 det A det A a21 c2
17.6
Numerische Lösungsverfahren
Aufteilung numerischer Verfahren zur Lösung linearer Gleichungssysteme: Direkte und iterative Verfahren. Direkte Verfahren, Erweiterungen der Einsetzmethode. Standardverfahren zur Lösung von linearen Gleichungssystemen: Eliminationsverfahren von Gauß, LR-Zerlegung, Gauß-Jordan-Verfahren. Iterative Verfahren, Näherungslösung des Gleichungssystems wird so lange verbessert, bis vorgegebene gewünschte Genauigkeit erreicht ist (Gauß-Seidel-Verfahren).
17.6 Numerische Lösungsverfahren
571
● Eindeutige Lösbarkeit, ein lineares Gleichungssystem aus n Gleichungen mit n Unbekannten besitzt genau dann eine eindeutige Lösung, wenn die Koeffizientendeterminante nicht Null, d. h. der Rang der Matrix gleich n ist: det A = 0 ⇔ Rg(A(n,n) ) = n.
17.6.1
Gauß’scher Algorithmus für lineare Gleichungssysteme
Lösung eines linearen Gleichungssystems Ax = c durch Umformung in zwei Teilen:
17.6.2
Vorwärtselimination
Durch elementare Umformungen das Gleichungssystem in Zeilenstufenform bringen (rechte obere Dreiecksmatrix). Elementare Umformungen führen zu einem äquivalenten Gleichungssystem: Das äquivalente Gleichungssystem hat dieselben Lösungen für die Unbekannten wie das ursprüngliche Gleichungssystem. • Multiplikation einer Gleichung mit einem Faktor ungleich Null. • Addition oder Subtraktion von Vielfachen von Gleichungen. • Vertauschen der Reihenfolge von Gleichungen. Das ist für elementare Matrizenoperationen äquivalent zu: • Multiplikation einer Zeile der Matrix mit einem skalaren Faktor. • Addition oder Subtraktion von Vielfachen von Zeilen einer Matrix. • Vertauschen von zwei Zeilen einer Matrix. Ursprüngliches Gleichungssystem in ein äquivalentes Gleichungssystem in Dreiecksform umwandeln. x1 + a12 x2 + a13 x3 + a11 a22 x2 + a23 x3 +
Ablauf der Vorwärtselimination: ● Erster Eliminationsschritt: 1. Zeile zur Elimination des ersten Koeffizienten ai1 (i > 1) der anderen Zeilen benutzen: Ist a11 = 0, so subtrahiert man das a21 /a11 -fache der 1. Zeile von der 2. Zeile, das a31 /a11 -fache der 1. Zeile von der 3. Zeile, usw. ▲ Durch den ersten Eliminationsschritt entstehen in der 1. Spalte der Matrix Nullen, alle ai1 = 0 (außer a11 )! ● Zweiter Eliminationsschritt: 2. Zeile zur Elimination der Koeffizienten ai2 (i > 2) benutzen: Ist a22 = 0, so subtrahiert man das a32 /a22 -fache der 2. Zeile von der 3. Zeile, das a42 /a22 -fache der 2. Zeile von der 4. Zeile, usw. Es werden n − 1 Eliminationsschritte bis zur n-ten Zeile durchgeführt.
572
17 Matrizen, Determinanten und lineare Gleichungssysteme
● Umformung auf Dreiecksform in n − 1 Eliminationsschritten: Neu entstehende Koeffizienten des k-ten Schritts, k = 1, · · · , n − 1, errechnen sich nach folgenden rekursiven Formeln: ai j := 0;
i = k + 1, . . . ,n; j = k
ai j := ai j − ak j · (aik /akk );
i = k + 1, . . . ,n; j = k + 1, . . . ,n
ci = ci − ck · (aik /akk );
i = k + 1, . . . ,n.
▲ Eine Programmsequenz zur Gaußelimination ist nach dem folgenden Abschnitt, zusammen mit der Sequenz für die Rückwärtseinsetzung, angegeben. ■ Gauß-Verfahren für ein System von drei Gleichungen mit drei Unbekannten: −x1 +x2 +2x3 = 2 −1 1 2 2 3x1 −x2 + x3 = 6 3 −1 1 6 −x1 +3x2 +4x3 = 4 −1 3 4 4 1. Schritt: Elimination von x1 in den letzten beiden Gleichungen: −x1 +x2 +2x3 = 2 −1 1 2 2 2x2 +7x3 = 12 0 2 7 12 0 2 2 2 2x2 +2x3 = 2 2. Schritt: Elimination von x2 aus der dritten Gleichung: −1 1 2 2 −x1 +x2 +2x3 = 2 2x2 +7x3 = 12 2 7 12 . 0 −5x3 = −10 0 0 −5 −10
17.6.3
Pivotisierung
▲ Das Gauß-Verfahren versagt, falls das Diagonalelement oder Pivotelement (engl. für Dreh- und Angel punkt) akk eines Eliminationsschrittes gleich Null ist, akk = 0 (Abbruch des Verfahrens bei Division durch Null). Pivotsuche: Ist ein Diagonalelement akk = 0, so vertauscht man die Pivot-Zeile k vor Ausführung des k-ten Eliminationsschrittes mit derjenigen Zeile m > k, die den betragsmäßig größten Koeffizienten für xk besitzt: Neue Pivotzeile m, neues Pivotelement amk .
Eine noch weitergehende Pivotstrategie (Totalpivotisierung), die eine weitgehende Äquilibrierung der Matrix voraussetzt, sucht das betragsgrößte Element unter allen Matrixelementen. Zur Vertauschung dieses Elements an die Stelle (k,k) sind Zeilen- und Spaltenvertauschungen erforderlich; Spaltenvertauschungen in einem linearen Gleichungssystem entsprechen einer Umnummerierung der Unbekannten, die zusätzlich durchgeführt werden muss. ▲ Aus Gründen der numerischen Stabilität ist Pivotisierung oft auch für akk = 0 sinnvoll, da bei schlecht „konditionierten“ Gleichungssystemen (im Zweidimensionalen: zwei Geraden mit fast gleicher Steigung) sonst bei der Division durch kleine Diagonalelemente eine starke Fehlerfortpflanzung auftreten kann.
Für numerische Rechnungen mit dem Gauß’schen Algorithmus ist Zeilenpivotisierung in jedem Fall sinnvoll, Totalpivotisierung empfehlenswert. Ist die Matrix A symmetrisch und positiv definit, so kann auf Pivotisierung verzichtet werden.
17.6 Numerische Lösungsverfahren
573
▲ Programmsequenz zur Pivotisierung der Matrix A und des Vektors c des Gleichungssystems Ax = c. BEGIN Pivotisierung INPUT n INPUT a[i,k], i=1..n, k=1..n INPUT c[i], i=1..n FOR k=1 TO n DO pivot:= k maxa:= abs(a[k,k]) FOR i = k+1 TO n DO dummy:= abs(a[i,k]) IF (dummy > maxa) THEN maxa:= dummy pivot:= i ENDIF ENDDO IF (pivot = k) THEN FOR j = k TO n DO dummy:= a[pivot,j] a[pivot,j]:= a[k,j] a[k,j]:= dummy ENDDO dummy:= c[pivot] c[pivot]:= c[k] c[k]:= dummy ENDIF ENDDO OUTPUT a[i,k], i=1..n, k=1..n OUTPUT c[i], i=1..n END Pivotisierung ▲ Dieser Programmteil ist für das Gauß-Verfahren und das Gauß-Jordan-Verfahren einsetzbar.
17.6.4
Rückwärtseinsetzen
Aus der Dreiecksform die Lösungen xi durch schrittweises Rückwärtseinsetzen gewinnen: Zuerst die unterste Zeile nach xn auflösen. Die anderen Elemente xi , i = n − 1, . . . ,1 des Lösungsvektors x bestimmt man dann rekursiv mit der Gleichung xn =
cn , ann
xi =
n ci aik − x ∑ k a , i = n − 1, . . . ,1. aii k=i+1 ii
■ Sei A eine (4 × 4)-Matrix, dann lautet das Gleichungssystem A x = c mit dem unbekannten Vektor x = (x1 ,x2 , . . . ,xn )T : a11 x1 + a12 x2 + a13 x3 + a14 x4 = c1 a22 x2 + a23 x3 + a24 x4 = c2 a33 x3 + a34 x4 = c3 a44 x4 = c4 .
574
17 Matrizen, Determinanten und lineare Gleichungssysteme
1. Die Lösung durch Einsetzen beginnt mit der letzten Gleichung: c4 . x4 = a44 2. Der für x4 bestimmte Wert wird in die vorletzte Zeile eingesetzt und diese nach x3 aufgelöst: c3 − a34 x4 . x3 = a33 3. Dies wird weitergeführt, bis auch die erste Zeile nach x1 aufgelöst ist. Der Vektor x ist damit bekannt, das Gleichungssystem gelöst. ▲ Programmsequenz Lösung des Systems Ax = c mit einer (n × n)-Matrix A und einem Vektor c durch Gaußelimination ohne Pivotisierung. BEGIN Gaußelimination INPUT n INPUT a[i,k], i=1..n, k=1..n INPUT c[i], i=1..n BEGIN Vorwärtselimination FOR k = 1 TO n-1 DO FOR i = k+1 TO n DO CALL Pivotisierung (* bei Bedarf *) factor:= a[i,k]/a[k,k] FOR j = k+1 TO n DO a[i,j]:= a[i,j] - factor*a[k,j] ENDDO c[i]:= c[i] - factor*c[k] ENDDO ENDDO END Vorwärtselimination BEGIN Rückwärtssubstitution x[n]:= c[n]/a[n,n] FOR i = n-1 TO 1 STEP -1 DO sum:= 0 FOR j = i+1 TO n DO sum:= sum + a[i,j]*x[j] ENDDO x[i]:= (c[i] - sum)/a[i,i] ENDDO END Rückwärtssubstitution OUTPUT x[i], i=1..n END Gaußelimination ▲ Die Vorwärtselimination im Gaußalgorithmus erfordert ca. n3 /3, die Rücksubstitution ca. n2 /2 Operationen.
17.6.5
LR-Zerlegung
LR-Zerlegung (LR = links-rechts), im Englischen LU (lower-upper-decomposition), Zerlegung einer Matrix A in ein Produkt einer rechten Dreiecksmatrix R mit einer linken Dreiecksmatrix L, basierend auf dem Gauß-Verfahren. ● Jede Matrix A, bei der für die Durchführung des Gauß-Algorithmus keine Pivotisierung erforderlich ist, kann als Produkt einer linken unteren und einer rechten oberen Dreiecksmatrix geschrieben werden:
▲ Nicht jede Matrix besitzt eine LR-Zerlegung. 0 1 ■ besitzt keine LR-Zerlegung. 1 0 Algorithmus zur Lösung des Gleichungssystems Ax = c 1. Schritt: LR-Zerlegung der Koeffizientenmatrix A Ax = LRx = c. 2. Schritt: Einführung eines (unbekannten) Hilfsvektors y und Lösung des Gleichungssystems Ly = c: ⇒
y = L−1 c.
3. Schritt: Lösung des Gleichungssystems Rx = y: ⇒
x = R−1 y.
▲ Die LR-Zerlegung ist dann zu empfehlen, wenn mehrere lineare Gleichungssysteme mit gleicher Koeffizientenmatrix A, aber jeweils verschiedener Inhomogenität c zu lösen sind; Schritt 1 ist dann nur einmal durchzuführen. Die Zerlegung der Koeffizientenmatrix A in die linke Dreiecksmatrix L und die rechte Dreiecksmatrix R ist nicht eindeutig. Die wichtigsten Zerlegungen, basierend auf der Gaußelimination, sind die Doolittle-, die Crout- und die Cholesky-Zerlegung. Doolittle-Zerlegung, die Diagonalelemente der linken Dreiecksmatrix L sind gleich Eins, l j j = 1, det L = 1, d. h. L besitzt die Form 1 0 ··· 0 .. ... l21 1 . . L= . . . . . . . . 0 . ln1 · · · ln,n−1 1 ● Bei der Doolittle-Zerlegung ist R die Matrix der bei der Gaußelimination entstehenden Koeffizienten: r11 r12 · · · r1n .. 0 r22 . R= .. . . . . . . . . .. . 0 · · · 0 rnn Berechnung der Koeffizienten r jk r1k = a1k , k = 1, . . . ,n j−1
r jk = a jk − ∑ l js rsk , k = j, . . . ,n; j ≥ 2. s=1
Berechnung der Koeffizienten l jk , die Eliminationskonstanten: a j1 l j1 = , j = 2, . . . ,n r11
576
l jk =
17 Matrizen, Determinanten und lineare Gleichungssysteme 1 rkk
k−1
a jk − ∑ l js rsk
,
j = k + 1, . . . ,n; k ≥ 2.
s=1
Crout-Zerlegung, die Diagonalelemente der rechten Dreiecksmatrix R sind gleich Eins, r j j = 1, det R = 1, d. h. R besitzt die Form 1 r12 · · · r1n .. 0 1 ... . . R= . . . . . . . . rn−1,n . 0 ··· 0 1 Berechnung der Koeffizienten l jk l j1 = a j1 ,
j = 1, . . . ,n k−1
l jk = a jk − ∑ l js rsk ,
j = k, . . . ,n;
k ≥ 2.
s=1
Berechnung der Koeffizienten r jk a1k r1k = , k = 2, . . . ,n l11 j−1 1 a jk − ∑ l js rsk , k = j + 1, . . . ,n; j ≥ 2. r jk = ljj s=1 ▲ Programmsequenz zur LR-Dekomposition einer (n × n)-Matrix A nach Crout. BEGIN Crout Dekomposition INPUT n INPUT a[i,k], i=1..n, k=1..n FOR j = 2 TO n DO a[1,j]:= a[1,j]/a[1,1] ENDDO FOR j = 2 TO n-1 DO FOR i = j TO n DO sum:= 0 FOR k = 1 TO j-1 DO sum:= sum + a[i,k]*a[k,j] ENDDO a[i,j]:= a[i,j] - sum ENDDO FOR k = j + 1 TO n DO sum:= 0 FOR i = 1 TO j-1 DO sum:= sum + a[j,i]*a[i,k] ENDDO a[j,k]:= (a[j,k] - sum)/a[j,j] ENDDO ENDDO sum:= 0 FOR k = 1 TO n-1 DO sum:= sum + a[n,k]*a[k,n]
17.6 Numerische Lösungsverfahren
577
ENDDO a[n,n]:= a[n,n] - sum OUTPUT a[i,k], i=1..n, k=1..n END Crout Dekomposition Cholesky-Zerlegung, LR-Zerlegung für eine symmetrische, positiv definite Matrix A, A = AT und xT Ax > 0 für alle x = 0; man bezeichnet xT Ax als quadratische Form. ● Die rechte Dreiecksmatrix R kann gewählt werden als R = LT ,
A = LLT mit r jk = lk j .
Berechnung der Koeffizienten l jk : √ l11 = a11 , % j−1
ljj =
a j j − ∑ l 2js ,
j = 2, . . . ,n,
s=1
a j1 , j = 2, . . . ,n, r11 k−1 1 l jk = a jk − ∑ l js lks , lkk s=1 l j1 =
j = k + 1, . . . ,n; k ≥ 2.
■ Zerlegung einer symmetrischen (3 × 3)-Matrix A in das Produkt LLT : 4 2 14 2 0 0 2 1 7 A = 2 17 −5 = 1 4 0 0 4 −3 = LLT . 14 −5 83 7 −3 5 0 0 5 ▲ Programmsequenz zur LR-Zerlegung einer symmetrischen positiv definiten Matrix A nach Cholesky. BEGIN Cholesky LR INPUT n INPUT a[i,k], i=1..n, k=1..n FOR k = 1 TO n DO FOR i = 1 TO k-1 DO sum:= 0 FOR j = 1 TO i-1 DO sum:= sum + a[i,j]*a[k,j] ENDDO a[k,i]:= (a[k,i] - sum)/a[i,i] ENDDO sum:= 0 FOR j = 1 TO k-1 DO sum:= sum + a[k,j]*a[k,j] ENDDO a[k,k]:= sqrt(a[k,k] - sum) ENDDO OUTPUT a[i,k], i=1..n, k=1..n END Cholesky LR
578
17 Matrizen, Determinanten und lineare Gleichungssysteme
0 = cm . ● Bedingungen für die Lösbarkeit von (m × n)-Gleichungssystemen: Keine Lösung des Gleichungssystems, falls ein oder mehrere cr+1 , cr+2 , . . . ,cm ungleich Null sind: Nicht alle Gleichungen sind erfüllt.
Eindeutige Lösung für r = n. Mehr als eine Lösung für r < n falls alle cr+1 ,cr+2 , . . . ,cm Null sind.
Für überzählige n − r Unbekannte beliebige Zahlenwerte annehmen, übrige r Unbekannte berechnen. Allgemeine Lösung des Gleichungssystems, überzählige n − r Unbekannte xr+1,xr+2 , . . . ,xn bleiben freie Parameter (Werte werden nicht eingesetzt). Spezielle Lösung erhält man durch Einsetzen konkreter Zahlenwerte für die Parameter: Unendlich viele spezielle Lösungen sind möglich. ● Lösbarkeitsbedingung des linearen Gleichungssystems ist stets erfüllt, wenn die rechte Seite c der Nullvektor ist. Alle cr+1 , . . . ,cm sind auch nach elementaren Umformungen Null. Homogenes lineares Gleichungssystem: Ax = 0, c ist hier der Nullvektor c = 0. ● Homogene Gleichungssysteme Ax = 0 haben nur dann nichttriviale Lösungen x = 0, wenn A singulär ist, det A = 0.
17.6 Numerische Lösungsverfahren
579
● Inhomogenes lineares Gleichungssystem, Ax = c = 0, mindestens eine Komponente von c ist ungleich Null, c = 0. Bei quadratischer Matrix A nur eindeutig lösbar, wenn A regulär ist, det A = 0. ● Jedes homogene System ist lösbar. Triviale Lösung, die Lösung x = 0. ● Rang r des Gleichungssystems ist die Zahl r aus der Trapezform des linearen Gleichungssystems. r ist die Maximalzahl von Gleichungen, die voneinander unabhängig sind. r ist gleichzeitig der Rang der Koeffizientenmatrix A, d. h. die Maximalzahl linear unabhängiger Zeilenvektoren von A. ● Falls der Rang der Matrix A und der Rang der um den Vektor c der rechten Seite erweiterten Matrix A|c übereinstimmen, so ist das lineare Gleichungssystem Ax = c lösbar. Ist das Gleichungssystem lösbar, so ist der Rang der erweiterten Matrix A|c gleich dem Rang der Koeffizientenmatrix A. Rg(A) = Rg(A|c). ■ Erweiterte (3 × 3)-Matrix: a11 a12 a13 c1 A|b = a21 a22 a23 c2 . a31 a32 a33 c3 ● Für quadratische (n×n)-Gleichungssysteme ist die (n×n)-Koeffizientenmatrix A regulär, wenn der Rang r gleich der Anzahl n der Zeilen ist. Dies ist der Fall für det A = 0. ▲ Durch das Gauß-Verfahren wird A mit elementaren Umformungen und evtl. Zeilen- oder Spaltenvertauschungen in eine äquivalente Dreiecksmatrix A überführt. ● Die Determinanten von A und A unterscheiden sich höchstens im Vorzeichen, ihr Betrag ist das Produkt der Hauptdiagonalelemente von A : m
det A = (−1) det A’,
det A =
a11
·
a22
·...·
ann
n
= ∏ aii . i=1
m ist dabei die Anzahl der Zeilen-/Spaltenvertauschungen.
17.6.7
Gauß-Jordan-Verfahren zur Matrixinversion
Gauß-Jordan-Verfahren, mit elementaren Umformungen wird das lineare Gleichungssystem Ax = c schrittweise in die Diagonalform des äquivalenten Gleichungssystems x = A−1 c = c
übergeführt, mit denselben Lösungen wie das ursprüngliche Gleichungssystem! a11 x1
17 Matrizen, Determinanten und lineare Gleichungssysteme
▲ Die Unbekannten in den Gleichungen werden so reduziert, dass in jeder Gleichung nur noch eine Unbekannte vorkommt. Umformung des Gleichungssystems auf Diagonalform: In n Eliminationsschritten berechnet man die neuen Koeffizienten des k-ten Schritts, k = 1, . . . ,n, rekursiv: ai j := 0; i = 1, . . . ,n; i = k; j = k k; j = 1, . . . ,n ai j := ai j − ak j · (aik /akk ); i = 1, . . . ,n; i = ci := ci − ck · (aik /akk ); i = 1, . . . ,n; i = k. Lösungen xi in Diagonalform: xi = ci =
ci ; aii
i = 1, . . . ,n.
▲ Lösungen der xi sind direkt ablesbar, wenn im k-ten Eliminationsschritt die k-te Zeile normiert wird. aki := aki /akk ;
i = k, . . . ,n, dann werden die Diagonalelemente akk = 1.
▲ Im Unterschied zum Gauß-Verfahren werden im Gauß-Jordan-Verfahren die Unbekannten während des Eliminationsschrittes auch von den darüber liegenden Zeilen eliminiert. Normierung der Gleichungen mit Division durch die Diagonalelemente (Diagonalmatrix wird zur Einheitsmatrix). Darstellung des umgeformten Gleichungssystems x = A−1 c = c in Matrixschreibweise: 1 0 ··· 0 c1 x1 . . . . .. x2 c2 0 1 . = . . .. . . . . . . 0 .. .. . 0 ···
0
1
xn
cn
● Direktes Ablesen des Lösungsvektors x = c des Gleichungssystems: xi = ci , i = 1, . . . ,n. ■ Verfahren von Gauß-Jordan. 1 2 3
17 Matrizen, Determinanten und lineare Gleichungssysteme
17.6.8
Berechnung der inversen Matrix A−1
Alle Umformungen, die die reguläre Matrix A in die Einheitsmatrix E überführen, werden gleichzeitig an der Einheitsmatrix E vorgenommen: Überführen der Einheitsmatrix E in die inverse Matrix A−1 . ▲ Damit wird es möglich, Gleichungssysteme für komplexe Systeme (mit fester System- oder Kopplungsmatrix A) für verschiedene äußere Bedingungen (verschiedene Vektoren b, c, d, . . .) effizient zu lösen. ■ Verhalten eines Kraftfahrzeugs mit Federn und Stoßdämpfern auf verschiedenem Straßenuntergrund berechnen. Gleichungssysteme mit konstanter invertierbarer Matrix A, aber verschiedenen rechten Seiten Ax = b, Ay = c, Az = d,
usw.
A = const. kann man numerisch lösen, indem man die Matrix A invertiert. ● Die Lösungsvektoren x,y,z, usw. sind die Produkte aus inverser (fester) Matrix A−1 und den verschiedenen Konstantenvektoren der rechten Seiten: x = A−1 b, y = A−1 c, z = A−1 d
Probe A−1 · A = E: 1/3 1/9 1/9 1 1 −1 1 0 0 0 1/3 −1/6 · 2 1 1 = 0 1 0 . −2/3 4/9 −1/18 4 −4 2 0 0 1 ▲ Programmsequenz zur Matrixinversion einer (n × n)-Matrix A nach dem Gauß-Jordan-Verfahren. BEGIN Gauß-Jordan INPUT n INPUT a[i,k], i=1..n, k=1..n CALL Pivotisierung (* bei Bedarf *) FOR k = 1 TO n DO FOR j = 1 TO n DO b[k,j]:= 0 ENDDO b[k,k]:= 1 ENDDO FOR k = 1 TO n DO dummy:= a[k,k] FOR j = 1 TO n DO a[k,j]:= a[k,j]/dummy b[k,j]:= b[k,j]/dummy ENDDO FOR i = 1 TO n DO IF (i = k) THEN dummy:= a[i,k] FOR j = 1 TO n DO a[i,j]:= a[i,j] - dummy*a[k,j] b[i,j]:= b[i,j] - dummy*b[k,j] ENDDO ENDIF ENDDO ENDDO OUTPUT b[i,k], i=1..n, k=1..n END Gauß-Jordan ▲ Dieses Programm ist zusammen mit dem Pivotisierungsprogramm des Gauß-Verfahrens verwendbar.
584
17 Matrizen, Determinanten und lineare Gleichungssysteme
17.7
Iterative Lösung linearer Gleichungssysteme
Bei der Berechnung von Netzwerken und elektrischen Energienetzen der Elektrotechnik, Bilanzen in der Wirtschaftsmathematik, der Statik von Fachwerken (z. B. Hochspannungsmast) sowie bei Berechnungen mit Finiten Elementen treten oft sehr große Gleichungssysteme auf (bspw. 1000 Gleichungen). ▲ Bei großen Gleichungssystemen sind in der Praxis viele Koeffizienten des Konstantenvektors c und der Systemmatrix A gleich Null. Schwach besetzte (n × n)-Matrix, die Besetzungsdichte, d. h., die Anzahl der Elemente ai j , die nicht Null sind, ist kleiner als 8 %. ■ Für einen Hochspannungsmast ergibt sich die Matrixgleichung: Sx=K
mit
(n × n)-Steifigkeitsmatrix: S Belastungsvektor: K Verschiebungsvektor: x. Bandbreite der Systemmatrix, die Bandmatrix enthält einen Streifen konstanter Breite, der mit NichtnullElementen besetzt ist. Rundungsfehler: Direkte Verfahren zur Lösung linearer Gleichungssysteme (Gauß-Algorithmus und Varianten davon) liefern infolge von Rundungsfehlern und Fehlerfortpflanzung u. U. ein verfälschtes Ergebnis; konvergente iterative Verfahren erweisen sich als unempfindlicher gegen Rundungsfehler. Bei Rundungsfehlern in den Eingabedaten nützen auch die iterativen Verfahren nichts. Bei den iterativen Verfahren unterscheidet man Gesamtschritt- und Einzelschritt-Verfahren.
17.7.1
Gesamtschritt-Verfahren (Jacobi)
▲ Voraussetzung für Gesamtschrittverfahren: Alle Diagonalelemente aii = 0 für i = 1, . . . ,n. ● Wenn das Gleichungssystem eindeutig lösbar ist, lässt sich die Voraussetzung aii = 0 (für alle i = 1, . . . ,n) durch eine Zeilenvertauschung erfüllen: 1. Schritt: i-te Zeile nach xi auflösen: x1 = (c1 −a12 x2 −a13 x3 · · · −a1n xn )/a11 x2 = (c2 −a21 x1 −a23 x3 · · · −a2n xn )/a22 ··· ··· ··· ··· ··· ··· ··· ··· ··· ··· ··· ··· xn = (cn −an1 x1 −an2 x2 · · · −an,n−1 xn−1 )/ann . ▲ Man beachte, dass die freigelassenen Stellen dem Term aii xi in der Matrix entsprechen würden. 2. Schritt: Startvektor x(0) vorgeben. 3. Schritt: Sukzessive Verbesserung von x(0) mit der Iterationsvorschrift , i−1
x(k+1) = ci − ∑ ai j x(k) i j − j=1
n
∑
ai j x(k) /aii j
j=i+1
für i = 1, . . . ,n und k = 0,1,2, . . . , , d. h. der ermittelte Vektor x(k) wird in dasselbe Gleichungssystem so lange eingesetzt, bis x(k+1) sich von x(k) hinreichend wenig unterscheidet.
17.7 Iterative Lösung linearer Gleichungssysteme
585
● Zur Berechnung von x(k+1) wird auf der rechten Seite der Gleichung die Komponente x(k) i i nicht benötigt. ▲ Gesamtschrittverfahren konvergieren häufig langsam.
17.7.2
Einzelschrittverfahren (Gauß-Seidel)
▲ Schnellere Konvergenz kann i. Allg. mit Einzelschrittverfahren erreicht werden! Anstelle der k-ten Näherung (wie beim Gesamtschrittverfahren) werden die bereits berechneten (k + 1)-ten Näherungen der Komponenten x1 bis xi−1 verwendet, um den Lösungsvektor zu bestimmen. Iterationsvorschrift des Gauß-Seidel-Verfahrens: , i−1
x(k+1) = ci − ∑ ai j x(k+1) − i j j=1
n
∑
ai j x(k) /aii . j
j=i+1
▲ Programmsequenz zur Lösung des Gleichungssystems Ax = c nach dem Gauß-Seidel-Iterationsverfahren mit Relaxation. BEGIN Gauß-Seidel INPUT n, eps, maxit INPUT a[i,k], i=1..n, k=1..n INPUT c[i], i=1..n INPUT lambda (Relaxationsparameter) epsa:=1.1*eps FOR i=1 TO n DO dummy:= a[i,i] FOR j = 1 TO n DO a[i,j]:= a[i,j]/dummy ENDDO c[i]:= c[i]/dummy ENDDO iter:= 0 WHILE (iter < maxit AND epsa > eps) DO iter:= iter + 1 FOR i = 1 TO n DO old:= x[i] sum:= c[i] FOR j = 1 TO n DO IF (i = j) THEN sum:= sum - a[i,j]*x[j] ENDIF ENDDO x[i]:= lambda*sum + (1 - lambda)*old IF (x[i] = 0) THEN epsa:= abs((x[i] - old)/x[i])*100 ENDIF ENDDO ENDDO OUTPUT x[i], i=1..n END Gauß-Seidel ● Relaxationsparameter, Λ mit 0 < Λ < 2, kann die Konvergenz des Gauß-Seidel-Verfahrens wesentlich verbessern:
586
17 Matrizen, Determinanten und lineare Gleichungssysteme
Unterrelaxation, Λ ≤ 1, wird benutzt um nichtkonvergente Systeme zur Konvergenz zu bringen, sowie zur Dämpfung von Oszillationen, um schnellere Konvergenz zu erzielen. Überrelaxation, 1 < Λ ≤ 2, beschleunigt die Konvergenz bei bereits konvergenten Systemen.
17.8
Eigenwertgleichungen
Eigenwertgleichungen werden in der Technik verwendet, um z. B. Hauptachsentransformationen durchzuführen oder die Normalschwingungen in gekoppelten Systemen zu berechnen. Eigenvektor x einer quadratischen Matrix, der Lösungsvektor, der die Gleichung: Ax = λ x, x = 0 Eigenwertgleichung genannt, erfüllt. Eigenwert λ von A, reelle oder komplexe Zahl, die angibt, um welchen Skalierungsfaktor λ der Eigenvektor x durch die lineare Abbildung Ax gestreckt oder gestaucht wird. ▲ Das verallgemeinerte Eigenwertproblem A x = λ Bx ist wichtig für die Methode der Finiten Elemente. Charakteristische Gleichung von A, das Gleichungssystem, das Eigenwerte und Eigenvektoren definiert, ist: (A − λ E)x = 0, x = 0,
a11 − λ a12
a21 a22 − λ det(A − λ E) =
..
.
an1 ...
a1n .. . .. ... . . . . ann − λ
...
= 0.
● Notwendige Bedingung für die Existenz einer Lösung x = 0 dieses Gleichungssystems ist, dass die charakteristische Matrix (A − λ E) singulär ist det(A − λ E) = 0. Charakteristisches Polynom oder charakteristische Determinante P(λ ) von A, Polynom vom Grad n, n Zeilenzahl von A, mit P(λ ) = det(A − λ E). ● Jede reelle oder komplexe Wurzel (Nullstelle) des charakteristischen Polynoms P(λ ) ist eine Lösung der charakteristischen Gleichung von A, d. h. ein Eigenwert λ von A. Spektrum von A, die Menge aller Eigenwerte von A. ● Die (n × n)-Matrix A hat mindestens einen und höchstens n (i. Allg. komplexe) numerisch verschiedene Eigenwerte. ● Die Eigenvektoren x1 ,x2 , . . . ,xn einer Matrix A, die zu verschiedenen Eigenwerten λ 1 ,λ 2 , . . . ,λ n , gehören, sind linear unabhängig. ● Die Eigenwerte symmetrischer (antisymmetrischer) Matrizen sind reell (rein imaginär oder Null), die zu verschiedenen Eigenwerten λ 1 ,λ 2 , . . . ,λ n gehörenden Eigenvektoren x1 ,x2 , . . . ,xn sind zueinander orthogonal.
17.8 Eigenwertgleichungen
587
● Die Summe der n Eigenwerte λ i ist gleich der Spur (Summe der Hauptdiagonalelemente) von A: n
n
i=1
i=1
Sp(A) = ∑ aii = ∑ λ i . ● Die Determinante von A ist gleich dem Produkt der – numerisch möglicherweise gleichen – Eigenwerte: n
det A = λ 1 · λ 2 · . . . · λ n = ∏ λ i . i=1
Produktdarstellung des charakteristischen Polynoms: P(λ ) = (−1)n (λ − λ 1 )(λ − λ 2 ) . . . (λ − λ n ) = (−1)n λ n + an−1 λ n−1 + . . . + a1 λ + a0 . Zusammenfassung gleicher Faktoren (Eigenwerte) P(λ ) = (−1)n (λ − λ 1 )m1 (λ − λ 2 )m2 . . . (λ − λ r )mr mit den numerisch verschiedenen Eigenwerten λ 1 , . . . ,λ r , r ≤ n,
m1 + · · · + mr = n.
Algebraische Multiplizität oder Vielfachheit mi eines Eigenwerts. Orthogonale Matrizen, quadratische Matrizen, deren Inverse P−1 gleich der transponierten Matrix PT ist. P · PT = PT · P = E. ● Die Eigenwerte orthogonaler Matrizen haben den Absolutwert Eins. ● Die Eigenvektoren x einer symmetrischen Matrix S können als Spaltenvektoren einer orthogonalen Matrix P = (x1 ,x2 , . . . ,xn ) aufgefasst werden, mit SP = S(x1 ,x2 , . . . ,xn ) = (λ 1 x1 ,λ 2 x2 , . . . ,λ n xn ) = (x1 ,x2 , . . . ,xn )
λ1
0
0 .. .
λ2
... ...
...
...
0 .. . 0
0
···
0
λn
= (x1 ,x2 , . . . ,xn ) · Λ mit der Diagonalmatrix Λ , deren Diagonalelemente die Eigenwerte von S sind: λ1 0 . . . 0 0 λ 2 . . . ... Λ = .. . . . . . . 0 . 0 · · · 0 λn ● Diagonalisierung von S: S = PΛ PT , Λ = P−1 SP. ● Das Produkt aller Eigenwerte von S ist gleich dem Absolutglied des charakteristischen Polynoms a0 = det S = det Λ .
588
17 Matrizen, Determinanten und lineare Gleichungssysteme
Numerische Berechnung von Eigenwerten einer Matrix A. Zur numerischen Lösung des Eigenwertproblems gibt es spezielle Methoden, die nicht auf der Definition der Eigenwerte als Nullstellen des charakteristischen Polynoms beruhen. Manche Verfahren liefern nur einzelne Eigenwerte, andere liefern sämtliche. Inverse Iteration, Verfahren zur Berechnung einzelner Eigenwerte (Variante der Potenzenmethode). Dem Verfahren liegt folgender Algorithmus zugrunde: 1. Wähle Startvektor vk mit Länge 1. Wähle Zahl µ, in deren Nähe Eigenwert gesucht wird. 2. Löse das lineare Gleichungssystem (A − µ E)wk+1 = vk . 3. Setze vk+1 := wk+1 /|wk+1 |, k := k + 1 und gehe nach 2. (Beachte, dass die Matrix in 2. in jedem Iterationsschritt gleich ist; man kann daher vorteilhaft die LRZerlegung dieser Matrix einsetzen.) Unter der Annahme, dass für die Eigenwerte λ i von A gilt: |λ 1 − µ | < |λ i − µ |, i = 1, konvergiert die Folge T wk+1 ei /vTk ei 1 , aus der sich λ 1 berechnen lässt; dabei wird unterstellt, dass die i-te Komponente λ1 − µ des Eigenvektors zu λ 1 von Null verschieden ist: Für hinreichend große k ist dann auch vTk ei = 0. gegen die Zahl
Die Folge der Vektoren (vk ) konvergiert unter den genannten Voraussetzungen gegen einen Eigenvektor zu λ 1 . QR-Verfahren, Verfahren zur Berechnung sämtlicher Eigenwerte, das Verfahren wird insbesondere bei symmetrischen Matrizen angewendet. Die Grundform des Algorithmus besteht aus folgenden Schritten: 1. Setze A0 := A; k := 0. 2. Berechne die QR-Zerlegung von Ak = Qk Rk (Qk orthogonal, Rk rechte obere Dreiecksmatrix). 3. Setze Ak+1 := Rk Qk , k := k + 1. Gehe nach 2. Hat A nur reelle, betragsmäßig verschiedene Eigenwerte, so konvergieren die Diagonalelemente betragsmäßig geordnet von (Ak ) gegen die Eigenwerte von A. Zur Verbesserung der Konvergenzeigenschaften verwendet man noch eine Shift-Strategie (ähnlich wie bei der inversen Iteration): 2 . Wähle µ k , berechne QR-Zerlegung von Ak − µ k E = Qk Rk . 3 . Setze Ak+1 := Rk Qk + µ k E, k := k + 1. Gehe nach 2 . Als Verschiebungsparameter wählt man meist denjenigen Eigenwert, der in der rechten unteren Ecke von Ak stehenden (2 × 2)-Matrix dem Diagonalelement akm am nächsten liegt. Der Aufwand des QR-Algorithmus wird in der Praxis weiter verringert, wenn man die Matrix A zunächst durch eine Ähnlichkeitstransformation auf die Hessenberg-Gestalt bringt. ▲ Die praktischen numerischen Probleme bei der Berechnung von Eigenwerten sollten nicht unterschätzt werden; es ist daher zu empfehlen, auf bekannte, getestete Programme zurückzugreifen (z. B. das Programmsystem MATLAB).
18
Boole’sche Algebra
18.1
Grundbegriffe
Computer sind aus einer Vielzahl digitaler Schaltkreise aufgebaut. Das folgende Kapitel beschäftigt sich mit der formalen Beschreibung einer Untermenge dieser Schaltkreise, den digitalen Schaltnetzen. Digitale Schaltnetze zeichnen sich durch zwei wesentliche Merkmale aus: ● Sie sind aus logischen Bauelementen (Gattern) aufgebaut. ● Schaltnetze enthalten keine Speicher. ▲ Schaltwerke enthalten Speicher, sodass die Ausgangsgrößen einer Schaltung nicht nur von den aktuellen Eingangsgrößen abhängen, sondern auch vom Zustand der Speicher. Formal lassen sich diese, im Weiteren als logische Schaltungen bezeichneten Schaltkreise mithilfe der Boole’schen Algebra beschreiben. Die Boole’sche Algebra wird eingesetzt zum Entwurf, zur Verifikation und zur Dokumentation logischer Schaltungen. Ein wesentlicher Aspekt beim Schaltkreisentwurf ist die Schaltkreisminimierung. Sie kann auf Basis der Boole’schen Algebra durchgeführt werden. ▲ In den meisten Programmiersprachen gibt es die Möglichkeit, Boole’sche Ausdrücke zu verwenden.
18.1.1
Aussagen und Wahrheitswerte
Aussage, Satz der natürlichen Sprache, dem ein Wahrheitswert, d. h. wahr oder falsch, zugeordnet werden kann. Eine Aussage ist immer entweder wahr oder falsch (Satz der Zweiwertigkeit) und kann auch nicht sowohl wahr als auch falsch sein (ausgeschlossener Widerspruch). Schreibweisen für die Wahrheitswerte: falsch wahr false true 0 1 O L L(ow) H(igh) Im Folgenden werden die Wahrheitswerte mit 0 und 1 bezeichnet. ▲ In PASCAL werden die Wahrheitswerte mit den Konstanten false und true bezeichnet, in FORTRAN mit .false. und .true.. ▲ Technische Realisierungen: Schalter ein aus Strom fließt fließt nicht Spannung hoch niedrig Loch vorhanden nicht vorhanden (bei Lochstreifen) Lampe leuchtet leuchtet nicht
590
18 Boole’sche Algebra
18.1.2
Aussagenvariablen
Aussagenvariable, Boole’sche Variable, wird für Aussagen eingesetzt, so lange man die Zuordnung von Wahrheitswerten zu Aussagen offen lassen möchte. Die Variablen werden gewöhnlich mit Großbuchstaben A, B, C usw. bezeichnet. ▲ Um Aussagenvariablen zu vereinbaren, verwendet man in PASCAL den Datentyp boolean, in FORTRAN den Datentyp logical.
18.2
Boole’sche Verknüpfungen
Es gibt drei elementare Boole’sche Verknüpfungen. Für diese gibt es verschiedene Schreibweisen. Notation Boole’scher Verknüpfungen Bezeichnung Notationen Bemerkungen ¬
Negation
NOT
Konjunktion
AND ∧
Disjunktion
OR
·
Der Strich steht über der Aussage, ¬ wird der Aussage vorangestellt. Auf das Konjunktionszeichen kann verzichtet werden.
∨ +
Im Weiteren wird die in der letzten Spalte vorgestellte Notation benutzt. Wie bei Produkten werden die Punkte für die Konjunktionen oft weggelassen. Die Verknüpfungszeichen für Negation, Konjunktion und Disjunktion werden als „nicht“, „und“ sowie „oder“ gelesen. ▲ Das Symbol ∨ ist ein stilisiertes v von Lat. vel. ∧ ist einfach ein auf den Kopf gestelltes ∨. ▲ In PASCAL werden diese Verknüpfungen mit NOT, AND, OR, in FORTRAN mit .not., .and., .or. bezeichnet. Schaltsymbole für die logischen Funktionen werden im Folgenden angegeben. Nach DIN 40900 wird jedes Gatter durch einen rechteckigen Kasten dargestellt, in dem die Funktion angegeben ist. Zusätzlich wird das veraltete, aber noch teilweise benutzte Symbol angegeben. Die Verknüpfungen lassen sich mit so genannten Wahrheits- oder Logiktabellen beschreiben. Dazu werden alle möglichen Belegungen der Boole’schen Variablen untereinander aufgelistet und das zugehörige Verknüpfungsergebnis rechts daneben angegeben. Bei n Variablen hat die Wahrheitstabelle 2n Zeilen.
18.2.1
Negation, nicht, not A A 0 1 1 0
1
Schaltsymbol eines Nicht-Gatters (DIN, US-Norm)
In Kombination mit anderen Gattern werden negierte Ein- oder Ausgänge einfach durch einen kleinen Kreis am entsprechenden Anschluss gekennzeichnet. ▲ A ist genau dann wahr, wenn A nicht wahr ist. ■ Technische Realisierung: Öffnender Schalter. Es fließt Strom, wenn der Schalter nicht betätigt wird.
18.2 Boole’sche Verknüpfungen
18.2.2
591
Konjunktion, und, and B A·B 0 0 1 0 0 0 1 1
A 0 0 1 1
&
Schaltsymbol eines Und-Gatters (DIN, US-Norm)
▲ A · B ist genau dann wahr, wenn sowohl A als auch B wahr sind. ■ Technische Realisierung: Reihenschaltung (Serienschaltung) von Schaltern. Es fließt nur Strom, wenn alle Schalter betätigt werden. ■ Ein Aufzug bewegt sich (A), wenn die Tür geschlossen ist (T ) und eine Stockwerkstaste betätigt wurde (S): A = T · S. Berücksichtigt man, dass die Betätigung der Taste des Stockwerkes (SE), in dem man sich gerade befindet, nicht zu einer Aufzugbewegung führen darf, folgt A = T · S · SE.
18.2.3
Disjunktion, (inklusives) oder, or A 0 0 1 1
B A+B 0 0 1 1 0 1 1 1
_1 >
Schaltsymbol eines Oder-Gatters (DIN, US-Norm)
▲ A + B ist genau dann wahr, wenn A oder B (oder beide) wahr sind. ▲ Gelegentlich wird die Disjunktion auch als Alternative bezeichnet. ■ Technische Realisierung: Parallelschaltung von Schaltern. Es fließt Strom, wenn mindestens ein Schalter betätigt wird. ▲ Die Boole’schen Verknüpfungen sind verwandt mit Mengenoperationen (A und B bezeichnen hier Mengen): Boole Konjunktion Disjunktion Negation
18.2.4
Mengen Schnittmenge A ∩ B = {x|x ∈ A ∧ x ∈ B} Vereinigung A ∪ B = {x|x ∈ A ∨ x ∈ B} Komplement A = {x|x ∈ / A} = {x| ¬(x ∈ A)}
Rechenregeln
Grundsätzlich wird innerhalb Boole’scher Funktionen die „Punkt vor Strich“-Regel vereinbart. Die Negation wird immer vorrangig ausgewertet. Abweichungen von diesen Regeln müssen durch Klammerung kenntlich gemacht werden. ▲ Die gleichen Prioritäten gelten auch in den Programmiersprachen PASCAL und FORTRAN.
592
18 Boole’sche Algebra
● Es gelten die folgenden Rechenregeln: 0=1 1=0 A=A A+1 =1 A·0 =0 Identitäten:
A+0 =A A·1 =A
Idempotenzgesetze:
A+A =A A·A =A
Tautologie: Kontradiktion:
A+A =1 A·A =0
Kommutativgesetze:
A+B =B+A A·B =B·A
Assoziativgesetze:
A + (B + C) = (A + B) + C A · (B · C) = (A · B) · C
Distributivgesetze:
A · (B + C) = A · B + A · C A + (B · C) = (A + B) · (A + C)
De Morgan’sche Gesetze: A · B = A + B (Inversionsgesetze) A+B =A·B Tautologie, Aussage, die immer wahr ist. Kontradiktion, Aussage, die immer falsch ist. ▲ Die Boole’schen Operationen dürfen nicht mit den arithmetischen Operationen verwechselt werden! Bei Verwechslungsgefahr benutze man besser ∧, ∨ und ¬. ■ Es soll das Distributivgesetz für die Disjunktion überprüft werden. Dazu wird die entsprechende Wahrheitstabelle aufgestellt: A 0 0 0 0 1 1 1 1
B C 0 0 0 1 1 0 1 1 0 0 0 1 1 0 1 1
(B · C) A + (B · C) 0 0 0 0 0 0 1 1 0 1 0 1 0 1 1 1 ↑
A+B A+C 0 0 0 1 1 0 1 1 1 1 1 1 1 1 1 1
(A + B) · (A + C) 0 0 0 1 1 1 1 1 ↑
Die beiden mit ↑ gekennzeichneten Spalten sind für jede Belegung der Aussagevariablen identisch, d. h. die Aussagen sind gleich bzw. das Distributivgesetz gilt auch für die Disjunktion. ▲ Die Anwendung des Distributivgesetzes im Fall der Konjunktion erscheint sehr natürlich, da es mit dem Distributivgesetz der Multiplikation identisch scheint. Dagegen ist das Distributivgesetz der Disjunktion (Oder-Operation) gewöhnungsbedürftig. Man muss beachten, dass Konjunktion und Disjunktion mit Multiplikation und Addition von Zahlen nichts zu tun haben.
18.3 Boole’sche Funktionen
18.3
593
Boole’sche Funktionen
Boole’sche Funktion, ordnet mehreren Eingangsvariablen einen Ausgangswert zu. Alle Boole’schen Funktionen lassen sich durch die Boole’schen Grundverknüpfungen darstellen. n
Es gibt 2(2 ) verschiedene Funktionen mit n Eingangsvariablen. Bei nur einer Eingangsvariablen sind die vier möglichen Funktionen die Identität ( f (A) = A), die Negation ( f (A) = A), die Tautologie ( f (A) = 1) und die Kontradiktion ( f (A) = 0). Bei zwei Eingangsvariablen gibt es 16 verschiedene Funktionen. Die wichtigsten von ihnen haben eigene Namen, und es sind ihnen eigene Symbole zugeordnet: Name der Funktion
Sheffer bzw. NAND
Peirce bzw. NOR
Antivalenz bzw. XOR
Äquivalenz
Implikation
Alternative Schreibweisen der Funktion A B
A·B NAND(A,B) A∧B
A+B NOR(A,B) A∨B
AB + AB A XOR B, AB
A B + AB
A+B
A↔B
A→B
1 1 1 0
1 0 0 0
0 1 1 0
1 0 0 1
1 1 0 1
0 0 1 1
0 1 0 1
Symbol (DIN)
&
=1
≥1
=1
+
Symbol (US-Norm)
Unter den hier nicht aufgeführten Funktionen sind das Und (Konjunktion), das Oder (Disjunktion), die konstanten Funktionen (Tautologie und Kontradiktion) und Funktionen, die nur von einer der Variablen abhängen. ■ In der Datenverarbeitung wird ein negatives Vorzeichen (VZ) einer Zahl mit dem logischen Wert 1, ein positives mit dem Wert 0 bezeichnet. Für die Multiplikation oder Division zweier Zahlen ergibt sich folgende logische Funktion für die Bestimmung des Ergebnisvorzeichens VZE: Vorzeichentabelle: VZ1 VZ2 VZE + + + + − − − + − − − + VZE
Das Ergebnisvorzeichen wird mit einer Antivalenz-Funktion ermittelt.
594
18 Boole’sche Algebra
18.3.1
Verknüpfungsbasis
Verknüpfungsbasis: Menge von Verknüpfungen, mit deren Hilfe jede beliebige Boole’sche Funktion dargestellt werden kann. ■ Die Mengen { , + ,·}, { ,+}, { ,·}, {NAND} und {NOR} sind Verknüpfungsbasen. In der Praxis bedeutet dies, dass jede beliebige Boole’sche Funktion unter Verwendung von ausschließlich NAND-Gattern oder ausschließlich NOR-Gattern dargestellt werden kann. In den meisten digitalen Schaltkreisfamilien überwiegen NAND- und NOR-Gatter.
18.4
Normalformen
Unter Verwendung der Rechenregeln für Boole’sche Operationen können verschiedene Darstellungen der gleichen Funktion ineinander umgeformt werden. Normalformen, werden eingeführt, um eine einheitliche Schreibweise zu erhalten.
18.4.1
Disjunktive Normalform
Konjunktionsterm k, Konjunktion einfacher oder negierter Variablen, wobei jede Variable höchstens einmal auftritt. ■ k = x1 · x3 · x6 ist ein Konjunktionsterm. Minterm, Konjunktionsterm, in dem jede Variable genau einmal auftritt. Disjunktive Normalform, DN, disjunktive Verknüpfung von Konjunktionstermen k0 ,k1 , . . . ,k j . j
DN = k0 + k1 + . . . + k j = ∑ ki . i=0
Ausgezeichnete Disjunktive Normalform, ADN, disjunktive Verknüpfung von Mintermen. ▲ Jede DN lässt sich zu einer ADN erweitern. ■ Der Ausdruck ABC + AB + AC ist eine DN, aber keine ADN, weil der zweite Konjunktionsterm die Variable C und der dritte Konjunktionsterm die Variable B nicht enthält und daher kein Minterm ist. Die Erweiterung zur ADN geschieht sehr einfach folgendermaßen: ABC + AB + AC = ABC + AB(C + C) + AC(B + B) = ABC + AB C + ABC + ABC + ABC.
18.4.2
Konjunktive Normalform
Disjunktionsterm d, Disjunktion einfacher oder negierter Variablen, wobei jede Variable höchstens einmal auftritt. ■ d = x1 + x2 + x5 ist ein Disjunktionsterm. Maxterm, Disjunktionsterm, in dem jede Variable genau einmal auftritt. Konjunktive Normalform , KN, konjunktive Verknüpfung von Disjunktionstermen d0 ,d1 , . . . ,d j . j
KN = d0 · d1 · · · d j = ∏ di . i=0
18.4 Normalformen
595
Ausgezeichnete Konjunktive Normalform, AKN, konjunktive Verknüpfung von Maxtermen. ▲ Jede KN lässt sich zu einer AKN erweitern. ■ Der Ausdruck (A + B + C) · (A + B) ist eine KN, aber keine AKN, weil der zweite Disjunktionsterm die Variable C nicht enthält und daher kein Maxterm ist. Die Erweiterung zur AKN geschieht sehr einfach folgendermaßen: (A + B + C) · (A + B) = (A + B + C) · (A + B + CC) = (A + B + C) · (A + B + C) · (A + B + C).
18.4.3
Darstellung von Funktionen durch Normalformen
Jede Boole’sche Funktion lässt sich sowohl in (ausgezeichneter) Disjunktiver Normalform als auch in (ausgezeichneter) Konjunktiver Normalform darstellen. Algorithmus zur Konstruktion der Disjunktiven Normalform 1. 2. 3.
4.
Aufstellen der Wahrheitstabelle für die Funktion. Streichen aller Zeilen, deren Funktionswert gleich Null ist. Übersetzen jeder verbliebenen Zeile in einen Minterm. Dazu wird in der jeweiligen Zeile jede Eingangsvariable, die in der Wahrheitstabelle eine 0 enthält, negiert und jede Eingangsvariable, die in der Wahrheitstabelle eine 1 enthält, nicht negiert in einen Minterm übernommen. Die Disjunktion aller so gewonnenen Minterme ergibt die gesuchte ausgezeichnete Disjunktive Normalform.
■ Bestimme die Disjunktive Normalform des exklusiven Oders (XOR). 1.
Streichen der Zeilen, die eine Null enthalten und Übersetzen jeder Zeile in einen Minterm: Zeilennr. 2 3
4.
A B XOR(A,B) 0 1 1 1 0 1
−→ Minterm −→ AB −→ AB
Disjunktion aller Minterme: XOR(A,B) = AB + AB.
Algorithmus zur Konstruktion der Konjunktiven Normalform 1. 2. 3.
4.
Aufstellen der Wahrheitstabelle für die Funktion. Streichen aller Zeilen, deren Funktionswert gleich Eins ist. Übersetzen jeder verbliebenen Zeile in einen Maxterm. Dazu wird in der jeweiligen Zeile jede Eingangsvariable, die in der Wahrheitstabelle eine 1 enthält, negiert und jede Eingangsvariable, die in der Wahrheitstabelle eine 0 enthält, nicht negiert in einen Maxterm übernommen. Die Konjunktion aller so gewonnenen Maxterme ergibt die gesuchte ausgezeichnete Konjunktive Normalform.
596
18 Boole’sche Algebra
■ Bestimme die Konjunktive Normalform der Boole’schen Funktion, die genau dann 1 ist, wenn eine ungerade Anzahl der drei Eingangsvariablen 1 ist. ▲ Diese Funktion nennt man auch Paritätsfunktion. Sie wird manchmal benutzt, um Fehler bei der Übertragung digitaler Signale zu erkennen. 1.
Streichen der Zeilen, die eine Eins enthalten und Übersetzen jeder Zeile in einen Maxterm: Zeilennr. 1 4 6 7
4.
X 0 1 1 0 1 0 0 1
A 0 0 1 1
B C 0 0 1 1 0 1 1 0
X 0 0 0 0
−→ −→ −→ −→ −→
Maxterm A+B+C A+B+C A+B+C A+B+C
Konjunktion aller Maxterme: f (A,B,C) = (A + B + C) · (A + B + C) · (A + B + C) · (A + B + C).
▲ Funktionen, die viele Einsen als Funktionswert haben, werden der Kürze halber meist in konjunktiver Normalform dargestellt. Funktionen, die viele Nullen als Funktionswert haben, werden meist in der disjunktiven Normalform dargestellt. ▲ Konjunktive und disjunktive Normalform können durch Anwendung der Distributivgesetze und anschließende Zusammenfassung der Terme ineinander umgerechnet werden. Dieses Verfahren kann allerdings sehr aufwendig sein. ■ Bestimme die disjunktive Normalform der in konjunktiver Normalform gegebenen Funktion f (A,B,C) = (A + B + C) · (A + B + C) · (A + B + C) · (A + B + C). Anwendung des Distributivgesetzes für die Konjunktion („Ausmultiplizieren“) ergibt insgesamt 81 Terme: f (A,B,C) = A · A · A · A + A · A · A · B + . . . ...+A·B·C ·B+... ...+C ·C ·C ·C Wegen X · X = 0 bleiben nur acht Terme übrig, f (A,B,C) = AB C B + AC C B + BABC + BCBA + BC C A + CABC + CB A A + CB A B, die wegen X · X = X und der Kommutativität weiter zusammengefasst werden können: f (A,B,C) = AB C + ABC + A BC + ABC Dies ist die gesuchte ADN.
18.5 Karnaugh-Veitch-Diagramme
597
▲ Die Umrechnung ist einfacher, wenn zunächst die Wahrheitstabelle aufgestellt wird und anschließend die gewünschte Normalform aus der Wahrheitstabelle konstruiert wird.
18.5
Karnaugh-Veitch-Diagramme
Karnaugh-Veitch-Diagramme (KV-Diagramme), weitere Möglichkeit, Funktionen darzustellen. Sie dienen in der Praxis aber weniger zur Darstellung als zur Minimierung Boole’scher Funktionen. Minimierung Boole’scher Funktionen, Äquivalenzumformung einer Boole’schen Funktion, sodass eine minimale Anzahl an Disjunktionen und Konjunktionen zur Darstellung nötig sind.
18.5.1
Erstellen eines KV-Diagrammes
Will man für eine Funktion f (x1 , . . . ,xn ) ein KV-Diagramm erstellen, so beginnt man mit zwei nebeneinander liegenden Feldern, die mit x1 und x1 bezeichnet werden. x1
x1
Im nächsten Schritt wird das Diagramm an der Doppellinie gespiegelt. Das Urbild wird mit x2 und das Bild mit x2 bezeichnet. Die Doppellinie wird vom unteren an den rechten Rand gedreht. x1
x1
x2 x2 Erneut wird das Diagramm an der Doppellinie gespiegelt und wieder werden Urbild und Bild mit einer Variablen und ihrer Negation bezeichnet. Die Doppellinie wird vom rechten Rand an den unteren verschoben. x3 x1
x3 x1
x1
x1
x2 x2 Als nächstes werden Urbild und Bild wiederum mit einer Variablen und ihrer Negation bezeichnet und man erhält: x3 x1
x3 x1
x1
x1
x4 x2 x2 x4 x2 x2 In dieser Weise verfährt man, bis alle n Variablen im KV-Diagramm eingetragen sind.
598
18 Boole’sche Algebra
18.5.2
Eintragen einer Funktion in ein KV-Diagramm
Eine Boole’sche Funktion f kann durch ein KV-Diagramm dargestellt werden. Dabei repräsentiert jedes Feld des KV-Diagrammes denjenigen Minterm, den man durch konjunktive Verknüpfung der Bezeichner von Zeilen und Spalten erhält. ■ Die den Feldern eines KV-Diagrammes für vier Variablen zugeordneten Minterme lauten: x3
x4 x4
x3
x1
x1
x1
x1
x2
x1 x2 x3 x4
x1 x2 x3 x4
x1 x2 x3 x4
x1 x2 x3 x4
x2
x1 x2 x3 x4
x1 x2 x3 x4
x1 x2 x3 x4
x1 x2 x3 x4
x2
x1 x2 x3 x4
x1 x2 x3 x4
x1 x2 x3 x4
x1 x2 x3 x4
x2
x1 x2 x3 x4
x1 x2 x3 x4
x1 x2 x3 x4
x1 x2 x3 x4
In jedes Feld wird eine 1 eingetragen, wenn der zugehörige Minterm Teil der ausgezeichneten Disjunktiven Normalform der Funktion f ist. Ansonsten wird eine 0 eingetragen oder – was die Übersichtlichkeit vergrößert – das Feld wird freigelassen.
18.5.3
Minimierung mithilfe von KV-Diagrammen
Minimale Funktion, Funktion fmin , die durch eine Äquivalenzumformung aus einer gegebenen Funktion f hervorgegangen ist und eine minimale Anzahl von Konjunktionen und Disjunktionen zur Darstellung benötigt. Für KV-Diagramme mit höchstens vier Variablen ermittelt der folgende Algorithmus die minimale Funktion. Algorithmus zur Bestimmung minimaler Funktionen 1. 2. 3.
4.
5.
6.
Erzeuge das KV-Diagramm. Trage die Funktion in das Diagramm ein. Zeichne Rechtecke mit der Kantenlänge 1, 2 oder 4 in das Diagramm ein, die möglichst viele Felder umschließen und ausschließlich Felder mit Einsen enthalten. Dabei dürfen sich die Rechtecke über den Rand hinaus auf die gegenüberliegende Seite erstrecken, das heißt, der rechte und linke Rand sowie der obere und untere Rand sind miteinander verbunden. Suche ein nichtschraffiertes Feld, das eine 1 enthält und von möglichst wenigen Rechtecken überdeckt wird. Schraffiere das größte dieser Rechtecke, einschließlich der Teile, die eventuell auf der gegenüberliegenden Seite liegen und noch zu dem Rechteck gehören. Wiederhole den letzten Schritt, bis alle Felder, die eine 1 enthalten, schraffiert sind. Für jedes schraffierte Rechteck wird ein Konjunktionsterm gebildet. In diesem Term werden die Variablen konjunktiv zusammengefasst, die eindeutig eine der beiden Kanten bezeichnen. Hat eine der Kanten die maximale Länge, dann besteht der Term nur aus der Bezeichnug für die andere Kante. Haben beide Kanten die maximale Länge, dann ist die Funktion konstant 1, also eine Tautologie. Alle Konjunktionsterme, die sich aus dem vorangegangenen Schritt ergeben haben, werden disjunktiv zusammengefasst. Das Ergebnis ist die Disjunktive Normalform der gesuchten minimalen Funktion.
18.6 Minimierung nach Quine und McCluskey
599
■ Gesucht ist die Boole’sche Funktion, die zwei Zahlen A und B in ihren Binärdarstellungen A = a1 a0 und B = b1 b0 vergleicht und eine logische 1 ausgibt, wenn A < B ist. Die Wahrheitstabelle lautet: a1 a0 b1 b0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1
B A
Die ausgezeichnete Disjunktive Normalform lautet damit f (a1 ,a0 ,b1 ,b0 ) = a1 a0 b1 b0 + a1 a0 b1 b0 + a1 a0 b1 b0 + a1 a0 b1 b0 + a1 a0 b1 b0 + a1 a0 b1 b0 . Im Bild ist das KV-Diagramm mit der eingetragenen Funktion angegeben. Es sind bereits Zweiergruppen (über den Rand hinweg) und Vierergruppen von Einsen gebildet worden. Die Zuordnung der Gruppen zu Konjunktionstermen ist durch Pfeile angedeutet. Die Disjunktion dieser Konjunktionsterme ist die gesuchte minimierte Funktion.
b0 a0 a1 b1
a1
1
b0 a0
1
a0
a0
1
1
1
a1 b1
a1
1
a 0 a 1 b 0 +a 0 b 0 b 1 +a 1 b 1
18.6
Minimierung nach Quine und McCluskey
Ein anderes Verfahren zur Minimierung Boole’scher Funktionen ist das von Quine und McCluskey. Dieses Verfahren kann auch für Funktionen mit mehr als vier Variablen angewendet werden. Algorithmus zur Bestimmung minimaler Funktionen 1. Bestimmung der Primimplikanten, 2. Bestimmung der minimalen Überdeckung. Implikant von f , ein Konjunktionsterm k heißt Implikant von f , wenn aus k = 1 folgt, dass auch f = 1 ist. Verkürzung eines Konjunktionstermes k, entsteht durch Weglassen einer oder mehrerer Variablen in k. ▲ Ein Konjunktionsterm k ist immer Implikant jeder Verkürzung von k. Primimplikant, Implikant von f , von dem keine Verkürzung noch Implikant von f ist. ■ f = abc + abc + bcd abc ist ein Implikant von f , weil f = 1, wenn abc = 1. abc ist aber kein Primimplikant von f , weil die Verkürzung ac immer noch Implikant ist. ac ist Primimplikant, weil die weiteren Verkürzungen a und c keine Implikanten mehr sind.
600
18 Boole’sche Algebra
Algorithmus zur Bestimmung der Primimplikanten 1. 2. 3.
Die Funktion wird in die Disjunktive Normalform umgewandelt. Alle Konjunktionsterme werden in die Spalte einer Tabelle eingetragen. Für alle Konjunktionsterme wird überprüft, ob es andere Konjunktionsterme in der Spalte gibt, die sich nur in einer Variablen unterscheiden. Dabei muss ein Konjunktionsterm diese Variable einfach, der andere negiert enthalten. ■ abc und abc sind ein solches Paar. Solche Konjunktionsterme werden im Folgenden als ähnlich bezeichnet. Wird für einen Konjunktionsterm ein ähnlicher gefunden, dann werden beide markiert. In der nebenstehenden Spalte wird ein Konjunktionsterm eingetragen, der entsteht, wenn man die Variable weglässt, die in den beiden gerade betrachteten Termen verschieden ist. ■
.. .. . . abc ∗ ac abc ∗ .. .. . . abc und abc werden als ähnlich erkannt und mit * markiert. Die beiden Terme werden zusammengefasst: abc + abc = ac(b + b) = ac.
Der Term ac wird in die nebenstehende Spalte eingetragen. Wurden für einen Konjunktionsterm alle übrigen hinsichtlich ihrer Ähnlichkeit untersucht, dann wird der nächste Konjunktionsterm betrachtet. Dies wird so lange wiederholt, bis alle Konjunktionsterme der Spalte betrachtet wurden.
4.
▲ Beim Vergleich der Konjunktionsterme werden immer alle, d. h. auch die bereits durch * markierten, betrachtet. Eine Mehrfachmarkierung von Konjunktionstermen ist nicht notwendig. Falls keine neuen Terme in die neue Spalte eingetragen wurden, wird der Algorithmus beendet. Sonst: Streiche in der letzten Spalte alle Mehrfachnennungen eines Terms, sodass jeder Term genau einmal in dieser Spalte enthalten ist. Wiederhole ab Schritt 3 den Algorithmus mit dieser neuen Spalte.
Die Tabelle, die durch den Algorithmus erzeugt wurde, wird Primimplikanten-Tabelle genannt. Alle Terme der Primimplikanten-Tabelle, die keine Markierung aufweisen, sind Primimplikanten der zu minimierenden Funktion. ■ Finde die Primimplikanten der in Disjunktiver Normalform gegebenen Funktion f (a1 ,a0 ,b1 ,b0 ) = a1 a0 b1 b0 + a1 a0 b1 b0 + a1 a0 b1 b0 + a1 a0 b1 b0 + a1 a0 b1 b0 + a1 a0 b1 b0 Aufstellen der Primimplikanten-Tabelle: (1) (2) (3) (4) (5) (6)
Die in Klammern angegebenen Zahlen sollen zeigen, aus welchen Termen der vorhergegangenen Spalte ein neuer Term hervorgegangen ist. Der erste Konjunktionsterm der zweiten Spalte ist zum Beispiel durch Zusammenfassung der Terme aus der ersten und dritten Zeile der ersten Spalte entstanden. In der letzten Spalte steht der gleiche Konjunktionsterm zweimal und wird daher einmal gestrichen. Die Primimplikanten sind genau die unmarkierten Konjunktionsterme a1 b1 , a1 a0 b0 und a0 b1 b0 . Es sind nicht immer alle gefundenen Primimplikanten nötig, um die Funktion darzustellen. Die benötigten Primimplikanten werden bestimmt durch den Algorithmus zur Bestimmung der minimalen Überdeckung: 1. 2. 3.
4.
5. 6.
Erstelle eine neue Tabelle. Markiere die Spalten mit den Konjunktionstermen. Die Zeilen werden mit den Primimplikanten bezeichnet. Dabei werden die Primimplikanten nach aufsteigender Länge sortiert. Trage in die Kreuzungsfelder aller Zeilen und Spalten ein × ein, wenn der zugehörige Konjunktionsterm Implikant des zugehörigen Primimplikanten ist. Streiche alle Zeilen und Spalten aus der Tabelle, für die gilt, die Spalte enthält nur ein ×. Der zugehörige Primimplikant ist nötig und wird notiert. Wiederhole diesen Schritt, bis keine Spalte mehr ein einzelnes × enthält. Wähle Zeilen aus der Tabelle, sodass eine neue Tabelle entsteht, mit folgenden Eigenschaften: 1. Jede Spalte enthält wenigstens ein ×. 2. Die Summe der Primimplikantenlängen ist möglichst klein. Alle Primimplikanten der neuen Tabelle werden als nötige Primimplikanten notiert. Die disjunktive Verknüpfung aller nötigen Primimplikanten stellt die gesuchte minimale Funktion dar.
■ Die Konjunktionsterme und Primimplikanten des vorigen Beispiels bilden folgende Tabelle: a1 a0 b1 b0 a1 b1 a1 a0 b0 a0 b1 b0
a1 a0 b1 b0 ×
×
a1 a0 b1 b0 × × ×
a1 a0 b1 b0 ×
a1 a0 b1 b0 ×
a1 a0 b1 b0
×
Bis auf die dritte Spalte enthalten alle Spalten genau ein ×. Es werden daher alle Zeilen gestrichen und alle Primimplikanten in die Liste der nötigen Primimplikanten aufgenommen. Die minimale Funktion lautet f (a1 ,a0 ,b1 ,b0 ) = a1 b1 + a1 a0 b0 + a0 b1 b0 .
Mittelpunkt der Strecke P1 P2 : x1 + x2 y1 + y2 , y= . 2 2 ■ Schwerpunkt eines Systems materieller Punkte Mi (xi ,yi ) mit den Massen mi (i = 1,2,..,n): x=
x=
∑ mi xi , ∑ mi
y=
∑ mi yi . ∑ mi
Mittellot, Verbindungsgerade der Schnittpunkte zweier Kreise (A,B) mit gleichem Radius r (r > AB), deren Mittelpunkte die Endpunkte der Strecke sind, die geteilt wird; M: Mittelpunkt von P1 P2 und AB (Streckenhalbierung).
19.2 Gerade
19.1.3
603
Fläche eines Dreiecks
Flächeninhalt eines Dreiecks mit den Eckpunkten P1 (x1 ,y1 ), P2 (x2 ,y2 ) und P3 (x3 ,y3 ):
Funktionsgleichung, eine Gleichung mit zwei Variablen. Unabhängige Variable, belegbar mit willkürlich gewählten Werten. Abhängige Variable, Größe, deren Werte aus einer Gleichung zu berechnen sind. Fallunterscheidung für die Funktionsgleichung F(x,y) = 0: Algebraische Kurve: F(x,y) ist ein Polynom, Grad des Polynoms ist die Ordnung der Kurve. ■ F(x,y) = x2 + y2 − 4 = 0 (Kreis um den Ursprung mit dem Radius R = 2). Transzendente Kurve: F(x,y) ist kein Polynom. ■ F(x,y) = y2 + 6 ln x = 0.
19.2
Gerade
● Liegt ein Punkt auf einer Geraden (oder allg. auf einer Kurve), so gehorchen seine Koordinaten der Gleichung der Geraden (Kurve). ● Genügt ein Wertepaar (x,y) der Gleichung einer Gerade (Kurve), so liegt der dazugehörige Punkt auf dieser Geraden (Kurve).
19.2.1
Gleichungsformen der Geraden
Allgemeine Form der Geradengleichung: Ax + By + C = 0. Punkt-Richtungsgleichung oder Punkt-Steigungsgleichung, Gerade bestimmt durch einen Punkt und ihre Richtung. y − y1 y − y1 = m(x − x1 ) bzw. m = tan α = . x − x1 m = tan α : Anstieg der Geraden (Richtungsfaktor), α : Anstiegswinkel.
604
19 Analytische Geometrie
▲ Anwendung: Bestimmung der Geraden, wenn ein Punkt und Richtungsfaktor der Geraden bekannt sind. y
y
P 2 ( x 2 ,y 2 )
∞
m
y=b
P 1 ( x 1 ,y 1 ) α a
y=mx
b
x m=tanα
x
y= − mx+b
Geradenformen Normalform der Geradengleichung, y = mx + b bzw.
y − b = m(x − 0),
m: Anstieg der Geraden (Richtungsfaktor). b: Abschnitt auf der Ordinatenachse (Absolutglied). ■ Gerade durch den Ursprung: b = 0 → y = mx, zur x-Achse parallele Gerade: m = 0 → y = b, zur y-Achse parallele Gerade: x = a, für alle y, Gleichung der y-Achse: x = 0, für alle y, Gleichung der x-Achse: m = b = 0 → y = 0, Gerade, die mit der +x-Achse den Winkel 45◦ bildet: m = 1 → y = x + b, Gerade, die mit der +x-Achse den Winkel 90◦ + 45◦ = 135◦ bildet: m = −1 → y = −x + b. Zweipunktegleichung einer Geraden: y2 − y1 y − y1 = . x − x1 x2 − x1 ▲ Anwendung: Berechnung jedes Punktes der Geraden möglich, wenn zwei Punkte der Geraden bekannt sind. Achsenabschnittsgleichung einer Geraden: x y + = 1. a b a: Schnittpunkt mit der x-Achse, b: Schnittpunkt mit der y-Achse. ▲ Anwendung: Berechnung jedes Punktes der Geraden möglich, wenn die Schnittpunkte a, b mit den Achsen gegeben sind. ▲ Nicht anwendbar für eine Gerade durch den Ursprung! y
Gleichung der Gerade in Polarkoordinaten: d r= , cos(ϕ − α ) d: Abstand vom Pol bis zur Geraden, α : Winkel zwischen Polarachse und der vom Pol auf die Gerade gefällten Normalen.
d α ϕ
r x
Geradengleichung in Polarkoordinaten
19.2 Gerade
19.2.2
Hesse’sche Normalform
Hesse’sche Normalform der Geradengleichung: x cos ϕ + y sin ϕ − p = 0, p: Lot von der Geraden zum Ursprung, ϕ : Winkel des Lotes mit der positiven Richtung der x-Achse. ▲ Folgt aus der Achsenabschnittsgleichung mit p p a= , b= . cos ϕ sin ϕ ■ Anwendung: Berechnung des kürzesten Abstandes d eines Punktes P1 (x1 ,y1 ) von einer Geraden. d = x1 cos ϕ + y1 sin ϕ − p. ▲ ϕ ist nicht eindeutig, wenn die Gerade durch den Anfangspunkt hindurchgeht! ● Aus der allgemeinen Geradengleichung Ax + By + C = 0 folgt auch für die Hesse’sche Normalform: Ax + By + C √ = 0. ∓ A2 + B2 Abstand eines Punktes P1 von einer Geraden: C Ax1 + By1 + C √ √ mit < 0. d= 2 2 ∓ A +B ∓ A2 + B2 y
y d
y
P 1 ( x 1 ,y 1 ) m 1 =m 2
y=m 2 x+b 2 φ
p ϕ x
x
Hesse’sche Normalform
19.2.3
x y=m 1 x+b 1
Schnittpunkt von Geraden
Schnittpunkt von Geraden
Schnittpunkt von Geraden, durch Lösen der beiden Geradengleichungen A1 x + B1 y + C1 = 0 und A2 x + B2 y + C2 = 0 erhält man die Koordinaten (x0 ,y0 ) des Schnittpunktes B1C2 − B2C1 A1 B2 − A2 B1 Parallele Geraden für x0 =
A3 B3 C3 Gleichung eines Geradenbüschels, Gleichung all jener Geraden, die durch den Schnittpunkt zweier gegebener Geraden hindurchgehen: (A1 x + B1 y + C1 ) + k · (A2 x + B2 y + C2 ) = 0 (k ∈ R). ▲ Lässt man k von −∞ bis ∞ laufen, erhält man alle Geraden des Büschels.
19.2.4
Winkel zwischen Geraden
Winkel zwischen zwei Geraden, für Geradengleichungen in allgemeiner Form Ax + By + C = 0: tan ϕ =
A1 B2 − A2 B1 , A1 A2 + B1 B2
A1 B2 − A2 B1 sin ϕ = 2 . A1 + B21 · A22 + B22
A1 A2 + B1 B2 cos ϕ = 2 , A1 + B21 · A22 + B22
Winkel zwischen zwei Geraden, für Geradengleichungen in Normalform y = mx + b: tan ϕ =
m1 − m2 , 1 + m1 m2
1 + m1 m2 cos ϕ = , 1 + m21 · 1 + m22
m1 − m2 sin ϕ = . 1 + m21 · 1 + m22
▲ Der Winkel ϕ wird im entgegengesetzten Uhrzeigersinn zwischen den beiden Geraden gemessen.
19.2.5
Parallele und senkrechte Geraden
Parallele Geraden für B1 A1 = oder m1 = m2 . A2 B2 Senkrechte Geraden für A1 A2 + B1 B2 = 0
oder m1 = −
1 . m2
19.3
Kreis
19.3.1
Kreisgleichungen
Gleichung des Kreises in kartesischen Koordinaten mit dem Radius R und dem Koordinatenursprung als Mittelpunkt: 2
2
y P ( x,y )
2
x +y =R . Gleichung eines Kreises mit dem Radius R und dem Mittelpunkt (x0 ,y0 ):
y0
R M ( x 0 ,y 0 )
(x − x0 )2 + (y − y0 )2 = R2 . x0
x
19.3 Kreis
607
Die allgemeine Gleichung zweiten Grades ax2 + 2bxy + cy2 + 2dx + 2ey + f = 0 beschreibt nur für a = c und b = 0 einen Kreis. Allgemeine Form des Kreises: x2 + y2 + 2dx + 2ey + f = 0 mit dem Radius R = d 2 + e2 − f und dem Mittelpunkt (x0 ,y0 ) = (−d, − e). Fallunterscheidung: f < d 2 + e2 : reelle Kurve, f = d 2 + e2 : nur der Mittelpunkt (x0 ,y0 ) = (−d, − e) ist Lösung der Gleichung, f > d 2 + e2 : keine reelle Kurve. Parameterdarstellung des Kreises: x = x0 + R cos t, y = y0 + R sin t. t: Winkel zwischen dem beweglichen Radius und der x-Achse. Kreisgleichung in Polarkoordinaten, allgemeine Gleichung: r2 − 2rr0 cos(ϕ − ϕ 0 ) + r02 = R2 , mit dem Kreismittelpunkt (r0 ,ϕ 0 ). Liegt der Kreismittelpunkt auf der Polarachse und geht der Kreis durch den Koordinatenursprung, so lautet die Kreisgleichung: r = 2R cos ϕ . y
y y=mx+b
y1 y2
b x1
x2
x
R
Kreis und Gerade
19.3.2
P ( x 1 ,y 1 )
y1 y0
M
t x0
Schnittpunkte eines Kreises x2 + y2 = R2 mit einer Geraden y = mx + b bei √ √ −mb ± ∆ b± ∆ x1,2 = , y1,2 = , 1 + m2 1 + m2 ∆ = R2 (1 + m2 ) − b2 . Fallunterscheidung: Sekante für ∆ > 0 (zwei Schnittpunkte), Tangente für ∆ = 0 (ein Schnittpunkt), kein Schnittpunkt für ∆ < 0.
x1
Kreistangente
Kreis und Gerade
mit der Diskriminante
R
x
608
19 Analytische Geometrie
19.3.3
Kreisschnitt
Zwei Kreise, deren Mittelpunkte M1 und M2 einen Abstand kleiner als die Summe der Radien R1 und R2 voneinander haben, M1 M2 < (R1 + R2 ), schneiden sich in zwei Punkten P1 (x1 ,y1 ) und P2 (x2 ,y2 ).
y P 1 ( x 1 ,y 1 ) R1
Chordale oder Potenzlinie der beiden Kreise:
M1
die Gerade durch die beiden Schnittpunkte P1 und P2 (gemeinsame Sekante beider Kreise).
R2
P 2 ( x 2 ,y 2 )
Für die Kreise
M2
x2 + y2 + 2d1 x + 2e1 y + f1 = 0, M1 (−d1 , − e1 ),
x
x2 + y2 + 2d2 x + 2e2 y + f2 = 0, M2 (−d2 , − e2 ),
Kreisschnitt
ergibt sich die Chordalengleichung 1 (d1 − d2 )x + (e1 − e2 )y + ( f1 − f2 ) = 0. 2
19.3.4
Kreistangentengleichung
Gleichung der Kreistangente im Punkt P(x1 ,y1 ): xx1 + yy1 = R2 , bei allgemeiner Lage des Kreises mit dem Mittelpunkt M(x0 ,y0 ): (x − x0 )(x1 − x0 ) + (y − y0 )(y1 − y0 ) = R2 .
19.4
Ellipse y P ( x,y ) r1 A
y
r2 p
F1 2a
Leitlinie
D
F2
r1
2b B
x
C Ellipse
d2 P ( x,y )
d1
F 1 2e d
Leitlinie
r2 x
F2 d
Elemente der Ellipse: Scheitel der Ellipse: Punkte A, B, C, D, große Achse: Länge AB = 2a, kleine Achse: Länge CD = 2b, √ Brennpunkte (Punkte auf der großen Achse mit dem Abstand e = a2 − b2 vom Mittelpunkt): Punkte F1 , F2 , lineare Exzentrizität: e, e numerische Exzentrizität der Ellipse: = < 1, a b2 Halbparameter (halbe Länge der Sehne durch einen Brennpunkt parallel zur kleinen Achse): p = . a
19.4 Ellipse
19.4.1
609
Gleichungsformen der Ellipse
Gleichung der Ellipse: Normalform (Koordinatenachsen entsprechen den Achsen der Ellipse): x2 y2 + = 1, a2 b2 Hauptform (Ellipse in allgemeiner Lage mit dem Mittelpunkt (x0 ,y0 )): (x − x0 )2 (y − y0 )2 + = 1, a2 b2 Parameterform (Mittelpunkt (x0 ,y0 )): x = x0 + a cos t,
y = y0 + b sin t, 0 ≤ t ≤ 2π .
Polarkoordinaten (Pol im Mittelpunkt, Polarachse ist die x-Achse): b r= ( < 1), 1 − 2 cos2 ϕ Polarkoordinaten (Pol im linken Brennpunkt, Polarachse ist die x-Achse): b2 p ( < 1), p = . 1 − cos ϕ a Polarkoordinaten (Pol im rechten Brennpunkt, Polarachse ist die x-Achse): p r= . 1 + cos ϕ ▲ Die Gleichung der Ellipse in Polarkoordinaten ist in dieser letzten Form gültig für alle Kurven zweiter Ordnung. r=
19.4.2
Brennpunktseigenschaften der Ellipse
Brennpunktseigenschaft der Ellipse, die Ellipse ist der geometrische Ort aller Punkte, für die die Summe der Abstände von zwei gegebenen festen Punkten (Brennpunkten) konstant gleich 2a ist. Abstand eines beliebigen Punktes P(x,y) auf der Ellipse von den Brennpunkten: r1 = a − x,
r2 = a + x,
r1 + r2 = 2a.
a Leitlinien, zur kleinen Achse parallele Geraden im Abstand d = . Leitlinieneigenschaft der Ellipse, für einen beliebigen Punkt P(x,y) auf der Ellipse gilt r1 r2 = = . d1 d2
19.4.3
Durchmesser der Ellipse
Durchmesser der Ellipse sind Sehnen, die durch den Ellipsenmittelpunkt gehen und von diesem halbiert werden. Konjugierte Durchmesser: Mittelpunkte aller Sehnen, die zu einem Ellipsendurchmesser parallel sind. Es gilt für die Steigungen des Durchmessers und des konjugierten Durchmessers b2 . a2 ● Satz des Apollonius, sind 2a1 und 2b1 die Längen und α , β (m1 = − tan α , m2 = tan β ) die Steigungswinkel zweier konjugierter Durchmesser, so gilt m1 · m2 = −
a1 b1 sin(α + β ) = ab und a21 + b21 = a2 + b2 .
610
19 Analytische Geometrie
19.4.4
Tangente und Normale der Ellipse
Tangentengleichung im Punkt P(x0 ,y0 ): xx0 yy0 + 2 = 1. a2 b ▲ Normale und Tangente an die Ellipse sind Winkelhalbierende des inneren und äußeren Winkels zwischen den Radiusvektoren von den Brennpunkten zum Berührungspunkt.
y
r1 F1
Eine Gerade in der allgemeinen Form Ax + By + C = 0 ist Tangente an die Ellipse für A2 a2 + B2 b2 − C2 = 0.
n β
β αα
P ( x 0 ,y 0 ) r2 F2
t x
Ellipse: Tangente und Normale
Normalengleichung im Punkt P(x0 ,y0 ): y − y0 =
19.4.5
a2 y0 (x − x0 ). b2 x0
Krümmung der Ellipse
Krümmungsradius einer Ellipse im Punkt P(x0 ,y0 ): 2 3/2 x0 y20 (r1 r2 )3/2 p 2 2 R=a b + = = . 4 4 a b ab sin3 ϕ ϕ : Winkel zwischen Tangente und Radiusvektor von einem der Brennpunkte zum Berührungspunkt. Minimale Krümmung für die Scheitel C und D: R = a2 /b, Maximale Krümmung für die Scheitel A und B: R = b2 /a = p.
19.4.6
Ellipsenflächen und Ellipsenumfang
Flächeninhalt einer Ellipse, A = π ab. y Flächeninhalt des Sektors APM mit dem EllipsenP ( x,y ) P ( x,y ) A PBP' punkt P(x,y): ab x AAPM = arccos . 2 a A M B x Flächeninhalt des Abschnittes PBP mit den beiden Ellipsenpunkten P(x,y) und P (−x,y): A APM x P'( x, − y ) APBP = ab · arccos − xy. a Ellipsenumfang, analytisch nicht darstellbar! Muss durch elliptisches Integral zweiter Art numerisch berechnet werden. 2π 1 2 3 4 5 6 175 8 2 2 U = 4aE(,2π ) = a 1 − sin t dt = 2π a 1 − − − − −... . 0 4 64 256 16384 Weitere Näherungsformel: √ 64 − 3l 4 U ≈ π (1.5(a + b) − ab), U = π (a + b) 64 − 16l 2 mit a−b l= . a+b
19.5 Parabel
19.5
Parabel y
y
t
P ( x 0 ,y 0 ) l
d P ( x,y )
Leitlinie
Q
r
β
d
β
ϕ
S D
α α
F
x
T
0
F
L
x
N n
p
Parabel Elemente der Parabel: Scheitel der Parabel: Punkt S, Parabelachse: x-Achse, Brennpunkt (Punkt auf der x-Achse mit dem Abstand p/2 vom Scheitelpunkt): Punkt F, numerische Exzentrizität der Parabel: = 1, Halbparameter (Strecke DF): p, Leitlinie (zur Parabelachse senkrechte Gerade, die diese im Abstand p/2 vom Scheitel schneidet): l.
19.5.1
Gleichungsformen der Parabel
Normalform (Koordinatenursprung entspricht dem Scheitel der Parabel, der nach links zeigt): y2 = 2px. Hauptform (Scheitelpunkt S(xs ,ys )): (y − ys )2 = 2p(x − xs ). Parameterdarstellung (Scheitelpunkt (xs ,ys )): 1 x = xs + t 2, y = ys + t, 0 ≤ t < ∞. 2p Polarkoordinaten (Pol im Scheitel, Polarachse ist die x-Achse): r = 2p cos ϕ (1 + cot2 ϕ ). Polarkoordinaten (Pol im Brennpunkt, Polarachse ist die x-Achse): p r= . 1 − cos ϕ ▲ p > 0: Öffnung nach rechts, p < 0: Öffnung nach links. 1 Vertikale Achse (mit dem Parameter p = ): 2|a| y = ax2 + bx + c. Koordinaten des Scheitels S(xs ,ys ) in dieser Darstellung: b 4ac − b2 , ys = . 2a 4a ▲ a > 0: Öffnung nach oben, a < 0: Öffnung nach unten, a = 0: Gerade. xs = −
611
612
19 Analytische Geometrie
19.5.2
Brennpunktseigenschaften der Parabel
Brennpunktseigenschaft der Parabel, die Parabel ist der geometrische Ort aller Punkte, die von der Leitlinie und dem Brennpunkt gleich weit entfernt sind. Abstand eines beliebigen Punktes P(x,y) auf der Parabel von dem Brennpunkt bzw. der Leitlinie: p FP = d = x + . 2
19.5.3
Parabeldurchmesser
Durchmesser der Parabel, sind Geraden parallel zur Parabelachse. Durchmesser halbieren die Sehnen der Steigung m, die zu einer Tangente parallel verlaufen. Gleichung des Durchmessers der Parabel: y=
p . m
19.5.4
Tangente und Normale der Parabel
Tangentengleichung im Punkt P(x0 ,y0 ): yy0 = p(x + x0 ). ▲ Normale und Tangente an die Parabel sind Winkelhalbierende des inneren und äußeren Winkels zwischen dem Radiusvektor und dem Durchmesser durch den Berührungspunkt. Die Strecke der Parabeltangente zwischen dem Berührungspunkt P und dem Schnittpunkt T mit der Parabelachse (x-Achse) wird durch die Tangente im Scheitel (y-Achse) halbiert, T Q = QP,
außerdem gilt T O = OL.
Eine Gerade in der Form y = mx + b ist Tangente an die Parabel für p = 2bm. Normalengleichung im Punkt P(x0 ,y0 ): y=−
19.5.5
y0 (x − x0 ) + y0 . p
Krümmung einer Parabel
Krümmungsradius einer Parabel im Punkt P(x0 ,y0 ): R=
(p + 2x0 )3/2 p N3 = . = √ p p2 sin3 ϕ
ϕ : Winkel zwischen Tangente und x-Achse,
N: Länge der Normalenstrecke PN. Maximale Krümmung im Scheitel S: R = p.
19.6 Hyperbel
19.5.6
613
Parabelflächen und Parabelbogenlänge
Flächeninhalt des Parabelsegmentes PSQ entspricht 2/3 des Flächeninhaltes des Parallelogrammes QRT P. Flächeninhalt des Parabelsegmentes PSP mit den Parabelpunkten P(x,y) und P (x, − y):
y A QRTP
T
P A SQP
S
4 x APSP = xy. 3 Länge des Parabelbogens vom Scheitel S bis zum R Q Parabelpunkt P(x,y): % % ,% % 2x p 2x 2x 2x p p 2x L= 1+ + ln + 1+ =− x x+ + Arsinh . 2 p p p p 2 2 p Näherungsformel für kleine Werte von x/y: , 2 4 2 x 2 x L≈y 1+ − . 3 y 5 y
19.5.7
Parabel und Gerade
Koordinaten des Schnittpunktes einer Geraden y = mx + b mit einer Parabel y2 = 2px: √ √ p − mb ± ∆ p± ∆ , y1,2 = . x1,2 = m2 m mit der Diskriminante: ∆ = p(p − 2mb). Fallunterscheidung: Zwei Schnittpunkte für ∆ > 0, ein Schnittpunkt für ∆ = 0, kein Schnittpunkt für ∆ < 0. ● Jede Gerade parallel zur x-Achse schneidet die Parabel in nur einem Punkt. ● Eine Gerade parallel zur y-Achse mit x = a = 0 (a gleiches Vorzeichen wie p) schneidet die Parabel zweimal.
19.6
Hyperbel
Elemente der Hyperbel: Scheitel der Hyperbel: Punkte A, B, Mittelpunkt der Hyperbel: Punkt O, reelle Achse: AB = 2a, imaginäre Achse: CD = 2b, √ Brennpunkte (Punkte auf der x-Achse mit dem Abstand e = b2 + a2 > a vom Mittelpunkt): Punkte F1 , F2 , e numerische Exzentrizität der Hyperbel: = > 1, a b2 Halbparameter (halbe Länge der Sehne durch einen Brennpunkt parallel zur imaginären Achse): p = . a
Parameter t: Fläche, eingeschlossen von den beiden Geraden vom Mittelpunkt O der Einheitshyperbel zu den Hyperbelpunkten P(x,y), P (x, − y) und dem Hyperbelsegment von P nach P (siehe auch die geometrische Interpretation der Hyperbelfunktionen). Polarkoordinaten (Pol im Mittelpunkt, Polarachse ist die x-Achse): b r= 2 cos2 ϕ − 1
( > 1).
Polarkoordinaten (Pol im Brennpunkt, Polarachse ist die x-Achse), nur linker Ast: p r= . 1 + cos ϕ ▲ Die Gleichung der Hyperbel in Polarkoordinaten ist in der letzten Form gültig für alle Kurven zweiter Ordnung. Gleichseitige Hyperbel, besitzt gleich lange Achsen: a = b. Gleichung der gleichseitigen Hyperbel: x2 − y2 = a2 . Asymptoten stehen senkrecht aufeinander: y = ±x. Gleichung der gleichseitigen Hyperbel bei Wahl der Koordinatenachse als Asymptoten (Drehung um 45o ): xy =
a2 2
oder y =
a2 . 2x
19.6 Hyperbel
19.6.2
615
Brennpunktseigenschaften der Hyperbel
Brennpunktseigenschaft der Hyperbel, die Hyperbel ist der geometrische Ort aller Punkte, für die die Differenz der Abstände von zwei gegebenen festen Punkten (Brennpunkten) konstant gleich 2a ist. Abstand eines beliebigen Punktes P(x,y) auf dem linken Ast der Hyperbel von den Brennpunkten: r1 = a − x,
r2 = −a − x,
r1 − r2 = 2a,
und für Punkte auf dem rechten Ast: r1 = x − a, r2 = x + a, r2 − r1 = 2a. a Leitlinien, zur reellen Achse senkrechte Geraden im Abstand d = vom Mittelpunkt. Leitlinieneigenschaft der Hyperbel, für einen beliebigen Punkt P(x,y) auf der Hyperbel gilt r2 r1 = = . d1 d2 Asymptoten der Hyperbel, Geraden, denen sich die Hyperbelzweige unbegrenzt im Unendlichen nähern. Die Gleichung der beiden Asymptoten ist b y = ± x. a Die Tangentenabschnitte zwischen Berührungspunkt der Tangente an der Hyperbel P und den Schnittpunkten mit den Asymptoten T und T sind auf beiden Seiten gleich (der Berührungspunkt P halbiert das Tangentenstück zwischen den Asymptoten): PT = PT .
19.6.3
Tangente und Normale der Hyperbel
Tangentengleichung im Punkt P(x0 ,y0 ): xx0 yy0 − 2 = 1. a2 b ▲ Normale und Tangente an die Hyperbel sind Winkelhalbierende des inneren und äußeren Winkels zwischen den Radiusvektoren von den Brennpunkten zum Berührungspunkt. Eine Gerade in der allgemeinen Form Ax+By+C = 0 ist Tangente an die Hyperbel für A2 a2 − B2 b2 − C2 = 0. Normalengleichung im Punkt P(x0 ,y0 ): y − y0 = −
19.6.4
y A TOT'
T
P O
x T' t
Tangente an Hyperbel
a2 y0 (x − x0 ). b2 x0
Konjugierte Hyperbeln und Durchmesser
Konjugierte Hyperbeln, beschrieben durch x2 y2 y2 x2 − = 1, und − = 1, a2 b2 b2 a2 besitzen gemeinsame Asymptoten. Reelle Achse und imaginäre Achse sind gerade vertauscht.
616
19 Analytische Geometrie
Durchmesser der Hyperbel sind Sehnen, die durch den Hyperbelmittelpunkt gehen und von diesem halbiert werden. Konjugierte Durchmesser: Mittelpunkte aller Sehnen, die zu einem Hyperbeldurchmesser parallel sind. Es gilt für die Steigungen des Durchmessers und des konjugierten Durchmessers b2 . a2 ● Sind 2a1 und 2b1 die Längen und α , β , m1 = − tan α , m2 = tan β , die Steigungswinkel zweier konjugierter Durchmesser, so gilt m1 · m2 =
a1 b1 sin(α − β ) = ab und a21 − b21 = a2 − b2 .
19.6.5
Krümmung einer Hyperbel
Krümmungsradius einer Hyperbel im Punkt P(x,y): 2 3/2 p x0 y20 (r1 r2 )3/2 2 2 = + = . R=a b 4 4 a b ab sin3 ϕ ϕ : Winkel zwischen Tangente und Radiusvektor des Berührungspunktes. Maximale Krümmung für die Scheitel A und B: R = b2 /a = p.
19.6.6
Flächen einer Hyperbel
Flächeninhalt des Dreiecks zwischen Tangente und beiden Asymptoten: y
AT OT = ab. Flächeninhalt des Parallelogramms mit zu den Asymptoten parallelen Seiten mit einem Punkt der Hyperbel als Eckpunkt:
N P
A NOAP
A QORM
e2 a2 + b2 = . AQORM = 4 4 A OQ Flächeninhalt des Sektors NOAP mit dem HyperA PAP' belpunkt P(x,y) und der zur Asymptoten Parallelen P' PN: ab ab 2ON ANOAP = + ln . 4 2 e Flächeninhalt des Hyperbelsegmentes PAP mit den beiden Hyperbelpunkten P(x,y) und P (−x,y): x y APAP = xy − ab ln + . a b
19.6.7
Hyperbel und Gerade
Koordinaten des Schnittpunktes einer Hyperbel der Form x2 y2 − =1 a2 b2 mit einer Geraden der Form y = mx + n: √ √ −a2 mn ± ab ∆ −b2 n ± abm ∆ x1,2 = , y1,2 = a2 m2 − b2 a2 m2 − b2
R M x
19.7 Elemente im Raum mit der Diskriminante ∆ = b2 + n2 − a2 m2 . Fallunterscheidung: Zwei Schnittpunkte für ∆ > 0, ein Schnittpunkt für ∆ = 0, kein Schnittpunkt für ∆ < 0.
Teilungsverhältnis einer Strecke P1 P2 im gegebenen Verhältnis a : b, Koordinaten des Punktes P mit P1 P a = =λ b PP2 bx1 + ax2 x= b+a by1 + ay2 y= b+a bz1 + az2 z= b+a
Mittelpunkt der Strecke P1 P2 : y1 + y2 z1 + z2 x1 + x2 , y= , z= . x= 2 2 2 ■ Schwerpunkt eines Systems materieller Punkte Mi (xi ,yi ,zi ) mit den Massen mi (i = 1,2,..,n): ∑ mi xi ∑ mi yi ∑ mi zi x= , y= , z= . ∑ mi ∑ mi ∑ mi
19.7.3
Rauminhalt eines Tetraeders
Rauminhalt eines Tetraeders mit den Eckpunkten P1 (x1 ,y1 ,z1), P2 (x2 ,y2 ,z2), P3 (x3 ,y3 ,z3 ) und P4 (x4 ,y4 ,z4):
x1 y1 z1 1
x1 − x2 y1 − y2 z1 − z2
1 x2 y2 z2 1 1
V=
= x1 − x3 y1 − y3 z1 − z3 .
6 x3 y3 z3 1 6
x1 − x4 y1 − y4 z1 − z4
x y z 1 4
4
4
Vier Punkte liegen in einer Ebene, wenn
x1 − x2 y1 − y2 z1 − z2
x1 − x3 y1 − y3 z1 − z3 = 0.
x1 − x4 y1 − y4 z1 − z4
617
618
19 Analytische Geometrie
19.8
Geraden im Raum
19.8.1
Parameterdarstellung einer Geraden
Parameterdarstellung einer Geraden, durch den Endpunkt vona mit der Richtung von b = 0:
z
g : x = a + t · b, t R.
b
a
Zwei Geraden g1 ,g2 sind genau dann parallel, wenn ihre Richtungsvektoren b1 ,b2 linear abhängig sind.
P
tb
a x=
g
+tb y
x
Symbolisch: g1 ||g2
⇐⇒
es gibt ein s = 0
mit b1 = sb2 .
Parameterdarstellung der Geraden, durch zwei Punkte P1 ,P2 : g : x = p1 + t · (p2 −p1 ) mit t R.
19.8.2
Schnittpunkt zweier Geraden
Zwei Geraden schneiden sich genau dann, wenn es einen Vektor x0 gibt, dessen Endpunkt sowohl auf der einen Geraden (g1 ) als auch auf der anderen Geraden (g2 ) liegt. Geradengleichungen: g1 : x =a1 + rb1 ,
y
g1 ϕ
g2 : x =a2 + sb2 . Gleichungssystem für r,s:
a1 + r ·b1 =a2 + s ·b2 oder r · b1 − s · b2 =a2 −a1 .
x0
x
Geradenschnitt
Fallunterscheidung beim Lösen des Gleichungssystems: 1.
Das Gleichungssystem hat keine Lösung. Die Geraden schneiden sich nicht. / Die Schnittmenge ist leer (0). 2. Das Gleichungssystem hat genau eine Lösung (r0 ,s0 ). Die Geraden schneiden sich im Endpunkt von x0 = a1 + r0 ·b1 = a2 + s0 ·b2 . Die Schnittmenge ist {x0 }. 3. Das Gleichungssystem hat unendlich viele Lösungen. Die Geraden sind identisch. Die Schnittmenge ist g1 = g2 .
19.8.3
Schnittwinkel zweier sich schneidender Geraden
Der Winkel ϕ zwischen zwei sich schneidenden Geraden g1 : x =a1 + t · b1 g2 : x =a2 + t · b2
g2
19.8 Geraden im Raum
619
ist der Winkel zwischen den Richtungsvektoren cos ϕ =
b1 ·b2 . |b1 | · |b2 |
19.8.4
Fußpunkt des Lotes (Lotgerade)
Der Fußpunktx0 des Lotes von P auf g ist durch zwei Angaben bestimmt: 1. Der Endpunkt von x0 liegt auf g, also gibt es einen Parameterwert t0, sodass x0 = a + t0b ist. 2. Das Lot x0 −p steht senkrecht auf b, d. h. (x0 −p) · b = 0 oder x0 · b = p · b. y
Fußpunkt: (p −a) · b x0 = a + t0 ·b mit t0 = . b2 Lot:
gL x x0
x0 −p.
d
p
g
P
Lotgerade:
x
gL : x = p + s · (x0 −p).
19.8.5
Lotgerade
Abstand zwischen Punkt und Gerade
Punkt P und Gerade g : x = a + t · b haben den Abstand: d=
|b × (p −a)| |b|
19.8.6
.
Abstand zweier Geraden
Parallele Geraden, man erhält den Abstand, indem man den Abstand eines beliebigen Punktes der einen Geraden zur anderen Geraden bestimmt. Nicht parallele Geraden, g1 : x =a1 + t · b1 , g2 : x =a2 + t · b2 . Abstand, Höhe des Spates, der von den Vektorena2 −a1 , b1 , b2 aufgespannt wird: d(g1 ,g2 ) = =
|(a2 −a1 ,b1 ,b2 )| |b1 × b2 | Volumen des Spats Grundfläche des Spats
Schneiden sich g1 und g2 , so liegen a2 − a1 ,b1 ,b2 in einer Ebene, ihr Spatprodukt und somit der Abstand von g1 und g2 ist Null.
620
19 Analytische Geometrie
Windschiefe Geraden, 3 nicht parallele Geraden, die sich nicht schneiden. Symbolisch:
19.9
(a2 −a1 ,b1 ,b2 ) = 0.
⇐⇒
g1 ,g2 windschief
Ebenen im Raum z
z
n b a
r b +s c
E2 E
c E1
x y x
y x
Ebene
19.9.1
Parameterdarstellung der Ebene
Parameterdarstellung der Ebene, durch den Endpunkt von a, aufgespannt von den beiden linear unabhängigen Vektoren b undc: E : x = a + r · b + s ·c mit r,s R. Parameterdarstellung der Ebene, durch drei Punkte P1 ,P2 ,P3 , die nicht auf einer Geraden liegen: E : x = p1 + r · (p2 −p1 ) + s · (p3 −p1 ) mit r,s R.
19.9.2
Koordinatendarstellung der Ebene
Normalenvektor der Ebene:
n = (a,b,c) = (0,0,0). Koordinatendarstellung der Ebene: E : d = n ·x = ax + by + cz. ● Zwei Ebenen E1 ,E2 sind genau parallel, wenn ihre Normalenvektoren n1 ,n2 linear abhängig sind. Symbolisch: E1 ||E2
19.9.3
⇐⇒
es gibt einr = 0 mit n1 = rn2 .
Hesse’sche Normalform der Ebene
E : n ·x = d
mit (|n| = 1,d ≥ 0),
mit d: Abstand der Ebene zum Nullpunkt. n: zeigt vom Ursprung zur Ebene.
19.9 Ebenen im Raum
19.9.4
621
Umformungen
Parameter- in Koordinatendarstellung: Multiplikation der Parameterdarstellung mit einem Vektor n, der auf den Richtungsvektoren b und c senkrecht steht (Normalenvektor): Parameterdarstellung
x = a + r ·b + s ·c. Multiplikation mit n = b ×c liefert die Koordinatendarstellung
n ·x = n ·a ax + by + cz = d. Koordinaten- in Parameterdarstellung: Lösen des Gleichungssystems ax + by + cz = d, indem nachx aufgelöst wird. Das Ergebnis wird vektoriell geschrieben (x = (x,y,z) = . . . ). Koordinatendarstellung ax + by + cz = d. Lösen des Gleichungssystems ergibt die Parameterdarstellung
x = a + r ·b + s ·c. Koordinatendarstellung in Hesse’sche Normalform: Division der Koordinatenform ax + by + cz = d durch den Betrag a2 + b2 + c2
von n = (a,b,c).
Parameterdarstellung in Hesse’sche Normalform: 1. Parameterdarstellung in Koordinatendarstellung umformen. 2. Koordinatendarstellung in Hesse’sche Normalform umformen.
19.9.5
Abstand Punkt – Ebene
Darstellung der Ebene E und des Punktes P: E : n ·x = d, P : Endpunkt des Vektors p. Abstand vom Punkt P zur Ebene E: A = |n · p − d|. Fallunterscheidung: n ·p > d: P liegt auf der anderen Seite von E wie der Nullpunkt, n ·p = d: P liegt auf der Ebene E, n ·p < d: P liegt auf der gleichen Seite von E wie der Nullpunkt.
622
19 Analytische Geometrie
19.9.6
Schnittpunkt Gerade – Ebene
Gerade: g : x = a + t · b. Ebene:
n
g
E : n ·x = d. Durchstoßpunkt: d −n ·a x0 = a + t0b mit t0 = , n ·b falls g und E nicht parallel sind, also gilt g # E bzw. n · b = 0.
19.9.7
t 0b d
x0
0
E
a
Schnittpunkt Gerade – Ebene
Schnittwinkel zweier sich schneidender Ebenen
Ebenen: E1 : n1 ·x = d1 , E2 : n2 ·x = d2 . Der Winkel ϕ zwischen zwei sich schneidenden Ebenen ist der Winkel zwischen ihren Normalenvektoren: cos ϕ =
19.9.8
n1 ·n2 . |n1 | · |n2 |
Fußpunkt des Lotes (Lotgerade)
Der Fußpunktx0 des Lotes von P auf E ist durch zwei Angaben bestimmt: 1. Der Endpunkt vonx0 liegt auf E, also n ·x0 = d. 2. Der Endpunkt vonx0 liegt auf der Lotgeraden
x = p + t ·n, also gibt es einen Parameterwert t0 , sodass
x0 = p + t0 ·n ist. Fußpunkt:
x0 = p + t0 ·n mit t0 =
d −n · p . n2
Lot:
x0 −p. Lotgerade: gL : x = p + t · n.
19.9.9
Spiegelung
Spiegelung des Punktes P an der Geraden g : x = a + t · b
19.9 Ebenen im Raum
623
bzw. an der Ebene E : n ·x = d. Spiegelpunkt P :
p = 2x0 −p. x0 : Fußpunkt des Lotes von P auf g bzw. E. Spiegelung der Geraden g an der Ebene E, indem man zwei Punkte von g an E spiegelt und die Gerade g durch diese beiden Spiegelpunkte bestimmt.
19.9.10
Abstand zweier paralleler Ebenen
Darstellung zweier Ebenen: E1 : n1 · (r −r1 ) = 0, E2 : n2 · (r −r2 ) = 0. Parallele Ebenen: falls ihre Normalenvektoren n1 und n2 kollinear sind, d. h.
n1 ×n2 = 0. Abstand zweier paralleler Ebenen: d=
|n1 · (r1 −r2 )| |n2 · (r1 −r2 )| = . |n1 | |n2 |
19.9.11
Schnittmenge zweier Ebenen
Schnittmenge zweier Ebenen, erhält man, indem man ein Gleichungssystem löst. Sind die Ebenen nicht parallel, so ist die Schnittmenge eine Gerade. ▲ Umformung der Ebenengleichungen in die Koordinatendarstellung erleichtert die Berechnung der Schnittmenge.
20
Folgen, Reihen, Funktionen
20.1
Folgen und Reihen
Folge, eindeutige Zuordnung einer Menge natürlicher Zahlen auf eine gegebene Menge A. ■ Im Inhaltsverzeichnis dieses Buches wird jeder Kapitelnummer die Seitenzahl zugeordnet. Zahlenfolge, wenn die Bildmenge A eine Teilmenge der reellen Zahlen ist, dann wird die Folge reelle Zahlenfolge genannt. Definitionsbereich einer Folge, Menge der natürlichen Zahlen, für die eine eindeutige Abbildungsvorschrift existiert. Wertebereich einer Folge, Menge der Elemente von A, auf die abgebildet wird. Glied einer Folge, Element des Wertebereiches einer Folge. Endliche Zahlenfolge, der Definitionsbereich der Folge enthält nur endlich viele Elemente. Unendliche Zahlenfolge, der Definitionsbereich der Folge ist die Menge der natürlichen Zahlen N. Schreibweise einer Zahlenfolge: (an ) : n !→ an
n wird auf das Glied an abgebildet.
▲ Im Allgemeinen nimmt man das Glied a1 als erstes Glied der Folge. Es wird auch häufig mit dem Glied a0 begonnen. Darstellungsarten: ● Wortdarstellung, Beschreibung der Funktionsvorschrift. ■ Jeder Zahl wird ihr doppelter Wert zugeordnet ● Tabellarische Darstellung, n an
1 2 3 4 5 ··· 2 4 6 8 10 · · ·
● Funktionsgleichung, (an ) : an = f (n)
z. B. an = 2n.
● rekursive Darstellung, (an ) : an = f (an−1 )
z. B. a1 = 2, an = an−1 + 2.
▲ Bei der rekursiven Darstellung muss sein Glied explizit angegeben werden. Reihe, rekursiv definierte Folge, die folgender Vorschrift genügt: s1 = f (1),
sn = sn−1 + f (n).
Definiert man eine Folge (an ) mit an = f (n), so lässt sich schreiben n
sn = sn−1 + an =
∑ ak .
k=1
▲ Das Glied sn wird auch n-te Partialsumme der Folge (an ) genannt. ▲ Zu unendlichen Reihen siehe auch Abschnitt 20.3 Beispiele für Folgen: Quadratzahlen 1, 4, 9, 16, 25, 36, 49, 64, . . . a n = n2 .
k-fache Fakultät, analog zur Doppelfakultät an = n ! · · ·!
am = m, m = 1, · · · ,k, an = n · an−k .
k
Differenzenfolge: ist (an ) eine Folge, so ist die Differenzenfolge (dn ) gegeben durch dn = an+1 − an . Quotientenfolge: ist (an ) eine Folge, so ist die Quotientenfolge (qn ) gegeben durch an+1 qn = . an Konstante Folge, eine Folge (cn ), deren Glieder alle den gleichen Wert c besitzen. cn = c. Arithmetische Folge, Folge, die konstant anwächst, d. h. die eine konstante Differenzenfolge besitzt, an = an−1 + d. Geometrische Folge, Folge, die sich um einen konstanten Faktor verändert und daher eine konstante Quotientenfolge besitzt, an = q · an−1.
20.1.1
Eigenschaften von Folgen, Grenzwerte
Eigenschaften von Folgen: Positiv (negativ) definit, alle Werte sind größer (kleiner) als Null an > 0 (an < 0)
für alle n.
▲ Für an ≥ 0 (an ≤ 0) ist die Folge positiv (negativ) semidefinit. Nach oben (unten) beschränkt, alle Werte sind kleiner (größer) oder gleich einer gegebenen Schranke S an ≤ S
(an ≥ S)
für alle n.
Supremum, kleinste obere Schranke einer Folge. Infimum, größte untere Schranke einer Folge. Maximum, größter Wert einer Folge. Minimum, kleinster Wert einer Folge. Alternierende Folge: Die Folge wechselt von Glied zu Glied das Vorzeichen. an · an−1 < 0. Monotonie einer Folge: Eine Folge heißt monoton steigend (fallend), wenn keine Zahl kleiner (größer) ist als ihr Vorgänger. an ≥ an−1
(an ≤ an−1 )
für alle n.
626
20 Folgen, Reihen, Funktionen
Eine Folge heißt streng monoton steigend (fallend), wenn jede Zahl größer (kleiner) ist als ihr Vorgänger. an > an−1
(an < an−1 )
für alle n.
Konvergenz, eine Folge (an ) heißt konvergent, wenn es einen Wert a gibt, für den gilt: Für eine beliebig vorgegebene Zahl ε > 0 existiert ein Index N(ε ), sodass alle Glieder mit n ≥ N(ε ) einen Abstand von a haben, der kleiner ist als ε : n ≥ N(ε ) :
|an − a| < ε .
● a heißt Grenzwert der Folge. Darstellung: a = lim an . n→∞
n+1 ist eine konvergente Folge mit dem Grenzwert lim an = 1. n→∞ n ▲ Eine nicht konvergente Folge heißt divergent. ■ an =
Nullfolge, Folge mit dem Grenzwert Null. 1 ■ an = ist eine Nullfolge. n Cauchy-Folge, Folge, für die zu jeder beliebig vorgegebenen Zahl ε > 0 ein Index N(ε ) existiert, sodass alle Glieder mit n,m ≥ N(ε ) einen Abstand voneinander haben, der kleiner ist als ε : n,m ≥ N(ε ) :
|an − am | < ε .
▲ Im Reellen (und Komplexen) ist jede Cauchy-Folge konvergent. ● Jede nach oben (unten) beschränkte, monoton steigende (fallende) Folge ist konvergent. Der Grenzwert ist das Supremum (Infimum). Grenzwertsätze: Wenn lim an = a und lim bn = b, dann gilt: n→∞
n→∞
Der Grenzwert des Vielfachen einer Folge ist das Vielfache des Grenzwerts lim (c · an ) = c · lim an = c · a.
n→∞
n→∞
Der Grenzwert der Summe (Differenz) zweier Folgen ist die Summe (Differenz) der Grenzwerte lim (an ± bn ) = lim an ± lim bn = a ± b.
n→∞
n→∞
n→∞
Der Grenzwert des Produkts zweier Folgen ist das Produkt der Grenzwerte lim (an · bn ) = lim an · lim bn = a · b.
n→∞
n→∞
n→∞
Der Grenzwert des Quotienten zweier Folgen ist der Quotient der Grenzwerte, falls lim bn = 0 n→∞ lim a n an a lim = n→∞ = . n→∞ bn lim bn b n→∞
● Liegt eine Folge (cn ) ab einem bestimmten Index n0 zwischen zwei Folgen (an ) und (bn ), die gegen den gleichen Grenzwert a konvergieren, so konvergiert auch die dazwischen liegende Folge gegen diesen Grenzwert n > n0 :
an ≥ cn ≥ bn , lim (an ) = lim (bn ) = a
n→∞
n→∞
⇒
lim (cn ) = a.
n→∞
20.2 Abbildungen und Funktionen
20.2
627
Abbildungen und Funktionen
Relation R zwischen zwei Mengen A und B ist eine Teilmenge des kartesischen Produktes A × B. Für Paare (x,y) ∈ R schreibt man auch x R y. ■ {(x,y) ∈ {1,2,3} × {−1,1,3,5}| x > y} = {(1, − 1),(2, − 1),(2,1),(3, − 1),(3,1)} Abbildung f von A in B (oder synonym Funktion), eindeutige Relation, d. h. es existiert zu jedem x ∈ A genau ein y ∈ B, sodass (x,y) ∈ f . ▲ Man sagt auch: f ist eine Zuordnung, die jedem Element x ∈ A genau ein Element y ∈ B zuordnet und benutzt die Schreibweisen f : A → B (Mengenzuordnung) oder f : x !→ y (Elementzuordnung). A heißt Vormenge, Definitionsmenge, Definitionsbereich oder Urbildmenge der Funktion f . Die Variablen der Definitionsmenge heißen unabhängige Variablen oder Argumente von f . B wird (potenzielle) Nachmenge von f genannt. Die Variablen der Nachmenge heißen abhängige Variablen von f . f
Ist (x,y) ∈ f bzw. x !→ y, so sagt man, y ist das Bild von x unter der Abbildung f und schreibt y auch f (x). Das Element x bezeichnet man als Urbild von y bezüglich f . Bildmenge, Wertemenge oder Wertebereich von f , Menge aller y ∈ B, die mindestens ein Urbild haben. Man symbolisiert sie durch f (A) = { f (x)|x ∈ A}. ▲ Funktionen kann man vereinfachend mit der Funktionsgleichung y = f (x) beschreiben; dabei ist aber zu beachten, dass die Angabe der Definitionsmenge mit zur Definition gehört. Graph der Funktion f (oder synonym Funktionskurve), Menge der geordneten Zahlenpaare G f = {(x,y)|y = f (x),x ∈ D ⊆ R} . Reellwertige Funktion einer reellen Variablen, A ⊆ R und B ⊆ R. 9 1 ■ K = K(x) = x3 − x2 + 10x + 10 Kostenfunktion eines Einproduktunternehmens mit dem 25 10 Output x. Reellwertige Funktion mehrerer reeller Variablen, A ⊆ Rm und B ⊆ R. ■ K = K(x1 ,x2 ,x3 ) = 2x1 + 3x2 + 13 x1 x2 + 18 x2 x3 + dem Output (x1 ,x2 ,x3 ).
1 x 20 3
+ 25
Kostenfunktion eines Unternehmens mit
Reellwertige Vektorfunktionen, A ⊆ Rm und B ⊆ Rn mit m,n ∈ N, m,n > 1. ■ Lineare Produktionsfunktion mit dem Input (y1 ,y2 ,y3 ,y4 ) und dem Output (x1 ,x2 ,x3 ): y1 x1 f1 (y1 ,y2 ,y3 ,y4 ) 5 −1 −2 3 y 2 0 · x2 = f2 (y1 ,y2 ,y3 ,y4 ) = f(y1 ,y2 ,y3 ,y4 ) = −3 10 −1 y3 x3 f3 (y1 ,y2 ,y3 ,y4 ) −2 3 7 −1 y4 Injektive Abbildung (eineindeutige Abbildung), aus y1 = f1 (x1 ) = f2 (x2 ) = y2 folgt immer x1 = x2 . Surjektive Abbildung (Abbildung von A auf B), f (A) = B: zu jedem Element y ∈ B existiert ein Urbild. Bijektive Abbildung, die Abbildung ist injektiv und surjektiv. Umkehrfunktion, zu jeder bijektiven Funktion existiert eine eindeutig bestimmte Funktion f −1 : B → A, die jedem Element y ∈ B genau das Urbild f −1 (y) in Bezug auf die Abbildung f zuordnet. ▲ Die Funktionsgleichung x = f −1 (y) verdeutlicht, dass beim Übergang von einer Funktion zu ihrer Umkehrfunktion lediglich Definitions- und Bildmenge ihre Rollen tauschen. Damit wird die abhängige
628
20 Folgen, Reihen, Funktionen
Variable y nun unabhängige Variable und die unabhängige Variable x wird zur abhängigen Variablen. Eine Funktion und ihre Umkehrfunktion haben denselben Graph, wenn die Bezeichnung der Koordinatenachsen beibehalten und nur die Zuordnungsrichtung wechselt. ■ y = f (x) = 3x − 5,D = R. Da auch f (D) = R existiert eine Umkehrfunktion, die durch Auflösen der Funktionsgleichung nach der neuen abhängigen Variablen erhalten wird: y+5 3 1 ■ C = C(Y ) = 2 Y +106 Konsumfunktion einer Volkswirtschaft, wenn das Volkseinkommen Y zwischen 107 und 108 [Z-Mark] liegt. Die zugehörige Bildmenge ist W = C([107 ,108 ]) = [6 · 106 ,51 · 106 ]. Die Umkehrfunktion von C = C(Y ) ist dann Y = Y (C) = 2C − 2 · 106 . x = f −1 (y) =
Verkettete Funktionen: Genügen zwei Abbildungen f : A → B, x !→ y = f (x) und g : C → D, y !→ z = g(y) der Bedingung f (A) ⊆ C, so lassen sich diese Funktionen verketten zu einer Abbildung g ◦ f : A → D, x !→ z = (g ◦ f )(x) = g( f (x)) . ▲ Man bezeichnet g(y) als äußere Funktion und f (x) als innere Funktion der verketteten Funktion g ◦ f. ■ f : [0,3] → R,x !→ f (x) = 2x + 1 und g : [0,8] → R,y !→ g(y) = − 13 (y − 3)2 + 4 lassen sich, da f ([0,3]) = [1,7] ⊂ [0,8], verketten zu g ◦ f : [0,3] → R mit 1 1 (g ◦ f )(x) = g( f (x)) = − ((2x + 1) − 3)2 + 4 = − (2x − 2)2 + 4 . 3 3
20.3
Unendliche Reihen
Reihenentwicklungen werden in der Praxis häufig benutzt, z. B. in der Integration nach Reihenentwicklungen und für Näherungsformeln.
bei denen das n-te Folgenglied (sn ) aus der Summe der ersten n Folgenglieder einer Folge (an ) besteht, n
sn = a1 + a2 + a3 + . . . + an = ∑ ai = sn−1 + an . i=1
Unendliche Reihe erhält man für n → ∞: ∞
a1 + a2 + . . . + an + . . . = ∑ ai . i=1
Teilsummen oder Partialsummen, die endlichen Summen sn der unendlichen Reihe. Restglied Rn einer konvergierenden Reihe: Differenz zwischen Summe s und Partialsumme sn . Hauptprobleme bei unendlichen Reihen: • •
Untersuchung der Reihe auf Konvergenz. Bestimmung des Summenwertes s.
20.3 Unendliche Reihen
629
▲ Die Summanden können nicht nur Zahlen sein, sondern auch Variablen enthalten, Funktionen oder andere mathematische Objekte sein (Matrizen)!
20.3.2
Konvergenzkriterien
Konvergenz der Reihe gegen den Reihenwert s, auch Summenwert oder Summe der Reihe, wenn die Summenfolge (sn ) gegen s konvergiert. ∞
lim sn = s = ∑ ai .
n→∞
i=1
Divergenz der Reihe, die Partialsumme sn besitzt keinen Grenzwert für n → ∞. ■ Geometrische Reihe, der Quotient q von zwei aufeinander folgenden Folgengliedern ist konstant: ∞
∞
i=1
i=1
aq0 + aq1 + aq2 + . . . + aqn−1 + . . . = ∑ aqi−1 = a · ∑ qi−1 . Teilsumme sn einer geometrischen Reihe: n
sn = a ∑ qi−1 = a · i=1
1 − qn , 1−q
q = 1.
● Die geometrische Reihe konvergiert gegen den Summenwert s, falls q dem Betrage nach kleiner als eins ist. a s= , |q| < 1. 1−q 1 ■ a = 1, q = : n 2 1 1− 1 1 1 1 1 2 sn = 1 + + + + . . . + n−1 = =2· 1− n 1 2 4 8 2 2 1− 2 konvergiert gegen s=
1
= 2. 1 1− 2 ● Notwendige Bedingung für die Konvergenz einer Reihe: Die Glieder ai der Folge bilden eine Nullfolge: lim an = 0.
n→∞
▲ Diese Mindestvoraussetzung reicht nicht in jedem Fall aus. ■ Die harmonische Reihe ∞ 1 1 1 1+ + +... = ∑ 2 3 k=1 k
divergiert.
▲ Falls die Nullfolgen-Bedingung nicht erfüllt ist, divergiert die Reihe jedoch immer: ● Divergenz-Nachweis: lim an = 0
n→∞
⇒
∞
∑ ai
divergiert.
i=1
■ Die Reihe s = 1 + 1 + 1 + . . . divergiert. Für die Konvergenzaussage einer Reihe können andere Reihen herangezogen werden, deren Konvergenz oder Divergenz bereits bekannt ist (Vergleichskriterien).
630
20 Folgen, Reihen, Funktionen
● Majorantenkriterium (Vergleichskriterium): Die Reihe ∞
∑ ai i=1
konvergiert absolut, wenn es eine konvergente Reihe ∞
∑ bi ,
bi ≥ 0 für i = 1,2,3, . . .
i=1
gibt, deren Glieder bi – von einem i an – alle größer oder gleich den Absolutbeträgen der Glieder ai der untersuchten Reihe sind, bi ≥ |ai |. Konvergente Majorante (Oberreihe), die Reihe ∑ bi . Konvergente Minorante (Unterreihe), die Reihe ∑ ai . ● Leibniz-Kriterium für Reihen mit alternierenden Vorzeichen. Die alternierende Reihe ∞
∑(−1)i+1 ai = a1 − a2 + a3 − a4 + − . . .
ai > 0, i = 1,2, . . .
i=1
konvergiert, wenn die ai eine monoton fallende, nicht negative Nullfolge bilden. Fehlerabschätzung für alternierende Reihen: |s − sn | ≤ an+1 , wenn s der Grenzwert der Reihe ist. Absolute Konvergenz einer Reihe ∑ ai : Die Reihe der Absolutbeträge ∑ |ai | konvergiert. Absolute Konvergenz garantiert, dass sich beim Umordnen der Reihenglieder der Summenwert nicht ändert. ■ Die Reihe ∞ (−1)n−1 1 1 1 ∑ n = 1− 2 + 3 − 4 ±... n=1 konvergiert, aber nicht absolut. Es gibt z. B. eine Umordnung, 1 1 1 1− + − + 2 3 4 1 1 1 + + − + 5 7 6 1 1 1 1 1 + + + + − +... 9 11 13 15 8 1 1 1 1 + n + n + . . . + n+1 − + ..., 2 +1 2 +3 2 −1 2n + 2 die gegen +∞ divergiert. Nachweis der absoluten Konvergenz: ● Quotientenkriterium (d’Alembert) Hinreichendes, aber nicht notwendiges Konvergenzkriterium. ∞
a)
Eine Reihe ∑ ai konvergiert absolut, wenn gilt
i=1
an+1
< 1. lim n→∞ an
20.3 Unendliche Reihen
631
∞
b)
c)
Die Reihe ∑ ai divergiert für
i=1
an+1
> 1. lim n→∞ an Ist der Grenzwert gleich Eins, kann keine Aussage gemacht werden.
■ Die Reihe (sn ) mit 2 1 3 n sn = + 2 + 3 + . . . + n 2 2 2 2 konvergiert, da 1 n+1 n : = < 1. n→∞ 2n+1 2n 2 ● Wurzelkriterium lim
Hinreichendes, aber nicht notwendiges Konvergenzkriterium. ∞
a)
Eine Reihe ∑ ai konvergiert absolut, wenn gilt i=1 n lim |an | < 1.
n→∞
b)
∞
Die Reihe ∑ ai divergiert für i=1 n lim |an | > 1. n→∞
c)
Ist der Grenzwert gleich Eins, kann keine Aussage gemacht werden.
■ Die Reihe (sn ) mit 4 9 n2 1 3 n 2 + +...+ sn = + 2 3 4 n+1 konvergiert, da n |an | = lim
%
n2
n
1 = < 1. 1 n→∞ n→∞ e 1+ n ▲ Sowohl Quotienten- als auch Wurzelkriterium sind hinreichende Bedingungen für Konvergenz, keine notwendigen! lim
Betrachtung nun von Funktionen und Variablen, und nicht nur von Zahlenfolgen. Funktionswert f (x), kann durch einen Punkt auf der Tangente f (x) in x8 genähert werden. Die Näherung ist exakt für Polynome 1. Grades (Geraden) und bei anderen Funktionen um so besser, je näher x an x0 liegt, d. h. je kleiner |x − x0 | ist. f(x) f ( x 0 ) +f '( x 0 )( x − x 0 ) f(x) f ( x 0)
x0
x
x
Verdeutlichung der Tangentenformel f (x) ≈ f (x0 ) + f (x2 ) · (x − x0 ). Verallgemeinerung dieser Näherungsformel folgt aus dem Mittelwertsatz der Differenzialrechnung.
20.3.5
Formel von Taylor
● Taylor-Formel, eine Funktion f (x), die in einem Intervall (a,b) (n+1)-mal differenzierbar ist und deren n-te Ableitung auch in den Randpunkten a und b des Intervalls stetig ist, lässt sich in folgender Form darstellen: f (x) = f (x0 ) +
x und x0 sind aus dem Intervall (a,b). Taylor-Polynom Pn (x) von f (x) am Entwicklungspunkt x0 , ist ein Polynom n-ten Grades, das in den ersten n Ableitungen mit f (x) übereinstimmt: Pn (x) = f (x0 ) +
Lagrange’sches Restglied Rn , die Differenz aus der Funktion f (x) und dem Taylor-Polynom Pn (x), f (n+1) (x∗ ) Rn (x) = f (x) − Pn (x) = · (x − x0 )n+1 , (n + 9)!
|x∗ − x| ≤ |x0 − x|.
x∗ liegt zwischen m0 und x! ▲ Je kleiner das Restglied Rn ist, desto besser ist die Näherung der Funktion f (x) durch das TaylorPolynom.
20.3 Unendliche Reihen
633
Taylor-Formel erlaubt die Berechnung von Funktionswerten mit beliebiger Genauigkeit. Anzahl der Glieder und damit der Grad des Polynoms, der für die geforderte Genauigkeit benötigt wird, hängt wesentlich vom Abstand |x − x3 | des Punktes x0 vom Punkt x ab. Je größer |x − x0 |, desto mehr Glieder müssen verwendet werden. Das Restglied kann im Allgemeinen nicht exakt angegeben werden, da die Stelle x∗ nicht bekannt ist. Es reicht jedoch häufig aus, wenn der Fehler nach oben abgeschätzt werden kann.
20.3.6
Taylor-Reihe
Taylor-Reihe von f (x) mit der Entwicklungsstelle x0 entsteht, wenn man den Grad n des Taylor-Polynoms unbeschränkt wachsen lässt. 1 1 1 f (x) = f (x2 ) + f (x0 ) · (x − x0 ) + f (x0 ) · (x − x0 )2 + . . . + f (n) (x0 ) · (x − x0 )n + . . . 9! 2! n! ∞ 1 = ∑ f (n) (x0 ) · (x − x0 )n . n=0 n! ■ Exponentialfunktion entwickelt um x0 = 0 ergibt: x x2 x5 xn + + + ... + + .... 0! 2! 3! n! MacLaurin-Reihe von f (x) ist die Taylor-Reihe, aber für die spezielle Entwicklungsstelle x0 = 0. 1 1 1 f (x) = f (5) + f (0) · x + f (8) · x2 + . . . + f (n) (0) · xn + . . . 1! 2! n! ∞ 1 = ∑ f (n) (0) · xn . n=0 n! ex = 1 +
Konvergenzverhalten der Taylor-Reihe: Taylor-Reihe konvergiert für x = x0 trivialerweise gegen f (x0 ). Ansonsten braucht sie nicht konvergent zu sein. Auch bei Konvergenz muss der Grenzwert nicht gleich dem Funktionswert f (x) sein, wie das folgende Beispiel zeigt. ■ Die Funktion 1 e− x5 für x = 0 f (x) = 0 für x = 0 ist unendlich oft differenzierbar mit f (n) (0) = 0 für alle n. Die Taylor-Reihe mit der Entwicklungsstelle x0 = 0 konvergiert damit für alle x gegen den Wert 0. Konvergenz der Taylor-Reihe gegen den entsprechenden Wert f (x), wenn für das Restglied gilt: f (n+1) (x∗ ) · (x − x0 )n+1 = 5. n→∞ n→∞ (n + 1)! Man sagt in diesem Fall, dass f (x) durch seine Taylor-Reihe dargestellt wird. Funktion zweier Variablen: lim Rn = lim
Taylor-Reihenentwicklung einer Funktion f (x,y) von zwei Variablen an der Stelle x = a, y = b:
n
∂ ∂ 1 ∂ ∂
f (a + h,b + k) = f (a,b) + h + k f (x,y) + . . . + h +k f (x,y)
+ . . . ∂x ∂y x=a n! ∂x ∂y x=a y=b
mit
∂ ∂ h + ∂x ∂y
etc.
2 f (x,y) = h2
2 ∂2 f (x,y) ∂2 f (x,y) 2 ∂ f (x,y) + 2hk + k ∂x2 ∂x∂y ∂y2
Taylor-Reihen sind Sonderfälle der allgemeinen Potenzreihen. Konvergiert eine Potenzreihe für die x-Werte eines Intervalls, kann durch die Grenzwerte eine Funktion f (x) im Intervall definiert werden: Jedem x des Intervalls wird als Funktionswert f (x) der Grenzwert der unendlichen Reihe zugeordnet.
20.3.8
Konvergenzbetrachtungen für Potenzreihen
Potenzreihe p(x) = ∑ an · (x − x0 )n konvergiert immer an der Entwicklungsstelle x = x0 , der triviale Fall p(x0 ) = a0 . Konvergenzradius r um die Entwicklungsstelle kann angegeben werden, wenn die Reihe auch für Werte ungleich x0 konvergiert. Konvergenzradius r der Potenzreihe, die kleinste obere Schranke (Supremum) der Zahlen |x − x0 |, für die ∞
∑ an · (x − x0 )n
n=0
konvergiert. Dabei gilt: 0 ≤ r ≤ ∞. Die Reihe divergiert für alle x-Werte mit |x − x0 | > r. Konvergenzbereich, das symmetrische Intervall (x0 − r,x0 + r) um die Entwicklungsstelle x0 . ● Konvergenzaussagen: |x − x0 | < r |x − x0 | > r
∑ an · (x − x0 )n, die Potenzreihe konvergiert absolut. ∑ an · (x − x0 )n, die Potenzreihe divergiert.
|x − x0 | = r es kann keine allgemein gültige Aussage gemacht werden. Formeln zur Berechnung des Konvergenzradius r: ● Quotientenkriterium ergibt für den Konvergenzradius r:
an
an+1
, wobei r → ∞ für
r = lim
an → 0. n→∞ an+1 ▲ Diese Formel kann nicht immer angewendet werden, obwohl das Quotientenkriterium erfüllt ist. ■ Jedes zweite an sei gleich null, an /an+1 ist nicht definiert!. ● Wurzelkriterium ergibt für den Konvergenzradius r: 1 r = lim . n n→∞ |an | ▲ Die Formeln können nur dann benutzt werden, wenn der jeweilige Grenzwert existiert. Existieren beide, dann stimmen die Ergebnisse für r überein.
20.3.9
Eigenschaften konvergenter Potenzreihen
● Linearkombinationen von Potenzreihen dürfen im gemeinsamen Konvergenzbereich gliedweise ausgeführt werden, wenn die Konvergenzbereiche der Potenzreihen überlappen: c · ∑ an · (x − x0 )n + d · ∑ bn · (x − x0 )n = ∑(c · an + d · bn )(x − x0 )n .
20.3 Unendliche Reihen
635
● Summandenweise Integration oder Differenziation einer Funktionen-Reihe ∑ fn (x) nur möglich, wenn die Reihe gleichmäßig konvergiert. Einfache (punktweise) Konvergenz für jedes x reicht nicht aus! Potenzreihen mit gleichmäßiger Konvergenz können – unabhängig vom einzelnen x – zu jeder vorgegebenen Genauigkeit nach einer Anzahl von N Summanden abgebrochen werden. Der Fehler ist dann kleiner oder gleich . Gleichmäßige Konvergenz von Potenzreihen, eine Potenzreihe konvergiert auf jedem abgeschlossenen und beschränkten Teilintervall [x0 − r1 ,x0 + r1 ] des Konvergenzbereiches gleichmäßig, wenn r1 kleiner als der Konvergenzradius r ist: 0 < r1 < r. Absolute Konvergenz, innerhalb des Konvergenzbereiches konvergiert die Potenzreihe absolut. ● Vertauschbarkeit von Differenziation und Grenzprozess: Jede Potenzreihe darf im Innern ihres Konvergenzbereiches gliedweise differenziert werden: , ∞ ∞ d d n f (x) = a0 + ∑ an · (x − x0 ) = ∑ an · (x − x0 )n dx dx n=1 n=1 ∞
=
∑ n · an · (x − x0)
n−1
∞
=
n=1
∑ (n + 1)an+1(x − x0 )n .
n=0
Die entstehende Potenzreihe hat denselben Konvergenzradius wie die ursprüngliche Potenzreihe. ● Gliedweise Integration: Konvergiert die Potenzreihe ∞
f (x) =
∑ an · (x − x0)n
n=0
mit einem Konvergenzradius r, so konvergiert auch die Reihe ∞
an · (x − x0 )n+1 n + 1 n=0 a1 = C + a0 · (x − x0 ) + · (x − x0 )2 + . . . , C = const 2 und zwar mit dem gleichen Konvergenzradius r.
g(x) = C + ∑
● Addition, Subtraktion, Multiplikation von zwei (oder mehr) Potenzreihen im gemeinsamen Konvergenzbereich ist gliedweise möglich. Konvergenz der Summe, der Differenz, des Produktes mindestens im gemeinsamen Konvergenzbereich. ● Stetigkeit: Eine Potenzreihe ist (zumindest) im Inneren ihres Konvergenzbereiches stetig. ● Identitätssatz: Sind die Grenzwerte zweier Potenzreihen gleich für |x − x0 | < r, ∞
∑ an · (x − x0 )n =
n=0
∞
∑ bn · (x − x0 )n,
n=0
wobei r das Minimum der beiden Konvergenzradien ist, dann sind auch alle Ableitungen gleich, ∞
∑ n · an · (x − x0)
n=1 ∞
n−1
∞
=
∑ n · bn · (x − x0 )n−1,
n=1
∑ n(n − 1) · an · (x − x0 )n−2 =
n=2
∞
∑ n(n − 1) · bn · (x − x0 )n−2,
n=2
usw.
636
20 Folgen, Reihen, Funktionen
Damit folgt die Gleichheit der Koeffizienten an und bn , wenn x = x0 gesetzt wird, a0 = b0 , a1 = b1 ,
a2 = b2 ,
...
● Darstellung einer Funktion: Wird eine Funktion durch eine Potenzreihe dargestellt, dann ist die Potenzreihe die Taylor-Reihe zum Entwicklungspunkt.
20.3.10
Spezielle Reihenentwicklungen
∞ b b−1 b b−2 2 b b−3 3 b b−i i (a±x) = a ± a ·x+ a ·x ± a ·x +. . . = ∑ a x 1 2 3 i i=0 b
b
(b > 0 : |x| ≤ |a|; b < 0 : |x| < |a|, b ∈ R) n n 2 n 3 n 4 n (1 ± x) = 1 ± x+ x ± x + x ±... 1 2 3 4 (n > 0 : |x| ≤ 1;
n < 0 : |x| < 1)
(a ± x)2 = a2 ± 2ax + x2 (a ± x)3 = a3 ± 3a2 x + 3ax2 ± x3 (a ± x)4 = a4 ± 4a3 x + 6a2 x2 ± 4ax3 + x4 x x2 x3 x4 xn + + + + . . . + + . . . (|x| < ∞) 1! 2! 3! 4! n! 2 3 ln a (ln a) 2 (ln a) 3 (ln a)4 4 x a =1+ x+ x + x + x + . . . (|x| < ∞) 1! 2! 3! 4! 2 3 x−1 1 x−1 1 x−1 1 ln x = + + + . . . (x > ) x 2 x 3 x 2
Reellwertige Funktionen einer reellen Variablen f : D → R , D ⊆ R , x !→ y = f (x) lassen sich auf mehrere Weisen darstellen: ■ Darstellungsformen von f : x !→ 4x + 6 • Graph G f = {(x,y)|x ∈ D,y = f (x)}, Teilmenge des R2 , lässt sich daher in einer kartesischen Koordinatenebene darstellen: f(x)
f(x)
y= 4 x+ 6
12
3
8
1 0 −1
4
−2
−1
0
1
2 x
.
y= sin(5 x ) (2 + sin( x ))
−3 −π
0
π
2π
3π x
Graphen von Funktionen • Funktionsgleichung: f (x) = 4x + 6 oder y = 4x + 6. • Explizite Darstellung einer Funktion: y = f (x); y = 4x + 6. • Implizite Darstellung einer Funktion: f (x,y) = 0; y − 4x − 6 = 0. ● Nicht alle Funktionen, die in impliziter Darstellung gegeben sind, sind explizit darstellbar. ■ y5 + y − x3 = 0 lässt sich nicht explizit nach y auflösen.
• Parameterdarstellung: x = g(t), y = h(t); x = t, y = 4t + 6.
● Nicht alle Funktionen, die in Parameterdarstellung gegeben sind, haben eine explizite oder
implizite Darstellung. ■ y = t 5 − t 2 , x = t 4 + t, (x ≥ 0) ist eine solche Funktion.
Andere Darstellungsarten: ■ f : x !→ 2x : {1,2,3} → {2,4,6}. • Wertetabelle: x 1 2 3 alle Werte x aus dem Definitionsbereich y 2 4 6 alle Werte y aus dem Bildbereich
638
21 Funktionen einer reellen Variablen 5
f(x)
3
y +y − x = 0
f(x)
1 −2
−1
0
4
5
x=t +t,y=t − t
2
1 −2
2 x
1
−1
−1
0
1
2 x
−1
Graphen zu y5 + y − x3 = 0 und
x = t 4 + t,y = t 5 − t 2, x ≥ 0
• Pfeildiagramm: Darstellung der Zuordnung mit Zuordnungspfeilen. x1 y 1 =f ( x 1 )
x2
y 2 =f ( x 2 ) Df
Wf
Pfeildiagramm für Funktionen ▲ Werden bei der Wertetabelle oder dem Pfeildiagramm nicht alle Wertepaare angegeben, so ist die
Funktion nicht eindeutig bestimmt. ■ Die oben angegebene Wertetabelle kann für auf ganz R definierte Funktionen unter anderem die Funktion f (x) = 2x oder die Funktion f (x) = 2x + sin(π x) beschreiben.
21.1.1
Klassifikation von Funktionen
Funktionen lassen sich nach ihren Eigenschaften in verschiedene Klassen einteilen. reelle Funktionen transzendent
algebraisch ganzrational
gebrochen rational Wurzel- trigon.
rationale Funktionen
expon.
log.
hyperb.
irrationale Funktionen
Ganzrationale Funktionen oder Polynome: Funktionen, die sich durch endlich viele Additionen, Subtraktionen und Multiplikationen mit der unabhängigen Variablen x darstellen lassen. Allgemeine Form: f (x) = a0 + a1 x + a2 x2 + a3 x3 + . . . + an xn
n ∈ N.
■ Parabel und Gerade werden durch ganzrationale Funktionen f (x) = ax2 und g(x) = mx + b beschrieben. Rationale Funktionen: Funktionen, die sich durch endlich viele Additionen, Subtraktionen, Multiplikationen und Divisionen mit der unabhängigen Variablen x darstellen lassen. Gebrochen rationale Funktionen: Funktionen, die rational, aber nicht ganzrational sind. Allgemeine Darstellung: f (x) =
Echt gebrochen rationale Funktion: Größter Exponent im Nenner ist größer als größter Exponent im Zähler: m > n. Unecht gebrochen rationale Funktion: m ≤ n. 1 ■ Die Hyperbel f (x) = ist eine echt gebrochen rationale Funktion. x 2 x +1 f (x) = ist eine unecht gebrochen rationale Funktion. x−1 ● Unecht gebrochen rationale Funktionen können durch Polynomdivision in die Summe aus einer ganzrationalen Funktion und einer echt gebrochen rationalen Funktion zerlegt werden. Algebraische Funktionen: Genügen einer algebraischen Gleichung beliebigen Grades, deren Koeffizienten ganzrationale Funktionen (Polynome) in der unabhängigen Variablen x sind. Allgemeine Form: n
∑ gk (x)yk = 0
gk (x) :
Polynome in x.
k=0
▲ In dieser Gleichung stehen auch Potenzen von y, was bei der Gleichung für rationale Funktionen nicht der Fall ist. √ ■ Die Wurzelfunktion f (x) = x, y2 − x = 0 ist eine algebraische Funktion aber keine rationale Funktion. ● Alle rationalen Funktionen sind algebraisch. Transzendente Funktionen: Funktionen, die nicht algebraisch sind. ▲ Sie sind oft durch unendliche Potenzreihen darstellbar. ■ Die Exponentialfunktion f (x) = ex und der Logarithmus f (x) = ln(x) sowie alle hyperbolischen und trigonometrischen Funktionen sind transzendent. Nichtrationale Funktionen: Funktionen, die nicht rational sind. ▲ Alle transzendenten Funktionen sind nichtrationale Funktionen, jedoch nicht alle nichtrationalen Funktionen sind transzendent. ■ Potenzfunktionen mit gebrochenem Exponenten sind nichtrational, aber nicht transzendent, sondern algebraisch.
21.2
Grenzwert und Stetigkeit
Grenzwert einer Funktion: Die Funktion f ist in einer Umgebung der Stelle x0 – mit möglicher Ausnahme der Stelle x0 – definiert. Zu jeder Zahl ε > 0 existiert ein δ > 0, sodass für alle x mit |x − x0 | < δ gilt | f (x) − g| < ε . Dann heißt g Grenzwert von f im Punkt x0 . lim f (x) = g.
x→x0
■ Die Funktion f (x) = e−1/x hat im Punkt x = 0 den Grenzwert lim f (x) = 0. 2
x→0
Rechts- und linksseitiger Grenzwert: Betrachtet man nur Werte x > x0 (x < x0 ), so nähert man sich dem Wert x0 von rechts (links). Für den Grenzwert schreibt man oft lim f (x) = linksseitiger Grenzwert
x→x0 −
lim f (x) = rechtsseitiger Grenzwert.
x→x0 +
640
21 Funktionen einer reellen Variablen
■ Die Funktion f (x) = e−1/x hat im Punkt x = 0 rechtsseitig den Grenzwert Null und ist linksseitig divergent (siehe Abschnitt 21.13.2). Ist der rechtsseitige Grenzwert gleich dem linksseitigen Grenzwert, dann gilt für den Grenzwert der Funktion an der Stelle x0 : lim f (x) = lim f (x) = lim f (x).
x→x0 −
x→x0 +
x→x0
Stetigkeit, eine Funktion f heißt stetig an der Stelle x = a, wenn f in einer Umgebung von a definiert ist und jeder Funktionswert f (a) Grenzwert der Funktion in a ist. lim f (x) = f (a) . x→a
● Epsilon-Delta-Kriterium: f ist stetig in x0 , wenn gilt: Zu jeder Zahl ε > 0 existiert ein δ > 0 sodass für alle x mit |x − x0 | < δ gilt | f (x) − f (x0 )| < ε . ■ Die Betragsfunktion f (x) = |x| ist überall stetig. −1 x < 0 Die Vorzeichenfunktion f (x) = sgn(x) = 0x=0 1x>0 ist im Punkt x = 0 nicht stetig. Rechts- oder linksseitige Stetigkeit: Ist der Funktionswert f (x0 ) an der Stelle x0 ein rechtsseitiger (linksseitiger) Grenzwert, die Funktion aber in x0 nicht stetig, so ist die Funktion dort rechtsseitig (linksseitig) stetig. ■ Die Funktion f (x) = e−1/x ist im Punkt x = 0 rechtsseitig stetig. Stetigkeit in einem Intervall: Eine Funktion f heißt stetig in einem offenen Intervall ]a,b[, wenn f in jedem Punkt in ]a,b[ stetig ist. Eine Funktion f heißt stetig in einem abgeschlossenen Intervall [a,b], wenn f im offenen Intervall ]a,b[ stetig ist, rechtsseitig stetig in a und linksseitig stetig in b ist. Zwischenwertsatz: Wenn die reelle Funktion f (x) in einem abgeschlossenen Intervall [a,b] definiert und stetig ist und die Zahl c zwischen den Funktionswerten in a und b liegt, dann existiert in [a,b] ein Punkt x0 mit f (x0 ) = c. f (a) = A, f (b) = B, A = B, A < c < B oder A > c > B, f (x0 ) = c mit a < x0 < b. Satz von Bolzano: Wenn eine Funktion f (x) in einem abgeschlossenen Intervall [a,b] definiert und stetig ist und die Funktionswerte an den Intervallendpunkten f (a) und f (b) unterschiedliche Vorzeichen besitzen, dann gibt es mindestens einen Wert x0 in (a,b) für den f (x) Null wird. f (x0 ) = 0 mit a < x0 < b. Rechnen mit Grenzwerten: Alle Regeln für das Rechnen mit Grenzwerten bei Folgen gelten auch hier: lim( f (x) ± g(x)) = lim f (x) ± lim g(x), x→a
x→a
x→a
lim( f (x) · g(x)) = lim f (x) · lim g(x), x→a
x→a
x→a
f (x) limx→a f (x) = falls lim g(x) = 0. x→a g(x) limx→a g(x) Ist ferner g(x) eine stetige Funktion, so gilt lim g( f (x)) = g lim f (x) . lim x→a
x→a
x→a
21.3 Differenzierbarkeit
641
▲ Diese Grenzwertsätze gelten nur, wenn die angegebenen Grenzwerte auch existieren. ■ Es gilt
Regel von de L’Hospital: Gilt lim f (x) = lim g(x) = 0 x→a
x→a
oder
lim | f (x)| = lim |g(x)| = ∞, x→a
x→a
so lässt sich der Grenzwert des Quotienten der Funktionen (sofern er existiert) als Grenzwert der Quotienten der ersten Ableitungen schreiben. f (x) f (x) = lim . x→a g(x) x→a g (x) ■ Es gilt lim
sin x cos x = lim = 1. x→0 x x→0 1 ▲ Gilt auch für die erste Ableitung lim
lim f (x) = lim g (x) = 0 x→a
x→a
oder lim | f (x)| = lim |g (x)| = ∞, x→a
x→a
so muss die zweite Ableitung gebildet werden, usw.
21.3
Differenzierbarkeit
Ableitung einer Funktion im Punkt x, gibt die Steigung der Funktionskurve in diesem Punkt an. Sie ist als Steigung der Tangente an die Kurve im Punkt x definiert.
f(x)
s P t
Differenzenquotient, ∆y ∆ f (x) y − y0 f (x) − f (x0 ) = = = ∆x ∆x x − x0 x − x0 beschreibt die Steigung der Sekante (in Zweipunkteform) durch die Punkte P(x,y) und P0 (x0 ,y0 ).
y0
P0
α ∆x= d x
dy
∆y
x0
x
s: Sekante; t: Tangente
Ableitung der Funktion f (x) an der Stelle x0 ist gleich der Steigung der Tangente im Punkt P0 durch den Grenzübergang P → P0 : lim
x→x0
∆ f (x) f (x) − f (x0 ) = lim = f (x0 ), x→x0 ∆x x − x0
falls der Grenzwert existiert und eindeutig ist. Ableitung einer Funktion entspricht dem Anstieg ihres Graphen im Punkt x0 .
642
21 Funktionen einer reellen Variablen
Der Differenzialquotient entspricht dem Grenzwert des Differenzenquotienten. dy f (x + ∆x) − f (x) ∆y = lim = . f (x) = lim ∆x→0 ∆x→0 ∆x ∆x dx Bedeutung: Die Steigung der Tangente (Differenzialquotient) entspricht dem Grenzwert der Sekantensteigung (Differenzenquotient). ■ Ist die Funktion f (x) eine Gerade (Polynom 1. Grades), so ist der Differenzenquotient gleich dem Differenzialquotienten. Die Ableitung f (x) ist gleich der Steigung der Geraden m = tan α . ▲ Näherung der Tangente durch die Sekante ist Grundlage der numerischen Differenziation und exakt für lineare Funktionen. Schreibweisen für die Ableitung an der Stelle x0 :
dy
d y (x0 ) = f (x0 ) = = f (x)
.
dx dx x0
x0
Ableitungen nach der Zeit t werden häufig durch einen Punkt anstelle des Striches gekennzeichnet: dx x˙ = . dt ▲ Die Ableitung ist punktweise definiert. Der Wert der Ableitung hängt von der Stelle ab, an der man ableitet. Somit stellt die Ableitung wieder eine Funktion dar. ■ Die Ableitung der Kostenfunktion 9 1 K = K(x) = x3 − x2 + 10x + 10 , x ≥ 0 25 10 ist 3 9 K (x) = x2 − x + 10 , x ≥ 0 . 25 5 Sie wird als Grenzkostenfunktion oder einfach als Grenzkosten bezeichnet. ▲ In den Wirtschaftswissenschaften bezeichnet man allgemein die ersten Ableitungen ökonomischer
Funktionen mit dem Zusatz „Grenz-. . .“, z. B. Grenzerlös, Grenzgewinn. Differenzial einer Funktion, definiert durch dy = f (x0 ) dx. Dabei ist dx das Differenzial der unabhängigen Veränderlichen, dx = ∆x. Das Differenzial dy ist die Änderung der Ordinate der Kurventangente im Punkt P0 zwischen x0 und x0 + dx. Anwendung: bei hinreichend kleiner Schrittweite kann die Änderung der Funktion abgeschätzt werden durch ∆y ≈ f (x0 )∆x = dy. ▲ Grundlage für die numerische Integration von Differenzialgleichungen auf dem Rechner. ● Stimmen linksseitige Ableitung f (x) − f (x0 ) f (x0 − h) − f (x0 ) lim = lim x→x0 −0 h→+0 x − x0 −h und rechtsseitige Ableitung f (x) − f (x0 ) f (x0 + h) − f (x0 ) lim = lim x→x0 +0 h→+0 x − x0 h überein, so ist die Funktion an der Stelle x0 differenzierbar.
21.3 Differenzierbarkeit
643
● Notwendige – aber nicht hinreichende – Bedingung für Differenzierbarkeit einer Funktion ist ihre Stetigkeit an dieser Stelle. ▲ Differenzierbare Funktionen sind anschaulich „glatte“ Kurven. Eine Funktion ist in einem Punkt nicht differenzierbar, wenn sie dort unstetig ist. Weist die Kurve einen Knick auf, dann existieren nur die linksseitige und rechtsseitige Ableitung, d. h. die Steigung der Tangente ändert sich an der Knickstelle sprunghaft. y
y
y=|x|
y= sgn( x )
y y= x
0 0
x
0
x
x
Nicht differenzierbare Funktionen in x = 0: links Wurzel-, Mitte Betrags-, rechts Signum-Funktion ■ Betragsfunktion, y = |x| ist im Punkt x0 = 0 nicht differenzierbar, da links- und rechtsseitige Ableitung unterschiedlich sind (−1 √ bzw. +1). Sie ist jedoch an dieser Stelle stetig! Wurzelfunktion, y = x ist im Punkt x0 = 0 nicht differenzierbar, da die Steigung nicht endlich ist (die Tangente verläuft senkrecht zur x-Achse). ● Ist f (x) in jedem Punkt des Definitionsbereiches D differenzierbar, so heißt sie differenzierbar. ■ Differenzierbare Funktionen sind: axn , sin x, cos x, ex , ln x und alle algebraischen Ausdrücke davon. Die Funktion f heißt Ableitungsfunktion von f (x). Der Definitionsbereich D von f ist gleich dem von f (x), falls f (x) in ganz D differenzierbar ist.
21.3.1
Differenziationsregeln
● Konstantenregel: c = 0. Die Ableitung einer Konstanten ist gleich Null. ● Faktorregel: (c · f (x)) = c · f (x). Ein konstanter Faktor bleibt beim Differenzieren erhalten. √ √ √ ■ ( 3 · x2 ) = 3(x2 ) = 3 · 2x. ● Potenzregel: Beim Ableiten einer Potenzfunktion wird der Exponent um Eins erniedrigt, und der alte Exponent erscheint als Faktor: d n x = n · xn−1 , (n ∈ R). dx Für eine beliebige differenzierbare Funktion gilt: d ( f (x))n = n · ( f (x))n−1 · f (x), (n ∈ R). dx ■ (x3 + 2)2 = 2 · (x3 + 2) · 3x2 . √ 1 1 ■ Ableitung der Wurzelfunktion: ( x) = (x1/2 ) = x−1/2 = √ . 2 2 x ● Summenregel: ( f (x) ± g(x)) = f (x) ± g (x). Die Ableitung einer Summe (Differenz) ist gleich der Summe (Differenz) der Ableitungen.
644
21 Funktionen einer reellen Variablen
● Produktregel, für zwei Funktionen: ( f (x) · g(x)) = f (x) · g (x) + f (x) · g(x), für drei Funktionen: ( f gh) = f gh + f g h + f gh. ■ (x2 sin x) = 2x sin x + x2 cos x. ● Quotientenregel: f g f − f g 1 −g = , = g g2 g g2 ▲ Quotientenregel auch als Produktregel mit negativem Exponenten schreibbar 1 = (g−1 ) = −g−2 · g g ■ f (x) = 2x + a, g(x) = 3x2 + b f (x) (3x2 + b) · 2 − (2x + a) · 6x = g(x) (3x2 + b)2 ▲ Gebrochene Funktionen sind in x0 nur differenzierbar, wenn g(x0 ) = 0 ist! ▲ Vorzeichenfehler durch Vertauschen der Funktionen werden vermieden, wenn immer zuerst die Funktion g(x) im Nenner in den Zähler der Ableitung geschreiben wird. ● Kettenregel: Ist die zusammengesetzte Funktion h(x) = (g ◦ f )(x) = g( f (x)) in einer Umgebung der Stelle x0 definiert und sind die Funktionen f und g differenzierbar in x0 bzw. in y0 = f (x0 ), dann ist auch die verkettet Funktion h(x) in x0 differenzierbar und es gilt die Kettenregel h (x0 ) = dg (y ) dy 0
dg df ( f (x0 )) · (x0 ) dy dx
heißt äußere Ableitung, h(x) = (2x2 − 3x + 1)5
■
df (x ) dx 0
innere Ableitung.
x !→ y = f (x) = 2x2 − 3x + 1 , y !→ g(y) = y5
Damit ergibt sich nach der Kettenregel h (x) = 5 · (2x2 − 3x + 1)4 · (4x − 3) ▲ Die Kettenregel lässt sich auf mehrfach verschachtelte Funktionen anwenden, indem man schritt-
weise von innen nach außen ableitet. h(x) = (sin(3x2 + 1))5
■
x !→ y = f (x) = 3x2 + 1 y !→ z = g(y) = sin y z !→ z5
h (x) = 5(sin(3x2 + 1))4 · cos(3x2 + 1) · 6x ● Logarithmische Ableitung, Ableitung des Logarithmus ln y einer differenzierbaren Funktion y mit y(x) > 0, (ln y) =
y . y
Funktionen vom Typ y = h(x)g(x) werden nach folgender Regel abgeleitet: Erst logarithmieren, y = h(x)g(x)
→
ln y = g(x) · ln h(x),
21.3 Differenzierbarkeit dann differenzieren und dann nach y auflösen: y d ln y h h = = g ln h + g → y = y · g ln h + g . dx y h h y 1 = 1 · ln x + x · , y = xx (ln x + 1) y x cos x ■ y = (sin x) , sin x > 0 → ln y = cos x · ln(sin x), 1 y = − sin x · ln(sin x) + cos x cos x · , y sin x 2 cos x − sin x · ln(sin x) y = (sin x)cos x sin x ■ y = xx ,
ln y = x ln x,
● Ableitung der Umkehrfunktion U von f (x) für y = f (x) und x = U(y): dy 1 = , dx dx/ dy ■ f (x) = arcsin x, U(y) = sin y: f (x) =
1
U (y)
(arcsin x) =
U =
,
dx = 0. dy
1 1 1 1 = = =√ . (sin y) cos y 1 − x2 1 − (sin y)2
■ x − y + y5 = 0: Diese Funktion kann nicht einfach nach y aufgelöst werden, wohl aber nach x. x = U(y), U (y) = (y − y5 ) = 1 − 5y4 , f (x) = 1/(1 − 5y4 ). Die Ableitung kann somit für einen gegebenen Punkt (x,y) berechnet werden, ohne die Funktion y = f (x) explizit zu kennen.
21.3.2
Ableitungen elementarer Funktionen Funktion
Ableitung
Funktion
Ableitung
Funktion
c
0
( f (x))2
2 f (x) f (x)
√ 3 x
( f (x))n
n f (x)n−1 f (x)
√ n x
1 x2 a − (ax + b)2 2 − 3 x 3 − 4 x n − n+1 x 1 √ 2 x 1 √ 3 3 · x2 1 √ n n−1 n· x
√ ax + b
nxn−1
1 x 1 ax + b 1 x2 1 x3 1 xn √ x
x
1
ax + b
a
x2
2x
x3
3x2
xn
−
Ableitung
a √ 2 ax + b √ ax ax2 + b √ ax2 + b √ x r2 − x2 − √ r2 − x2 ex
▲ Man beachte die verschiedenen Definitionsbereiche der Funktionen.
21.3.4
Mittelwertsätze f(x)
f(x)
Knick
f(b) f '(c)=0
Sprung
f(x)
f(a) f '≠0
a
b
x
Satz von Rolle
a c
b x
Mittelwertsatz
a
b
x
Gegenbeispiel
● Satz von Rolle: Wenn eine Funktion y = f (x) 1) im offenen Intervall (a,b) differenzierbar, 2) im abgeschlossenen Intervall [a,b] stetig und wenn 3) f (a) = f (b) ist, dann existiert mindestens ein c zwischen a und b, sodass f (c) = 0,
c ∈ (a,b).
■ Zwischen zwei Nullstellen einer differenzierbaren Funktion liegt mindestens ein Extremum, außer bei der konstanten Funktion y = 0. ▲ Bei Sprungstellen oder Knicken in (a,b) gilt der Satz von Rolle nicht, da die Differenzierbarkeitsvoraussetzung verletzt ist. ▲ Die Funktion muss in den Randpunkten a und b stetig sein. ▲ Die Funktion kann bei a und b noch weitere, absolute Extrema besitzen. ● Mittelwertsatz der Differenzialrechnung (Satz von Lagrange): Wenn eine Funktion y = f (x) 1) in (a,b) differenzierbar, 2) in [a,b] stetig ist, dann existiert mindestens ein c zwischen a und b, sodass f (b) − f (a) = f (c), c ∈ (a,b). b−a ▲ Geometrische Deutung: Im Intervall (a,b) existiert ein Punkt x0 , in dem die Steigung der Tangente gleich der Steigung der Sekante durch f (a) und f (b) ist. Dies ist die mittlere Steigung.
21.3 Differenzierbarkeit
647
▲ Die Bezeichnung Mittelwertsatz ist irreführend, es müsste besser „Zwischenwertsatz“ heißen, da c nur zwischen a und b liegt und nicht in der Mitte des Intervalles. Für f (a) = f (b) folgt aus dem Mittelwertsatz der Satz von Rolle. Folgerungen aus dem Mittelwertsatz: ● Ist eine Funktion f (x) in einem Intervall I differenzierbar und f (x) = 0 für alle Punkte des Intervalles I, so ist die Funktion im Intervall I konstant: f (x) = 0
für alle x ∈ I
→
f (x) = c.
Diese Betrachtungen gelten in einem Intervall I. ● Sind zwei Funktionen f (x) und g(x) im Intervall I differenzierbar und stimmen ihre Ableitungen überein, so unterscheiden sie sich höchstens um eine additive Konstante: f (x) = g (x)
→
f (x) = g(x) + c, x ∈ I.
● Abschnittsweise Monotonie: Ist die Funktion f auf einem Intervall [a,b] stetig und im Inneren dieses Intervalls differenzierbar, so ist f genau dann i. monoton steigend in [a,b], wenn f (x) ≥ 0 für alle x ∈]a,b[ ii. monoton fallend in [a,b], wenn f (x) ≤ 0 für alle x ∈]a,b[. Verschwindet dann die Ableitung f (x) nur in isolierten Punkten des Intervalls [a,b], d. h. ∃ I ⊆ [a,b]| f (x) = 0 für alle x ∈ I, so ist das monotone Steigen bzw. Fallen im strengen Sinne zu verstehen. ▲ Gelten die strengen Ungleichungen f (x) > 0 bzw. f (x) < 0 für alle x ∈]a,b[, so ist die Funktion in [a,b] streng monoton steigend bzw. streng monoton fallend. Die Umkehrung dieses Schlusses ist aber nicht mehr gültig, wie das Gegenbeispiel der Funktion f (x) = x3 zeigt, die streng monoton steigend in R ist, für die aber gilt f (0) = 0. ■ Die Funktion f (x) = (x − 5)3 + 2(x − 1) − 8 ist, da f (x) = 3(x − 5)2 + 2 > 0 für alle x ∈ R, monoton steigend in R.
21.3.5
Höhere Ableitungen
Höhere Ableitung f (n) , mehrfache Anwendung der Differenziation. Zweite Ableitung, gibt die Änderung der Steigung in einem Punkt wieder, den Krümmungssinn einer Funktion. Schreibweisen für die zweite Ableitung: f (x) = ( f (x)) =
d d2 d 2y f (x) = f (x) = . dx dx2 dx2
■ 1) (sin x) = cos x, (sin x) = (cos x) = − sin x, 2) y = x3 , y = 3x2 , y = 6x. n-te Ableitung, Definition, Schreibweise d (n−1) dn d ny f (x), f (1) (x) = f (x); f (n) (x) = f (x) = . dx dxn dxn ● n-te Ableitung eines Produktes (Leibniz-Regel): n n (n−k) (n) ( f (x) · g(x)) = ∑ f (x) · g(k) (x). k k=0 f (n) (x) =
648
21 Funktionen einer reellen Variablen
n = 2 explizit: ( f g) = f g + 2 f g + f g . ■ (x2 sin x) = 2 sin x + 2 · 2x cos x + x2 · (− sin x). n = 3 explizit: ( f g) = f g + 3 f g + 3 f g + f g . Differenzial zweiter Ordnung, d 2 y = d( dy) = f (x) dx2 . Differenzial dritter Ordnung, d 3 y = d( d 2 y) = f (x) dx3 . Differenzial n-ter Ordnung, d n y = d( d n−1 y) = f (n) (x) dxn . ● Krümmung einer Kurve: Für eine in einem Intervall I mindestens zweimal differenzierbare Funktion f ist die Eigenschaft f (x) ≥ 0 für alle x ∈ I hinreichend dafür, dass f konvex in I ist. Für eine in einem Intervall I mindestens zweimal differenzierbare Funktion f ist die Eigenschaft f (x) ≤ 0 für alle x ∈ I hinreichend dafür, dass f konkav in I ist. Gelten sogar die strengen Ungleichungen f (x) > 0 bzw. f (x) < 0, so ist Konvexität bzw. Konkavität im strengen Sinne zu verstehen.
21.4
Kurvendiskussion
21.4.1
Definitionsbereich
Der Definitionsbereich D von x, ist die Menge reeller Zahlen, für die der Ausdruck f (x) sinnvoll ist. Die Beschränkung kann sowohl aus mathematischen Gründen als auch anwendungsbedingt erfolgen. ■ 1) Für ganzrationale Funktionen ist D = R. 2) Für gebrochene Funktionen sind die Nullstellen des Nenners auszuschließen. 3) Für Wurzelfunktionen sind die Bereiche mit negativen Werten unter der Wurzel auszuschließen. √ ■ y = 1/ x − 1, D = R\{x|x ≤ 1}. ■ Sei K(x) = 2x + 6 die Kostenfunktion eines Unternehmens, dann ist D = [0,m], wenn m der maximale Output ist. Als lineares Polynom wäre K(x) mathematisch für alle reellen Zahlen definiert.
21.4.2
Symmetrie
● Spiegelsymmetrie: Eine Funktion f : D → R,D ⊆ R heißt spiegelsymmetrisch um a, wenn gilt f (a − z) = f (a + z)
für alle z mit (a ± z) ∈ D .
▲ Der Graph einer um a spiegelsymmetrischen Funktion y = f (x) lässt sich dann an der Parallelen zur y-Achse mit der Gleichung x = a „spiegeln“.
21.4 Kurvendiskussion
649
● Gerade Funktionen, Funktionen, die sich an der y-Achse selbst spiegeln, also spiegelsymmetrisch zu Null sind: f (x) = f (−x) für alle x ∈ D . ▲ Der Name gerade Funktion rührt daher, dass Polynome, in denen die unabhängige Variable nur mit geraden Exponenten vorkommt, in D = R stets spiegelsymmetrisch um a = 0 sind. Dabei darf eine gerade Funktion ein absolutes Glied a0 aufweisen. ■ y = f (x) = −(x − 3)2 + 4 ist für D = R spiegelsymmetrisch um a = 3. ■ y = g(x) = |x − 2| − 1 ist in D = R spiegelsymmetrisch um a = 2. ■ y = g(x) = x2 ist eine gerade Funktion in R. ● Punktsymmetrie: eine Funktion f : D → R,D ⊆ R heißt punktsymmetrisch zum Punkt (a,b), wenn gilt f (a + z) − b = b − f (a − z)
für alle z mit (a ± z) ∈ D .
● Ungerade Funktion, eine Funktion f , die punktsymmetrisch (drehsymmetrisch) zum Ursprung ist: f (−x) = − f (x) für alle x ∈ D . ■ f (x) = x3 ist eine ungerade Funktion. Symmetriebestimmung von zusammengesetzten Funktionen (g: gerade, u: ungerade Funktion): f (x) g(x) g g g u u g u u
f (x) ± g(x) g – – u
f (x) · g(x) g u u g
f (x)/g(x) g u u g
f (x)g(x) g – u –
▲ Funktionen, die weder gerade noch ungerade sind, lassen sich aus einem geraden und einem ungeraden Anteil zusammensetzen. 3x2 + 4 ist eine ungerade Funktion. ■ h(x) = 5 x − 3x2 + 5x f(x)
x
a)
a) gerade Funktion
21.4.3
f(x)
f(x)
x
b)
b) ungerade Funktion
1
x
c)
c) Punktsymmetrie bei x = 1
Verhalten im Unendlichen
Der Grenzwert einer Funktion für x → +∞ und x → −∞ wird untersucht, wobei der Definitionsbereich nach der einen Seite oder beiden Seiten hin unbeschränkt ist. Gegebenenfalls kann die Regel von de l’Hospital angewendet werden. Ganzrationale Funktion, Verhalten im Unendlichen ist vom Term mit dem höchsten Exponenten bestimmt. Vorzeichen des Grenzwertes für x → +∞ entspricht dem Vorzeichen des höchsten Terms.
650
21 Funktionen einer reellen Variablen
Exponent gerade (ungerade): Der Grenzwert für x → −∞ hat das gleiche (das entgegengesetzte) Vorzeichen. Gebrochen rationale Funktion, Quotient aus ganzrationalen Funktionen mit dem Polynomgrad m im Nenner und n im Zähler. Das Verhalten im Unendlichen ist durch den Term mit dem höchsten Exponenten bestimmt. Steht dieser Term im Zähler, ist die Diskussion wie bei ganzrationalen Funktionen. Steht der Term im Nenner, geht die Funktion für große x-Werte gegen Null. Im Fall von ganzrationalen Funktionen gleichen Grades läuft die gesamte Funktion gegen einen konstanten Wert (parallel zur x-Achse), der gleich dem Quotienten der beiden Vorfaktoren der höchsten Terme ist. ▲ Man zerlege die gebrochen rationale Funktion in eine echt gebrochene und in eine ganzrationale Funktion, die Grenzkurve oder Asymptote. Für große x-Werte nähert sich die Funktion der Grenzkurve. ■ y=
4x − 7 x3 − 2x2 + 1 =x−2+ 2 . Grenzkurve ist die Gerade y = x − 2. 2 x −4 x −4 f(x)
f(x)
( n=m )
( n>m )
x
x a)
b)
Asymptoten bei gebrochen rationalen Funktionen a) Gerade b) Konstante
21.4.4
Definitionslücken und Unstetigkeitsstellen
Sprünge treten auf bei abschnittsweise definierten Funktionen und an einzelnen Punkten, an denen die Funktion nicht definiert ist. ● Linksseitiger und rechtsseitiger Grenzwert sind bei einem Sprung der Funktion an der Sprungstelle verschieden. lim f (x) = lim f (x).
x→c+
x→c−
● Polstelle, einer der beiden Grenzwerte ist unendlich: lim f (x) = ∞.
x→c±
cos x , f (0) = lim f (x) = ∞ (Polstelle bei x = 0, f (0) ist also nicht definiert). x→0± x ▲ Gebrochen rationale Funktionen besitzen an den Nullstellen ihres Nennerterms Polstellen, wenn der Zählerterm an dieser Stelle ungleich Null ist.
■ f (x) =
f (x) → Polstellen bei x0 mit g(x0 ) = 0, falls f (x0 ) = 0. g(x) ● Definitionslücken können behoben werden, wenn links- und rechtsseitiger Grenzwert gleich und endlich sind. Hebbare Lücke:
lim f (x) = lim f (x).
x→c+
x→c−
21.4 Kurvendiskussion ■ f (x) =
sin x , x
f (0) = lim f (x) = 1, (siehe Regel von de l’Hospital) x→0±
f(x)
f(x)
f(x)
x
a)
x
b)
a) Sprung
21.4.5
651
x
c)
b) hebbare Lücke
c) Polstellen
Nullstellen
● Die Nullstellen sind Lösung der Gleichung f (x) = 0. ▲ Eine Funktion muss an einer Nullstelle nicht unbedingt das Vorzeichen wechseln. ▲ Numerische Nullstellensuchverfahren zur Lösung von Gleichungen suchen meist nach einem Vorzeichenwechsel. ■ y = (x − 1)2 besitzt bei x = 1 eine Nullstelle, die Funktionswerte sind jedoch niemals negativ.
21.4.6 ● – – – –
Steigungsverlauf, Extrema
Gilt für beliebige Werte x1 ,x2 eines Intervalls I ⊆ D mit x1 < x2 stets f (x1 ) ≤ f (x2 ), so heißt f monoton steigend (nichtfallend) in I; f (x1 ) < f (x2 ), so heißt f streng monoton steigend in I; f (x1 ) ≥ f (x2 ), so heißt f monoton fallend (nichtsteigend) in I; f (x1 ) > f (x2 ), so heißt f streng monoton steigend in I;
▲ Monotonie lässt sich einfach über die Ableitung prüfen: ● Ist die Funktion f auf einem Intervall [a,b] stetig und im Inneren dieses Intervalles differenzierbar, so ist f genau dann 1. monoton steigend in [a,b], wenn f (x) ≥ 0 für alle x ∈]a,b[ 2. monoton fallend in [a,b], wenn f (x) ≤ 0 für alle x ∈]a,b[. Verschwindet die Ableitung f (x) nur in isolierten Punkten des Intervalls [a,b], d. h. es existiert kein I ⊆ [a,b] mit f (x) = 0 für ale x ∈ I, so steigt bzw. fällt f streng monoton. ▲ Gelten die strengen Ungleichungen f (x) > 0 bzw. f (x) < 0 für alle x ∈]a,b[, so ist die Funktion in [a,b] streng monoton steigend bzw. streng monoton fallend. Die Umkehrung des Schlusses ist aber nicht mehr gültig! ■ Gegenbeispiel: f (x) = x3 ist streng monoton steigend in R, jedoch gilt f (0) = 0.
■ f (x) = (x − 5)3 + 2(x − 1) − 8 ist streng monoton steigend in R, da f (x) = 3(x − 5)2 + 2 > 0 für alle x ∈ R. ● Die Funktion f (x) besitzt an der Stelle xm ein relatives Extremum, falls es eine Umgebung U von xm gibt, in der alle Funktionswerte kleiner oder alle Funktionswerte größer als f (xm ) sind: Relatives Maximum:
f (x) ≤ f (xm ) x ∈ U,
Relatives Minimum:
f (x) ≥ f (xm ) x ∈ U.
652
21 Funktionen einer reellen Variablen
● Bei differenzierbaren Funktionen liegt zwischen zwei verschiedenartigen Monotoniebögen ein relatives Extremum. ● Bei einem Extremum ändert sich das Vorzeichen der Steigung. x < xm f (x) > 0 f (x) < 0
x > xm Extremum f (x) < 0 Maximum f (x) > 0 Minimum
▲ Ausnahme: Intervalle auf denen die Funktion konstant ist: Die konstante Funktion f (x) = c hat überall ein Extremum. ▲ Die Regel über den Vorzeichenwechsel von f (x) gilt auch dann, wenn die Funktion an der Stelle xm nicht differenzierbar ist, aber in der Umgebung. ● Ist x0 eine Extremumstelle im Inneren des Definitionsbereichs einer differenzierbaren Funktion f , so muss gelten (notwendige Bedingung): f (x0 ) = 0, sonst wäre f (x) bei x = x0 nicht differenzierbar. An einem solchen Extremum verläuft die Tangente parallel zur x-Achse. ▲ Ist die 1. Ableitung gleich Null, so kann auch ein Sattelpunkt S vorliegen. ■ f (x) = x3 , f (x) = 3x2 , f (0) = 0, aber kein Extremum, sondern ein Sattelpunkt bei x = 0. Hinreichende Bedingung für ein relatives Extremum: Ist eine Funktion f an einer Stelle x0 zweimal stetig differenzierbar, so ist hinreichend für ein • Relatives Minimum in x0 , dass f (x0 ) = 0 und f (x0 ) > 0 • Relatives Maximum in x0 , dass f (x0 ) = 0 und f (x0 ) < 0. Ist f (x0 ) = 0, so bilde man die Ableitungen höherer Ordnung an der Stelle x0 solange, bis f (n) (x0 ) = 0 ist. Es gelten dann die folgenden Regeln: • Ist n gerade und f (n) (x0 ) > 0, so hat f in x0 ein relatives Minimum. • Ist n gerade und f (n) (x0 ) < 0, so hat f in x0 ein relatives Maximum. • Ist n ungerade, so hat f in x0 kein relatives Extremum! Es liegt ein Sattelpunkt vor. • Existiert keine Ableitung, für die f (n) (x0 ) = 0, so hat f in x0 kein relatives Minimum. ■ f (x) = x3 hat daher kein relatives Extremum an der kritischen Stelle x = 0. Dagegen hat g(x) = x4 in x = 0 ein relatives Minimum. Satz von Weierstraß: Wenn eine Funktion f (x) in einem abgeschlossenen Intervall [a,b] definiert und stetig ist, dann besitzt f (x) dort ein absolutes Maximum Mmax und ein absolutes Minimum Mmin , d. h. es existieren in diesem Intervall mindestens ein Punkt x0 und mindestens ein Punkt x0 , sodass für alle x mit a ≤ x ≤ b gilt: Mmin = f (x0 ) ≤ f (x) ≤ f (x0 ) = Mmax . ▲ Extrema können auch in den Randpunkten des Definitionsbereichs angenommen werden. ■ f (x) = x2 auf [1,2] nimmt sein Maximum bei x = 2, sein Minimum bei x = 1 an, ohne dass die Ableitung dort verschwindet. ▲ Extrema sowie Steigungsverhalten der Funktion können aus einer Vorzeichenskizze der Ableitung bestimmt werden, siehe dazu das Variationsdiagramm.
● Eine Funktion f : D → R heißt konvex (bzw. konkav) in einem Intervall I,I ⊆ D, wenn für je zwei beliebige Werte x1 ,x2 ∈ I und jede reelle Zahl λ ∈ [0,1] gilt: f (λ x2 + (1 − λ ) x1 ) ≤ λ f (x2 ) + (1 − λ ) f (x1 ) konvex bzw. f (λ x2 + (1 − λ ) x1 ) ≥ λ f (x2 ) + (1 − λ ) f (x1 ) konkav Gilt für alle λ ∈]0,1[ das „<“-Zeichen (bzw. das „>“-Zeichen), dann heißt f streng konvex (bzw. streng konkav) in I.
▲ Die Überprüfung der Krümmung einer Funktion auf der Basis dieser Definitionsungleichungen ist selbst bei einfachen Funktionen sehr mühsam. Einfacher sind die folgenden Regeln: • Für eine in einem Intervall I mindestens zweimal differenzierbare Funktion f ist die Eigenschaft f (x) ≥ 0 für alle x ∈ I hinreichend dafür, dass f konvex in f ist. • Für eine in einem Intervall I mindestens zweimal differenzierbare Funktion f ist die Eigenschaft f (x) ≤ 0 für alle x ∈ I hinreichend dafür, dass f konkav in f ist. ▲ Gelten sogar die strengen Ungleichungen f (x) > 0 bzw. f (x) < 0, so ist Konvexität bzw. Konkavität im strengen Sinne zu verstehen. y
( f ''> 0) P2
P1 ( f ''< 0)
x
Krümmung
654
21 Funktionen einer reellen Variablen
▲ Merkregel: Bei einer differenzierbaren Funktion ist die Kurve bei einem relativen Maximum stets konkav und bei einem relativen Minimum stets konvex, ● Eine mindestens einmal differenzierbare Funktion f besitzt in xW einen Wendepunkt, wenn f (xW ) ein relatives Extremum hat. ● Dies ist äquivalent zu der Aussage, dass f in xW das Vorzeichen und damit f die Krümmung wechselt. ● Ist die Funktion f in xW zweimal differenzierbar, so ist notwendig für einen Wendepunkt in xW , dass f (xW ) = 0. ■ f (x) = x4 , f (x) = 12x2 , f (0) = 0, aber die Funktion besitzt keinen Wendepunkt, sondern ein Minimum bei x = 0. ● Hinreichende Bedingung für einen Wendepunkt: f (xI ) = 0, und
f (n) (xI ) = 0, n ungerade und
f (k) (xI ) = 0, (2 < k < n).
● Sattelpunkt (auch Stufen- oder Terrassenpunkt), spezieller Wendepunkt mit waagrecht verlaufender Tangente: Sattelpunkt:
f (xS ) = 0,
f (xS ) = 0, und xS
Wendepunkt.
● Eine n-fach differenzierbare Funktion besitzt an einem Punkt x0 mit f (n) (x0 ) = 0,
f (n−1) (x0 ) = f (n−2) (x0 ) = · · · = f (x0 ) = f (x0 ) = 0
folgendes Verhalten: Minimum: n gerade, Maximum: n gerade, Wendepunkt: n ungerade, f(x)
f (n) > 0, f (n) < 0, f (n) = 0. f(x)
f '( x I ) ≠ 0
f '( x S )=0
5
20 PI −2 −2
2 x −20
a)
f f' f ''
2 x
b)
a) Wendepunkt
21.4.8
PS −5
b) Sattelpunkt
Variationsdiagramm
▲ Das Monotonie- und Krümmungsverhalten, die relativen Extrema und die Wendepunkte einer differenzierbaren Funktion sind weitgehend durch ihre erste und ihre zweite Ableitung charakterisiert. Kennt man daher die Nullstellen und das Vorzeichenverhalten einer Funktion f sowie ihrer ersten und zweiten Ableitungen f und f , so kann der Kurvenverlauf hinreichend genau skizziert werden, wenn man noch zusätzlich das Verhalten der Funktion an den Enden der Definitionsmenge untersucht. ■ f (x) = x3 + 2x2 − 5x − 6 Definitionsmenge: D = R, da f als Polynom für alle reellen Zahlen definiert ist. Nullstellen und Vorzeichenverteilung der Funktionen f , f , f :
21.4 Kurvendiskussion
655
a) f (x) = x3 + 2x2 − 5x − 6 = 0 Aus (x3 + 2x2 − 5x − 6)/(x + 1) = x2 + x − 6 folgt: x1 = −1 , x2 = 2 , und x3 = −3 .
b) f (x) = 3x2 +√4x − 5 = 0 ⇔ √ x4 = − 23 + 13 19 ≈ 0,79 oder x5 = − 23 + 13 19 ≈ −2,12. c) f (x) = 6x + 4 = 0 ⇔ x6 = − 23 d) f (x) = 6 > 0 . Die gewonnenen Daten tragen wir in ein Variationsdiagramm ein: x f f f f
▲ Die Vorzeichenfolge bestimmt man in der Reihenfolge f , f , f , f , indem man beachtet, dass f (m) die Steigung von f (m−1) beschreibt, m = 3,2,1. So gibt bspw. f die Steigung der Funktion f an, die in x = − 23 eine Nullstelle hat. Da f und damit die Steigung von f in R positiv ist, nimmt f in ] − ∞, − 23 [ negative und in ] − 23 , + ∞[ positive Funktionswerte an; wie dies in den Vorzeichen der f -Zeile zum Ausdruck kommt. Die Vorzeichen der übrigen Zeilen ergeben sich analog. Aus dem Variationsdiagramm lässt sich ablesen, dass die Funktion f : 1. an der Stelle x6 = − 23 einen Wendepunkt hat, 2. in ] − ∞, − 23 ] konkav und in ] − 23 , + ∞[ konvex ist, √ 3. in x5 = − 23 − 13 19 ein relatives Maximum hat, f (x5 ) ≈ 1,91, √ 4. in x4 = − 23 + 13 19 ein relatives Minimum hat, f (x4 ) ≈ −8,2, √ √ 5. in ] − ∞, − 23 − 13 19] und in [− 23 + 13 19, + ∞[ streng monoton steigend und √ √ 6. in [− 23 − 13 19, − 23 + 13 19] streng monoton fallend ist.
y 10 8 6 4 2 -5
-4
-3
-2
-1
0 -2
1
2
3
-4 -6 -8 -10 Graph der Funktion f (x) = x3 + 2x2 − 5x − 6.
4
5 x
656
21 Funktionen einer reellen Variablen
Tragen wir in das Diagramm noch das Verhalten der Funktion f an den Grenzen des Definitionsbereiches D ein, 6 5 2 3 lim f (x) = lim x 1 + − 2 − 3 = −∞ , x→−∞ x→−∞ x x x 2 5 6 3 lim f (x) = lim x 1 + − 2 − 3 = +∞ , x→+∞ x→+∞ x x x und errechnen wir nach Bedarf noch weitere Punktepaare der Funktion, so können wir ihren Graph gut skizzieren:
21.5
Anwendung in den Wirtschaftswissenschaften
Gewinnmaximum: Der Gewinn G wird definiert als Differenz aus Erlös E und Kosten K, wobei diese Größen Funktionen des Produktionsoutputs x sind: G(x) = E(x) − K(x) für x ≥ 0 . Notwendig für ein Gewinnmaximum an einer Stelle x0 > 0 ist, dass gilt G (x0 ) = E (x0 ) − K (x0 ) = 0 , d. h. der Grenzerlös muss gleich den Grenzkosten sein. Hinreichend für ein relatives Gewinnmaximum an einer Stelle x0 ist, dass neben G (x0 ) = 0 gilt: G (x0 ) = (E (x0 ) − K (x0 )) = E (x0 ) − K (x0 ) < 0 , d. h. der Grenzgewinn muss in einer Umgebung von x0 streng monoton fallen. ● Gewinnmaximum eines Monopolisten: Ein Monopolist kann durch den von ihm geforderten Preis p die Nachfrage und damit seinen Absatz steuern. Die Nachfragefunktion x = x(p) wird daher auch als Preis-Absatz-Funktion bezeichnet. Unterstellt man, dass der Monopolist gerade so viel produziert, wie er zu dem von ihm festgelegten Preis p absetzen kann, so bestimmt sich sein Gewinnmaximum nach den Bedingungen G (x0 ) = E (x0 ) − K (x0 ) = 0 G (x0 ) = (E (x0 ) − K (x0 )) = E (x0 ) − K (x0 ) < 0 Die so bestimmte Menge xc wird Cournot’sche Menge und der zugehörige Preis p = p(xc ) Cournot’scher Preis genannt. Der Punkt C = (xc ,pc ) wird als Cournot’scher Punkt bezeichnet. ■ Beispiel: Bestimmung des Cournot’schen Punktes für y = p(x) = 20 − 2x, y = E(x) = (20 − 2x)x, y = K(x) = x + 30.
Bestimmung des Cournot’schen Punktes
21.5 Anwendung in den Wirtschaftswissenschaften
657
● Gewinnmaximum bei vollständiger Konkurrenz: Kein einzelner Anbieter kann durch sein Angebot den Preis beeinflussen sondern der Preis p ist für ihn vom Markt vorgegeben. Die Erlösfunktion hat dann die Form E(x) = p · x ,
p = konstant .
Hinreichend für ein Gewinnmaximum in x0 bei vollständiger Konkurrenz ist, dass die Grenzkosten gleich dem Marktpreis sind und monoton steigen: K (x0 ) = p
und K (x0 ) = 0 .
■ Beim Marktpreis p = 10 und den Kosten 1 9 K(x) = x3 − x2 + 10x + 10 für x ≥ 0 25 10 ergibt sich die Gewinnfunktion: 1 3 9 2 G(x) = 10x − x − x + 10x + 10 . 25 10 3 9 G (x) = 10 − x2 + x − 10 = 0 25 5 hat die Nullstellen x1 = 0 und x2 = 15. 9 6 G (x) = − x + 25 5 9 Da G (0) = 5 > 0 und G (15) = − 95 < 0 hat G in x2 = 15 ein relatives Maximum. Hier liegt auch das absolute Gewinnmaximum, denn G(15) = 115 ist größer als die Gewinnwerte an den Enden des 2 Definitionsintervalls G(0) = −10 und lim G(x) = −∞. x→+∞
Gewinnbereich im Falle vollständiger Konkurrenz. Angebotsfunktion: Bei vollständiger Konkurrenz ist daher für ein gewinnmaximierendes Unternehmen die herzustellende und anzubietende Menge eine Funktion des Marktpreises. Diese erhält man durch Auflösung der Gleichung K (x) = p nach x, wobei nur die x-Werte zu berücksichtigen sind, die auch der Bedingung K (x0 ) > 0 genügen. $ 3 2 9 15 5 √ ■ K (x) = − 25 x + 5 x − 10 = p ⇔ x(p) = 2 ± 3 p − 134 für p > 134 . Da nur für x > 152 auch die Bedingung K (x0 ) > 0 erfüllt ist, ist die Definitionsmenge der Angebotsfunktion p > 134 .
658
21 Funktionen einer reellen Variablen
15 13 5 Angebotsfunktion x = f (p) = p− +√ 2 4 3 10 1 9 Durchschnittskosten k(x) = x2 − x + 10 + 25 10 x
Minimale Stückkosten. Für ein Unternehmen lohnt sich bei gegebenem Marktpreis p die Produktion dieses Gutes nur, wenn für wenigstens ein Output x der Erlös die Kosten deckt, d. h., es muss hier wenigstens ein x > 0 geben mit: K(x) E(x) − K(x) = p · x − K(x) ≥ 0 ⇔ p ≥ = k(x) . x Gesucht sind somit die minimalen Durchschnittskosten k(x) 9 1 2 10 ■ minx>0 x − x + 10 + . 25 10 x Die einzige positive Nullstelle von 2 45 9 10 k (x) = x − − 2 = 0 ⇔ x3 − x2 − 125 = 0 25 10 x 4 liegt bei x3 ≈ 12,1035. Da außerdem k (x) = 252 + 20 > 0 für alle x > 0, hat die Durchschnittskostenfunktion k in x3 nicht nur x3 ein relatives, sondern auch das ökonomisch relevante absolute Minimum. Da pmin = k(x3 ) ≈ 5,7928 der niedrigste Preis ist, der zu einer Deckung der Gesamtkosten führt ist die Definitionsmenge der Angebotsfunktion zu beschränken auf p ≥ pmin ≈ 5,8. Elastizität: Als Elastizität einer Funktion f (x) bezeichnet man die Funktion x E f (x) = f (x) . f (x) Die Elastizität ist der Grenzwert des Quotienten der relativen Änderungen von abhängiger und unabhängiger Variablen: ∆f ∆f · 100 x ∆ f ∆x→0 x f (x) f (x) = = · −→ · f (x) = E f (x) ∆x ∆x f (x) ∆x f (x) · 100 x x In vielen Anwendungsfällen ist die Elastiziät aussagekräftiger als ein Differenzialquotient. Betrachtet man eine Preisabsatzfunktion x = x(p), so kann statt der Ableitung ∆x x (p) = lim ∆ p→0 ∆ p die Elastizität ∆x x ∆x x(p) E x(p) = lim = · ∆ p→0 ∆ p x(p) ∆ p p
21.6 Steckbrief für Funktionen
659
zur Beschreibung der Absatzänderung benutzt werden. Anstelle der absoluten Änderungen ∆ p und ∆x werden dann die entsprechenden relativen Änderungen ∆pp und ∆x bzw. speziell die prozentualen Änderungen x ∆p ∆x ·100 % und x ·100 % betrachtet. Da sowohl eine Preisänderung von 1 a auf 2 a als auch eine von 1000 a p auf 1001 a dieselbe absolute Änderung ∆ p = 1 ergibt, entsteht leicht ein falsches Bild über die dadurch bedingte Änderung der Nachfrage. Dagegen beträgt die prozentuale Änderung im ersten Fall 100 %, im zweiten Fall nur 0,1 %. Elastizitätsbereiche von Funktionen:
E f (x) = 0 0 < |E f (x)| < 1 |E f (x)| = 1 1 < |E f (x)| < ∞ |E f (x)| = ∞
21.6
vollkommen unelastisch unelastisch Grenze zwischen elastischem und unelastischem Bereich elastisch vollkommen elastisch
Steckbrief für Funktionen
Die folgenden Abschnitte beschreiben die wichtigsten Funktionen. Die Anordnung lehnt sich an das weiter oben angeführte Klassifikationsschema von Funktionen an: • Einfache Funktionen: konstante Funktion und einige wichtige Funktionen, die sich nicht ganz in dieses Schema einordnen lassen, wie z. B. die Betragsfunktion oder die Rundungsfunktion. • Ganzrationale Funktionen: von den einfachsten rationalen Funktionen, wie lineare oder quadratische Funktion, bis zum allgemeinen Polynom. • Gebrochenrationale Funktionen: von einfachen Hyperbeln bis zu den Quotienten von Polynomen. • Nichtrationale algebraische Funktionen: von der Quadratwurzel bis zu Potenzfunktionen mit gebrochenem Exponenten und Wurzeln aus Polynomen. • Spezielle transzendente Funktionen: Logarithmus-, Exponential- und Gauß-Funktionen. • Trigonometrische Funktionen: Winkelfunktionen am Einheitskreis. • Arkusfunktionen: Umkehrfunktionen zu den trigonometrischen Funktionen. Die Funktion wird zunächst durch ihren allgemeinen Funktionsausdruck dargestellt und Erläuterungen zur Anwendung gegeben.
a) Definition ● Funktionen können in expliziter Form oder in impliziter Form definiert werden. Explizite Form, Funktionen werden durch direkte Zuordnung von Werten wie auch durch Verknüpfung anderer Funktionen dargestellt. ■ Definition der Vorzeichenfunktion: −1 x < 0, sgn(x) = 0 x = 0, 1 x > 0. ■ Definition der Betragsfunktion: |x| = x · sgn(x). Implizite Form, eine Verknüpfung von x und y = f (x) wird beschrieben. ■ Kubische Gleichung in x und y: y3 + y + x3 − x = 0. ▲ Implizite Formen sind oft nicht explizit auflösbar. ▲ Es ist auf Mehrdeutigkeiten von y zu achten.
660
21 Funktionen einer reellen Variablen
■ Kegelschnittgleichung erlaubt zu jedem x zwei y-Werte: x2 + y2 + ε x = a. Sonderfall impliziter Definition: Beschreibung einer Funktion als Umkehrfunktion anderer Funktionen. √ ■ Quadratwurzel: y = x x = y2 , y ≥ 0. Weitere Definitionsmöglichkeiten sind die Darstellungen als Lösung einer Differenzial- oder Integralgleichung. ■ Differenzialgleichung für Sinus und Kosinus: d2 f (x) + f (x) = 0, dx2
f (x) = a sin(x) + b cos(x).
b) Grafische Darstellung Die grafische Darstellung liefert einen wichtigen Überblick über die Eigenschaften der Funktion. 4
f(x)
f ( x ) =x + 2 x 4 f ( x ) =x
4
−2 −1
3
3
3
2
2
1
1
0 −1
1
2
3 x
3
f ( x ) =x + 2 x 3 f ( x ) =x
f(x) 4
−2 −1
0 −1
1
2
2
3 x
▲ Meist sind in einer Figur zwei Graphen dargestellt, einer mit einer durchgezogenen Linie und einer mit einer gestrichelten Linie. Dadurch können oft Beziehungen zwischen den Funktionen oder der Einfluss von Parametern besser dargestellt werden. Oft ist es sinnvoll, eine Achse in logarithmischer Skalierung zu betrachten. ▲ Dadurch kann u. a. ein Überblick über einen großen Wertebereich gewonnen werden. Analog lassen sich auch beide Achsen in logarithmischer Skalierung betrachten. ▲ Dies ist besonders interessant bei der Betrachtung von Potenzfunktionen, da die doppeltlogarithmische Darstellung bessere Informationen über Vorfaktoren und Exponenten liefert. f(x)
f(x) 3
1
2 1
−1
−0.5
0
0.5
1 x
−1
0.1 −0.5 0
0.5
1 x
Gaußfunktionen in linearer und halblogarithmischer Darstellung
21.6 Steckbrief für Funktionen
f(x) 4
f ( x ) =x
2
f ( x ) =x
4
f(x)
3
f ( x ) =x
2
f ( x ) =x
4
1
2 0.1 1
−2
−1
0
1
2 x
0.01 0.1
1
x
Potenzfunktionen in linearer und doppeltlogarithmischer Darstellung
c) Eigenschaften der Funktionen Definitionsbereich:
Bereich √ der Werte von x, für den die Funktion einen definierten Wert besitzt, z. B. x: 0 ≤ x < ∞. Wertebereich: Bereich √ von Werten y = f (x), den die Funktion annehmen kann, z. B. x: 0 ≤ f (x) < ∞. Periodizität: Es gibt ein x0 = 0, sodass für alle x gilt: f (x + x0 ) = f (x). Der kleinste Wert x0 > 0 ist die Periodenlänge oder primitive Periode. Monotonie: Für alle x1 ,x2 mit x1 < x2 gilt: streng monoton steigend f (x1 ) < f (x2 ), monoton steigend f (x1 ) ≤ f (x2 ), streng monoton fallend f (x1 ) > f (x2 ), monoton fallend f (x1 ) ≥ f (x2 ). Symmetrien: Spiegelsymmetrie zur y-Achse: f (−x) = f (x), z. B. bei f (x) = x2 . Punktsymmetrie zum Ursprung: f (−x) = − f (x), z. B. bei f (x) = x3 . √ Verhalten im Unendl.:Verhalten der Funktion im Unendlichen, z. B. x2 + 1 → +|x| für x → ±∞.
d) Spezielle Werte Nullstellen:
Stellen, an denen f (x) = 0 gilt,
Sprungstellen:
■ f (x) = x2 − 1, Nullstellen bei x = 1, x = −1. Unstetigkeitsstellen, an denen die Funktion einen endlichen Sprung macht.
Extrema:
■ für f (x) = sgn(x) bei x = 0. Stellen, bei denen die Funktion divergiert (ihr Wert gegen unendlich strebt). 1 ■ f (x) = 2 , Pol zweiter Ordnung bei x = 0. x Lokale Maxima und Minima der Funktion.
Wendepunkte:
■ f (x) = x4 − 2x2 + 1 Maximum bei x = 0, Minima bei x = ±1. Punkte, an denen die Kurve ihre Krümmung ändert.
Polstellen:
■ f (x) = x3 , Sattelpunkt bei x = 0.
661
662
21 Funktionen einer reellen Variablen
▲ Es ist darauf zu achten, dass in dieser Beschreibung mit Nullstellen und Polstellen reelle Nullstellen und reelle Polstellen gemeint sind. ● Während ein Polynom n-ten Grades im Reellen höchstens n Nullstellen hat, besagt der Fundamentalsatz der Algebra, dass ein solches Polynom im Komplexen genau n Nullstellen besitzt, wenn man die Vielfachheiten der Nullstellen mitzählt.
e) Reziproke Funktionen Kehrwert einer Funktion: 1 g(x) = . f (x) ▲ Oft lassen sich über die reziproke Funktion neue Funktionen definieren oder Beziehungen zur alten Funktion beschreiben. f(x) 4
−2
f(x)=e
f(x) 4
x
3
3
2
2
1
1
−1
0
2 x
1
−2
−1
f ( x ) =x
0
2
2 x
1
Reziproke Funktionen ( – – – – )
f) Umkehrfunktionen Die Umkehrfunktion f −1 (y) zu einer bijektiven Funktion y = f (x) wird bestimmt, indem man die Funktionsgleichung nach der neuen abhängigen Variablen x auflöst. ■ y = f (x) = 3x + 5, x = f −1 (y) =
y−5 3
■ y = f (x) = 5x , x = f −1 (y) = log5 y ,y > 0 ▲ Periodische Funktionen werden auf den Hauptwert beschränkt, um eine bijektive Funktion zu erhalten. f(x)
f(x)=e y=x
4
x
f(x)
f ( x ) =x y=x
4
2
3 2 2 −4
−2
0 −2
2
4 x
1 0
−4
0
Umkehrfunktionen ( – – – – )
1
2
3
4 x
21.7 Einfache Funktionen
663
▲ Möchte man die neue unabhängige Variable auf die Abszissenachse legen, so sind die Achsen auszutauschen, d. h. an der Winkelhalbierenden y = x zu spiegeln. Damit wird gleichzeitig der gemeinsame Graph von Funktion und Umkehrfunktion mitgespiegelt.
g) Ableitung der Funktionen Hier wird die erste Ableitung der Funktion angegeben, ■ Potenzfunktion: d n ax = naxn−1 , n = 0. dx Zum Teil kann auch eine verallgemeinerte Form höherer Ableitungen angegeben werden, z. B. dk n n! ax = axn−k , k dx (n − k)!
k ≤ n.
h) Stammfunktionen Als Stammfunktion F(x) einer gegebenen Funktion f (x) wird eine Funktion bezeichnet, die im selben Intervall definiert ist und deren Ableitung gleich f (x) ist:
f (x) dx + C1 = F(x),
F (x) = f (x).
F(x) + C1 bildet die Menge der Stammfunktionen. C1 ist eine beliebige Konstante. Hier wird als Beispiel für eine spezielle Stammfunktion das Integral der Funktion mit einer festen und einer variablen Integrationsgrenze angegeben, x
1 eat dt = (eax − 1). 0 a Auch weitere wichtige Integrale werden angegeben.
i) Spezielle Erweiterungen und Anwendungen Hier werden Erweiterungen der Funktion, wie z. B. die komplexe Darstellung der Funktion, sowie weiterführende Anwendungen beschrieben.
21.7
Einfache Funktionen
Unter einfachen Funktionen werden hier die konstante Funktion, Treppenfunktionen und Betragsfunktion verstanden. ▲ Einige der nachfolgenden Funktionen besitzen Unstetigkeits- oder (nicht differenzierbare) Knickstellen. Sie sind jedoch alle integrierbar.
21.7.1
Konstante Funktion
f (x) = c. Konstante Funktionen sind die einfachsten Funktionen. ● Konstanten sind Invarianten, d. h. unveränderliche Größen und werden, wenn sie nicht explizit ausgeschrieben werden, als lateinische, a,b,c oder griechische Buchstaben, α ,β ,γ , geschrieben.
664
21 Funktionen einer reellen Variablen
a) Definition Allen Punkten wird der gleiche Wert c zugeordnet. f (x) = c. Die Funktion ist Lösung der Differenzialgleichung: d f (x) = 0. dx
b) Grafische Darstellung Der Graph einer konstanten Funktion ist eine horizontale Gerade, die bis ins Unendliche reicht. Es können beliebige Werte auf der y-Achse angenommen werden. f(x) 4
f(x)
f(x)=4 f(x)=−1
4 2
2
−4
−2
f(x)=0 f(x)=1
0
2
4 x
−4
−2
−2
0
2
4 x
−2
▲ Eine Besonderheit bilden f (x) = 0 (Nullfunktion) und f (x) = 1 (Einheitsfunktion).
c) Eigenschaften der Funktion Definitionsbereich: Wertebereich: Periodizität: Monotonie: Symmetrien: Asymptoten:
−∞ < x < ∞. f (x) = c (c kann einen beliebigen Wert haben). Man kann beliebige Perioden definieren. sowohl monoton steigend als auch monoton fallend, aber niemals streng monoton. spiegelsymmetrisch bezüglich der y-Achse, f (x) = 0 ist außerdem punktsymmetrisch zum Ursprung. Die Funktion f (x) = c ist ihre eigene Asymptote.
c = 0 keine Nullstellen, c = 0 alle Punkte sind Nullstellen. keine, Funktion ist stetig. keine, Funktion ist überall definiert. jedes x ∈ R. keine.
e) Reziproke Funktion Die reziproke Funktion zu f (x) = c = 0 ist wieder eine konstante Funktion. 1 1 = . f (x) c
21.8 Betragsfunktion
665
f) Umkehrfunktion Keine.
g) Ableitung der Funktion Die Ableitung der Funktion ist die Nullfunktion. d c = 0. dx
h) Stammfunktion zu der Funktion Die Stammfunktionen sind lineare Funktionen. x 0
c dt = cx.
i) Spezielle Erweiterungen und Anwendungen Konstante Funktionen haben ihre Bedeutung als Asymptoten anderer Funktionen.
21.8
Betragsfunktion
f (x) = |x − a|. abs(x) in Programmiersprachen: ABS(X-A) Betragsfunktion |x|, jedem Wert x wird sein Betrag, d. h. der Abstand zwischen den Punkten x und 0 auf der Zahlengeraden zugeordnet. ● Die Funktionswerte sind nie negativ. Bedeutung der Betragsfunktion: vor allem bei der Beschreibung von Größen, die nicht negativ definiert sein können. ■ Fläche zwischen zwei Kurven, Abstand zwischen zwei Punkten.
a) Definition Der Funktionswert ist +x für x ≥ 0 und −x für x < 0 xx≥0 f (x) = |x| = (x) · sgn (x) = −x x < 0 Eine andere Definition erfolgt über die Wurzel eines Quadrates, √ |x| = x2 für alle x. ▲ Der absolute Betrag ist lediglich ein Abkürzungssymbol. Zur Arbeit mit Betragsausdrücken empfiehlt es sich, das Betragszeichen durch Fallunterscheidung wegzuschaffen. x − a für x ≥ a ■ f (x) = |x − a| = −(x − a) für x < 0
b) Grafische Darstellung: |x − a| ist für x > a eine mit der Steigung 1 anwachsende Gerade, für x < a eine mit der Steigung −1 fallende Gerade.
666
21 Funktionen einer reellen Variablen
● An der Stelle x = a ist ein Knickpunkt; f (x) ist in x = a zwar stetig, aber nicht differenzierbar. f(x)
−2
−1
4
f(x) 4
3
3
2
2
1
1
0
1
2 x
−2
f ( x ) =|x| f ( x ) =|x+ 1 |
Betragsfunktionen
−1
0 2 x 1 1 f ( x )= ( |x|+x ) 2
f(x)=|x|+ 1
Knickfunktion
Addition |x + a| innerhalb des Arguments bewirkt eine Verschiebung nach links, Addition |x| + a außerhalb des Arguments bewirkt eine Verschiebung nach oben. Multiplikation c|x| mit einem Faktor c bewirkt eine Veränderung der Steigung.
c) Eigenschaften der Funktion −∞ < x < ∞. 0 ≤ f (x) < ∞. keine. x ≥ a streng monoton steigend, x ≤ a streng monoton fallend. Symmetrien: Spiegelsymmetrie zur Achse x = a. Verhalten im Unendl.: f (x) → ∞ für x → ±∞.
x = a. keine, Funktion stetig. keine. Minimum bei x = a, aber dort nicht differenzierbar. keine.
e) Reziproke Funktion Die reziproke Funktion (für x = a) ist der Absolutwert einer Hyperbel:
1 1
. = |x − a| x − a
f) Umkehrfunktion Die Umkehrfunktion zu |x − a| kann nur entweder für x ≥ a oder x ≤ a gebildet werden. x ≥ a f −1 (y) = y + a, x ≤ a f −1 (y) = −y + a.
oder
21.9 Gaußklammer-Funktion, Restfunktion
667
g) Ableitung der Funktion Ableitung von |x − a|, Vorzeichen von x − a. −1 x < a, d |x − a| = dx 1 x > a. ● Für x = a ist die Ableitung nicht definiert!
h) Stammfunktion zu der Funktion Stammfunktion zu |x|, Produkt aus Parabel und Vorzeichenfunktion. x 0
1 1 |t| dt = x2 · sgn (x) = x · |x|. 2 2
i) Spezielle Erweiterungen und Anwendungen Betrag einer komplexen Funktion, Wurzel aus der Summe der Quadrate von Real- und Imaginärteil √ |x + rmiy| = zz∗ = x2 + y2 .
21.9
Gaußklammer-Funktion, Restfunktion
f (x) = [x] = Int(x). Darstellung in Programmiersprachen: INT(X), TRUNC(X). Gaußklammer [x] oder Int(x) (engl. integer part function), Abbildung jeder reellen Zahl x auf die nächste ganze Zahl, die kleiner oder gleich x ist. Verwendung für alle Arten von Rundungsoperationen und zur Einordnung von kontinuierlichen Größen in diskrete Gitter. Restfunktion (x) oder frac(x) (engl. fractional part), Differenz zwischen x und [x].
a) Definition Größte ganze Zahl n kleiner oder gleich x. [x] = Int(x) = n,
mit n ≤ x < n + 1
n = 0, ± 1, ± 2, . . .
Restfunktion, Differenz zwischen x und [x]. (x) = frac(x) = x − [x].
b) Grafische Darstellung Gaußklammer, Stufen konstanten Wertes, die eine Einheit auseinander liegen. Die Stufen haben die gleiche Länge von einer Einheit.
668
21 Funktionen einer reellen Variablen f(x)
f(x)
f ( x )=[2 x ]
f ( x )=[ x ]
−2
−1
2
2
1
1
0
1
2 x
−2
−1
−1
−2 f(x)
f ( x ) =x − [ x ]
1
1
0.5
0.5
0
2 x
1 −1
−2 f(x)
0
1
2 x
0
f(x)=x − 1 [2 x ] 2
1
2 x
● Die Funktion ist stückweise stetig, besitzt aber auch unendlich viele Sprungstellen. Ein Faktor im Argument verkürzt die Stufenlänge um diesen Faktor. Restfunktion, Geradenabschnitt der Steigung 1 auf einem x-Abschnitt von einer Längeneinheit. ● Die Restfunktion wiederholt sich nach einer Längeneinheit wieder.
c) Eigenschaften der Funktion Definitionsbereich: Wertebereich: Periodizität: Monotonie: Symmetrien: Asymptoten:
−∞ < x < ∞. [x]: f (x) = 0, ± 1, ± 2, . . ., (x): 0 ≤ f (x) < 1. [x]: keine, (x): Periodenlänge 1, Abschnitte n ≤ x < n + 1. [x]: monoton steigend, (x): im Intervall n ≤ x < n + 1 streng monoton steigend. keine Spiegelsymmetrie, auch keine Punktsymmetrie (halboffene Intervalle). [x]: f (x) → ±∞ für x → ±∞, (x): keine Asymptoten.
d) Spezielle Werte Nullstellen: Sprungstellen: Polstellen: Extrema: Wendepunkte: Werte bei x = n:
[x]: 0 ≤ x < 1, (x): x = 0, ± 1, ± 2, . . .. x = 0, ± 1, ± 2, . . .. keine. [x]: keine, (x): Minima bei x = 0, ± 1, ± 2, . . .. keine. [x]: [n] = n, n = 0, ± 1, ± 2, . . ., (x): (n) = 0, n = 0, ± 1, ± 2, . . ..
21.10 Ganzrationale Funktionen
669
e) Reziproke Funktion Keine explizite Umrechnung, Darstellung ( f (x) = 0): [x]: Stufenfunktionen, die für x → ±∞ gegen 0 gehen, (x): Hyperbelbögen in den einzelnen Intervallen.
f) Umkehrfunktion Es gibt keine Umkehrfunktionen. (x) ist für 0 ≤ x ≤ 1 seine eigene Umkehrfunktion.
g) Ableitung der Funktion Ableitung von [x] und (x), x = ±1, ± 2, . . . d [x] = 0, dx d (x) : (x) = 1. dx [x] :
h) Stammfunktion zu der Funktion Funktion einer Gaußklammer: x a
f ([t]) dt = ([a] + 1 − a) f ([a]) + (x − [x]) f ([x]) +
[x]−1
∑
f (k).
k=[a]+1
Funktion einer Restfunktion: x a
f (frac(t)) dt =
1 a−[a]
f (t) dt + ([x] − [a] − 2)
1 0
x−[x]
f (t) dt +
0
f (t) dt.
i) Spezielle Erweiterungen und Anwendungen Alternative Gaußklammer, beschreibt die Vorkommazahl der dezimalen Darstellung, Ip(x) = [|x|] · sgn (x). Alternative Restfunktion, Komplementärfunktion zur alternativen Gaußklammer, Fp(x) = x − Ip(x). ▲ Der Unterschied liegt in der Behandlung negativer Zahlen, z. B. für x = −3,14 gilt [−3,14] = −4, Ip(−3,14) = −3,
21.10
frac(−3,14) = 0,86, Fp(−3,14) = −0,14.
Ganzrationale Funktionen
Ganzrationale Funktionen, Funktionen, die sich als endliche Summe von Potenzfunktionen mit ganzzahligen, positiven Exponenten schreiben lassen. Im Folgenden werden zunächst die einfachsten ganzrationalen Funktionen, nämlich Polynome ersten, zweiten und dritten Grades, dann Potenzfunktionen n-ten Grades und schließlich Polynome n-ten Grades beschrieben.
670
21 Funktionen einer reellen Variablen
21.10.1
Lineare Funktion – Gerade
f (x) = ax + b , a = 0. Polynom ersten Grades. Funktionsgleichung, beschreibt eine Gerade der Steigung a mit dem y-Achsenabschnitt b. Lineare Funktion, mathematisch nicht ganz korrekte Bezeichnung der durch die Geradengleichung definierten Funktion. Erste Näherung einer Funktion in der Nähe eines bekannten Punktes. ▲ Bestimmung eines unbekannten Funktionswertes f (x) mit x1 < x < x2 aus zwei bekannten Funktionswerten f (x1 ) und f (x2 ) erfolgt durch Legen einer Geraden durch die Punkte (x1 , f (x1 )) und (x2 , f (x2 )).
a) Definition f (x) = ax + b Funktionsgleichung einer Geraden mit der Steigung a und dem Ordinatenschnittpunkt b. Geradengleichung bei gegebener Steigung b und Punkt (x1 ,y1 ) f (x) = b(x − x1 ) + y1
Punktrichtungsgleichung
Steigung einer Geraden bei zwei gegebenen Punkten (x1 ,y1 ) und (x2 ,y2 ) y2 − y1 ∆y f (x2 ) − f (x1 ) = = b= , x2 = x1 . x2 − x1 x2 − x1 ∆x Bei zwei gegebenen Punkten (x1 ,y1 ) und (x2 ,y2 ) ist die Geradengleichung: y2 − y1 f (x) = (x2 − x1 ) + y1 Zweipunktgleichung x2 − x1
b) Grafische Darstellung f(x)
−2
f(x)= 1 x
f(x)
f ( x ) =x f(x)=−2x
2
2
1
1
−1
0
1
2 x
−2
−1
0
−1
−1
−2
−2
2 1 f(x)= 2
1
x+ 1
2 x
b Der Graph der Funktion ist eine Gerade, die in (0,b) die y-Achse und in (− , 0) die x-Achse schneidet. a ● Die Gerade wird für a > 0 mit größerem a steiler und mit kleinerem a flacher. Negatives a bedeutet negative Steigung, die Funktionswerte f (x) werden für größeres x kleiner. ● Der Achsenabschnitt b verschiebt die Funktion entlang der y-Achse. ▲ Für b = 0 geht die Funktion durch den Ursprung. b > 0 verschiebt die Funktion nach oben, b < 0 verschiebt sie nach unten.
21.10 Ganzrationale Funktionen
c) Eigenschaften der Funktion −∞ < x < ∞. −∞ < f (x) < ∞. keine. a > 0: streng monoton steigend, a < 0: streng monoton fallend, a = 0: konstant. Symmetrien: Punktsymmetrie bezüglich jedes Punktes (x,ax + b) der Geraden. Verhalten im Unendl.: a > 0: f (x) → ±∞ für x → ±∞, a < 0: f (x) → ∓∞ für x → ±∞, a = 0: f (x) = b für x → ±∞.
d) Spezielle Werte b x0 = − für a = 0. a keine. keine. keine. keine. f (0) = b.
Nullstellen: Sprungstellen: Polstellen: Extrema: Wendepunkte: Wert bei x = 0:
e) Reziproke Funktion Die reziproke Funktion ist eine Hyperbel, 1 1 = = (ax + b)−1 . f (x) ax + b
f) Umkehrfunktion Gerade der Steigung
1 a
1 b x = f −1 (y) = y − a a
a = 0.
g) Ableitung der Funktion Die Ableitung ist die Steigung der Geraden. d (ax + b) = a. dx
h) Stammfunktionen Stammfunktion ist die quadratische Funktion.
a (ax + b) dx = x2 + bx + C1 . 2
671
672
21 Funktionen einer reellen Variablen
i) Spezielle Erweiterungen und Anwendungen Lineare Interpolation, Näherung eines Funktionswerts f (x) mit x1 < x < x2 aus den bekannten Funktionswerten f (x1 ) und f (x2 ). (x2 − x) f (x1 ) + (x − x1 ) f (x2 ) . x2 − x1 ▲ Sind von einer Funktion nur die Werte an den Stützstellen x1 ,x2 , . . . ,xn bekannt, so lässt sich durch Interpolation eine stückweise lineare Funktion definieren. f (x) =
Lineare Regression, eine Gerade ax + b wird in einer bestmöglichen Näherung in eine Auftragung von n Datenpunkten (x1 , f (x1 )),(x2 , f (x2 )), . . . ,(xn , f (xn )) gelegt. ▲ Siehe auch Kapitel 30.
21.10.2
Quadratische Funktion – Parabel
f (x) = ax2 + bx + c , a = 0. Kurve der quadratischen Funktion ist eine Parabel.
a) Definition Funktionsgleichung:
2 b 4ac − b2 . f (x) = ax + bx + c = a x + + 2a 4a 2
Scheitelpunkt: b 4ac − b2 (xs ,ys ) = − , 2a 4a
b) Grafische Darstellung Der Graph der Funktion ist eine um f(x) 4
−2
−1
b b2 − 4ac nach links und um nach unten verschobene Parabel. 2a 4a f ( x ) =x
2
f(x)
f ( x ) = ( x − 1)
2 f(x)= 1 x
2
3
2
2
1
1 1
2 x
2
4
3
0 −1
2
f ( x ) =x − 1
−2
−1
0 −1
1
2 x
● a bestimmt die Öffnung der Parabel. Für a > 0 ist die Parabel nach oben geöffnet, für a < 0 ist sie nach unten geöffnet. Ist |a| groß, wird die Parabel eng, ist |a| klein, wird die Parabel weit.
21.10 Ganzrationale Funktionen
673
c) Eigenschaften der Funktion −∞ < x < ∞. a > 0: −Da ≤ f (x) < ∞, a < 0: −Da ≥ f (x) > −∞. Periodizität: keine. b Monotonie: a > 0, x > − : streng monoton steigend, 2a b a > 0, x < − : streng monoton fallend, 2a b a < 0, x < − : streng monoton steigend, 2a b a < 0, x > − : streng monoton fallend. 2a b Symmetrien: Spiegelsymmetrie zu x = − . 2a Verhalten im Unendl.: a > 0: f (x) → ∞ für x → ±∞, a < 0: f (x) → −∞ für x → ±∞. Definitionsbereich: Wertebereich:
d) Spezielle Werte Nullstellen:
0 oder 2 reelle Nullstellen, siehe auch Abschnitt „Spezielle Erweiterungen“. b2 − 4ac D= < 0: keine reellen Nullstellen, 4a b D = 0: x1,2 = − , 2a √ b D > 0: x1,2 = − ± D. 2a ▲ Doppelte Nullstelle bedeutet, dass die Kurve die Abszissenachse berührt, dort also auch eine Extremstelle ist.
Sprungstellen:
keine.
Polstellen:
keine.
Wendepunkte:
b mit f (x) = −Da, 2a b a < 0: Maximum bei x = − mit f (x) = −Da. 2a keine.
Wert bei x = 0:
f (0) = c.
Extrema:
a > 0: Minimum bei x = −
e) Reziproke Funktion Die reziproke Funktion ist eine quadratische Hyperbel. 1 1 = 2 . f (x) ax + bx + c
f) Umkehrfunktion ▲ Eine Umkehrfunktion existiert nur für Definitionsmengen, die links oder rechts vom Scheitelpunkt liegen.
674
21 Funktionen einer reellen Variablen
b b Die Umkehrfunktion ist für x ≥ − mit dem Pluszeichen und für x ≤ − mit dem Minuszeichen gültig 2a 2a (a = 0). b2 b y c −1 x = f (y) = − ± + 2− . 2a a 4a a
g) Ableitung der Funktion Die Ableitungsfunktion ist eine Gerade, d (ax2 + bx + c) = 2ax + b. dx
h) Stammfunktionen Die Stammfunktion ist eine kubische Funktion, a b (ax2 + bx + c) dx = x3 + x2 + cx + C1 . 3 2
i) Spezielle Erweiterungen und Anwendungen Nullstellen einer quadratischen Funktion ax2 + bx + c = 0. Die Anzahl der reellen Nullstellen hängt vom Vorzeichen der Diskriminanten D ab. b2 c − < 0: 2 4a a
keine reellen Nullstellen, zwei zueinander konjugiert komplexe Nullstellen. 2 b c b D = 2 − = 0: eine doppelte Nullstelle bei x = − . 4a a 2a √ b2 c b D = 2 − > 0: zwei Nullstellen bei x = − ± D. 4a a 2a ● Eine die quadratische Funktion hat immer zwei reelle oder zwei konjugiert komplexe Nullstellen. D=
21.10.3
Kubische Funktion
f (x) = ax3 + bx2 + cx + d , a = 0. Polynom dritten Grades. Stammfunktion der quadratischen Funktion.
a) Definition Allgemeine Funktionsgleichung, f (x) = ax3 + bx2 + cx + d, 3 b b2 b 2b3 bc =a x+ + c− x+ +d+ − . 2 3a 3a 3a 27a 3a Reduzierte Gleichung, f (x) = a X 3 + pX + q ,
b , 3a 2 3 c 1 b d 2 b bc p= − , q= + − 2. a 3 a a 27 a 3a X =x+
21.10 Ganzrationale Funktionen
675
Diskriminante der kubischen Funktion, p 3 q 2 D= + . 3 2
b) Grafische Darstellung 3
f(x)
f ( x ) =x 3 f(x)=− 1 x
f(x)
2
4
4
3
f ( x ) =x + 4 x 3 f ( x ) =x −4 x
2
2
0 −2 −1
0 1
2
x
−2 −1
−2
−2
−4
−4
1 2
x
Der Graph der kubischen Funktion beginnt für a > 0 (a < 0) im negativen (positiven) Unendlichen, schneidet die x-Achse mindestens ein- und höchsten dreimal und geht ins positive (negative) Unendliche. ● Die Funktion hat entweder keine Extrema oder ein Maximum und ein Minimum. ▲ Hat die Funktion mindestens zwei verschiedene reelle Nullstellen, so hat sie auch Extrema. ● Die Funktion besitzt einen Wendepunkt. ▲ Ist der Wendepunkt ein Sattelpunkt, so besitzt die Funktion keine Extrema. Die Funktionen in der linken Figur haben einen Sattelpunkt, keine Extrema und eine dreifache Nullstelle. Die Funktionen in der rechten Figur haben drei einfache Nullstellen und zwei Extrema (gestrichelte Linie) bzw. eine einfache Nullstelle und kein Extremum (durchgezogene Linie). ▲ Die Funktionen in der rechten Figur haben beide keinen Sattelpunkt, aber eine unterschiedliche Anzahl von Extrema.
c) Eigenschaften der Funktion Definitionsbereich: Wertebereich: Periodizität: Monotonie:
Symmetrien:
−∞ < x < ∞. −∞ < f (x) < ∞. keine. a > 0: für x → ±∞ streng monoton steigend, kein Extremum: überall streng monoton steigend, außerhalb Extrema: streng monoton steigend, zwischen Extrema: streng monoton fallend. a < 0: für x → ±∞ streng monoton fallend, kein Extremum: überall streng monoton fallend, außerhalb Extrema: streng monoton fallend, zwischen Extrema: streng monoton steigend. Punktsymmetrie zum Wendepunkt.
676
21 Funktionen einer reellen Variablen
Verhalten im Unendl.: a > 0: f (x) → ±∞ für x → ±∞ a < 0: f (x) → ∓∞ für x → ±∞
d) Spezielle Werte Nullstellen:
mindestens eine, maximal drei reelle Nullstellen, siehe „Spezielle Erweiterungen“: Cardano’sche Formeln. keine. keine. b −p , p < 0: zwei Extrema bei x = − ± 3a 3 p ≥ 0: kein Extremum. b p = 0: Sattelpunkt bei x = − , 3a b p = 0: Wendepunkt bei x = − . 3a f (0) = d.
Sprungstellen: Polstellen: Extrema: Wendepunkte:
Wert bei x = 0:
e) Reziproke Funktion Die reziproke Funktion ist eine Hyperbel dritten Grades, 1 1 = 3 . f (x) ax + bx2 + cx + d
f) Umkehrfunktion p < 0:Die Umkehrfunktionwird für drei Bereiche berechnet: −p −p b b • − − ≤x≤ − : 3 3·a 3 3·a √ b −p 27(x/a − q) f1−1 (x) = − +2 · sin(φ /3), φ = arcsin √ , 3·a 3 2p2 −p
−p b • −∞ < x < − , a > 0; 3 3·a b −p φ −1 f2 (x) = − −2 · sin 3·a 3 −p b • −∞ < x < − , a < 0; 3 3·a b −p φ −1 f3 (x) = − +2 · sin 3·a 3
−p − 3 +π , 3 −p − − 3 + 2π . 3 −
b < x < ∞, a < 0: 3·a
b < x < ∞, a > 0: 3·a
p = 0: Die Umkehrfunktion lässt sich als Wurzel dritten Grades schreiben (a = 0): b x −1 f (x) = − + 3 − q. 3·a a
21.10 Ganzrationale Funktionen
677
p > 0: Die Funktion ist umkehrbar mit - 1 , -1 2 √ x 3 x 2 √ x 3 4p3 + 27 −q + 27 −q − 4p3 + 27 −q − 27 −q a a a a
, f −1 (x) = −
b + 3·a
x
1
(4 · 27) 6
g) Ableitung der Funktion Die Ableitung ist eine quadratische Funktion. d (ax3 + bx2 + cx + d) = 3ax2 + 2bx + c. dx
h) Stammfunktionen Die Stammfunktion ist eine Funktion vierten Grades. a b c (ax3 + bx2 + cx + d) dx = x4 + x3 + x2 + dx + C1 . 4 3 2
i) Spezielle Erweiterungen und Anwendungen Cardano’sche Formeln, Lösungskonzept zur Berechnung der Nullstellen einer kubischen Funktion. Rückführung der allgemeinen kubischen Gleichung auf die reduzierte kubische Gleichung ax3 + bx2 + cx + d = a X 3 + pX + q = 0, 2 3 b c 1 b d 2 b bc X =x+ , p= − , q= + − 2 3a a 3 a a 27 a 3a Diskriminante der kubischen Funktion, p 3 q 2 D= + . 3 2 Anzahl der Nullstellen: D > 0 eine reelle und zwei komplexe Nullstellen, D = 0 drei reelle Nullstellen, davon eine einfache und eine doppelte, b eine dreifache Nullstelle bei x = − für p = q = 0, 3a D < 0 drei reelle einfache Nullstellen. ● Die Funktion hat drei reelle Nullstellen oder zwei konjugiert komplexe und eine reelle Nullstelle. Lösung für D = 0, X1 ist einfache, X2 ist doppelte Nullstelle. q q b 3 X1 = 2 − , X2 = − 3 − , x1/2 = X1/2 − . 2 2 3a Bezeichnung für die Lösungen mit D > 0: q √ q √ 3 u = − + D, v = 3 − − D. 2 2 Lösung für D > 0, X1 reelle Lösung, X2/3 komplex. X1 = u + v,
X2/3 = −
√ u−v u+v ±i 3 , 2 2
x1/2/3 = X1/2/3 −
b . 3a
678
21 Funktionen einer reellen Variablen
Bezeichnung für die Lösungen mit D < 0: −q −p3 = ϕ = arccos , . 27 2 Lösung für D < 0, drei reelle Lösungen: √ ϕ + kπ 3 k = 0,2,4 X1/2/3 = 2 cos 3
21.10.4
x1/2/3 = X1/2/3 −
b . 3a
Potenzfunktion höheren Grades
f (x) = axn
n = 1,2,3, . . . .
Beschreibung von Kurven, die schneller wachsen können als quadratische oder kubische Funktionen.
a) Definition n-faches Produkt von x, n
f (x) = axn = a ∏ x. k=1
b) Grafische Darstellung ● Zwei wichtige Fälle sind zu unterscheiden: n gerade: Die Funktion verhält sich ähnlich wie die quadratische Funktion. n ungerade: Die Funktion verhält sich ähnlich wie die kubische Funktion. Funktionen mit geradem n kommen für a > 0 (a < 0) aus dem positiven (negativen) Unendlichen, haben bei x = 0 eine n-fache Nullstelle, die ein Minimum (Maximum) ist und gehen ins positive (negative) Unendliche. Funktionen mit ungeradem n kommen für a > 0 (a < 0) aus dem negativen (positiven) Unendlichen, haben bei x = 0 eine n-fache Nullstelle, die ein Sattelpunkt ist und gehen ins positive (negative) Unendliche. 3
4
f ( x ) =x 6 f ( x ) =x
f(x)
f ( x ) =x 5 f ( x ) =x
f(x)
4
2 3 1 2 −2
−1
0
1
2 x
1
−1 −2
−2
−1
0
● Alle Funktionen haben bei x = 0 den Wert Null und bei x = 1 den Wert a.
1
2 x
21.10 Ganzrationale Funktionen
679
c) Eigenschaften der Funktion −∞ < x < ∞. n gerade a > 0: 0 ≤ f (x) < ∞, a < 0: −∞ < f (x) ≤ 0, n ungerade a = 0: −∞ < f (x) < ∞. Periodizität: keine. Monotonie: n gerade a > 0: x ≥ 0 streng mon. steigend, x ≤ 0 streng mon. fallend, a < 0: x ≥ 0 streng mon. fallend, x ≤ 0 streng mon. steigend, n ungerade a > 0: streng monoton steigend, a < 0: streng monoton fallend. Symmetrien: n gerade Spiegelsymmetrie zu x = 0, n ungerade Punktsymmetrie zu x = 0,y = 0. Verhalten im Unendl.: n gerade a > 0: f (x) → +∞ für x → ±∞, a < 0: f (x) → −∞ für x → ±∞, n ungerade a > 0: f (x) → ±∞ für x → ±∞, a < 0: f (x) → ∓∞ für x → ±∞.
n-fache Nullstelle x0 = 0 für alle Funktionen. keine. keine. n gerade a > 0: Minimum bei x = 0, a < 0: Maximum bei x = 0, n ungerade kein Extremum. n gerade kein Wendepunkt, n ungerade Sattelpunkt bei x = 0.
e) Reziproke Funktion Die reziproken Funktionen sind Hyperbeln der Potenz n. 1 1 1 = n = x−n . f (x) ax a
f) Umkehrfunktion Die Umkehrfunktionen sind Wurzeln n-ten Grades (a = 0). y −1 x = f (y) = n . a ● Für ungerades n kann die Funktion für −∞ < x < ∞ invertiert werden. Für gerades n kann die Funktion nur für x ≥ 0 (oder für x ≤ 0 mit negativem Vorzeichen) invertiert werden.
g) Ableitung der Funktion Die Ableitung einer Potenzfunktion n-ten Grades ist eine Potenzfunktion n − 1-ten Grades. d n ax = naxn−1 . dx
680
21 Funktionen einer reellen Variablen
Die k-te Ableitung einer Potenzfunktion n-ten Grades ist: n! axn−k k ≤ n, k d n ax = (n − k)! dxk 0 k > n.
h) Stammfunktionen Die Stammfunktion einer Potenzfunktion n-ten Grades ist eine Potenzfunktion n + 1-ten Grades. a n+1 (axn ) dx = x + C1 . n+1
i) Spezielle Erweiterungen und Anwendungen Doppeltlogarithmische Darstellung: Potenzfunktionen mit a > 0 können im Bereich x > 0 doppeltlogarithmisch dargestellt werden, d. h. mit einer logarithmischen Skalierung der x-Achse und der y-Achse. 2
f(x)
f(x)
f ( x ) =x 2 f(x)=2x
4
2
f ( x ) =x 2 f(x)=2x
1
3 2
0.1 1
−2
−1
0
Darstellung:
1
2
x
0.01 0.1
linear
1
x
doppeltlogarithmisch
● In doppeltlogarithmischer Darstellung sind die Graphen von f (x) = axn Geraden, deren Steigung der Exponent n der Potenzfunktion ist. Geraden gleicher Potenz, aber unterschiedlicher Vorfaktoren a, haben gleiche Steigung, sind aber gegeneinander in y-Richtung verschoben. Geraden unterschiedlicher Potenz haben unterschiedliche Steigung. 2
f(x)
f ( x ) =x 4 f ( x ) =x
4
f(x)
2
f ( x ) =x 4 f ( x ) =x
1
3 2
0.1 1
−2
−1
Darstellung:
0
1
linear
2
x
0.01 0.1
1 x
doppeltlogarithmisch
21.10 Ganzrationale Funktionen
681
▲ Im Fall gleicher Vorfaktoren schneiden sie sich im Punkt (x = 1,y = a). Doppeltlogarithmische Regression: Eine Anpassung einer Potenzfunktion f (x) = cxa an Datenpunkte (xk , f (xk )) kann mithilfe einer linearen Regression erfolgen, wenn hierzu die logarithmierten Punkte (ln(xk ), ln( f (xk )) eingelesen werden. ▲ Die bei der linearen Regression gewonnene Steigung a beschreibt den Exponenten der Potenzfunktion und der y-Achsenabschnitt b den Logarithmus des Vorfaktors b = ln(c).
21.10.5
Polynome höheren Grades
f (x) = an xn + an−1 xn−1 + . . . + a1 x + a0 . Polynom n-ten Grades. Allgemeinste Form einer ganzrationalen Funktion. Summe von Potenzfunktionen des Grades m ≤ n.
a) Definition Endliche Summe von Potenzfunktionen. n
f (x) = a0 + ∑ ak xk . k=1
b) Grafische Darstellung ● Das Verhalten der Funktion im Unendlichen wird von der Potenzfunktion an xn mit der höchsten Potenz n bestimmt. Das Polynom n-ten Grades zeigt für große Werte im Wesentlichen die Eigenschaften von an xn . 4
2
f ( x ) =x − 4 x + 5 4 f ( x ) =x
f(x) 9 7
f(x) 100
4
2
f ( x ) =x − 4 x + 5 4 f ( x ) =x
10
5 1
3 1 −2 −1
0
Darstellung:
1
2
linear
3 x
0.1 0.1
1
x
doppeltlogarithmisch
▲ Für Werte von x in der Nähe von Null sind die Terme mit der kleinsten Potenz m mit am = 0 dominant.
682
21 Funktionen einer reellen Variablen f(x)
5
60
−4
−2
f(x)
3
f ( x ) =x − 8 x − 9 x
60
40
40
20
20
−20
0
2
4 x
−4 −2
−20
−40
−40
−60
−60
5
3
f ( x ) =x − 13 x + 36 x
0
2
4
x
Die Funktion kann bis zu n reelle Nullstellen, bis zu n − 1 Extrema und bis zu n − 2 Wendepunkte, aber auch weniger haben. ▲ Hat eine zweimal differenzierbare Funktion m reelle Nullstellen, so hat sie mindestens m − 1 Extrema und mit k Extrema besitzt sie mindestens k − 1 Wendepunkte.
c) Eigenschaften der Funktion −∞ < x < ∞. hängt vom speziellen Fall des Polynoms ab. n ungerade: −∞ < f (x) < ∞. Periodizität: keine. Monotonie: hängt vom Polynom ab. Symmetrien: im Allgemeinen keine, nur gerade Potenzen im Polynom: Spiegelsymmetrie zur y-Achse, nur ungerade Potenzen im Polynom: Punktsymmetrie zum Ursprung. Verhalten im Unendl.: verhält sich für x → ±∞ wie an xn .
genau n komplexe Nullstellen, dabei mindestens eine reelle Nullstelle, falls n ungerade. keine. keine. höchstens n − 1 Extrema, n > 0 gerade, an > 0 mindestens ein Minimum, n > 0 gerade, an < 0 mindestens ein Maximum. höchstens n − 2 Wendepunkte, n > 1 ungerade: mindestens ein Wendepunkt. f (0) = a0 .
e) Reziproke Funktion Die reziproke Funktion ist eine gebrochen rationale Funktion. 1 1 = . n f (x) an x + . . . + a1 x + a0
21.10 Ganzrationale Funktionen
683
f) Umkehrfunktion Die Funktion ist im Allgemeinen nur in Teilbereichen umkehrbar. Für sehr große Werte nähert sich die Umkehrfunktion einer Wurzel n-ten Grades. y −1 x = f (y) ≈ n füry → +∞. an
g) Ableitung der Funktion Die Ableitung des Polynoms n-ten Grades ist ein Polynom n − 1-ten Grades. n d f (x) = ∑ kak xk−1 = nan xn−1 + (n − 1)an−1 xn−2 + . . . + a1 . dx k=1
Die m-te Ableitung ist ein Polynom n − m-ten Grades. n k! dm f (x) = ak xk−m . ∑ dxm (k − m)! k=m
h) Stammfunktion zu der Funktion Die Stammfunktion ist ein Polynom n + 1-ten Grades.
n
( ∑ ak xk ) dx = k=0
n
ak
∑ k + 1 xk+1 + C1.
k=0
i) Spezielle Erweiterungen und Anwendungen Fundamentalsatz der Algebra: ● Im Komplexen hat ein Polynom n-ten Grades unter Einberechnung der Vielfachheiten der Nullstellen genau n Nullstellen. ▲ Ein Polynom lässt sich im Komplexen vollständig als Produkt von Linearfaktoren darstellen. ■ x4 − 2x3 + 2x2 − 2x + 1 = (x − 1)2 (x2 + 1) = (x − 1)(x − 1)(x + i)(x − i).
21.10.6
Darstellung von Polynomen und spezielle Polynome
Summendarstellung: Darstellung des Polynoms, geordnet nach Potenzen. f (x) = an xn + an−1 xn−1 + · · · + a1 x + a0 . ▲ Die Vorteile dieser Darstellung sind die Möglichkeiten übersichtlichen Rechnens, die schnelle Erkennung der Asymptotik (wichtig z. B. bei gebrochen rationalen Funktionen) und einfache Möglichkeiten beim Koeffizientenvergleich (z. B. bei der Partialbruchzerlegung). Produktdarstellung: Darstellung eines Polynoms als Produkt von Linearfaktoren. f (x) = (x − x1 )n1 (x − x2 )n2 · · · (x − xk )nk , xi sind Nullstellen ni -ten Grades des Polynoms, k ist die Gesamtzahl verschiedener Nullstellen; nk ist deren Vielfachheit. ▲ Der Vorteil dieser Darstellung ist die Kenntnis sämtlicher Nullstellen xi mit ihren Vielfachheiten. ■ Die Funktion f (x) = x5 − x4 − x + 1 in Produktdarstellung: f (x) = (x − 1)2 (x + 1)(x2 + 1) = (x − 1)(x − 1)(x + 1)(x2 + 1) = (x − 1)2 (x + 1)(x − i)(x + i).
684
21 Funktionen einer reellen Variablen
Die Funktion hat eine doppelte Nullstelle bei x = 1, eine einfache Nullstelle bei x = −1 und (im Komplexen) zwei einfache Nullstellen bei x = i und x = −i. ▲ Die (reellen) Nullstellen eines Polynoms können für Polynome bis vierten Grades analytisch ausgerechnet werden. Für Polynome höheren Grades muss die Bestimmung der Nullstellen häufig numerisch erfolgen. Dazu stehen Computerprogramme zur Verfügung. Taylorentwicklung Darstellung eines Polynoms in einer Entwicklungsreihe um den Punkt x0 : f (x) = f0 +
Die Koeffizienten fk sind die k-ten Ableitungen von f (x) bei x = x0 f0 = f (x0 ),
f1 =
df (x0 ), dx
fk =
dk f (x0 ). dxk
Die Darstellung benötigt sämtliche Ableitungswerte von f (x) an der Stelle x0 . Ferner ermöglicht sie eine Abschätzung des Funktionsverlaufs in der Nähe von x0 , da hier zuerst die linearen Glieder wichtig werden, dann die quadratischen, usw. ■ Die Funktion f (x) = 3x4 + 2x3 − x2 + 2x − 1, entwickelt um den Punkt x = −2: 72 132 118 66 (x + 2)4 − (x + 2)3 + (x + 2)2 − (x + 2) + 23 4! 3! 2! 1! 4 3 2 = 3(x + 2) − 22(x + 2) + 59(x + 2) − 66(x + 2) + 23.
f (x) =
■ Die Funktion f (x) = 3x4 + 2x3 − x2 + 2x − 1 entwickelt um den Punkt x = 0: f (x) =
21.11
2 2 72 4 12 3 x + x − x2 + x − 1. 4! 3! 2! 1!
Gebrochen rationale Funktionen
Gebrochen rationale Funktionen lassen sich als Bruch zweier Polynome darstellen. Im Folgenden wird zuerst die einfache Hyperbel, dann die reziproke quadratische Funktion, anschließend die Potenzfunktion mit negativen Exponenten und schließlich der allgemeine Quotient zweier Polynome beschrieben.
21.11.1
Hyperbel
a) Definition Reziproke lineare Funktion: f (x) =
1 = (ax + b)−1 . ax + b
Ableitung der Logarithmusfunktion: f (x) =
1 d ln |ax + b|. a dx
21.11 Gebrochen rationale Funktionen
b) Grafische Darstellung b Die Funktion besitzt bei x = − eine Polstelle. a f ( x ) = 1x
f(x)
f(x)= 1 x+1
4
−1
0
2x f(x)= 1 −2x
4
2
−2
f(x)= 1
f(x)
2
1
2 x
−2
−1
0
−2
−2
−4
−4
1
2 x
b b Für x > − ist die Funktion für a > 0 (a < 0) positiv (negativ) und für x < − negativ (positiv). a a ● Die Funktion geht für x → ±∞ gegen Null. ▲ Mit größerem Betrag von a geht die Funktion schneller gegen Null.
c) Eigenschaften der Funktion
Wertebereich:
b −∞ < x < ∞, x = − . a −∞ < f (x) < ∞, f (x) = 0.
Periodizität:
keine.
Definitionsbereich:
b a > 0: x > − : streng monoton fallend, a b x < − : streng monoton fallend, a b a < 0: x > − : streng monoton steigend, a b x < − : streng monoton steigend. a b Symmetrien: Punktsymmetrie bezüglich P x = − ,y = 0 . a Verhalten im Unendl.: f (x) → 0 für x → ±∞. Monotonie:
d) Spezielle Werte Nullstellen:
keine.
Sprungstellen:
keine.
Extrema:
b x=− . a keine.
Wendepunkte:
keine.
Polstellen:
685
686
21 Funktionen einer reellen Variablen
e) Reziproke Funktion Die reziproke Funktion ist die lineare Funktion, 1 1 = = ax + b. f (x) (ax + b)−1
f) Umkehrfunktion Die Umkehrfunktion einer (auf der x-Achse verschobenen) Hyperbel ist eine (auf der y-Achse verschobene) Hyperbel (a = 0), f −1 (y) =
1 − by 1 b = − . ay ay a
g) Ableitung der Funktion Die Ableitung ist eine reziproke quadratische Funktion. d 1 a =− . dx ax + b (ax + b)2
h) Stammfunktionen Die Stammfunktion ist eine Logarithmusfunktion. b ● Der Pol − darf nicht im Integrationsbereich liegen. a 1 1 dx = ln |ax + b| + C1 . ax + b a ▲ Liegt der Pol im Integrationsbereich kann das Integral nur als Cauchy’scher Hauptwert (siehe Kapitel 22, Integralrechnung) betrachtet werden. Für b = 0 gilt
1 1 dx = ln |x| + C1 . ax a
i) Spezielle Erweiterungen und Anwendungen 1 Berechnung eines Integrals durch Substitution: Die Integrationseigenschaften von erlauben das Berechnen x spezieller Integrale. b a
d
f (b) f (t)
f (b) 1 dt
. dt = du = ln
f (a) u f (t) f (a)
21.11.2
Reziproke quadratische Funktion
a) Definition Reziproke quadratische Funktion, f (x) =
ax2
1 = (ax2 + bx + c)−1 . + bx + c
21.11 Gebrochen rationale Funktionen
687
Umformung der Funktion: f (x) =
1 1 , -. = 2 2 b b2 b a x+ +c− a x+ −D 2a 4a 2a
Diskriminante der quadratischen Funktion, b2 c D= 2 − . 4a a
b) Grafische Darstellung f ( x ) = 21
f(x) 4
f ( x ) = 21
f(x)
x +1 f ( x ) = 12 x
f(x)=
4
2
x -1 1 2 x
2 0
−2
−1
0
1
2 x
−2
−1
1
−2
−2
−4
−4
2 x
● Die Eigenschaft der Funktion ist stark von der Diskriminante D abhängig. b ● Für D = 0 ist die Funktion eine auf der x-Achse verschobene quadratische Hyperbel, die bei x = − 2a einen Pol hat und für a > 0 positive und für a < 0 negative Werte annimmt. b ● Für D < 0 besitzt die Funktion keine (reellen) Polstellen, sondern ein Extremum bei x = − , das bei 2a a > 0 ein Maximum und bei a < 0 ein Minimum ist. Die Funktion ist für a > 0 positiv und für a < 0 negativ. ● Für D > 0 lässt sich die Funktion als Summe zweier reziproker linearer Funktionen darstellen. Sie √ b besitzt zwei Polstellen bei den Nullstellen der quadratischen Funktion im Nenner x = − ± D und 2a b ein Extremum bei x = − , das für a > 0 ein Maximum und für a < 0 ein Minimum ist. 2a
b
√
Die Funktion besitzt für a > 0 (a < 0) positive (negative) Werte bei x + > D und negative (positive) 2a
√ b Werte bei
x +
< D. 2a
c) Eigenschaften der Funktion Definitionsbereich:
−∞ < x < ∞, D < 0: keine Einschränkungen, b D = 0: x = − , 2a √ b D > 0: x = − ± D. 2a
688
21 Funktionen einer reellen Variablen
Wertebereich:
Periodizität: Monotonie:
Symmetrien: Asymptoten:
1 , Da D = 0: 0 < f (x) < ∞,
a > 0 D < 0: 0 < f (x) < −
1 D > 0: 0 < f (x) < ∞, − ∞ < f (x) < − , Da 1 < f (x) < 0, a < 0 D < 0: − Da D = 0: −∞ < f (x) < 0, 1 D > 0: −∞ < f (x) < 0, − < f (x) < ∞. Da keine. b a > 0 x > − streng monoton fallend, 2a b x < − streng monoton steigend, 2a b a < 0 x > − streng monoton steigend, 2a b x < − streng monoton fallend. 2a b Spiegelsymmetrie zur x = − -Achse. 2a f (x) → 0 für x → ±∞.
d) Spezielle Werte Nullstellen:
keine.
Sprungstellen:
keine.
Polstellen:
D < 0: keine reellen Polstellen, b D = 0: x = − , 2a √ b D > 0: x = − ± D. 2a a > 0 D = 0 kein Extremum,
Extrema:
D = 0 Maximum bei x = −
b , 2a
a < 0 D = 0 kein Extremum, D = 0 Minimum bei x = − Wendepunkte:
keine.
Wert bei x = 0:
1 f (0) = . c
e) Reziproke Funktion Die reziproke Funktion ist die quadratische Funktion. 1 1 = = ax2 + bx + c. 2 f (x) (ax + bx + c)−1
b . 2a
21.11 Gebrochen rationale Funktionen
689
f) Umkehrfunktion Die Funktion ist nur für x > − %
b b ( bzw. x < − ) umkehrbar (a = 0). 2a 2a
1 b +D− . ay 2a
f −1 (y) =
g) Ableitung der Funktion Ableitung der reziproken quadratischen Funktion mithilfe der Kettenregel. 1 2ax + b d . =− 2 2 dx ax + bx + c (ax + bx + c)2
h) Stammfunktion Die Stammfunktion hängt von ∆ = 4ac − b2 ab:
dx 2 2ax + b √ √ = arctan + C1 ax2 + bx + c ∆ ∆ −2 + C1 = 2ax + b −2 2ax + b =√ Arctanh √ + C1 −∆ −∆
21.11.3
(für ∆ > 0) (für ∆ = 0) (für ∆ < 0)
Potenzfunktionen mit negativem Exponenten
f (x) = ax−n
n = 1,2, . . .
Verallgemeinerte Hyperbeln. Reziproke Funktionen zu den ganzrationalen Potenzfunktionen.
a) Definition Reziproke Funktion zu xn : −n
f (x) = ax
a = n =a x
n n 1 1 = a∏ . x k=1 x
b) Grafische Darstellung Eine wichtige Unterscheidung ist die Geradzahligkeit des Exponenten. ● Funktionen mit geradem n haben für a > 0 (a < 0) nur positive (negative) Werte. ● Funktionen mit ungeradem n haben für a > 0 (a < 0) für positives x positive (negative) und für negatives x negative (positive) Werte.
690
21 Funktionen einer reellen Variablen −1
4
2
0
−2
f ( x ) =x −4 f ( x ) =x
4
2
−4
−2
f(x)
f ( x ) =x −3 f ( x ) =x
f(x)
2
4 x
−4
−2
0
−2
−2
−4
−4
Ungerade Funktionen
2
4 x
Gerade Funktionen
● Alle Funktionen haben einen Pol n-ter Ordnung bei x = 0. ● Alle Funktionen gehen durch x = 1,y = a. Funktionen mit größerem n schmiegen sich für x → ±∞ schneller an die x-Achse an und erreichen betragsmäßig für x → 0 höhere Werte als Funktionen mit kleinerem n.
c) Eigenschaften der Funktion Definitionsbereich:
−∞ < x < ∞, x = 0.
Wertebereich:
n gerade
Periodizität:
a > 0: 0 < f (x) < ∞, a < 0: −∞ < f (x) < 0, n ungerade −∞ < f (x) < ∞, f (x) = 0. keine.
Monotonie für x > 0: n gerade
a > 0: streng monoton fallend, a < 0: streng monoton steigend, n ungerade a > 0: streng monoton fallend, a < 0: streng monoton steigend.
Monotonie für x < 0: n gerade
a > 0: streng monoton steigend, a < 0: streng monoton fallend, n ungerade a > 0: streng monoton fallend, a < 0: streng monoton steigend.
Symmetrien:
n gerade Spiegelsymmetrie zur y-Achse, n ungerade Punktsymmetrie zum Ursprung. Verhalten im Unend.: f (x) → 0 für x → ±∞.
keine. keine. Pol n-ter Ordnung bei x = 0. keine. keine.
21.11 Gebrochen rationale Funktionen
691
e) Reziproke Funktion Die reziproke Funktion ist ganzrationale Potenzfunktion n-ten Grades. 1 1 1 = −n = xn . f (x) ax a
f) Umkehrfunktion Die Umkehrfunktionen sind die reziproken n-ten Wurzeln. a −1 f (y) = n . y ▲ Die Umkehrfunktion kann bei ungeradem n für alle x, bei geradem n nur für x > 0 (bzw. für x < 0 mit einem zusätzlichen Minuszeichen) definiert werden.
g) Ableitung der Funktion Die Ableitung einer Potenzfunktion −n-ten Grades ist eine Potenzfunktion −(n + 1)-ten Grades: d −n ax = −nax−(n+1) . dx
h) Stammfunktionen Die Stammfunktion einer Potenzfunktion −n-ten Grades ist eine Potenzfunktion −(n − 1)-ten Grades (n = 1). a 1−n (ax−n ) dx = x + C1 . 1−n Für n = 1 ist die Stammfunktion die Logarithmusfunktion. a dx = a ln |x| + C1 . x
i) Spezielle Erweiterungen und Anwendungen Doppeltlogarithmische Darstellung: Wie auch die ganzrationalen Potenzfunktionen lassen sich auch die reziproken Potenzfunktionen doppeltlogarithmisch auftragen. Man erhält dabei Geraden mit negativer Steigung. 2
f(x)
f ( x ) =x −2 f ( x ) =x
4
2
f(x)
f ( x ) =x −2 f ( x ) =x
10 3 2
1
1 0.1 −2
−1
Darstellung:
0
linear
1
2 x
0.1
1
x
doppeltlogarithmisch
692
21 Funktionen einer reellen Variablen
21.11.4
Quotient zweier Polynome
an xn + an−1 xn−1 + . . . + a1 x + a0 f (x) = . bm xm + bm−1 xm−1 + . . . + b1 x + b0 Allgemeinster Fall gebrochen rationaler Funktionen.
a) Definition Darstellung der Funktion als Quotient der Polynome p(x) und q(x). f (x) =
p(x) ∑nk=0 ak xk = . m k q(x) ∑k=0 bk x
Echt gebrochen rationale Funktion: m > n. Unecht gebrochen rationale Funktion: m ≤ n.
b) Grafische Darstellung ● Sind in der Darstellung von f (x) gemeinsame Linearfaktoren von Zähler und Nenner gekürzt, so gilt: Die Funktion f (x) besitzt die Nullstellen des Zählerpolynoms p(x) als Nullstellen und die Nullstellen des Nennerpolynoms q(x) als Polstellen. 4
f(x)
f(x)=
2
x −2x +1
f(x)
3
x −4x
9
4
6
2
x -2x +1 5
3
x +x − 2 x
2
3 −9 −6 −3 0 −3
4
f(x)=
3
6
9 x
−4
−2
0
4 x
2
−2
−6 −9
−4
● Besitzen Zähler und Nenner am gleichen Punkt x0 eine Nullstelle der gleichen Ordnung, so kann die Definitionslücke an diesem Punkt stetig behoben werden. f(x)
f(x)=
4
2
5
3
f(x)
x − 2 x +x x +2x +x
2
f(x)=
x −1 2
x +1
2
2
0 −4
−2
0 −2
2
4 x
−4
−2
2
4 x
−2
▲ Ist die Nullstelle des Zählers von höherer Ordnung als die Nullstelle des Nenners, so ist die stetige Erweiterung eine Nullstelle der Funktion. Im Unendlichen wird das Verhalten der Funktion im Wesentlichen durch das Verhältnis der größten an Potenzen von Zähler- und Nennerpolynom xn−m bestimmt. bm
21.11 Gebrochen rationale Funktionen
693
c) Eigenschaften der Funktion Definitionsbereich:
−∞ < x < ∞, außer Nullstellen von q(x).
Wertebereich:
hängt vom Einzelfall ab.
Periodizität:
keine.
Monotonie:
hängt vom Einzelfall ab.
Symmetrien:
Besitzen Zähler- und Nennerpolynom beide nur gerade oder nur ungerade Potenzen, so ist f (x) spiegelsymmetrisch zur y-Achse. Besitzt ein Polynom nur gerade und das andere Polynom nur ungerade Potenzen, so ist f (x) punktsymmetrisch zum Ursprung. an Verhalten im Unendl.: für x → ±∞ geht f (x) gegen xn−m . bm
d) Spezielle Werte Nullstellen:
die Nullstellen von p(x) sind Nullstellen von f (x), falls q(x) an diesen Stellen = 0 ist.
Sprungstellen:
keine.
Polstellen:
die Nullstellen von q(x) sind Polstellen von f (x).
Extrema:
hängt vom Einzelfall ab, haben p(x) und q(x) am gleichen Punkt xE ein Extremum, so ist xE auch Extremum von f (x), falls d 2 p(x) d 2 q(x) p(x) = q(x) = 0. dx2 dx2 hängt vom Einzelfall ab. a0 f (0) = . b0
Wendepunkte: Wert bei x = 0:
e) Reziproke Funktion Die reziproke Funktion einer gebrochen rationalen Funktion ist wieder eine gebrochen rationale Funktion. m
1 = f (x)
∑ bk xk
k=0 n
∑ ak x
.
k
k=0
f) Umkehrfunktion Die Funktion wird im Allgemeinen nur in Teilbereichen invertierbar sein. ▲ Für sehr große x wird die Umkehrfunktion gegen eine (n − m)-te Wurzel gehen. 1 an n−m bm n−m −1 x → ∞ : y = f (x) → x , f (y) → y , (an = 0, bn = 0). bm an
g) Ableitung der Funktion Die Ableitung erfolgt über die Quotientenregel. dq(x) d p(x) · q(x) − p(x) · d dx . f (x) = dx dx (q(x))2
694
21 Funktionen einer reellen Variablen
▲ Die Ableitungen von p(x) und q(x) erfolgen, wie im Abschnitt 21.10.5 über Polynome dargestellt. n d n k a x = ∑ k ∑ kak xk−1 . dx k=0 k=1
h) Stammfunktionen ▲ Das Integral über f (x) wird im Allgemeinen sehr kompliziert sein. Es wird auf weitere Literatur, z. B. Gradstein-Ryshik, Integraltafeln, Verlag Harri Deutsch, verwiesen. Für einige einfachere Integrale sind hier Stammfunktionen angegeben: ax + b a b ad dx = x + − 2 ln |cx + d| + C1 , cx + d c c c
cx + d 1 dx
+ C1 , = ln (ax + b)(cx + d) bc − ad ax + b x dx 1 b d = ln |ax + b| − ln |cx + d| + C1 (ax + b)(cx + d) bc − ad a c Kompliziertere Integrale lassen sich auch lösen, wenn die Partialbruchzerlegung der Funktion f (x) integriert wird.
i) Spezielle Erweiterungen und Anwendungen Polynomdivision, Division eines Polynoms p(x) des Grades n durch ein Polynom q(x) des Grades m < n. Siehe im folgenden Abschnitt. Polynomdivision und Partialbruchzerlegung, werden angewandt, um den Quotienten zweier Polynome als Summe von (auf der x-Achse verschobenen) Potenzfunktionen mit ganzen positiven oder negativen Exponenten darzustellen. Ist der Grad n des Zählerpolynoms größer oder gleich dem Grad m des Nennerpolynoms, so wird durch Polynomdivision die Funktion in ein Polynom des Grades n − m und eine Restfunktion gespalten, bei der der Grad des Zählerpolynoms r(x) kleiner ist als der Grad des Nennerpolynoms q(x). f (x) =
p(x) n−m k r(x) = ∑ ak x + . q(x) q(x) k=0
Die Restfunktion bzw. bei n < m die Gesamtfunktion kann durch Partialbruchzerlegung als eine Summe von einfachen Brüchen geschrieben werden. ▲ Polynomdivision und Partialbruchzerlegung haben ihre Bedeutung z. B. bei der Integration gebrochen rationaler Funktionen. Polynomdivision, Division eines Polynoms p(x) des Grades n durch ein Polynom q(x) des Grades m < n. Bei der Division erhält man ein Quotientenpolynom h(x) und einen Restterm r(x)/q(x). f (x) =
p(x) r(x) ∑n ai xi = mi=0 = h(x) + . j q(x) q(x) ∑ j=0 b j x
Die Division erfolgt sukzessiv. Man beginne mit den höchsten Termen von p(x) und q(x): p(x) an p1 (x) = xn−m + . q(x) bm q(x) Der Rest p1 (x) ist gegeben durch: p1 (x) = p(x) −
k an n−m x q(x) = ∑ ci xk . bm i=0
21.11 Gebrochen rationale Funktionen
695
Ist p1 (x) = 0, so ist die Division beendet, anderenfalls wiederhole man die Division mit dem neuen Polynom p1 (x). Dies ergibt ein Polynom p2 (x): ck p1 (x) p2 (x) = xk−m + . q(x) bm q(x) Die Lösung für p(x) ist dann p(x) an ck p2 (x) = xn−m + xk−m + . q(x) bm bm q(x) Ist p2 (x) = 0, wird die Division fortgesetzt, bis schließlich beim r-ten Mal entweder pr (x) = 0 ist (in diesem Fall ist die Division glatt aufgegangen) oder der Grad von pr (x) kleiner wird als der Grad von q(x). Im letzten Fall ist pr (x) das Restpolynom r(x). Die Zerlegung lautet dann: p(x) an ck dl r(x) = xn−m + xk−m + xl−m + . . . + . q(x) bm bm bm q(x) ■ Division von p(x) = x4 − x2 + 3x + 1 durch q(x) = x2 + x − 1: f (x) =
x4 − x2 + 3x + 1 = x2 · (x2 + x − 1) − x3 + 3x + 1 x2 −x3 + 3x + 1 = −x · (x2 + x − 1) + x2 + 2x + 1 −x x2 + 2x + 1 = 1 · (x2 + x − 1) + x + 2 1 r(x) = x + 2 x4 − x2 + 3x + 1 x+2 2 = x . − x + 1 + x2 + x − 1 x2 + x − 1 Der Ausdruck r(x)/q(x) kann weiter in Partialbrüche zerlegt werden. √ √ 5+3 5−3 x4 − x2 + 3x + 1 2 +√ . = x −x+1+ √ 2 x +x−1 5(2x + 1) − 5 5(2x + 1) + 5 Partialbruchzerlegung, Zerlegung von f (x) in eine Summe von Brüchen. Zähler p(x) und Nenner q(x) sollen keine gemeinsamen Polynomfaktoren haben und der Grad n von p(x), soll kleiner als der Grad m von q(x), sein. Die Produktdarstellung von q(x) ist: q(x) = (x − x1 )n1 (x − x2 )n2 · · · (x − xk )nk · R(x), wobei xi die k Nullstellen mit der Vielfachheit ni des Polynoms sind. Der Restterm lasse sich als Produkt von irreduziblen (d. h. im Bereich der reellen Zahlen nicht in Linearfaktoren zerlegbaren) quadratischen Polynomen darstellen. R(x) = r1 (x)l1 · . . . · rs (x)ls ,
rk = x2 + pk x + qk ,
4qk > p2k .
Zu jeder Nullstelle xi mit der Vielfachheit ni werden Terme bis zur Potenz ni gebildet. Ai1 Ai2 Ain , , . . . , , i = 1, . . . ,k. x − xi (x − xi )2 (x − xi )ni Ebenso werden Ausdrücke zu den Resttermen r j (x) der Vielfachheit l j gebildet. B1j x + C1j , r j (x)
B2j x + C2j , (r j (x))2
...,
Blj x + Clj , (r j (x))l
j = 1, . . . ,s.
Alle diese Terme werden addiert: ni li Bi x + C i k s Aij j j f (x) = ∑ ∑ +∑ ∑ . j j (x − x ) (r (x)) i i i=1 j=1 i=1 j=1
696
21 Funktionen einer reellen Variablen
▲ Meist ist es praktisch, zunächst die Gleichung mit dem Nennerpolynom zu multiplizieren, um so eine Polynomgleichung zu erhalten. Durch Koeffizientenvergleich können die Koeffizienten der Partialbruchzerlegung gebildet werden. ▲ Oft ist es jedoch einfacher, durch Einsetzen spezieller Werte (z. B. x = 0, Nullstellen des Nennerpolynoms) jeweils alle Koeffizienten bis auf einen zu eliminieren. ■ Funktion f (x) mit f (x) =
(x + 1)2 . (x − 1)3 (x − 2)
Partialbruchansatz: A1 A2 A3 B f (x) = + + + . 2 3 x − 1 (x − 1) (x − 1) x−2 Gleichsetzen und Multiplikation mit dem Nennerpolynom (x + 1)2 = A1 (x − 1)2 (x − 2) + A2 (x − 1)(x − 2) + A3 (x − 2) + B(x − 1)3 . Einsetzmethode: Einsetzen von x = 1 und x = 2 ergibt −A3 = 4 und B = 9. Einsetzen von x = 0 und A3 = −4, B = 9 ergibt 2 = −2A1 + 2A2 und somit A2 = A1 + 1 Einsetzen von x = 3 ergibt −54 = 6A1 und somit A1 = −9, A2 = −8. Koeffizientenvergleich: Ordnen der rechten Seite nach Potenzen: x2 + 2x + 1 = (A1 + B)x3 + (−4A1 + A2 − 3B)x2 +(5A1 − 3A2 + A3 + 3B)x + (−2A1 + 2A2 − 2A3 − B). Koeffizientenvergleich: bei x3 : A1 + B = 0 und somit B = −A1 , bei x2 : −4A1 + A2 − 3B = 1 und somit A2 = A1 + 1, bei x: 5A1 − 3A2 + A3 + 3B = 2 und somit A3 = A1 + 5 sowie −2A1 + 2A2 − 2A3 − B = 1 und somit −A1 = 9. Die Partialbruchzerlegung lautet daher f (x) = −
21.12
9 8 4 9 − . − + 2 3 x − 1 (x − 1) (x − 1) x−2
Nichtrationale algebraische Funktionen
Algebraische Funktionen lassen sich darstellen als Lösung einer Gleichung mit Koeffizienten, die Polynome der unabhängigen Variablen sind. √ ■ Die Gleichung y · y = x definiert für x ≥ 0 die Wurzelfunktion y = x. Eine implizite algebraische Funktion wird z. B. durch y6 + (x5 − x3 )y3 + y2 − 3 = 0
gegeben.
▲ Ein durch y = a0 +a1 x+a2 x2 +. . .+an xn bestimmtes Polynom ist ebenfalls eine algebraische Funktion. Im Folgenden sollen Funktionen beschrieben werden, die zwar algebraisch sind, nicht aber als Quotient oder (endliche) Summe von Potenzfunktionen dargestellt werden können. Dabei werden zuerst Quadratwurzelfunktionen behandelt, anschließend Wurzelfunktionen, die als Umkehrfunktionen der Potenzfunktion
21.12 Nichtrationale algebraische Funktionen
697
höheren Grades definiert sind, sowie Potenzfunktionen mit gebrochenem Exponenten und schließlich Wurzelfunktionen deren Radikanden rationale Funktionen sind sowie abschließend Beziehungen zu Kegelschnitten.
21.12.1
Quadratwurzelfunktion
√ f (x) = ax + b.
in Programmiersprachen SQRT(A*X+B), manchmal auch SQR(A*X+B). Quadratwurzel, auch zweite Wurzel oder einfach Wurzel genannt. Umkehrfunktion der quadratischen Funktion. Bedeutung in der Vektorrechnung für die Betragsbildung von Vektoren. Bedeutung in der Statistik für die Addition von Fehlern in unabhängigen Messgrößen.
a) Definition Umkehrfunktion der quadratischen Funktion auf dem positiven Ast. √ 1 b y = f (x) = x2 − , f −1 (x) = ax + b. a a Schreibweise als Potenzfunktion mit gebrochenem Exponenten: √ 1 f (x) = ax + b = (ax + b) 2 .
b) Grafische Darstellung b ● Die Wurzelfunktion ist für a > 0 (a < 0) nur für Werte x ≥ − a f(x)
f(x)
f(x)= x f(x)= 2x
3
2
1
1
1
2
3
f ( x ) = x+ 1 f(x)= x−1
3
2
0
b x≤− definiert. a
4 x
−1
0
1
2
3
4 x
b Die Funktion hat bei x = − den Wert Null. Der Graph hat an dieser Stelle eine senkrechte Tangente. a b ▲ Die Steigung wird bei x = − unendlich. a Die Funktion ist für a > 0 streng monoton steigend (für a < 0 streng monoton fallend). Sie steigt für große x langsamer als jede beliebige lineare Funktion g(x) = ax, a > 0. Mit größerem a > 0 steigt die Funktion schneller.√ Bei x = 0 hat die Funktion (für b > 0) den Wert b.
c) Eigenschaften der Funktion Definitionsbereich:
b a > 0: − ≤ x < ∞, a b a < 0: −∞ < x ≤ − . a
698
21 Funktionen einer reellen Variablen
Wertebereich:
0 ≤ f (x) < ∞.
Periodizität:
keine.
Monotonie:
a > 0: streng monoton steigend, a < 0: streng monoton fallend.
Symmetrien:
keine.
Verhalten im Unendl.: a > 0: f (x) → ∞ für x → ∞, a < 0: f (x) → ∞ für x → −∞.
d) Spezielle Werte
Sprungstellen:
b x=− . a keine, Funktion überall stetig.
Polstellen:
keine.
Extrema:
keine, Funktion streng monoton.
Wendepunkte:
keine, Funktion überall konkav.
Nullstellen:
e) Reziproke Funktion Die reziproke Funktion ist die Wurzel des Kehrwerts. 1 1 1 1 =√ = = x− 2 . f (x) x x
f) Umkehrfunktion Die Umkehrfunktion der Quadratwurzelfunktion ist die quadratische Funktion. 1 1 f −1 (y) = y2 − . a b ▲ Für die Umkehrfunktion ist nur ein Ast der Parabel (allgemein der positive Ast) definiert.
g) Ableitung der Funktion Die Ableitung ist eine reziproke Quadratwurzel. d√ a ax + b = √ . dx 2 ax + b
h) Stammfunktionen Die Stammfunktion ist die dritte Potenz der Quadratwurzel. 3 √ 2 √ ax + b dx = ax + b + C1 . 3a
21.12.2 f (x) =
Wurzelfunktionen √ n x.
Allgemeine Wurzel n-ten Grades.
21.12 Nichtrationale algebraische Funktionen
699
a) Definition Umkehrfunktion der Potenzfunktion n-ten Grades. √ y = f (x) = xn , n > 1, ganz f −1 (x) = n x. Potenzschreibweise: √ f (x) = n x = x1/n . Negative Exponenten: 1/n 1 n 1 . f (x) = x−1/n = = x x Die Funktion ist zunächst nur für x ≥ 0 definiert. ▲ Für ungerades n lässt sie sich gemäß f (x) = − f (−x) auch für negative x darstellen. √ n xx ≥ 0 f (x) = n ungerade. √ − n −x x < 0
b) Grafische Darstellung Die Funktionen mit n > 1 sind monoton steigend und gehen durch die Punkte x = 1, f (x) = 1 und x = 0, f (x) = 0. √ ▲ Graphen von f (x) = n x schneiden die x-Achse im Punkt (x = 0,y = 0) senkrecht. Für größere n steigt die Kurve zwischen x = 0 und x = 1 stärker und für x > 1 schwächer an als für kleinere n. Die Graphen der Funktionen mit n < −1 sehen aus wie Hyperbeln, die vom Pol bei x = 0 fallen und durch x = 1, f (x) = 1 gehen. f(x) 4
f(x) 4
f(x)= x 3
f(x)=
f(x)= x 3
3
2
2
1
1
0
1
2
3
4 x
0
c) Eigenschaften der Funktion Definitionsbereich:
n > 0: 0 ≤ x < ∞, n < 0: 0 < x < ∞, n ungerade n > 0: −∞ < x < ∞, n < 0: −∞ < x < ∞, x = 0.
n gerade
f(x)=
1
2
3
3
1 x 1 x
4 x
700
21 Funktionen einer reellen Variablen n > 0: 0 ≤ f (x) < ∞, n < 0: 0 < f (x) < ∞, n ungerade n > 0: −∞ < f (x) < ∞, n < 0: −∞ < f (x) < ∞, x = 0.
Wertebereich:
n gerade
Periodizität:
keine.
Monotonie:
n > 0 streng monoton steigend, n < 0 streng monoton fallend.
Symmetrien:
n gerade keine, n ungerade Punktsymmetrie zum Ursprung.
Verhalten im Unendl.: n gerade
n > 0: n < 0: n ungerade n > 0: n < 0:
f (x) → ∞ für x → ∞, f (x) → 0 für x → ∞, f (x) → ±∞ für x → ±∞, f (x) → ±0 für x → ±∞.
n > 0 x = 0, n < 0 keine. keine. n > 0 keine, n < 0 x = 0. keine. n > 0 ungerade: Wendepunkt unendlicher Steigung bei x = 0, sonst: kein Wendepunkt.
e) Reziproke Funktion Die reziproke Funktion ändert das Vorzeichen im Exponenten. 1 1 = 1/n = x−1/n . f (x) x
f) Umkehrfunktion Die Umkehrfunktion ist eine Potenzfunktion mit dem Exponenten n. f −1 (y) = yn .
g) Ableitung der Funktion Die Ableitung der Wurzelfunktion ist die Wurzelfunktion einer Potenz. d √ 1√ n 1−n n x= x . dx n Analog für die reziproke Funktion: % n+1 1n 1 d n 1 =− . dx x n x
21.12 Nichtrationale algebraische Funktionen
701
h) Stammfunktionen Die Stammfunktion der Wurzelfunktion ist die Wurzelfunktion einer Potenz. √ n √ n n+1 n x dx = x + C1 . n+1 ● Das Integral über die reziproke Funktion ist ebenfalls eine Wurzelfunktion einer Potenz. n √ n n−1 n 1 x + C1 , n > 1 . dx = x n−1
21.12.3
Potenzfunktionen mit gebrochenen Exponenten m
f (x) = x n . Allgemeinste algebraische Potenzfunktion.
a) Definition Darstellung der Funktion mit einem gekürzten Bruch als Exponent. Interpretation als die n-te Wurzel der m-ten Potenz. m √ f (x) = x n = n xm . ● Für die Interpretation wird angenommen, dass n > 0 ist und m = 0 positive und negative Werte annehmen kann (m und n ganze Zahlen). Drei Hauptfälle: m und n sind ungerade, die Funktion kann für alle x definiert werden und positive und negative Werte annehmen. m gerade und n ungerade, die Funktion kann für alle x definiert werden, nimmt aber keine negativen Werte an. m ungerade und n gerade, die Funktion kann nur für x ≥ 0 definiert werden und nimmt auch keine negativen Werte an. m ▲ Der Fall m und n gerade entfällt, weil der Bruch noch durch Zwei gekürzt werden kann. n
b) Grafische Darstellung Die Funktion ist für m > 0 streng monoton steigend für x ≥ 0. Für m > n ist die Kurve konvex gekrümmt, für 0 < m < n ist sie konkav (jeweils für x ≥ 0). Für m < 0 sieht die Kurve wie eine Hyperbel aus, ist konvex und streng monoton fallend im Bereich x > 0. 1/2
f(x)
f ( x ) =x 3/2 f ( x ) =x
4
f(x)
f ( x ) =x
4
f ( x ) =x
3
3
2
2
1
1
0
1
2
3
4 x
0
1
2
3
− 1/2 − 3/2
4 x
Funktionen (links) und ihre korrespondierenden reziproken (rechts)
702
21 Funktionen einer reellen Variablen
Das Verhalten für x < 0 ergibt sich aus m und n: ● m und n ungerade: Die Funktion ist punktsymmetrisch zum Ursprung. Der Graph schneidet für 0 < m < n senkrecht die x-Achse, für m > n läuft er waagrecht ein. ● m gerade und n ungerade: Die Funktion ist spiegelsymmetrisch zur y-Achse. Für 0 < m < n besitzt sie bei x = 0 eine Knickstelle. ● m ungerade und n gerade: Die Funktion ist nicht für x < 0 definiert. ■ Neil’sche Parabel (semikubische Parabel) mit m = 3, n = 2 (siehe obige Abbildung).
2
−1
1
0
1
2 x
−2
−1
0
−1
−1
−2
−2
c) Eigenschaften der Funktion Definitionsbereich:
Für m < 0 wird x = 0 ausgenommen. n ungerade: −∞ < x < ∞, n gerade: 0 ≤ x < ∞. Wertebereich: Für m < 0 wird f (x) = 0 ausgenommen. m,n ungerade: −∞ < f (x) < ∞, m oder n gerade: 0 < f (x) < ∞. Periodizität: keine. Monotonie: x > 0, m > 0: streng monoton steigend, x > 0, m < 0: streng monoton fallend, x < 0, entsprechend den Symmetrien. Symmetrien: m,n ungerade: Punktsymmetrie zum Ursprung, m gerade: Spiegelsymmetrie zur y-Achse, n gerade: keine Symmetrie. Verhalten im Unendl.: m < 0: f (x) → 0 für x → ∞, m > 0: f (x) → ∞ für x → ∞.
m > 0: x = 0, m < 0: keine. keine. m > 0: keine, m < 0: x = 0. m gerade, m > n Minimum bei x = 0. m,n ungerade, m > 2n Sattelpunkt bei x = 0.
1
2 x
21.12 Nichtrationale algebraische Funktionen
703
e) Reziproke Funktion Die reziproke Funktion verändert das Vorzeichen im Exponenten. m 1 1 = m = x− n . f (x) xn
f) Umkehrfunktion Die Umkehrfunktion hat den Kehrwert im Exponenten. n
f −1 (y) = y m .
g) Ableitung der Funktion Die Ableitung reduziert den Exponenten um Eins. d a m a= . x = axa−1 dx n
h) Stammfunktionen Für a = −1 gilt:
xa+1 m a = + C1 . a+1 n ▲ Für a = −1 gilt bekanntlich: xa dx =
x 1
t −1 dt = ln(x).
i) Spezielle Erweiterungen und Anwendungen Erweiterung auf nichtrationale Exponenten: Existiert eine Folge rationaler Zahlen an , deren Grenzwert eine irrationale Zahl a ist, (an ),
an rational, mit lim an = a, n→∞ a
so lässt sich die Funktion x als Grenzwert der Funktionenfolgen definieren xa = lim xan . n→∞
▲ Die Funktion ist dann nicht mehr algebraisch. Alternative Definition der allgemeinen Potenzfunktion mithilfe transzendenter Funktionen: xa = ea ln(x) .
21.12.4
Wurzeln von rationalen Funktionen
f (x) = r(x),
r(x)
rationale Funktion.
Quadratwurzel von Polynomen. Wichtig für die Darstellung von Kegelschnitten.
a) Definition Allgemeine Darstellung als Wurzel einer rationalen Funktion. % % p(x) ∑nk=0 ak xk f (x) = r(x) = = . q(x) ∑mk=0 bk xk
704
21 Funktionen einer reellen Variablen
Spezialfälle: p(x) = x2 + a2 , q(x) = 1,
und
p(x) = a2 − x2 , q(x) = 1,
und
p(x) = 1, q(x) = a2 − x2 .
und deren reziproke Funktion p(x) = 1 q(x) = x2 + a2 ,
▲ Die Kurve zu p(x) = a6 , q(x) = (x2 + a2 )2 wird Versiera der Agnesi genannt.
b) Grafische Darstellung Die Funktion f (x) wird durch das Verhalten von p(x) und q(x) bestimmt. Die Nullstellen von p(x) sind die Nullstellen von f (x) und die Nullstellen von q(x) sind die Polstellen von f (x). ▲ Haben Zähler und Nennerpolynom an der gleichen Stelle x0 eine Nullstelle, so ist auf die Vielfachheit der Nullstellen zu achten, um zu entscheiden, ob es sich um einen Pol oder um eine hebbare Lücke handelt. ● Die Funktion ist nur dort definiert, wo p(x) und q(x) gleiches Vorzeichen haben. f(x) 2
reziproke Funktion (– – – –) √ Die Funktion f (x) = a2 − x2 beschreibt die obere Hälfte eines Kreises mit Radius |a|. Ihre reziproke Funktion √ hat ein Minimum bei x = 0 und divergiert bei x = ±a. Die Funktion f (x) = x2 + a2 beschreibt den positiven Arm einer Hyperbel mit den Asymptoten y = ±x. Ihre reziproke Funktion hat ein Maximum bei x = 0 und geht für x → ±∞ gegen Null.
c) Eigenschaften der Funktion Definitionsbereich:
Bereich, für q(x) = 0: √ 2 2 a −x −a ≤ x ≤ a, √ −1 2 2 ( a −x ) −a < x < a, √ 2 2 x +a −∞ < x < ∞, √ ( x2 + a2 )−1 −∞ < x < ∞.
Wertebereich:
positiver Wertebereich, hängt von p(x),q(x) ab. √ a2 − x2 0 ≤ f (x) ≤ |a|, √ −1 ( a2 − x2 ) 1/|a| ≤ f (x) < ∞, √ x2 + a2 |a| ≤ f (x) < ∞, √ −1 2 2 ( x +a ) 0 < f (x) ≤ 1/|a|.
p(x) Spiegelsymmetrie besitzt, so auch f (x). q(x) Spiegelsymmetrie zur y-Achse für √ √ ( a2 − x2 )±1 und ( x2 + a2 )±1 . √ Verhalten im Unendl.: ( a2 − x2 )−1 f (x) → ∞ für x → ±a, √ x2 + a2 f (x) → |x| für x → ±∞, √ −1 2 2 ( x +a ) f (x) → 0 für x → ±∞. Symmetrien:
falls
d) Spezielle Werte Nullstellen:
Nullstellen von p(x) √ a2 − x2 x = ±a, √ −1 2 2 ( a −x ) keine, √ x2 + a2 keine reellen, √ ( x2 + a2 )−1 keine.
Sprungstellen:
im Allgemeinen √ keine,±1 √ so auch für ( a2 − x2 ) und ( x2 + a2 )±1 .
p(x) Extrema von mit q(x) = 0 q(x) √ a2 − x2 Maximum bei x = 0, √ −1 2 2 ( a −x ) Minimum bei x = 0, √ x2 + a2 Minimum bei x = 0, √ −1 2 2 ( x +a ) Maximum bei x = 0. hängt q(x) ab. √ von p(x) und√ ( a2 − x2 )±1 und ( x2 + a2 )±1 haben keine Wendepunkte. a0 f (0) = , b0 √ a2 − x2 f (0) = |a|, √ −1 2 2 ( a −x ) f (0) = 1/|a|, √ 2 2 x +a f (0) = |a|, √ ( x2 + a2 )−1 f (0) = 1/|a|.
705
706
21 Funktionen einer reellen Variablen
e) Reziproke Funktion Die reziproke Funktion ist die Wurzel mit vertauschtem Zähler und Nenner. % 1 1 q(x) = =% . f (x) p(x) p(x) q(x) Die Beispielfunktionen sind paarweise zueinander reziprok.
f) Umkehrfunktion Die Umkehrfunktionen zu Hyperbel und Kreis sind wieder Hyperbeln und Kreise. Sie sind nur für positive Werte definiert, allerdings auch auf negative Werte erweiterbar. ▲ Die Hyperbeln sind an der Winkelhalbierenden y = x gespiegelt. Die neue Hyperbel schneidet die xAchse bei x = |a|. y = f (x) = x2 + a2 , x = f −1 (y) = y2 − a2 . Der Kreis ist seine eigene Umkehrfunktion. y = f (x) = a2 − x2 , x = f −1 (y) = a2 − y2 .
g) Ableitung der Funktion ▲ Ableitung erfolgt nach der Kettenregel: 1 d d r(x) = √ r(x). dx 2 r(x) dx √ Ableitung von a2 − x2 : x d 2 a − x2 = − √ . 2 dx a − x2 √ Ableitung von ( a2 − x2 )−1 : d x 1 √ = √ . dx a2 − x2 ( a2 − x2 )3 √ Ableitung von x2 + a2 : x d 2 x + a2 = √ . 2 dx x + a2 √ Ableitung von ( x2 + a2 )−1 : d 1 x √ =− √ . dx x2 + a2 ( x2 + a2 )3
h) Stammfunktionen ▲ Eine allgemeine Integrationsformel kann nicht angegeben werden. Siehe z. B. Gradstein Ryshik, Integraltafeln, Verlag Harri Deutsch. Die Stammfunktionen der Beispielfunktionen enthalten inverse trigonometrische und hyperbolische Funktionen.
Kegelschnitte
707
√ Stammfunktion von a2 − x2 für −a ≤ x ≤ a: x x 2 a2 a2 − x2 dx = a − x2 + arcsin + C1 . 2 2 a √ Stammfunktion von ( a2 − x2 )−1 für −a ≤ x ≤ a: x dx √ = arcsin + C1 . a a2 − x2 √ Stammfunktion von x2 + a2 : x x 2 a2 2 2 2 x + a dx = x + a + Arsinh + C1 . 2 2 a √ Stammfunktion von ( x2 + a2 )−1 : x dx √ + C1 . = Arsinh a x2 + a2
i) Spezielle Erweiterungen und Anwendungen Komplexe Argumente: Wie bei den Wurzelfunktionen beschrieben, kann die Wurzel auch für komplexe Argumente definiert werden. Interessanter Spezialfall: Für ein imaginäres Argument z = ix vertauschen die beiden Beispielfunktionen ihre anschauliche Deutung: √ ● Die Funktion a2 + z2 stellt einen Kreisbogen dar: a2 + (ix)2 = a2 − x2 . √ ● Die Funktion a2 − z2 stellt einen Hyperbelbogen dar: a2 − (ix)2 = a2 + x2 . ▲ Mit dieser anschaulichen Darstellung lassen sich die Zusammenhänge zwischen trigonometrischen und hyperbolischen Funktionen im Komplexen aufgrund der geometrischen Deutung dieser Funktionen (s. 21.14.1) besser verstehen.
21.12.5
Kegelschnitte
Kegelschnitte: Schnittfiguren beim Schnitt eines (Doppel-)Kegels mit einer Ebene. Gleichung des Doppelkegels: (x − x0 )2 + (y − y0 )2 = c2 (z − z0 )2 , c bestimmt den Öffnungswinkel und x0 ,y0 ,z0 den Ort der Kegelspitze. Gleichung der Ebene: z = m(x cos(ϕ ) + y sin(ϕ )) + a, wobei m die Steigung ist, a der Achsenabschnitt auf der z-Achse und ϕ der Winkel zwischen der x-Achse und der Achse der größten Steigung. Allgemeine implizite Darstellung der Schnittkurve a11 x2 + 2a12 xy + a22 y2 + b1 x + b2 y + d = 0. Durch eine Rotation des Koordinatensystems lässt sich der Term 2a12 xy eliminieren.
708
21 Funktionen einer reellen Variablen
▲ Für a11 = 0 = a22 können durch eine Verschiebung des Koordinatensystems die Terme b1 x und b2 y eliminiert werden: 2 2 a11 x + a22 y + d = 0.
Wird in den Gleichungen von Kegel und Ebene x0 = y0 = z0 = 0, c = 1, sowie ϕ = 0 und m = ε ≥ 0 angenommen, so vereinfacht sich die Schnittgleichung zu x2 (1 − ε 2 ) + y2 − 2aε x = a2 , ε ist die numerische Exzentrizität: ε =0
Kreis 0 < ε < 1 Ellipse ε =1 Parabel ε >1 Hyperbel Für ε = 1 verschwindet der in x quadratische Term. Die Kurve besteht aus zwei Wurzelbögen: y = ± a2 + 2ax. Für die anderen Fälle lässt sich der lineare Term eliminieren; man erhält die Mittelpunktsdarstellung: Ellipse: x2 y2 + =1 b2 = a2 (1 − ε 2 ), a2 b2 wobei a die große und b die kleine Halbachse ist. ▲ Für ε = 0 ist die Kurve mit a2 = b2 ein Kreis. Die Ellipse kann durch folgende Parametrisierung beschrieben werden: x = a cos(t)
y = b sin(t)
0 ≤ t < 2π .
Hyperbel: y2 x2 − =1 b2 = a2 (ε 2 − 1). a2 b2 Die Hyperbeläste werden durch folgende Parametrisierung beschrieben (+ für den rechten und − für den linken Ast): x = ±a cosh(t)
y = ±b sinh(t)
− ∞ < t < ∞.
Brennpunkte der Figuren liegen in der Mittelpunktsdarstellung bei x = ±ε a,y = 0. ● Bei der Ellipse ist die Summe der Abstände eines Kurvenpunkts zu den beiden Brennpunkten konstant. ■ Bahnen von Satelliten um die Erde sind Kreis- oder Ellipsenbahnen, bei denen sich der Mittelpunkt der Erde in einem Brennpunkt befindet. ● Bei der Hyperbel ist die Differenz der Abstände eines Kurvenpunkts zu den beiden Brennpunkten konstant. ■ Die Streuung zweier sich abstoßender geladener Teilchen hat die Bahnkurve einer Hyperbel. Ursprung des Koordinatensystems im Brennpunkt des Kegelschnitts: Darstellung in Polarkoordinaten unter Verwendung der Exzentrizität ε p r= . 1 + ε cos(ϕ )
21.13 Transzendente Funktionen
709
▲ Der Pol liegt in einem Brennpunkt des Kegelschnitts, ϕ ist der Winkel zwischen dem Radiusvektor und der Verbindungslinie von diesem Brennpunkt zum nächstliegenden Scheitelpunkt. Diese Gleichung erfasst nur einen Ast der Hyperbel. Implizite Gleichung in kartesischen Koordinaten: x2 + y2 − ε x = a. Auflösen nach positiven y-Werten ergibt y = (a + ε x)2 − x2 . Unterscheidung nach der Exzentrizität ε : √ ε =0 Kreis f (x) = a2 − x2 % 2 a2 ε 2 0 < ε < 1 Ellipse f (x) = − x 1−ε − √ a 1 − ε2 1 − ε2 ε =1 Parabel f (x) = a2 + 2ax % 2 ε ε >1 Hyperbel f (x) = a − a2 x ε2 − 1 + √ ε2 − 1 Die √ Umkehrfunktionen√führen für ε = 1 auf die Gleichung einer Parabel, √ für ε =√0 auf die Funktion 2 2 a − x und für ε = 2 auf die auf der y-Achse verschobene Hyperbel x2 + a2 − 2a. ▲ Analoge Betrachtungen können auch im drei- und höherdimensionalen Raum gemacht werden, dabei entstehende Körper werden Ellipsoide, Hyperboloide etc. genannt. Allgemeine Gleichung in Mittelpunktsdarstellung: a11 x2 + a22 y2 + a33 z2 + 2a12 xy + 2a13 xz + 2a23 yz = d. ▲ Die Koeffizienten können als Elemente einer symmetrischen Matrix geschrieben werden. Durch eine Hauptachsentransformation lässt sich diese Matrix auf Diagonalform und der Körper in das Hauptachsensystem bringen. ■ Der Trägheitstensor ist eine solche Matrix. Die außerhalb der Diagonalen stehenden Elemente heißen Deviationsmomente und sind für Unwuchten verantwortlich. In Diagonalform beschreiben die Diagonalelemente das Trägheitsmoment bei Rotation um die entsprechende Achse.
21.13
Transzendente Funktionen
Transzendente Funktionen sind Funktionen, die nicht als eine endliche Kombination algebraischer Terme dargestellt werden können. Wichtige Vertreter dieser Funktionen sind die Exponential- und Logarithmusfunktion, die hyperbolischen und trigonometrischen Funktionen sowie deren Umkehrfunktionen. In diesem Teil-Kapitel werden Exponentialfunktion, die Exponentialfunktion von Potenzen und die Logarithmusfunktion beschrieben. Die anderen transzendenten Funktionen folgen in eigenen Kapiteln.
710
21 Funktionen einer reellen Variablen
21.13.1
Exponentialfunktion
f (x) = eax+b . Aufruf in Programmiersprachen: EXP(A*X+B). Beschreibung vieler Wachstumsprozesse, Zerfallsprozesse und wirtschaftlicher Prozesse, in denen eine vorgegebene Menge proportional zu der Anzahl ihrer Elemente wächst (oder sich verringert). ● Die Ableitung der Funktion ist proportional zu der Funktion selbst. ▲ Dies führt zur Beschreibung exponentiellen Wachstums bzw. exponentiellen Zerfalls. ● Die Exponentialfunktion wächst schneller als jedes beliebige Polynom in x. Natürlicher Antilogarithmus, häufige Bezeichnung, die auf eine Definitionsmöglichkeit als Umkehrfunktion des natürlichen Logarithmus zurückgeht. ▲ Die allgemeine Exponentialfunktion wird durch die Schreibweise eax+b mit eingeschlossen. Selbstpotenzierende Funktion xx , Spezialfall dieser allgemeinen Exponentialfunktion, die unter g) kurz beschrieben wird.
a) Definition Potenz der Euler’schen Zahl e: n n+1 x e : e = lim = 2,7182818284 . . . n→∞ n Umkehrfunktion des natürlichen Logarithmus: ey = x
y = ln(x),
x > 0.
Grenzwert eines polynomialen Produktes (konvergiert langsam): x n ex = lim 1 + . n→∞ n Potenzreihe (konvergiert schnell): ∞
xi . i=0 i!
ex = ∑
Lösung der Differenzialgleichung d f (x) = a · f (x); dx
f (x) = eax+b .
b) Grafische Darstellung Es gibt zwei bedeutende Unterschiede: a > 0: Die Funktion wächst sehr schnell gegen unendlich. a < 0: Die Funktion fällt sehr schnell gegen Null. a = 0: konstante Funktion. a > 1 (a < −1) führt zu einem schnelleren Anstieg (schnelleren Abfall) der Funktion. 0 < a < 1 (−1 < a < 0) führt zu einem langsameren Anstieg (langsameren Abfall). ▲ Im Punkt (x = 0) besitzen die Funktionen f (x) = eax+b den Wert eb , d. h. für b = 0 den Wert 1.
21.13 Transzendente Funktionen x
f(x)=e −x f(x)=e
f(x) 4
711 x
f(x)=e −x f(x)=e
f(x)
3 1 2 1 0.1 −2
−1
0
1
2 x
lineare Darstellung
f(x)=e
4
−1
0
1
2 x
halblogarithmische Darstellung
f(x)=e
f(x)
−2
x
f(x)=e
f(x)
x . ln2
f(x)=e
x x . ln2
3 1 2 1 0.1 −2
−1
0
1
2 x
lineare Darstellung
−2
−1
0
1
2 x
halblogarithmische Darstellung
Halblogarithmische Darstellung (y-Achse logarithmisch): ● Der Graph der Exponentialfunktion ist eine Gerade. Die Steigung der Geraden korrespondiert zur Stärke des Anstiegs von eax+b und ist proportional zu a. Negatives a führt zu negativen Steigungen. ▲ Alle Geraden schneiden sich für b = 0 im Punkt (x = 0,y = 1). Für b = 0 sind die Geraden parallel verschoben. b = 0 entspricht einem Vorfaktor zur Exponentialfunktion eb · eax .
c) Eigenschaften der Funktion Definitionsbereich:
−∞ < x < ∞.
Wertebereich:
0 < f (x) < ∞.
Periodizität:
keine Periodizität.
Monotonie:
a > 0: streng monoton steigend, a < 0: streng monoton fallend, a = 0: konstante Funktion.
Symmetrien:
Es existieren keine Punkt- oder Spiegelsymmetrien.
Verhalten im Unendl.: a > 0: eax+b → 0 für x → −∞, a < 0: eax+b → 0 für x → +∞.
712
21 Funktionen einer reellen Variablen
d) Spezielle Werte Nullstellen: Sprungstellen: Polstellen: Extrema: Wendepunkte: Wert bei x = 0:
keine Nullstellen, Funktion immer positiv. keine Sprungstellen, Funktion überall stetig. keine Pole. keine Extrema, Funktion streng monoton. keine Wendepunkte, Funktion überall konkav. f (0) = eb , für b = 0: f (0) = 1.
Tabelle einiger Werte der Exponentialfunktion. x 1 2 3 4 5 6 7 8 9
ex 2,7183 7,3891 20,086 54,598 148,21 403,41 1096,6 2981,0 8103,1
Weitere Werte können durch Multiplikation der Tabellenwerte erhalten werden, z. B.: e6,28 = ex (6) · ex (0,2) · ex (0,08) = 403,41 · 1,2214 · 1,0833 ≈ 533,8 e−3,14 = e−x (3) · e−x (0,1) · e−x (0,04) = 0,0498 · 0,9048 · 0,9608 ≈ 0,0433
e) Reziproke Funktion Die reziproke Funktion ist eine Exponentialfunktion mit negativem Argument. 1 = e−ax−b . ax+b e Damit hat die Exponentialfunktion die bemerkenswerte Eigenschaft f (x) · f (−x) = 1 = ex · e−x .
f) Umkehrfunktion Die Umkehrfunktion ist der natürliche Logarithmus (a = 0) b 1 x = f −1 (y) = − + ln y d. h. es gilt a a x ln e = x für alle x eln(y) = y für alle y > 0.
g) Ableitung der Funktion Ableitung ist proportional zur Funktion d ax+b e = a · eax+b . dx n-te Ableitung: d n ax+b e = an · eax+b . dxn
21.13 Transzendente Funktionen
713
Ableitung der selbstpotenzierenden Funktion xx : d x x = xx (1 + ln(x)). dx
h) Stammfunktionen Integralfunktion der Exponentialfunktion, proportional zur Exponentialfunktion:
1 eax+b dx = eax+b + C1 . a Fehlerfunktion (Fehlerintegral) erf(x) als Lösung des Integrals für a < 0: x at+b √ e π b √ dt = e erf( −ax) a < 0. 0 −a t Weitere wichtige Integrale:
dx 1 a + ebx+c x = − ln + C1 . a + ebx+c a ab a + ec bx 1 e √ arctan √ + C1 für a > 0, dx b a a = ebx 1 ebx + ae−bx √ arctan √ + C1 für a < 0. b −a −a
Gamma-Funktion, Definition durch das Integral: ∞ 0
e−t t x−1 dt = Γ (x).
● Rekursionseigenschaft: Γ (x + 1) = xΓ (x) ▲ Für x ∈ N erhält man die Fakultät: Γ (n + 1) = n!, n ∈ N. Für halbzahlige Argumente gilt: √ 1 1 1 · 3 · 5 · 7 · . . . · (2n − 1) √ Γ = π, Γ n + = π. 2 2 2n
i) Spezielle Erweiterungen und Anwendungen Euler’sche Formel, komplexe Erweiterung der Exponentialfunktion, die auf trigonometrische Funktionen führt. eix = cos(x) + i sin(x). ▲ Diese Darstellung wird besonders bei →Differenzengleichungen benötigt. Gaußfunktion, Verwendung in der Wahrscheinlichkeitsrechnung und als Gewichtsfunktion in der Statistik zur Faltung (in einem Integral) mit anderen Funktionen.
21.13.2
Exponentialfunktionen von Potenzen
f (x) = e−ax . n
Exponentialfunktionen von Potenzen haben besonders für a > 0 Bedeutung, vor allem die Fälle n = 2 und n = −1. Gaußfunktion, auch Glockenkurve genannt, Exponentialfunktion mit a > 0,n = 2, von Bedeutung vor allem in der Statistik.
714
21 Funktionen einer reellen Variablen
▲ Andere Schreibweise mit 2σ 2 als Nenner im Exponenten. 2
x 2 f (x) = e−ax = e− 2σ 2 .
a) Definition Die Definitionen der Exponentialfunktion können übernommen werden. (Zur Definition der Gaußkurve (n = 2) mit dem Parameter σ s. auch den Abschnitt i)). x2 − −ax2 2 n = 2: e = e σ2 −1
n = −1: e−ax = e−a/x ▲ In der weiteren Diskussion werde a > 0 angenommen.
b) Grafische Darstellung Die Gaußkurve e−ax besitzt ein Maximum bei x = 0 und fällt schnell gegen 0 ab. Mit größerem a (kleinerem σ ) fällt die Kurve schneller gegen 0. Die Fläche unter der Kurve wird kleiner. 2
−x2
f(x) 1
−2
−1
0
1
2 x
Gaußkurven, rechts durch einen Faktor
−x2
f(x)
f(x)=e −2x2 f(x)=e
f(x)=e −2x2 f(x)=e
1
−2
a π
−1
0
1
2 x
auf gleiche Flächen skaliert.
▲ Will man die Fläche unter der Kurve konstant halten (s. Abschnitt i)), so wird die Kurve schmaler und in der Mitte höher. ● Die Funktionen e−x mit n positiv und gerade zeigen ähnliches Verhalten wie die Gaußkurve, allerdings mit schnellerem Abfallverhalten. Die Asymptote ist y = 0. n
▲ Die Funktionen e−x mit n positiv und ungerade zeigen ein ähnliches Verhalten wie e−x , allerdings ebenfalls mit stärkerem Abfall. n
f(x)
f(x)
−x2
f(x)=e −x4 f(x)=e
1
−x
f(x)=e −x3 f(x)=e
3 2 1
−2
−1
0
1
2 x
−2
−1
0
1
2 x
Die Funktion e−1/x hat bei x = 0 eine Definitionslücke, die rechtsseitig (x → 0+) durch den Punkt (x = 0, y = 0) halbstetig (von rechts) angeschlossen werden kann. Von links divergiert die Funktion gegen +∞. Für sehr große positive x → +∞ und negative x → −∞ Werte von x geht die Funktion gegen 1. Mit größerem a steigt die Funktion bei negativen x stärker und bei positiven x schwächer an.
21.13 Transzendente Funktionen
f(x)=e
f(x)
f(x)=e
4
− 1 /x − 2 /x
f(x)=e
f(x)
f(x)=e
715
− 1 /x − 2 /x
1
3 2
0.5
1 0 −10 −5
0
5
0
10 x
1
2
3 x
rechts ein Ausschnitt für x > 0 ● Die Funktionen e−x mit n negativ und ungerade, haben ein ähnliches Verhalten wie e−1/x , allerdings mit stärkerem Anstieg. n
Eine bemerkenswerte Eigenschaft hat e−1/x (und analog e−x , mit n gerade und negativ). Die Funktion lässt sich durch den Punkt (x = 0, f (x) = 0) stetig erweitern und ist dann überall (auch am Punkt x = 0) beliebig oft differenzierbar. 2
n
▲ Für sehr große (und sehr kleine) Werte geht die Funktion gegen 1. f(x)=e
f(x)
f(x)=e
4
− 1 /x
− 1 /x 2
f ( x ) =e
f(x)
− 1 /x 4
− 1 /x 3
3
f ( x ) =e 1
2 1 0
−3 −2 −1 0
1
2
3x
−3 −2 −1 0
1
c) Eigenschaften der Funktion Definitionsbereich:
Wertebereich:
Periodizität: Monotonie:
Symmetrien:
n = 2: −∞ < x < +∞, n = −1: −∞ < x < 0 und 0 < x < +∞, x = 0 halbstetig anschließbar. n = 2: 0 < f (x) ≤ 1, n = −1: 0 < f (x) < 1 und 1 < f (x) < +∞, 0 ≤ f (x) < 1 bei halbstetiger Anschließung. keine Periodizität. n = 2: x > 0: streng monoton fallend, x < 0: streng monoton steigend, n = −1: x > 0: streng monoton steigend, x < 0: streng monoton steigend. n = 2: spiegelsymmetrisch zur y-Achse, n = −1: keine Symmetrien.
n = 2: n = −1: n = 2: n = −1: n = 2: n = −1: n = 2: n = −1:
keine Nullstellen, x = 0 bei halbstetiger Erweiterung. keine Sprungstellen, unstetig bei x = 0. keine Polstellen, x = 0, bei Annäherung von links. Maximum bei x = 0, kein Extremum. 1 n = 2: x = ±√ , 2a 1 n = −1: x = . 2a
e) Reziproke Funktion Die reziproken Funktionen besitzen kein negatives Vorzeichen mehr im Exponenten. 1 ax2 n = 2: 2 = e −ax e 1 −1 n = −1: −ax−1 = eax e
f) Umkehrfunktion Die Funktion ist nur auf x ≥ 0 (bzw. x ≤ 0) umkehrbar. 1 1 x = f −1 (y) = − ln(y) bzw. x = f −1 (y) = − − ln(y) a a −a −1 n = −1: x = f (y) = ln(y) n = 2:
g) Ableitung der Funktion Die Funktionen lassen sich mithilfe der Kettenregel wie eine Exponentialfunktion ableiten. d −axn n e = −a n xn−1 e−ax . dx
h) Stammfunktionen Das Integral der Gaußfunktion ist die Fehlerfunktion: √ x π −t 2 e dt = erf (x). 0 2 Das Integral über die ganze x-Achse ist +∞ π −ax2 e dx = . −∞ a Das Integral zu e−x−1 ist (x > 0): x 1 −1/t −1/x e dt = xe + Ei − , 0 x wobei Ei (x) die Integralexponentialfunktion ist.
21.13 Transzendente Funktionen
717
i) Spezielle Erweiterungen und Anwendungen In der Statistik wird die Gaußfunktion im Allgemeinen folgendermaßen dargestellt: −x2 1 f (x) = √ e 2σ 2 . 2π σ
Die Fläche unter der Gaußkurve hat den Wert 1. Die Kurve wird mit kleinerem σ schmaler (s. hierzu Abbildung in b)). Die Wendepunkte der Kurve liegen bei x = ±σ . σ ist die Standardbreite der Verteilung.
21.13.3
Logarithmusfunktion
f (x) = loga (x). Aufruf in Programmiersprachen: LOG(X), in PASCAL LN(X). Besondere Bedeutung in der Zeit, als Computer noch nicht allgemein verbreitet waren; benutzt bei vielen arithmetischen Operationen. ● Tabellierung von Logarithmen in Formelsammlungen zur Vereinfachung der Multiplikation und des Potenzierens komplizierter Zahlen. ■ Rechenschieber, Multiplikation und Division komplizierter Größen durch grafische Addition logarithmisch aufgetragener Werte. Logarithmische Skalen, Auftragen von Werten, die über viele Größenordnungen gehen, in einer Form, sodass z. B. 1 und 10 den gleichen Skalenabstand haben wie 10 und 100 oder 100 und 1000. ▲ Einige physikalische und chemische Größen, wie z. B. dezibel (dB) und pH-Wert, sind logarithmisch definiert. Allgemeiner Logarithmus, zu verschiedenen Basen definiert, was im Zusammenhang steht mit der Bedeutung der Logarithmusfunktion als Umkehrfunktion der Exponentialfunktion. Die Basis wird als Index an den Funktionsausdruck geschrieben. loga (x) Logarithmus von x zur Basis a
0 < a,a = 1.
Natürlicher Logarithmus, auch Neper’scher Logarithmus oder hyperbolischer Logarithmus genannt, Logarithmus zur Basis e (Euler’sche Zahl): ln(x) = loge (x). ▲ Logarithmen ohne Basisangabe beziehen sich im Allgemeinen auf den natürlichen Logarithmus. ● In der Mathematik ist mit Logarithmus normalerweise immer der natürliche Logarithmus gemeint. Logarithmen zu verschiedenen Basen können durch den natürlichen Logarithmus ausgedrückt werden. Dekadischer Logarithmus, auch Briggs’scher oder gewöhnlicher Logarithmus genannt, Logarithmus zur Basis 10; Spezialfall des Logarithmus, der vielfach in Formelsammlungen verwendet wird. lg (x) = log10 (x)
in FORTRAN manchmal LOG10(X).
Dualer Logarithmus, auch binärer Logarithmus genannt, Logarithmus zur Basis 2, wird in der Informatik verwendet. lb (x) = log2 (x). ● Der Logarithmus wächst langsamer als jede beliebige Potenz von x.
718
21 Funktionen einer reellen Variablen
a) Definition Umkehrfunktion der Exponentialfunktion: eln(x) = x, für alle x > 0
ln(ex ) = x für alle x.
1 Stammfunktion zur Hyperbel : x x 1 ln(x) = dt. 1 t Grenzwertdefinition: 1 ln(x) = lim n x n − 1 . n→∞
Allgemeiner Logarithmus, Umkehrfunktion zur allgemeinen Exponentialfunktion: aloga (x) = x,
loga (ax ) = x
für alle x > 0
für alle x.
Allgemeiner Logarithmus, Zurückführung auf den natürlichen Logarithmus: loga (x) =
ln(x) lg(x) = . ln(a) lg(a)
Potenzreihenentwicklung für −1 < x ≤ 1: ln(1 + x) = x −
∞ x2 x3 (−x)k + −... = −∑ . 2 3 k k=1
b) Grafische Darstellung f(x)
f(x)
2
2
1
1 0
0 1
2
3
0.1
4 x
−1
−1
−2
−2
10 x
1
lineare und halblogarithmische Darstellung des natürlichen (durchgezogene Linie) und des dekadischen (gestrichelte Linie) Logarithmus ▲ In halblogarithmischer Darstellung (x-Achse logarithmisch) sind Logarithmen Geraden. 1 ▲ log1/e (x) und ln sind identisch. x Der natürliche Logarithmus steigt schneller als der dekadische Logarithmus und langsamer als der duale Logarithmus. Logarithmen zu Zahlen a < 1 fallen. Sie entsprechen den Logarithmen der reziproken Argumente zur reziproken Basis.
f(x)
f ( x )=ln (x) f ( x )=log 1/e ( x )
2 1 0 1 −1 −2
2
3
4 x
21.13 Transzendente Funktionen
c) Eigenschaften der Funktion Definitionsbereich: Wertebereich: Monotonie: Symmetrien: Asymptoten: Periodizität:
0 < x < ∞. −∞ < f (x) < ∞. a > 1: streng monoton steigend, 0 < a < 1: streng monoton fallend. keine Punkt- oder Spiegelsymmetrien. a>1 loga (x) → +∞ für x → ∞, 0 < a < 1 loga (x) → −∞ für x → ∞. keine Periodizität.
x = 1: loga (1) = 0 für alle a. keine, stetige Funktion. x = 0: a>1 loga (x) → −∞, 0 < a < 1 loga (x) → +∞. keine, streng monotone Funktion. keine, Funktion überall konvex für a > 1, konkav für 0 < a < 1.
e) Reziproke Funktion Reziproke Funktion vertauscht für x = 0 Index und Argument. 1 = logx (a). loga (x)
f) Umkehrfunktion Umkehrfunktion ist die Exponentialfunktion. x = f −1 (y) = ay , d. h. es gilt aloga (x) = x,
eln(x) = x
für alle x > 0.
▲ Im Komplexen entfällt die Einschränkung x > 0.
g) Ableitung der Funktion 1 Die Ableitung der Funktion ist die Hyperbel . x d a ln(ax + b) = . dx ax + b n-fache Ableitung: n dn −a ln(ax + b) = −(n − 1)! . dxn ax + b
h) Stammfunktionen
c ln(bx + c) dx = x + ln(bx + c) − x + C1 , b n [− ln(x)]k n n ln (x) dx = (−1) n!x ∑ + C1 , n ≥ 0 . k! k=0
719
720
21 Funktionen einer reellen Variablen
21.14
Trigonometrische Funktionen
Trigonometrische Funktionen gehören wie die hyperbolischen Funktionen zu den transzendenten Funktionen. Sie sind eng verwandt mit der Exponentialfunktion. ▲ In der komplexen Ebene können hyperbolische und trigonometrische Funktionen als gleichartige Funktionen dargestellt werden, die sich bei Verwendung imaginärer Argumente ineinander überführen lassen. Trigonometrische Funktionen stehen wie hyperbolische Funktionen in enger Verbindung mit den Kegelschnitten. Anstelle von Schnitten mit Hyperbelästen y2 −x2 = 1 werden nun jedoch Schnitte mit Kreisbögen y2 + x2 = 1 zugrunde gelegt. Betrachtet wird also der Einheitskreis um den Ursprung: y = ± 1 − x2 . Dieser Kreis werde durch eine Gerade g geschnitten, wobei zunächst nur der erste und zweite Quadrant y ≥ 0 interessieren. g(x) = t · x,
y ≥ 0.
Der Schnittpunkt von g mit dem oberen Kreisbogen hat die Koordinaten x = c, y = s = t · c. √ ▲ c und s sind durch die Gleichung s = 1 − c2 miteinander verknüpft. Die Länge des Kreisbogens vom Punkt (x = 1,y = 0) zum Punkt (x = c,y = s) hat den Wert a. f(x) 1
s −1
0
f(x)
g
c
g
2 a
1
k
K t
0 1
x
−2 −1
T
1
E 2 x
−1
−1
Zur geometrischen Interpretation der trigonometrischen Funktionen Die Werte von s, c und t werden mit a in Beziehung gebracht: s = sin(a),
c = cos(a),
t = tan(a).
Analog kann man mit dem unteren Kreisbogen verfahren. Um die Eindeutigkeit der Funktionen f (a) zu garantieren, wird festgelegt, dass Kreisbögen, die ausgehend vom Punkt (x = 1,y = 0) im Uhrzeigersinn abgetragen werden, negative Werte und Bögen, die entgegen dem Uhrzeigersinn abgetragen werden, positive Werte besitzen. Ein Punkt P(x,y) kann also mehrere Werte a besitzen (in Wirklichkeit unendlich viele). π 3π ■ P(x = 0,y = −1) kann z. B. durch die Bögen a = − und a = beschrieben werden. 2 2 Insbesondere können zunächst beliebig viele volle Kreisumläufe durchgeführt werden und somit die Bogenlänge a um ein ganzzahliges Vielfaches n des Kreisumfangs 2π vergrößert werden. 3π ■ P(x = 0,y = −1) kann durch die Bögen a = ± 2nπ , beschrieben werden. 2
21.14 Trigonometrische Funktionen
721
▲ Funktionen mit großem Argument (d. h. nach der Addition von vielen Umläufen) werden auf Computern und Taschenrechnern meist mit schlechterer Genauigkeit berechnet als Funktionen mit kleinem Argument. Jedem Wert a kann somit eindeutig ein Wert s, c und t zugeordnet werden. Die Zuordnungsfunktionen heißen Sinusfunktion, Kosinusfunktion und Tangensfunktion (um den Funktionscharakter zu verdeutlichen, wird x anstelle von a verwendet). s = sin(x),
c = cos(x),
t = tan(x).
Weitere trigonometrischen Funktionen sind die Sekansfunktion sec(x), die Cosekansfunktion csc(x) und die Kotangensfunktion cot(x), die reziproke Funktionen zu Kosinus, Sinus und Tangens sind. 1 1 1 , csc(x) = , cot(x) = . cos(x) sin(x) tan(x) ● Die Rückzuordnung von s, c und t nach a bzw. x ist nicht mehr eindeutig. sec(x) =
▲ Um dies zu vermeiden, legt man einen so genannten Hauptwert fest. Näheres dazu im Kapitel über die Arkusfunktionen. ● Zwei wichtige Relationen der trigonometrischen Funktionen wurden schon dargestellt: sin2 (x) = 1 − cos2 (x),
sin(x) = tan(x) · cos(x).
Zur geometrischen Deutung der trigonometrischen Funktionen (siehe hierzu die oben angegebenen Bilder). Im linken Bild schneidet die Gerade g den Kreisbogen im Punkt P(c,s). Im rechten Bild schneidet dieselbe Gerade g die x-Achse im Ursprung O = P(0,0) und die Gerade y = 1 im Punkt K = P(k,1). Die Gerade x = 1 schneidet die x-Achse im Punkt E = P(1,0) und die Gerade g im Punkt T = P(1,t). Die Strecken c, s und die Verbindungsstrecke zwischen dem Ursprung P(0,0) und dem Schnittpunkt P(c,s) der Geraden mit dem Kreis bilden ein rechtwinkliges Dreieck, wobei die Strecke c die Ankathete, s die Gegenkathete und die Strecke zwischen Ursprung und Schnittpunkt die Hypotenuse ist. Die Funktionswerte der verschiedenen trigonometrischen Funktionen können folgendermaßen erhalten werden: sin(x):
y-Wert des Schnittpunkts x = c,y = s von Gerade g und Kreis (linke Figur). Verhältnis von Gegenkathete zu Hypotenuse.
cos(x):
x-Wert des Schnittpunkts x = c,y = s von Gerade g und Kreis (linke Figur). Verhältnis von Ankathete zu Hypotenuse.
tan(x):
y-Wert des Schnittpunkts T von Gerade g und senkrechter Tangente x = 1, Länge t der Strecke ET (rechtes Bild). Verhältnis von Gegenkathete zu Ankathete.
cot(x):
x-Wert des Schnittpunkts K von Gerade g und waagerechter Tangente y = 1, Länge k der Strecke von x = 0,y = 1 nach K (rechtes Bild). Verhältnis von Ankathete zu Gegenkathete.
sec(x):
Länge der Strecke OT (rechtes Bild), das Vorzeichen wird durch das Vorzeichen von c bestimmt. Verhältnis von Hypotenuse zu Ankathete.
csc(x):
Länge der Strecke OK (rechtes Bild), das Vorzeichen wird durch das Vorzeichen von s bestimmt. Verhältnis von Hypotenuse zu Gegenkathete.
722
21 Funktionen einer reellen Variablen
Umrechnung der trigonometrischen Funktionen: Bei der Umrechnung der Funktionen muss oft auf das Vorzeichen der Funktionen geachtet werden. In der nachfolgenden Tabelle sind die (vom Wert von x abhängigen) Vorzeichenfaktoren s2 ,s3 ,s4 angegeben. π π 3π 3π Bereich: 0, ,π π, , 2π 2 2 2 2 s2 s3 s4
Weitere Beziehungen lassen sich bilden mit τ = tan : 2 % x 1 − cos(x) 2x m τ = tan = (−1) , m = int . 2 1 + cos(x) π
21.14 Trigonometrische Funktionen Umrechnungen mit τ = tan
x 2
723
:
sin(x) =
2τ 1 + τ2 , csc(x) = , 1 + τ2 2τ
cos(x) =
1 + τ2 1 − τ2 , sec(x) = , 1 + τ2 1 − τ2
2τ 1 − τ2 , cot(x) = . 1 − τ2 2τ Das Argument der trigonometrischen Funktionen wird in der Mathematik normalerweise in der Länge des Bogenelements a angegeben. Diese dimensionslose Einheit wird auch Radiant genannt und mit rad abgekürzt. tan(x) =
▲ Das Argument trigonometrischer Funktionen wird in Programmiersprachen normalerweise in Radiant angegeben. In der Geometrie und in der technischen Anwendung wird oft als Argument der zu dem Bogenelement gehörige Winkel α verwendet. Er wird normalerweise in Grad (auf dem Taschenrechner deg = ‘degrees’, englisches Wort für Grad), z. B. 30◦ = 30 Grad, angegeben. ▲ Bei Taschenrechnern ist auf den eingestellten Modus (deg/rad) zu achten. Umrechnungsformel: 180◦ α (Grad) = x(rad) = 57,2958◦ x(rad), π
π
α (Grad) = 0,01745α (Grad). 180◦ ▲ In Taschenrechnern mit Grad- und Radiant-Modus ist die Berechnung von Funktionen mit großem Argument im Grad-Modus oft genauer als im Radiant-Modus.
x(rad) =
Kurztabelle wichtiger Werte von Sinus, Kosinus und Tangens. Weitere Werte sind bei der Funktionsbeschreibung zu finden. Argumentx (Grad) (rad) 0◦ 15◦ 30◦ 45◦ 60◦ 75◦ 90◦
0 π
12 π
6 π
4 π
3 5π 12 π
2
sin(x) 1 csc(x)
cos(x) 1 sec(x)
tan(x) 1 cot(x)
0 1 √ √ 6+ 2 1 2 1 √ 2 √ 3 2 1 √ √ 6− 2
1 √ 3+1 √ 8 √ 3 2 1 √ 2 1 2 √ 3−1 √ 8
0 √ 2− 3
1
0
∞
1 √ 3 1 √ 3 2+
√ 3
724
21 Funktionen einer reellen Variablen
21.14.1
Sinus- und Kosinusfunktion
f (x) = sin(x),
g(x) = cos(x).
Darstellung in Programmiersprachen: F=SIN(X), G=COS(X) Wichtigste trigonometrische Funktionen.
a) Definition Grundlegende geometrische Definition entsprechend der oben verwendeten Notation: sin(a) = s,
cos(a) = c.
Interpretation im rechtwinkligen Dreieck: Gegenkathete Ankathete sin(α ) = , cos(α ) = . Hypotenuse Hypotenuse Hyperbolische Funktion mit rein imaginärem Argument: sin(x) = −i sinh(ix),
cos(x) = cosh(ix).
Euler’sche Formel, Exponentialfunktion mit imaginärem Argument: eix = cos(x) + i sin(x). Lösungen der „Schwingungsgleichung“, einer Differenzialgleichung zweiter Ordnung (hier mit dem Argument t geschrieben): d2 f (t) + ω 2 f (t) = 0 f (t) = c1 sin(ω t) + c2 cos(ω t), c1 ,c2 beliebig. dt 2 Weitere Darstellungsmöglichkeiten siehe Reihenentwicklung und komplexe Darstellung.
b) Grafische Darstellung Sinus und Kosinus haben eine Periode von 2π , d. h. für alle x gilt sin(x + 2π ) = sin(x − 2π ) = sin(x), f(x) 1 0.5 0 −0.5 −π −1
cos(x + 2π ) = cos(x − 2π ) = cos(x). f ( x ) = sin( x ) f ( x ) = cos( x )
0
π
2π
3π
4π
5π
6π
7π x
π
Sinus und Kosinus sind in der Phase um den Wert gegeneinander verschoben. 2 π π sin x + = cos(x) cos x − = sin(x). 2 2 f(x) 1 0 −π −1
f ( x ) = sin(2 x ) f ( x ) = sin( x )
0
π x
f(x) 1 0 −π −1
2
f ( x ) = sin ( x ) f ( x ) = − 1/2 cos(2 x )
0
π x
21.14 Trigonometrische Funktionen
725
Die Sinusfunktion ist punktsymmetrisch zum Ursprung, die Kosinusfunktion ist spiegelsymmetrisch zur y-Achse. ● Beide Funktionen haben Werte zwischen −1 und 1. ▲ Der Sinus verhält sich in der Nähe von Null wie eine Gerade der Steigung Eins. Der Kosinus verhält sich in der Nähe von Null wie eine nach unten geöffnete Parabel. Ein Faktor a > 1 im Argument verkleinert die Periode um den Faktor a−1 . Ein Faktor a < 1 vergrößert die Periode. ▲ Das Quadrat der Funktionen ist positiv und hat dieselbe Form wie ein (Co)Sinus der halben Periode. Ein Vorfaktor b vor der Funktion verändert den maximalen Wert der Funktion. Ein negativer Faktor b < 0 wirkt wie eine Verschiebung der Funktion um den Wert π : sin(x) = − sin(x + π ) f ( x ) = − sin( x ) f ( x ) = sin( x )
f(x) 1
−π
f ( x ) = sin( x+ 1) f ( x ) = sin( x )
f(x) 1
0
π
2π
−π
3π x
−1
π
0
2π
3π x
−1
Ein positiver Summand ϕ im Argument sin(x + ϕ ) verschiebt die Funktion um ϕ nach links. ϕ = π wirkt wie ein negatives Vorzeichen bei der nicht verschobenen Funktion. ● Bei ϕ = π /2 geht der Sinus in einen Kosinus und der Kosinus in einen Sinus mit negativem Vorzeichen über. Eine nichtlineare Funktion von x im Argument verändert die Periode der Funktion in Abhängigkeit von x. Ein Quadrat im Argument lässt die Funktion für größere x zunehmend schneller schwingen. Ein Spezialfall ist die Funktion 1 . f (x) = sin x Die Funktion schwingt für x → 0 immer schneller. Am Punkt x = 0 ist die Funktion nicht definiert und kann auch nicht stetig erweitert werden. f(x) 1
−π/2
−1
f(x)
f ( x ) = sin( x )
2
f ( x ) = sin( x )
1 π/2
−1
x
−π
0
π
x
−1
▲ Dies ist ein Fall, bei dem eine Funktion nicht stetig ist, obwohl sie weder divergiert noch Sprünge macht. Multipliziert man die Funktion mit x, so wird die neue Funktion zwar im Punkt x = 0 durch f (x) = 0 stetig erweiterbar, ist aber dort nicht differenzierbar.
c) Eigenschaften der Funktionen Definitionsbereich: Wertebereich:
−∞ < x < ∞. −1 ≤ f (x) ≤ 1
726
21 Funktionen einer reellen Variablen
Periodizität: Monotonie: Symmetrien:
Verh. im Unendl.:
Periode 2π . streng monoton steigende und streng monoton fallende Abschnitte. sin(x) Punktsymmetrie zum Urspung, Punktsymmetrie zu x = nπ , y = 0, n ganze Zahl. 1 Spiegelsymmetrie zu x = n + π, 2 n ganze Zahl. cos(x) Spiegelsymmetrie zur y-Achse, Spiegelsymmetrie zu x =nπ , n ganze Zahl. 1 π , y = 0. Punktsymmetrie zu x = n + 2 kein festes Verhalten für x → ±∞, schwingt zwischen −1 und 1.
n ∑ (−1) k cos((n − 2k)x) , n gerade k=0 (−1)(n−1)/2 ∞ n k n sin (x) = ∑ (−1) k sin((n − 2k)x) , n ungerade. 2n k=0
(−1)n/2 sin (x) = 2n n
∞
k
Potenzen der Kosinusfunktion: 1 + cos(2x) cos2 (x) = , 2 3 cos(x) + cos(3x) cos3 (x) = , 4 3 + 4 cos(2x) + cos(4x) cos4 (x) = , 8 1 ∞ n n cos (x) = n ∑ cos((n − 2k)x). 2 k=0 k
e) Reziproke Funktionen Die reziproken Funktionen zu Kosinus und Sinus sind Sekans und Cosekans. 1 = csc(x), sin(x)
1 = sec(x). cos(x)
f) Umkehrfunktionen ● Sinus und Kosinus sind nur auf einer halben Periodenlänge (π ) umkehrbar. Die Sinusfunktion wird üblicherweise im Bereich − x = f −1 (y) = arcsin(y)
π
2
≤x≤
π
2
umgekehrt:
− 1 ≤ y ≤ +1.
Die Kosinusfunktion wird üblicherweise im Bereich 0 ≤ x ≤ π umgekehrt x = f −1 (y) = arccos(y)
− 1 ≤ y ≤ +1.
729
730
21 Funktionen einer reellen Variablen
g) Ableitung der Funktionen Sinus und Kosinus sind (bis auf Konstante und Vorzeichen) zueinander Ableitungsfunktionen: d π sin(ax) = a cos(ax) = a sin ax + , dx 2 π d cos(ax) = −a sin(ax) = a cos ax + . dx 2 π
Verallgemeinert lässt sich die n-te Ableitung als Verschiebung um n auf der x-Achse darstellen: 2 n d nπ sin(ax) = an sin ax + , n dx 2 dn nπ n cos(ax) = a cos ax + . dxn 2
h) Stammfunktionen Sinus und Kosinus sind (bis auf Vorzeichen) zueinander Stammfunktionen
cos(ax) sin(ax) + C1 , + C1 . sin(ax) dx = − cos(ax) dx = a a Orthogonalität von Sinus und Kosinus, Sinus und Kosinus sind im Funktionenraum zueinander orthogonal, d. h. sie erfüllen folgende Bedingungen (n,m ganze Zahlen): 2π
cos(nt) sin(mt) dt = 0, 0 n = m 2π cos(nt) cos(mt) dt = 2π m = n = 0 0 π m = n = 0, 0 n = m 2π sin(nt) sin(mt) dt = 0 m = n = 0 0 π m = n = 0. 0
▲ Man kann als Intervallgrenzen auch −π und π verwenden. Diese Eigenschaft ist wichtig für die Fourierreihen.
i) Spezielle Erweiterungen und Anwendungen Komplexe Darstellung, Darstellung mithilfe der Exponentialfunktion eix − e−ix , 2i Komplexes Argument: sin(x) =
cos(x) =
eix + e−ix . 2
sin(x ± iy) = sin(x) cosh(y) ± i cos(x) sinh(y), cos(x ∓ iy) = cos(x) cosh(y) ∓ i sin(x) sinh(y). Rein imaginäres Argument: sin(iy) = i sinh(y),
cos(iy) = cosh(y).
21.14 Trigonometrische Funktionen
731
Überlagerung von Schwingungen In diesem Abschnitt sind einige Anwendungen mit der Sinusfunktion angegeben. Amplitude einer Schwingung ist der positive Maximalbetrag der Schwingung während einer Periode. f (t) = A sin(ω t)
A ist die Amplitude, A > 0 .
Kreisfrequenz ω einer Schwingung ist der Vorfaktor im Argument. Oft wird aus der Kreisfrequenz der 2π , Faktor 2π herausgezogen, sodass die Frequenz f der Kehrwert einer Periodenlänge ist, T = f =
1 T
=
ω 2π
ω
.
f (t) = A sin(ω t) = A sin(2π f t) = A sin(2πt/T )
f ist die Frequenz.
▲ Kleinere Frequenzen bedeuten längere Perioden. Phase einer Schwingung ist ein Summand im Argument, der die Funktion auf der t-Achse verschiebt. f (t) = A sin(ω t + ϕ )
ϕ ist der Nullphasenwinkel.
Produkt der Sinusfunktion mit anderen Funktionen: f (x) = g(x) · sin(x). Die Funktionen g(x) und −g(x) bilden Hüllkurven für die Schwingung. ■ Resonanz von angeregten Schwingungen verläuft oft mit linear anwachsenden Amplituden. f (x) = x · sin(x) f(x) 8
f(x) 1
f ( x ) =x sin( x )
f(x)= sin( x ) x
4
−π
0
π
2π
3π x
−π
0
π
2π
3π x
−4 −8
einhüllende Kurve (– – – – –)
−1
einhüllende Kurve (– – – – –)
● An den Nullstellen von g(x) entstehen Knoten der Schwingung. An den Polstellen von g(x) braucht die Kurve nicht unbedingt zu divergieren, wenn g(x) bei xP einen Pol erster Ordnung hat und an der gleichen Stelle die Sinusfunktion eine Nullstelle hat. Die Dämpfung einer Schwingung erfolgt im Allgemeinen exponentiell mit einem Dämpfungsfaktor γ > 0. Die Funktion lässt sich schreiben als f (t) = e−γ t sin(ω t). Wellenpakete haben einen exponentiellen Anstieg und einen exponentiellen Abfall. f (x) = e−ax sin(bx). 2
732
21 Funktionen einer reellen Variablen
f(x)
f(x)=e
−
x 3
sin(5 x )
f(x)
1
1
0
0
1
−π
0
π
2π
3π x
einhüllende Kurve (– – – – –)
f(x)=e
−1 − 2 π −π
0
−
x2 4
sin(5 x )
π
2π x
einhüllende Kurve (– – – – –)
Modulation: Wichtig ist das Produkt zweier Schwingungen mit unterschiedlichen Frequenzen. Es ergibt sich eine Schwingung mit „schwingenden Amplituden“. f (t) = A sin(Ω t) sin(ω t). f(x)
f ( x ) = sin( x )sin(10 x )
1
2
0.5
1
0
0
−0.5
−1
−1
−π
0
π x
einhüllende Kurve (– – – – –)
∆ A= 0.25 A und Ω = 0.1 ω
f(x)
−2
−π
0
π x
einhüllende Kurve (– – – – –)
Schwebung: Überlagerung von Schwingungen ähnlicher (leicht unterschiedlicher) Frequenz ergibt eine Schwingung mit einer zwischen beiden Frequenzen liegenden neuen Frequenz, deren Amplitude mit der halben Differenzfrequenz schwingt. f (t) = sin(ω t) + sin([ω + ∆ ω ]t) ∆ω ∆ω = 2 sin ω + t cos t . 2 2 f(x)
f(x) f ( x )=sin(11 x )
2
2
1
1
0
0
−1
−1
−2
−2
0
π/2
π x
−π
0
π x
Schwebung der Schwingungen sin(11x) und sin(9x), einhüllende Kurve (– – – – –)
21.14 Trigonometrische Funktionen
733
Überlagerung (Superposition) gleichfrequenter Schwingungen: Werden zwei Schwingungen unterschiedlicher Amplitude und Phase, jedoch mit gleicher Frequenz, überlagert, so entsteht eine neue Schwingung mit der gleichen Frequenz. f (t) = A1 sin(ω t + ϕ 1 ) + A2 sin(ω t + ϕ 2 ) = A sin(ω t + ϕ ). Für Amplitude und Phase gelten dann $ A = A21 + A22 + 2A1 A2 cos(ϕ 2 − ϕ 1 ), B0 A1 sin(ϕ 1 ) + A2 sin(ϕ 2 ) = . A1 cos(ϕ 1 ) + A2 cos(ϕ 2 ) A0 Der Quadrant, in dem der gesuchte Winkel ϕ liegt, ergibt sich aus der Vorzeichenkombination von A0 und B0 . tan ϕ =
f(x) 2
f ( x ) = sin( x )+cos( x ) f ( x )=sin( x ) − cos( x )
−1
3 1
− 2 π −π
0
π
2π x
0 −1 − 2 π −π
0
π
2π x
−2 −3
−2
21.14.2
f ( x ) = 2 sin( x )+cos( x )
2
1 0
f(x)
Tangens und Kotangens
f (x) = tan(x)
g(x) = cot(x).
Andere Bezeichnungen sind tg(x) für tan(x), cotan(x) und ctg(x) für cot(x).
a) Definition Geometrische Definition – siehe Erläuterungen zu Beginn des Kapitels Trigonometrische Funktionen. Interpretation im rechtwinkligen Dreieck: Gegenkathete Ankathete tan(α ) = , cot(α ) = , Ankathete Gegenkathete 1 tan(a) = t, cot(a) = . t Definition über Sinus und Kosinus: sin(x) cos(x) tan(x) = , cot(x) = . cos(x) sin(x) Exponentialfunktionen mit imaginärem Argument: 2i 2i tan(x) = 2ix − i, cot(x) = 2ix + i. e +1 e −1 Lösung der Differenzialgleichung: d f (x) = af2 + bf + c b2 < 4ac dx
734
21 Funktionen einer reellen Variablen
durch die Funktionen √ √ x 4ac − b2 b 4ac − b2 tan − , f1 (x) = 2a 2 2a √ √ 4ac − b2 x 4ac − b2 b f2 (x) = − cot − . 2a 2 2a
b) Grafische Darstellung ● Tangens und Kotangens sind periodische Funktionen mit der Periode π . ▲ Im Gegensatz dazu haben die anderen trigonometrischen Funktionen die Periode 2π . f(x)
f(x)
f ( x ) = tan( x ) f(x)= cot( x )
4
1
2
0.5
−π
0
π
2π x
−0.5 −0.25
−2
−0.5
−4
−1
f ( x ) = tan( x ) f(x)= sin( x )
0
0.25
0.5 x
Der Tangens besitzt die Nullstellen 0, ± π , ± 2π , . . . π 3π und die Polstellen ± , ± , . . .. 2 2 π 3π Der Kotangens besitzt die Nullstellen ± , ± , . . . 2 2 und die Polstellen 0, ± π , ± 2π , . . .. ▲ In der Nähe der Nullstellen verhält sich der Tangens wie eine Gerade der Steigung Eins und der Kotangens wie eine Gerade der Steigung −1. Der Tangens ist im Intervall zwischen zwei Polstellen streng monoton steigend, der Kotangens ist streng monoton fallend.
c) Eigenschaften der Funktionen Definitionsbereich:
−∞ < x < ∞,
Wertebereich:
−∞ < f (x) < ∞.
Periodizität:
Periode π .
Monotonie:
im Intervall zwischen den Polen tan(x): streng monoton steigend, cot(x): streng monoton fallend.
n = 0,4,8, . . . n = 1,5,9, . . . n = 2,6,10, . . . n = 3,7,11, . . .
Zusammen mit den Spiegeleigenschaften ergibt sich die in der Geometrie wichtige Relation der Komplementärwinkel: π π tan(x) = cot −x , cot(x) = tan −x . 2 2 Addition im Argument: tan(x ± y) =
tan(x) ± tan(y) , 1 ∓ tan(x) tan(y)
cot(x ± y) =
cot(x) cot(y) ∓ 1 . cot(y) ± cot(x)
Ganzes Vielfaches im Argument vom Tangens: tan(2x) =
Reihenentwicklung: π π Für den Tangens gilt für − < x < : 2 2 3 5 7 x 2x 17x tan(x) = x + + + +... 3 15 315 Für den Kotangens gilt für −π < x < π : cot(x) =
1 x x3 x5 − − − −... . x 3 45 945
2x π
.
21.15 Arkusfunktionen
737
e) Reziproke Funktionen ● Tangens und Kotangens sind zueinander reziproke Funktionen. 1 = cot(x) tan(x)
1 = tan(x). cot(x)
f) Umkehrfunktionen Umkehrfunktionen sind die zugehörigen Arkusfunktionen. ● Die Funktion kann nur auf einer Periodenlänge umgekehrt werden. x = f −1 (y) = arctan(y), x = f −1 (y) = arcot(y).
g) Ableitung der Funktionen Ableitung von Tangens und Kotangens ergibt quadratische Terme d 1 tan(x) = sec2 (x) = 1 + tan2 (x) = , dx cos2 x d 1 cot(x) = − csc2 (x) = −1 − cot2 (x) = − 2 . dx sin x
h) Stammfunktionen Stammfunktion von Tangens und Kotangens ergibt den Logarithmus von Sekans und Cosekans
Arkusfunktionen sind die Umkehrfunktionen der trigonometrischen Funktionen. Inverse trigonometrische Funktionen, weitere Bezeichnung der Arkusfunktionen. Sie ordnen den durch die trigonometrischen Funktionen definierten Werten die Länge des zugehörigen Bogens (lat. arcus, daher Arkusfunktionen) des Einheitskreises zu. ● Da die Zuordnung nicht eindeutig ist, wird bei der Arkusfunktion ein Hauptwert zugeordnet. π
π
▲ Bei arcsin(x), arctan(x), arccsc (x) liegt der Hauptwert zwischen − und und bei arccos(x), arccot(x), 2 2 arcsec (x) zwischen Null und π .
738
21 Funktionen einer reellen Variablen f ( x ) = arcsin( x ) x = sin( y )
f(x) 2π
5π 2
3π 2
2π 3π 2
π
π 2
π
π 2
0 −
π 2
−π
f ( x ) = arcsin( x ) x = sin( y )
f(x)
0 −1
−2
− 0
1
2 x
Hauptwert von f (x) = arcsin(x) (
π 2
−2
−1
1
0
2 x
) und weitere Möglichkeiten (– – – – –)
Ähnlich Funktionen gibt es auch zu den Arkusfunktionen Umrechnungsfor wie zu den trigonometrischen π für x < 0 meln s(x) = sgn(x), p(x) = : 0 für x > 0 Funktion
− f (x) 2 x f √ 1 + x2 s(x) + p(x) f √ 1 + x2 √ 2 x −1 f + p(x) x 1 f x
f (x) = arccos(x) π
2
− f (x) f (x)
f (x) = arctan(x) x f √ 1 − x2 √ 1 − x2 f + p(x) x
1 s(x) f √ f (x) 1 + x2 x π f √ − f (x) 2 2 1+x 1 2 f s(x) f x − 1 + p(x) x √ 2 x −1 s(x) f − p(x) f √ x x2 − 1
● Eine wichtige Umrechnungseigenschaft ist die konstante Summe zweier komplementärer Arkusfunktionen. arcsin(x) + arccos(x) = arctan(x) + arccot(x) = arcsec (x) + arccsc (x) =
π
. 2 ▲ In einigen Programmbibliotheken ist nur der Arkustangens als Standardfunktion vorhanden. Andere Arkusfunktionen müssen über die Umrechnungsfunktionen abgeleitet werden. Zur Schreibweise: Arkusfunktionen werden durch ein vorangestelltes arc gekennzeichnet, z. B. arcsin(x). Üblich ist die Schreibweise mit Kleinbuchstaben. ▲ Vorwiegend im amerikanischen Sprachraum wird die Inversionsdarstellung mit −1 als Exponenten verwendet: arcsin(x) = sin−1 (x). Diese Kurzform findet sich auch auf vielen Taschenrechnern.
21.15 Arkusfunktionen Funktion
f (x) = arccot(x) f (x) = arcsec (x) f (x) = arccsc (x) √ 1 − x2 1 1 f − p(x) s(x) f √ f 2 x x 1−x 1 x s(x) f f √ f √ x 1 − x2 1 − x2 √ 2+1 π x x2 + 1 f − f (x) s(x) f 2 x √ x2 + 1 s(x) f f (x) f 1 + x2 + p(x) x π s(x) f √ f (x) − f (x) 2 x2 − 1 π f x2 − 1 − p(x) − f (x) f (x) 2
a) Definition Umkehrfunktionen zu Sinus und Kosinus. y = arcsin(x),
x = sin(y),
y = arccos(x),
x = cos(y),
−
π
≤y≤
π
2 2 0 ≤ y ≤ π.
,
Darstellung durch bestimmte Integrale: x dt √ arcsin(x) = , |x| < 1, 0 1 − t2 1 dt √ arccos(x) = , |x| < 1. x 1 − t2
b) Grafische Darstellung ● Die Funktionen sind nur im Bereich −1 ≤ x ≤ 1 definiert und stellen an der Winkelhalbierenden y = x gespiegelte Bögen von Sinus und Kosinus dar. f(x) π
f ( x ) = arcsin( x ) f(x)= arccos( x )
f(x) π π 2
π 2
−2
−1
0 −π 2
f ( x ) = arcsin( x ) f(x)= arctan( x )
1
2
x
−2
−1
0 −π 2
1
2
x
740
21 Funktionen einer reellen Variablen
An den Rändern des Definitionsbereichs haben die Funktionen eine senkrechte Tangente, d. h. die erste Ableitung divergiert. arcsin(x) ist streng monoton steigend, während arccos(x) streng monoton fallend ist. ▲ Bei x = 0 verhalten sich die Funktionen wie Geraden, deren Steigung den Betrag Eins besitzt.
c) Eigenschaften der Funktionen Definitionsbereich:
arccos(x) Punktsymmetrie zum Punkt x = 0, y = Sonstige:
arcsin(x) arccos(x)
π
π
2
.
f (x) = ± für x = ±1, 2 π f (x) = π2 ∓ für x = ±1. 2
d) Spezielle Werte Nullstellen:
arcsin(x) x = 0, arccos(x) x = 1.
Sprungstellen:
keine.
Polstellen:
keine.
Extrema:
keine.
Wendepunkte:
bei x = 0.
1 Wert von x = −1 x = − √ 2 π
arcsin(x)
−
arccos(x)
π
2
−
π
4
3π 4
1 x= √ 2
√ 3 x= 2
π
π
π
π
6
4
3
2
π
π
π
π
2
3
4
6
1 x=0 x= 2 0
x=1
0
e) Reziproke Funktionen Die reziproken Funktionen lassen sich nicht als Arkusfunktionen oder trigonometrische Funktionen schreiben.
f) Umkehrfunktionen Die Umkehrfunktionen sind Sinus und Kosinus. x = f −1 (y) = sin(y), x = f −1 (y) = cos(y).
21.15 Arkusfunktionen
741
g) Ableitung der Funktionen arcsin(x) und arccos(x) haben bis auf das Vorzeichen die gleiche Ableitung: d a d arcsin(ax + b) = − arccos(ax + b) = . dx dx 1 − (ax + b)2
h) Stammfunktionen Die Stammfunktionen sind: 1 c c 2 arcsin(bx + c) + arcsin(bx + c) dx = x + − x + + C1 , b b2 b 1 c c 2 arccos(bx + c) dx = x + arccos(bx + c) − − x + + C1 . b b2 b
21.15.2
Arkustangens und Arkuscotangens
f (x) = arctan(x),
g(x) = arccot(x).
Inverse Funktionen zu Tangens und Kotangens.
a) Definition Umkehrfunktionen zu Tangens und Kotangens. y = arctan(x),
b) Grafische Darstellung ● Die Funktionen sind für alle x definiert und stellen an der Winkelhalbierenden y = x gespiegelte Bögen von Tangens und Kotangens dar. f(x)
f(x)
f ( x ) = arctan( x ) f(x)= arccot( x )
π
3π 2
π 2
−4
−2
π
0 −π 2
−π
f ( x ) = arccot( x ) f(x)= arccos( x )
2
π 2
4 x −2
0 −π 2
2
4 x
742
21 Funktionen einer reellen Variablen
Die Funktionen haben waagrechte Asymptoten, d. h. die erste Ableitung geht für x → ±∞ gegen 0. arctan(x) ist streng monoton steigend, während arccot(x) streng monoton fallend ist. ▲ Bei x = 0 verhalten sich die Funktionen wie Geraden, deren Steigung den Betrag Eins besitzt.
c) Eigenschaften der Funktionen Definitionsbereich:
arctan(x) Punktsymmetrie zum Ursprung x = 0, y = 0, arccot(x) Punktsymmetrie zum Punkt x = 0, y =
Verhalten im Unendl.: arctan(x) arccot(x)
π
π
2
.
f (x) → ± für x → ±∞, 2 π π f (x) → ∓ für x → ±∞. 2 2
d) Spezielle Werte Nullstellen:
arctan(x) x = 0, arccot(x) keine.
Sprungstellen:
keine.
Polstellen:
keine.
Extrema:
keine.
Wendepunkte:
bei x = 0.
Wert von arctan(x) arccot(x)
x → −∞ x = −1 x = 0 x = 1 x → ∞ −
π
2
−
π
π
4 3π 4
0
π
π
4
2
π
π
2
4
0
e) Reziproke Funktionen Die reziproken Funktionen lassen sich nicht als Arkusfunktionen oder trigonometrische Funktionen schreiben.
f) Umkehrfunktionen Die Umkehrfunktionen sind Tangens und Kotangens. x = f −1 (y) = tan(y), x = f −1 (y) = cot(y).
21.15 Arkusfunktionen
g) Ableitung der Funktionen arctan(x) und arccot(x) haben bis auf das Vorzeichen die gleiche Ableitung: d d a . arctan(ax + b) = − arccot(ax + b) = dx dx 1 + (ax + b)2
h) Stammfunktionen Die Stammfunktionen sind c arctan(bx + c) dx = x + arctan(bx + c) − b c arccot(bx + c) dx = x + arccot(bx + c) + b
Eine reelle Funktion mehrerer unabhängiger reller Variablen ist eine Abbildung mit einer Definitionsmenge A ⊆ Rm und einer Nachmenge B ⊆ R. f :
D → (x1 ,x2 , . . . ,xm ) !→
R mit D ⊆ Rm ,m ∈ N,m > 1 f (x1 , . . . ,xm )
Jede einzelne Variable xi eines m-Tupels auf der Definitionsmenge D wird als unabhängige Variable oder Argument der Funktion f bezeichnet. ■ K = K(x1 , x2 , x3 ) = 2x1 + 3x2 + 13 x1 x2 + 18 x2 x3 + 201 x3 + 25 Kostenfunktion eines Unternehmens mit dem Output (x1 , x2 , x3 ). ■ X = X(L,K,t) = a · Lα · K 1−α eγ t
COBB-DOUGLAS-Funktion
wobei X den Output (Wertschöpfung), L den Arbeitseinsatz, K den Kapitaleinsatz, α die Elastizität des Outputs in Bezug auf den Arbeitseinsatz, t die Zeit, a und γ konstante Faktoren darstellen. Für m = 2 erhält man den speziellen Fall einer reellwertigen Funktion mit zwei (reellen) unabhängigen Variablen f :
D → R mit D ⊆ R2 (x, y) !→ z = f (x, y)
Die Gesamtheit aller Punkte (x, y, z) G f = {(x, y, z)|(x, y) ∈ D ⊆ R2 ,z = f (x, y)} heißt Graph (Funktionskurve oder geometrisches Bild) der Funktion z = f (x, y),D ⊆ R2 , in einem x-yz-Koordinatensystem. ■
Graph der Funktion z = f (x, y) = 6 − 3x − 2y im R3
22.1 Definition und geometrische Darstellung
745
Rotationsparaboloid um die z-Achse z = f (x, y) = x2 + y2 Der Graph des Mantels des Rotationsparaboloids wird in der vorstehenden Abbildung durch Horizontalschnitte verdeutlicht. Diese erhält man, wenn man den Graph der Funktion z = f (x, y), durch Ebenen schneidet, die senkrecht zur z-Achse stehen, die also Parallelebenen zur x-y-0-Ebene bilden. Werden mehrere horizontale Schnitte in verschiedenen Höhen vorgenommen und auf die x-y-0-Ebene projiziert, so erhält man eine Anzahl Kurven, die man als Niveau- oder Höhenlinien bezeichnet. Der Graph einer Höhenlinie mit der Höhe γ besteht dann aus den Punktepaaren Hγ = {(x, y) ∈ D| f (x, y) = γ = const.}. γ=4 γ=3 γ=2 γ=1
Höhenlinien der Funktion z = x2 + y2 = γ ▲ Losgelöst von der anschaulichen Interpretation als Punkte gleicher Höhe werden Kurven, die Punkte mit gleichem Funktionswert verbinden, als Isolinien oder Isoquanten bezeichnet. ■ Auf Generalstabskarten und Wanderkarten findet man (Iso-)Höhenlinien, die Orte mit gleicher Höhe über Normalnull miteinander verbinden. ▲ Die Darstellung von Höhenlinien ist i. Allg. nicht einfach, da sie durch eine Gleichung beschrieben werden, die oft nicht bzw. nicht eindeutig nach einer der Variablen aufgelöst werden kann.
746
22 Funktionen mehrerer unabhängiger Variablen
Verwendet man ebene Schnitte, die senkrecht zur Definitionsebene geführt werden, so bezeichnet man die Schnittlinien als vertikale Schnitte. Von besonderer Bedeutung sind dabei die Vertikalschnitte, die senkrecht zur x-Achse bzw. senkrecht zur y-Achse stehen, bei denen also jeweils der x- bzw. y-Wert konstant gehalten wird. Vx0 = {(x0 ,y,z)|z = f (x0 ,y),(x0 ,y) ∈ D} Vertikalschnitt zux0 . Vy0 = {(x,y0 ,z)|z = f (x,y0 ),(x,y0 ) ∈ D} Vertikalschnitt zuy0 . ▲ Vertikalschnitte lassen sich relativ einfach zeichnen, da sie direkt den Graph einer Funktion darstellen. 2 2 ■ Funktion z = f (x, y) = e−(x +y ) cos 34π (x2 + y2 ) : 1 0.8 0.6 0.4 0.2 0 -2 -0.2
-1
-2
0
-1 0 1
22.2
1 2 2
Umgebung, Grenzwert, Stetigkeit
▲ Da auch Funktionen z = f (x1 , . . . ,xm ) nur eine abhängige Variable aufweisen, lassen sich die für Funktion des Typs z = f (x) eingeführten Grenzwertbegriffe auf Funktionen mit mehreren unabhängigen Variablen übertragen. Erweitert werden muss dabei der Umgebungsbegriff. Rechtecksumgebung des Punktes (x0 ,y0 ), U(x0 ,y0 ) = {(x, y) ∈ R2 | |x − x0 | < δ ,|y − y0 | < ,δ > 0, > 0} Rechtecksumgebung des Punktes x¯ Uδ (¯x) = {¯x = (x1 , . . . ,xm ) ∈ Rm ||x − x¯i | < δ i ,δ i > 0,∀i = 1, . . . ,m}
▲ Die nachfolgenden Definitionen sind lediglich einige Beispiele für die Übertragung von Definitionen und Sätzen auf Funktionen mit mehreren unabhängigen Variablen. Zur Vereinfachung der Schreibweise werden die meisten Aussagen nur für Funktionen z = f (x, y) mit zwei unabhängigen Variablen formuliert, sie lassen sich aber direkt auf allgemeinere Funktionen übertragen. Grenzwert einer Folge {(xn ,yn )} Eine Folge {(xn ,yn )} konvergiert gegen einen Grenzwert (x0 ,y0 ) und man schreibt lim (xn ,yn ) = (x0 ,y0 ) ,
n→∞
wenn es zu jeder beliebig kleinen Zahl > 0 eine natürliche Zahl N() so gibt, dass für alle Folgenglieder (xn ,yn ) mit einem Index n > N() gilt: ||(xn ,yn ) − (x0 ,y0 )|| < . Grenzwert einer Funktion f (x, y) für (x, y) → (x0 ,y0 ): Eine Funktion f (x, y) sei in einer Umgebung Uδ (x0 ,y0 ) der Stelle (x0 ,y0 ) – mit möglicher Ausnahme von (x0 ,y0 ) selbst – definiert. Sofern für jede beliebige, gegen (x0 ,y0 ) konvergierende Folge {(xn ,yn )} mit (xn ,yn ) ∈ Uδ (x0 ,y0 )\{(x0 ,y0 )} die zugehörige Folge der Funktionswerte { f (xn ,yn )} gegen den (stets gleichen) Grenzwert f0 ∈ R konvergiert, bezeichnet man f0 als Grenzwert der Funktion f für (x, y) → (x0 ,y0 ) und schreibt lim f (x, y) = f (x0 ,y0 ). (x, y)→(x0 ,y0 )
Stetigkeit einer Funktion f (x, y) in (x0 ,y0 ): Eine Funktion f (x, y) heißt stetig an der Stelle (x0 ,y0 ), wenn 1. f in einer Umgebung von (x0 ,y0 ) definiert ist und 2. lim f (x, y) = f (x0 ,y0 ). (x, y)→(x0 ,y0 )
22.3
Partielle Ableitungen
Bildet man für eine Funktion f :
D → R mit D ⊆ R2 (x, y) !→ z = f (x, y)
die Vertikalschnitte in den Schnittebenen y = y0 bzw. x = x0 , so erhält man Schnittfunktionen, die nur von der jeweils verbleibenden unabhängigen Variablen abhängen: f1 : Dy0 → R x
!→ z = f1 (x) = f (x,y0 )
f2 : Dx0 → R y
mit Dy0 = {x ∈ R|(x,y0 ) ∈ D} und
mit Dx0 = {x ∈ R|(x0 ,y) ∈ D}
!→ z = f1 (y) = f (x0 ,y) .
Ist die Funktion f1 (x) in x0 differenzierbar, so gibt die 1. Ableitung f1 (x0 ) = Funktion f1 an der Stelle x0 an.
d f1 (x0 ) dx
die Steigung der
Übertragen auf die Ausgangsfunktion f (x, y) lässt sich f1 (x0 ) interpretieren als Steigung des Graphen dieser Funktion in Richtung der x-Achse. Analog stellt der Differenzialquotient f2 (y0 ) = ddyf1 (y0 ) der Schnittfunktion f2 die Steigung der Fläche f (x, y) an der Stelle (x0 ,y0 ) in Richtung der y-Achse dar.
748
22 Funktionen mehrerer unabhängiger Variablen
Da die so gebildeten Ableitungen f1 (x0 ) und f2 (y0 ) die Steigung der Fläche z = f (x, y) in zwei speziellen Richtungen messen, werden sie als partielle Ableitungen der Funktion f (x, y) bezeichnet. Das Adjektiv „partiell“ bringt dabei zum Ausdruck, dass nur die Änderung der Funktionswerte in einer speziellen Richtung und zwar in Abhängigkeit nur jeweils einer unabhängigen Variablen untersucht wird, während die andere unabhängige Variable konstant gehalten wird. z P = f ( x 0, y 0) z = f ( x 0, y )
t m= ∂ z ∂x t m= ∂ z ∂y
z = f ( x , y 0) y
x
Partielle Ableitung
(t Tangente)
▲ Die Tangenten an die Vertikalschnitte durch den Punkt (x0 , y0 ) veranschaulichen die Steigung des Graphen in x- bzw. in y-Richtung in diesem Punkt. Partielle Ableitungen einer Funktion z = f (x, y) nach x und nach y: ∂f ∂ f (x,y0 ) − f (x0 ,y0 ) fx (x0 ,y0 ) = (x0 ,y0 ) = f (x, y)|(x0 ,y0 ) = lim x→x0 ∂x ∂x x − x0 ∂f ∂ f (x0 ,y) − f (x0 ,y0 ) fy (x0 ,y0 ) = (x0 ,y0 ) = f (x, y)|(x0 ,y0 ) = lim y→y0 ∂y ∂y y − y0 ▲ Da durch den tief gestellten Index bzw. y ausreichend gekennzeichnet wird, dass die erste partielle Ableitung nach x bzw. y zu bilden ist, kann auf den „Ableitungsstrich“ verzichtet werden. ■ f (x, y) = 5xy3 − 7y ex − 2x3 + 11, fx (x, y) = 5y3 − 7y ex − 6x2 , fy (x, y) = 15xy2 − 7 ex . Partielle Ableitungen einer Funktion z = f (x1 , . . . ,xm) nach der Variablen xr ,r ∈ {1,. . . ,m}, an der Stelle x¯ = (x¯1 , . . . ,x¯m ) ∈ D: ∂f f (x¯1 , . . . ,x¯r−1,xr ,x¯r+1, . . . ,x¯m ) − f (x¯1 , . . . ,x¯r , . . . ,x¯m ) fxr (¯x) = (¯x) = lim xr →x¯r ∂xr xr − x¯r Gradient der Funktion z = f (x1 , . . . ,xm ) ist der Vektor des Rm , dessen Komponenten durch die partiellen Ableitungen der Funktion gegeben werden: grad f = ( fx1 (x1 , . . . ,xm ), fx2 (x1 , . . . ,xm ), . . . , fxm (x1 , . . . ,xm )) . ■ f (x, y) = 2x2 + 35y2 − 4xy + 10x − 16y − 25 fx (x, y) = 4x − 4y + 10,
▲ Die Anordnung der als tief gestellte Indizes aufgeführten Variablen gibt an, in welcher Reihenfolge die partiellen Ableitungen zu bilden sind. ■ f (x, y) = 2x2 + 35y2 − 4xy + 10x − 16y − 25 fxx (x, y) = 4, fyx (x, y) = −4,
▲ Die in den Beispielen zu beobachtende Eigenschaft, dass die Kreuzableitungen miteinander übereinstimmen, z. B. fxy = fyx = −4 oder gx1 x2 = gx2 x1 = 1 ist nicht allgemein gültig, sondern beruht auf der Stetigkeit dieser partiellen Ableitungen. Satz von Schwarz: Existieren für eine Funktion z = f (x1 , . . . ,xm ) alle partiellen Ableitungen k-ter Ordnung in einem Punkt x¯ ∈ D und sind alle Ableitungen in x¯ stetig, dann kommt es nicht auf die Reihenfolge an, in der diese partiellen Ableitungen gebildet werden. Hesse’sche Matrix, die Matrix der partiellen Ableitungen 2. Ordnung einer Funktion z = f (x1 , . . . ,xm ) in einem Punkt x¯ = (x1 , . . . ,xm ) ∈ D f11 (¯x) f12 (¯x) · · · f1m (¯x) ∂2 f .. .. .. F(¯x) = mit f (¯ x ) = (¯x) . ij . . . ∂xi ∂x j fm1 (¯x) fm2 (¯x) · · · fmm (¯x) ■ Hesse’sche Matrix von 1 g(x1 , x2 , x3 ) = x31 + x1 x2 − 2x1 x3 + 3x22 − x2 x3 + x23 3 im Punkt (x1 , x2 , x3 ): 2x1 1 −2 G(x1 , x2 , x3 ) = 1 6 −1 −2 −1 2
750
22 Funktionen mehrerer unabhängiger Variablen
im Punkt (4, 0, 3): 8 1 −2 G(4,0,3) = 1 6 −1 −2 −1 2 Kettenregel zur Ableitung der Funktion F(t) = f (x(t),y(t)) nach t: Sei 1. die Funktion F(t) = f (x(t),y(t)) in einer Umgebung der Stelle t0 definiert, 2. die Funktion x(t) in t0 differenzierbar, 3. die Funktion y(t) in t0 differenzierbar, 4. die Funktion f (x, y) in (x0 ,y0 ) mit x0 = x(t0 ),y0 = y(t0 ) partiell differenzierbar nach beiden Variablen. Dann ist die verkettete Funktion F(t) in t0 differenzierbar und es gilt F (t0) = fx (x0 ,y0 ) · x (t0 ) + fy (x0 ,y0 ) · y (t0 ) . ■ F(t) = f (x(t),y(t)) mit f (x, y) = y2 ex + 2xy, x(t) = 3t − t 2 − 1 und y(t) = 4t − 5 t0
=2
x0
= x(t0 ) = 6 − 4 − 1 = 1, y0 = y(t0 ) = 8 − 5 = 3
fx (x, y) = y2 ex + 2y, x (t) = 3 − 2t fy (x, y) = 2y ex + 2x,
Tangentialfläche an die Funktion z = f (x, y) im Punkt P0 = (x0 ,y0 , f (x0 ,y0 )): T (x, y) = f (x0 ,y0 ) + fx (x0 ,y0 )(x − x0 ) + fy (x0 ,y0 )(y − y0 ) . Ebene Fläche, die mit der Funktion f den Punkt (x0 ,y0 ) und die Steigungen fx (x0 ,y0 ) und fy (x0 ,y0 ) gemeinsam hat. ▲ Wird eine der Variablen konstant gehalten, so reduziert sich die Tangentialfläche zu den Tangenten Tx0 (y) = f (x0 ,y0 ) + fy (x0 ,y0 )(y − y0 ) Ty0 (x) = f (x0 ,y0 ) + fx (x0 ,y0 )(x − x0 ) Tangentialfläche an die Funktion z = f (x) = f (x1 ,x2 , . . . ,xm ) im Punkt P = (x¯1 ,x¯2 , . . . ,x¯m ) T (x) = f (¯x) + (grad f (x)) · (x − x¯ ) ▲ Ebenso wie die Tangente als lineare Näherung für eine Funktion z = f (x) benutzt wird, kann die Tangentialfläche als lineare Näherung für die Änderung ∆ f = f (x, y) − f (x0 ,y0 ) verwendet werden. Totales oder vollständiges Differenzial der Funktion f (x, y) an der Stelle (x0 ,y0 ): d f = d f ( dx, dy) = fx (x0 ,y0 ) dx + fy (x0 ,y0 ) dy mit dx = x − x0 und dy = y − y0 . Totales oder vollständiges Differenzial der Funktion z = f (x) an der Stelle x¯ : d f = (grad f (¯x)) (x − x¯ ).
22.4 Tangentialfläche und totales Differenzial
751
Partielle Differenziale erhält man, indem man alle unabhängigen Variablen bis auf eine konstant lässt: d fx = fx (x0 ,y0 )(x − x0 ) bzw. d fxi = fxi (¯x)(xi − x¯i ),
d fy = fy (x0 ,y0 )(y − y0 ) ,
i ∈ {1,2, . . . ,m}
Totales Differenzial und partielle Differenziale der Funktion f (x, y) an der Stelle (x0 ,y0 ). ■ Im LOGOLAND werden in der Vorbereitungsphase zu den Olympischen Spielen zur allgemeinen Kräftigung die Medikamente Oral-Repitrauma (x) und Manzol (y) von den Athleten eingenommen. Durch das erfolgreiche Abschneiden der so vorbereiteten Athleten erhofft LOGOLAND im Ausland einen Prestigegewinn P zu erreichen, der sich gemäß der Funktion 1 √ P(x, y) = − x2 + 9x + 9 xy − y3 + 3y 2 ergibt. Zur Zeit werden von beiden Medikamenten jeweils 9 EH verabreicht. Aus Kostengründen soll nun die Einnahme von Oral-Repitrauma um eine Einheit erhöht werden. Wie muss die Dosierung von Manzol geändert werden, damit der Prestigegewinn konstant bleibt? 9 y 9 x 3√ Px = −x + 9 + , Py = − y+3 2 x 2 y 2 dx = +1, dP = 0, dy = ? (x0 ,y0 ) = (9,9) 9 9 9 9 3√ 0 = −9 + 9 + ·1+ − 9 + 3 · dy 2 9 2 9 2 9 3 =− 2·3 2 1 2 ■ S(x, y) = −2x − 2 xy + 12 y2 + 3 ⇔ dy = −
Sauberkeitsfunktion
Um wie viel ändert sich die Sauberkeit näherungsweise, wenn ausgehend von (x0 ,y0 ) = (2,10) die Variable x um eine Einheit erhöht und die Variable y um eine Einheit gesenkt wird? 1 Sx (x, y) = −4x − y , Sx (2,10) = −8 − 5 = −13 , dx = 1 2 1 Sy (x, y) = − x + y , Sy (2,10) = −1 + 10 = 9 , dy = −1 2 dS = −13 · 1 + 9 · (−1) = −22 d. h., die Sauberkeit sinkt ungefähr um 22 EH.
752
22 Funktionen mehrerer unabhängiger Variablen
22.5
Quadratische Formen
Eine quadratische Form ist ein nichtlinearer Ausdruck der Form n
n
Q(x1 ,x2 , . . . ,xn ) = ∑ ∑ ai j xi x j i=1 j=1
= a11 x1 x1 + a12 x1 x2 + . . . + a1n x1 xn + a21 x2 x1 + a22 x2 x2 + . . . + a2n x2 xn + ... + an1 xn x1 + an2 xn x2 + . . . + ann xn xn = x · A · x = Q(x) wobei x = (x1 ,x2 , . . . ,xn ) der Vektor der Variablen x1 ,x2 , . . . ,xn und A = (ai j ) die Matrix der reellen Koeffizienten ai j symbolisiert. 5 2 1 x1 ■ Q(x) = (x1 , x2 , x3 ) · 6 2 4 · x2 5 −2 −7 x3 = x1 x1 + 8x1 x2 + 6x1 x3 + 2x2 x2 + 2x3 x2 − 4x3 x3 1 4 3 x1 = (x1 , x2 , x3 ) · 4 2 1 · x2 3 1 −4 x3 ▲ Da für reelle Variablenwerte stets gilt xi x j = x j xi , lässt sich eine quadratische Form mit verschiedenen Matrizen darstellen. Ein Spezialfall ist die Darstellung mit einer symmetrischen Matrix A∗ , wobei A∗ = 1 (A + A ): 2 Q(x) = x · A∗ · x Definitheit einer quadratische Form: Q(x) heißt • positiv definit
⇔
Q(x) > 0
∀x = 0
• positiv semidefinit
⇔
Q(x) ≥ 0
∀x = 0
• negativ definit
⇔
Q(x) < 0
∀x = 0
• negativ semidefinit
⇔
Q(x) ≤ 0
∀x = 0
Ist eine quadratische Form Q(x) für einige Vektoren x = 0 positiv und für andere negativ, so heißt sie indefinit. 5 0 x1 ■ Qa (x1 ,x2 ) = 5x21 + 3x22 = (x1 ,x2 ) · 0 3 x2 ist positiv definit.
ist indefinit, denn es gilt z. B. Qc (1,0) = 3 > 0 und Qc (0,1) = −1 < 0. Notwendige Bedingung für Definitheit Eine quadratische Form x · A · x kann nur dann positiv definit (positiv semidefinit, negativ definit, negativ semidefinit) sein, wenn alle Elemente auf der Hauptdiagonalen der Matrix A positiv (nichtnegativ, negativ, nichtpositiv) sind. Weist eine quadratische Form x · A · x sowohl positive als auch negative Elemente auf der Hauptdiagonalen von A auf, so ist sie indefinit. Eigenwertkriterium (Notwendige und hinreichende Bedingung) für Definitheit: Sei A eine symmetrische n × n-Matrix mit den reellen Eigenwerten λ 1 , . . . ,λ n und Q(x) = x · A · x eine quadratische Form. Q(x) ist dann und nur dann positiv definit (positiv semidefinit, negativ definit, negativ semidefinit), wenn alle Eigenwerte von A positiv (nichtnegativ, negativ, nichtpositiv) sind. 8 −2 x1 ■ Q(x, y) = 8x2 − 4xy + 6y2 = (x, y) · . −2 6 x2
8−λ −2
= (8 − λ )(6 − λ ) − 4 = λ 2 − 14λ + 44 = 0
−2 6−λ √ √ ⇔ λ 1 = 7 + 5 > 0 oder λ 2 = 7 − 5 > 0 D. h. Q(x, y) ist positiv definit.
⇔ λ 1 = 6 > 0 oder λ 2 = −7 < 0 D. h. Q(x, y) ist indefinit. Hauptminorenkriterium (Notwendige und hinreichende Bedingung) für Definitheit: Eine quadratische Form Q(x) = x · A · x mit symmetrischer Matrix ist dann und nur dann 1. positiv definit, wenn alle Hauptminoren der Determinanten |A| positiv sind. D. h.
a11 a12 a13
a11 · · · a1n
a
11 a12
.. . . a11 > 0 ,
> 0 , a21 a22 a23 > 0 , . . . , . .
> 0
a21 a22
a31 a32 a33
a
n1 · · · ann 2. negativ definit, wenn alle Hauptminoren von |A| im Vorzeichen so alternieren, dass das Vorzeichen einer Hauptabschnittsdeterminante k-ter Ordnung sich wie (−1)k verhält. D. h.
a11 a12 a13
a11 · · · a1n
a
11 a12
. .. > 0 ; a11 < 0 ,
> 0 , a21 a22 a23 < 0 , . . . , (−1)n .. .
a21 a22
a31 a32 a33
a ··· a n1
nn
3. positiv semidefinit, wenn alle Hauptminoren von |A| und alle Hauptminoren der Determinanten, die sich aus |A| durch Umordnen der Variablen des Vektors x ergeben, nichtnegativ sind;
754
22 Funktionen mehrerer unabhängiger Variablen
4. negativ semidefinit, wenn alle Hauptminoren von |A| und alle Hauptminoren der Determinanten, die sich aus |A| durch Umordnen der Variablen des Vektors x ergeben, so im Vorzeichen alternieren, dass die Hauptabschnittsdeterminanten von gerader Ordnung stets nichtnegativ und von ungerader Ordnung stets nichtpositiv sind. Weisen die Hauptminoren von |A| keine dieser vier Vorzeichenfolgen auf, dann ist Q(x) = x · A · x indefinit. 2 −3 0 x 2 2 2 ■ Q(x,y,z) = 2x + 3y + 5z − 6xy + 4yz = (x,y,z) · −3 3 2 y 0 2 5 z
1 3 −5 könnte Q(x1 , x2, x3 ) negativ semidefinit sein. Ein Austausch der Variablen x1 und x2 ändertan den Ergebnissen nichts. Tauscht man die Reihenfolge −5 3 1 der Variablen x1 und x3 aus, so ist die Matrix 3 −2 0 zu überprüfen. 1 0 −2
−5 3
Da
= 10 − 9 > 0 und −5 < 0 wird das Resultat negativ semidefinit unterstützt. Auch ein
3 −2 Austausch von x3 und x2 ändert das Ergebnis nicht. −2 1 0 Betrachtet man die Reihenfolge x2 ,x3 ,x1 , so ist die Matrix 1 −5 3 zu untersuchen. Da 0 3 −2
−2 1
= 10 − 1 > 0 und −2 < 0 kann Q(x1 , x2 , x3 ) weiterhin negativ semidefinit sein. Ein
1 −5 Austausch von x1 und x3 ändert das Ergebnis nicht. ⇔ Q(x1 , x2 , x3) ist negativ semidefinit. −4 0 3 x ■ Q(x,y,z) = (x,y,z) · 0 0 0 y 3 0 2 z
−4 0 3
−4 0
Da −4 < 0,
= 0, 0 0 0 = 0 sind, könnte Q(x, y, z) negativ semidefinit sein.
0 0
3 0 2
22.6 Extrema von Funktionen mehrerer unabhängiger Variablen
755
Tauscht man aber die Reihenfolge von y und z, so hat die quadratische Form Q in Matrizenschreibweise die Gestalt −4 3 0 x Q(x,z,y) = (x,z,y) · 3 2 0 z 0 0 0 y
−4 3
Da für den 2. Hauptminor
= 8 − 9 < 0 gilt, ist die quadratische Form Q indefinit.
3 −2 3 0 0 x ■ Q(x,y,z) = (x,y,z) · 0 6 −2 y 0 −2 2 z
3 0 0
3 0
Da 3 > 0,
= 18 > 0, 0 6 −2 = 24 > 0 sind, ist Q(x, y, z) positiv definit.
0 6
0 −2 2
22.6
Extrema von Funktionen mehrerer unabhängiger Variablen
Relative Extrema. Eine Funktion z = f (x1 , . . . ,xm ) besitzt an der Stelle x¯ = (x¯1 , . . . ,x¯m ) ∈ D ein relatives Maximum (bzw. ein relatives Minimum), wenn es eine Umgebung U(¯x) ⊆ D von x¯ gibt, sodass für alle x = (x1 , . . . ,xm ) ∈ U(¯x) gilt: f (x) < = f (¯x)
(bzw. f (x) > = f (¯x)) .
Notwendige Bedingung für ein relatives Extremum: Ist die Funktion z = f (x1 , . . . ,xm ) in einer Umgebung U(¯x) einer Stelle x¯ = (x¯1 , . . . ,x¯m ) ∈ D partiell differenzierbar nach allen Variablen x¯1 , . . . ,x¯m , so kann sie in x¯ nur dann ein relatives Extremum haben, wenn gilt fx1 (¯x) = 0, fx2 (¯x) = 0, . . . , fxm (¯x) = 0 . ▲ Diese Bedingung lässt sich auch schreiben als grad f (¯x) = 0. Als stationäre Stellen (kritische Stellen) der Funktion z = f (x1 , . . . ,xm ) bezeichnet man die Stellen x¯ ∈ D, die der Bedingung grad f (¯x) = 0 genügen. Hinreichende Bedingung für ein relatives Extremum Die Funktion z = f (x1 , . . . ,xm ) besitze in x¯ = (x¯1 , . . . ,x¯m ) eine stationäre Stelle, d. h. grad f (¯x) = 0 und stetige partielle Ableitungen 2. Ordnung. Aus der Definitheit der Hesse’schen Matrix F(¯x) der Funktion f im Punkt x¯ lassen sich dann die nachstehenden Schlüsse ziehen: Ist die Hesse’sche Matrix F(¯x) im Punkt x¯ • positiv definit, dann hat f in x¯ ein relatives Minimum, • negativ definit, dann hat f in x¯ ein relatives Maximum, • indefinit, dann liegt in x¯ kein relatives Extremum vor. Ist dagegen F(¯x) positiv semidefinit oder negativ semidefinit, so kann noch keine Aussage über das Vorliegen eines relativen Extremums in x¯ gemacht werden.
756
22 Funktionen mehrerer unabhängiger Variablen
■ f (x, y) = x3 + x2 − xy + y2 fx = 3x2 + 2x − y = 0 ⇒ 12y2 + 4y − y = y(12y + 3) = 0 fy = −x + 2y = 0 ⇔ x = 2y y1 = 0
⇒ x1 = 0
1 y2 = − 4
⇒ x2 = −
1 2
1 1 d. h. f hat die stationären Stellen P1 = (0,0) und P2 = (− , − ). 2 4 Hesse’sche Matrix: 6x + 2 −1 F(x, y) = −1 2
2 −1
In P1 = (0,0): Da
= 4 − 1 > 0 und 2 > 0 hat f in P1 ein relatives Minimum.
= −1 < 0 ist G(0,0,0) indefinit und f hat in P1 kein relatives Extremum.
1 6
4
1 −2
4 1
In P2 = (2,0,2) gilt |G(2,0,2)| = 1 6 −1 = 22 > 0,4 > 0 und
= 23 > 0.
1 6
−2 −1 −2 Daher ist G(2,0,2) positiv definit und f hat in P2 ein relatives Minimum.
22.7
Implizite Funktionen
Implizite (oder unentwickelte) Funktion. Sie wird durch eine Gleichung der Form g(x1 , . . . ,xm ) = 0 in einer Teilmenge des Rm beschrieben. Die so definierte Punktmenge des Rm stellt den Graph einer eindeutig bestimmten Funktion x j = h j (x1 , . . . ,x j−1 ,x j+1 , . . . ,xm ) dar. Man sagt auch, die Funktion h j ist implizit durch die Gleichung g(x1 ,x2 , . . . ,xm ) gegeben.
22.8 Extrema unter Beachtung von Nebenbedingungen
757
■ g(x1 , x2 , x3 ) = 4x1 + x32 + 5x3 − 200 = 0 1 5 ⇔ x1 = h1 (x2 ,x3 ) = 50 − x32 − x3 4 4 3 ⇔ x2 = h2 (x1 ,x3 ) = 200 − 4x1 − 5x3 4 1 ⇔ x3 = h3 (x1 ,x2 ) = 40 − x1 − x32 in R3 5 5 ■ g(x1 , x2 , x3 ) = x31 + 4x1 x2 + x32 + 7x51 x3 + x72 x33 + 5x3 − 1200 = 0 Ob durch diese Gleichung eine Funktion im R30 implizit beschrieben wird, kann nicht durch Auflösung nach einer der Variablen überprüft werden. ▲ Wenn es gelingt, die Gleichung g(x1 , . . . ,xm ) = 0 im ganzen Rm oder in einer Teilmenge des Rm eindeutig nach einer der Variablen x j aufzulösen, so erhält man die implizit gegebene Funktion. Eine direkte Auflösung ist aber oft auch dann nicht durchführbar, wenn eine implizite Funktion tatsächlich vorliegt. Eine Aussage über die Existenz einer impliziten Funktion in der Umgebung eines Punktes (x¯1 , . . . ,x¯m ), die der Gleichung g(x1 , . . . ,xm ) = 0 genügt, gibt der nachfolgende Satz. Der Übersichtlichkeit wegen ist er für m = 3 formuliert, gilt aber analog für alle m ≥ 2. ● Sei g(x, y, z) eine in einer Menge D ⊆ R3 definierte und stetige Funktion und es gebe eine Stelle (x, ¯ y,¯ ¯ z) ∈ D, für welche die folgenden drei Bedingungen erfüllt sind: 1. In (x, ¯ y,¯ ¯ z) hat g den Wert 0, d. h. g(x, ¯ y,¯ ¯ z) = 0. 2. Es gibt eine Umgebung der Stelle (x, ¯ y,¯ ¯ z), in der eine der partiellen Ableitungen gx , gy bzw. gz existiert und stetig ist. 3. Dieselbe partielle Ableitung ist in (x, ¯ y,¯ ¯ z) von Null verschieden. Es gelten dann die beiden folgenden Aussagen: 1. Sind die beiden ersten Voraussetzungen – ohne Beschränkung der Allgemeinheit – für gz erfüllt, so lässt sich nach Wahl einer beliebigen, nicht zu großen positiven Zahl > 0 eine andere positive Zahl δ so angeben, dass genau eine Funktion z = h(x, y) existiert, die für alle (x, y) aus der δ -Umgebung der Stelle (x, ¯ y) ¯ die Gleichung g(x,y,h(x, y)) = 0 und die Ungleichung |h(x, y) − z¯| < erfüllt. 2. Sind alle partiellen Ableitungen gx , gy und gz stetig in (x, ¯ y,¯ ¯ z) und ist gz (x, ¯ y,¯ ¯ z) = 0, so ist die Funktion h in der δ -Umgebung von (x, ¯ y) ¯ partiell nach x und y differenzierbar und es gilt: gx (x, ¯ y,¯ ¯ z) gy (x, ¯ y,¯ ¯ z) hx (x, hy (x, ¯ y) ¯ =− ¯ y) ¯ =− gz (x, ¯ y,¯ ¯ z) gz (x, ¯ y,¯ ¯ z) ■ g(x1 , x2 , x3 ) = 4x1 + x32 + 5x3 − 200 = 0 ; P = (16,4,14) ⇔ x2 = h2 (x1 ,x3 ) =3 200 − 4x1 − 5x3 −4 √ 3 3 · (200 − 4x1 − 5x3 )2 −4 4 1 √ h2x1 (16,14) = = − = − 3 3 · 42 12 3 · (200 − 64 − 70)2 gx (x1 , x2 , x3) 4 4 1 h2x1 (x1 ,x3 ) = − 1 = − 2 , h2x1 (16,14) = − =− 2 gx2 (x1 , x2 , x3) 3x2 3·4 12 h2x1 (x1 ,x3 ) =
22.8
Extrema unter Beachtung von Nebenbedingungen
Reduktionsmethode zur Bestimmung relativer Extrema einer Funktion z = f (x, y, z) unter Beachtung einer Nebenbedingung g(x, y, z) = 0. Die Reduktionsmethode ist nur anwendbar, wenn durch die Nebenbedingung eine implizite Funktion in der gesamten Definitionsmenge beschrieben wird. Sei o. B. d. A. z = h(x, y) diese implizite Funktion, so bestimmt man anstelle der gegebenen Aufgabe die relativen Extrema der Funktion F(x, y) = f (x,y,h(x, y)).
758
22 Funktionen mehrerer unabhängiger Variablen
1 1 ■ f (x, y) = −2x2 − xy + y2 + 3 2 2 y−x=8
⇔
u. B. d. Nb. y − x = 8
yh (x) = x + 8
1 1 F(x) = F(x,h(x)) = −2x2 − x(x + 8) + (x + 8)2 + 3 = −2x2 + 4x + 35 2 2 ∗ ∗ F (x) = −4x + 4 = 0 ⇔ x = 1,y = h(1) = 9 F (x) = −4 < 0 , d. h. F hat in x∗ = 1 ein relatives und absolutes Maximum ⇒ f (x, y) hat u. B. d. Nb. y − x = 8 in P∗ = (1,9) ein relatives und absolutes Maximum. ▲ Die Reduktionsmethode lässt sich auch bei mehreren Nebenbedingungen verwenden. Voraussetzung ist aber stets eine eindeutige Auflösung nach den Variablen. ■ f (x, y, z) = 2x + 3y + 2z unter Beachtung der Nebenbedingungen x2 + y2 = 4 und x + z = 1 . Mit x + z = 1 ⇔ z = h(x) = 1 − x lässt sich die gegebene Aufgabe äquivalent formulieren als F(x, y) = 2 + 3y u. B. d. Nb. x2 + y2 = 4 . Lagrange’sche Multiplikator-Methode: Notwendige Bedingung dafür, dass die an der Stelle (x, ¯ y,¯ ¯ z) nach allen Variablen partiell differenzierbare Funktion f (x, y, z) in (x, ¯ y,¯ ¯ z) ein relatives Extremum unter Beachtung der Nebenbedingung g(x,y,z) = 0 hat, ist, dass für ein geeignetes λ ∈ R\{0} das Tupel (x, ¯ y,¯ ¯ z) den folgenden vier Bedingungen genügt: N.1 L.1 L.2 L.3
Dabei müssen die partiellen Ableitungen beider Funktionen f und g nach einer der Variablen in (x, ¯ y,¯ ¯ z) von Null verschieden sein. Stationäre Stellen der Funktion f unter der Nebenbedingung g(x, y, z) = 0 sind Punkte (x, ¯ y,¯ ¯ z), die den Bedingungen N.1, L.1–L.3 genügen. Lagrange’scher Multiplikator. die reelle Zahl λ = 0, die zusammen mit einem Tupel (x, ¯ y,¯ ¯ z) die Bedingungen N.1, L.1–L.3 erfüllt. Mithilfe der Lagrange-Funktion L(λ ,x, y, z) = f (x, y, z) + λ · g(x,y,z) lassen sich für ein geeignetes λ = 0 die Bedingungen der Lagrange’schen Multiplikatormethode einfach ausdrücken als grad L(λ¯ ,x, ¯ y,¯ ¯ z) = 0. (Allgemeine) Lagrange’sche Multiplikator- Methode: Gegeben seien die Funktion f und die Funktionen gi ,i ∈ {1, . . . ,r},r < m, in den Variablen x1 ,x2 , . . . ,xm .
22.8 Extrema unter Beachtung von Nebenbedingungen
759
Die Funktion f sei wenigstens für alle Punkte, die den Nebenbedingungen g1 (x1 ,x2 , . . . ,xm ) = 0 g2 (x1 ,x2 , . . . ,xm ) = 0 ······ gr (x1 ,x2 , . . . ,xm ) = 0 genügen, definiert und nach allen Variablen x1 ,x2 , . . . ,xm partiell differenzierbar. Die Funktionen gi seien nach allen Variablen x1 ,x2 , . . . ,xm partiell differenzierbar. Hat die Funktion f im Punkt x¯ = (x¯1 ,x¯2 , . . . ,x¯m ) ein relatives Extremum unter Beachtung vorstehender Nebenbedingungen und hat die Jakobi–Matrix g1x1 (¯x) g1x2 (¯x) · · · g1xm (¯x) g2x1 (¯x) g2x2 (¯x) · · · grxm (¯x) G(¯x) = .. .. .. . . . grx1 (¯x)
grx2 (¯x) · · · grxm (¯x)
den Rang r (d. h. die Zeilenvektoren sind linear unabhängig), dann existieren r eindeutig bestimmte reelle Zahlen λ 1 , . . . ,λ r ∈ Rr \{(0, . . . ,0)}, die Lagrange’schen Multiplikatoren, sodass gilt: N.1 N.2 N.r
Bei Verwendung der Lagrange-Funktion L(λ 1 , . . . ,λ r ,x1 , . . . ,xm ) = f + λ 1 · g1 + λ 1 · g2 + · · · + λ r · gr lässt sich dieses Gleichungssystem auch schreiben als grad L(λ¯ 1 , . . . ,λ¯ r ,x¯1 , . . . ,x¯m ) = 0 . Hinreichende Bedingung für ein relatives Extremum der Funktion f (x1 , . . . ,xm ) unter Beachtung der Nebenbedingungen g1 (x1 , . . . ,xm ) = 0, . . . ,gr (x1 , . . . ,xm ) = 0: Die Funktion habe in x¯ = (x¯1 , . . . ,x¯m ) eine stationäre Stelle unter Beachtung der Nebenbedingungen g1 (x1 , . . . ,xm ) = 0, . . . ,gr (x1 , . . . ,xm ) = 0 mit den Lagrange’schen Multiplikatoren λ¯ = (λ¯ 1 , . . . ,λ¯ r ), d. h. alle partiellen Ableitungen der Lagrange-Funktion L(λ 1 , . . . ,λ r ,x1 , . . . ,xm ) = f + λ 1 · g1 + λ 1 · g2 + · · · + λ r · gr sind in (λ¯ ,¯x) = (λ¯ 1 , . . . ,λ¯ r ,x¯1 , . . . ,x¯m ) gleich Null.
760
22 Funktionen mehrerer unabhängiger Variablen
Die Funktionen f ,g1 , . . . ,gr sind in x¯ zweimal stetig differenzierbar nach allen Variablen x1 , . . . ,xm und man bildet die Hesse’sche Matrix der Lagrange-Funktion L(λ 1 , . . . ,λ r ,x1 , . . . ,xm ) an der Stelle (λ¯ ,¯x) Lλ 1 λ 1 · · · Lλ 1 λ r Lλ 1 x1 · · · Lλ 1 xm .. .. .. .. . . . . L · · · L L · · · L λr λ1 λr λr λ r x1 λ r xm L(λ¯ ,¯x) = (λ¯ ,¯x) . Lx1 λ 1 · · · Lx1 λ r Lx1 x1 · · · Lx1 xm .. .. .. .. . . . . Lxm λ 1 · · · Lxm λ r Lxm x1 · · · Lxm xm Hinreichend dafür, dass f in x¯ α . ein relatives Minimum β . ein relatives Maximum γ . kein relatives Extremum besitzt unter den Nebenbedingungen g1 ≡ 0 . . . ,gr ≡ 0 ist, dass die Hauptabschnittsdeterminanten der Hesse’schen Matrix L(λ¯ ,¯x), deren Ordnung größer als 2r sind, α . alle das Vorzeichen (−1)r haben, β . im Vorzeichen alternieren und zwar so, dass die Determinante der Matrix L(λ¯ ,x) ¯ das Vorzeichen (−1)m hat, γ . nicht die unter α . und β . genannte Vorzeichenfolge aufweisen; dabei wird das Nullwerden einer oder mehrerer der zu berechnenden Hauptabschnittsdeterminanten nicht als ein Verstoß gegen die Vorzeichenregel gewertet. ▲ Um die Handhabung dieses Satzes zu erleichtern, sollen die einfachsten Anwendungsfälle genauer strukturiert werden. Fall A: m = 2, r = 1 Zu untersuchen ist die Funktion f (x, y) u. B. d. N. g(x, y) = 0. ¯ y) ¯ das Vorzeichen (−1)r = (−1)1 = −1, Hat L(λ¯ ,x, so hat f u. B. d. N. g(x, y) = 0 in (x, ¯ y) ¯ ein relatives Minimum. m Hat L(λ¯ ,x, ¯ y) ¯ das Vorzeichen (−1) = (−1)2 = +1, so hat f u. B. d. N. g(x, y) = 0 in (x, ¯ y) ¯ ein relatives Maximum. Ist L(λ¯ ,x, ¯ y) ¯ = 0, dann lässt sich aus der Hesse’schen Matrix keine Aussage über das Vorliegen eines relativen Extremums in (x, ¯ y) ¯ folgern. Fall B: m = 3, r = 1 Zu untersuchen ist die Funktion f (x,y,z) u. B. d. N. g(x, y, z) = 0. Zu berechnen sind dann die Hauptabschnittsdeterminanten der Hesse’schen Matrix L(λ¯ ,x, ¯ y,¯ ¯ z) der Ordnung 3 und der Ordnung 4. 4. Ordnung 3. Ordnung Ergebnis -1 -1 relatives Minimum -1 +1 relatives Maximum -1 0 keine Aussage möglich 0 -1,0,+1 keine Aussage möglich +1 -1,0,+1 kein relatives Extremum Fall C: m = 3, r = 2 Zu untersuchen ist die Funktion f (x,y,z) unter Beachtung der Nebenbedingungen g1 (x,y,z) = 0 und g2 (x,y,z) = 0.
22.8 Extrema unter Beachtung von Nebenbedingungen
761
Hat L(λ¯ ,µ¯ ,x, ¯ y,¯ ¯ z) das Vorzeichen (−1)r = (−1)2 = +1, so hat f u. B. d. N. g1 = 0 und g2 = 0 in (x, ¯ y,¯ ¯ z) ein relatives Minimum. m ¯ ¯ y,¯ ¯ z) das Vorzeichen (−1) = (−1)3 = −1, Hat L(λ ,µ¯ ,x, so hat f u. B. d. N. g1 = 0 und g2 = 0 in (x, ¯ y,¯ ¯ z) ein relatives Maximum. ¯ Ist L(λ ,µ¯ ,x, ¯ y,¯ ¯ z) = 0, dann lässt sich aus der Hesse’schen Matrix keine Aussage über das Vorliegen eines relativen Extremums in (x, ¯ y,¯ ¯ z) folgern. ■ f (x, y, z) = −3x + 4y + z u. B. d. Nb. g(x, y, z) = x3 + y4 − z = 0 . L(λ ,x, y, z) = −3x + 4y + z + λ (x3 + y4 − z) I. II. III. IV.
x1 = 1 und y = −1 in I.: 1 + 1 − z = 0 ⇔ z1 = 2 x2 = −1 und y = −1 in I.: −1 + 1 − z = 0 ⇔ z2 = 0 d. h. es gibt die beiden stationären Stellen P1 = (1, − 1,2) und P2 = (−1, − 1,0) mit jeweils λ = 1. L(λ ,x, y, z) =
22 Funktionen mehrerer unabhängiger Variablen Lλ = x2 + y2 − 4 = 0 Lµ = x + z − 1 = 0 3x −2=0 ⇔ x=0 y 3 ⇔ λ =− 2y ⇔ mu = −2
III. Lx = 2 + 2xλ + µ = 0 ⇔ 2 − IV.
Ly = 3 + 2yλ = 0
V.
Lz = 2 + µ = 0
III∗
III∗ in I. y2 = 4 ⇔ y1 = 2 oder y2 = −2 III∗ in II. z = 1 d. h. zwei stationäre Stellen: P1 = (0,2,1) mit λ = − 34 und µ = −2, sowie P2 = (0, − 2,1) mit λ = 34 und µ = −2 L(λ ,µ ,x,y,z) =
0 0 2x 2y 0
0 2x 0 1 1 2λ 0 0 1 0
2y 1 0 2λ 0
0 1 0 0 0
In P1 = (0,2,1) mit λ = − 34 und µ = −2
Nach Fall C ist nur die Determinante L(− 34 − 2,0,2,1) zu untersuchen. Ist diese positiv, d. h. (−1)r = (−1)2 > 0, so liegt ein rel. Minimum vor, ist diese aber negativ, d. h. (−1)n = (−1)3 < 0, so liegt ein rel. Maximum vor.
0 0 0 4 0
0 0 1 1
0 0 1 0 1
0 1 −3 0
3
2
L(− − 2,0,2,1) = 0 1 − 3 0 0
= 4(−1)1+4
2
4 0 0 0 4 3
4 0 0 −2 0
0 1 0 0
0 1 0 0 0
0 0 − 32
3 = −4 · 1(−1)1+4
4 0 0
= 4(− · 4) < 0 2
0 1 0 d. h. f hat u. B. d. Nb. in P1 ein rel. Maximum. In P2 = (0, − 2,1) mit λ =
3
L( − 2,0, − 2,1) =
4
3 4
und µ = −2
0 −4 0
0 0 1 1
1 0 1
1 32 0
1+4 0 3 = 4(−1) 0 0
2
−4 0 0 0
0 32 0
0 1 0 0 0 0 0
0 1 32
= −4 · 1(−1)1+4
−4 0 0
= −4(−6) = 24 > 0
0 1 0 0 0 0 −4 0
0 0 1 0 1
d. h. f hat u. B. d. Nb. in P2 ein rel. Minimum.
23
Komplexe Zahlen und Funktionen einer komplexen Variablen
23.1
Komplexe Zahlen
Imaginäre Einheit i: i2 = −1. ■ Die Lösungen der Gleichung x2 + 1 = 0 lauten mithilfe der imaginären Einheit x1/2 = ±i. Sie sind als Produkte aus einer reellen Zahl und i darstellbar: x1 = 1 · i und x2 = −1 · i. Potenzen von i, i1 = i , i2 = −1 , i3 = i2 · i = −i , i4 = i2 · i2 = 1 . Für beliebige n ∈ N gilt: i4n
= 1, i1+4n = i,
i2+4n = −1, i3+4n = −i.
23.1.1
Imaginäre Zahlen
Imaginäre Zahl, Produkt einer reellen Zahl b mit der imaginären Einheit i :
b i.
Schreibweisen: bi, ib, b · i, i · b. ● Das Quadrat einer imaginären Zahl ist stets eine negative reelle Zahl: (bi)2 = b2 · i2 = b2 · (−1) = −b2 < 0 (b = 0). Menge der imaginären Zahlen I = {c | c = ib,b ∈ R}.
23.1.2
Algebraische Darstellung komplexer Zahlen
Komplexe Zahl z, Summe aus einer reellen Zahl x und einer imaginären Zahl iy :
z = x + iy.
■ Die Lösungen der quadratischen Gleichung x2 − 6x + 13 = 0 sind komplexe Zahlen, Anwenden der p-q-Formel ergibt: √ √ x1/2 = 3 ± 9 − 13 = 3 ± −4 = 3 ± 2i. Realteil einer komplexen Zahl Re(z) = x, Imaginärteil einer komplexen Zahl Im(z) = y. ● Zwei komplexe Zahlen z1 , z2 sind genau dann gleich, z1 = z2 , wenn x1 = x2 und y1 = y2 , d. h. Realteil und Imaginärteil müssen übereinstimmen. Menge der komplexen Zahlen C = {z | z = x + iy; x,y ∈ R}, kann aufgefasst werden als kartesisches Produkt R2 = R × R mit geordneten Paaren reeller Zahlen (x,y), x,y ∈ R als Elemente z, z ∈ C.
764
23 Komplexe Zahlen und Funktionen einer komplexen Variablen
● R und I sind echte Teilmengen von C, R ⊂ C, I ⊂ C. ● Es gelten die Inklusionen I ⊂ C ⊃ R ⊃ Q ⊃ Z ⊃ N. Reelle Zahl, komplexe Zahl mit verschwindendem Imaginärteil: x = x + i · 0 = z, Re(z) = x, Im(z) = 0. Imaginäre Zahl, komplexe Zahl mit verschwindendem Realteil: i · y = 0 + i · y = z, Re(z) = 0, Im(z) = y.
23.1.3
Kartesische Darstellung komplexer Zahlen
● Man fasst Realteil und Imaginärteil einer komplexen Zahl als kartesische Koordinaten eines Punktes P in der (x,y)-Ebene auf: z = x + iy ⇔ P(z) = P(x,y). ● Jeder komplexen Zahl z lässt sich genau ein Bildpunkt P(z) zuordnen. Zeiger z, Pfeil zwischen Ursprung und P(z). ▲ Der Zeiger ist kein Vektor, er unterliegt anderen Rechengesetzen (s. Multiplikation komplexer Zahlen, Abschnitt 23.2).
Im ( z ) z
y
Komplexe Ebene oder Gauß’sche Zahlenebene, Bezeichnungen für die (x,y)-Ebene.
z=x+iy
Reelle Achse, x-Achse, Imaginäre Achse, y-Achse.
x
● Reelle Zahlen liegen auf der reellen Achse, imaginäre Zahlen auf der imaginären Achse.
23.1.4
Re ( z )
Darstellung einer komplexen Zahl in der Gauß’schen Zahlenebene
Konjugiert komplexe Zahlen
Konjugiert komplexe Zahl zu z = x + iy: z∗ = x − iy. Andere Schreibweise: z∗ = z. ● Es gilt Re(z∗ ) = Re(z) und Im(z∗ ) = − Im(z). ▲ Vorzeichenwechsel im Imaginärteil! z∗ erhält man aus z auch durch die Substitution i → −i.
Im( z ) y
z z
■ Die zu z = 3 + 2i konjugiert komplexe Zahl ist z∗ = 3 − 2i. ● Für zwei zueinander konjugiert komplexe Zahlen z1 ,z2 gilt: z1 = z∗2
und
z2 = z∗1 .
● Die Bildpunkte zweier zueinander konjugiert komplexer Zahlen sind spiegelsymmetrisch zur reellen Achse. ● Eine komplexe Zahl mit z = z∗ ist reell.
x
Re( z )
z∗ −y
z∗
Zueinander konjugiert komplexe Zahlen in der Gauß’schen Zahlenebene
23.1 Komplexe Zahlen
23.1.5
765
Betrag einer komplexen Zahl
Betrag einer komplexen Zahl oder Modul, |z| = x2 + y2 . ■ Der Betrag der komplexen Zahl √ z = 6 + 3i ist √ √ |z| = 62 + 32 = 36 + 9 = 45. ● |z| ist euklidischer Abstand des Bildpunktes P(z) vom Ursprung in der komplexen Ebene.
Im ( z ) z
y |z
● |z| ist Länge des Zeigers z. ● Es gilt immer: |z| ≥ 0. ● Der Betrag berechnet sich auch durch √ ∗ |z| = z · z (s. Multiplikation komplexer Zahlen, Abschnitt 23.2).
|
z=x+iy
x
Re ( z )
Betrag einer komplexen Zahl
▲ Der Betrag einer komplexen Zahl (die Länge des Zeigers z) entspricht der Länge des Vektors a = (x,y) im R2 : |z| = |a| = a ·a = x2 + y2 .
23.1.6
Trigonometrische Darstellung komplexer Zahlen
Polarkoordinaten r,ϕ in der komplexen Ebene: Kartesische Komponenten: x = r · cos ϕ ,
y = r · sin ϕ .
Im ( z ) z
y
Trigonometrische Form der komplexen Zahlen:
r
z = x + iy = r(cos ϕ + i · sin ϕ ). Radialkoordinate r ist gleich dem Betrag der komplexen Zahl, r = |z|. ∗
∗
▲ r ∈ R, also r = |z | = r. Argument, Winkel oder Phase ϕ von z.
z=x+iy
φ x
Re ( z )
Trigonometrische Darstellung einer komplexen Zahl
● ϕ ist unendlich vieldeutig: Jede Rotation um 2π führt zum gleichen Bildpunkt. Hauptwert von ϕ , wenn ϕ ∈ [0,2π ) bzw. ϕ ∈ (−π ,π ]. Konjugiert komplexe Zahl z∗ in trigonometrischer Darstellung ergibt sich durch Umkehrung des Vorzeichens von ϕ : z∗ = r[cos(−ϕ ) + i · sin(−ϕ )] = r(cos ϕ − i · sin ϕ ). Der Betrag r bleibt erhalten.
23.1.7
Exponentialdarstellung komplexer Zahlen
Euler’sche Formel (s. Trigonometrische Funktionen im Komplexen, Abschnitt 23.3): eiϕ = cos ϕ + i · sin ϕ . Exponentialform der komplexen Zahlen: z = r · eiϕ .
766
23 Komplexe Zahlen und Funktionen einer komplexen Variablen
Konjugiert komplexe Zahl z∗ in Exponentialdarstellung: z∗ = [r eiϕ ]∗ = r∗ · [eiϕ ]∗ = r · e−iϕ . ▲ Die komplexe Exponentialfunktion eiϕ ist 2π i-periodisch: eiϕ +k·2π i = ei[ϕ +k·2π ] = eiϕ , k ∈ Z. ● Spezielle Werte von eiϕ : π π eiπ /2 = cos + i sin = i, 2 2 2π 2π 1 i√ i2π /3 = cos 3, e + i sin =− + 3 3 2 2 eiπ
= cos π + i sin π = −1, 4π 1 i√ 4π i4π /3 e = cos + i sin =− − 3, 3 3 2 2 3π 3π i3π /2 = cos e + i sin = −i. 2 2
23.1.8
Umrechnung zwischen kartesischer und trigonometrischer Darstellung
● Kartesische Darstellung in trigonometrische Darstellung (Exponentialdarstellung): z = r cos ϕ + ir sin ϕ = reiϕ y tan ϕ = . x Winkelbestimmung für den Hauptwert von ϕ :
z = x + iy → r = x2 + y2 ,
mit
1. Quadrant, x > 0,y > 0: ϕ = arctan(y/x). 2. und 3. Quadrant, x < 0: ϕ = arctan(y/x) + π . 4. Quadrant, x > 0,y < 0: ϕ = arctan(y/x) + 2π . ■ Für z ∈ R: ϕ = 0, falls x > 0, ϕ = π , falls x < 0 und ϕ unbestimmt, falls x = 0 (Ursprung). ■ Für z ∈ I: ϕ = π /2, falls y > 0, ϕ = 3π /2, falls y < 0 und ϕ unbestimmt, falls y = 0. ■ Umschreiben der (in kartesischer Darstellung gegebenen) komplexen Zahl √ z = √3 − i in die trigonometrische √ Darstellung (Exponentialdarstellung): . − 30◦ . r = 3 + 1 = 2, tan ϕ = −1/ 3,√ϕ = −π /6 = Da z im 4. Quadranten liegt (x = 3 > 0 , y = −1 < 0): Hauptwert von ϕ : ϕ = −π /6 + 2π = 11π /6 = 330◦ , ⇒ z = 2[cos(11π /6) + i sin(11π /6)] = 2 · ei11π /6 . ● Trigonometrische Darstellung (Exponentialdarstellung) in kartesische Darstellung, z = r cos ϕ + ir sin ϕ = reiϕ x = r · cos ϕ ,
y = r · sin ϕ .
→
z = x + iy mit
23.2 Elementare Rechenoperationen mit komplexen Zahlen
767
■ Umschreiben der (in Exponentialdarstellung gegebenen) komplexen Zahl z = 1 · eiπ /4 in die kartesische Darstellung: √ √ ◦ o x = 1 · cos( π /4) = cos 45 = 1/ 2, y = 1 · sin( π /4) = sin 45 = 1/ 2, √ √ √ z = (1/ 2) + (i/ 2) = (1 + i)/ 2.
23.1.9
Riemann’sche Zahlenkugel ζ N
x, ξ
K ( z 1)
y,η z 1 =x 1 +iy 1 P ( z 1)
Riemann’sche Zahlenkugel Riemann’sche Zahlenkugel, Kugel im euklidischen Koordinatensystem (ξ ,η ,ζ ) (mit ξ -Achse = x-Achse der komplexen Ebene, η -Achse = y-Achse der komplexen Ebene) um den Punkt (0,0,1/2) mit Radius 1/2. Die Kugeloberfäche erfüllt die Gleichung 2 1 1 2 2 ξ +η + ζ − = . 2 4 ● Die komplexe Ebene lässt sich auf die Oberfläche der Riemann’schen Zahlenkugel abbilden: Abbildung eines Punktes P(z1 ) = (x1 ,y1 ,0) , z1 = x1 + iy1 , auf der komplexen Ebene auf einen Punkt K(z1 ) = (ξ 1 ,η 1 ,ζ 1 ) auf der Oberfläche der Riemann’schen Zahlenkugel: Schnittpunkt der Geraden zwischen P(z1 ) und dem Nordpol N der Riemann’schen Zahlenkugel mit der Oberfläche der Zahlenkugel. Ist P(z1 ) = (x1 ,y1 ,0) gegeben, dann ist x1 y1 x21 + y21 K(z1 ) = . , , 1 + x21 + y21 1 + x21 + y21 1 + x21 + y21 Ist K(z1 ) = (ξ 1 ,η 1 ,ζ 1 ) = N gegeben, dann ist ξ1 η1 P(z1 ) = , ,0 , 1 − ζ1 1 − ζ1 wobei z1 = (ξ 1 + iη 1 )/(1 − ζ 1 ). Dem Nordpol N wird formal der Punkt z = ∞ zugeordnet.
23.2
Elementare Rechenoperationen mit komplexen Zahlen
▲ Die Ordnungsrelationen reeller Zahlen werden nicht auf komplexe Zahlen erweitert, da dies keinen Sinn macht. Die Beträge komplexer Zahlen |z1 | und |z2| sind aber (positive) reelle Zahlen und lassen sich daher anordnen, z. B. |z1 | > |z2 | ≥ 0. ● Rechenregeln für komplexe Zahlen müssen im Reellen mit Rechenregeln für reelle Zahlen übereinstimmen, da R ⊂ C.
768
23 Komplexe Zahlen und Funktionen einer komplexen Variablen
23.2.1
Addition und Subtraktion komplexer Zahlen
● Komplexe Zahlen z1 = x1 + iy1 , z2 = x2 + iy2 werden addiert bzw. subtrahiert, indem man Real- und Imaginärteil getrennt addiert und subtrahiert, z1 + z2 = (x1 + x2 ) + i · (y1 + y2 ), z1 − z2 = (x1 − x2 ) + i · (y1 − y2 ). ▲ Falls komplexe Zahlen in trigonometrischer Darstellung angegeben sind, müssen sie zuerst in die kartesische transformiert werden. ▲ Geometrische Deutung: Komplexe Zahlen werden nach der Parallelogrammregel wie zweidimensionale Vektoren addiert und subtrahiert. z=z 1 +z 2
Im( z ) z2
z1
Im( z ) z2
z=z 1 − z 2
z1 Re( z )
Re( z )
Geometrische Addition und Subtraktion zweier komplexer Zahlen ■ Addition der Zahlen z1 = 1 + 3i, z2 = 2 + i/2, z1 + z2 = (1 + 2) + i(3 + 1/2) = 3 + 7i/2. ■ Subtraktion der Zahl z2 = 4 − 2i von der Zahl z1 = −3 + 6i, z1 − z2 = (−3 − 4) + i(6 − (−2)) = −7 + 8i.
23.2.2
Multiplikation und Division komplexer Zahlen
● Komplexe Zahlen z1 = x1 + iy1 , z2 = x2 + iy2 werden in kartesischer Darstellung wie zwei Klammerausdrücke im Reellen unter Verwendung von i2 = −1 gliedweise miteinander multipliziert, z1 · z2 = (x1 + iy1 ) · (x2 + iy2 ) = (x1 x2 − y1 y2 ) + i · (x1 y2 + x2 y1 ). ▲ Die Multiplikation zweier komplexer Zahlen z1 ,z2 (Zeiger z1 , z2 ) ist nicht identisch mit dem Skalarprodukt der entsprechenden zweidimensionalen Vektorena1 = (x1 ,y1 ), a2 = (x2 ,y2 ):
a1 ·a2 = x1 x2 + y1 y2 . ■ Betrag einer komplexen Zahl z als Wurzel aus dem Produkt z · z∗ , √ positive ∗ 2 2 2 z · z = x + y = |z| ⇒ |z| = z · z∗ . ■ Multiplikation der komplexen Zahlen z1 = 3 + i, z2 = 2 − 2i, z1 · z2 = (3 + i) · (2 − 2i) = (3 · 2 − 1 · (−2)) + i · (3 · (−2) + 1 · 2) = 8 − 4i. ● Komplexe Zahlen z1 = x1 + iy1 , z2 = x2 + iy2 = 0 werden in kartesischer Darstellung wie folgt dividiert: z1 x1 x2 + y1 y2 x2 y1 − x1 y2 = +i· . 2 2 z2 x2 + y2 x22 + y22 ▲ Division durch Null ist nicht zulässig! ■ Division von z1 = 6 + 2i durch z2 = 1 + i, z1 /z2 = (6 + 2)/2 + i(2 − 6)/2 = 4 − 2i.
23.2 Elementare Rechenoperationen mit komplexen Zahlen
769
● Praktische Berechnung des Quotienten zweier komplexer Zahlen mittels z1 /z2 = (z1 · z∗2 )/(z2 · z∗2 ) = (z1 · z∗2 )/|z2 |2 und Anwendung der Multiplikationsregel. ● Kehrwert von i: 1 · (−i) −i 1 = = = −i. i i · (−i) 1 ● Negative Potenzen von i: i−1 = −i, i−2 = (−i)2 = −1 , i−3 = i−1 i−2 = i, i−4 = i−2i−2 = 1 , . . . ● Kehrwert von z: 1 z∗ x y = 2 = 2 −i 2 . 2 z |z| x +y x + y2 ● Multiplikation und Division in trigonometrischer Darstellung: z1 · z2 = r1 (cos ϕ 1 + i sin ϕ 1 ) · r2 (cos ϕ 2 + i sin ϕ 2 ) = r1 r2 (cos(ϕ 1 + ϕ 2 ) + i sin(ϕ 1 + ϕ 2 )) , z1 z2
= r1 (cos ϕ 1 + i sin ϕ 1 )/r2 (cos ϕ 2 + i sin ϕ 2 )
r1 (cos(ϕ 1 − ϕ 2 ) + i sin(ϕ 1 − ϕ 2 )) . r2 ● Multiplikation in Exponentialdarstellung: Multiplikation der Beträge, Addition der Argumente, =
z1 · z2 = r1 eiϕ 1 · r2 eiϕ 2 = r1 r2 · ei(ϕ 1 +ϕ 2 ) . Division in Exponentialdarstellung: Division der Beträge, Subtraktion der Argumente, z1 r1 = · ei(ϕ 1 −ϕ 2 ) . z2 r2 ● Multiplikation einer komplexen Zahl z mit einer reellen Zahl λ > 0 entspricht einer Streckung (λ > 1) oder Stauchung (λ < 1) des Zeigers um das λ -fache: λ · z = λ r · eiϕ .
▲ Nur der Betrag der komplexen Zahl ändert sich! z.z1
Im( z ) Im( z ) λz φ1
z
Re( z )
Multiplikation einer komplexen Zahl mit einer reellen Zahl λ
z φ
−φ 1 z . z ∗1
Re( z )
Multiplikation einer komplexen Zahl mit einer komplexen Zahl vom Betrag Eins
● Multiplikation einer komplexen Zahl z = r · eiϕ mit einer komplexen Zahl z1 = 1 · eiϕ 1 vom Betrag Eins entspricht einer Drehung des Zeigers z um den Winkel ϕ 1 :
770
23 Komplexe Zahlen und Funktionen einer komplexen Variablen
z1 · z = r ei(ϕ +ϕ 1 ) . ϕ 1 > 0: Drehung im mathematisch positiven Sinn (Gegenuhrzeigersinn). ϕ 1 < 0: Drehung im mathematisch negativen Sinn (Uhrzeigersinn).
▲ Nur das Argument der komplexen Zahl ändert sich! ■ Multiplikation von z mit der imaginären Einheit i = eiπ /2 entspricht einer Drehung von z um 90o , z · i = rei(ϕ +π /2) . ● Multiplikation einer komplexen Zahl z = r eiϕ mit einer allgemeinen komplexen Zahl z1 = r1 eiϕ 1 : Drehung des Zeigers z um ϕ 1 und Streckung um r1 , z1 · z = rr1 ei(ϕ +ϕ 1 ) . Diese Operationen sind vertauschbar, man kann auch zuerst strecken und dann drehen. Da die Multiplikation kommutativ ist, z1 · z = z · z1 , kann auch von z1 ausgegangen werden. z. z1
Im( z )
Im( z ) r. r2
φ1
z1 φ1
φ + φ1
z
z1
φ
z φ
r r2
Re( z )
Multiplikation zweier komplexer Zahlen
φ−φ1 z z1
Re( z )
( )
Division zweier komplexer Zahlen
● Division zweier komplexer Zahlen z,z1, zurückführbar auf die Multiplikation: z/z1 = (r/r1 ) · ei(ϕ −ϕ 1 ) , Streckung des Zeigers z um das 1/r1 -fache, Drehung um −ϕ 1 . ■ Division von z durch die imaginäre Einheit i = eiπ /2 entspricht einer Drehung von z um −90◦ , z/i = rei(ϕ −π /2) . ● Assoziativgesetz der Addition und Multiplikation: z1 + (z2 + z3 ) = (z1 + z2 ) + z3 , z1 (z2 z3 ) = (z1 z2 )z3 . ● Kommutativgesetz der Addition und Multiplikation: z1 + z2 = z2 + z1 , z1 z2 = z2 z1 . ● Distributivgesetz der Addition und Multiplikation: z1 (z2 + z3 ) = z1 z2 + z1 z3 . ● Die Menge der komplexen Zahlen C bildet einen Körper.
23.2.3
Potenzieren im Komplexen
Potenzieren bedeutet wiederholtes Multiplizieren einer komplexen Zahl mit sich selbst, d. h. eine wiederholte Drehstreckung des Zeigers. n-te Potenz einer komplexen Zahl, n ∈ N, in Exponentialdarstellung zn = (r · eiϕ )n = rn · einϕ .
23.2 Elementare Rechenoperationen mit komplexen Zahlen
z
Im( z ) r
4
z
4
r φ
φ
771
3
3
z r
2
2
φ r φ
z
1
Re( z )
Geometrisches Potenzieren Der Betrag wird zur n-ten Potenz erhoben und das Argument mit n multipliziert. ■ Die 4. Potenz der komplexen Zahl z = 3 · eiπ /8 lautet z4 = 34 · ei4π /8 = 81 · eiπ /2 . ▲ Es ist nützlich, komplexe Zahlen vor dem Potenzieren in die Exponentialform zu bringen. Die trigonometrische Form ist aus der Formel von Moivre (s. u.) abzuleiten, die kartesische Form folgt aus dem Binomialtheorem. ● Formel von Moivre: (cos ϕ + i · sin ϕ )n = cos(nϕ ) + i · sin(nϕ ). ● Potenzen von z in kartesischer Darstellung: (x + iy)2 = x2 + 2ixy + i2 y2 = x2 − y2 + i · 2xy (x + iy)3 = x3 − 3xy2 + i(3x2 y − y3 ) (x + iy)4 = x4 − 6x2 y2 + y4 + i(4x3 y − 4xy3 ). ● Fundamentalsatz der Algebra: Eine algebraische Gleichung n-ten Grades an zn + an−1 zn−1 + . . . + a1 z + a0 = 0 hat genau n Lösungen (Wurzeln) in C, wobei mehrfache Nullstellen entsprechend ihrer Vielfachheit zu zählen sind. ▲ Dieser Satz wird verständlich mithilfe der Produktdarstellung an zn + an−1 zn−1 + . . . + a1 z + a0 = an (z − z1 )(z − z2 ) · · · (z − zn ), wobei z1 ,z2 , . . . ,zn die n Polynomnullstellen, d. h. die n Lösungen der algebraischen Gleichung darstellen. ▲ Bei rein reellen Koeffizienten ai , (i = 0,1, . . . ,n) treten komplexe Lösungen immer paarweise als zueinander konjugiert komplexe Zahlen auf, d. h. wenn z1 eine Lösung ist, so ist auch z∗1 eine Lösung.
23.2.4
Radizieren im Komplexen
n-te Wurzel z einer komplexen Zahl a ∈ C, erfüllt die Gleichung zn = a. ● Lösungen der Gleichung zn = a, mit z = reiϕ und a = a0 eiα = a0 ei(α +2π l) , l ∈ Z (Periodizität der komplexen Exponentialfunktion). Es gibt genau n verschiedene Lösungen der Gleichung zn = a (Fundamentalsatz der Algebra): α + 2π l zl = reiϕ l , r = a1/n ϕl = , l = 0,1, . . . ,n − 1. 0 , n
772
23 Komplexe Zahlen und Funktionen einer komplexen Variablen
▲ Die Bildpunkte von zl liegen in der komplexen Ebene auf dem Kreis um den Ursprung mit Radius R = a1/n 0 und bilden die Ecken eines regelmäßigen n-Ecks (siehe Polygone in der Geometrie). ● Für a ∈ R gilt: Falls z eine Lösung der Gleichung zn = a, dann ist auch z∗ eine Lösung. n-te Einheitswurzeln, Lösungen von zn = 1. ■ Dritte Einheitswurzeln: Lösungen von z3 = 1, ⇒ a = 1, a0 = 1, α = 0, ⇒ ϕ l = 2π l/3, l = 0,1,2, ⇒ z0 = 1, z1 = ei2π /3 , z2 = ei4π /3 . Im( z ) + 3/2
−1/2
1
Re( z )
− 3/2
Dritte Einheitswurzeln in der komplexen Ebene
23.3
Elementare Funktionen einer komplexen Variablen
Komplexwertige Funktion einer komplexen Variablen, Zuordnung f : C → C, z !→ f (z).
23.3.1
Folgen im Komplexen
Komplexe Folge z1 ,z2, . . . ,zn , . . ., unendliche Folge komplexer Zahlen. Schreibweise: (z j ). Grenzwert z einer komplexen Folge, eine Folge konvergiert gegen einen Grenzwert z = lim z j , falls j→∞
es zu jedem beliebig gewählten > 0 einen Index N() > 0 gibt, sodass für alle Indizes m ≥ N() gilt |zm − z| < , d. h. von m ab liegen alle z j mit j > m in der komplexen Ebene in einem Kreis um z mit dem Radius . / 0 ■ Für die Folge z1/ j ist der Grenzwert lim z1/ j = 1. j→∞
Im( z )
z
1
z
1/2 1/3
z 1/4 z 1
Re( z )
/ 0 Konvergenz der komplexen Folge z1/ j
23.3 Elementare Funktionen einer komplexen Variablen
773
■ Mandelbrot-Menge: Man betrachtet die iterativ durch die Operation zi+1 = z2j + c, z0 = 0, konstruierte Folge {z j } für festes c ∈ C. Die Mandelbrot-Menge besteht aus allen Zahlen c, für die alle Iterierten z j ebenfalls in dieser Menge liegen, deren Iterierte nicht gegen unendlich streben. Für Zahlen c, die nicht in der Mandelbrot-Menge liegen, streben die Iterierten ins Unendliche, |z j | → ∞ ( j → ∞). Die Darstellung der Mandelbrot-Menge (d. h. alle Zahlen c, die unter der obigen Iterationsvorschrift endliche Iterierte ergeben) in der komplexen Zahlenebene liefert die als „Apfelmännchen“ bekannt gewordene Struktur.
Mandelbrot-Menge
■ Julia-Mengen: Man betrachtet dieselbe Iterationsvorschrift zur Konstruktion der Folge {z j } wie bei der MandelbrotMenge. Nun aber wird ein c ∈ C fest gewählt und man variiert den Startwert z0 der Iteration. Eine Julia-Menge besteht aus allen Zahlen z0 , deren Iterierte nicht gegen unendlich streben. Für jedes c ergibt sich eine andere Julia-Menge, daher gibt es unendlich viele solcher Mengen. Die Darstellung in der komplexen Zahlenebene erfolgt wie bei der Mandelbrot-Menge, nur dass hier für festes c alle z0 aufgetragen werden, deren Iterierte endlich bleiben.
Julia-Mengen
23.3.2
Reihen im Komplexen
Komplexe Reihe z1 + z2 + . . . + zn + . . ., Summe aller Glieder der Folge {z j }. Schreibweise: z1 + z2 + . . . + zn + . . . = ∑∞ j=1 z j . Partialsumme einer komplexen Reihe sn = z1 + z2 + . . . zn = ∑nj=1 z j . Konvergenz einer Reihe, eine komplexe Reihe konvergiert gegen die Zahl s, falls die Folge der Partialsummen {s j } gegen s konvergiert, s = lim s j . j→∞
Absolute Konvergenz einer Reihe, eine komplexe Reihe ∑ j z j konvergiert absolut, falls die Reihe ∑ j |z j | konvergiert.
774
23 Komplexe Zahlen und Funktionen einer komplexen Variablen
Komplexe Reihe mit variablen Gliedern a1 (z) + a2 (z) + . . . + an (z) + . . ., die Glieder der Folge {a j } sind Funktionen einer komplexen Variablen. Schreibweise: a1 (z) + a2 (z) + . . . + an (z) + . . . = ∑∞ j=1 a j (z). Gleichmäßige Konvergenz einer komplexen Reihe ∑ j a j (z) auf einem Gebiet M ⊂ C, falls die Reihe ∑ j c j mit c j ≥ |a j (z)| für alle z ∈ M konvergiert (Weierstraß’sches Kriterium). Kompakte Konvergenz einer komplexen Reihe ∑ j a j (z) auf einem Gebiet G ⊂ C, falls die Reihe auf jeder kompakten Teilmenge M ⊂ G gleichmäßig konvergiert. Komplexe Potenzreihe a0 + a1 z + a2 z2 + . . . + an zn + . . ., a j ∈ C. j Schreibweise: a0 + a1 z + a2 z2 + . . . + an zn + . . . = ∑∞ j=0 a j z . ● Eine Potenzreihe konvergiert entweder absolut für alle z ∈ C (in der ganzen komplexen Ebene) oder sie konvergiert absolut innerhalb eines gewissen Konvergenzkreises und divergiert außerhalb des Konvergenzkreises. Konvergenzkreis, Kreis in der komplexen Ebene um den Ursprung mit dem Konvergenzradius R. ■ Die Potenzreihe 1 + z + z2 + . . . hat den Konvergenzradius R = 1. ● Eine Potenzreihe konvergiert kompakt auf ihrem Konvergenzkreis. Im( z ) 1
−1
1
Re( z )
−1
Konvergenzkreis der Reihe 1 + z + z2 + . . .
23.3.3
Exponentialfunktion im Komplexen
Exponentialfunktion im Komplexen, ist, wie im Reellen, über die Potenzreihenentwicklung ∞
ez =
zn
z
z2
z3
∑ n! = 1 + 1! + 2! + 3! . . .
n=0
definiert. ● Die Potenzreihe der Exponentialfunktion konvergiert absolut und kompakt auf der ganzen komplexen Ebene. ● Periode der komplexen Exponentialfunktion, 2π i.
23.3.4
Natürlicher Logarithmus im Komplexen
Natürlicher Logarithmus einer komplexen Zahl z = rei(ϕ +2π l) , 0 ≤ ϕ < 2π , l ∈ Z: ln z = ln r + i(ϕ + 2π l). ▲ ln z ist unendlich vieldeutig, da l ∈ Z. Hauptwert Ln z von ln z, Wert von ln z für l = 0: Lnz = ln r + iϕ . Nebenwerte, Werte von ln z für l = ±1, ± 2, . . ..
23.3 Elementare Funktionen einer komplexen Variablen
775
▲ ln z ist für jede komplexe Zahl z = 0 definiert, also auch für negative reelle Zahlen, im Gegensatz zum Reellen, wo ln x nur für positive x definiert ist! ■ ln(−5) = ln(5eiπ ) = ln 5 + i(π + 2π l) , l ∈ Z. Hauptwert: Ln (−5) = ln 5 + iπ . Spezialfälle: 1. z ist positive reelle Zahl, z = x: ⇒ ϕ = 0 ⇒ ln z = ln x + i2π l. ■ ln 1 = i2π l. 2. z ist negative reelle Zahl, z = −x (x > 0): ⇒ ϕ = π ⇒ ln z = ln(−x) = ln x + i(2l + 1)π . ■ ln(−1) = i(2l + 1)π . 3. z ist positive imaginäre Zahl, z= iy: ⇒ϕ = π /2 1 ⇒ ln z = ln(iy) = ln y + i 2l + π. 2 ■ ln i = i(2l + 1/2)π . 4. z ist negative imaginäre Zahl z =−iy (y > 0): ⇒ ϕ = 3π /2 3 ⇒ ln z = ln(−iy) = ln y + i 2l + π. 2 ■ ln(−i) = i(2l + 3/2)π .
23.3.5
Allgemeine Potenz im Komplexen
Allgemeine Potenz im Komplexen, az = ez ln a , a ∈ C, z ∈ C, ist unendlich vieldeutig, genau wie der Logarithmus im Komplexen. Hauptwert der allgemeinen Potenz, ez Ln a . √ ■ Falls a = 1 + i = 2eiπ /4 , z = 2 − 2i, so ist der Hauptwert der allgemeinen Potenz az gegeben durch az = e(2−2i)(ln
23.3.6
√
2+iπ /4)
= e2 ln
√ √ 2+π /2+i(π /2−2 ln 2)
= 2 eπ /2 · ei(π /2−ln 2) .
Trigonometrische Funktionen im Komplexen
Sinus im Komplexen, definiert durch die (der reellen Sinusfunktion analogen) Potenzreihenentwicklung ∞
sin z =
∑ (−1)n
n=0
z3 z5 z2n+1 = z − + − .... (2n + 1)! 3! 5!
Kosinus im Komplexen, definiert durch die (der rellen Kosinusfunktion analogen) Potenzreihenentwicklung ∞
cos z =
∑ (−1)n
n=0
z2n z2 z4 = 1 − + − .... (2n)! 2! 4!
● Euler’sche Formel: ∞ ∞ 2n (iz)n z2n+1 iz 2n z 2n+1 e =∑ =∑ i +i (2n)! (2n + 1)! n=0 n! n=0 ∞
∞ z2n z2n+1 n = ∑ (−1) + i ∑ (−1) (2n)! (2n + 1)! n=0 n=0 n
= cos z + i sin z, −iz
e
= cos z − i sin z.
776
23 Komplexe Zahlen und Funktionen einer komplexen Variablen
▲ Für z = ϕ ∈ R erhalten wir die bei der Exponentialdarstellung der komplexen Zahlen verwendete Form der Euler’schen Formel. ● Trigonometrische Funktionen, ausgedrückt durch die komplexe Exponentialfunktion: eiz + e−iz eiz − e−iz , cos z = . 2i 2 ● Realteil und Imaginärteil der trigonometrischen Funktionen: sin z =
sin z = sin(x + iy) = sin x cos(iy) + cos x sin(iy) cos z = cos(x + iy) = cos x cos(iy) − sin x sin(iy) ● Additionstheoreme: sin(z + w) = sin z cos w + cos z sin w, cos(z + w) = cos z cos w − sin z sin w, sin2 z + cos2 z = 1. ● Periode von Sinus und Kosinus, 2π . ● Nullstellen, sin z = 0 ⇔ z = 0, ± π , ± 2π , ± 3π , . . ., cos z = 0 ⇔ z = ±π /2, ± 3π /2, ± 5π /2, . . ., wie im Reellen, durch die Fortsetzung ins Komplexe kommen keine weiteren Nullstellen dazu.
2
2
0
2
2
0
1
-2 0
0
Im( x )
5
1
-2 0
0 5
-1
Re( x )
-1
Re( x )
10 15
10
-2
15
-2
Realteil und Imaginärteil des komplexen Sinus Tangens im Komplexen, tan z =
sin z . cos z
Kotangens im Komplexen, cos z 1 = . tan z sin z ● Tangens und Kotangens, ausgedrückt durch die komplexe Exponentialfunktion: cot z =
eiz − e−iz eiz + e−iz , cot z = i . eiz + e−iz eiz − e−iz ● Periode von Tangens und Kotangens, π . tan z = −i
Im( x )
23.4 Anwendungen komplexer Funktionen
23.4
Anwendungen komplexer Funktionen
23.4.1
Darstellung von Schwingungen in der komplexen Ebene
777
Harmonische Schwingung, y(t) = A · sin(ω t + ϕ ). y A t
φ/ ω −A
T= 2π / ω
Harmonische Schwingung Bezeichnungen: • Zeit t; • Schwingungsamplitude oder Scheitelwert (in der Wechselstromtechnik) A > 0; • Winkelgeschwindigkeit oder Kreisfrequenz ω > 0; • Phase oder Phasenwinkel ω t + ϕ ; • Nullphase ϕ ; 1 2π • Periode oder Schwingungsdauer T , Schwingungsfrequenz f , T = = . f ω ▲ Die Frequenz gibt an, wie oft pro Zeiteinheit sich die Schwingung wiederholt. ■ Schwingungen y(t): mechanische Schwingung eines Feder-Masse-Systems, Wechselspannung, Wechselstrom, Schwingkreis. ▲ Kosinusschwingungen sind zurückführbar auf phasenverschobene Sinusschwingungen (und umgekehrt): y(t) = A cos(ω t + ϕ ) = A sin(ω t + ϕ + π /2). (Sinusschwingung mit um π /2 vergrößertem Nullphasenwinkel). Darstellung der Schwingung im Zeigerdiagramm der komplexen Ebene: Zeitpunkt t = 0: Zeiger z(0) = A eiϕ . Zeitpunkt t > 0: z wird um den Winkel ω t um den Ursprung gedreht (Rotation von z mit Winkelgeschwindigkeit ω ), neuer Zeiger: z(t) = A ei(ω t+ϕ ) . Schwingung: y-Komponente des Zeigers (Imaginärteil der dem Zeiger z entsprechenden komplexen Zahl z): y = A sin(ω t + ϕ ) = Im(z).
Im( z ) y(t) A ωt
z(t) A z(0) φ Re( z )
Schwingung im Zeigerdiagramm
▲ Rotation des Zeigers z: Sämtliche Funktionswerte der Sinusschwingung werden durchlaufen. Komplexe Amplitude, A = A eiϕ (zeitunabhängiger Teil von z), legt die Anfangslage von z im Zeigerdiagramm fest. Zeitfunktion, eiω t (zeitabhängiger Teil von z), beschreibt die Rotation von z um den Ursprung der komplexen Ebene.
778
23 Komplexe Zahlen und Funktionen einer komplexen Variablen
Überlagerung der Schwingungen y1 = A1 · sin(ω t + ϕ 1 ) und y2 = A2 · sin(ω t + ϕ 2 ): (a) Übergang zur Zeigerdarstellung: y1 (t) → z1 = A1 · eiω t y2 (t) → z2 = A2 · eiω t . (b) Addition der Zeiger: z = z1 + z2 = (A1 + A2 ) · eiω t . (c) Resultierende Schwingung: y = Im(z) = A · sin(ω t + ϕ ), A = |A1 + A2 | , tan ϕ = Im(A1 + A2 )/Re(A1 + A2 ) ■ Auswahl reellwertiger Funktionen: Sind die Wurzeln der charakteristischen Gleichung einer homogenen linearen Differenzengleichung 2. Ordnung mit konstanten Koeffizienten konjugiert komplex, so ist die allgemeine Lösung yt = C1 (cos t ϕ + i · sin t ϕ ) + C2 (cos t ϕ − i · sin t ϕ ) mit beliebigen komplexen Konstanten C1 und C2 . Man erhält die Teilmenge der reellwertigen Funktionen, indem man die konstanten C1 und C2 als konjugiert komplexe Zahlen wählt. Sei C1 = A (cos B + i · sin B) und C2 = A (cos B − i · sin B), so ergibt sich yt = 2A(cos B · cos t ϕ − sin B · sin t ϕ ) = 2A · cos(t ϕ + B) .
23.5
Ableitung von Funktionen einer komplexen Variablen
23.5.1
Definition der Ableitung im Komplexen
Die Definition der Ableitung im Komplexen entspricht der im Reellen: Differenzierbarkeit einer Funktion f : C → C, z !→ f (z) an z0 ∈ C : der Grenzwert
f (z) − f (z0 ) d f (z)
lim = z→z0 z − z0 dz z=z0
existiert. Ableitung von f , Funktion f : C → C, z !→ f (z) mit
d f (z)
f (z0 ) = . dz z=z0
Höhere Ableitungen im Komplexen werden rekursiv definiert: f = ( f ) , . . . , f (n) = ( f (n−1) ) .
23.5.2
Ableitungsregeln im Komplexen
Die Ableitungsregeln im Komplexen sind denen im Reellen vollständig analog: Die Funktionen f (z) und g(z) seien differenzierbar in z0 . Dann gilt ● Summenregel im Komplexen, f + g ist differenzierbar in z0 , ( f + g) (z0 ) = f (z0 ) + g (z0 ).
23.5 Ableitung von Funktionen einer komplexen Variablen
779
● Produktregel im Komplexen, f · g ist differenzierbar in z0 , ( f · g) (z0 ) = f (z0 )g(z0 ) + f (z0 )g (z0 ). ● Quotientenregel im Komplexen, ist g(z0 ) = 0, dann ist f /g differenzierbar in z8 , f f (z0 )g(z0 ) − f (z0 )g (z0 ) (z0 ) = . g g2 (z0 ) ● Kettenregel im Komplexen, es sei h = g ◦ f : C → C. Ist f differenzierbar an z0 und g differenzierbar an f (z0 ), dann ist auch h = g ◦ f differenzierbar an z0 , h (z0 ) = (g ◦ f ) (z0 ) = g ( f (z0 )) · f (z0 ). ● Die konstante Funktion f (z) = a, a ∈ C, ist differenzierbar auf C, f (z) = 0 für alle z ∈ C. ● Die Potenzfunktion f (z) = zn , n ∈ N, ist differenzierbar auf C, f (z) = n · zn−1 . ▲ Wie im Reellen erhält man aus dieser Regel die Ableitungen für beliebige Funktionen mithilfe ihrer jeweiligen Potenzreihenentwicklung: Potenzreihen sind kompakt konvergent auf ihrem Konvergenzkreis, für kompakt konvergente Reihen darf Differenziation und Summation vertauscht werden. ■ Ableitung der Exponentialfunktion und der Sinusfunktion im Komplexen: ∞ ∞ n nzn−1 zn−1 z = = ∑ n! ∑ (n − 1)! ∑ n! = ez, n=5 n=1 n=0 ∞ ∞ z2n+1 (2n + 1)z4n (sin z) = ∑ (−1)n = ∑ (−1)n (2n + 1)! (2n + 1)! n=0 n=0
(ez ) =
∞
∞
z2n = ∑ (−1) = cos z, (2n)! n=0 n
usw. ● Eine Funktion f heißt analytisch, holomorph oder regulär im Punkt z2 , wenn sie auf einer Umgebung G von z0 differenzierbar ist.
Man interpretiert eine Funktion f : C → C, z !→ f (z) = u(z) + iv(z) als Funktion f : R2 → R2 , z = (x,y) !→ f (z) = (u(x,y),v(x,y)), u(x,y) = Re( f (z)), v(x,y) = Im( f (z)). ● Cauchy-Riemann’sche Differenzierbarkeitsbedingungen: Gegeben ist die Funktion f = u + iv : C → C, z !→ f (z) = u(x,y) + iv(x,y). Ist f differenzierbar an z0 = (x0 ,y0 ), dann existieren die partiellen Ableitungen ∂u ∂u ∂v ∂v (x0 ,y0 ), (x0 ,y0 ), (x0 ,y0 ), (x0 ,y0 ), ∂x ∂y ∂x ∂y und es gelten die Cauchy-Riemann’schen Differenzialgleichungen ∂u ∂v (x0 ,y0 ) = (x0 ,y0 ), ∂x ∂y ∂u ∂v (x0 ,y0 ) = − (x0 ,y0 ). ∂y ∂x Damit gilt ∂u ∂v ∂v ∂u f (z0 ) = (x0 ,y0 ) + i (x0 ,y0 ) = (x0 ,y0 ) − i (x0 ,y0 ) . ∂x ∂x ∂y ∂y
780
23 Komplexe Zahlen und Funktionen einer komplexen Variablen
23.6
Integration in der komplexen Ebene
23.6.1
Komplexe Kurvenintegrale
Komplexes Kurvenintegral der Funktion f : C → C, z !→ f (z) entlang der Kurve C = {z|z(t) ∈ C,t ∈ [a,b] ⊂ R}: Für N + 1 Punkte z0 = z(a),z1 ,z2 , . . . ,zN = z(b) auf der Kurve C und N Zwischenpunkte ci , welche jeweils zwischen zi−1 und zi auf der Kurve C liegen, ist das komplexe Kurvenintegral definiert als der Grenzwert C
N
f (z) dz =
∑ f (ci )(zi − zi−1).
lim
max|zi −zi−1 |→0 i=1
Der Grenzwert darf nicht von der Wahl der N +1 Zerlegungspunkte der Kurve C und der N Zwischenpunkte ci abhängen. z N= z ( b )
Im( z )
cN c1
c2 z z1 2 z 0= z ( a )
C
Re( z )
Zur Definition des Kurvenintegrals ● Das Kurvenintegral existiert immer für glatte Kurven C und auf C stetigen Funktionen f (z). ● Das komplexe Kurvenintegral hängt mit den reellen Kurvenintegralen mittels der Zerlegung f (z) = u(x,y) + iv(x,y) zusammen: C
f (z) dz =
C
=
C
{u(x,y) + iv(x,y)} d(x + iy) u(x,y) dx −
C
v(x,y) dy + i
C
u(x,y) dy +
C
v(x,y) dx .
Die bekannten Eigenschaften reeller Kurvenintegrale übertragen sich: ● Linearität: C
C
( f (z) + g(z)) dz = λ f (z) dz
C
=λ
f (z) dz + C
C
g(z) dz ,
f (z) dz.
● Umkehren der Integrationsrichtung:
C
f (z) dz = −
−C
f (z) dz
(−C bedeutet, dass die Kurve C im umgekehrten Sinn durchlaufen wird). ● Aufteilen in Teilintegrale: Wenn a < c < b, C = {z|z(t) ∈ C,t ∈ [a,b] ⊂ R}, C1 = {z|z(t) ∈ C,t ∈ [a,c] ⊂ R}, C2 = {z|z(t) ∈ C,t ∈ [c,b] ⊂ R}, dann ist
C
f (z) dz =
C1
f (z) dz +
C2
f (z) dz.
23.6 Integration in der komplexen Ebene
23.6.2
781
Cauchy’scher Integralsatz
● Wegunabhängigkeit der komplexen Integration: Sei eine glatte Kurve C in einem einfach zusammenhängenden Gebiet G ⊂ C gegeben. Ist f : C → C , z !→ f (z) eine auf G stetige Funktion, dann ist das Kurvenintegral
C
f (z) dz
dann und nur dann vom speziellen Verlauf der Kurve C unabhängig, wenn f (z) analytisch in G ist. ▲ Zur Berechnung des Integrals kann man sich den Integrationsweg wählen, der die Berechnung erleichtert. Im( z )
Im( z )
G
G Re( z )
Re( z )
Einfach und mehrfach zusammenhängendes Gebiet Dieser Satz bildet die Grundlage für den Cauchy’schen Integralsatz: ● Cauchy’scher Integralsatz: Ist f : C → C, z !→ f (z) eine in einem einfach zusammenhängenden Gebiet G ⊂ C analytische Funktion, so ist für jede geschlossene Kurve C ⊂ G
C
▲
C
f (z) dz = 0. f (z) dz bezeichnet das Integral entlang einer geschlossenen Kurve und heißt auch Umlaufintegral.
Unter gewissen Bedingungen gilt auch die Umkehrung: ● Satz von Morera: Ist f : C → C, z !→ f (z) eine in einem einfach zusammenhängenden Gebiet G ⊂ C eindeutige und stetige Funktion und verschwindet für jede geschlossene Kurve C ⊂ G das Integral
C
f (z) dz = 0,
so ist f (z) analytisch.
23.6.3
Stammfunktionen im Komplexen
Stammfunktion F(z) einer Funktion f (z): Gegeben sei ein einfach zusammenhängendes Gebiet G, eine in G analytische Funktion f : C → C, w !→ f (w) und eine Kurve C ⊂ G mit beliebigem, aber fest gewähltem Anfangspunkt a ∈ G und mit dem Endpunkt z ∈ G. Die Stammfunktion der Funktion f (z) ist die Funktion F: C→C z
!→ F(z) =
C
f (w) dw.
Das Integral ist wegunabhängig, da f (z) analytisch ist. Der Wert des Integrals hängt jedoch noch vom Anfangspunkt a ab. Unbestimmtes Integral der Funktion f (z), die Gesamtheit aller Stammfunktionen (für alle a).
782
23 Komplexe Zahlen und Funktionen einer komplexen Variablen
▲ Die Integrationsregeln für die unbestimmte Integration der elementaren komplexen Funktionen entsprechen denen im Reellen.
23.6.4
Cauchy’sche Integralformeln
● Sei f eine analytische Funktion auf einem einfach zusammenhängenden Gebiet G, C ⊂ G eine geschlossene glatte Kurve. Dann gilt 1 f (w) f (z) = w, 2π i C w − z 1 f (w) f (z) = w, 2π i C (w − z)2 f (w) 2 f (z) = w, 2π i C (w − z)3 f (w) n! (n) f (z) = w, 2π i C (w − z)n+1 falls z ∈ G innerhalb von C liegt, und 1 f (w) f (z) = w = 0, 2π i C w − z falls z ∈ G außerhalb von C liegt. ▲ Falls z innerhalb von C liegt, dann ist die Funktion f (w)/(w − z) analytisch innerhalb C mit Ausnahme des Punktes z. Die Cauchy’schen Integralformeln erlauben die Berechnung der Funktion f und jeder beliebig hohen Ableitung an jedem Punkt z innerhalb von C, sofern f auf C bekannt ist. Man kann also aus der Kenntnis der Funktion am Rande eines Gebiets auf die Funktion innerhalb des Gebiets schließen. Falls z außerhalb von C liegt, dann ist die Funktion f (w)/(w − z) überall analytisch innerhalb von C. Nach dem Cauchy’schen Integralsatz muss f (z) dann verschwinden.
23.6.5
Taylorreihe einer analytischen Funktion
Die Cauchy’schen Integralformeln erlauben die Entwicklung einer analytischen Funktion in eine Taylorreihe. Sei G ein einfach zusammenhängendes Gebiet, b der Mittelpunkt des Kreises C ⊂ G, a ein Punkt innerhalb des Kreises. Für w ∈ C gilt die Reihenentwicklung (geometrische Reihe) 1 1 1 1 = = w − a (w − b) − (a − b) (w − b) (1 − (a − b)/(w − b)) 1 a−b (a − b)2 (a − b)n = 1+ + +···+ +··· , w−b w − b (w − b)2 (w − b)n da |a − b| < |w − b|. Im( z )
w
C a b Re( z )
Reihenentwicklung von 1/(w − a)
23.6 Integration in der komplexen Ebene
783
Sei f eine auf G analytische Funktion. Substitution der Reihenentwicklung in die erste Cauchy’sche Integralformel für f , 1 f (a) = 2π i C 1 = 2π i C
f (w) w w−a a−b f (w) f (w) w+ w w−b 2π i C (w − b)2
(a − b)2 + 2π i (a − b)n + 2π i
C
C
f (w) w+... (w − b)3 f (w) w.... (w − b)n+1
Komplexe Taylorreihe, Entwicklung der Funktion f um den Punkt b, folgt mithilfe der Cauchy’schen Integralformeln aus der obigen Gleichung, f (b) f (n) (b) (a − b)2 + . . . + (a − b)n + . . . . 2! n! ▲ Die Entwicklung gilt für alle Punkte a innerhalb des Kreises C. f (a) = f (b) + f (b)(a − b) +
24
Integralrechnung
24.1
Integralbegriff und Integrierbarkeit
24.1.1
Bestimmtes Integral
▲ Die Integralrechnung hat ihren Ursprung in dem Problem, den Inhalt von krummlinig begrenzten Figuren zu bestimmen, z. B. den Flächeninhalt Iab der nachstehenden Fläche Fab , die begrenzt wird durch den Graph der positiven, stetigen Funktion y = f (x), der x-Achse und den beiden Parallelen zur y-Achse mit den Gleichungen x = a und x = b. y
y = f(x)
M1 m = m1
M Fab a x1
x3
x2
x4
x
Zerlegen wir das Intervall [a,b] in n Teilintervalle [xk−1 ,xk ], k = 1,2, . . . ,n, so lässt sich der gesuchte Flächeninhalt Iab in Abhängigkeit dieser Einteilung En = {x0 ,x1 , . . . ,xn } abschätzen durch n
IU (En , f ) =
∑ mk · (xk − xk−1 ) ≤ Iab ≤
k=1
wobei Mk =
Max f (x) und mk =
x∈[xk−1 ,xk ]
n
∑ Mk · (xk − xk−1 ),
k=1
Min
f (x) bedeuten.
x∈[xk−1 ,xk ]
Neben der Untersumme IU (En , f ) und der Obersumme IO (En , f ) können wir weitere Näherungssummen für Iab bilden, die sich allgemein darstellen lassen als n
I(En , f ) =
∑ f (ξ k ) · (xk − xk−1 ),
k=1
wenn wir aus jedem Intervall [xk−1 ,xk ] einen beliebigen Wert ξ k , xk−1 ≤ ξ k ≤ xk , auswählen. Vergrößern wir die Anzahl der Zwischenpunkte im Intervall [a,b] unbegrenzt und zwar so, dass der Feinheitsgrad G(En) = Max (xk − xk−1 ) der Einteilung En gegen Null strebt, so konvergieren für eine k∈{1,2,...,n}
stetige Funktion die Näherungssummen IU (En , f ), I(En, f ) und IO (En , f ) gegen den Flächeninhalt Iab . a
n
f (x) dx = lim
G(En )→0
b
∑ f (ξ k ) · (xk − xk−1 )
k=1
heißt das bestimmte Riemann’sche Integral der Funktion f zwischen den Grenzen a und b, wenn der Grenzwert unabhängig von der Wahl der xk und der ξ k ∈ [xk−1 ,xk ], k = 1,2, . . . ,n existiert.
Dabei heißt Integralzeichen, f (x) Integrand, x Integrationsvariable, [a,b] Integrationsintervall, a und b untere bzw. obere Integrationsgrenze. ● Ist f in [a,b] nichtnegativ, so gibt das Integral
b
f (x) dx den Inhalt der Fläche zwischen dem Graph von
a
f , der x-Achse und den beiden Parallelen zur y-Achse x = a und x = b an.
24.1 Integralbegriff und Integrierbarkeit ● Ist f (x) negativ für alle x ∈ [a,b], dann gilt auch für das Integral
b
785
f (x) dx < 0, da alle Summanden
a
f (ξ ) · (x − x ) < 0 sind. Der Flächeninhalt zwischen dem Graph der Funktion und der x-Achse k k k−1 <0
>0
entspricht dann dem Betrag des Integrals. ● Ist f (x) im Intervall [a,b] sowohl positiv als auch negativ, so errechnet das Integral die Differenz zwischen positiven und negativen Flächenteilen. Ist die Funktion f (x) über dem Intervall [a,b] integrierbar, dann definieren wir das Integral der Funktion von d bis c mit c,d ∈ [a,b] c
für d > c durch :
f (x) dx = −
d
f (x) dx c
d
c
für d = c durch :
f (x) dx . d
24.1.2
Regeln zur Integrierbarkeit
● Jede in einem abgeschlossenen Intervall [a,b] stetige Funktion f ist über diesem Intervall integrierbar. ● Beschränkte Funktionen mit endlich vielen Sprungstellen sind integrierbar. ● Für alle im Intervall [a,b] integrierbaren Funktionen f und g gilt: a) Für jede reelle Zahl α ist die Funktion α · f über [a,b] integrierbar und es ist b
α · f (x) dx = α ·
a
b
f (x) dx .
Homogenität
a
b) Die Funktion f + g ist über [a,b] integrierbar und es ist b
b
( f (x) + g(x)) dx = a
b
f (x) dx + a
g(x) dx . Additivität a
c) Für beliebige reelle Zahlen α und β ist die Funktion α · f + β · g über [a,b] integrierbar und es ist b
(α f (x) + β g(x)) dx = α ·
a
b
f (x) dx + β ·
a
b
g(x) dx .
Linearität
a
d) Die Funktion | f | ist über [a,b] integrierbar und es ist
b
b
f (x) dx ≤ | f (x)| dx .
a
a
e) Die Funktion f · g ist über [a,b] integrierbar. f) Die Funktion gf ist über [a,b] integrierbar, falls es eine Konstante γ > 0 gibt, sodass stets |g(x)| ≥ γ für x ∈ [a,b]. ● Für über [a,b] integrierbare Funktionen f und g gilt die Monotonie-Eigenschaft: f (x) ≥ g(x) ∀x ∈ [a,b] ⇒
b a
f (x) dx ≥
b
g(x) dx . a
● Für jede im abgeschlossenen Intervall [a,b] stetige Funktion f existiert ein z ∈ [a,b] b
mit a
f (x) dx = (b − a) · f (z) . Mittelwertsatz der Integralrechnung
786
24 Integralrechnung
● Ist die Funktion f (x) über [a,b] integrierbar, so existiert auch das Integral
d
f (x) dx
für beliebige
c
c,d ∈ [a,b]. ● Ist f über [a,b] integrierbar, dann gilt für alle c,d,e ∈ [a,b] d
e
f (x) dx + c
f (x) dx + d
24.1.3
c
f (x) dx = 0 . e
Unbestimmtes Integral, Stammfunktion
Ist die obere Grenze eines bestimmten Integrals variabel, so spricht man von einem partikulären Integral x
f (t) dt. Dabei wird zur Vermeidung von Fehlinterpretationen ein anderes Symbol für die Integrationsva-
c
riable gewählt. ● Hauptsatz der Differenzial- und Integralrechnung Ist die Funktion f (x) im Intervall [a,b] stetig, so ist die auf [a,b] durch F(x) =
x
f (t) dt mit c ∈ [a,b] definierte Funktion F in ]a,b[ differenzierbar und
c
ihre 1. Ableitung ist gleich dem Wert des Integranden an der oberen Integrationsgrenze d f (t) dt = f (x) F (x) = dx x
c
Stammfunktion einer vorgegebenen Funktion f (x) heißt eine Funktion F(x), deren 1. Ableitung gleich f (x) (x) = f (x). ist, d. h. F (x) = dF dx ▲ Geometrisch bedeutet die Beziehung F (x) = f (x), dass der Graph der gesuchten Stammfunktion oder wie man sagt, die Integralkurve y = F(x), eine Kurve ist, deren Tangente für jeden beliebigen Argumentenwert x eine vorgegebene Richtung hat, die durch den Richtungskoeffizienten f (x) bestimmt ist. 6
y
5
y = f(x) = 2x
4 y0 2 F(x) = x2 -2
-1
1 x0
x 2
● Zwei Stammfunktionen der gleichen Funktion f (x) unterscheiden sich nur um eine additive Konstante. ● Ist eine Stammfunktion der Funktion f über dem Intervall I bekannt, so erhält man jede andere zu f gehörige Stammfunktion durch Addition einer konstanten Funktion. Unbestimmtes Integral ist der allgemeine Ausdruck F(x) + C für alle Stammfunktionen einer gegebenen Funktion f (x), es wird geschrieben als
f (x) dx = F(x) + C, C ∈ R .
24.1 Integralbegriff und Integrierbarkeit
787
● Hauptsatz der Integralrechnung Ist f eine im abgeschlossenen Intervall [a,b] stetige Funktion, dann gilt für jede Stammfunktion F von f auf [a,b]: b
f (x) dx = [F(x)]ba = F(b) − F(a) .
a
▲ Mit dem Hauptsatz der Intergralrechnung lassen sich bestimmte Integrale einfach bestimmen, wenn man die Stammfunktion des Integranden kennt. Solche Stammfunktionen lassen sich für elementare Funktionen durch Umkehrung der Differenzialrechnung herleiten. Die nachfolgende Tabelle reicht für normale Integrationsaufgaben aus.
▲ Zwei Arten von uneigentlichen Integralen: • Integrale mit einem Unendlichen Integrationsintervall, • Integrale mit Unstetigkeitsstellen, and denen er Integrand ins unendliche strebt.
a) Integrale mit unendlichem Integrationsintervall ● Ist mindestens eine Integrationsgrenze unendlich, so gilt: ∞
f (x) dx = lim
b
b→∞ a
a
b
f (x) dx
b
−∞ ∞ −∞
f (x) dx = lim
f (x) dx
f (x) dx = lim
f (x) dx
a→∞ −a a a→∞ −a
▲ Man berechnet also zunächst das Integral mit endlichen Grenzen und berechnet dann den Grenzwert. ∞ b 1 1 −E/T ■ e dE = lim e−E/T dE = − lim e−b/T − e0 = falls T > 0. b→∞ 0 0 T b→∞ T b ∞ b 1 dx dx ■ = lim = lim − 2 2 b→∞ 1 x b→∞ 1 x x 1 1 = lim − + 1 = 1. b→∞ b b ∞ b dx dx −1 ■ = lim = lim b→∞ a xn b→∞ (n − 1)xn−1 a xn a −1 −1 a1−n = lim − = für n > 1, a > 0. b→∞ (n − 1)bn−1 (n − 1)an−1 n−1 ▲ Vorzeichen bei der Grenzwertbildung beachten!
b) Integrale mit Unstetigkeitsstellen im Integranden ● Besitzt der Integrand f (x) an der Stelle u eine Unstetigkeitsstelle, an der die Funktion gegen +∞ oder −∞ strebt, so berechnet man das Integral links- und rechtsseitig davon: b a
b b −1 dx dx ■ = lim = lim a→0 a xn a→0 (n − 1)xn−1 0 xn a −1 −1 b1−n für n < 1, b > 0. = lim − = a→0 (n − 1)bn−1 (n − 1)an−1 1−n Konvergentes uneigentliches Integral, der Grenzwert existiert. b
Divergentes uneigentliches Integral, der Grenzwert existiert nicht. Cauchy-Hauptwert, b a
f (x) dx = lim →0
u− a
f (x) dx +
b u+
f (x) dx
kann existieren, obwohl das uneigentliche Integral divergiert. 2 − 2 1 1 1 ■ dx = lim dx + dx →0 −1 x x −1 x = lim(ln 2 − ln + ln | − | − ln | − 1|) = ln 2 →0
∞
∫e
2
1
−x
∫
dx
∫ 1 /x d x
1/ x dx
−1
0
0
−1 1 x
1
2 x
nur Cauchyintegrierbar
x
Uneigentliche Integrale
24.2
Integrationsverfahren
▲ Im Gegensatz zur Differenziation lassen sich keine allgemein gültigen Regeln für die Integration beliebiger Funktionen angeben! Häufig benutzte Verfahren: 1) Ganze rationale Funktionen (Polynome) werden gliedweise integriert: an n+1 a1 (an xn + · · · + a1 x + a0 ) dx = x + · · · + x2 + a0 x + c. n+1 2 2) Umformung des Integranden in Summe von mehreren Funktionen, d. h. Zerlegung des Integrals in Summe von Integralen. ■
(x + 1)(4x2 + 7) dx =
4x3 dx +
4x2 dx +
7x dx +
7 dx.
3) Konstante im Argument: Ist f (x) dx bekannt, aber f (ax), f (x + b), f (ax + b) zu integrieren, so gilt 1 f (ax) dx = F(ax) + c a 1 f (ax + b) dx = F(ax + b) + c. a ■
ex+b dx = ex+b + c, 1 cos(ax) dx = sin(ax) + c. a
790
24 Integralrechnung
4) Umkehrung der logarithmischen Differenziation: f (x) Hat der Integrand die Gestalt , so ist das Integral gleich dem Logarithmus des Nenners f (x) f (x) dx = ln | f (x)| + c. f (x) ▲ Der Logarithmus ist von f (x), nicht von f (x) zu nehmen! 5) Spezielle Form des Integranden:
1 f (x) f (x) dx = ( f (x))2 + c. 2
24.2.1
Integration durch Substitution
● Substitutionsregel, ist f (x) stetig, g(x) stetig differenzierbar und umkehrbar, so ist b
g(b)
f (g(x)) dx =
a
g(a)
f (z)
g(b) dx 1 dz = dz. f (z) g(a) dz g (x)
▲ Man vergesse nicht, am Ende wieder zurückzusubstituieren (die Variable x ist durch die nach x aufgelöste Substitutionsfunktion zu ersetzen: x = g−1 (z)) oder die Grenzen sind zu ändern. 3
9 dz = 3 ln z dz ■ 6x ln(x ) dx = 6x ln z 1 1 1 2x = 3(9 ln 9 − 9 − ln 1 + 1) = 27 ln 9 − 24. √ dz = 2x, Umkehrfunktion x = z). (Substitution z = g(x) = x2 , z = dx 1 1 1 1 1 dx = dz = ln |z| + c = ln |5x − 7| + c ■ 5x − 7 5 z 5 5 (Substitution: z = 5x − 7).
■
■
■
■
■
2
9
1 1 1 sin z dz = cos z + c = cos(3 − 7x) + c. 7 7 7 (Substitution: z = 3 − 7x). sin(3 − 7x) dx = −
√ 1 1 1 √ dx = 2 z dz = 2 dz = 2 ln |z + 1| + c = 2 ln | x + 1| + c. 2 x+x z+z 1+z √ (Substitution: z = x).
1 z 1 1 2 e dz = ez + c = ex + c. 2 2 2 2 (Substitution: z = x ). 2
xex dx =
1 1 1 1 dx = dz = dz = arctanz + c = arctan(ex ) + c. x −x 2 e +e z + 1/z z z +1 (Substitution: z = ex ).
dx 1 + z2 2 dz dz = · = = ln |z| + c = ln | tan(x/2)| + c. 2 sin x 2z 1+z z (Substitution: z = tan(x/2).
24.2 Integrationsverfahren Integral
Substitution
Ergebnis
z = ax + b
1 f (z) dz a
f (ax + b) dx
f (ax2 + bx + c) dx
( f (x))n f (x) dx n = 1 f (x) dx f (x)
z = f (x)
ln | f (x)| + c
f (g(x))g (x) dx
z = g(x)
1 f dx x
f
√ x dx
z= z=
f a2 − x2 dx
x a √ a2 − x2 = a cos z
f (sin x; cos x) dx
x z = tan 2
f (ax ) dx
−
√ x
√ z = n ax + b
f (z) dz
1 x
√ n ax + b dx
f
f az2 + c − b2 /4a dz 1 [ f (x)]n+1 + c n+1
b 2a
z = f (x)
z=x+
791
2
f (z) dz z2
z · f (z) dz
n f (z) zn−1 dz a
z = arcsin
z = ax
f (a cos z)a cos z dz
f
2z 1 − z2 ; 1 + z2 1 + z2
2 dz 1 + z2
1 1 f (z) dz ln a z
▲ Die Integrationsgrenzen müssen im Definitionsbereich der Substitution sein. ▲ Die neuen Integrationsgrenzen werden über die Substitutionsgleichung ausgerechnet. ▲ Möglicherweise muss man nach der Substitution das erhaltene Integral mit einer anderen Substitution, einer partiellen Integration oder mithilfe der Partialbruchzerlegung weiterbearbeiten. 8 du 1 1 8 ■ I = (3x + 4) dx = u = u2 = (3x + 4)2 |2 = 114, u = 3x + 4 2 3 6 6 oder 28 8 du 1 1 I = (3x + 4) dx = u = u2 |28 = (282 − 102 ) = 114. 10 2 10 3 6 6 ▲ Gegebenenfalls führen einfache Substitutionen schneller zum Ziel, als die angegebenen trigonometrischen Substitutionen. 3/2 1 √ 1 2 1 2 ■ x x2 − 4 dx = z dz = · z3/2 = x −4 . 2 2 3 3 2 (Substitution: z = x − 4, dz = 2x dx). 1 1 ■ sin3 x cos x dx = z3 dz = z4 + c = sin4 x + c. 4 4 (Substitution: z = sin x). x3 1 z dz 1 1 1 √ ■ dx = = dz = z + c = 1 + x4 + c. 2 z 2 2 2 1 + x4 √ (Substitution: z = 1 + x4 ).
792 ■
24 Integralrechnung
sin x dz dx = − = − ln |z| + c = − ln | cos x| + c. cos x z (Substitution: z = cos x).
tan x dx =
Substitutionen von Euler für das spezielle Integral I = f ( ax2 + bx + c) dx. Fall a>0
c>0
reelle Wurzelnx1 ,x2
24.2.2
Substitution √ √ ax2 + bx + c = x a + z z2 − c √ x= b − 2z a √ √ ax2 + bx + c = xz + c √ 2z c − b x= a − z2 √ ax2 + bx + c = z(x − x1 ) z2 x1 − ax2 x= z2 − a
Differenzial dx = 2
√ √ −z2 a + bz − c a √ 2 dz (b − 2z a)
√ √ a c − bz + z2 c dx = 2 dz (a − z2 )2
dx = 2
az(x2 − x1 ) dz (z2 − a)2
Partielle Integration
Die partielle Integration ist die Umkehrung der Produktregel der Differenziation. Symbolisch: (uv) = u v + v u
→
uv = uv −
u v.
● Integrationsaufgabe wird durch zwei Teilintegrationen gelöst:
f (x)g (x) dx = g(x) f (x) −
g(x) f (x) dx.
Anwendung der Regel besonders bei Produkten von Funktionen als Integrand. ▲ Die Ableitung f (x) sollte eine einfachere Funktion ergeben als f (x). ▲ Die Funktion g (x) sollte einfach zu integrieren und das Ergebnis sollte nicht komplizierter sein. ■
xex dx = xex − ex dx = xex − ex + c.
▲ Gegebenfalls die partielle Integration mehrfach hintereinander anwenden. ■
x2 ex dx = x2 ex − 2 xex dx = x2 ex − 2xex + 2ex + c.
Manchmal führt die Einführung eines Produktes zum Ziel. 1 ■ ln x dx = 1 · ln x dx = x ln x − x dx = x ln x − x + c. x ▲ Merkregel: 1) Integriere den ersten Faktor, 2) schreibe das entstehende Produkt hin, 3) leite dann den zweiten Faktor ab und 4) schreibe das entstehende Produkt mit einem Minuszeichen unter das Integral. ▲ Häufig wird das Minuszeichen vor dem Integral vergessen, besonders bei mehrfacher Anwendung der partiellen Integration. Manchmal erhält man das Ausgangsintegral bei der partiellen Integration wieder. Dann löst man die Gleichung nach diesem Integral auf.
24.2 Integrationsverfahren ■
sin x cos x dx = sin x − 2
793
cos x sin x dx
1 2 sin x + c. 2 Spezialfälle der partiellen Integration: a) Integrand ist Produkt aus einem Polynom p(x) vom Grade n und einer der Funktionen ex , sin x, cos x: Mehrfache (n-fache) partielle Integration für f (x) = p(x). →
■
sin x cos x dx =
x sin x dx = −x cos x + 2
2
2x cos x dx = −x cos x + 2x sin x − 2
2 sin x dx
= −x2 cos x + 2x sin x + 2 cos x + c. b) Integrand ist Produkt aus zwei der Funktionen ex , sin x, cos x: Zweimalige Produktintegration führt auf Ausgangsintegral zurück, nach dem dann die Gleichung aufgelöst wird. Gegebenenfalls folgende Beziehungen verwenden: sin2 x + cos2 x = 1. ■
ex sin x dx = ex sin x − ex cos dx = ex sin x − ex cos x − ex sin x dx 1 → ex sin x dx = ex (sin x − cos x) + c. 2 c) Integrand ist Produkt aus einer rationalen Funktion und ln x: Man setze f (x) = ln x. 1 4 1 4 1 1 1 3 x ln x dx = x ln x − x · dx = x4 ln x − x4 + C ■ 4 4 x 4 16
24.2.3
Integration durch Partialbruchzerlegung
Gebrochen rationale Funktionen, wie sie z. B. bei der Anwendung der Laplacetransformation auftreten, lassen sich oft über eine Partialbruchzerlegung integrieren. 1) Integrand z. B. durch Polynomdivision in eine ganzrationale Funktion P(x) und eine echt gebrochen rationale Funktion R(x) aufspalten: f (x) Z(x) = P(x) + R(x) = P(x) + , g(x) N(x) wobei der Polynomgrad des Zählers Z(x) kleiner als der des Nenners N(x) ist. ▲ Zähler- und Nennerpolynom müssen teilerfremd (relativ prim) sein. ▲ Wichtig bei Einschaltvorgängen in Elektrotechnik und Regelungstechnik, → Laplacetransformation 2) Alle Nullstellen xi des Nenners N(x) bestimmen (auch komplexe): N(x) = a ∏(x − xi )mi , wobei die einzelnen Nullstellen xi auch mehrfach (mi fach) auftreten können. 3) Echt gebrochen rationale Funktion R(x) in eine Summe von Partialbrüchen aufspalten, wobei für jede Nullstelle gilt: einfache reelle Nullstelle bei x0 : R(x) =
Z(x) A = + ..., N(x) x − x0
zwei reelle Nullstellen bei x0 ,x1 : Z(x) A 1 1 R(x) = = − + ..., N(x) x0 − x1 x − x0 x − x1
794
24 Integralrechnung
doppelte reelle Nullstelle bei x0 : A2 Z(x) A1 = R(x) = + + ..., 2 N(x) (x − x0 ) x − x0 n-fache reelle Nullstelle bei x0 : n Z(x) Ai R(x) = + ..., =∑ N(x) i=1 (x − x0 )i
einfache komplexe Nullstelle bei x0 = s0 ± it0 : Z(x) Ax + B + ..., R(x) = = 2 N(x) x − 2s0 x + s20 + t02 doppelte komplexe Nullstelle bei x0 = s0 ± it0: A2 x + B2 A1 x + B1 + 2 + ..., R(x) = 2 x − 2s0 x + s20 + t02 x2 − 2s0x + s20 + t02 n-fache komplexe Nullstelle bei x0 = s0 ± it0: n
R(x) = ∑ i=1
Ai x + Bi x2 − 2s0 x + s20 + t02
i + . . . .
4) Bestimmung der Konstanten Ai und Bi der Zerlegung durch Multiplikation mit dem Hauptnenner, dann anschließender Koeffizientenvergleich (die Vorfaktoren der Terme xi auf beiden Seiten der Gleichung gleichsetzen) oder Anwenden der Einsetzmethode (verschiedene x-Werte, z. B. die zuvor bestimmten Nullstellen von N(x), einsetzen). Bei sehr vielen Gleichungen die Eliminationsmethode von Gauß anwenden (siehe unter Gleichungssysteme, Abschnitt 17.6). x+1 A B ■ R(x) = 2 = + → x + 1 = A(x − 2) + B(x − 1) x − 3x + 2 x−1 x−2 → A + B = 1, − 2A − B = 1 → A = −2, B = 3 2 3 R(x) = − + x−1 x−2 3x2 − 20x + 20 A1 A2 A3 A4 ■ R(x) = = + + + 3 2 3 (x − 2) (x − 4) x − 2 (x − 2) (x − 2) x−4 → 3x2 − 20x + 20 = A1 (x − 2)2 (x − 4) + A2 (x − 2)(x − 4) + A3 (x − 4) + A4 (x − 2)3 Einsetzmethode: x = 2: −8 = −2A3 → A3 = 4 x = 4: −12 = 8A4 → A4 = −3/2 x = 0: 20 = −16A1 + 8A2 − 4A3 − 8A4 x = 1: 3 = −3A1 + 3A2 − 3A3 − A4 → A1 = 3/2, A2 = 6 3 6 4 3 R(x) = + + − . 2 3 2(x − 2) (x − 2) (x − 2) 2(x − 4) 5) Integration der einzelnen Terme, ganzrationale Funktion P(x): P(x) dx = an xn + · · · + a1 x1 + a0 dx = einfache reelle Nullstelle x0 : A dx = A ln |x − x0 |, x − x0
As + B A Ax + B dx = ln |x2 − 2s0 x + s20 + t02| + 0 · arctan 2 2 2 2 t0 x − 2s0 x + s0 + t0
x − s0 t0
,
doppeltes Paar komplexer Nullstellen x0 = s0 ± it0, Teilintegration (die andere Teilintegration geht wie bei dem Fall einer einfachen komplexen Nullstelle):
A2 x + B2 A2 x + B2 dx = dx 2 2 2 2 (x − 2s0 x + s0 + t0 ) X2
mit X = x2 − 2s0x + s20 + t02 . Z(x) 2x2 − 2x + 4 = 3 N(x) = (x − 1)(x2 + 1). N(x) x − x2 + x − 1 A Bx + C Ansatz: R(x) = + 2 . x−1 x +1 Koeffizientenvergleich:
■ R(x) =
2x2 − 2x + 4 = A(x2 + 1) + (Bx + C)(x − 1) = x2 (A + B) + x(C − B) + A − C → A = 2, B = 0, C = −2. 2 2 Integration: − dx = 2 ln |x − 1| − 2 · arctanx. x − 1 x2 + 1
796
24 Integralrechnung
Zusammenfassung der Partialbruchzerlegung und der Integration der Partialbrüche für die verschiedenen Arten der Nullstelle x0 der Nennerfunktion N(x): Nullstellex0 vonN(x)
Partialbruchansatz
Integration
einfach, reell
A x − x0
A ln |x − x0 |
x − x0 A
ln x0 − x1 x − x1 A − + B ln |x − x0 | x − x0
zwei einfache reelle
1 1 − x − x0 x − x1 B A + 2 (x − x0 ) x − x0
A x0 − x1
doppelt, reell
n−1
Ai+1 i i=1 i(x − x0 ) +A1 ln |x − x0 |
−∑
n
n-fach, reell
Ai ∑ (x − x0)i i=1
einfach,komplex (x0 = s0 ± it0 )
Ax + B 2 x − 2s0 x + s20 + t02
n-fach, komplex (x0 = s0 ± it0 )
∑ x2 − 2s x + s2 + t 2 i
24.2.4
n
i=1
A ln |x2 − 2s0 x + s20 + t02 | 2 x − s0 As0 + B · arctan + t0 t0
Ai x + Bi 0
0
rekursiv, siehe oben
0
Integration durch Reihenentwicklung
Potenzreihenentwicklung des Integranden mit dem Konvergenzradius r: ∞
∑ ak · xk = a0 + a1x + a2x2 + a3x3 + . . .
f (x) =
(ak =
k=0
1 (k) f (0), |x| < r). k!
Anschließende Integration der einzelnen Glieder der Potenzreihe:
∞
f (x) dx =
∑ ak
k=0
xk+1 a1 a2 = a0 x + x2 + x3 + . . . . k+1 2 3
In der Regel sowohl für unbestimmte als auch für bestimmte Integrale möglich! ▲ Die Integrationsgrenzen müssen innerhalb des Konvergenzradius r liegen! √ ■ sin x dx: √ √ x3 x5 x3/2 x5/2 + − . . . , sin x = x − + − ..., 3! 5! 3! 5! √ 2x3/2 2x5/2 2x7/2 sin x dx = − + − .... 3 5 · 3! 7 · 5!
Integrale, die analytisch nur schwer oder gar nicht zu lösen sind, können numerisch durch eine Aufspaltung des Integrals in eine endliche Summe berechnet werden: b a
N
N
i=0
i=0
f (x) dx = h ∑ ci · f (a + ih) + F(a,b,h) ≈ h ∑ ci · f (a + ih)
mit verfahrensabhängigen Konstanten ci und b−a . N F(a,b,N) ist der Fehler der Näherung. N ist die Anzahl der Unterteilungen des Intervalles, h die Breite der Intervalle. Je größer N, um so besser ist die Näherung, desto länger ist die Rechenzeit. h=
▲ Bei zu feiner Unterteilung (zu großem N) können Rundungsfehler das Ergebnis verfälschen. Man vergrößere die Anzahl der Unterteilung N solange, bis sich der Wert des Integrals innerhalb der signifikanten Stellen nicht mehr ändert:
I(2N) − I(N)
< 10−n (n Anzahl der signifikanten Stellen.)
I(2N) ▲ n darf nicht über der Stellenzahl des verwendeten Datentyps liegen (einfach-genau: n = 8, doppeltgenau: n = 16).
798
24 Integralrechnung
▲ Die Güte der Näherung für ein bestimmtes Integral hängt ab von 1. der Fehlerordnung O (hn ) der Integrationsformel, 2. der Feinheit der Zerlegung h, 3. der Glattheit des Integranden.
24.3.1
Rechteckregel
Annäherung durch rechtsseitige Rechtecksumme bzw. linksseitige Rechtecksumme: b a
f (x) dx = =
b−a N ∑ f (a + ih) + O (h) N i=1 b−a N ∑ f (a + (i − 1)h) + O (h). N i=1
Für konstante Funktionen exakt.
24.3.2
Trapezregel
Annäherung der zu berechnenden Fläche durch ein Trapez: b a
f (x) dx ≈
b−a ( f (b) + f (a)). 2
Unterteilung des Integrationsintevalls in N Intervalle der Breite h und N-fache Anwendung der Trapezformel (summierte Trapezformel): b N−1 b−a f (x) dx = f (a) + f (b) + 2 ∑ f (a + ih) + O (h2 ). a 2N i=1 Für Polynome ersten Grades exakt.
24.3.3
Simpson-Regel
Simpson-1/3-Regel, Annäherung des Integranden durch ein Polynom zweiten Grades: b b−a a+b f (x) dx = f (a) + f (b) + 4 f + O (h5 ). a 6 2 Für Polynome bis einschließlich dritten Grades exakt. Anwendung auf N Teilintervalle: In jedem Teilintervall wird die Funktion durch ein Polynom zweiten Grades angenähert. N/2 N/2−1 b b−a f (x) dx = f (a) + f (b) + 4 ∑ f (a + (2i − 1)h) + 2 ∑ f (a + 2ih) + O (h4 ). a 3N i=1 i=1 ▲ Das Intervall muss in eine gerade Anzahl N von Segmenten unterteilt sein. Simpson-3/8-Regel: b a
f (x) dx =
b−a f (a) + 3 · f ((2a + b)/3) + 3 · f ((a + 2b)/3) + f (b) + O (h5 ) . 8
24.4 Kurven-, Flächen- und Volumenintegrale
24.4
Kurven-, Flächen- und Volumenintegrale
24.4.1
Bogenlänge (Rektifikation)
799
● Linienelement einer Kurve, nach Pythagoras ds = dx2 + dy2 . Bogenlänge einer Kurve ist daher dy2 1+ dx = 1 + ( f (x))2 dx. s = ds = dx2 √ x ■ Umfang des Einheitskreises: y = 1 − x2 , y = − √ , 1 − x2 %
1 1 1
x2 dx √ 1+ dx = 2 = 2arcsinx
= 2π . s=2 2 −1 −1 1−x 1 − x2 −1
24.4.2
Flächeninhalt
Flächen zwischen einer Kurve f (x) und der x-Achse berechnet man mithilfe des Integrales b
I=
a
f (x) dx = F(b) − F(a).
▲ Ist f (x) im Integrationsintervall negativ, so wird auch das Integral negativ. Das Vorzeichen des Integrales hängt auch davon ab, welche Integrationsgrenze größer ist. Funktionswert Integrationsgrenzen Integralwert f (x) > 0 a0 f (x) < 0 a 0 a>b I<0 f (x) < 0 a>b I>0 Betrag der Fläche: 1. Nullstellen x1 ,x2 , . . . ,xn berechnen und x0 = a, xn+1 = b setzen, 2. Aufteilung des Integrals in Flächenstücke von xi bis xi+1 , (i = 0,1, . . . ,n). 3. Integration der Teil-Integrale. 4. Summation der Absolutbeträge der einzelnen Integrationen.
n n
b
xi+1
A =
| f (x)| dx
= ∑ f (x) dx = ∑ |F(xi+1 ) − F(xi )| . a xi i=1
i=1
■ Fläche zwischen der Kosinus-Kurve und der x-Achse im Intervall [0,π ]:
π /2
π
A= cos x dx +
cos x dx
= sin π /2 + | − sin π /2 + sin π | = 1 + | − 1| = 2. 0 π /2 (Das Integral über cos x ohne Absolutbetrag ist dagegen:
I=
π
0
cos x dx = 0.)
● Bei geraden Funktionen mit symmetrisch zur y-Achse liegenden Integrationsgrenzen braucht nur eine Seite integriert zu werden a
I=
−a
a
f (x) dx = 2
0
f (x) dx
( f (x) gerade.)
800
24 Integralrechnung
■ Parabel: 2 −2
2
x dx = 2
2 0
2 x3
16 x dx = 2 = . 3 0 3 2
● Bei ungeraden Funktionen mit symmetrisch zur y-Achse liegenden Integrationsgrenzen ist das Integral gleich null
a
a
f (x) dx = 0 A = 2 | f (x)| dx ( f (x) ungerade.) I= −a
■ y = x3 :
0
π
−π
x3 dx = 0
● Betrag einer Fläche bei geraden oder ungeraden Funktionen mit symmetrisch zur y-Achse liegenden Integrationsgrenzen:
a
a
A = | f (x)| dx = 2 | f (x)| dx ( f (x) gerade oder ungerade Funktion). −a
0
● Fläche zwischen zwei Funktionsverläufen,
n x
b
i+1
A = | f (x) − g(x)| dx = ∑ ( f (x) − g(x)) dx , a
i=0
xi
wobei x0 = a,xn+1 = b und xi , (i = 1,2, . . . ,n) die Schnittpunkte der beiden Funktionen sind. ▲ Es ist empfehlenswert, den Funktionsverlauf des Integranden zu skizzieren. ● Fläche zwischen einer Kurve und der y-Achse: entspricht der Integration der Umkehrfunktion U(y). A=
f (b) f (a)
U(y) dy. f(x)
∫
∫ cos x d x
f(x) dx
a
π
a
b
g(x)
π π/2
−
f(x)
0
+
x
f(x)
π/2
f(x)
b
−
x
∫ cos x d x
π/2
xi
x i+1
x
Flächenberechnungen
24.4.3
Rotationskörper (Drehkörper)
Rotationskörper (Drehkörper), entsteht durch Rotation des Graphen einer Funktion y = f (x) bzw. einer Umkehrfunktion U(y) um eine Achse. ▲ Nicht notwendigerweise eine Koordinatenachse. ■ Schräg im Raum liegende Rotationshyperboloide, Symmetrieachse 45o (x = y). Volumen des Rotationskörpers: Integration über alle Kreisscheiben. Rotation um x-Achse:
Vx = π
Rotation um y-Achse:
Vy = π
■ y = x2 : Vx = π x4 dx = (π /5)x5 ,
f (x)2 dx U(y)2 dy.
24.5 Mehrfachintegrale und ihre Anwendungen
801
Volumen eines Rotationsparaboloids der Höhe h: h √
2 π h2 y dy = . 0 2 ● Oberfläche eines Rotationskörpers oder Mantelfläche, entspricht einer Integration über alle Kreisumfänge entlang der Kurve. Rotation um x-Achse: AMx = 2π f (x) ds = 2π f (x) 1 + f (x)2 dx, Rotation um y-Achse: AMy = 2π U(y) ds = 2π U(y) 1 + U (y)2 dy. √ ■ Oberfläche einer Kugelzone: y = r2 − x2 , % h h x2 2 2 AMx = 2π r −x 1+ 2 dx = 2π r dx = 2π rh 0 0 r − x2 Vy = π
f(x)
f(x) πy
πU ( y )
y=x
2
2
2
h
U(y)= y
x
∆y ∆x x
a) Paraboloid
b) Kegel
24.5
Mehrfachintegrale und ihre Anwendungen
24.5.1
Definition von Mehrfachintegralen
Doppelintegral, Grenzübergang einer Doppelsumme über Flächenbereiche über eine Funktion von zwei unabhängigen Variablen f (x,y) (Integral in zwei Dimensionen), analog zum einfachen Integral definiert:
n
f (x,y) dy dx = lim
n,m→∞
m
∑ ∑ f (xi , y j )∆xi ∆y j . i=1 j=1
Flächendifferenzial, dA = dx dy. Doppelintegral setzt sich aus äußerem und innerem Integral zusammen. Es wird durch zwei aufeinander folgende gewöhnliche Integrationen berechnet. b o(x)
f (x,y) dy dx. inneres Integral äußeres Integral
x=a y=u(x)
In Polarkoordinaten lautet das Flächendifferenzial dA = r dr d ϕ : ϕ2
ϕ =ϕ 1
r(ϕ ) r=0
f (r,ϕ ) r dr d ϕ .
802
24 Integralrechnung
Dreifachintegral, berechnet man durch drei aufeinander folgende gewöhnliche Integrationen. Je nach Form des zu integrierenden Volumens wählt man entsprechend angepasste Koordinaten bzw. passende Volumenelemente. kartesisch
Zylinderkoordinaten
dx dy dz
r dr d ϕ dz
dV
dV
Kugelkoordinaten
r2 sin θ dr d ϕ d θ dV
■ Volumen einer Kugel: R 2π
R3 π 4π 3 2π sin θ d θ = R. r=0 ϕ =0 θ =0 θ =0 3 3 Substitutionsregel für Mehrfachintegrale, Berechnung eines Integrales in beliebigen Koordinaten u, v und w, die durch π
r2 sin θ dr d ϕ d θ =
x = x(u,v,w),
y = y(u,v,w) z = z(u,v,w)
definiert sind. Zerlegung des Integrationsgebietes in Volumenelemente durch die Koordinatenflächen u = const, v = const und w = const: dV = |D| du dv dw mit der Funktionaldeterminate (Jacobi-Determinante):
∂x ∂x ∂x
∂u ∂v ∂w
∂y ∂y ∂y
. D=
∂ u ∂ v ∂ w
∂z ∂z ∂z
∂u ∂v ∂w Substitution des Integrales möglich für D = 0:
f (x,y,z) dV =
f (u,v,w)|D| dw dv du.
▲ Numerische Berechnung von Mehrfachintegralen: Monte-Carlo-Methoden, besonders bei großen n effizient (n Anzahl der Integrationen). f ( x,y )
z
y f(x)
f ( x,y ) d x d y
dy
dx
g(x) a
dx
x
b
x
dy
Mehrfachintegrale
24.5.2
Flächenberechnung
Fläche zwischen zwei Kurven f (x) und g(x) in kartesischen Koordinaten: A=
b f (x) x=a g(x)
b
dy dx =
x=a
( f (x) − g(x)) dx.
y
24.6 Das Stieltjes’sche Integral ■ Kreisabschnitt: A=
h √r2 −x2 0
h
dy dx =
0
0
r2
−
x2
1 dx = 2
803
h h r2 − h2 + r2 arcsin ) r
Fläche zwischen zwei Kurven in Polarkoordinaten (r = r(ϕ )): A=
ϕ2
f (ϕ )
ϕ =ϕ 1
r=g(ϕ )
r dr d ϕ .
■ Kreissegment (r(ϕ ) = r):
A=
0
α
r 0
24.6
r dr d ϕ =
α
0
r2 r2 dϕ = α . 2 2
Das Stieltjes’sche Integral
▲ Der Begriff eines bestimmten Integrals lässt sich erweitern, indem das Integral nicht „entlang der xAchse“, sondern entlang einer monoton steigenden Funktion F(x) entwickelt wird. In einem endlichen Intervall [a,b] seien g(x) eine stetige und F(x) eine monoton steigende Funktion. Durch die Wahl von n − 1 willkürlichen Zwischenpunkten x1 ,x2 , . . . ,xn−1 mit a = x0 < x1 < . . . < xn−1 < xn = b nehmen wir eine Einteilung En des Intervalls [a,b] in n Teilintervalle vor. Bezeichnen wir mit ξ k einen beliebigen Punkt des Intervalls Ik = [xk−1 ,xk ] und mit Gk = Max g(x) und gk = Min g(x) den größten bzw. kleinsten x∈Ik
x∈Ik
Funktionswert von g im Intervall Ik , dann können wir für jede Zerlegung die folgenden Summen bilden: n
SO (g,F) =
∑ Gk · [F(xk ) − F(xk−1 ]
Stieltjes’sche Obersumme,
∑ g(ξ k ) · [F(xk ) − F(xk−1 ]
Stieltjes’sche Summe,
∑ gk · [F(xk ) − F(xk−1 ]
Stieltjes’sche Untersumme
k=1 n
I(g,F) =
k=1 n
SU (g,F) =
k=1
Konvergieren diese drei Summen unabhängig von der Wahl der xk (und der ξ k ) gegen den gleichen Grenzwert, wenn der Feinheitsgrad G(En ) der Einteilung En gegen Null strebt, so nennen wir diesen das (eigentliche) Stieltjes’sche Integral der Funktion g nach der Funktion F und schreiben b
n
∑ g(ξ k )[F(xk ) − F(xk−1 )] .
g(x) dF(x) = lim
G(En )→0
a
k=1
▲ Das Stieltjes’sche Integral wird auch als Kurven- oder Linienintegral bezeichnet. ▲ Es lässt sich auf nicht abgeschlossene Integrationsintervalle ausdehnen: uneigentliche Integrale der Funktion g nach der Funktion F ∞
A
g(x) dF(x) = lim
A→∞
a +∞ −∞
b
g(x) dF(x), a
g(x) dF(x) = lim −∞
A
g(x) dF(x) = A→+∞ lim B→−∞
g(x) dF(x) . B
b B→−∞
g(x) dF(x), B
804
24 Integralrechnung
▲ Viele Rechenregeln des bestimmten Integrals lassen sich auf Stieltjes’sche erweitern b
α · g(x) d[β F(x)] = α · β ·
a
b
für reelle Konstanten α und β > 0
g(x) dF(x) a
b
b
[g1 (x) + g2 (x)] dF(x) =
b
g1 (x) dF(x) +
g2 (x) dF(x),
a
a
a
b
b
b
g(x) d[F1 (x) + F2 (x)] = a
g(x) dF1 (x) + a
b
a
c
g(x) dF(x) = a
g(x) dF2 (x),
b
g(x) dF(x) +
g(x) dF(x)
a
für a < c < b
c
▲ Oft lässt sich das Stieltjes’sche Integral auf ein bestimmtes Integral zurückführen: Die Funktion g sei in [a,b] stetig; die Funktion F in ]a,b[ differenzierbar und es existiere das Integral der Funktion F (x) = f (x) über [a,b]. Dann gilt b
b
g(x) dF(x) = a
g(x) · f (x) dx .
a
▲ Das Hauptanwendungsgebiet des Stieltjes’schen Integrals ist die Statistik, denn es bietet die Möglichkeit, die Integrale für stetige und die Summen für diskrete Zufallsvariablen einheitlich in Gestalt einer einzigen Formel zu schreiben: ■ Bezeichnen wir mit F(x) = P(X ≤ x) = P(] − ∞,x]) die Verteilungsfunktion einer Zufallsvariablen X, so kann man die Momente allgemeiner schreiben als: r X diskret +∞ ∑ x pi i r r mr = E(X ) = x dF(x) = +∞ xr f (x) dx X stetig −∞ −∞
σ = 2
+∞
(x − µ ) dF(x) =
−∞
2
∑(x − µ )2 pi i
X diskret
+∞ (x − µ )2 f (x) dx X stetig −∞
25
Differenzialgleichungen
25.1
Allgemeines
Differenzialgleichung, Gleichung, die eine unbekannte Funktion y, deren Ableitungen y ,y , . . . ,y(n) und unabhängige Variablen enthält. Gewöhnliche Differenzialgleichung, die unbekannte Funktion y hängt nur von einer unabhängigen Variablen ab: y = f (x). ■ Im Multiplikator-Akzelerator-Modell von Harrod und Domar wird das Sozialprodukt Y ausgegeben für Konsum C(t), Investitionen I(t) und konstanten autonomen Ausgaben A. Mit der Konsumfunktion C(t) = c Y (t), 0 < c < 1 und der Akzelerator-Beziehung I(t) = v Y (t), v < 0 ergibt sich für den zeitlichen Verlauf des Sozialproduktes die Differenzialgleichung A 1−c Y (t) − . v v ■ Das Multiplikator-Akzelerator-Modell von Phillips führt zu der Differenzialgleichung 2. Ordnung Y (t) =
Y (t) + a Y (t) + b Y (t) = k λ A mit a = λ (1 − c) + k − kλ v und b = kλ (1 − c), wobei die folgenden Zusammenhänge angenommen werden: Konsumfunktion C(t) = c Y (t), Investitionsänderung I (t) = −k I(t) − v Y (t) , Gesamtnachfrage
Z(t) = c Y (t) + I(t) + A,
Sozialproduktänderung Y (t) = −λ (Y (t) − Z(t)). Partielle Differenzialgleichung, die unbekannte Funktion hängt von mehreren unabhängigen Veränderlichen ab, y = f (x1 , . . . ,xn ). ▲ Partielle Differenzialgleichungen sind in den Wirtschaftswissenschaften kaum von Bedeutung, da hauptsächlich Daten mit diskreter Zeitstruktur vorliegen. Gestalt gewöhnlicher Differenzialgleichungen Implizite Form: F(x,y,y , . . . ,y(n) ) = 0, ˜ Explizite Form: y(n) = F(x,y,y , . . . ,y(n−1) ) ▲ Oft lässt sich die implizite Form durch Auflösen nach y(n) in eine explizite Form überführen. ■ F(x,y,y ,y ,y ) = a(x) + b(x) · y2 + c(x) · y + d(x) · y + e(x) · y = 0 y = −a(x)/e(x) − y2 · b(x)/e(x) − y · c(x)/e(x) − y · d(x)/e(x) Ordnung der Differenzialgleichung, höchste auftretende Ordnung der Ableitungen von y. ■ y + x3 + xy = 0 ist 2. Ordnung. Grad der Differenzialgleichung, Grad der höchsten Potenz von y bzw. seinen Ableitungen. ■ y + y3 + xy = 0 ist 3. Grades.
806
25 Differenzialgleichungen
Lösung der Differenzialgleichung ist jede Funktion y = f (x), die die Differenzialgleichung F(x,y,y , . . . ,y(n) ) = 0 erfüllt. Integration der Differenzialgleichung, das Bestimmen der Lösung der Differenzialgleichung. Allgemeine Lösung, Gesamtheit aller Lösungen einer Differenzialgleichung. Die allgemeine Lösung der Differenzialgleichung n-ter Ordnung hat n freie Parameter. Partikuläre oder spezielle Lösung, Lösung der Differenzialgleichung, n-ter Ordnung, die n vorgegebene Bedingungen erfüllt. Anfangswertproblem, gesucht ist die Lösung einer Differenzialgleichung n-ter Ordnung, deren n freie Parameter durch die Funktion und ihre Ableitungen an einem speziellen Punkt x0 bestimmt sind: y(x0 ), y (x0 ), . . . ,y(n−1) (x0 ) (Anfangsbedingungen). Randwertproblem, gesucht ist die Lösung einer Differenzialgleichung n-ten Grades, deren n freie Parameter durch n Randbedingungen an den Randpunkten a,b eines Intervalls a ≤ x ≤ b festgelegt sind. Lineare Differenzialgleichung, Differenzialgleichung 1. Grades y(n) + a1 y(n−1) + · · · + an−1 y + an y = g(x). Störglied einer Differenzialgleichung, alle Beiträge, die weder y noch seine Ableitungen y , . . . , y(n) enthalten. Inhomogene Differenzialgleichung, das Störglied ist ungleich null. ■ y + x · y = 4x + 3. Homogene Differenzialgleichung, das Störglied ist gleich null. ■ y + x · y = 0
25.2
Geometrische Interpretation
Kurvenschar, Vielzahl von Kurven, die man durch Variation der freien Parameter der allgemeinen Lösung einer Differenzialgleichung erhält. Wird i. Allg. gegeben durch eine implizite Gleichung F(x,y,c) = 0. ■ Kreis mit Radius R: F(x,y,R) = x2 + y2 − R2 = 0. Integralkurve, partikuläre Lösung der Differenzialgleichung, d. h. eine spezielle Kurve aus der Kurvenschar. y
x
Kurvenschar mit Integralkurve
25.3 Lösungsmethoden bei Differenzialgleichungen erster Ordnung
807
Richtungsfeld, bei Differenzialgleichungen 1. Ordnung ist für jeden Punkt der x-y-Ebene ein Linienelement festgelegt. Ein Linienelement ist ein kurzes Geradenstück durch einen Punkt (x,y) mit vorgegebener Steigung y = f (x,y). y
y y '= − x/y
y '=x/y
x x
Richtungsfelder der Differenzialgleichungen y = −x/y und y = x/y Isokline, Kurve, die alle Punkte mit gleicher Richtung der Linienelemente (y =konst.) verbindet. ▲ Isoklinen sind bei Näherungen für die Lösungen einer Differenzialgleichung verwendbar: Sie müssen mit dem Anstieg y von der Lösung durchkreuzt werden. Grafische Lösung, Lösung der Differenzialgleichung durch Bestimmung der Isoklinen. Isoklinengleichung, die Gleichung y = C, d. h. C = f (x,y) aufgelöst nach y. ■ y = 5y2 + 3x5 :
y = C = 5y2 + 3x5
⇒
y=
C − 3x5 . 5
25.3
Lösungsmethoden bei Differenzialgleichungen erster Ordnung
25.3.1
Trennung der Variablen
Anwendbar, falls die Darstellung dy = y = f (x) · g(y) dx möglich ist. ● Die Lösung bestimmt sich durch Auflösen der Gleichung
dy = f (x) dx g(y)
nach y. Man bringt alle Glieder, die x bzw. y enthalten auf verschiedene Seiten der Gleichung (Trennung), integriert und löst nach y auf. ▲ Dies geht nur, falls g(y) = 0 ist. dy 2 ■ y = 3x2 y; = 3x dx y ln |y| = x3 + C
⇒
⇒ 3
y = K · ex , mit K = ±eC .
808
25 Differenzialgleichungen
25.3.2
Substitution
Zurückführen der Differenzialgleichung durch Transformation der Größen x, y auf eine lösbare Differenzialgleichung, Lösung der transformierten Differenzialgleichung, Rücksubstitution. ■ y = f (ax + by + c)
du = x + C. a + b f (u) ▲ Man erhält zunächst x(u). Dies muss nach u aufgelöst werden, anschließend erhält man y gemäß y = (u − ax − c)/b
Setze u = ax + by + c ⇒ u = a + b f (u) ⇒
■ Homogene Differenzialgleichung y y f (u) − u y = f ; u= ⇒ u = x x x ( ' du x(u) = C · exp . f (u) − u ▲ Auflösen nach u, Resubstitution
25.3.3
Exakte Differenzialgleichung
Darstellbar in der Form f (x,y)dx + g(x,y)dy = 0 ▲
∂f ∂y
=
∂g ∂x
mit
∂f ∂y
=
∂g ∂x
.
heißt Integrabilitätsbedingung.
Lösung:
∂f f (x,y) dx + g(x,y) − dx dy = C = konst. ∂y ▲ Die lineare Differenzialform f dx + g dy ist dann das totale Differenzial du einer Funktion u(x,y).
(x + 3y) dx + 3x + y − 3 dx dy = C. y = −3x ± 8x2 − C.
25.3.4
Integrierender Faktor
Integrierender Faktor, Funktion, mit der man eine Differenzialgleichung multiplizieren muss, um eine exakte Differenzialgleichung zu erhalten. ■ ey · (tan(x) − y ) = 0. Integrierender Faktor cos(x). ey · (sin(x) − cos(x)y ) = 0 ⇔ ey sin(x) dx + (−ey cos(x)) dy = 0. C Lösung: y = ln − cos(x)
25.4 Lineare Differenzialgleichungen erster Ordnung
25.4
809
Lineare Differenzialgleichungen erster Ordnung
Lineare Differenzialgleichung: Funktion y und Ableitung y treten nur linear auf. ● Darstellbar in der Form: y + a(x) · y = b(x). Störglied, der Term b(x). Homogen, der Fall b(x) = 0. Inhomogen, der Fall b(x) = 0. ▲ Homogene lineare Differenzialgleichungen erster Ordnung sind durch Trennung der Variablen lösbar,
y = C · e− a(x) dx . ■ y + 2 sin(x) cos(x)y = 0
2 y = C · e−2 sin(x) cos(x) dx = C · e− sin (x) .
25.4.1
Variation der Konstanten
● Eine Lösung einer inhomogenen Differenzialgleichung für y erhält man aus der Lösung der zugehörigen homogenen Differenzialgleichung für yH durch „Variation der Konstanten“: y + a(x) · y = b(x);
yH + a(x) · yH = 0
y = ψ (x) · yH (x) = ψ (x) · Ce− a(x) dx mit ψ (x) =
b(x) dx. yH (x)
■ y + 2 sin(x) cos(x) · y = ecos
2 (x)
Es folgt yH (x) = C · e− sin (x) 2
(Beispiel oben),
b(x) 1 ecos (x) ψ (x) = dx = · dx, 2 yH (x) C e− sin (x) 1 1 x 2 2 = · ecos (x)+sin (x) dx = · e1 dx = · e, C C C 1 2 y(x) = ψ (x) · yH (x) = xe1Ce− sin (x) , C 2
● Die allgemeine Lösung y einer inhomogenen linearen Differenzialgleichung erhält man aus einer partikulären Lösung yP der Differenzialgleichung und der Lösung yH der zugehörigen homogenen Differenzialgleichung gemäß: y = yP + yH . ■ Die allgemeine Lösung der 1. Gleichung lautet: y = xecos
2 (x)
+ Ce− sin (x) . 2
■ Die allgemeine Lösung der 2. Gleichung lautet: 1 2 y = Cex − 1 + x2 . 2
25.4.3
Bestimmung einer partikulären Lösung
▲ Häufig erweist es sich als zweckmäßig, durch Einsetzen einer Ansatzfunktion mit mehreren Parametern in die Differenzialgleichung eine partikuläre Lösung zu erraten. ▲ Der Ansatz für die Lösung sollte sich am Störglied orientieren (d. h. ähnlicher oder verwandter Funktionstyp). 1 ■ y + y = 1 + x. x Ansatz: yP (x) = ax + bx2 . 1 1 1 1 Lösung: a = , b = , yP = x + x2 . 2 3 2 3
25.4.4
Lineare Differenzialgleichungen 1. Ordnung mit konstanten Koeffizienten
● Dies ist der Spezialfall a(x) = a0 = const. y + a0 · y = b(x). Allgemeine Lösung der homogenen Differenzialgleichung yH = C · e−a0 x Partikuläre Lösung wie oben beschrieben durch Variation der Konstanten oder Erraten. ● Das Erraten der partikulären Lösung führt häufig schneller zum Ziel. Störglied b(x)
empfohlener Lösungsansatz
ekx sin(mx) oder ekx cos(mx)
ekx (A · sin(mx) + B · cos(mx))
ekx (a0 + a1 x + . . . + an xn )
ekx (A0 + A1 x + . . . + An xn )
(a0 + a1 x + . . . + as xs ) · sin(mx)
(A0 + A1 x + . . . + As xs ) · sin(mx)
+(b0 + b1 x + . . . + bt xt ) · cos(mx) +(B0 + B1 x + . . . + Bt xt ) · cos(mx) ■ y + a · y = cos(x). Ansatz: yP (x) = A cos(x) + B sin(x).
25.5 Einige spezielle Gleichungen Lösung: A =
811
a 1 , B = 1 + a2 1 + a2
1 (a cos(x) + sin(x)) . 1 + a2 ■ Multiplikator-Akzelerator-Modell von Harrod und Domar 1−c A Y (t) = Y (t) − v v hat die Lösung 1−c A Y (t) = C · exp + ,C ∈R. v 1−c yP (x) =
25.5
Einige spezielle Gleichungen
25.5.1
Bernoulli’sche Differenzialgleichung
y + a(x)y = b(x)yn
(n = 1).
Substitution: u = y1−n , u = (1 − n)y−n y . Es folgt: u + (1 − n)a(x) · u = (1 − n)b(x). Lösung wie im Abschnitt lineare Differenzialgleichungen 1. Ordnung beschrieben. ■ Ein Wachstumsmodell von E. S. Phelps führt zu der Bernoulli’schen Differenzialgleichung für die Produktfunktion Q = Q(t): Q (t) − c1 Q = c2 Qc3 · ec4 t mit Konstanten c1 ,c2 ,c3 ,c4 . Mit u = Q1−c3 und u = (1 − c3 ) Q−c3 · Q ergibt sich u − (1 − c3 )c1 u = (1 − c3 )c2 ec4 t mit der Lösung: (1 − c3 )c2 · ec4 t , c4 − (1 − c3 )c1 1−c1 3 (1 − c3 )c2 c4 t + ·e c4 − (1 − c3 )c1
u(t) = C · e(1−c3 )c1 t + Q(t) = C · e(1−c3 )c1 t
25.5.2
Riccati’sche Differenzialgleichung
y = a(x) + b(x)y + c(x)y2 , wird bei der Optimierung von Regelkreisen eingesetzt. ▲ Für a(x) = 0 geht die Riccati-Gleichung in eine Bernoulli-Gleichung mit n = 2 über. ● Die Substitution y(x) = −w (x)/(c(x) · w(x)) führt die Riccati’sche Differenzialgleichung in eine lineare Differenzialgleichung 2. Ordnung für w(x) über: c (x) + b(x) + a(x) · c(x) · w(x) = 0. w (x) − w (x) · c(x)
812
25 Differenzialgleichungen
▲ Oft ist es günstiger, die spezielle Lösung durch einen geschickten Ansatz zu erraten. 2 2 5 4 · y + 2 y. ■ y = 4x + 5x + x x Substitution führt auf: w − 5x4 w + 8x3 w = 0. Siehe auch lineare Differenzialgleichung 2. Ordnung.
25.5.3
Clairaut’sche Differenzialgleichung
y = xy + f (y ). Differenziation nach x: y = y + xy + f (y )y
⇒
y (x + f (y ) = 0.
y = 0 ⇒ y = c konst. y = cx + f (c) Die allgemeine Lösung ist eine einparametrige Geradenschar. 2. x + f (y ) = 0. Bestimmt zusammen mit der Differenzialgleichung durch Elimination von y die Hüllkurve der Geradenschar (singuläres Integral). a ■ y = xy + . y a Allgemeine Lösung: y = cx + . c Singuläres Integral: a a x − 2 = 0, y = xy + ⇒ y2 = 4ax. y y a Die Geraden y = cx + sind Tangenten an die Parabel y2 = 4ax. c 1.
25.6
Differenzialgleichungen 2. Ordnung
25.6.1
Einfache Spezialfälle
Folgende Spezialfälle lassen sich durch Substitution auf eine Differenzialgleichung 1. Ordnung zurückführen. ● y = f (x) ist lösbar durch zweifache Integration f (x) dx dx + C1 x + C2 . y(x) = ■ y
= 5x6 − 8x5 + 7x3 − 4x2 + 3x − 20 5 4 7 4 3 y (x) = x7 − x6 + x4 − x3 + x2 − 20x + C1 7 3 4 3 2 5 8 4 7 7 5 1 4 1 3 y(x) = x − x + x − x + x − 10x2 + C1 x + C2 . 56 21 20 3 2 ■ y = e−λ x 1 1 y (x) = − e−λ x + C1 ; y(x) = 2 e−λ x + C1 x + C2 . λ
λ
25.7 Lineare Differenzialgleichungen 2. Ordnung
813
1 1 + x2 y (x) = arctan(x) + C1
■ y
=
1 · ln(1 + x2 ) + C1 x + C2 . 2 ● y = f (y ) ist lösbar durch Substitution z = y . y(x) = x · arctan(x) −
z
= f (z) → x =
y(x) =
dz + C1 → Auflösen nach z f (z)
z(x) dx + C2 .
■ y = 1 + y 2 . z
= 1 + z2 → x =
z(x) = tan(x − C1 )
y(x) =
z(x) dx =
dz + C = arctan(z) + C 1 + z2
tan(x − C1 ) dx = − ln | cos(x − C1 )| + C2 .
1 1 , z = → z = arcsin(x + C1 ) cos y cos z y(x) = (x + C1 ) arcsin(x + C1 ) + 1 − (x + C1 )2 .
■ y (x) =
25.7
Lineare Differenzialgleichungen 2. Ordnung
y + p(x)y + q(x)y = f (x). ● Falls f , p und q stetig sind, so existiert für beliebige a0 , a1 genau eine Lösung y0 dieser Differenzialgleichung, die den beiden Anfangsbedingungen y0 (x0 ) = a0 , y0 (x0 ) = a1 genügt. ● Die allgemeine Lösung der Differenzialgleichung 2. Ordnung enthält somit genau zwei Integrationskonstanten. Die Differenzialgleichung selbst (ohne Randbedingungen) hat damit genau zwei linear unabhängige Lösungen. Wronski-Determinante, die Determinante
y (x) . . . y (x) n
1
y1 (x) . . . yn (x) W (y1 , . . . ,yn ; x) =
. ..
.
..
(n)
y1 (x) . . . y(n)
n (x) heißt Wronski-Determinante der Funktionen y1 (x), . . . ,yn (x). ● Lösungen y1 , . . . ,yn einer bestimmten Differenzialgleichung n-ter Ordnung sind genau dann linear abhängig, wenn es einen Punkt x0 gibt mit W (y1 , . . . ,yn ; x0 ) = 0. ▲ In diesem Fall gilt sogar W (y1 , . . . ,yn ; x0 ) ≡ 0 im gesamten Definitionsbereich der Wronski-Determinante W (y1 , . . . ,yn ; x) Dieser Satz erlaubt es, sofort festzustellen, ob zwei Lösungen einer linearen Differenzialgleichung 2. Ordnung linear unabhängig sind oder nicht.
814
25 Differenzialgleichungen
25.7.1
Homogene lineare Differenzialgleichung 2. Ordnung
In diesem Fall kann man aus einer bekannten speziellen Lösung die zweite linear unabhängige generieren. ● Ist y1 Lösung der obigen linearen Differenzialgleichung 2. Ordnung mit f (x) ≡ 0, so ist die zweite linear unabhängige Lösung gegeben durch
exp{− p(x) dx} y2 (x) = y1 (x) · dx. [y1 (x)]2 2x 2 y − y + y = 0. 2 ■ 1−x 1 − x2 Spezielle Lösung: y1 = x, da y = 1, y = 0. Somit gilt:
Kennt man die beiden linear unabhängigen Lösungen y1 , y2 der zugehörigen homogenen linearen Differenzialgleichung, so kann man eine spezielle Lösung der inhomogenen Differenzialgleichung daraus berechnen. ● Sind y1 (x), y2 (x) linear unabhängige Lösungen der Differenzialgleichung y + p(x)y + q(x)y = 0, so ist eine Lösung y0 der inhomogenen Differenzialgleichung y + p(x)y + q(x)y = f (x) gegeben durch y0 (x) = −y1 (x) ·
y2 (x) · f (x) y1 (x) · f (x) dx + y2 (x) · dx, W (y1 ,y2 ; x) W (y1 ,y2 ; x)
wobei W (y1 ,y2 ; x) = y1 (x) · y2 (x) − y1 (x) · y2 (x) die Wronski-Determinante der Funktionen y1 , y2 ist (siehe oben). ▲ Da y1 und y2 nach Voraussetzung linear unabhängig sind, ist im gesamten Intervall W (y1 ,y2 ; x) = 0 2x 2 1 ■ y − y + y= . 2 2 1−x 1−x x − x3 x 1+x Aus dem obigen Beispiel folgt: y1 = x, y2 = ln − 1. Somit 2 1−x
x 1 + x
x
ln − 1
2 1−x 1
W (y1 ,y2 ; x) = .
=
1 − x2 1 1 + x x
1
ln +
2 1−x 1 − x2
25.7 Lineare Differenzialgleichungen 2. Ordnung
815
1 1+x 1 x 1+x y0 (x) = −x · ln − dx + ln − 1 · 1 dx 2 1−x x 2 1−x 1 1+x x2 1+x = −x · ln dx + x · dx + ln −x 1−x x 2 1−x 1+x x 1+x x x 2 − ln(1 − x ) + x ln x + ln −x = − ln 2 1−x 2 2 1−x x x 2 = − ln(1 − x ) + x ln x − x = x · ln √ −x 2 1 − x2
25.7.3
Lineare Differenzialgleichung 2. Ordnung mit konstanten Koeffizienten
Dies ist der wichtige Spezialfall p(x) = p =const., q(x) = q =const. y + py + qy = f (x). ● Die homogene lineare Differenzialgleichung 2. Ordnung mit konstanten Koeffizienten ist in jedem Fall durch den Ansatz y = eλ x lösbar. Es treten drei mögliche Fälle auf: p2 − 4q > 0: ' ( p 1 2 y1 (x) = exp − + p − 4q · x 2 2 ' ( p 1 2 y2 (x) = exp − − p − 4q · x . 2 2 p2 − 4q = 0: p y1 (x) = e− 2 · x
p y2 (x) = x · e− 2 · x
p2 − 4q < 0:
p 1 − x 2 y1 (x) = e 2 · sin x · 4q − p 2 p 1 x − 2 y2 (x) = e 2 · cos x · 4q − p 2 ● Die Lösung der inhomogenen Gleichung erfolgt nach der oben erläuterten Methode. p 1 2 + p − 4q; 2 2 1 ω = 4q − p2 . 2 λ1 = −
p2 − 4q < 0: 1 −λ x y0 (x) = · e · sin(ω · x) eλ ·x cos(ω x) f (x) dx ω
−
1 ω
−λ x
·e
· cos(ω · x)
eλ ·x sin(ω x) f (x) dx.
▲ Da die auftretenden Integrale stets vom Typ ekx · F(x) dx bzw. sin(kx) · F(x) dx, sind, kann man für viele Störglieder f (x) die Lösungen in Kapitel 24 finden.
cos(kx) · F(x) dx
▲ Die allgemeine Lösung einer inhomogenen Differenzialgleichung strebt für x → +∞ gegen eine partikuläre Lösung, wenn die allgemeine Lösung der zugehörigen homogenen Differenzialgleichung gegen Null konvergiert. Dies ist dann der Fall, wenn alle reellen Nullstellen der charakteristischen Gleichung negativ sind und alle komplexen Nullstellen negative Realteile besitzen, d. h. p p2 p − ± − q < 0 oder − < 0 . 2 4 2 Diese Bedingungen sind genau dann erfüllt, wenn p > 0 und q > 0. ■ Das Multiplikator-Akzelerator-Modell von Phillips Y (t) + a Y (t) + b Y (t) = k λ A mit a = λ (1 − c) + k − kλ v und b = kλ (1 − c) hat die partikuläre Lösung A . Y (t) = 1−c Mit a = 12 und b = 34 ergibt sich als Lösung der homogenen Gleichung t t Y (t) = C · e−0.25 t · cos √ + D · e−0.25 t · sin √ , C,D ∈ R . 2 2 ■ Im Multiplikatormodell von Littler wird das Volkseinkommen Y durch die lineare Differenzialgleichung 2. Ordnung s b Y (t) + Y (t) = , t ≥ 0 d d beschrieben, die aus den folgenden Annahmen abgeleitet ist: Y (t) = C(t) + I(t) S(t) = I(t) + d C(0) − C (t) , d positive Konstante I (t) = b = const dS = s , marginale Sparquote s, 0 < s < 1 . dY Die allgemeine Lösung lautet s b Y (t) = C1 + C2 · exp − t + t , t ≥ 0 , c1 ,C2 ∈ R . d s Mit den Anfangsbedingungen Y0 = Y (0) und W0 = Y (0) ergibt sich s b d b d b Y (t) = Y0 − − W0 + − W0 · exp − t + t , t ≥ 0 . s s s s d s Für ökonomisch sinnvolle Konstanten d,s ≥ 0 gilt exp(− ds t) → 0, d. h. für genügend großes t verhält sich das Volkseinkommen wie d b b Y (t) = Y0 − − W0 + t , t ≥ 0 . s s s
25.8 Differenzialgleichungen n-ter Ordnung mit konstanten Koeffizienten
25.8
817
Differenzialgleichungen n-ter Ordnung mit konstanten Koeffizienten
y(n) (x) + an−1 y(n−1) (x) + · · · + a1 y (x) + a0 y(x) = G(x) , x ∈ S ⊆ R ● Die homogene lineare Differenzialgleichung n-ter Ordnung mit konstanten Koeffizienten kann in jedem Fall durch den Ansatz y(x) = eλ x gelöst werden, wobei λ eine Lösung der charakteristischen Gleichung ist: λ n + an−1 λ n−1 + · · · + a1 λ + a0 = 0 .
Ein Fundamentalsystem von Lösungen, für das die Wronski-Determinante für alle x von Null verschieden ist, lässt sich wie folgt ermitteln: • Man schreibe für jede reelle Wurzel λ der charakteristischen Gleichung, die noch nicht vorgekommen ist, die Lösung C · eλ x , welche die willkürliche reelle Konstante C enthält. • Wiederholt sich eine reelle Wurzel λ h-mal, h ∈ N,h ≤ n, so schreibe man die Lösung C1 + C2 x + · · · + Ch xh−1 eλ x , welche die h willkürlichen reellen Konstanten C1 ,C2 , . . . ,Ch enthält. • Für jedes Paar konjugiert komplexer Wurzeln λ 1,2 = a ± i b, die noch nicht vorgekommen sind, schreibe man die Lösung A ea x cos(b x + B) oder Aea x cos b x + Bea x sin b x , welche die beiden willkürlichen reellen Konstanten A und B enthält. • Wiederholt sich ein Paar konjugiert komplexer Wurzeln mit dem Realteil a und dem Imaginärteil ±b s-mal, s ∈ N,2s ≤ n, schreibe man die Lösung A1 + A2 x + · · · + As xs−1 eax cos bx + B1 + B2 x + · · · + Bs xs−1 eax sin bx welche die 2s willkürlichen reellen Konstanten A1 , . . . ,As ,B1 , . . . ,Bs enthält. ● Zur Bestimmung der Lösung der inhomogenen linearen Differenzialgleichung n-ter Ordnung mit konstanten Koeffizienten ist dann zusätzlich eine partikuläre Lösung zu suchen. Diese findet man am einfachsten über die Methode der unbestimmten Koeffizienten, die sich an den Störgliedern orientiert. Wenn dieses Verfahren nicht zum Erfolg führt, muss die kompliziertere Methode der Variation der Konstanten angewendet werden. y(4) (x) − y (x) + 2 y (x) + 2y(x) = 5e−x ■ Die charakteristische Gleichung λ 4 − λ 2 + 2λ + 2 = 0
hat die Nullstellen λ 1,2 = −1 und λ 3,4 = 1 ± i. Daraus folgt y(x) = (C1 + C2 x)e−x + A ex cos x + B ex sin x mit beliebigen reellen Konstanten C1 ,C2 ,A und B.
25.8.1
Stabilitätskriterien
Die allgemeine Lösung einer inhomogenen Differenzialgleichung strebt für x → +∞ gegen eine partikuläre Lösung, wenn alle reellen Nullstellen ihrer charakteristischen Gleichung negativ sind und alle komplexen Nullstellen negative Realteile haben.
818
25 Differenzialgleichungen
▲ Ohne Berechnung der Wurzeln lassen sich Aussagen über die Stabilität der Lösung auch direkt aus den Koeffizienten schließen. Determinantenkriterium von Routh-Hurwitz Aus den Koeffizienten ai der algebraischen Gleichung an xn + an−1 xn−1 + · · · + a1 x + a0 = 0 wird die n × n-Matrix a1 a0 0 0 a3 a2 a1 a0 Dn = a5 a4 a3 a2 .. .. .. .. . . . . 0 0 0 0
··· ··· ··· .. .
0 0 0 .. .
· · · an
gebildet, auf deren Hauptachsen die Koeffizienten a1 ,a2, . . . ,an stehen und in deren Zeilen die Koeffizientenindizes von rechts nach links aufsteigende Zahlen durchlaufen. Koeffizienten mit Indizes kleiner als Null und größer als n werden gleich Null gesetzt. Die obige Gleichung hat nun genau dann nur Wurzeln mit negativem Realteil, wenn alle Koeffizienten ai und zugleich sämtliche Hauptabschnittsdeterminanten
a1 a0 0
a a
1 0
= D1 = a1 , D2 = , D
a3 a2 a1 , . . . , Dn = an Dn−1
3
a3 a2
a5 a4 a3 positiv sind. ■ Y (x) + 4y (x) + 5y (x) + 2y(x) = 7 ist nach dem Determinantenkriterium von Routh und Hurwitz stabil, da alle Koeffizienten ai und alle Hauptabschnittsdeterminanten
5 2 0
5 2
D1 = 5 , D2 =
, D3 = 1 4 5 = 18
1 4
0 0 1 positiv sind. Stabilitätskriterium von Liénard und Chipart Die Gleichung an xn + an−1 xn−1 + · · · + a1 x + a0 = 0 ,
(an > 0)
hat genau dann nur Wurzeln mit negativem Realteil, wenn eine der vier folgenden alternativen Aussagen gilt: (a) (b) (c) (d)
wobei die Di die Hauptabschnittsdeterminanten der Matrix Dn sind.
25.9 Systeme von gekoppelten Differenzialgleichungen 1. Ordnung ■
819
2y (x) + 7y (x) + 10y (x) + 6 = 0 , x ∈ R ist nach dem Stabilitätskriterium von Liénard und Chipart stabil, da z. B.
10 6
a3 = 2 > 0 , a0 = 6 > 0 , a2 = 7 > 0 , D =
= 70 − 12 = 58 > 0 .
2 7
25.9
Systeme von gekoppelten Differenzialgleichungen 1. Ordnung
● Jede gewöhnliche Differenzialgleichung n-ter Ordnung kann in ein System von Differenzialgleichungen erster Ordnung übergeführt werden, Systeme von Differenzialgleichungen erster Ordnung stellen daher den allgemeinen Fall dar. ■ y + 5y 2 + 7y5 = 6x3 . Setze: z = y ⇒ y = z . Man erhält das gekoppelte System z + 5z2 + 7y5 = 6x3 y − z
=0
■ y(6) + 8x2 y(4) + ln y = 0. Setze: a(x) = y (x), b(x) = a (x) = y (x), c(x) = b (x) = y (x), d(x) = c (x) = y(4) (x), e(x) = d (x) = y(5) (x), f (x) = e (x) = y(6) (x). Es folgt: f (x) + 8x2 d(x) + ln y = 0 a(x) − y (x)
=0
b(x) − a (x)
=0 .. .
f (x) − e (x)
= 0.
▲ Für analytische Berechnungen ist meist die Umkehrung dieses Verfahrens sinnvoller, d. h. Umwandlung eines Systems gekoppelter Differenzialgleichungen in eine Differenzialgleichung höherer Ordnung, die dann mit den bekannten Verfahren gelöst wird. Dies ist aber meist nicht möglich.
25.10
Systeme von linearen homogenen Differenzialgleichungen mit konstanten Koeffizienten
Diese Systeme sind von der Gestalt: y1 = a11 y1 + a12 y2 + . . . + a1n yn .. . yn = an1 y1 + an2 y2 + . . . + ann yn .
820
25 Differenzialgleichungen
Ansatz: yk (x) = Ck · eλ x ⇒ yk (x) = λ Ck · eλ x , Einsetzen:
● Nichttriviale Lösungen gibt es nur, wenn det(A − λ E) = 0. Charakteristisches Polynom, das Polynom, das durch Ausmultiplizieren der Gleichung det(A − λ E) = 0 entsteht. ■ Das Differenzialgleichungssystem y1 = y1
+ y3
y2 =
y2 − y3
y3 = 5y1 + y2 + y3 hat das charakteristische Polynom P(λ ) = (1 − λ )(λ 2 − 2λ − 3) = −λ 3 + 3λ 2 + λ − 3. Dies gibt ein Polynom vom Grad n für λ , das n (im Allgemeinen komplexe) Nullstellen λ 1 , . . . ,λ n hat. Sind diese Nullstellen paarweise verschieden, so bilden die Vektoren
yi = Ci · eλi x , i = 1, . . . ,n eine Basis des Lösungsraumes. Die einzelnen Koeffizientenvektoren Ci bestimmen sich durch Einsetzen in die entsprechende Gleichung. (A − λ E) Ci = 0, d. h. (a11 − λ )Ci(1) + a12Ci(2) + . . . + a1nCi(n) = 0 a21Ci(1) + (a22 − λ )Ci(2) + . . . + a2nCi(n) = 0 .. . an1Ci(1) + an2Ci(2) + . . . + (ann − λ )Ci(n) = 0. Die allgemeine Lösung lautet damit: n
y(x) = ∑ Bi · Ci · eλi ·x , i=1
wobei die Bi aus den Anfangsbedingungen bestimmt werden müssen.
Die allgemeine Lösung lautet damit: y1 (x) = B1 ex + B2 e−x + B3 e3x y2 (x) = −5B1 ex − B2 e−x − B3 e3x y3 (x) =
−2B2 e−x + 2B3 e3x .
Sind die Werte der drei Funktionen bei x = 0 gegeben, z. B. y1 (0) = 1, y2 (0) = 2, y3 (0) = 3, so folgt die spezielle Lösung aus 1 1 1 B1 1 −5 −1 −1 · B2 = 2 , 0 −2 2 B3 3 3 1 13 somit: B1 = − , B2 = , B3 = , also 4 8 8 3 1 13 y1 (x) = − ex + e−x + e3x 4 8 8 15 1 13 y2 (x) = ex − e−x − e3x 4 8 8 1 13 y3 (x) = − e−x + e3x . 4 4
822
25 Differenzialgleichungen
25.10.1
Stabilitätskriterien
Weisen alle Eigenwerte der Koeffizientenmatrix A nur negative Realteile auf, so konvergiert für x → +∞ der Lösungsanteil des homogenen Systems gegen den Nullvektor und die Lösung des inhomogenen Systems verhält sich wie die partikuläre Lösung. Stabilitätsaussage 1 Eine notwendige (aber nicht hinreichende) Bedingung dafür, dass alle Eigenwerte einer Matrix A = (ai j ) nur negative Realteile besitzen, ist n
∑ aii < 0 . i=1
Stabilitätsaussage 2 Eine quadratische Matrix A besitzt genau dann nur Eigenwerte mit negativem Realteil, wenn A negativ definit ist. ▲ Dabei ist eine quadratische Matrix A genau dann negativ definit, wenn die symmetrische Matrix B = 1 (A + A ) negativ definit ist. 2 ▲ Eine symmetrische Matrix A ist genau dann negativ definit, wenn alle Hauptminoren im Vorzeichen alternieren, wobei das Vorzeichen einer Hauptabschnittsdeterminanten h-ter Ordnung gleich (−1)h ist. Dynamisches Input-Output-Modell von Leontief: xi j (t)=ai j x j (t) mt
ci (t)=ci (0)e
Input des Sektors i in den Sektor j Endnachfrage
Ki j (t)=bi j x j (t) Kapitalbestand in Form des Gutes i im Sektor j dKi j Ii j (t)= (t) = bi j x j (t) Investition im Sektor j in Form des Gutes i dt Mit den Matrizen A = (ai j ), B = (bi j ) und den Vektoren x(t) = (xi (t)), x (t) = (xi (t)), c(0) = (ci (0)) ergibt sich daraus das System von Differenzialgleichungen 1. Ordnung B · x (t) = (E − A)x(t) − c(0) emt , t ≥ 0 Mit dem Ansatz x(t) = D · emt erhält man die partikuläre Lösung x¯ (t) = emt ((E − A) − m B)−1 c(0) . ■ Für ein Zwei-Sektorenmodell mit 0,3 0,4 1 2 100 A= , B= , c(0) = , m = 0,1 0,5 0,1 3 0 150 erhält man die Eigenwerte λ 1 = −0,625 und λ 2 = 0,119 und die Eigenvektoren b1 = (1, − 1,56) · c1 und b1 = (1,0,91) · c2 , c1 ,c2 ∈ R. Die allgemeine Lösung ist dann 1 1 3000 e−0,625 t + c2 e0,119 t + e0,1 t x(t) = c1 −1,56 0,91 2833
25.11 Numerische Integration von Differenzialgleichungen
25.11
Numerische Integration von Differenzialgleichungen
25.11.1
Euler-Verfahren
Annäherung der Ableitung durch den Differenzenquotienten für explizite Differenzialgleichungen erster Ordnung.
y
Geometrische Interpretation, der neue Funktionswert wird durch die Tangente im alten Funktionswert angenähert. y = f (x,y)
→ →
823
y(xi + h) − y(xi ) ≈ f (xi ,y(xi )) + O (h) h y(xi + h) ≈ y(xi ) + f (xi ,y(xi )) · h
m
y i+ 1 =y i +mh x i+1
xi
x
h
Euler-Verfahren, Fehler der Näherung, O (), eine infinitesimale Größe der Ordh: Schrittweite, m: Steigung nung h, d. h. proportional zur Schrittweite h. Beginne mit der Anfangsbedingung (x0 ,y(x0 )) und berechne die nachfolgenden Funktionswerte y(xi ) = y(x0 + ih) gemäß obiger Gleichung. Schrittweite h, kann fortwährend halbiert werden, bis
y(xi + h/2) − y(xi + h)
< 10−n (n Anzahl der signifikanten Stellen).
y(xi + h/2) Vorteil, das Verfahren ist schnell und einfach zu programmieren. Nachteil, das Verfahren ist nicht sehr zuverlässig. ▲ Eulers Verfahren kann leicht gegen ein falsches Ergebnis laufen! ▲ Programmsequenz für das Euler-Verfahren. BEGIN Euler INPUT x0, y0, xf, h x:= x0 y:= y0 WHILE (x < xf ) DO y:= y + h*f(x,y) x:= x + h OUTPUT x, y ENDDO END Euler
25.11.2
Verfahren von Heun
Prädiktor-Korrektor-Verfahren, mit dem Euler’schen Verfahren wird ein geschätzter Wert ermittelt (Prädiktorschritt). Im Korrekturschritt mittelt man die Steigungswerte des alten Ortes und die des Prädiktorschrittes. Geometrische Interpretation, der neue Funktionswert wird durch den Mittelwert der Tangenten im alten und (vorläufigen) neuen Funktionswert angenähert. y0i+1 = yi + f (xi ,yi )h h Korrektor: yi+1 = yi + f (xi ,yi ) + f (xi+1 ,y0i+1 2 Prädiktor:
824
25 Differenzialgleichungen m i+1
y
y
mi
m= ( m i +m i+1 ) / 2
m
m i =f ( x i ,y i ) 0
m i+ 1 =f ( x i+ 1 ,y i+ 1 ) xi
x i+1
x
xi
x i+1 x
Verfahren von Heun, m,mi ,mi+1 : Steigung Iteration, im Korrektorschritt steht auf beiden Seiten der Gleichung yi+1 . Man kann nun iterativ den neuen Wert von yi+1 für den alten Wert y0i+1 auf der rechten Seite einsetzen, bis das Verfahren konvergiert, d. h.
y j − y j−1
i+1 i+1
< j
yi+1 oder bis zu einer gewünschten Iterationsanzahl j. ▲ Nicht immer führt diese zusätzliche Iteration zu besseren Resultaten, insbesondere bei großen Schrittweiten h. ▲ Programmsequenz für das Verfahren von Heun. BEGIN Heun INPUT x0, y0, h, eps, imax, xf x:= x0 y:= y0 WHILE ( x < xf ) DO s:= y + h*f(x,y) (Prädiktor) x1:= x + h y1:= y + s*h i:= 0 del:= 2*eps WHILE ( del > eps AND i < imax ) DO (Korrektor) i:= i + 1 s1:= f(x1,y1) yneu:= y + h*(s + s1)/2 del:= abs((yneu - y1/yneu)*100 y1:= yneu ENDDO IF ( del > eps ) THEN OUTPUT „Keine Konvergenz“ ENDIF x:= x1 y:= yneu OUTPUT x, y ENDDO END Heun
25.11.3
Modifiziertes Euler-Verfahren
Geometrische Interpretation, verwende anstelle der Steigung im Punkt xi zur Berechnung des nächsten Funktionswertes die Steigung im Zwischenpunkt xi+1/2 .
25.11 Numerische Integration von Differenzialgleichungen
825
y
y
m
m m=f ( x i+ 1/2 , yi+ 1/2 )
x i x i+1/2
x
xi
x i+1 x
Modifiziertes Euler-Verfahren, m: Steigung yi+1/2 = yi + h · f (xi ,yi ) yi+1/2 = f (xi+1/2 ,yi+1/2 )
yi+1 = yi + h · f (xi+1/2 ,yi+1/2 ). ● Dieses Verfahren ist genauer als das klassische Euler-Verfahren, da es die Ableitung in der Mitte des Intervalls verwendet, die oft eine bessere Näherung für den Mittelwert der Ableitungen im Intervall darstellt. ▲ Da nun nicht mehr auf beiden Seiten yi+1 steht, ist eine Iteration nicht mehr möglich. ▲ Programmsequenz für das modifizierte Euler-Verfahren. BEGIN Euler (mod.) INPUT x0, y0, xf, h x:= x0 y:= y0 WHILE (x < xf ) DO x1:= x + h/2 y1:= y + f(x,y)*h/2 y:= y + h*f(x1,y1) x:= x + h OUTPUT x, y ENDDO END Euler (mod.)
25.11.4
Runge-Kutta-Verfahren
Bester Kompromiss zwischen Programmieraufwand, Rechenzeit und numerischer Genauigkeit, Verfahren von Runge-Kutta in 4. Ordnung. Prinzip, Berechnung einer „repräsentativen Steigung“ der Funktion im Intervall (Mittelung der Steigungen an verschiedenen extrapolierten Punkten), s(xi ) = a1 · k1 + a2 · k2 + . . . + an · kn mit den Funktionswerten k1 = f (xi ,yi ) k2 = f (xi + hξ 1 ,yi + hψ 1,1 k1 ) k3 = f (xi + hξ 2 ,yi + hψ 2,1 k1 + hψ 2,2 k2 ) .. . kn = f (xi + hξ n ,yi + hψ n−1,1 k1 + . . . + hψ n−1,n−1 kn ).
826
25 Differenzialgleichungen
Neuer y-Wert: yi+1 = hs(xi ). Die Konstanten ai ,ξ i ,ψ i, j werden dabei durch die Taylor-Entwicklung von f bestimmt. ▲ Die Wahl der ai ,ξ i ,ψ i, j ist nicht eindeutig! ● Für n = 1 erhält man das Verfahren von Euler, für n = 2,a1 = a2 = 1/2,ξ 1 = ψ 1,1 = 1 erhält man das Verfahren von Heun mit einem einzigen Korrekturschritt. ▲ Programmsequenz für das Runge-Kutta-Verfahren 2. Ordnung nach Ralston. BEGIN Ralston INPUT x0, y0, xf, h x:= x0 y:= y0 WHILE (x < xf ) DO k1:= f(x,y) x1:= x + h*3/4 y1:= y + k1*h*3/4 k2:= f(x1,y1) y:= y + k1/3 + 2*k2/3 x:= x + h OUTPUT x, y ENDDO END Ralston Klassisches Runge-Kutta-Verfahren 4. Ordnung, der nächste Wert errechnet sich gemäß h (k1 + 2k2 + 2k3 + k4 ) + O (h4 ) 6 = f (xi ,yi ) 1 1 = f xi + h,yi + hk1 2 2 1 1 = f xi + h,yi + hk2 2 2
yi+1 = yi + k1 k2 k3
k4 = f (xi + h,yi + hk3 ) . yi+1 = yi + hs(xi ) Schrittweitenanpassung, die Schrittweite h kann man fortwährend halbieren, bis wiederum
y(xi + h/2) − y(xi + h)
< 10−n (n Anzahl der signifikanten Stellen)
y(xi + h/2) oder man wählt einen festen Wert vor. ▲ Programmsequenz für das klassische Runge-Kutta-Verfahren 4. Ordnung. BEGIN Runge-Kutta INPUT x0, y0, xf, h x:= x0 y:= y0 WHILE (x < xf ) DO k1:= f(x,y) x1:= x + h/2
25.11 Numerische Integration von Differenzialgleichungen
827
y1:= y + k1*h/2 k2:= f(x1,y1) x2:= x1 y2:= y + k2*h/2 k3:= f(x2,y2) x3:= x + h y3:= y + k3*h k4:= f(x3,y3) y:= y + (1/6)*(k1 + 2*k2 + 2*k3 + k4)*h x:= x + h OUTPUT x, y ENDDO END Runge-Kutta Schrittweitenanpassung für das Runge-Kutta-Verfahren 4. Ordnung. Im Falle des klassischen RungeKutta-Verfahrens 4. Ordnung kann man eine Regel zur Bestimmung der optimalen Schrittweite angeben. Man muss dazu den folgenden Q-Faktor berechnen:
k3 − k2
. Q =
k2 − k1 Ist die Schrittweite zu groß, so liegt die gewählte Näherung zu weit von der „wahren“ Lösung entfernt, und man entfernt sich mit zunehmender Rechnung immer weiter davon. Daher sollte Q <0,1 sein. Andererseits darf die Schrittweite nicht zu klein sein, da sich sonst die Rundungsfehler zu stark aufsummieren, d. h. es sollte Q >0,025 sein. Algorithmus zur Bestimmung der optimalen Schrittweite: 1. 2. 3. 4. 5.
Beginne den ersten Rechenschritt mit der vorgewählten Schrittweite h. Berechne den Faktor Q. Falls Q >0,1 ist, setze h ← h/2 und wiederhole den letzten Schritt. Falls Q <0,025 ist, akzeptiere die berechnete Näherung, aber setze im nächsten Schritt h ← h · 2. Falls 0,025≤ Q ≤0,1 ist, fahre mit derselben Schrittweite fort.
▲ Programmsequenz für das klassische Runge-Kutta-Verfahren 4. Ordnung mit angepasster Schrittweite. BEGIN Runge-Kutta mit Schrittweitenanpassung INPUT x0, y0, xf, h x:= x0 y:= y0 WHILE (x < xf ) DO k1:= f(x,y) x1:= x + h/2 y1:= y + k1*h/2 k2:= f(x1,y1) x2:= x1 y2:= y + k2*h/2 k3:= f(x2,y2) q:= ABS((k3-k2)/(k2-k1)) IF ( q < 0.1 ) THEN x3:= x + h y3:= y + k3*h k4:= f(x3,y3) y:= y + (1/6)*(k1 + 2*k2 + 2*k3 + k4)*h x:= x + h
828
25 Differenzialgleichungen
OUTPUT x, y IF ( q < 0.025 ) THEN h:= h*2 ENDIF ELSE h:= h/2 ENDIF ENDDO END Runge-Kutta mit Schrittweitenanpassung ▲ Eine häufig verwendete Methode zur numerischen Integration gewöhnlicher Differenzialgleichungen ist das Stoer-Bulirsch-Gragg-Verfahren. Bei nicht zu hohen Genauigkeitsforderungen kann auch das Dormand-Prince-Verfahren eingesetzt werden. ▲ Programmsequenz für das Verfahren von Dormand-Prince 5. Ordnung mit Schrittweitensteuerung; lässt sich auf Systeme von Differenzialgleichungen übertragen. Für Fehlertoleranzen zwischen 10−4 und 10−7 das beste derzeit bekannte Verfahren dieses Typs. BEGIN DORMAND-PRINCE INPUT x0,y0,x,f,h INPUT eps {Fehlertoleranz für lokalen Abschneidefehler 10−7 ≤ eps ≤ 10−4 } {Maschinengenauigkeit feststellen } uround:=1.0E-6; WHILE((1+uround)>1) DO uround:=uround*0.1; {Initialisierung der Variablen} c[1]:=0; 1 c[2]:= ; 5 3 c[3]:= ; 10 4 c[4]:= ; 5 8 c[5]:= ; 9 c[6]:=1;
25.11 Numerische Integration von Differenzialgleichungen
829
{eingebettetes Runge-Kutta-Verfahren nach Dormand-Prince}
dy:=0; FOR j:=1 TO 7 DO dy:=0; FOR i:=1 TO j-1 DO dy0:=dy0+a[j,i]*k[i] ENDDO k[j]:=f(x+c[j]*h,y0+h*dy0); dy:=dy+b[j]*k[j]; ENDDO y1:=y0+h*dy0; {lokalen Fehler schätzen; neue Schrittweite festlegen}
nenner:=max(1.0E-5,abs(y1),abs(y0),2*uround/eps); fehler:=ABS(h*dy/nenner); fehler ) faktor:=max(0.1,min(5,1.1 5 eps hneu:=h/faktor; IF(fehler<eps) THEN y0:=y1; x:=x+h; OUTPUT x,y0; IF (NOT akzeptiert) THEN hneu:=min(h,hneu) ENDIF akzeptiert:=TRUE; maxit:=0 ELSE akzeptiert:=FALSE; maxit:=maxit+1; FAIL:=(maxit=20) or (x+0.1*h=x); ENDIF; h:=hneu; UNTIL(x>xf) OR FAIL; END DORMAND-PRINCE 5(4) Als Probe können die Gleichungen j−1
c[ j] =
∑ a[ j,i],
7
j = 1, . . . ,7 und
i=1
∑ b[ j] = 0 i=1
genommen werden. Allgemeines Verfahren, Programmablauf: 1. 2. 3. 4. 5.
Definiere die rechte Seite der Differenzialgleichung f (x,y) in einer Funktionsunterroutine für beliebige (x,y)-Werte. Lies die Anfangsbedingung (x0 ,y0 ) und die Schrittweite h ein. Berechne in einer Schleife über i die nächsten Werte yi+1 aus den obigen Formeln. Gib das Ergebnis grafisch oder in einer Tabelle aus. Man teste das Programm an einer analytisch lösbaren Differenzialgleichung. Gegebenenfalls halbiere man die Schrittweite h.
bestes bekanntes explizites RungeKutta-Verfahren bei nicht zu hohen Genauigkeitsforderungen
1
iterativ Fehler
nein
5
O(h )
Bemerkungen für schnelle Abschätzung
Runge-Kutta-Verfahren für Systeme von Differenzialgleichungen
Gegeben ist folgendes System aus Differenzialgleichungen 1. Ordnung: d d x = f (x,y,t) y = g(x,y,t) x(t0 ) = x0 , y(t0 ) = y0 . dt dt Für beide Differenzialgleichungen wendet man das Verfahren von Runge-Kutta vierter Ordnung an: 1 (k1 + 2k2 + 2k3 + k4 ) 6 = h f (xi ,yi ,ti) k1 l1 h = h f xi + ,yi + ,ti + 2 2 2 k2 l2 h = h f xi + ,yi + ,ti + 2 2 2
xi+1 ≈ xi + k1 k2 k3
k4 = h f (xi + k3 ,yi + l3 ,ti + h) 1 yi+1 ≈ yi + (l1 + 2l2 + 2l3 + l4 ) 6 l1 = hg(xi ,yi ,ti ) k1 l1 h l2 = hg xi + ,yi + ,ti + 2 2 2 k2 l2 h l3 = hg xi + ,yi + ,ti + 2 2 2 l4
= hg (xi + k3 ,yi + l3 ,ti + h) .
Dieses Verfahren kann auch für Differenzialgleichungen 2. Ordnung angewandt werden, da diese in Systeme von Differenzialgleichungen erster Ordnung umgewandelt werden können: y + f (x,y)y + g(x,y)y = h(x,y) →
y = u, u = − f (x,y)u − g(x,y)y + h(x,y).
26
Differenzengleichungen
26.1
Differenzenoperator und höhere Differenzen
Als erste Differenz einer Funktion y = y(x) bezeichnet man die Funktion ∆ h y(x) = y(x + h) − y(x) ∆ heißt Differenzenoperator und h wird Differenzenintervall genannt. ■ Für die Funktion y(x) = x4 und h > 0 gilt: ∆ h y(x) = (x + h)4 − x4 = 4x3 h + 6x3 h + 6x2 h2 + 4xh3 + h4 . Eigenschaften des Differenzenoperators: ∆ h (y1 (x) + y2 (x)) = ∆ h y1 (x) + ∆ h y2 (x) Distributives Gesetz = c · ∆ h y(x) Kommutatives Gesetz in Bezug auf eine Konstante ∆ h c · y(x) ∆h
n
n
∑ c j · y j (x) j=1
=
∑ c j · ∆ h y j (x) j=1
▲ Da es stets möglich ist, die Variable x durch die Variable t = hx zu ersetzen, wird in der Anwendung zumeist das Differenzenintervall h = 1 gesetzt. Bei der Darstellung der Differenz verzichtet man dann auf die Angabe h: ∆y(t) = ∆ 1 y(t) = y(t + 1) − y(t) ■ Für die Funktion y(t) = 3t 2 − 5t + 9 ist ∆y(t) = 3(t + 1)2 − 5(t + 1) + 9 − (3t 2 − 5t + 9) = 6t − 2 ∆y(1) = 4, ∆y(2) = 10, ∆y(3) = 16 . Als zweite Differenz einer Funktion y = y(x) bezeichnet man die Funktion ∆ h 2 = ∆ h (∆ h y) = ∆ h y(x + h) − ∆ h y(x) = y(x + 2h) − 2y(x + h) + y(x) . Als n-te Differenz einer Funktion y = y(x) bezeichnet man die Funktion ∆ h ny
= ∆ h (∆ h n−1 y) für n ∈ N, wobei gilt ∆ h 0 y = y, ∆ h 1 y = ∆ h y m m m ∆ h y(x) = ∑ · (−1)k · y(x + (m − k)h) k k=0 ■ Für die Funktion y(x) = x4 und h > 0 gilt: ∆ h y(x) = (x + h)3 − x3 = 3x2 h + 3xh2 + h3 . ∆ h 2 y(x) = ∆ h y(x + h) − ∆ h y(x) = (3(x + h)2 h + 3(x + h)h2 + h3 ) − (3x2 h + 3xh2 + h3 ) = 6xh2 + 3h3 + 3h3 = 6xh2 + 6h3 . ∆ h 3 y(x) = ∆ h 2 y(x + h) − ∆ h 2 y(x) = (6(x + h)h2 + 6h3 ) − (6xh2 + 6h3 ) = 6h3 . ∆ h 4 y(x) = ∆ h 3 y(x + h) − ∆ h 3 y(x) = 6h3 − 6h3 = 0 .
832
26 Differenzengleichungen
■ Für ein Polynom n-ten Grades y(x) = an xn +an−1 xn−1 +· · ·+a1 x1 +ao ist die n-te Differenz die Konstante an · n! · hn und alle höheren Differenzen sind gleich Null.
26.2
Klassifikation von Differenzengleichungen und Lösungsbegriff
Eine gewöhnliche Differenzengleichung ist eine Beziehung zwischen einer unabhängigen Variablen x, einer Funktion y(x) und einer oder mehrere Differenzen ∆ h y(x), ∆ h 2 y(x), . . ., wobei h eine reelle Konstante ist. Sie lässt sich in implizierter Form schreiben als: F(x,y(x),∆ h y(x),∆ h 2 y(x), . . . ,∆ h n y(x)) = 0 ■ ∆y(x) + 2y(x) =0 2 x =0 ∆ y(x) − 3∆y(x) − 5 − 2 2 ∆ h y(x) − 2∆ h + y(x) = 0 , h ∈ R0 2 4 (∆ h y(x)) + ∆y(x) + (y(x)) − 2 =0 2 3 ∆ h y(x) + y(x) · ∆ y(x) + ∆y(x) − 1 = 0 Eine partielle Differenzengleichung ist eine Beziehung, in der Differenzen einer Funktion y(x1 , . . . ,xn ) bzgl. mehrerer der unabhängigen Variablen x1 . . . xn vorkommen. ∆ k (∆ h y(x,z)) + 3∆ k y(x,z) − 5y(x,z) − 3x + 7x2 z − 10 = 0 ■ mit ∆ h y(x,z) = y(x + h,z) − y(x,z) und ∆ k y(x,z) = y(x,z + k) − y(x,z). ▲ Partielle Differenzengleichungen treten in der Literatur nur selten auf und werden daher hier nicht weiter behandelt. Als Grad einer Differenzengleichung bezeichnet man den Exponenten der Potenz, in welche die höchste Differenz erhoben ist. ● Da sich die n-te Differenz einer Funktion y(x) schreiben lässt als eine Summe aus Funktionswerten der Funktion y an mehreren Argumenten, kann auch jede Differenzengleichung dargestellt werden als eine Beziehung zwischen einer unabhängigen Variablen x und Werten der Funktion y(x) zu mehrerer Argumenten x,x + h,x + 2h, . . . ,x + nh . F(x,y(x),y(x + h), . . . ,y(x + nh)) = 0 . ■ Die vorstehenden Differenzengleichungen lassen sich auch schreiben als: y(x + 1) + y(x) = 0 y(x + 2) − 5y(x + 1) + 4y(x) − 5s − 2 = 0 y(x + 2h) − 4y(x + h) + 4y(x) = 0 , h ∈ R0 [y(x + 2) − 2y(x + 1) + 4(x)]2 + [y(x + 1) − y(x)] + [y(x)]4 − 2 = 0 y(x + 3) + y(x + 2)[y(x) − 3] + y(x + 1)[4 − 2y(x)] + y(x)[y(x) − 2] − 1 = 0 . Eine Differenzengleichung hat die Ordnung n, wenn die Differenzen zwischen dem größten und dem kleinsten wirklich vorkommenden Argumenten gleich n · h ist. ■ y(x + 3) + 4y(x + 2) − 7y(x + 1) − 2y(x) = 3x + 6 hat die Ordnung 3. ▲ Durch Einführung einer neuen unabhängigen Variablen lässt sich nicht nur das Differenzenintervall auf h = 1 normieren, es lässt sich durch Verschiebung auf der reellen Zahlenachse auch erreichen, dass nur nichtnegative ganze Zahlen als Argument der Funktion auftreten. Eine geeignete Substitution ist k = hx + (b − xh0 ), wobei x0 der Anfangswert und b eine passende nicht negative ganze Zahl ist.
26.2 Klassifikation von Differenzengleichungen und Lösungsbegriff
833
Mit der Kurzschreibweise yk = y(k), k ∈ N ∪ 0 lässt sich dann jede gewöhnliche Differenzengleichung auch schreiben als: Implizite Form F(k,yk ,yk+1 , . . . ,yk+n ) = 0 , k ∈ N ∪ 0 ˆ yk+n = F(k,y k ,yk+1 , . . . ,yk+n−1 ) , k ∈ N ∪ 0 Explizite Form ■ yk+4 + 5(k + 3) · yk+3 − 2yk+2 + k2 · yk+1 + 3(k3 + 3)yk = 7k3 + 3k + 35 , k = 1,2,3 . . . Eine Lösung der Differenzengleichung ist jede Funktion y = qk , welche die Differenzengleichung erfüllt, d. h. F(k,qk ,qk+1 , . . . ,qk+n ) = 0
für alle k ∈ N ∪ 0
Allgemeine Lösung ist die Gesamtheit aller Lösungen, sie enthält n freie Parameter. Partikuläre Lösung oder spezielle Lösung, eine Lösung der Differenzengleichung, die n vorgegebene Bedingungen erfüllt. Anfangswertproblem, gesucht ist die Lösung der Differenzengleichung, deren freie Parameter durch die Vorgabe der Funktionswerte an n aufeinander folgenden Argumenten festgelegt werden: yk = (y) ¯ k ,yk+1 = y¯k+1 , . . . ,yk+n = y¯k+n
Anfangsbedingungen
Eine lineare Differenzengleichung kann geschrieben werden in der Form fn (k)yk+n + fn−1 (k)yk+n−1 + . . . + f1 (k)yk+1 + f0 (k)yk − g(k) = 0 ■ 4k · yk+3 + 5 · yk+2 − (k3 − 4) · yk = k2 − 5k + 11 , k = 0,1,2,3 . . . Inhomogenität oder Störglied einer Differenzengleichung sind alle Summanden, in denen kein Funktionswert von yk vorkommt. Inhomogene lineare Differenzengleichung, das Störglied ist ungleich Null. Homogene lineare Differenzengleichungen, das Störglied ist gleich Null. ■ 4k · yk+3 + 5 · yk+2 − (k3 − 4) · yk = 0 ,
k = 0,1,2,3 . . .
Existenz- und Eindeutigkeitssatz für lineare Differenzengleichungen: Die lineare Differenzengleichung n-ter Ordnung fn (k)yk+n + fn−1 (k)yk+n−1 + · · · + f1 (k)yk+1 + f0 (k)yk = g(k) über einer Menge aufeinander folgender ganzzahliger Werte k hat eine und nur eine Lösung yk , deren Funktionswerte für n aufeinander folgende k-Werte beliebig vorgegeben sind. ● Mit y1k und y2k ist auch y1k + y2k eine Lösung der homogenen Differenzengleichung fn (k) · yk+n + fn−1 (k) · yk+n−1 + · · · + f0 (k) · yk = 0 . ● Ist y1k eine Lösung der homogenen Differenzengleichung fn (k) · yk+n + fn−1 (k) · yk+n−1 + · · · + f0 (k) · yk = 0 so ist auch jede Funktion yk = c · y1k eine Lösung dieser Differenzengleichung für jede beliebige reelle Konstante c. ● Ist yPk eine partikuläre Lösung der inhomogenen linearen Differenzengleichung fn (k) · yk+n + fn−1 (k) · yk+n−1 + · · · + f0 (k) · yk = g(k) und yHk die allgemeine Lösung der zugehörigen homogenen Differenzengleichung so ist y1k = yPk + yHk die allgemeine Lösung der inhomogenen Differenzengleichung.
834
26 Differenzengleichungen
26.3
Lineare Differenzengleichungen 1. Ordnung
yk+1 = Ak · yk + Bk , k = 0,1,2, . . . Allgemeine Lösung der homogenen Differenzengleichung k−1
yHk = C · ∏ Ai , k = 0,1,2, . . . , C ∈ R i=0
Allgemeine Lösung der inhomogenen Differenzengleichung yIk = (C +
k−1
Bm
m=0
∏ Aj
∑
M
k−1
) · ∏ Ai , k = 0,1,2, . . . , C ∈ R i=0
j=0
■ yk+1 − (k + 1)yk = (k + 1)!, k = 0,1, . . . Hier ist k
∏ A j = (k + 1)!
Ak = k + 1 ,, Bk = (k + 1)! ,
j=0
Bm m
=
∏ Aj
(m + 1)! =1, (m + 1)!
j=0
k−1
∑
m=0
Bm m
∏ Aj
k−1
=
∑ 1 = k,
m=0
j=0
Allgemeine Lösung: yk = (C + k) · k! , k = 0,1,2 . . . . Soll zusätzlich die Lösungsfunktion yk in k = 3 den Wert y3 = 30 annehmen, so bestimmt sich die Konstante C aus y3 = 30 = (C + 3) · 3! zu C = 2 und die spezielle Lösung ist y∗k = (2 + k) · k! Lineare Differenzengleichungen 1. Ordnung mit konstanten Koeffizienten yk+1 = a · yk + Bk , k = 0,1,2 . . . Allgemeine Lösung der homogenen Differenzengleichung yHk = C · ak ,
k = 0,1,2, . . . , C ∈ R
Änderung der Lösung yk = C ak , C > 0 in Abhängigkeit von a:
a. Stationärer Verlauf von ak , konstant
b. Monotones Ansteigen von ak , monoton und divergent
26.3 Lineare Differenzengleichungen 1. Ordnung
c. Monotones sinken von ak , monoton und konvergent
d. Gedämpfte Schwingungen von ak , oszillierend und konvergent
e. Gleichförmige Schwingungen von ak , oszillierend mit konstanter Amplitude
f. Zunehmende Schwingungen von ak , oszillierend und divergent
835
Allgemeine Lösung der inhomogenen Differenzengleichung yIk
=C·a + k
k−1
∑ Bmak−m−1 ,
C∈R
m=0
Die allgemeine Lösung der linearen Differenzengleichung 1. Ordnung mit konstanten Koeffizienten und konstanter Inhomogenität yk+1 = a · yk + b,k = 0,1,2 . . . ist gleich 1 − ak k C·a +b für a = 1 , k = 0,1,2 . . . , C ∈ R yk = 1−a C + bk für a = 1 ■ ∆yk + 2yk + k + 1 = 0, k = 1,2,3, . . . Normalform yk+1 = −yk − k − 1,
k für k = 2,4,6, . . . 2 I k k−m−1 yk = C(−1) + ∑ (−(m + 1)(−1) )= k+1 m=0 −C − für k = 1,3,5 . . . 2 k−1
C−
836
26 Differenzengleichungen
■ Wachstumsmodell von Harrod. Harrod unterstellt, dass sowohl die (Netto-)-Sparsumme St als auch die gewünschte Nettoinvestition It vom Volkseinkommen Yt abhängen: St = s · Yt mit der Sparrate s > 0 It = g · (Yt − Yt−1 ) mit dem Akzelerator g > 0. Im Gleichgewicht muss dann gelten Yt =
−g · Yt−1 . s−g
Die allgemeine Lösung ist Yt = C(
−g t s t ) = C(1 + ) . s−g g−s
s und, da für t = 0 folgt C = Y0 , kann die Das Volkseinkommen wächst also mit der konstanten Rate g−s Konstante C als das Volkseinkommen in der Periode 0 interpretiert werden.
Die Entwicklung des Einkommens hängt bei positivem Anfangszustand Y0 > 0 vom Verhältnis zwischen s und g ab: s s a) Ist g > s, dann ist die Wachstumsrate g−s positiv, somit 1 + g−s > 1 und das Volkseinkommen ist stets positiv und nimmt monoton zu. s < 0 und der Verlauf des Volkseinkommens ist oszillierend mit b) Ist g < s, dann ist stets 1 + g−s stetigem Wechsel zwischen positiven und negativen Werten und zwar: g <0 für s > 2g mit gedämpften Schwingungen −1 < g−s g für s = 2g mit gleich bleibenden Schwingungen = −1 g−s g < −1 für s < 2g mit zunehmenden Schwingungen g−s ■ Das Spinnweb-Modell (Cobweb-Modell). Es wird angenommen, dass die Nachfrage Dt vom Marktpreis Pt abhängt und das das Angebot St mit einer Verzögerung von einer Periode auf den Marktpreis reagiert. Der Preis werde vom Markt nun so bestimmt, dass sich Angebot und Nachfrage ausgleichen. Unterstellt man lineare Nachfrage- und Angebotsfunktion, d. h. Dt = α + a · Pt
und
St = β + b · Pt−1 ,
so muss der Preis der Differenzengleichung b β −α Pt = Pt−1 + , t = 1,2 . . . a a genügen. Deren allgemeine Lösung ist gleich t b t 1− b β −α a Pt = C + · . b a a 1− a Ist der Anfangspreis P0 bekannt, so lautet die partikuläre Lösung t β −α b β −α Pt = P0 − · + , t = 0,1,2 . . . . a−b a a−b i) Ist b < (−a), d. h. hat die Nachfragefunktion eine „größere“ Steigung als die Angebotsfunktion, dann strebt der Preis wegen −1 < ba < 0 in der Form einer gedämpften Schwingung gegen den Gleichge−α wichtspreis P¯ = βa−b
26.4 Lineare Differenzengleichungen 2. Ordnung mit konstanten Koeffizienten
b ii) Ist b = (−a), d. h. −a = −1, so vereinfacht sich die Lösung zu: für t = 0,2,4, . . . P0 Pt = β −α 2 · − P0 für t = 1,3,5, . . . a−b
β −α ) Der Preis alterniert also stets zwischen P0 und 2·(a−b −P0 und liegt stets um den festen Betrag Po − −α entfernt (linke Abbildung). vom Gleichgewichtswert P¯ = βa−b
837
β −α
a−b
iii) Ist b > (−a), d. h. ist die Angebotsfunktion steiler als die Nachfragefunktion (bezogen auf die P-Achse), dann divergiert der Marktpreis mit zunehmenden Schwingungen, da (vgl. rechte Abbildung) t b t→+∞ −→ ±∞ a
26.4
Lineare Differenzengleichungen 2. Ordnung mit konstanten Koeffizienten
yk+2 + a1 · yk+1 + a0 · yk = Bk , k = 0,1,2, . . . Nach dem Existenz- und Eindeutigkeitssatz für lineare Differenzengleichungen ist yHk = C1 · y1 (k) + C2 · y2 (k), k = 0,1,2 . . .
838
26 Differenzengleichungen
nur dann die allgemeine Lösung der homogenen Differenzengleichung zweiter Ordnung, yk+2 + a1 · yk+1 + a0 · yk = 0, k = 0,1,2 . . . wenn die Wronski-Determinante
y (0) y (0)
1
2
y1 (1) y2 (1) ungleich Null ist. Ein solches Fundamentalsystem erhält man durch den Lösungsansatz yk = qk , k = 0,1,2 . . . . Die sich ergebende charakteristische Gleichung, q2 + a1 · q + a0 hat die Lösungen $ a1 1 q = − ± · a21 − 4a0 . 2 2 Hierbei sind drei Fälle zu unterscheiden: 1. Ist a21 − 4a0 > 0, so gibt es zwei reelle voneinander verschiedene Wurzeln und die allgemeine Lösung der inhomogenen Differenzengleichung zweiter Ordnung ist yHk = C1 · qk1 + C2 · qk2 , C1 ,C2 ∈ R , k = 0,1,2, . . . . 2. Ist a21 − 4a0 = 0, so gibt es zwei reelle gleiche Wurzeln und die allgemeine Lösung der inhomogenen Differenzengleichung zweiter Ordnung ist yHk = (C1 + C2 · k) · qk1 , C1 ,C2 ∈ R , k = 0,1,2, . . . . 3. Ist a21 − 4a0 < 0, so gibt es zwei konjungierte komplexe Wurzeln q1 = r(cos ϕ + i · sin ϕ ) und q2 = r(cos ϕ − i · sin ϕ ) und die allgemeine Lösung der inhomogenen Differenzengleichung 2. Ordnung ist yHk = C1 · rk · cos(kϕ ) + C2 · rk · sin(kϕ ) , C1 ,C2 ∈ R , k = 0,1,2 . . . oder yHk = A · rk · cos(kϕ + B) , A,B ∈ R , k = 0,1,2 . . . Die Parameter A und r beeinflussen die Amplitude der Schwingung yHk , wobei A ein Maß für die Anfangsamplitude ist und r ein Maß für die Stabilität darstellt. Der Parameter ϕ ist ein Maß für die Frequenz F = 2ϕπ der Schwingung und die Konstante B ein Maß für die Phasenverschiebung. ■ yk+2 − yk+1 − 2yk = 0 , k = 0,1,2 . . . Da die charakteristische Gleichung q2 − q − 20 = 0 die beiden reellen Lösungen q1 = 2 und q2 = −1 aufweist, ist die allgemeine Lösung gleich yHk = C1 · 2k + C2 · (−1)k , C1 ,C2 ∈ R , k = 0,1,2, . . . ■ 4yk+2 + 4yk+1 + yk = 0 , k = 0,1,2 . . . Da die charakteristische Gleichung q2 + q + 14 = 0 die zweifache reelle Lösung q1 = − 12 aufweist, ist die allgemeine Lösung gleich 1 yHk = (C1 + C2 k) · (− )k , C1 ,C2 ∈ R , k = 0,1,2, . . . 2 ■ yk+2 − 2yk+1 + 2yk = 0, k = 0,1,2 . . . . Da die charakteristische Gleichung q2 − 2q + 2 = 0 die beiden konjugiert komplexen Lösungen q1 = 1√− i und q2 = 1 + i aufweist, die√sich in trigonometrischer Form schreiben lassen, als π π π π q1 = 2 · cos 4 − i sin 4 ) und q1 = 2 · cos 4 + i sin 4 ), ist die allgemeine Lösung gleich √ k √ k π π yHk = C1 · 2 · cos k + C2 · 2 · sin k , C1 ,C2 ∈ R , k = 0,1,2, . . . . 4 4
26.4 Lineare Differenzengleichungen 2. Ordnung mit konstanten Koeffizienten
839
Ist zusätzlich eine partikuläre Lösung gesucht, die den Anfangsbedingungen y0 = 0 und y1 = 2, genügt, so folgt aus dem Gleichungssystem √ √ π π 0 = C1 · 1 + C2 · 0 und 2 = C1 · 2 · cos + C2 · 2 · sin = C1 + C2 . 4 4 √ k+2 2 · sin π4 k, k = 0,1,2, . . .. die partikuläre Lösung y¯ =
26.4.1
Allgemeine Lösung der inhomogenen Differenzengleichung 2. Ordnung
yk+2 + a1 · yk+1 + a0 · yk = Bk , k = 0,1,2 . . . erhält man, indem man zur allgemeinen Lösung der zugehörigen homogenen Differenzengleichung eine spezielle Lösung der inhomogenen Differenzengleichung dazuaddiert. Im Falle einer konstanten Inhomogenität Bk = b existiert die konstante Lösung y¯k =
Ansonsten empfiehlt sich die Verwendung der Methode der unbestimmten Koeffizienten, bei der sich die Versuchslösungen an der Funktionsform der Inhomogenität orientieren. ■ Beispiele für geeignete Versuchslösungen finden sich in der nachfolgenden Tabelle. Bk ak sin bk oder cos bk kn kn ak ak sin bk oder ak cos bk
Versuchslösung Aak A sin bk + B cos bk A0 + A1 k + A2 k + . . . + An kn ak (A0 + A1 k + . . . + An kn ) ak (A sin bk + B cos bk)
Enthält die Versuchslösung y¯k eine Funktion, welche eine Lösung der homogenen Differenzengleichung ist, dann muss dieses y¯k zuerst mit k multipliziert werden und die sich ergebende neue Versuchsfunktion verwendet werden. Enthält diese Funktion ebenfalls ein Glied, das die homogene Gleichung erfüllt, dann muss man nochmals mit k multiplizieren Ist die Inhomogenität Bk die Summe mehrerer Funktionen, so empfiehlt es sich, die Funktionen einzeln gemäß dem Supperpositionssatz zu behandeln. Ist y∗k eine Lösung der Differenzengleichung yk+2 + a1 · yk+1 + a0 · yk = B∗k und y∗∗ k eine Lösung der Differenzengleichung yk+2 + a1 · yk+1 + a0 · yk = B∗∗ k , dann ist yk := y∗k + y∗∗ k eine Lösung der Differenzengleichung yk+2 + a1 · yk+1 + a0 · yk = B∗k + B∗∗ k . ■ yk+2 − 2yk+1 + yk = 5 + k + 3k , k = 0,1,2, . . . Da die charakteristische Gleichung q2 − 2q + 1 = (q − 1)2 = 0 die beiden gleichen reellen Nullstellen q1,2 = 1 hat, ist yk = (C1 + C2 · k) · 1k = C1 + C2 · k, k = 0,1,2 . . . die allgemeine Lösung der zugehörigen homogenen Gleichung.
840
26 Differenzengleichungen
Zur Bestimmung einer partikulären Lösung der Gleichung yk+2 − 2yk+1 + yk = 3k , k = 0,1,2, . . . k setzen wir die Versuchslösung y∗∗ k = B · 3 in die Gleichung ein.
Aus B · 3k+2 − 2 · B · 3k+1 + B · 3k = B · (9 − 6 + 1) · 3k = 3k folgt B = 14 . Somit ist y∗∗ k =
1 4
· 3k eine partikuläre Lösung.
■ Zur Bestimmung einer partikulären Lösung der Gleichung yk+2 − 2yk+1 + yk = 5 + k , k = 0,1,2, . . . ist der Lösungssatz y¯k = A0 + A1 k nicht geeignet, da beide Summanden Lösungen der zugehörigen homogenen Differenzengleichungen sind. Wir multiplizieren deshalb y¯k mit k2 und erhalten als neue Versuchslösung y∗k = A0 k2 + A1 k3 . Aus A0 (k + 2)2 + A1 (k + 2)3 − 2A0 (k + 1)2 − 2A1 (k + 1)3 + A0 k2 + A1 k3 =5 + k folgt durch Koeffizientenvergleich bzgl.
k3 : A1 − 2A1 + A1 = 0
bzgl.
k2 : A0 + 6A1 − 2A0 − 6A1 + A0 = 0
bzgl.
k1 : 4A0 + 12A1 − 4A0 − 6A1 = 1 ⇐⇒ A1 =
bzgl.
k0 : 4A0 + 8A1 − 2A0 − 2A1 = 5 ⇐⇒ A0 = 2
und somit die partikuläre Lösung
1 6
y∗k = 2k2 + 16 k3 .
Die allgemeine Lösung der Differenzengleichung ist daher 1 1 yk = C1 + C2 k + 2k2 + k3 + 3k , k = 0,1,2, . . . .. 6 4
26.4.2
Qualitative Analyse der Lösungen
Eine notwendige und hinreichende Bedingung dafür, dass die Lösungsfolge {yHk } der homogenen Differenzengleichung 2. Ordnung yk+2 + a1 · yk+1 + a0 · yk = 0, k = 0,1,2, . . . für alle Anfangswerte y0 und y1 gegen den Grenzwert 0 konvergiert, ist, dass max(|q1 |,|q2|) < 1, wobei q1 und q2 die Wurzel der charakteristischen Gleichung sind. Auch ohne Berechnung der Wurzel lässt sich direkt eine Stabilitätsaussage aus den Koeffizienten a1 und a0 geben, denn die Bedingungen 1 + a1 + a0 > 0 , 1 − a1 + a0 > 0 , 1 − a0 > 0 sind notwendig und hinreichend dafür, dass die absoluten Beträge der beiden Wurzeln der quadratischen Gleichungen q2 + a1 q + a0 = 0 kleiner als eins sind. ■ yk+2 + 0, 3yk+1 − 0, 4yk = 0 Da 1 + 0,3 − 0,4 = 0,9 > 0 , 1 − 0,3 − 0,4 = 0,3 > 0 und 1 + 0,4 = 1,4 > 0 hat diese Differenzengleichung eine konvergente Lösung. Dies bestätigt die Berechnung der allgemeinen Lösung: yIk = C1 (0,5)k + C2 (−0,8)k .
26.5 Lineare Differenzengleichungen n-ter Ordnung mit konstanten Koeffizienten
841
Da sich die allgemeine Lösung einer inhomogenen Differenzengleichung darstellen lässt als yIk = yHk + y∗k , nähert sich yIk mit wachsendem k gegen den Gleichgewichtspfad (moving equilibrium) y∗k , wenn die allgemeine Lösung der zugehörigen homogenen Differenzengleichung yHk gegen Null konvergiert. ■ yk+2 + 0,3 yk+1 − 0,4 yk = 9k + 10, k = 0,1,2, . . . Mit dem Ansatz y¯k = Ak + B ergibt sich die allgemeine Lösung yIk = C1 · (0,5)k + C2 (−0,8)k + 10k − 10, k = 0,1,2, . . . die für genügend großes k in der Nähe der Geraden g(k) = 10k − 10 verläuft. ■ Das Multiplikatormodell von Hicks unterstellt die folgenden Annahmen hinsichtlich der Beziehungen zwischen dem Einkommen Yt , dem Konsum Ct und den Investitionen It einer Volkswirtschaft: Yt = Ct + It , Ct = b1 · Yt−1 + b2 · Yt−2 + B ,
It+1 = It + h
mit den Konstanten b1 , b2 , B, h. Durch Kombination dieser Annahmen und die Transformation k = t − 2 erhält man die lineare Differenzengleichung Yk+2 − b1 · Yt+1 − b2 · Yt = B + I0 + 2h + h · k , k = 0,1,2, . . . . Wählt man speziell b1 = 12 und b2 = 14 , so ergibt sich die allgmeine Lösung √ k √ k 1 + 5 1 − 5 YkI = C1 · + C2 + 4 · (B + I0 − 4h) + 4hk , k = 0,1,2, . . . . 4 4 Da |q1 | < 1 und |q2 | < 1 konvergiert YkH mit wachsendem k gegen Null und YkI strebt mit wachsendem k gegen den Gleichgewichtspfad Yk∗ = 4 · (B + I0 − 4h) + 4hk .
26.5
Lineare Differenzengleichungen n-ter Ordnung mit konstanten Koeffizienten
yk+n + an−1 · yk+n−1 + . . . + a1 · yk+1 + a0 · yk = Bk , k = 0,1,2, . . . Nach dem Existenz- und Eindeutigkeitssatz für lineare Differenzengleichungen ist yHk = C1 · y1 (k) + C2 · y2 (k) + . . . + Cn · yn (k), k = 0,1,2, . . . nur dann die allgemeine Lösung der homogenen Differenzengleichung n-ter Ordnung, yk+n + an−1 · yk+n−1 + . . . + Cn · yn (k),k = 0,1,2, . . . wenn die Wronski-Determinante
y1 (0) y2 (0) ··· yn (0)
y1 (1) y2 (1) ··· yn (1)
.. .. .. ...
. . .
y1 (n − 1) y2 (n − 1) · · · yn (n − 1)
ungleich Null ist. Ein solches Fundamentalsystem erhält man durch den Lösungsansatz yk = qk ,k = 0,1,2, . . .. Die sich ergebende charakteristische Gleichung qn + an−1 · qn−1 + . . . + a1 · q + a0 hat n Wurzeln, die reell oder konjugiert komplex sein können.
842
26 Differenzengleichungen
Ein derartiges Fundamentalsystem lässt sich folgendermaßen ermitteln. a) Man schreibt für jede reelle Wurzel q, die noch nicht vorgekommen ist, die Lösung: C · qk , welche die willkürliche reelle Konstante C enthält. b) Wiederholt sich eine reelle Wurzel q h-mal, h ∈ N, h < n, so schreibt man die Lösung (C1 + C2 · k + . . . + Ch · kh−1 ) · qk , welche die h wilkürlichen Konstanten C1 ,C2 , . . . ,Ch enthält. c) Für jedes Paar konjugiert komplexer Wurzeln mit dem absoluten Betrag r und dem Argument ϕ , q1,2 = r(cos ϕ ± i sin ϕ ), die noch nicht vorgekommen sind, schreibt man die Lösung A · rk · cos(ϕ k + B) oder C · rk · cos ϕ k + Drk · sin ϕ k welche die beiden willkürlichen reellen konstanten A und B bzw. C und D enthält. d) Wiederholt sich ein paar konjugiert komplexer Wurzeln mit dem absoluten Betrag r und dem Argument ϕ s-mal, s ∈ N, 2s ≤ n, so schreibt man die Lösung rk [A1 · cos(kϕ + B1 ) + A2 · k cos(kϕ + B2 ) + . . . + As · ks−1 · cos(kϕ + Bs )] oder (C1 + C2 k + . . . + Cs ks−1 )rk · cos kϕ + (D1 + D2 k + . . . + Ds ks−1 )rk · sin kϕ , welche die 2s willkürlichen reellen Konstanten A1 , . . . ,As und B1 , . . . ,Bs bzw. C1 , . . . ,Cs und D1 , . . . ,Ds enthält. Die Summe der so bestimmten Lösungen enthält n willkürliche Konstanten und stellt die allgemeine Lösung der linear homogenen Differenzengleichung dar. ■ yk+3 − yk+2 − 8yk+1 + 12yk = 0, k = 0,1,2 . . . Die charakteristische Gleichung q3 − q2 − 8q + 12 = 0 hat die Nullstellen q1 = 2, q2 = 2 und q3 = −3. Die allgemeine Lösung ist daher yHk = (C1 + C2 k)2k + C3 (−3)k , k = 0,1,2, . . . . Zur Bestimmung der allgemeinenn Lösung der linear inhomogenen Differenzengleichung n-ter Ordnung yk+n + an−1 yk+n−1 + . . . + a1 yk+1 + a0 yk = Bk , k = 0,1,2, . . . benötigt man neben der allgemeinen Lösung der zugehörigen linear homogenen Differenzengleichung noch eine partikuläre Lösung. Auch im allgemeinen Fall eignet sich hierzu die Methode der unbestimmten Koeffizienten. ■ yk+3 − yk+2 − 8yk+1 + 12yk = 3k + Mit dem Ansatz
y∗k
3 4
, k = 0,1,2 . . .
= A0 + A1 k ergibt sich durch Einsetzen und Koeffizientenvergleich
3 3 + k. 2 4 Die Allgemeine Lösung ist daher
y∗k =
3 3 + k. 2 4 Soll die Lösung zusätzlich den Anfangsbedingungen yIk = (C1 + C2 k) 2k + C3 (−3)k + y0 = 4 , y1 = −3 , y2 = 22 genügen, so müssen die Konstanten C1 , C2 , C3 so bestimmt werden, dass gilt 3 4 = C1 + C3 + 2 3 3 −3 = (C1 + C2 )2 + C3 (−3) + + 2 4 3 3 22 = (C1 + C2 2)4 + C3 9 + + . 2 2
26.5 Lineare Differenzengleichungen n-ter Ordnung mit konstanten Koeffizienten
843
Dieses algebraische Gleichungssystem hat die eindeutige Lösung 1 1 C1 = , C2 = − , C3 = 2, 2 8 und damit ist die gesuchte Lösung der Differenzengleichung 1 1 3 3 y¯k = ( − k)2k + 2(−3)k + + k, k = 0,1,2, . . . . 2 8 2 4 ■ yk+4 − 2yk + 3 + 2yk+2 − 2yk+1 + yk = 2 + cos π k , k = 0,1,2, . . . Die charakteristische Gleichung q4 − 2q3 + 2q2 − 2q + 1 = (q2 − 2q + 1) · (q2 + 1) = 0 hat die Nullstellen π
π
q1 = q2 = 1, q3 = q4 = ±i = 1(cos ±i sin ) . 2 2 Die allgemeine Lösung der zugehörigen linear homogenen Differenzengleichung ist demnach yHk = C1 + C2 k + A cos(
kπ + B),k = 0,1,2, . . . . 2
Zur Bestimmung einer partikulären Lösung eignet sich der Ansatz y∗k = Dk2 + A sin π k + B cos π k . Nach Einsetzen und Koeffizientenvergleich ergibt sich dann die allgemeine Lösung yIk = C1 + C2 k + A cos(
26.5.1
kπ 1 1 + B) + k2 + cos π k , k = 0,1,2, . . . . 2 2 8
Stabilitätsbedingungen
Die Lösung einer linearen Differenzengleichung n-ter Ordnung konvergiert gegen den Gleichgewichtspfad, wenn alle Wurzeln der charakteristischen Gleichung betragsmäßig kleiner als 1 sind. Da aber die Berechnung dieser Wurzel bei algebraischen Gleichungen höherer Ordnung zumeist mühselig ist, interessiert man sich für Methoden, die es gestatten, direkt aus den Koeffizienten der Gleichung zu schließen, ob alle Wurzeln betragsmäßig kleiner als 1 sind. ● Stabilitätskriterium von Schur: Die Wurzeln der Gleichung an xn + an−1 xn−1 + . . . + a1 x + a0 = 0, ai ∈ R sind genau dann betragsmäßig kleiner als 1, wenn alle n Determinanten
a 0 | a0 a1
n
an | a0
an−1 an | 0 a0
−− −− −− ,
−− −− −− −− −−
, · · · ,
a0 | an
a0 0 | an an−1
a1 a0 | 0 an
844
26 Differenzengleichungen
an 0
a
n−1 an
. ..
.. .
a1 a2
−− −−
a0 0
a1 a0
.. ..
. .
a a n−1
a1 · · · an−1
a0 · · · an−2
.. ..
| . .
· · · 0 | 0 0 · · · a0
−− −− −− −− −− −− −−
· · · 0 | an an−1 · · · a1
· · · 0 | 0 an · · · a2
.. .. .. .. . | . . .
| 0 0 · · · an n−2 · · · a0 ··· 0 ··· 0 .. .
| |
a0 0 .. .
positiv sind. (Die gestrichelten Linien sollen nur den symmetrischen Aufbau deutlich machen.) 1 1 1 = 5 , k = 0,1,2, . . . . 3 4 12yk Zur Vermeidung von Brüchen multiplizieren wir die charakteristische Gleichung 1 1 1 q3 − q2 + q − = 0 mit 12: 3 4 12 12q3 − 4q2 + 3q − 1 = 0
12 −1
= 144 − 1 = 143 > 0 .
−1 12
12 0 | −1 3
−4 12 | 0 −1
−− −− −− −− −− = 19440 − 15 = 19425 > 0
−1 0 | 12 −4
3 −1 | 0 12
■ yk+3 − yk+2 + yk+1 −
Entwicklung nach der 2. Spalte und anschließende Anwendung der Regel von Sarrus.
12 0 0 | −1 3 −4
−4 12 0 | 0 −1 3
3 −4 12 | 0 0 −1
−− −− −− −− −− −− −− = 2.464.200 > 0
−1 0 0 | 12 −4 3
3 −1 0 | 0 12 −4
−4 3 −1 | 0 0 12 mehfache Anwendung des Laplace’schen Entwicklungssatzes. Da alle Determinanten positiv sind, müssen alle Wurzeln der charakteristischen Gleichung betragsmäßig kleiner als 1 sein. Dies bestätigt die Berechnung der Wurzeln 1 1 1 , q3 = − i . q1 = , q2 = 3 2i 2 Da konstante Inhomogenität vorliegt, können wir als eine partikuläre Lösung die konstante Lösung y∗k = 6 wählen und erhalten somit die allgemeine Lösung: k k π 1 1 I yk = C1 +A cos k+B +6 . 3 2 2 Mit wachsendem k konvergiert yIk gegen den stabilen Gleichgewichtswert y∗ = 6.
26.5 Lineare Differenzengleichungen n-ter Ordnung mit konstanten Koeffizienten
845
● Stabilitätskriterium von Samuelson: Die Wurzeln der algebraischen Gleichung an xn + an−1 xn−1 + · · · + a1 x + a0 = 0 , ai ∈ R ,
an > 0
sind genau dann betragsmäßig kleiner als 1, wenn alle transformierten Koeffizienten a¯i und alle Determinanten H1 ,H2, . . . ,Hn positiv sind. Dabei sind n
a¯n
:= ∑ ai i=0 n
a¯n−1 := ∑ ai (2i − n) i=0 n
a¯n−r := ∑ an−i i=0
r
∑
k=0
n−i k i (−1) , für 1 < r < n r−k k
n
a¯0
:= ∑(−1)i an−i i=0
und Hi die Hauptabschnittsdeterminanten der Matrix a¯1 a¯0 0 0 · · · 0 a¯3 a¯2 a¯1 a¯0 · · · 0 a¯5 a¯4 a¯3 a¯2 · · · 0 ··· 0 0 0 0 · · · a¯n auf deren Hauptdiagonalen die Koeffizienten a¯1 , a¯2 , . . . , a¯n stehen und in deren Zeilen die Koeffizientenindizes von rechts nach links aufsteigende Zahlen durchlaufen. Koeffizienten mit Indizes unterhalb Null und oberhalb n werden durch Nullen ersetzt. ■ q3 − 13 q2 + 14 q −
sind die Wurzeln dieser algebraischen Gleichung betragsmäßig kleiner als 1. ▲ Die Überprüfung einer Differenzengleichung auf Stabilität mittels eines der beiden Vorstehenden Kriterien ist zumeist mit großem Rechenaufwand verbunden. Es empfiehlt sich daher, zunächst die folgenden, einfach zu handhabenden Stabilitätskriterien zu Rate zu ziehen:
846
26 Differenzengleichungen
● Hinreichendes Stabilitätskriterium von Sato: Sind alle Koeffizienten der algebraischen Gleichung qn + an−1 qn−1 + · · · + a1 q + a0 = 0, ai ∈ R positiv, so folgt aus 1 > an−1 > an−2 > . . . > a1 > a0 , dass alle Wurzeln betragsmäßig kleiner als 1 sind. ● Hinreichendes Stabilitätskriterium von Smithies: Hinreichend dafür, dass alle Wurzeln der Gleichung qn + an−1 qn−1 + · · · + a1 q + a0 = 0, ai ∈ R betragsmäßig kleiner als 1 sind, ist n−1
∑ |ai| < 1.
i=0
● Notwendiges Stabilitätskriterium von Smithies: Notwendig dafür, dass alle Wurzeln der Gleichung qn + an−1 qn−1 + · · · + a1 q + a0 = 0, ai ∈ R betragsmäßig kleiner als 1 sind, ist n−1
− ∑ ai < 1. i=0
1 1 1 ■ q3 − q 2 + q − =0 3 4 12 Das Kriterium von Sato ist hier nicht anwendbar. Das notwendige Kriterium und auch das hinreichende Kriterium von Smithies sind aber erfüllt. 2
1 1 1 1 − ∑ ai = −(− + − ) = < 1; 3 4 12 6 i=0
26.6
2
1
1
1
2
∑ |ai| = 3 + 4 + 12 = 3 < 1 i=0
Systeme linearer Differenzengleichungen 1. Ordnung mit konstanten Koeffizienten
Ein System von linearen Differenzengleichungen 1. Ordnung mit konstanten Koeffizienten hat die Normalform y1 (k + 1) = m11 y1 (k) + m12 y2 (k) + · · · + m1n yn (k) + g1 (k) y2 (k + 1) = m21 y1 (k) + m22 y2 (k) + · · · + m2n yn (k) + g2 (k) .. . ··············· ········· ····················· yn (k + 1) = mn1 y1 (k) + mn2 y2 (k) + · · · + mnn yn (k) + gn (k) , k = 0,1,2, . . . .
lässt sich dieses Differenzengleichungssystem in Matrizenschreibweise darstellen als y(k + 1) = M · y(k) + g(k), k = 0,1,2, . . . . Die allgemeine Lösung des Systems linear homogener Differenzengleichungen erster Ordnung y(k + 1) = M · y(k) , k = 0,1,2 . . . ist dann y(k) = Mk c, k = 0,1,2 . . . wobei Mk die k-te Potenz der Matrix M bezeichnet und c ein Spalten-n-Tupel bezeichnet, dessen Komponenten beliebig wählbare Konstanten sind. Die k-te Potenz der n × n-Matrix M bestimmt man am günstigsten nach der folgenden Regel: Zunächst bestimmt man die n Eigenwerte λ 1 ,λ 2 , . . . ,λ n der Matrix M als Wurzeln ihrer charakteristischen Gleichung |M − λ I| = 0. Dann berechnet man die Konstanten a1 ,a2, . . . ,an−1 als eindeutige Lösung des inhomogenen Gleichungssystems, dessen n-Gleichungen sich wie folgt ergeben: 1. Für jeden einfachen Eigenwert λ j müssen die Konstanten a0 ,a1, . . . ,an−1 der Gleichung λ jk = a0 + a1 λ j + a2 λ j2 + . . . + an−1 λ jn−1 genügen. 2. Für jeden r-fachen Eigenwert λ s , 1 < r ≤ n, müssen die Konstanten a0 ,a1, . . . ,an−1 den r Gleichungen λ sk = a0 + a1 λ s + a2 λ s2 + . . . + an−1 λ sn−1
kλ sk−1 = a1 + 2a2 λ s + · · · + (n − 1)an−1 λ sn−2 ········· ································· k(k − 1) · · · (k − r + 2)λ sk−r+1 = (r − 1) · · · · · 2 · as−1 + · · · + (n − 1) · · · (n − r + 1)an−1 λ sn−r genügen. Es gilt dann: Mk = a0 I + a1 M + as M2 + · · · + an−1 Mn−1 . Die allgemeine Lösung des inhomogenen Systems linearer Differenzengleichungen erster Ordnung mit konstanten Koeffizienten y(k + 1) = M · y(k) + g(k) , k = 0,1,2, . . . setzen sich additiv zusammen aus einer beliebigen partikulären Lösung y¯ (k) dieses inhomogenen Systems und der allgemeinen Lösung des zughörigen homogenen Systems. Zur Bestimmung einer partikulären Lösung eignet sich die Methode der unbestimmten Koeffizienten, wobei alle Störfunktionen gi (k) zu berücksichtigen sind. ■ y1 (k + 1) = y1 (k) + 2y2 (k) + 6k + 5 y2 (k + 1) = 3y1 (k) + 2y2 (k) + 3k − 2 , k = 0,1,2, . . . .
1 − λ 2
Die charakteristische Gleichung
= λ 2 − 3λ − 4 = 0
3 2−λ hat die Wurzel λ 1 = −1 und λ 2 = 4.
848
26 Differenzengleichungen
Das Gleichungssystem zur Bestimmung der konstanten a und b (−1)k = a − b 4k
= a + 4b
hat die eindeutige Lösung 1 k a= 4 − 4(−1)k ) , 5 1 k b= 4 − (−1)k ) . 5 Mit k 1 2 1 0 1 2 1 k = (4 + 4(−1)k ) · 5 3 2 0 1 3 2 2 2 3 −2 4k (−1)k = + . 5 5 3 3 −3 2 ergibt sich die allgemeine Lösung des homogenen Systems als y1 (k) 2 2 3 −2 C1 4k (−1)k y(k) = ), k = 0,1,2, . . . . =( + 5 5 y2 (k) 3 3 −3 2 C2 Die Störfunktionen g1 (k) = 6k + 5 und g2 (k) = 3k − 2 legen die Versuchslösung A + Bk + C3k y¯1 (k) = y¯ (k) = y¯2 (k) a + bk + c3k nahe. Aus A + B(k + 1) + C · 3k+1 = A + Bk + C · 3k + 2a + 2bk + 2c · 3k + 6k + 5 a + b(k + 1) + c · 3k+1 = 3 · A + 3Bk + 2a + 2bk + 2c · 3k + 3k − 2 folgt durch Koeffizientenvergleich 3k :
3C = C + 2c
C = −1/2
3c = 3C + 2c + 1 c = −1/2 k:
B = B + 2b + 6 B = 1 b = 3B + 2b
k0 :
b = −3
A + B = A + 2a + 5 A = 1/3 a + b = 3A + 2a − 2 a = −2
und die partikuläre Lösung ist 1 1 k y¯1 (k) + k − 3 3 2 y¯ (k) = = , y¯2 (k) −2 − 3k − 12 3k
k = 0,1,2, . . . .
Die allgemeine Lösung des inhomogenen Systems ist daher 1 1 k 2 2 3 −2 C1 + k − 3 4k (−1)k 3 2 y(k) = + + , k = 0,1,2, . . . 5 5 3 3 −3 2 C2 −2 − 3k − 12 3k mit willkürlichen Konstanten C1 und C2 .
26.6 Systeme linearer Differenzengleichungen 1. Ordnung mit konstanten Koeffizienten
26.6.1
849
Eliminationsverfahren zur Lösung linearer Differenzengleichungssysteme
Wie das nachfolgende Verfahren zeigt, lässt sich jede lineare Differenzengleichung höherer Ordnung in ein System linearer Differenzengleichungen erster Ordnung transformieren, das die gleiche Lösung besitzt. Ist die lineare Differenzengleichung n-ter Ordnung y(k + n) + an−1 · y(k + n − 1) + . . . + a1 · y(k + 1) + a0 · y(k) = B(k),
k = 0,1,2, . . .
gegeben, so definert man y1 (k) := y(k) y2 (k) := y1 (k + 1) = y(k + 1) ······
···························
yn (k) := yn−1 (k + 1) = y(k + n − 1) und erhält dann das äquivalente System linearer Differenzengleichungen erster Ordnung: y1 (k + 1)
■ y(k + 3) − y(k + 2) − 8y(k + 1) + 12y(k) = 3k + 34 , k = 0,1,2, . . . lässt sich schreiben, als das Gleichungssystem erster Ordnung y1 (k + 1) = y2 (k) y2 (k + 1) = y3 (k) yn (k + 1) = −12y1 (k) − 8y2 (k) − y3 (k) + 3k +
3 , k = 0,1,2, . . . 4
Umgekehrt kann man auch versuchen, ein System von linearen Differenzengleichungen in eine äquivalente Differenzengleichung höherer Ordnung zu transformieren. ■
y1 (k + 1) = y1 (k) + 2y2 (k) + 6k + 5 y2 (k + 1) = 3y1 (k) + 2y2 (k) + 3k − 2, k = 0,1,2 . . . Lösen wir die erste Gleichung nach y2 (k) auf 1 1 5 y2 (k) = y1 (k + 1) − y1 (k) − 3k − 2 2 2 und setzen diesen Ausdruck in die zweite Gleichung ein 1 1 5 y1 (k + 2) − y1 (k + 1) − 3(k + 1) − = 3y1 (k) + y1 (k + 1) − y1 (k) − 6k + 3k − 2, 2 2 2 so erhalten wir mit yk = y1 (k) yk+2 − 3yk+1 − 4yk = 2 · 3k − 6k − 3, k = 0,1,2, . . .
850
26 Differenzengleichungen
■ Das inhomogene Differenzengleichungssystem yk+2 − 2yk+1 + yk = 6k yk+1 + zk+1 − 5zk = 4 , k = 0,1,2, . . . lässt sich, indem man die erste Gleichung nach zk auflöst 1 2 1 zk = − yk+2 + yk+1 − yk + 2k 3 3 3 und diesen Ausdruck dann in die zweite Gleichung einsetzt, überführen in die Differenzengleichung dritter Ordnung yk+3 − 7yk+2 + 8yk+1 − 5yk = −24k − 6 , k = 0,1,2, . . . .
26.6.2
Qualitative Analyse der Lösungen
Das Konvergenzverhalten der Lösung eines linearen Differenzengleichungssystems y(k + 1) = M · y(k) + g(k), k = 0,1,2, . . . hängt für wachsendes k im Wesentlichen von den Wurzeln der charakteristischen Gleichung |M − λ I| = 0 ab. sind alle Eigenwerte von M betragsmäßig kleiner als 1, dann gilt für einen beliebigen Anfangsvektor y0 y(k) = Mk y0 −→ 0 , k→∞
d. h. yI (k) = Mk · y0 + y¯ (k) verhält sich für hinreichend großes k wie der Gleichgewichtspfad y¯ (k). Da die Bestimmung der Eigenwerte einer n-reihigen Matrix mit n > 2 zumeist recht mühselig ist, ist es wünschenswert, Stabilitätskriterien zu kennen, die es erlauben, direkt aus den Elementen von M auf das „betragsmäßig kleiner 1 sein“ der Eigenwerte zu schließen. Eine notwendige Bedingung dafür, dass alle Eigenwerte der n × n-Matrix M = (mi j ) betragsmäßig kleiner als 1 sind, ist n
| ∑ mii | < n . i=1
Eine hinreichende Bedingung dafür, dass alle Eigenwerte der n × n-Matrix M = (mi j ) betragsmäßig kleiner als 1 sind, ist, dass n
| ∑ mi j | < 1 für alle i = 1,2, . . . ,n j=1
bzw. n
| ∑ mi j | < 1 für alle
j = 1,2, . . . ,n .
i=1
Eine hinreichende und notwendige Bedingung dafür, dass alle Eigenwerte der n × n-Matrix M = (mi j ) betragsmäßig kleiner als 1 sind, ist, dass a) Alle Elemente der Matrix M nicht-negativ sind, d. h. mi j > 0 für alle i, j = 1, . . . ,n und
26.6 Systeme linearer Differenzengleichungen 1. Ordnung mit konstanten Koeffizienten
851
b) alle Hauptminoren der sind, d. h.
Matrix (I − M) positiv
1−m −m12
11 1 − mi j > 0 ,
> 0, · · · ,
−m21 1 − m22
1−m −m12 · · · −m1n
11
−m21 1 − m22 · · · −m2n
> 0.
.. .. .. ...
. . .
−mn1 −mn2 · · · 1 − mnn ■ Für die Matrix 1 6
M= 0 9 10
7 8
0
0
1 12 1 8
0
ist die notwendige Bedingung erfüllt, da 1 1 7 | +0+ |= < 0. 6 8 24 Dagegen ist die hinreichende Bedingung nicht erfüllt, da z. B. für die erste Zeile von M gilt 7 25 1 >1. | | + | | + |0| = 6 8 24 Da alle Elemente von M nichtnegativ sind und die Hauptminoren 1 5 = >0 6 6 5 1 − 16 − 78 = > 0, 6 0 1 1−
1 − 16 0 − 109
− 78 1 0
0 3 7 5 1 − >0 − 12 = 8 6 40 1 1− 8
alle positiv sind, besitzt M nach der hinreichenden und notwendigen Bedingung nur Eigenwerte, die betragsmäßig kleiner als Eins sind.
Nichtlineare Dynamik, beschäftigt sich mit den komplexen Phänomenen, die durch nichtlineare Terme in dynamischen Systemen hervorgerufen werden, u. a. dem deterministischen Chaos. Chaostheorie, popularisierende Bezeichnung, die die Phänomene des deterministischen Chaos und die zu ihrer Beschreibung und Analyse verwendeten Verfahren und Methoden zusammenfasst. Fraktale Geometrie, beschreibt die komplexen geometrischen Strukturen, die aus einfachen iterierten, nichtlinearen Abbildungen entstehen und kann als die Geometrie des Chaos aufgefasst werden. ■ Nichtlineare dynamische Systeme beschreiben natürliche Zusammenhänge, wie z. B.: • Kräfte zwischen Himmelskörpern: Bereits Henri Poincaré erkannte 1892, dass selbst das vereinfachte Gleichungssystem zur Beschreibung der Kräfte zwischen drei Körpern, nicht nur keine geschlossene Lösung besitzt, sondern auch zu einer unbeschreibbaren Komplexität und Irregularität im Systemverhalten führt. Entgegen dem herrschenden Zeitgeist wurde ihm als erstem gewahr, dass dies typisch für das Verhalten natürlicher Systeme ist. • Turbulenzen in Gasen und Flüssigkeiten, wie z. B. beim Wetter. Charakteristisch ist, dass sie erst auftreten, wenn ein bestimmter Parameter einen kritischen Wert überschreitet. Ein einfaches nichtlinereas Modell der Konvektionsströme in der Athmossphäre von Edward N. Lorenz führte 1963 zur Wiederentdeckung des deterministisches Chaos. Die Computersimulation des Modells illustiert die empfindliche Abhängigkeit von den Anfangsbedingungen und damit die Unvorhersagbarkeit des Systemverhaltens. ■ Auch typische ökonomische Zusammenhänge lassen sich am besten durch nichtlineare dynamische Modelle beschreiben, wie z. B.: • Marktreaktionsmodelle: Die Nichtlinearität und Unstetigkeit von Kostenfunktionen und PreisAbsatz-Relationen, Schwellwerte im Kaufverhalten und selbstverstärkende soziale Effekte führen zu hochkomplexen Zusammenhängen zwischen Angebot und Nachfrage. • Warteschlangen- und Distributionsmodelle: Die Anwendung einfacher Entscheidungsheuristiken bei begrenzter Information führt im Zusammenhang mit Zeitverzögerungen durch Produktions-, Transport- und Informationsprozesse zu positiven Rückkopplungen. Für den einzelnen Entscheider kommt es zu in seiner Stärke und Richtung völlig unvorhersehbarem Systemverhalten.
27.1
Nichtlineare dynamische Systeme
● Nichtlinearität und Dynamik sind Grundvoraussetzungen für das Auftreten von deterministischem Chaos. Nichtlinearität ergibt sich aus einer Vielzahl natürlicher Umstände (→ chaosgenerierende Mechanismen), Dynamik durch die Betrachtung des Systemverhaltens im Zeitablauf.
27.1.1
Grundbegriffe dynamischer Systeme
a) Offenes dynamisches System Abstrakte Beschreibung für einen ökonomischen Zusammenhang, in dem die Entwicklung bestimmter zeitabhängiger Größen (Zustandsvariablen) in Abhängigkeit dieser Größen selbst, zeitunabhängiger Größen des Systems (Systemparameter) bzw. Systemumfelds (externe Parameter) und der Anfangswerte der
27.1 Nichtlineare dynamische Systeme
853
Zustandsvariablen abgebildet wird. Im Allgemeinen sind einzelne Systemparameter in gewissen Grenzen variierbar und bilden die Steuergrößen des Systems.
b) Nichtlineares dynamisches System Durch Nichtlinearität verliert das Prinzip der starken Kausalität (gleiche Ursachen haben gleiche Wirkungen) seine Gültigkeit. Es gilt das Prinzip der schwachen Kausalität (ähnliche Ursachen haben ähnliche Wirkungen).
c) Deterministisches System Das Verhalten ist eindeutig durch die Systemgleichungen bestimmt und bei unendlicher Genauigkeit theoretisch exakt vorhersagbar (Laplace’scher Dämon). Auch ohne den Einfluss von stochastischen Störgrößen kann es aufgrund von Nichtlinearität und Dynamik dennoch zu objektiv unvorhersehbarem Verhalten kommen (deterministisches Chaos).
d) Komplexes System Komplexe Systeme sind durch eine Vielzahl von selbstverstärkenden (positiven) und abschwächenden (negativen) Rückkopplungen geprägt. In natürlichen Systemen (physikalische, ökonomische usw.) dominiert langfristig stets eine negative Rückkopplung, die das grenzenlose Wachstum einzelner Größen verhindert (oft handelt es sich um eine Ressourcenbeschränkung). Kurz- bis mittelfristig können positive Rückkopplungen dominieren und extreme Wachstums- oder Schrumpfungsprozesse hervorrufen.
e) Dissipatives System Energieverlierendes System, besitzt die Tendenz, aus der im Allgemeinen unbegrenzten Vielzahl möglicher Anfangszustände auf eine begrenzte (aber ggf. unendliche) Zahl von Endzuständen zuzustreben, d. h. das Volumen seines Zustandsraumes verringert sich. Gleichgewichtslösungen, Endzustände eines dissipativen Systems, die das System aus eigenem Antrieb nicht mehr verlässt.
f) Dissipative Struktur Ein offenes dissipatives System, das durch interne Fluktuationen und/oder externe Störungen am Erreichen seiner Gleichgewichtslösungen gehindert wird, erreicht u. U. fern der Gleichgewichtslösungen einen mehr oder weniger stabilen Ungleichgewichtszustand. ■ Ökonomische Systeme lassen sich als solche dissipativen Strukturen charakterisieren.
g) Kontinuierliches/diskretes System Kontinuierliches System, beschreibt die kontinuierliche Veränderung der Zustandsvariablen in der Zeit in Form von Differenzialgleichungen. Diskretes System, beschreibt den Wert der Zustandsvariablen zu einem Zeitpunkt (datierte Form) oder die Veränderung der Zustandsvariablen von einem Zeitpunkt zum nächsten (Differenzenform) in Abhängigkeit ihrer Zustände zu früheren Zeitpunkten in Form von Differenzengleichungen. ■ Diskrete Systeme sind insbesondere bei der Modellierung ökonomischer oder der approximativen Beschreibung kontinuierlicher physikalischer Zusammenhänge in Form von Poincaré-Schnitten von Bedeutung.
a) Zustands- oder Phasenraum Koordinatenraum zur Darstellung der Zustände oder Werte verschiedener Größen (z. B. der Zustandsvariablen, ihrer Ableitung nach der Zeit o. Ä.). ▲ Die Zeit wird gewöhnlich nicht als Phasenraumkoordinate benutzt.
b) Trajektorie Ein Abbild der Systemdynamik erhält man, indem der Zustand der Systemvariablen zu verschiedenen Zeitpunkten eingetragen wird. Das Ergebnis ist eine Kurve, die die Veränderung der Zustandsvariablen im Zeitablauf als räumliche Bewegung im Zustandsraum wiedergibt. Sie wird als Trajektorie bezeichnet. In einem deterministischen System bestimmt der Ort im Zustandsraum (d. h. Zustand der Variablen) eindeutig den weiteren Verlauf der Trajektorie. Daher können sich Trajektorien niemals schneiden.
c) Attraktor, Repulsor Invariante Menge, Menge, die durch die Systemdynamik auf sich selbst abgebildet wird. Die Volumenkontraktion eines dissipativen Systems äußert sich in einer asymptotischen Näherung an eine invariante Grenzmenge (d. h. einen Grenzpunkt, einen Grenzzyklus o. Ä.). ● Da diese invariante Menge auf einen Teil ihrer Umgebung anziehend wirkt, wird sie als attraktive Menge oder Attraktor bezeichnet. Attraktionsbereich, Menge derjenigen Punkte, von denen Trajektorien auf den Attraktor zulaufen. repulsive Menge oder Repulsor, abstoßende invariante Menge. Abstoßungsbereich, Menge derjenigen Punkte, auf die der Repulsor abstoßend wirkt.
d) Transiente zu einer attraktiven Menge hinführende Trajektorie. Da viele Transienten zur selben attraktiven Menge führen, geht stets Information über vorhergehende Systemzustände verloren. ▲ Die zeitliche Entwicklung in einem dissipativen System ist daher nicht umkehrbar.
e) Fixpunkt, periodischer Zyklus, quasiperiodische Lösung Die Dynamik eines linearen dissipativen Systems führt, ungeachtet der zeitlich und räumlich begrenzten Wirkung vorhandener repulsiver Mengen, langfristig auf • einen einzelnen attraktiven Grenzpunkt (stabiler Fixpunkt), • eine attraktive, geschlossene Bahn von zyklisch durchlaufenen Grenzpunkten, d. h. einen Grenzzyklus (periodischer Zyklus) oder • eine attraktive, offene Bahn von Grenzpunkten, die einem mehrdimensionalen Torus gleicht (quasiperiodischer Attraktor). Das Systemverhalten ist damit vorhersagbar. Die Transiente kann jeweils geradlinig oder in einer spiralförmigen Bewegung auf den Attraktor zulaufen (bei einem Fixpunkt spricht man dann auch von einem stabilen Strudel).
f) Sattel, stabile und instabile Mannigfaltigkeiten Sattel, invariante Menge die in gewissen Raumrichtungen abstoßend wirkt, in anderen aber anziehend. ▲ Zu jedem Sattel lässt sich eine invariante Punktmenge identifizieren, die dessen Attraktionsbereich darstellt (stabile Mannigfaltigkeit des Sattels).
27.1 Nichtlineare dynamische Systeme
855
Die instabile Mannigfaltigkeit eines Sattels stellt seinen Abstoßungsbereich dar und geht i. d. R. in den Attraktionsbereich einer anderen Grenzmenge über.
g) Homo- und heterokline Mengen Homokline Menge, entsteht durch Verknüpfung der instabilen Mannigfaltigkeit eines Sattels mit seiner stabilen Mannigfaltigkeit. Heterokline Menge, ergibt sich durch Verknüpfung von instabilen und stabilen Mannigfaltigkeiten verschiedener Sättel.
h) Separatrix Die stabilen Mannigfaltigkeiten eines Sattels bzw. die Verknüpfungen mit instabilen Mannigfaltigkeiten in Form von homo- und heteroklinen Mengen wirken als Separatrix zwischen den Attraktionsbereichen anderer Grenzmengen. Sie sind damit für das Phänomen der Schwellwertabhängigkeit verantwortlich: ● Die Trajektorien nahe beieinander liegender Startpunkte führen zu unterschiedlichen Attraktoren, wenn sie durch eine Separatrix getrennt sind.
i) Bifurkation Die Dynamik eines dissipativen Systems lässt sich durch Ermittlung und Klassifizierung seiner invarianten Mengen beschreiben. Ändert sich die Zahl und/oder Struktur einer invarianten Menge bei Variation eines Systemparameters, so spricht man von einer Bifurkation. ● Grundformen von Bifurkationen: • Tangenten-Bifurkation: gleichzeitige Entstehung bzw. Verschmelzung eines stabilen und eines instabilen Fixpunktes. • Transkritische Bifurkation: gleichzeitiger Übergang eines stabilen in einen instabilen und eines instabilen in einen stabilen Fixpunkt. • Pitchfork-Bifurkation: Verzweigung eines stabilen (instabilen) Fixpunktes in zwei stabile (instabile) und einen instabilen (stabilen). • Hopf-Bifurkation: Übergang eines stabilen (instabilen) in einen instabilen (stabilen) Strudel und gleichzeitige Entstehung eines stabilen (instabilen) Grenzzyklus. ▲ In diskreten Systemen tritt außerdem noch folgende Bifurkation auf: • Subharmonische Bifurkation: Übergang eines stabilen (instabilen) in einen instabilen (stabilen) Fixpunkt/Zyklus und gleichzeitige Entstehung eines stabilen (instabilen) Zyklus der doppelten Periode. ▲ Durch Kombination dieser Grundformen bzw. Übertragung auf mehrdimensionale Mannigfaltigkeiten können beliebig komplizierte Bifurkationsszenarien entstehen. ■ Es soll das Lösungsverhaltens der so genannten logistischen Abbildung xt+1 = f (xt ; µ ) = −µ · xt2 + µ · xt untersucht werden. Zur Berechnung der Fixpunkte xs setzt man zunächst xt+1 = xt und erhält −µ · xt2 + (µ − 1) · xt = 0 . Es ergeben sich xs1 = 0 und xs2 = 1 −
1 µ
. Mit
d f (xt ; µ ) = −2µ xt + µ dxt erweist sich xs1 als stabil und xs2 als instabil, so
lange µ < 1 und umgekehrt, wenn µ > 1 (Anmerkung:
ein Fixpunkt von f (xt ; µ ) ist stabil, wenn d fd(xxtt;µ ) < 1). An der Stelle µ = 1 kommt es zu einer
transkritischen Bifurkation. Uns interessiert das weitere Verhalten des zweiten Fixpunktes xs2 . Für
µ = 3 wird d fd(xxtt;µ ) = 1 und damit xs2 wieder instabil. Gleichzeitig tritt aber ein stabiler periodischer Attraktor mit einem Zyklus der Periode zwei auf. Um ihn nachzuweisen setzt man xt+2 = xt . Mit xt+2 = f 2 (xt ; µ ) = −µ 3 xt4 + 2 µ 3 xt3 − µ 3 xt3 − µ 2 xt2 + µ 2 xt ergibt sich daraus xt · −µ 3 xt3 + 2 µ 3 xt2 − (µ 3 + µ 2 ) xt + µ 2 − 1 = 0 Die Anzahl und die qualitative Struktur der Fixpunkte von f 2 (xt ; µ ), d. h. der Zyklen der Periode 2, ist vom Kontrollparameter µ abhängig. Im uns interessierenden Bereich stellen wir fest, dass es bei µ = 3 zu einer Pitchfork-Bifurkation von f 2 (xt ; µ ) kommt. Der stabile Fixpunkt bei xs2 = 1− µ1 wird instabil, wobei zwei neue stabile Fixpunkte √ √ 1 1 µ −3· µ +1 s3,4 x = · 1+ ± 2 µ µ 2 auftreten. Die Stabilität
anhand der ersten Ableitung von f (xt ; µ ) überprüft werden. Die Fixpunkte
2 kann
sind stabil, wenn d f d(xxtt ;µ ) < 1, was für xs1 = 0 und xs2 = 1 − µ1 nicht erfüllt ist, wohl aber für xs3,4 . Für f (xt ; µ ) ergibt sich damit eine subharmonischen Bifurkation.
▲ Jeder Fixpunkt von f (xt ; µ ) ist auch wieder Fixpunkt von f 2 (xt ; µ ).
Stellt man die Werte der Fixpunkte in Abhängigkeit des Kontrollparameters µ dar, so ergibt sich das folgende Bifurkationsdiagramm: xs 1 0,8 0,6 0,4 0,2 1
2
3
4
µ
Bifurkationsdiagramm der (ersten) subharmonischen Bifurkation von xs2 in der logistischen Abbildung (Fixpunkte der Periode 1: durchgezogen = stabil, gestrichelt = instabil; Fixpunkte der Periode 2: grau = stabil). ▲ Die bei der subharmonischen Bifurkation eintretende Periodenverdopplung ist nicht auf Fixpunkte
der Periode eins beschränkt und bildet einen wichtigen Baustein auf dem Weg zum Chaos.
27.2
Deterministisches Chaos und Fraktale Geometrie
Deterministisches Chaos, im Zusammenwirken von globalen negativen Rückkopplungen mit lokalen positiven Rückkopplungen bei der Lösung deterministischer nichtlinearer dynamischer Systeme entstehendes, völlig irreguläres und unvorhersehbares Verhalten mit sensitiver Abhängigkeit von den Anfangsbedingungen. ▲ Die geometrische Struktur chaotischer Lösungen kann mithilfe der Fraktalen Geometrie beschrieben werden.
27.2 Deterministisches Chaos und Fraktale Geometrie
27.2.1
857
Phänomenologie des deterministischen Chaos
a) Charakteristische Eigenschaften Deterministisches Chaos entsteht in einer beschränkten, nichtlinearen, deterministischen Dynamik durch das Zusammenwirken von positiven und negativen Rückkopplungen. Positive Rückkopplungen in Form lokaler Instabilitäten führen immer wieder zu einem Auseinanderlaufen benachbarter Werte, global wirkende negative Rückkopplungen haben einen stabilisierenden Effekt. Wenn keine der beiden Rückkopplungen langfristig die Oberhand gewinnt, verbleibt das System in einem ständigen Prozess des Streckens und Faltens. Auf beschränktem Raum entsteht eine endlose, aperiodische Trajektorie mit scheinbar zufälligem Verhalten. Die aperiodische Trajektorie weist eine sensitive Abhängigkeit von infinitesimal kleinen Änderungen der Anfangsbedingungen auf. Kleinste Abweichungen führen u. U. bereits nach kurzer Zeit zu völlig anderem Verhalten. Dennoch gibt es charakteristische Aspekte einer Ordnung im Chaos, die das deterministische Chaos deutlich von zufälligem Verhalten unterscheiden: • Einem Modell, das deterministisches Chaos generiert, liegt ein zwar nicht unbedingt bekanntes, aber deterministisches nichtlineares Differenzen- oder Differenzialgleichungssystem zugrunde. • Die Bewegung einer Trajektorie im Phasenraum, so irregulär sie auch erscheint, erzeugt eine bestimmte räumliche Struktur, die oftmals selbstähnlich ist (im dissipativen Falle ist dies der so genannte seltsame Attraktor). Daher existiert eine Reihe invarianter Maße, die zur Charakterisierung chaotischer Systeme herangezogen werden können und es lassen sich universelle Gesetzmäßigkeiten finden, die die Entstehung chaotischer Zustände beschreiben.
b) Chaotische und seltsame Attraktoren ▲ In einem dissipativen System kann Chaos über die Existenz eines chaotischen Attraktors definiert werden. Chaotischer Attraktor A: Es existiert für das n-dim. Differenzengleichungssystem xt+1 = f(xt ; µ ), mit xt ∈ Rn und µ ∈ R eine beschränkte Menge A ⊂ Rn und eine Menge U mit den folgenden Eigenschaften: • U ist eine n-dim. Umgebung von A d. h. U = U(A) ⊂ Rn , • A wirkt anziehend auf alle x0 ∈ U(A), d. h. wenn x0 ∈ U(A), dann gilt xt ∈ U(A) ∀t und jede Trajektorie von x0 ∈ U(A) nähert sich und bleibt beliebig nahe bei A für genügend große t ∈ N, • die Trajektorien von x0 ∈ U(A) reagieren sensitiv auf Veränderungen der Anfangsbedingungen, • A ist topologisch transitiv . ▲ Diese Definition gilt analog für ein n-dim. Differenzialgleichungssystem x˙ = f(x(t); µ ) mit x(t) ∈ Rn und µ ∈ R, wenn man x0 durch x(t0 ) ersetzt und statt xt und t jeweils x(t0 + τ ) und τ ∈ R schreibt. ▲ Weist ein Attraktor neben der dynamischen Eigenschaft des Chaos außerdem die geometrische Eigenschaft einer fraktalen Struktur auf, wird er als seltsamer Attraktor bezeichnet.
c) Wege ins Chaos Das Auftreten chaotischer Verhaltensweisen kann anhand bestimmter Bifurkationsszenarien verfolgt werden, die als Wege ins Chaos bezeichnet werden: • Periodenverdopplung: Das System gelangt durch fortgesetzte Periodenverdopplung (Pitchfork- bzw. subharmonische Bifurkation) in einen Zustand, in dem es nur noch instabile Lösungen gibt. Die Trajektorie wird von einer instabilen Mannigfaltigkeit zur anderen geworfen und kann dabei (in Bezug auf die Werte einer Variablen) innerhalb einer bestimmten Bandbreite oder auch zwischen verschiedenen Bändern scheinbar wahllos hin und herspringen. ■ Computersimulation des Bifurkationsdiagramms der logistischen Abbildung für 2.9 ≤ µ ≤ 4:
• Intermittenz: Wenn der einzige stabile Fixpunkt oder Zyklus eines Systems instabil wird, ohne dass eine andere stabile Lösung auftritt (Typ I: Tangenten-Bifurkation, Typ II: Hopf-Bifurkation, Typ III: subkritische Bifurkation), kommt es zu u. U. sehr langen Phasen beinahe zyklischen Verhaltens, die durch kurze, heftige Ausbrüche unterbrochen sind. • Dreifache Hopf-Bifurkation: Dieser Weg ins Chaos ergibt sich nur bei kontinuierlichen Systemen und ist bspw. charakteristisch für das plötzliche Auftreten von Turbulenzen • Komplexere Bifurkationsszenarien spiegeln sich in den so genannten Krisen: Bei der Kollision zwischen chaotischen Attraktoren bzw. chaotischen Attraktoren und instabilen Fixpunkten oder periodischen Orbits verschwindet oder entsteht (je nach Blickrichtung) urplötzlich die chaotische Lösung.
d) Instabile periodische Orbits Ein chaotischer Attraktor stellt in gewissem Sinne die „stabile“ Lösung eines chaotischen dynamischen Systems dar. Daneben existiert eine i. d. R. unendlich große Menge instabiler, aber periodischer Lösungen. Diese sind äußerst sensibel gegenüber Ungenauigkeiten bei der Vorgabe eines Anfangswertes. Die Menge aller instabilen periodischen Zyklen stellt ein „Gerüst“ des Attraktors dar und bestimmt somit die Systemdynamik.
e) Transientes Chaos Das Systemverhalten wird transient chaotisch genannt, wenn das System für einen gewissen Zeitraum chaotisches Verhalten zeigt, schließlich aber doch gegen einen Attraktor konvergiert oder aber divergiert. Beim Übergang von periodischem zu chaotischem Verhalten durch Variation des Kontrollparameters ist dann kein qualitativer Sprung des Systemverhaltens festzustellen, sondern vielmehr ein stetiger Übergang.
27.2.2
Fraktale Geometrie des Chaos
a) Fraktal Fraktal, von Mandelbrot geprägter Begriff zur Beschreibung von räumlichen Strukturen, die eine nichtganzzahlige Dimension aufweisen. ● Ein theoretisches Fraktal entsteht aus der unendlich häufigen Anwendung eines bestimmten Rückkopplungsschemas, das ein selbstähnliches, unendlich feines Muster von Mustern erzeugt. Das Fraktal
27.2 Deterministisches Chaos und Fraktale Geometrie
859
bildet die Grenzmenge des zugrunde liegenden (diskreten oder kontinuierlichen) dynamischen Prozesses. Zufallsfraktal, entsteht wenn dem Rückkopplungsschema eine Zufallskomponente zugefügt wird. ▲ Fraktale Strukturen in natürlichen Systemen (natürliche Fraktale) zeigen die fraktalen Eigenschaften nur lokal und in bestimmten Skalenbereichen. Außerdem spielt hier meist der Zufall eine entscheidende Rolle, indem er die konkrete Ausgestaltung der fraktalen Struktur bestimmt. ■ Cantor-Menge: Die für das Verständnis der Zusammenhänge zwischen Chaostheorie und fraktaler Geometrie wichtigste fraktale Struktur ist die Cantor-Menge. Sie kann als Grundmodell für die allen fraktalen Strukturen zugrunde liegenden Gestaltungsprinzipien gelten und bildet ihre wesentlichen Eigenschaften ab. Die Cantor-Menge C entsteht, indem aus einer gegebenen Strecke das mittlere Drittel entfernt und diese Vorgehensweise ad infinitum fortgesetzt wird.
Jede Strecke wird in jeder Iteration k auf n = 2 Teile reduziert, deren Länge je r = 13 der ursprünglichen Strecke beträgt. Es entsteht eine unendliche, nichtabzählbare Menge nichtzusammenhängender Punkte. Das (Längen-)Maß dieser Punktmenge ist offensichtlich gleich null, was sich auch anhand ihrer Komplementärmenge C zeigen lässt, denn es gilt: k
b) Selbstähnlichkeit Exakte Selbstähnlichkeit theoretischer fraktaler Mengen (wie z. B. der Cantor-Menge), entsteht aus der Rekursivität der verwendeten Abbildungsvorschrift. Die geometrische Struktur der chaotischen Lösung eines nichtlinearen dissipativen Systems weist i. d. R. eine statistische Selbstähnlichkeit auf, wenn sie durch einen unendlichen Prozess des Streckens und Faltens entstanden ist. Die fraktale Struktur einer chaotischen Lösung wird damit über die Bestimmung gewisser charakteristischer Maßzahlen (wie z. B. der Dimension) beschreibbar. ▲ Tatsächlich werden heutzutage nicht unerhebliche Anstrengungen unternommen, ökonomische Zeitreihen (z. B. Börsenindizes) auf Selbstähnlichkeit zu untersuchen. Die Resultate sind bisher aber eher ernüchternd.
c) Seltsamer Attraktor Fraktaler Attraktor, Attraktor, der aus einer unendlichen Punktmenge besteht und nicht stückweise differenzierbar ist. In Zusammenfassung der dynamischen und geometrischen Eigenschaften der Lösung eines dissipativen Systems spricht man von einem seltsamen Attraktor, wenn dieser chaotisch und fraktal ist.
d) Fraktale Attraktionsbereiche Chaos zeigt sich besonders deutlich in der fraktalen Struktur der Attraktionsbereiche eines Systems. Komplexere Systeme haben oftmals mehrere koexistierende Attraktoren, deren fraktale Attraktionsbereiche ineinander verwoben sind. Nicht nur der Verlauf auf einem seltsamen Attraktor sondern auch, gegen welchen Attraktor das System läuft, ist sensitiv abhängig vom Startwert. Auch sehr lange Transienten zeigen fraktale Struktur. Ihre chaotischen Bahnen verlaufen dabei lange Zeit auf den Grenzen des (bzw. der) Attraktionsbereiche(s) des Systems.
Konzepte zur Charakterisierung chaotischer Dynamik und fraktaler Struktur
a) Poincaré-Schnitt und Poincaré-Abbildung Poincaré-Schnitt, (n−1)-dimensionale Hyperebene P, die die Phasenraumtrajektorien eines kontinuierlichen n-dimensionalen dynamischen Systems überall transversal schneidet. Die diskrete Dynamik der Wiederkehrsequenz der Trajektorie auf der Schnittebene ergibt die PoincaréAbbildung fP . ▲ Die Poincaré-Abbildung reduziert den n-dimensionalen Fluss eines Differenzialgleichungssystems auf eine (n − 1)-dimensionale diskrete Abbildung. Das Zeitintervall zwischen zwei aufeinander folgenden Durchschneidungen ist endlich, die einzelnen Intervalle müssen aber nicht zwangsläufig gleich lang sein. Die Poincaré-Abbildung ergibt insofern eine diskrete Dynamik in den Schnitten k, nicht in der Zeit t, also z. B. xi+1 = fP (xi ) wobei i den i = 1 . . . k-ten Schnitt der Trajektorie durch P bezeichnet. Nur bei expliziter Betrachtung periodischer Orbits ergibt sich eine zeitgetreue diskrete Abbildung der kontinuierlichen Dynamik in der Form xt+n = fP (xt ), wobei n die Periode des betrachteten Orbits ist. Die Transversalität des Poincaré-Schnittes P stellt sicher, dass eine Poincaré-Abbildung fP alle strukturellen Informationen über den Fluss des ursprünglichen Systems bewahrt: p
p
xi x i+1
q q
(a)
(b)
p
p
q
(c)
q
(d)
Visualisierung der Trajektorien im Phasenraum durch eine Poincaré-Abbildung (schematisch). Betrachtet wird die Folge der Punkte x = (q,p), in denen die Trajektorie die p,q-Ebene von oben nach unten senkrecht durchstößt: (a) Poincaré-Abb. xi+1 = fP (xi ). (b) Periodischer Zyklus. (c) Quasiperiodische Lösung. Die Durchstoßungspunkte liegen auf einer invarianten Kurve. (d) Chaotische Lösung. Die Durchstoßungspunkte sind irregulär in der Ebene verteilt.
27.2 Deterministisches Chaos und Fraktale Geometrie
861
b) Rekonstruktion des Phasenraums durch Bildung von m-histories Rekonstruktion des Phasenraums aus einer Reihe von Beobachtungswerten: Wir betrachten einen diskreten deterministischen Prozess yt+1 = g(yt ), mit g : Rn → Rn und 1 ≤ t ≤ T , wobei y die (unbekannten) Variablen bezeichnet und n die unbekannte Dimension des Prozesses ist. Der Prozess selbst ist nicht direkt beobachtbar, jedoch stehen gewisse Zeitreihendaten xt = f (yt ) zur Verfügung, wobei f : Rn → R einem (unbekannten) Aggregationsschema entspricht. Die Zeitreihendaten xt können als Projektion einer Lösungstrajektorie des Attraktors der unbekannten Dimension n auf eine Dimension verstanden werden. Wenn eine genügend große Anzahl von Beobachtungen vorliegt, bildet man eine Menge m-dimensionaler Vektoren aufeinander folgender Beobachtungen xt(m) = (xt ,xt+1 , . . . ,xt+(m−1) ) mit 1 ≤ t ≤ (T −m+1), die in einen m-dim. Raum Rm ⊇ Rn eingebettet werden können. Es lassen sich M = T − m + 1 solcher, sich überlappender Vektoren bilden, die man als m-histories des Prozesses bezeichnet. Nach dem Theorem von Takens können aus ihrer Betrachtung entscheidende Rückschlüsse auf den originären Prozess gezogen werden, sofern die so genannte Einbettungsdimension m die Bedingung m > 2n+1 erfüllt, wobei n die Dimension des originären Prozesses und damit gleich der tatsächlichen Dimension des Attraktors ist. Diese Einbettung besitzt die generisch gleichen Eigenschaften wie die ursprüngliche Zeitreihe yt . Insbesondere bleibt der maximale Lyapunov-Exponent des originären Prozesses auch in dieser Konstruktion erhalten.
c) Lyapunov-Exponenten Eindimensionale Lyapunov-Exponenten λ j (abgekürzt LE), j = 1 . . . n, wichtigstes Kriterium zur Identifikation und Systematisierung chaotischer Systeme. Sie messen die mittlere Divergenz (λ j > 0) oder Konvergenz (λ j < 0) benachbarter Trajektorien in n unabhängigen Raumrichtungen des Rn . Die LE charakterisieren damit die sensitive Abhängigkeit von den Anfangsbedingungen. Da die analytische Bestimmung der LE i. d. R. nicht möglich ist, wurde eine Reihe von numerischen Verfahren entwickelt. Dabei sind Verfahren zur Schätzung des größten LE (einstufiger Wolf-Algorithmus, Verfahren von Kurths/Herzel) von denen zur Schätzung des gesamten Spektrums der eindimensionalen LE (mehrstufiger Wolf-Algorithmus, Verfahren von Benettin u. a., Algoritmus von Eckmann/Ruelle u. a., BriggsAlgorithmus) zu unterscheiden. ▲ Da ein dissipatives System durch eine gewisse Volumenkontraktion gekennzeichnet ist, muss die Summe der LE stets kleiner null sein. ● Ein dynamisches System weist sensitive Abhängigkeit von den Anfangsbedingungen auf, wenn wenigstens ein Lyapunov-Exponent größer null ist. Ein dissipatives System besitzt dann einen chaotischen Attraktor. Die Zahl der positiven LE λ + gibt an, in wie vielen Raumrichtungen das System divergiert. ● Ist λ + > 1, so bezeichnet man das System als hyperchaotisch. Die absolute Größe der LE ist von geringerer Bedeutung, zumal die numerische Ermittlung der LE mit erheblichen Ungenauigkeiten behaftet ist. Lyapunov-Spektrum, erlaubt die Klassifikation des dynamischen Verhaltens eines dissipativen Systems:
d) Effektive Lyapunov-Exponenten Effektive Lyapunov-Exponenten λ jeff (x(t0 ),T ), quantifizieren bei hinreichender Kenntnis der Systemdynamik die Vorhersagbarkeit einer konkreten Entwicklung. Sie messen die Separation, die die Trajektorien aus der 0 -Umgebung U0 (x(t0)) eines Punktes x(t0) während des Zeitintervalls t0 ≤ t ≤ T durch die kontinuierliche Systemdynamik erfahren. ● Die effektiven LE sind definiert als die Quotienten der Logarithmen der Länge a j (T ) der Halbachsen des entstehenden Ellipsoids und der Zeit T 1 λ je f f (x(t0),T ) = · ln a j (T ) . T a2 (T )
a2 (t )
x (t0 ) ε0
a1(T )
a1(t ) x (t )
x (T )
Veränderung der kugelförmigen 0 -Umgebung von x(t0 ) unter dem Fluss F(x(t),T ) zum ellipsoiden Phasenraumvolumen VT mit den Halbachsen a1 (T ) und a2 (T ). Die Länge a j (T ) der Halbachsen wird numerisch ermittelt. Die effektiven LE geben Auskunft über das konkrete Verhalten des Systems im Intervall t0 ≤ t ≤ T , ausgehend von einem bestimmten Anfangspunkt x(t0 ). Sie können zur Quantifizierung des Informationsverlustes über den Zustand des Systems
27.2 Deterministisches Chaos und Fraktale Geometrie
863
in diesem Zeitraum herangezogen werden. Damit lassen sich auch quantitative Aussagen über die zu erwartende Güte möglicher Voraussagen in diesem Intervall ableiten. ● Von besonderer Bedeutung sind die effektiven Lyapunov-Exponenten bei der Identifizierung und Analyse von Intermittenz und transientem Chaos. Beides hinterlässt deutlich Spuren in der Entwicklung der effektiven Lyapunov-Exponenten. Die Intermittenz spiegelt sich in einem deutlich schwankenden, positiven Verlauf der effektiven LE wider: ■ Beispiel der logistischen Abbildung für µ = 3,828 und µ = 3,8283: λeff
0,3 0,25
µ
0,2
3,82
0,15
3,828
0,1
3,8283
0,05 0 0
100
200
300
400
500
600
700
800
900
3,82847 t 1000
Entwicklung der effektiven LE λ eff im Zeitablauf für einen chaotischen (µ = 3,82), zwei intermittente (µ = 3,828 bzw. µ = 3,8283) und einen zyklischen Wert (µ = 3,82847) des Kontrollparameters, wobei der effektive LE eff im letzten Falle deutlich transientes Chaos für ca. 150 Perioden zeigt. Im ersten Fall zu Beginn herrscht eine turbulente Phase vor, während im zweiten zunächst eine laminare Phase den Verlauf bestimmt. Im Gegensatz dazu zeigt sich für den chaotischen Parameterwert µ = 3,82 ein deutlich „stabilerer“ Verlauf. Jedes Ansteigen der Kurve deutet auf eine besonders instabile, jedes Fallen auf eine stabile Phase. ▲ Bei transientem Chaos werden daher während des z. T. sehr lange dauernden irregulären Verlaufs
deutlich positive effektive LE registriert, bevor die Konvergenz gegen einen stabilen Zyklus oder Fixpunkt bzw. die Divergenz einsetzt (vgl. die Entwicklung von µ = 3,82847).
e) Korrelationsdimension Das bedeutenste Verfahren zur Abschätzung der Dimension eines rekonstruierten Attraktors ist die Bestimmung der Korrelationsdimension dC nach Grassberger/Procaccia. Während die m-histories bei einem stochastischen Prozess stets dem Raum ausfüllen und daher dC (m) ≈ m ist, sollte bei einem deterministischen Prozess (mit endlicher Dimension k) dC (m) mit wachsendem m gegen einen festen Wert dC konvergieren. ▲ Das Verfahren funktioniert im Allgemeinen recht gut bei langen Zeitreihen guter Qualität, aber es gibt irreführende Ergebnisse für kurze Zeitreihen. Mit der Zahl der in ökonomischen Zeitreihen zur Verfügung stehenden Daten lässt sich allein aus formalen Gründen allenfalls niedrigdimensionales Chaos nachweisen.
f) Shuffle-diagnostic Shuffle-diagnostic (shuffle: durcheinanderschütteln), einfaches Verfahren zur Ergänzung des vorherigen Ansatzes. Werden die Werte der Zeitreihe zufällig durcheinander gemischt, dann sollte die ggf. zugrunde
liegende Struktur zerstört werden. Bestimmt man nun erneut die Korrelationsdimension, ist in dieser „vermischten“ Zeitreihe eine höhere Dimension zu erwarten, sofern sie nicht zuvor schon stochastisch war.
g) Residuen-Test Residuen-Test, kann sowohl zur Kontrolle der Lyapunov-Exponenten als auch der Korrelationsdimension verwendet werden. Wenn ein dynamischer Prozess von niedrigdimensionalem deterministischen Chaos geprägt ist, kann der Erklärungsbeitrag eines linearen (oder auch nichtlinearen und nicht chaotischen) Schätzmodelles nicht sehr groß sein. Wird die Zeitreihe daher durch ein entprechendes (plausibles) Modell geschätzt, so sollten die verbleibenden Residuen dieselben Charakteristika wie die ursprüngliche Zeitreihe zeigen. Insbesondere für kurze Zeitreihen erscheint es unverzichtbar, die mit erheblichen Unsicherheiten behaftete Kalkulation von Dimension und LE mithilfe des Residuen-Tests zu bestätigen.
h) BDS-Statistik BDS-Statistik, belegt eine gewisse Strukturbildung in einer Zeitreihe. Diese kann aber durch • deterministische oder stochastische lineare Abhängigkeiten, • Nichtstationarität (d. h. fehlende Strukturkonstanz), • Chaos oder • nichtlineare stochastische Zusammenhänge (wie z. B. in NMA-, TAR- oder (G)ARCH bzw. EGARCHModellen) hervorgerufen sein. Ihr Potenzial entfaltet die BDS-Statistik damit erst, wenn sie auf die Residuen eines Schätzmodells angewandt wird, um dessen Güte zu beurteilen. Filtert man zuerst mögliche lineare Abhängigkeiten heraus, indem man die BDS-Statistik auf die Residuen eines linearen Schätzmodelles (i. d. R. ein AR(n)-Modell) anwendet, so kann man bei Ablehnung der Nullhypothese auf das Vorliegen eines nichtlinearen Zusammenhanges schließen. ▲ Die Anwendung der BDS-Statistik auf die Residuen nichtlinearer Schätzmodelle ist allerdings mit einigen Schwierigkeiten verbunden, sodass i. d. R. keine klare Unterscheidung stochastischer und deterministischer Nichtlinearitäten möglich ist.
27.3
Chaos in den Wirtschaftswissenschaften
Insbesondere aufgrund der sehr kurzen Datenreihen dürfte es praktisch unmöglich sein, deterministisches Chaos in einem ökonomischen System exakt nachzuweisen. Auch die soziale Interaktion der Elemente und das Vorhandensein exogener Störeinflüsse werden als Argumente gegen eine Übertragung chaostheoretischer Ansätze auf ökonomische Systeme vorgebracht. Versteht man soziale Systeme als dissipative Strukturen, dann lassen sich ordnende Prozesse identifizieren, die eine Formulierung niedrigdimensionaler dynamischer Modelle gestatten. Angesichts der fehlenden Strukturkonstanz ist dabei weniger der finale Systemzustand von Interesse, als vielmehr die Struktur der momentanen Bewegung. Die ökonomische Bedeutung der Nichtlinearen Dynamik geht daher u. U. weit über den Fall des tatsächlichen Vorliegens determinsitischen Chaos hinaus. ▲ Gerade transientes Chaos und die zusätzliche Einbeziehung externer Störungen im Falle des so genannten gestörten Chaos sind unter diesem Gesichtspunkt von erheblicher ökonomischer Bedeutung.
27.3 Chaos in den Wirtschaftswissenschaften
27.3.1
865
Chaostheoretische Untersuchungen in den Wirtschaftswissenschaften
a) Chaos in der Volkswirtschaftlslehre Dynamische Modelle besitzen in der Volkswirtschaftslehre eine lange Tradition. Auch die ersten wirtschaftswissenschaftlichen Untersuchungen zum Thema Chaos sind hier anzusiedeln. Auch wenn das zufallsbedingte Erscheinungsbild und der scheinbar zyklische Charakter als typische Eigenschaften makroökonomischer Daten eine Erklärung ökonomischer Prozesse durch Ansätze der Chaostheorie nahe legen, so muss doch als vorläufiges Fazit geschlossen werden, dass makroökonomische Zeitreihen zum Nachweis von deterministischem Chaos insgesamt wenig geeignet erscheinen. Die Gründe hierfür sind: • Die Zahl der Daten in den verfügbaren Zeitreihen ist zu gering. • Die Komplexität hochaggregierter Systeme ist so groß, dass Störungen nicht explizit berücksichtigter Einflussfaktoren die zu beobachtende Dynamik bei weitem überdecken können. • Der „Verwaschungseffekt“ bei hohem Aggregationsgrad nivelliert in der Summe einzelne chaotische Reaktionen. Erfolgversprechender scheint die Suche in wohlformulierten mikroökonomischen Zusammenhängen. Allerdings lassen sich diese theoretischen Modelle nur schwerlich empirisch überprüfen. Fortschritte sind durch kontrollierte Experimente zu erwarten (Unternehmensplanspiele). ● Zurzeit steht die Suche nach chaotischen Mustern an Aktien-, Devisen- oder Warenmärkten im Vordergrund. Der Hoffnung, eine Verbesserung der Vorhersage von Kursentwicklungen erzielen zu können, muss aber eine klare Absage erteilt werden. Gerade in diesen z. T. hochspekulativen Märkten ist damit zu rechnen, dass die Erkenntnis über einen Zusammenhang das Verhalten der Aktoren nachhaltig verändert und das gefundene Modell damit hinfällig wird. Die Chaostheorie kann ggf. Aussagen über die Häufigkeit von Kursstürzen machen, nicht aber ihr Datum voraussagen! Neuere Untersuchungen der Kursentwicklung an den internationalen Devisenmärkten sprechen sogar gegen die These einer Skaleninvarianz der Zeitreihe. Vielmehr sind deutliche Unterschiede in den Wahrscheinlichkeitsverteilungen für die Kursänderungen in kleineren (bis zu zwei Tagen) und größeren Zeiträumen zu beobachten. In vielen der untersuchten Zusammenhänge lassen sich nichtlineare Strukturen identifizieren. Mikrostrukturen können ggf. durch hochdimensionale, Makrostrukturen durch niedrigdimensionale chaotische Modelle beschrieben werden. Theoretische Modelle zeigen zumindest ein solches Potenzial auf, theoretische Verallgemeinerungen lassen es sogar als „wahrscheinlich“ erscheinen. Die nicht zu vernachlässigenden exogenen Einflüsse aber machen eine Beobachtung unmöglich! Es scheint daher angebracht, Chaos eher in klar abgrenzbaren und strukturierten Untersuchungsfeldern, wie sie die Betriebswirtschaftslehre darstellt, zu suchen.
b) Chaos in der Betriebswirtschaftlslehre ▲ Die überwiegende Mehrzahl der chaostheoretischen Untersuchungen in der Betriebswirtschaftslehre sind rein theoretischer Natur. Im Vordergrund stehen dynamische Modelle aus den Bereichen Absatz/Marketing, Produktion/Logistik, Innovations-/Insolvenzforschung und Unternehmensplanspiele. Die Einführung der verwendeten nichtlinearen Terme kann i. d. R. ökonomisch und/oder modelltheoretisch begründet werden. Auch wenn viele der Modelle (meist bewusst) als einfache, exemplarische Ausschnitte formuliert sind, so steht die adäquate Modellierung der Zusammenhänge im Vordergrund und Chaos bzw. ein Chaospotenzial wird meist simulativ und nicht implizit über die Modellform nachgewiesen. Der Rückgriff auf die Simulation als Analysemethode zur Erstellung von Bifurkationsdiagrammen und zur Ermittlung genügend langer Zeitreihen für die Berechnung von Lypunov-Exponenten und Dimension ermöglicht auch die Formulierung komplexerer Zusammenhänge in höherdimensionalen Modellen.
Hervorzuheben sind die Arbeiten der Gruppe um Mosekilde und Sterman, insbes. die verschiedenen Formulierungen des so genannten Beer-Production-Distribution-Model. Ausgehend von einem zunächst abstrakten Wirkungsmodell werden, aufbauend auf den verhaltenstheoretischen Annahmen gemäß der Theorie der begrenzten Rationalität von Kahneman/Tversky, mehrdimensionale Differenzial- bzw. Differenzengleichungssysteme formuliert, die anschließend simulativ auf chaotisches Verhalten untersucht werden. Die für die Simulation verwendeten Parameterwerte wurden dabei teilweise aus experimentell gewonnenen Versuchsreihen abgeleitet. ● Die experimentellen Untersuchungen zeigen, dass Chaos aus der Interaktion der Aktoren in realistischen Entscheidungssituationen entstehen kann. Chaos kann daher als ein möglicher Zustand sozialer und ökonomischer Systeme aufgefasst werden, dessen Entdeckung aber u. U. durch die fehlende Transparenz in aggregierten Daten verhindert wird. Die Möglichkeit, anhand vorformulierter (Unternehmens-)Planspiele kontrollierte Experimente durchzuführen, eröffnet ein weites Untersuchungsfeld. Zwar darf man die hier gewonnenen Ergebnisse nicht mit empirisch ermittelten Zeitreihen vergleichen, da die Modellformulierung vom Experimentator fest vorgegeben ist. Andererseits lassen sich wichtige Erkenntnisse über mögliche Aktionen und Reaktionen der Versuchspersonen gewinnen, die eine wesentliche Hilfe bei der Suche nach einer adäquaten Beschreibung menschlichen Handelns bieten. Auf Grundlage dieser individuellen Verhaltensregeln müsste es möglich sein, auch geeignete komplexere Modelle über das Verhalten von Gruppen und Organisationen zu entwerfen, die empirisch beobacht- und überprüfbar sein sollten.
27.3.2
Chaosgenerierende Mechanismen in der betriebswirtschaftlichen Modellierung
▲ Für die Entstehung von Chaos ist immer ein Prozess des Streckens und Faltens verantwortlich. Das heißt in dem Modell existiert wenigstens eine lokale positive Rückkopplung, die durch eine globale negative Rückkopplung begrenzt wird. Aus Sicht der betriebswirtschaftlichen Modellierung ergeben sich die folgenden chaosgenerierenden Mechanismen.
a) Nichtlinearität Nichtlinearität wenigstens einer Modellgleichung, notwendige Bedingung für das Auftreten von Chaos. Weder der Grad, noch die Anzahl nichtlinearer Gleichungen lässt sich aber in Beziehung zur Wahrscheinlichkeit oder Stärke des Chaos setzen. Es ist vielmehr die Art und Stärke der Nichtlinearität, die hierfür verantwortlich ist. ● Selbst die Nichtlinearität aller Modellgleichungen ist keine hinreichende Bedingung für Chaos. Die grundsätzliche Bedeutung nichtlinearer Zusammenhänge wurde bereits von Gutenberg erkannt und manifestiert sich bspw. in nichtlinearen Preis-Absatz-Funktionen und s-förmigen Produktions- und Kostenfunktionen. ▲ Die Nichtlinearität muss aber in Zusammenhang mit einer direkten oder indirekten Rückbezüglichkeit stehen, um eine lokale positive Rückkopplung zu erzeugen. ● Betriebswirtschaftlich relevante Nichtlinearitäten ergeben sich aus den folgenden Zusammenhängen: • Nichtkonkavitäten, z. B. durch zunehmende Skalenerträge, signalisieren postive Rückkopplungen. • Nichtnegativität vieler ökonomischer Variablen erzeugt als feste Untergrenze eine negative Rückkopplung und ist für den Faltungsprozess verantwortlich. Fluktuationen, die sich aus einer HopfBifuraktion ergeben, werden z. B. oft durch die Nichtnegativitätsbedingung einzelner Variablen begrenzt.
27.3 Chaos in den Wirtschaftswissenschaften
867
■ Auch im Beer-Production-Distribution-Model erzeugen die Nichtnegativitätsbedingungen den
• • • •
• •
Faltungsprozess und bilden die wesentlichen Nichtlinearitäten des Modells. Ganzzahligkeit vieler ökonomischer Variablen spielt eine besondere Rolle, da sie sowohl zu positiven, wie auch negativen Rückkopplungen führen kann. Sprungstellen im Funktionsverlauf, entstehen bspw. bei fehlender Rationalität und Voraussicht aufgrund unvollständiger Information und begrenzter kognitiver Kapazität in Modellen menschlichen Entscheidungsverhaltens. Schwellwerte, die eine spezielle Art von Sprungstellen bilden, sind typisch für viele diskrete Entscheidungsprobleme, bei denen die Durchführung einer Aktion häufig vom Erreichen oder Unterschreiten eines bestimmten Wertes abhängt. Sättigungeeffekte bilden in Zusammenhang mit einem anfänglich überproportionalen Verhalten die häufigste Quelle chaotischer Dynamik in der Betriebswirtschaftslehre, wie auch in der Natur. Sättigungsdynamiken zeigen typischerweise einen s- oder z-förmigen Verlauf. Eine solche Funktion kann auch als stetige Approximation eines Schwellwertes interpretiert werden. Andere natürliche Beschränkungen, wie z. B. die Situation gegebener oberer und unterer Schranken, spiegeln sich in einer unimodalen Abbildung eines Intervalles auf sich selbst. Minimum- oder Maximum-Funktionen, können sich aus eher „künstlichen“ Beschränkungen aller Art für einzelne oder mehrere Variablen ergeben.
b) Rückkopplung Dynamische Rückkopplung wenigstens einer Variablen, zweite wesentliche Voraussetzung für Chaos, da eine Nichtlinearität ihre Wirkung nur in einer expliziten oder impliziten Rückkopplungsschleife entfalten kann. Sie entsteht in ökonomischen Modellen i. d. R. aus Zeitverzögerungen: • Aus endlich langen Bearbeitungszeiten (bzw. Verarbeitungs-, Transportzeiten usw.) und Reaktionszeiten ergeben sich bei realistischer Betrachtung bspw. unvollständige bzw. imperfekte Märkte. • Informations-Lag: Die Ausbreitung von Information erfolgt mit begrenzter Geschwindigkeit. Für eine Vielzahl der Bestandsgrößen in einem sozialen Systemen ist bspw. zwischen tatsächlichem und gewünschtem Bestand zu unterscheiden. Die aus der Abweichung dieser größen resultierende Rückkopplung ist zwar negativ, durch Zeitverzögerungen in der Informationsgewinnung und -übermittlung kommt es aber unweigerlich zu Fluktuationen. • Schnell-langsam-Dynamiken: Eine unterschiedliche Ablaufgeschwindigkeit von Prozessen führt zu verzögerten Rückkopplungen. So zeigen z. B. Rasmussen/Mosekilde, dass Instabilitäten und Chaos in einem Management-Modell dann auftreten, wenn das Informations-Feedback nur langsam im Verhältnis zur Veränderungsrate der anderen Größen ist. Während technische Systeme meist relativ weit von dieser Instabilitätsschwelle entfernt sind, vermuten sie, dass Mangement-Systeme i. d. R. relativ nahe an dieser Schwelle operieren!
c) Dissipativität Dissipativität der Bewegung, dritte grundlegende Voraussetzung für das Auftreten von deterministischem Chaos. Es existiert eine übergeordnete negative Rückkopplung, die trotz lokaler positiver Rückkopplungen die Begrenztheit garantiert. Sie ist in natürlichen System meist durch Ressourcenbeschränkungen gewahrt und ergibt sich analog in vielen ökonomischen Modellen. Unklar ist, inwieweit Prozesse der sozialen Interaktion ebenfalls diesem Muster folgen. ▲ Die ständige Generierung von Information kann als Motor für die Stabilisierung der dissipativen Struktur in einem gleichgewichtsfernen Zustand angesehen werden. Es ist davon auszugehen, dass Modelle gestörten Chaos diesem Aspekt der Realität näher kommen.
Zufällige exogene Störungen spielen in ökonomischen Betrachtungen eine größere Rolle als bspw. in physikalischen. Gerade die Erkenntnisse über das Zusammenwirken des Chaospotenzials eines nichtlinearen dynamischen Systems und zufälligen exogenen Störungen versprechen daher einen erheblichen Fortschritt in der Analyse dynamischer ökonomischer Systeme.
a) Gestörtes Chaos Gestörtes Chaos (noisy chaos), chaotische dynamische Systeme, deren Verhalten durch externe Zufallseinflüsse gestört wird.
b) Quellen des Zufalls ▲ Die Nichtberücksichtigung von externen Störungen und zufallsbedingten Schwankungen kann bei Systemen, die ein Chaospotenzial bergen, aufgrund deren hoher Sensibilität zu völlig unerwartetem Verhalten führen. Unsicherheit ist ein nicht zu vernachlässigender Faktor in der Modellierung und Analyse betriebswirtschaftlicher Zusammenhänge. Einerseits sind die zu erhebenden Daten nicht allein nur mit einer endlichen Genauigkeit zu erfassen (was aufgrund der Anfangswertsensibilität bekanntermaßen bereits problematisch ist) sondern stets selbst mit erheblichen Unsicherheiten behaftet, sei es aufgrund mangelnder Information, unvollständiger oder fehlerhafter Erhebungen oder einfach wegen der Zukunftsgerichtetheit von Prognosen. Andererseits sind aber auch stets die in einem Modell zugrundezulegenden Beziehungen vereinfachender und hypothetischer Natur, also mit erheblichen Unsicherheiten behaftet. Schließlich lassen sich nicht nur z. B. die Wirkungen komplexer meteorologischer oder biologischer Phänomene, die vermutlich selbst chaotisch sind, am ehesten als Zufallseinflüsse berücksichtigen, sondern bei der Formulierung von Teilmodellen bedarf es stets einer adäquaten Berücksichtigung ggf. unvorhergesehener Wirkungen anderer, u. U. chaotischer Teilmodelle. ● Dem Problem der Unsicherheit wird in der betriebswirtschaftlichen Modellierung durch Einführung stochastischer Zufallsvariablen Rechnung getragen.
c) Chaos durch Zufall? ▲ Einfache dissipative Systeme mit mehreren Attraktoren können durch genügend starke Störungen so weit „destabilisiert“ werden, dass sie einen positiven Lyapunov-Exponenten haben. Es erhebt sich die Frage, ob nicht viele der „beobachteten“ chaotischen Verhaltensweisen eher auf externe Störungen, als auf eine tatsächlich chaotische Dynamik zurückzuführen sind? Die Störungen bewirken hier ein zufälliges überschreiten des Randes des Einzugbereiches eines Attraktors und damit ein zufälliges Hin- und Herspringen zwischen verschiedenen Attraktionsbereichen. Rauschen wirkt destabilisierend und verhindert das Erreichen eines der Attraktoren. Sind die Attraktionsbereiche so verschlungen bzw. die Störungen so groß, dass auch längerfristig keiner der Attraktoren die Bewegung „einfängt“, dann ergibt sich ein in natürlichen Systemen häufiges Szenario: eine dissipative Struktur fern des Gleichgewichts.
d) Persistenz ▲ Bei Betrachtung stochastischer Systeme muss das Konzept der Stabilität dem Umstand angepasst werden, dass jede beliebige Störung möglich und eine absolute Aussage über das Verhalten des Systems daher unmöglich ist. Anstelle von Stabilität spricht man von der Persistenz eines Attraktors. Persistenz eines Attraktors, durchschnittliche Verweildauer einer Trajektorie im Einzugsbereich des bzw. auf dem Attraktor.
27.4 Chaos und Zufall
869
● Der Übergang von einem Attraktionsbereich zu einem anderen ist in stochastischen Systemen nicht mehr auf Bifurkationspunkte (degenerierte kritische Punkte) beschränkt, sondern kann in Abhängigkeit des Störterms bei jeder Parameterkombination (im bi- oder multistabilen Parameterbereich) erfolgen. Es gibt damit keine scharfen Grenzen der Attraktionsbereiche mehr. Erfolgt der Einfluss der zufälligen Störungen allein auf die Ausprägungen der Variablen (additiver Zufall), so bleibt die Zahl und Struktur der Attraktoren davon unbeeinflusst. Der Zufall wirkt sich allein auf die Dynamik, d. h. den Verlauf der Trajektorien aus. Die Zufälligkeit im Übergang von einem stabilen Attraktor zum anderen erzeugt eine Situation mit zwar unvorhersehbarem, aber statistisch beschreibbarem Verhalten. ● Je näher eine Trajektorie am Attraktor bzw. je weiter sie von den Grenzen des Attraktionsbereiches entfernt ist, umso unwahrscheinlicher wird der plötzliche Sprung in einen anderen Attraktionsbereich. Im Falle eines diskreten, zyklischen Attraktors, kann allerdings durchaus eine Zeitreihe resultieren, die auf den ersten Blick kaum von einer chaotischen Zeitreihe zu unterscheiden ist (→ zufallsinduziertes Chaos). In einem chaotischen stochastischen Modell ist der Einfluss additiven Zufalls zwar weniger deutlich, aber doch von größerer Tragweite. Der chaotische Verlauf wird i. Allg. durch die zusätzlichen Störungen qualitativ in dem Sinne wenig beeinflusst, dass er chaotisch bleibt. Allerdings zerstört ein hohes Level an zufälligen Störungen die Signale des deterministischen Chaos, d. h. es wird endgültig unmöglich, die zugrunde liegende deterministsiche Struktur zu erschließen. Da die Attraktionsbereiche chaotischer Attraktoren i. d. R. stark ineinander verwoben sind, ist von einem ständigen, zufälligen Wechsel von einem Attraktor auf einen anderen auszugehen. Dabei sind Sprünge von chaotischen zu stabilen Attraktoren möglich und umgekehrt. Selbst der kurzzeitige Aufenthalt im Bereich explodierender Lösungen ist denkbar. Besonders interessant wird aber der Fall, in dem die zufälligen Störungen unmittelbar die Kontrollparameter beeinflussen. Die strukturelle Stabilität des Systems geht verloren und nicht nur das zufällige Hin- und Herwechseln zwischen verschiedenen Attraktionsbereichen, sondern auch das plötzliche Erscheinen und Verschwinden von Attraktoren erschwert die Analyse des Systemverhaltens. Man kann bestenfalls eine statistische Beschreibung der Häufigkeit geben, mit der die Trajektorie gewisse Raumbereiche aufsucht, d. h. die Persistenz des Systems in Abhängigkeit des Störungslevels ermitteln. Die Persistenz wird damit zum zentralen Begriff bei der Analyse stochastischer Systeme. ● Da alle realen Systeme irgendeiner Art zufälliger äußerer Einflüsse ausgesetzt sind, haben nur persistente Eigenschaften eines Systems praktische Relevanz.
27.4.1
Analyse zufälliger Störungen in dynamischen Systemen
Im Falle additiven Zufalls wird der Zeitreihe einer Zustandsgröße eines deterministischen chaotischen Systems die Zeitreihe einer Zufallsvariable additiv hinzugefügt. Da die Systemgleichungen jedoch mindestens eine Rückkopplung enthalten, ist dies nicht so zu deuten, dass die prinzipiell deterministisch bestimmten Zeitreihen nachträglich verrauscht werden. Vielmehr beeinflusst jede Störung über diese Rückkopplungen mittelbar das Verhalten des Systems und damit die Ausprägungen der nachfolgenden Zeitreihenwerte. ■ Im Periodenverdopplungsszenario zeigen die Addition eines Störterms und die Störung eines Parameters sogar strukturell äquivalente Auswirkungen, sodass man sich auf die Analyse des additiven Zufalls beschränken kann.
a) Zufallsinduziertes Chaos ■ Für ein eindimensionales System in Form einer logistischen Abbildung bedeutet additiver Zufall, dass der gestörte Zustand x˜t der Variablen xt zum Zeitpunkt (t + 1) sich nun bestimmt aus x˜t+1 = f (x˜t ,µ ) + εt+1 = µ · x˜t · (1 − x˜t ) + εt+1 , wobei εt eine beliebige, im Intervall [−δ ,δ ] gleichförmig verteilte Zufallsvariable sei. Die aktuelle Ausprägung von xt+1 ergibt sich aus dem Funktionswert f (x˜t ,µ ) des gestörten Wertes x˜t der Vorperiode und dem aktuellen Störterm εt+1 .
Der Parameter µ legt, wie im deterministischen Falle, die grundlegende Struktur des Attraktors A fest. Durch eine zufällige Störung kann es jedoch u. U. dazu kommen, dass die Trajektorie den Einzugsbereich Bs des Attraktors verlässt. Außerdem wird die Konvergenz gegen den Attraktor durch die permanenten Störungen verhindert. Wenn nacheinander auftretende Störungen verstärkend oder neutralisierend wirken, können nicht nur völlig erratische, sondern auch scheinbar chaotische Schwankungen entstehen. Der Schwankungsbereich der gestörten Lösungen ist zwar im Mittel von der Verteilung und der (mittleren) Stärke der Störgröße abhängig, aufgrund der Rückkopplung aber nicht grundsätzlich einschränkbar. ■ Konvergierende Entwicklung der ungestörten Zeitreihe xt im Vergleich zu einer gestörten Zeitreihe x˜t , für die ersten 200 Werte mit µ = 2,5 und dem Startwert x0 = 0,5 xt , ~ xt
t
Es wurden maximale Störungen von ±0,05 (das sind zusammen 10 % des Wertebereichs) angenommen, was aber nicht als Schwankungsbereich um das Gleichgewicht bei 0,6 angesehen werden darf. Sich verstärkende Störungen führen im betrachteten Bereich zu Abweichungen bis zu 0,085. ▲ Theoretisch sind Abweichungen bis an die Intervallgrenzen möglich! Die Zufälligkeit der Schwan-
kungen verhindert jedoch i. d. R. das Auftreten dieser theoretisch möglichen, aber äußerst unwahrscheinlichen Extremfälle, sodass sich anhand der Grafik grob ein ungefährer Schwankungsbereich abstecken lässt. ■ Betrachtet man jedoch ein mehrperiodisch stabiles System, so führen die Störungen nun zu einem nicht mehr überschaubaren „Durcheinander“. Bereits für µ = 3,4, was im ungestörten Falle zu einem 2er-Zyklus führt, ergibt sich bei Störungen von ±0,05 intermittenz-ähnliches und auch scheinbar völlig regelloses Verhalten. Der nur aus den Fixpunkten bestehende Attraktor des ungestörten Systems „verwischt“ zu einem scheinbar chaotischen Attraktor. xt , ~ xt
t
27.4 Chaos und Zufall
871
Das Chaospotenzial des dynamischen Systems wird durch den Zufall „aktiviert“. Die vorhandenen lokalen Instabilitäten führen bei zufälligen Störungen zur Zerstörung der periodischen Lösungen und erhöhen dabei die Beobachtbarkeit des Chaos. Dieses Phänomen bleibt nicht auf das Periodenverdopplungszenario begrenzt, sondern gilt bspw. auch für additiven Störungen bei Intermittenz vom Typ II oder homoklinen Bifurkationen (sie entstehen beim Zerfall homo- und heterokliner Bahnen) in einem System mit einem stabilen Attraktor. Ohne Störungen besitzt ein solches System zwar chaotische Transienten, irgendwann aber läuft jede Trajektorie gegen den stabilen Attraktor. Da die chaotischen Transienten gegenüber zufälligen Störungen aber weniger anfällig sind, als die stabile Lösung, kann der Zufall hier denn chaotischen Repulsor regelrecht „stabilisieren“. Fortgesetzte Störungen führen das System immer wieder auf chaotische Bahnen und damit zu zufallsinduziertem Chaos.
b) Zufallsinduzierte Stabilisierung Extrem asymmetrische Abbildungen zeigen oftmals ein als zufallsinduzierte Stabilisierung bezeichnetes Phänomen. ▲ Da die Instabilität durch die wenigen, dann aber sehr steilen Teilbereiche der Abbildung hervorgerufen wird, während große, eher flache Teilbereiche zu einer stabilen Lösung führen, wird die Wahrscheinlichkeit bzw. die Zeitdauer stabilen Verhaltens mit wachsenden Störungen eher größer. Gleichzeitig ist das konkrete Systemverhalten und die Sensitivität gegenüber Änderungen der Startwerte oder Parameter viel stärker von lokalen als globalen Aspekten geprägt, d. h. die lokalen bzw. effektiven Lyapunov-Exponenten weichen u. U. erheblich von den globalen Lyapunov-Exponenten ab. Auch dieses Phänomen bleibt nicht auf das Periodenverdopplungszenario in unimodalen, nicht-differenzierbaren oder stückweise lineare Abbildungen mit ausgeprägt flachen Teilstücken begrenzt, sondern gilt bspw. auch für additive Störungen bei Intermittenz vom Typ I oder Parameterstörungen bei Intermittenz vom Typ II.
27.4.2
Erklärungsgehalt von Modellen mit gestörtem Chaos
In einem System, das ein Chaospotenzial, transientes Chaos oder eine Dynamik mit einer Periode besitzt, die deutlich größer ist, als die Störungsperiode, genügen u. U. kleinste zufällige Störungen um aperiodisches Verhalten auszulösen. Sie halten damit einerseits die dissipative Dynamik in Gang, ermöglichen andererseits in bestimmten Situationen einen als Innovation zu bezeichenenden Qualitätssprung (d. h. den Übergang über eine Separatrix auf einen qualitativ anderen Attraktor). Systeme mit einer deterministisch chaotischen Entwicklung sind dabei besonders geeignet, unter dem unvermeidlichen Einfluss zufälliger Störungen, komplexe Verhaltensweisen ausbilden, die denen in der Realität zu beobachtenden sehr nahe kommen. Im nichtlinearen Wirkungsgeflecht individuellen Handelns spielt der Zufall, völlig unabhängig von seiner Herkunft (Mess-, Rechen- oder Beobachtungsfehler, Input eines anderen chaotischen Systems, „echter“ Zufall oder auch Irrationalität, Launen und freier Wille), eine entscheidende Rolle. Aus solch zufälligen Störungen entstehen die ausschlaggebenden Impulse, die das System aus dem Einzugsbereich des einen in den eines anderen der koexistierenden Attraktoren bringen. Die dem Chaos zugrunde liegende komplexe Struktur des Lösungsraumes und der Zufall selbst sind für die Entwicklung eines Systems wichtig. Gerade selbstorganisierende System schöpfen ihre innovative Kraft aus unvorhergesehenen und abrupten Änderungen des Systemverhaltens. Hierbei spielen Chaos und Zufall gleichermaßen eine entscheidende Rolle. Die Frage nach den Auswirkungen der Variation der kritischen Parameter eines Modelles hat große Bedeutung. Es ist in der Realität nicht davon auszugehen, dass diese Parameter, zumal wenn es sich um Enstscheidungsparameter handelt, im Zeitablauf konstant sind. Daher ist ein im Sinne der Chaostheorie „stabiles“ System nicht zwangsläufig stabil im Kontext der als offene Systeme zu verstehenden Unternehmen. Die Veränderung externer Größen oder die bewusste Variation interner Entscheidungsparameter eröffnet eine ständige Quelle für plötzliche Veränderungen mit ggf. chaotischen Reaktionen, wie auch
die Möglichkeit, ein durch die momentanen Parameter erzeugtes chaotisches Verhalten zu stabilisieren. Sofern Parametervariationen nicht durch grundlegende und/oder systematische Veränderungen der Zusammenhänge hervorgerufen sind, bieten gestörte Chaosmodelle eine adäquate Möglichkeit, zufällige Schwankungen abzubilden. In der Literatur wird gerade im Bereich der Finanzmärkte die Entscheidung zwischen deterministisch chaotischen oder stochastischen Modellen als Streitfrage über die Gültigkeit der effizienten Markt-Hypothese immer wieder neu aufgeworfen. Diese Dogmatisierung, mag sie auch vom theoretischen Standpunkt aus gerechtfertigt erscheinen, geht am Kern des Problems völlig vorbei. Die Berücksichtigung zufälliger Einflüsse lässt sich nicht nur nicht ausschließen, ja gerade die Verhältnisse an den Finanzmärkten legen die Annahme eines durch zufällige Informationen angetriebenen Marktgeschehens nahe. Nichtdestotrotz kann die zugrunde liegende Dynamik nichtlinearen Gesetzmäßigkeiten folgen, sodass chaotische Effekte nicht auszuschließen sind. Die Frage stellt sich daher weniger nach deterministisch oder stochastisch, sondern vielmehr nach linear oder nichtlinear.
27.5
Vorhersage, Kontrolle und Steuerung chaotischer Prozesse
Neben der Identifizierung und Beschreibung chaotischer Systeme rücken zunehmend Aspekte in den Vordergrund, die auf eine Anwendung der Chaostheorie hinzielen. Ausgehend von der Erkenntnis, dass ein Modell ein Chaospotenzial aufweist oder eine Zeitreihe deutliche Hinweise auf ein zugrunde liegendes chaotisches System zeigt, stellt sich die Frage nach der Vorhersehbarkeit des Systemverhaltens. Wenn das Systemverhalten hinreichend gut verstanden ist und vorausberechnet werden kann, d. h. wenn es gelungen ist, ein hinreichend gutes Modell der zugrunde liegenden Dynamik zu entwickeln, eröffnet sich schließlich der Fragenkomplex der Kontrolle und Steuerung.
27.5.1
Vorhersage des Chaos
● Es ist ein weit verbreiteter Irrtum zu glauben, die sensitive Abhängigkeit von den Anfangswerten und Parametern mache eine Vorhersage und Steuerung in der Praxis unmöglich. Selbst in einem hyperchaotischen System braucht es einige Zeit, bis sich die exponentielle Separation bemerkbar macht. Mehr noch sind deutliche lokale Unterschiede in der Empfindlichkeit festzustellen.
a) Effektive Lyapunov-Exponenten und Vorhersageportraits Durch Ermittlung der effektiven Lyapunov-Exponenten für eine Vielzahl von Anfangszuständen ist es prinzipiell möglich, ein Vorhersageportrait für einen gegebene Parameterkonstellation zu bestimmen.
b) Methoden der Vorhersage einer chaotischen Bewegung Neben dem Versuch, den zugrunde liegenden funktionalen Zusammenhang direkt zu ermitteln (globale Methode), treten eine Reihe so genannter lokaler Methoden der Vorhersage, die auf den Prinzipien der Mustererkennung aufbauen. ■ Hierbei wird z. B. das bekannte Verhalten aller Nachbarpunkte im rekonstruierten Phasenraum, die einen Maximalabstand vom zu untersuchenden Punkt haben (Ansatz von Farmer/Sidorowich) oder das minimale Simplex der Nachbarpunkte, das den zu untersuchenden Punkt als inneren Punkt enthält (Ansatz von Sugihara/May), zur Mustererkennung herangezogen.
27.5 Vorhersage, Kontrolle und Steuerung chaotischer Prozesse
27.5.2
873
Kontrolle und Steuerung des Chaos
a) Kontrolle chaotischer Bewegungen ● Methoden der Kontrolle: • Festlegung der Kontrollparameter in unkritische Bereiche (Chaosvermeidung). • Zufallsinduzierte Stabilsierung. • Gegensteuerung durch chaotische Signale, die die chaotische Dynamik kompensieren. • Vorgabe konstanter Ober-/Untergrenzen oder Veränderungsraten für Zustandsvariablen.
b) Steuerung einer chaotischen Bewegungen Steuerung einer chaotischen Bewegung, Lenkung eines Systems entlang einer bekannten periodischen oder aperiodischen Phasenraumbahn. Dabei kann ausgenutzt werden, dass eng benachbarte Trajektorien, zumindest für einen kurzen Zeitraum, nicht in allen Richtungen auseinander laufen, sondern auch in bestimmten Richtungen konvergieren. Über eine gezielte Einwirkung auf die Steuer- oder Regelgrößen soll versucht werden, die Bewegung in eine stabilisierende Richtung zu beeinflussen. Da die Lage der stabilen und instabilen Raumrichtungen sich mit jedem Schritt verändert, ist eine ständige Neuberechnung nötig und die Steuergrößen sind permanent anzupassen. Man spricht von einer lokalen Steuerung mit Rückkopplung. ■ Das bekannteste Verfahren zur Steuerung zeitlich diskreter oder durch eine Poincaré-Abbildung diskretisierter kontinuierlicher Systeme ist die OGY-Steuerung (nach Ott/Grebogi/Yorke). Die Vorgehensweise ist die folgende: • Rekonstruktion des Attraktors aus einer empirischen oder experimentellen Zeitreihe. • Bestimmung der (wichtigsten) instabilen periodischen Orbits (abgekürzt: IPO) und der Abbildungsvorschriften in deren Umgebung. • Auswahl eines IPOs, der die gewünschte Solldynamik zeigt. • Aufgrund der Ergodizität der Bewegung wird das System nach einiger Zeit jeweils hinreichend nahe an den zu stabilisierenden periodischen Orbit gelangen. • Nur wenn sich die Trajektorie in der Nähe dieses IPOs befindet, wird durch eine geeignete kleine Störung eines Systemparameters in einer Rückkopplungsschleife die Trajektorie auf die stabile Mannigfaltigkeit Ms des IPOs gelenkt und die Bewegung so periodisch stabilisiert. • Da es wegen Ungenauigkeiten in der Messung oder Formulierung des Modells bzw. wegen zufälligen Rauschens i. d. R. nicht gelingen wird, die Trajektorie exakt auf die stabile Mannigfaltigkeit des IPOs zu lenken, bleibt die Steuerung permanent aktiv. Nachteilig ist, dass man u. U. lange Wartezeiten in Kauf nehmen muss, bis das System von allein in die ε -Umgebung der Solltrajektorie gelangt und die Steurung aktiviert werden kann und dass zufällige Störungen die Effizienz des Verfahrens erheblich verringern können, wenn sie die Trajektorie aus der ε -Umgebung der Solltrajektorie herauskatapultieren. Andere Verfahren wie das so genannte Targeting oder die quasikontinuierliche lokale Steuerung bieten hier Fortschritte. ▲ Martienssen u. a. gelang es, mit der lokalen quasi-kontinuierlichen Steuerung sowohl instabile Orbits zu stabilisieren, als auch beliebige bekannte chaotische Trajektorien anzusteuern. Außerdem zeigten sie, dass diese Steuerungsmethode sogar bei verrauschter Messung noch zu annehmbaren Ergebnissen führt. Das Verfahren verspricht daher, wenn es auch aufgrund des hohen rechentechnischen Aufwands bisher für ökonomische Fragestellungen nicht von Bedeutung war, den größten Nutzen. Es kann nicht nur der Chaosvermeidung durch Stabilisierung, sondern auch der bewussten Ausnutzung der durch chaotische Bahnen hervorgerufenen plötzlichen und großen Veränderungen dienen. ● Durch gezielte Sprünge von einer chaotischen Bahn auf eine andere ist sogar eine Optimierung durch Chaos (man kann auch von „Chaosoptimierung“ sprechen) denkbar.
28
Fuzzy Set-Theorie und Anwendungen
28.1
Fuzzy Set-Theorie und Anwendungen
28.1.1
Fuzzy Sets (Unscharfe Mengen)
1 auf X (fuzzy set A 1 in X), Menge von Objekten, die hinsichtlich einer unscharfen Unscharfe Menge A Aussage zu bewerten sind. Sie wird charakterisiert durch eine Zugehörigkeitsfunktion (membership function), µ A : X → [0,1]
die auch charakteristische Funktion oder Kompatibilitätsfunktion genannt wird. Am gebräuchlichsten ist die Darstellung 1 = {(x,µ A (x)) | x ∈ X } A ▲ Man findet auch die Schreibweise n
1 = µ A (x1 )/x1 + · · · + µ A (xn )/xn = ∑ µ A (xi )/xi A i=1
für eine endliche und 1 = µ A (x)/x A X
für eine unendliche Grundmenge X 1 gebräuchlich. ▲ Für Zugehörigkeitsfunktionen sind auch die Schreibweisen µ A1(x), mA (x) oder A(x) ▲ Die Paare (x,µ A (x)) werden als Singletons bezeichnet. ■ Die unscharfe Menge „ungefähr gleich 8“ auf X = R lässt sich u. a. modellieren durch
−1 2 1 A = (x,µ A (x)) ∈ R µ A (x) = 1 + (x − 8)2 ,
▲ Interpretiert man die Bewertungsskala [0, 1] so, dass Objekte mit dem Zugehörigkeitswert 1 mit Sicherheit zu der gesuchten Menge gehören, so lässt sich zeigen, dass das Zadeh’sche Konzept einer unscharfen Menge eine Erweiterung des klassischen Mengenbegriffs im Cantor’schen Sinne ist. Beschränkt man nämlich die Wertemenge der Zugehörigkeitsfunktion auf die zweielementige Menge {0, 1}, so entspricht die unscharfe Teilmenge 1 = {(x,µ A (x)) | x ∈ X } mit µ A : X → {0, 1} A der Teilmenge A = {x ∈ X | µ A (x) = 1} ⊆ X im klassischen Sinn.
28.1 Fuzzy Set-Theorie und Anwendungen
875
● Während die klassische Menge auf der klassischen Logik basiert, die nur die Ausprägungen wahr und falsch kennt, sind unscharfe Mengen Ausdruck einer mehrwertigen Logik, die man Fuzzy-Logik nennt. ▲ Zur Unterscheidung von fuzzy sets werden in der englischsprachigen Literatur Mengen im Cantor’schen Sinn als crip sets bezeichnet. ▲ Zur Beschreibung einer klassischen Menge werden üblicherweise nur die Objekte mit dem Zugehörigkeitsgrad 1 herangezogen. Das analoge Vorgehen bei unscharfen Mengen führt zur Definition der stützenden Menge. 1 einer unscharfen Menge A: 1 Stützende Menge supp(A) 1 = {x ∈ X | µ A (x) > 0} . supp(A) ▲ Wenn kein x ∈ X mit positivem Zugehörigkeitswert µ A (x) existiert, ist die stützende Menge gleich der / leeren Menge 0. 1 = {(x,µ A (x))|x ∈ X} heißt leer und wird mit 1 Leere Fuzzy Set; eine unscharfe Menge A 0/ symbolisiert, wenn ihre Zugehörigkeitsfunktion über X identisch gleich Null ist, d. h. µ A (x) = 0 für alle x ∈ X. 1 in das Intervall [0, 1] ▲ Nach Definition bildet die Zugehörigkeitsfunktion µ A eine unscharfe Menge A und nicht notwendig auf das Intervall [0, 1] ab. Da aber in vielen Anwendungen unscharfe Mengen nur sinnvoll sind, wenn die auftretenden Zugehörigkeitsfunktionen die gleiche Wertemenge besitzen, arbeitet man zumeist mit normalisierten Mengen. 1 heißt normalisiert, wenn die Höhe von A 1 (height of A) 1 Normalisierte Fuzzy Set. Eine unscharfe Menge A 1 = Sup µ A (x) = 1 hgt(A) x∈X
ist. ■ Die unscharfe Menge 1 = {(1; 0,2), (2; 0,5), (3; 0,7), (4; 0,8), (5; 0,6),(6; 0,3)} A lässt sich durch Division der Zugehörigkeitswerte durch 0,8 normalisieren zu 1 = {(1; 0,25), (2; 0,625), (3; 0,875), (4; 1), (5; 0,75), (6; 0,375)} . A ▲ Viele Begriffe der klassischen Mengenlehre lassen sich direkt auf unscharfe Mengen erweitern: Fuzzy-Potenzmenge (fuzzy power set), Menge aller unscharfen Mengen über einer Menge X; sie wird 1 (X) symbolisiert. mit P 1 (X) sind genau dann gleich, geschrieben A 1 B1 ∈ P 1 = B, 1 wenn ihre ZugehörigZwei unscharfe Mengen A, keitsfunktionen über X identisch sind, d. h. 1 = B1 ⇔ µ A (x) = µ B (x) A für alle x ∈ X . 1 (X) ist genau dann in der unscharfen Menge B1 ∈ P 1 (X) 1∈P Inklusion, eine unscharfe Menge A 1 ⊆ B, 1 wenn für die Zugehörigkeitsfunktionen gilt: µ A (x) ≤ µ B (x) enthalten, geschrieben A für alle x ∈ X. 1 echt enthalten in B. 1 Echt Inklusion, gilt für alle x ∈ X das strenge Ungleichheitszeichen, so heißt A 1 ⊂ B1 ⇔ µ A (x) < µ B (x) ∀ x ∈ X . A ▲ In Verallgemeinerung des Begriffes einer stützenden Menge ist es manchmal nützlich, weitere gewöhnliche Teilmengen der Grundmenge X zu definieren. 1 α -Niveau-Menge (α -level set) oder α -Schnitt (α -cut) von A], Aα = {x ∈ X | µ A (x) ≥ α } ,α [0,1] ist klassische Menge. Die Menge Aα = {x ∈ X | µ A (x) > α } heißt strenge α -Niveau-Menge (strong α -level set).
876
28 Fuzzy Set-Theorie und Anwendungen
1 B1 ∈ P 1 (X) gilt: ● Für unscharfe Mengen A, α <β
⇒
Aβ ⊂ Aα
1 B1 ⊂ A
⇔
Bα ⊂ Aα
▲ Auch der Begriff „konvexe Menge“ lässt sich auf Fuzzy Sets übertragen. 1 = {(x,µ A (x)) | x ∈ X } auf einer konvexen Menge X heißt konvex, wenn Eine unscharfe Menge A µ A (λ x1 + (1 − λ )x2 ) ≥ Min(µ A (x1 ),µ A (x2 ))
∀ x1 ,x2 ∈ X
∀ λ ∈ [0,1] .
1 genau dann konvex, wenn alle ihre α -Niveau-Mengen ● Offensichtlich ist eine unscharfe Menge A konvexe klassische Mengen sind. Ist X ∈ R, so stellen konvexe α -Schnitte Intervalle dar. 1 auf der Menge der reellen Fuzzy-Zahl (fuzzy number), eine konvexe, normalisierte unscharfe Menge A Zahlen R wird Fuzzy-Zahl genannt, wenn a) genau eine reelle Zahl x0 existiert mit µ A (x0 ) = 1 und b) µ A stückweise stetig ist. 1 (mean value of A). 1 Die Stelle x0 heißt dann Gipfelpunkt von A 1 heißt positiv und man schreibt A 1 > 0, wenn µ A (x) = 0 für alle x ≤ 0. Eine Fuzzy-Zahl A 1 heißt negativ und man schreibt A 1 < 0, wenn µ A (x) = 0 für alle x ≥ 0. Eine Fuzzy-Zahl A 1 auf einer abzählbaren Grundmenge X ⊂ R heißt diskrete Fuzzy-Zahl, wenn eine Eine unscharfe Menge N 1 Fuzzy-Zahl A auf R so existiert, dass µ N (x) = µ A (x)∀x ∈ X .
28.1 Fuzzy Set-Theorie und Anwendungen
877
1 mit endlicher Grundmenge X eine ▲ Ein einfacher Weg, zu einer gegebenen unscharfen Menge N 1 unscharfe Menge A auf R so zu bilden, dass die vorstehende Bedingung erfüllt ist, ist die Verknüpfung aller Punkte (x,µ N (x)) mittels eines Polygonzuges. Fuzzy-Intervall (fuzzy interval oder flat fuzzy number), eine konvexe, normalisierte unscharfe Menge 1 auf R heißt Fuzzy-Intervall, wenn A a) mehr als eine reelle Zahl existiert mit µ A (x) = 1 und b) µ A stückweise stetig ist.
Die obigen Zugehörigkeitsfunktionen beschreiben Fuzzy-Intervalle. Aufgrund des Kurvenverlaufs von µ N 1 als trapezförmige Fuzzy-Menge bezeichnet. wird N ▲ Auch der Begriff „Mächtigkeit einer Menge“, der für klassische Mengen definiert ist als die Anzahl der Elemente dieser Menge, wird auf unscharfe Mengen erweitert. 1 über einer endlichen Menge X ist definiert Mächtigkeit (power oder cardinality) einer unscharfen Menge A als
1 1 card(A) = A
= ∑ µ A (x) x∈X
2 2 2 12 |A1| 1 Die Größe cardX (A) = 2A 2 = |X| wird als relative Mächtigkeit bezeichnet. 1 über einer kontinuierlichen Menge X: Mächtigkeit einer unscharfen Menge A
1 =
A 1
= µ A (x) dP card(A) X
1 über eine kontinuierliche Menge X: Relative Mächtigkeit einer unscharfen Menge A
2 2 1 =2 12 cardX (A) 2A 2=
X
µ A (x) dP
. 1 dP
X
▲ Ist X ⊆ R , so nimmt man das übliche Inhaltsmaß, also das gewöhnliche n-dimensionale Integral. Für n = 1 ist das dP = dx. n
■ Die Mächtigkeit der unscharfen Menge 1 = {(5; 0,1), (6; 0,3), (7; 0,7), (8; 1), (9; 0,8), (10; 0,5), (11; 0,2)} A auf X = {4,5, . . . ,12} ist 1 = |A| 1 = 0,1 + 0,3 + 0,7 + 1 + 0,8 + 0,5 + 0,2 = 3,6 ; card(A) ihre relative Mächtigkeit ist 1 = ||A|| = 3,6 = 0,4 . cardX (A) 9
878
28 Fuzzy Set-Theorie und Anwendungen
Die Theorie unscharfer Mengen bietet zwar die Möglichkeit, Abstufungen in der Zugehörigkeit zu einer Menge beliebig genau zu beschreiben, in praktischen Anwendungsfällen ist dies aber kaum und auch dann nur mit beträchtlichem Aufwand möglich. Die benutzten Funktionen sind daher als mehr oder minder gute Darstellungsformen der subjektiven Vorstellung anzusehen. Bei der Modellierung benutzt man daher zumeist einfache Funktionsformen, wie stückweise lineare Funktionen, bei denen wenige festgelegte Punkte durch Geradenstücke verbunden werden oder Funktionen, die durch wenige Parameter beschrieben werden. Beliebt sind auch Fuzzy-Zahlen oder Fuzzy-Intervalle des L-R-Typs, bei denen die Zugehörigkeitsfunktionen aus gegebenen Grundfunktionen durch Verschieben auf der Achse und Änderung der Achsenskalierung konstruiert werden. Referenzfunktion von Fuzzy-Zahlen: Funktion L : [0, + ∞[→ [0,1], die den folgenden Bedingungen genügt: a) L(0) = 1 b) L ist nicht steigend in [0, + ∞[. L(u) = Max(0,1 − uδ ) mit δ > 0 ■ 1 L(u) = 1+u mit δ > 0 δ −uδ L(u) = e mit δ > 0 1 deren Zugehörigkeitsfunktion mit geeigneten Referenzfunktionen L und L-R-Fuzzy-Zahl, Fuzzy-Zahl M R darstellbar ist. m−x für x ≤ m, α > 0 L α µ M (x) = x−m für x > m, β > 0 R β
Der eindeutig bestimmte Wert m mit µ M (m) = 1 = L(0) ist der Gipfelpunkt (mean value) der Fuzzy-Zahl. 1 genannt. Für α = β = 0 ist M 1 Die Größen α und β werden linke bzw. rechte Spannweite (spread) von M 1 mit wachsender Spannweite α oder β vereinbarungsgemäß eine normale reelle Zahl. Andererseits wird M 1 = (m; α ; β )LR verwendet. immer unschärfer. Für eine L-R-Fuzzy-Zahl wird die verkürzte Notation M
■ Weitere Beispiele für Zugehörigkeitsfunktionen sind: • Modellierung einer Mitgliedschaftsfunktion durch eine Dreiecksfunktion 0 x − a1 a2 − a1 µ A (x) = a3 − x a − a2 3 1
für x < a1 für a1 ≤ x ≤ a2
µ A( x ) 1
für a2 ≤ x ≤ a3 für a3 < x.
a1
a2
a3 x
28.1 Fuzzy Set-Theorie und Anwendungen
879
• Γ -Funktion als Mitgliedschaftsfunktion
µ A (x) =
0 x−a
für x < a1
µ A( x ) 1
1
für a1 ≤ x ≤ a2 a2 − a1 1 für a2 < x
0
a1
a2
x
• Geglättete Γ -Funktion
µ A (x) =
0
für 0 ≤ x ≤ a
k(x − a) für a ≤ x ≤ ∞ 1 + k(x − a)2
µ A( x ) 1
2
0
a
x
alternativ: µ A (x) =
µ A( x ) 1
0 für 0 ≤ x ≤ a 2 1 − e−k(x−a) für a < x,k > 0
0.5 0
a1
a2
a3 x
• L-Funktion 1 für x < a1 a −x 2 für a1 ≤ x ≤ a2 µ A (x) = a2 − a1 0 für x > a2
µ A( x ) 1 0.5 0
a2 x
a1
• Geglättete L-Funktion µ A (x) = e−kx , 2
k>0
µ A( x ) 1
alternativ: µ A (x) =
1 , k > 1. 1 + kx2
0
x
• Geglättete Mitgliedschaftsfunktion µ A (x) = e−k(x−a) , 2
k > 0.
µ A( x ) 1
alternativ: µ A (x) =
1 , k > 1. 1 + k(x − a)2
0
a
x
880
28 Fuzzy Set-Theorie und Anwendungen • Modellierung mit einer verallgemeinerten Trapezfunktion 0 für x < a1 b2 (x − a1 ) für a1 ≤ x ≤ a2 a2 − a1 (b3 − b2 )(x − a2 ) + b2 für a2 ≤ x ≤ a3 a3 − a2 für a3 ≤ x ≤ a4 µ A (x) = 1 oder b3 − b4 (b4 − b5 )(a5 − x) + b5 für a4 ≤ x ≤ a5 a − a 5 4 b5 (a6 − x) für a5 ≤ x ≤ a6 a6 − a5 0 für a6 < x
µ A( x ) 1 b 3 =b 4 b2 b5 0
a1 a2 a3 a4 a5 a6 x
• Mitgliedschaftsfunktionen F(x) mit modellierbaren Flanken 1 F2 = , 1 + x2 a1 − x F1 für x < a1 α µ A (x) = 1 für a1 ≤ x ≤ a2 x − a2 F2 für x > a2
F1 = e−x ,
β
µ A( x ) 1
0
a1
a2
x
▲ Bei realen Problemstellungen ist es oft schwierig, die Zugehörigkeitsfunktion µ A (x) einer unscharfen 1 zu bestimmen. Es stellt sich dann die Frage, ob es nicht realistischer wäre, auch die Menge A Zugehörigkeitswerte µ A (x) als unscharfe Mengen zu definieren. 1 heißt unscharfe Menge vom Typ 2, wenn ihre Zugehörigkeitswerte selbst Eine unscharfe Menge A unscharfe Mengen vom Typ 1 sind. 1 heißt unscharfe Menge vom Typ m, wenn ihre Zugehörigkeitswerte unscharfe Eine unscharfe Menge A Mengen vom Typ m − 1 sind. ▲ Da es in praktischen Anwendungsfällen sehr schwierig ist, unscharfe Mengen vom Typ m mit m ≥ 2 zu definieren, werden diese nur selten verwendet. Dagegen ist die nachfolgende Definition einer linguistischen Variable von großer praktischer Bedeutung, da sie es ermöglicht, verbale Bewertungen und Einschätzungen mathematisch zu modellieren: Linguistische Variable, Quadrupel L = (A, U, G, M) mit: a) einer Menge A von Begriffen, welche die möglichen Ausprägungen der linguistischen Variablen enthält, b) einer Grundmenge U, c) einer Menge G syntaktischer Regeln, mit denen sich der Name der linguistischen Variablen aus den Ausprägungen in A ableiten lässt, 1 in Form einer d) einer Menge M semantischer Regeln, die jedem Element x A seine Bedeutung M(x) unscharfen Menge auf U zuordnen.
28.2 Fuzzy-Operatoren
881
■ Bewertung des Cash Flow durch linguistische Variablen
28.2
Fuzzy-Operatoren
1∈P 1 (X), geschrieben CA, 1 die unscharfe Menge mit der ZugehöKomplement einer unscharfen Menge A rigkeitsfunktion µCA (x) = 1 − µ A (x)
für alle x ∈ X
1 und B1 auf X, geschrieben A 1 ∩ B, 1 die unscharfe Menge mit der Durchschnitt zweier unscharfer Mengen A Zugehörigkeitsfunktion für alle x ∈ X . 1 und B1 auf X, geschrieben A 1 ∪ B, 1 die unscharfe Menge mit der Vereinigung zweier unscharfer Mengen A Zugehörigkeitsfunktion µ A∩B (x) = Min(µ A (x),µ B (x))
µ A∪B (x) = Max(µ A (x),µ B (x))
für alle x ∈ X .
■ Für 1 = {(3; 0), (4; 0), (5; 0,1), (6; 0,5), (7; 1), (8; 0,8), (9; 0)} A und B1 = {(3; 1), (4; 1), (5; 0,9), (6; 0,8), (7; 0,4), (8; 0,1), (9; 0)} auf X = {3, 4, 5, 6, 7, 8, 9} erhält man: 1 CA = 1 CB = 1 ∩ B1 = A 1 ∪ B1 = A
▲ Während die Komplementbildung allgemein anerkannt ist, gibt es neben den obigen Definitionen weitere Vorschläge zur Erweiterung der Durchschnitts- und Vereinigungsbildung auf unscharfe Mengen. Dies lässt sich damit erklären, dass Minimum- und Maximumoperator zwar die meisten Eigenschaften der klassischen Durchschnitts- und Vereinigungsoperatoren erfüllen und daher auch als „logisches und“ bzw. „logisches oder“ bezeichnet werden, sie weisen aber nicht alle Eigenschaften auf. 1 (X) gelten die folgenden Gesetze: 1 B, 1D 1∈P ● Für Mengen A, (Ia)
1 ∩ B1 = B1 ∩ A 1 A
(Ib)
1 ∪ B1 = B1 ∪ A 1 A
(IIa)
1 ∩ B) 1 ∩ (B1 ∩ D) 1 ∩D 1=A 1 (A
(IIb)
1 ∪ B) 1 ∪ (B1 ∪ D) 1 ∪D 1=A 1 (A
(IIIa)
1 ∩ (A 1 ∪ B) 1 1 =A A
(IIIb)
1 ∪ (A 1 ∩ B) 1 1 =A A
(IVa)
1 ∩ (B1 ∪ D) 1 ∩ B) 1 ∩ D) 1 = (A 1 ∪ (A 1 A
Kommutativität
Assoziativität
Adjunktivität
1 ∪ (B1 ∩ D) 1 ∪ B) 1 ∪ D) 1 = (A 1 ∩ (A 1 (IVb) A
Distributivität
1 (X) aller unscharfer Teilmengen auf X bildet bezüglich der Operatoren ∩ und Das heißt, das System P ∪ einen distributiven Verband, der aber nicht komplementär ist, da das Gesetz der Komplementarität, auch Gesetz der ausgeschlossenen Mitte (excluded-middle law) genannt, nicht gültig ist, denn für 1 (X), die nicht gleich 1 1∈P eine unscharfe Menge A 0/ oder X ist, gilt 1 ∩ CA 1 = 1 1 ∪ CA 1 = X . A 0/ und A Darüber hinaus gelten die Eigenschaften (Va)
1∩A 1=A 1 A
(Vb)
1∪A 1=A 1 A
(VIa)
1 ⊆ B1 ⇒ A 1 ∩ C1 ⊆ B1 ∩ C1 A
(VIb)
1 ⊆ B1 ⇒ A 1 ∪ C1 ⊆ B1 ∪ C1 A
Idempotenz
1 ∩ B) 1 ∪ CB1 1 = CA (VIIa) C(A
Monotonie
Gesetze von de Morgan
1 ∪ B) 1 ∩ CB1 1 = CA (VIIb) C(A (VIII)
1=A 1 CC A
Involution
Ein weiteres Operatorenpaar zur Beschreibung des Durchschnitts bzw. der Vereinigung unscharfer Mengen sind die algebraischen Operatoren: 1 und B1 auf X, geschrieben A 1 · B: 1 die unscharfe Menge Algebraisches Produkt zweier unscharfer Mengen A mit der Zugehörigkeitsfunktion µ A·B (x) = µ A (x) · µ B (x)
für alle x ∈ X .
1 und B1 auf X, geschrieben A 1 + B: 1 die unscharfe Menge Algebraische Summe zweier unscharfer Mengen A mit der Zugehörigkeitsfunktion µ A+B(x) = µ A (x) + µ B (x) − µ A (x) · µ B (x)
für alle x ∈ X .
28.2 Fuzzy-Operatoren
883
1 und B1 gilt ■ Für die obigen Mengen A 1 · B1 = {(3; 0), (4; 0), (5; 0,09), (6; 0,4), (7; 0,4), (8; 0,08), (9; 0)} A 1 + B1 = {(3; 1), (4; 1), (5; 0,91), (6; 0,9), (7; 1), (8; 0,82), (9; 0)} A
▲ Diese algebraischen Operatoren sind nicht distributiv, erfüllen nicht die Idempotenzregel und genügen ebenfalls nicht dem Gesetz der Komplementarität. ▲ Ein Operatorenpaar, welches das Gesetz der Komplementarität erfüllt, sind die nachfolgenden Operatoren. Sie genügen andererseits aber nicht den Gesetzen der Distributivität, der Idempotenz und der Adjunktivität. 1 und B1 auf X, geschrieben A 1 +b B: 1 die Beschränkte Summe (bounded sum) zweier unscharfer Mengen A unscharfe Menge mit der Zugehörigkeitsfunktion µ A+b B (x) = Min(1,µ A (x) + µ B (x))
für alle x ∈ X .
1 und B1 auf X, geschrieben A 1 −b Beschränkte Differenz (bounded difference) zweier unscharfer Mengen A 1 die unscharfe Menge mit der Zugehörigkeitsfunktion B: µ A−b B (x) = Max(0,µ A (x) + µ B (x) − 1)
für alle x ∈ X .
1 und B1 gilt ■ Für die obigen Mengen A 1 +b B1 = {(3; 1), (4; 1), (5; 1), (6; 1), (7; 1), (8; 0,9), (9; 0)} A 1 −b B1 = {(3; 0), (4; 0), (5; 0), (6; 0,3), (7; 0,4), (8; 0), (9; 0)} . A ● Für unscharfe Mengen 1 (X) 1 B1 ∈ P A, gilt 1 −b B1 ⊆ A 1 · B1 ⊆ A 1 ∩ B1 A 1 ∪ B1 ⊆ A 1 + B1 ⊆ A 1 +b B1 . A ▲ Eine allgemeinere Definition des Durchschnitts und der Vereinigung unscharfer Mengen ist die Yager’sche TP -Norm und TP -Conorm: 1 und B1 auf X geschrieben A 1 ∩ p B: 1 die unscharfe Menge mit Durchschnitt zweier unscharfer Mengen A der Zugehörigkeitsfunktion 1 µ A∩ p B (x) = 1 − Min 1, ((1 − µ A (x)) p + (1 − µ B (x)) p ) p p p 1p = Max 0, 1 − ((1 − µ A (x)) + (1 − µ B (x)) ) . 1 und B1 auf X geschrieben A 1 ∪ p B: 1 die unscharfe Menge mit Vereinigung zweier unscharfer Mengen A der Zugehörigkeitsfunktion 1 µ A∪ p B (x) = Min 1, ((µ A (x)) p + (µ B (x) p ) p .
884
28 Fuzzy Set-Theorie und Anwendungen
Dabei ist p eine beliebig festzulegende reelle Zahl aus dem Intervall [1, + ∞[. ▲ Offensichtlich gilt für p = 1 1 ∩ p B1 = A 1 −b B1 und A
1 ∪ p B1 = A 1 +b B1 , A
während man für p → +∞ die Grenzwerte lim µ A∩ p B (x) = Min(µ A (x),µ B (x)) ∀x ∈ X
und
lim µ A∪ p B (x) = Max(µ A (x),µ B (x)) ∀x ∈ X
erhält.
p→+∞ p→+∞
Da außerdem µ A∩ p B (x) monoton steigend und µ A∪ p B (x) monoton fallend in p sind, gestatten diese allgemeinen Operatoren eine individuelle Festlegung des Durchschnittes und der Vereinigung unscharfer Mengen in dem gesamten Bereich zwischen der beschränkten Differenz und dem Minimumoperator bzw. zwischen dem Maximumoperator und der beschränkten Summe. ▲ Alle vorstehend dargestellten Durchschnitts- bzw. Vereinigungsoperatoren sind Spezialfälle eines allgemeineren binären Operatorenpaares, das auch als t-Norm bzw. t-Conorm bezeichnet wird. Triangulare Norm(t-Norm): binärer Operator T : [0,1] × [0,1] → [0,1] mit den Eigenschaften (T1) T (a,1) = a
1 ist neutrales Element
(T2) T (a,b) = T (b,a)
Kommutativität
(T3) T (a,T (b,c)) = T (T (a,b),c)
Assoziativität
(T4) T (a,b) ≤ T (c,d), wenn a ≤ c und b ≤ d Monotonie für alle a,b,c,d ∈ [0,1]. Triangulare Conorm(t-Conorm): binärer Operator S : [0,1] × [0,1] → [0,1] mit den Eigenschaften (S1) S(0,a) = a0
ist neutrales Element
(S2) S(a,b) = S(b,a)
Kommutativität
(S3) S(a,S(b,c)) = S(S(a,b),c)
Assoziativität
(S4) S(a,b) ≤ S(c,d), wenn a ≤ c und b ≤ d Monotonie für alle a,b,c,d ∈ [0,1]. Üblicherweise werden noch die zusätzlichen Randbedingungen T (0,0) = 0 und S(1,1) = 1 unterstellt.
28.3
Kompensatorische Operatoren
▲ Wie empirische Untersuchungen belegen, gibt der Minimum-Operator „und“-Verknüpfung in vielen Fällen nur schlecht wider. Er gibt nach dem Grundsatz „Eine Kette ist nur so stark wie ihr schwächstes Glied“ Operator eine zu pessimistische Einschätzung der Situation. Dagegen sind Menschen häufig bereit, einen mäßigen Zugehörigkeitswert für die eine Eigenschaft mit einem hohen Zugehörigkeitswert für die andere Eigenschaft zu kompensieren. Dies führt zu kompensatorischen Operatoren, die zwischen dem Minimum- und dem Maximum-Operator liegen. Arithmetisches Mittel: 1 und B1 unscharfe Mengen auf X ⊆ R, dann bezeichnet man als arithmetisches Mittel von A 1 Seien A 1 B1 A+ 1 geschrieben und B, , die unscharfe Menge mit der Zugehörigkeitsfunktion 2
µ A+B (x) = 2
1 (µ A (x) + µ B (x)) 2
für alle x ∈ X .
28.3 Kompensatorische Operatoren
885
Geometrisches Mittel: 1 und B1 unscharfe Mengen auf X ⊆ R, dann bezeichnet man als geometrisches Mittel von A 1 und Seien A 1 · B, 1 geschrieben A 1 die unscharfe Menge mit der Zugehörigkeitsfunktion B, µ √A·B (x) = µ A (x) · µ B (x) für alle x ∈ X . ■ Für 1 = {(3; 0), (4; 0), (5; 0,1), (6; 0,5), (7; 1), (8; 0,8), (9; 0)} A und B1 = {(3; 1), (4; 1), (5; 0,9), (6; 0,8), (7; 0,4), (8; 0,1), (9; 0)} gilt: 1 + B1 A = {(3; 0,5), (4; 0,5), (5; 0,5), (6; 0,65), (7; 0,7), (8; 0,45), (9,0)} , 2 1 · B1 = {(3; 0), (4; 0), (5; 0,3), (6; 0,63), (7; 0,63), (8; 0,28), (9; 0)} . A ▲ Der arithmetische Mitteloperator lässt sich flexibler gestalten, indem eine unterschiedliche Gewichtung von Minimum- und Maximumoperator zugelassen wird.
-Verknüpfung: 1 und B1 unscharfe Mengen auf X ⊆ R, dann bezeichnet man als -Verknüpfung von A 1 und B, 1 Seien A 1 B, 1 die unscharfe Menge mit der Zugehörigkeitsfunktion geschrieben A|| µ A|| B (x) = (1 − ) · Min(µ A (x),µ B (x)) + · Max(µ A (x),µ B (x))
für alle,
dabei ist der Kompensationsgrad eine beliebige Zahl ∈ [0,1]. 1 und B1 erhält man mit = 0,3 ■ Für die obigen Mengen A 1 0,3 B1 = {(3; 0,3),(4,0,3),(5; 0,34),(6; 0,59),(7; 0,58),(8; 0,31),(9; 0)} . A|| ▲ Die -Verknüpfung lässt sich direkt auf mehr als zwei Mengen erweitern. Die Verwendung des Minimum- und des Maximumoperators haben aber das Ergebnis, dass nur der beste und der schlechteste Zugehörigkeit in der Verknüpfung Beachtung finden. Damit alle Zugehörigkeitswerte einen Beitrag liefern, wird daher in der Literatur auch vorgeschlagen, die arithmetischen Operatoren zu verwenden. Zu kritisieren ist an diesem Vorschlag, dass sehr kleine und sehr große -Werte zu Ergebnissen führen können, die unterhalb des kleinsten bzw. oberhalb des größten gegebenen Zugehörigkeitswertes liegen können. Ein kompensatorischer Operator, der eine Verallgemeinerung des geometrischen Mittels darstellt und auf den algebraischen Operatoren basiert, ist der γ -Operator. γ -Verknüpfung: 1 und B1 unscharfe Mengen auf X ⊆ R, dann bezeichnet man als γ -Verknüpfung von A 1 und B, 1 Seien A 1 1 geschrieben A · γ B, die unscharfe Menge mit der Zugehörigkeitsfunktion µ A·γ B (x) = (µ A (x) · µ B (x))1−γ · (µ A (x) + µ B (x) − µ A (x) · µ B (x))γ
für alle x ∈ X, dabei ist der Kompensationsgrad γ eine beliebige Zahl γ ∈ [0,1]. 1 und B1 erhält man mit γ = 0,3 ■ Für die obigen Mengen A 1 ·0,3 B1 = {(3; 0),(4; 0),(5; 0,18),(6; 0,51),(7; 0,53),(8; 0,16),(9; 0)} . A ▲ Da µ A (x) + µ B (x) − µ A (x) · µ B (x) = 1 − (1 − µ A (x))(1 − µ B (x)) lässt sich die γ -Verknüpfung leicht auf mehr als zwei Mengen erweitern:
886
28 Fuzzy Set-Theorie und Anwendungen
11 ,..,A 1m unscharfe Mengen auf X, dann bezeichnet man als γ -Verknüpfung der Mengen Seien A 1i = {(x,µ i (x))x ∈ X} , A
i = 1,..,m
die unscharfe Menge mit der Zugehörigkeitsfunktion m
m
i=1
i=1
µ ·γ (x) = (∏ µ i (x))1−γ · (1 − ∏ (1 − µ i (x)))γ
für alle x ∈ X ,
wobei der Kompensationsgrad γ eine beliebige Zahl γ ∈ [0,1] ist. ▲ Die nachfolgenden kompensatorischen Operatoren können als abgeschwächte Minimum- bzw. Maximumoperatoren bezeichnet werden. Dabei drückt (1 − δ ) ∈ [0,1] die Bereitschaft aus, sich von dem extremen Minimum- bzw. Maximumwert aus mehr nach dem arithmetischen Mittel zu orientieren. 3 3 und-Verknüpfung, oder-Verknüpfung: 1i = {(x,µ i (x))|x ∈ X},i = 1, . . . ,m, unscharfe Mengen, dann bezeichnet man Seien A 3 -Verknüpfung der A 1i ,i = 1, . . . ,m, die unscharfe Menge mit der Zugehörigkeitsfunktion als und µ u1nd (x) = δ · Min(µ 1 (x), . . . ,µ m (x)) + (1 − δ )
1 m µ i (x) für alle x ∈ X , m∑ i=1
3 -Verknüpfung der A 1i ,i = 1, . . . ,m, die unscharfe Menge mit der Zugehörigkeitsfunktion als oder µ oder 1 (x) = δ · Max(µ 1 (x), . . . ,µ m (x)) + (1 − δ )
28.4
1 m µ i (x) für alle x ∈ X . m∑ i=1
Erweiterungsprinzip und erweiterte reelle Operatoren
▲ Um das Erweiterungsprinzip, eines der fundamentalsten Konzepte der Theorie unscharfer Mengen definieren zu können, muss zunächst der Begriff Kartesisches Produkt auf unscharfe Mengen erweitert werden. Gegeben seien das Kartesische Produkt X = X1 ×· · ·×Xn klassischer Mengen Xi und n unscharfe Mengen 1i = {(xi ,µ Ai (x)) | xi ∈ Xi } , i = 1, . . . ,n . A 1n , geschrieben A 11 × · · ·× An , bezeichnet man dann die unscharfe 11 , . . . ,A Als Kartesisches Produkt von A Menge auf X = X1 × · · · × Xn mit der Zugehörigkeitsfunktion µ A1 ×···×An (x1 , . . . ,xn ) = Min µ A1 (x1 ), . . . ,µ An (xn ) . 11 = {(4; 0,4), (5; 0,7), (6; 1), (7; 0,5)} ■ Für die unscharfen Mengen A 12 = {(2; 0,2), (3; 0,6), (4; 1), (5; 0,7), (6; 0,3)} auf N weist das Kartesische Produkt A 11 ×A 12 folgende und A Zugehörigkeitswerte auf: x2 x1 4 5 6 7
28.4 Erweiterungsprinzip und erweiterte reelle Operatoren
887
Erweiterungsprinzip (extension principle): Gegeben seien die klassischen Mengen X1 , . . . ,Xn ,Y , 1i auf Xi ,i = 1, . . . ,n, n unscharfe Mengen A eine Abbildung g : X1 × · · · × Xn → Y mit y = g(x1 , . . . ,xn ). Durch die Abbildung g wird eine unscharfe Bildmenge B1 auf Y induziert mit der Zugehörigkeitsfunktion Sup Min µ (x ), . . . , µ (x ) falls g−1 (y) = 0/ A 1 A n n 1 -1 µ B (y) = (x1 ,. . . ,xn )∈g (y) 0 sonst , wobei g−1(y) die Urbildmenge von y symbolisiert. 11 und A 12 wird nach dem Erweiterungsprinzip ■ Auf den obigen Mengen A durch die Abbildung g(x1 ,x2 ) = x1 + x2 die Menge 11 ⊕ A 12 = {(6; 0,2), (7; 0,4), (8; 0,6), (9; 0,7), (10; 1), (11; 0,7), (12; 0,5), (13; 0,3)} , A durch die Abbildung g(x1 ,x2 ) = Max(x1 ,x2 ) die Menge 12) = {(4; 0,4), (5; 0,7), (6; 1), (7; 0,5)} 11 ,A M1 ax(A induziert. ▲ In der Literatur findet man auch Vorschläge, die Supremum- oder die Minimumbildung durch eine andere T-Conorm bzw. T-Norm zu ersetzen. Von praktischer Relevanz ist der flexiblere Ansatz mit der Yager’schen Tp -Norm. Erweiterungsprinzip mit Yager’schen Tp -Norm µ B (y) = Tp µ A1 (x1 ), . . . ,µ An (xn ) Sup (x1 ,...,xn )∈g−1 (y)
wobei
1p n Tp µ A1 (x1 ), . . . ,µ An (xn ) = Max 0, 1 − ∑ (1 − µ A j (x j )) p
j=1
▲ Mithilfe des Erweiterungsprinzips kann eine binäre Operation ∗ in R erweitert werden zu einer Opera1 und N 1 miteinander verknüpft werden. Die so gebildete unscharfe tion , mit der zwei Fuzzy-Zahlen M 1 1 Menge M N auf R hat dann die Zugehörigkeitsfunktion µ MN (z) = Sup2 Min (µ M (x),µ N (y)) , (x,y)∈R mit z=x∗y
falls z ∈ R darstellbar ist als z = x ∗ y, sonst ist µ MN (z) = 0. ▲ Für die Berechnung erweiterter Operationen sind die nachfolgenden Sätze von großer Bedeutung. Diese lassen sich analog auch für streng monoton fallende binäre Operatoren formulieren. 1 und N 1 stetige Fuzzy-Zahlen und sei ∗ eine stetige, streng monoton steigende binäre Operation ● Seien M 1N 1 definiert, deren Zugehörigin R. Dann wird durch die erweiterte Operation eine Fuzzy-Zahl M keitsfunktion stetig ist. 1 und N 1 zwei stetige Fuzzy-Zahlen und ∗ eine stetige, streng monoton steigende binäre Verknüp● Seien M fung in R. Seien weiterhin [pM ,qM ] und [pN ,qN ] reelle Intervalle, in denen die Zugehörigkeitsfunktionen µ M und µ N monoton steigen (bzw. monoton fallen). Existieren Teilintervalle pM ,qM ⊆ pM ,qM und pN ,qN ⊆ pN ,qN , sodass µ M (x) = µ N (y) = w ∀x ∈ pM ,qM ∀y ∈ pN ,qN ,
888
28 Fuzzy Set-Theorie und Anwendungen
so gilt µ M∗N (t) = w
∀t ∈ pM ∗ pN , qM ∗ qN .
▲ Der letzte Satz gilt auch für „einpunktige Teilintervalle“, d. h. bei pM = qM bzw. bei Verständnis der Sätze benötigt man noch die folgenden Definitionen: 1 mit stetiger Zugehörigkeitsfunktion µ M . Stetige Fuzzy-Zahl, Fuzzy-Zahl M
pN = qN . Zum
Strenge Monotonie: Eine zweistellige Operation ∗ in R heißt streng monoton steigend, wenn gilt: x1 < y1 und x2 < y2 ⇒ x1 ∗ x2 < y1 ∗ y2 , streng monoton fallend, wenn gilt: x1 < y1 und x2 < y2 ⇒ x1 ∗ x2 > y1 ∗ y2 . 1 und N 1 ■ Die Fuzzy-Zahlen M
1⊕N 1 lassen sich addieren zu der Fuzzy-Zahl M
28.5
Erweiterte algebraische Operationen für Fuzzy-Zahlen vom LR-Typ
▲ Die Grundrechenarten lassen sich auf Fuzzy-Zahlen besonders einfach erweitern, wenn es sich um Fuzzy-Zahlen vom LR-Typ handelt. Allerdings ist auf die Anordnung der Referenzfunktionen zu achten und für die erweiterte Multiplikation und die erweiterte Division gibt es nur Näherungsformeln. 1 = (m; α ; β )LR und N 1 = (n; γ ; δ )LR Erweiterte Addition zweier positiven Fuzzy Zahlen M (m; α ; β )LR ⊕ (n; γ ; δ )LR = (m + n; α + γ ; β + δ )LR 1 = (m; α ; β )LR mit einem Skalar λ Multiplikation einer positiven Fuzzy-Zahl M λ · (m; α ; β )LR = (λ m; λ α ; λ β )LR λ · (m; α ; β )LR = (λ m; −λ β ; −λ α )RL
Speziell gilt für λ = −1 1 = −(n; γ ; δ )LR = (−n; δ ; γ )RL −N
für λ > 0, λ ∈ R für λ < 0, λ ∈ R
28.5 Erweiterte algebraische Operationen für Fuzzy-Zahlen vom LR-Typ
889
1 = (4; 3; 2)LR und N 1 = (2; 1; 2)LR ergibt sich ■ Für die Fuzzy-Zahlen M 1⊕N 1 = (6; 4; 4)LR M und 1 = −(2; 1; 2)LR = (−2; 2; 1)RL −N Mit L(u) = Max(0,1 − u2 ) und R(u) = Max(0,1 − u) sind diese Mengen nachfolgend dargestellt.
1 = (m; α ; β )LR und N 1 = (n; γ ; δ )RL Erweiterte Subtraktion zweier positiver Fuzzy Zahlen M (m; α ; β )LR / (n; γ ; δ )RL = (m − n; α + δ ; β + γ )LR ▲ Die erweiterte Subtraktion ist im Gegensatz zum Rechnen mit reellen Zahlen i. Allg. nicht die Umkehrung der erweiterten Addition. Hier wird sichtbar, dass jede Anwendung der erweiterten Grundrechenarten zu Fuzzy-Zahlen führen, die „fuzzier“ als die Ausgangszahlen sind. 1 ⊕ N) 1 /N 1 = ((m; α ; β )LL ⊕ (n; γ ; δ )LL) − (n; γ ; δ )LL (M = (m + n; α + γ ; β + δ )LL − (n; γ ; δ )LL = (m; α + γ + δ ; β + δ + γ )LL
=
1. (m; α ; β )LL = M
▲ Bei den nachfolgenden Näherungsformeln stellt jeweils die erste Formel eine gute Näherung für hohe und die zweite für niedrige Zugehörigkeitswerte dar. 1 = (m; α ; β )LR und N 1 = (n; γ ; δ )LLR Erweiterte Multiplikation zweier positiver Fuzzy-Zahlen M (m; α ; β )LR *(n; γ ; δ )LR ≈ (mn; mγ + nα ; mδ + nβ )LR (m; α ; β )LR *((n; γ ; δ )LR ≈ (mn; mγ + nα − α γ ; mδ + nβ + β δ )LR 1 = (2; 1; 2)LR und N 1 = (4; 2; 2)LR mit L(u) = R(u) = Max(0, 1 − u) hat das ■ Für die Fuzzy-Zahlen M 1*N 1 die Näherungswerte (8; 8; 12)LR oder (8; 6; 16)LR Produkt M
1 = (m; α ; β )LR Inverse einer positiven Fuzzy Zahl M α −1 β 1 −1 = (m,α ,β )−1 M LR ≈ (m , 2 , 2 )RL m m 1 β β α α 1 β α −1 1 ≈ ( ; (1 − M ); (1 + )) = ( ; ; )RL RL m m2 m + β m2 m−α m m(m + β ) m(m − α )
890
28 Fuzzy Set-Theorie und Anwendungen
11 = (2; 1; 2)LR mit L(u) = R(u) = Max(0, 1 − u) erhält man die Näherungen M 1 −1 = ( 1 ; 1 ; 1 )RL ■ Für M 1 2 2 4 oder ( 12 ; 14 ; 12 )RL .
1 = (n; γ ; δ )LR und M 1 = (m; α ; β )RL Erweiterte Division zweier positiver Fuzzy Zahlen N n nβ + mγ nα + mδ (n; γ ; δ )LR 0(m; α ; β )RL ≈ ; ; m m2 m2 LR β α n nβ + mγ nα + mδ ; (n; γ ; δ )LR 0(m; α ; β )RL ≈ (1 − ); (1 + ) m m2 m+β m2 m − α LR n nβ + mγ nα + mδ ; ; ≈ . m m(m + β ) m(m − α ) LR 1 und/oder N 1 negativ sind. ▲ Analoge Näherungsformeln lassen sich auch angeben für den Fall, dass M ▲ Neben den L-R-Fuzzy-Zahlen im engeren Sinn lassen sich auch Fuzzy-Intervalle vom LR-Typ definieren. 1 heißt Fuzzy-Intervall vom LR-Typ, wenn sich seine Zugehörigkeitsfunktion mit Ein Fuzzy-Intervall M geeigneten Referenzfunktionen L und R darstellen lässt als m1 −x x ≤ m1 L( α ) für µ M (x) = 1 für m1 < x ≤ m2 R( x−m2 ) für m < x β
2
1 = (m1 ; m2; α ; β )LR verwendet. In der ▲ Für ein L-R-Fuzzy-Intervall wir zumeist die verkürzte Notation M 1 = [m; c; α ; β ]LR gebräuchlich, wobei m = m1 +m2 und c = m2 −m1 Literatur ist auch die Abkürzungsform M 2 2 zu setzen ist. 1 = (2; 4; 1; 2)LR mit L(u) = Max(0, − u) und R(u) = e−u2 ■ M
▲ Die vorstehenden Formeln für die erweiterten algebraischen Operationen auf Fuzzy-Zahlen lassen sich auf Fuzzy-Intervalle vom LR-Typ übertragen. So gilt z. B. (a; b; α ; β )LR ⊕ (c; d; γ ; δ )LR = (a + c; b + d; α + γ ; β + δ )LR (a; b; α ; β ) * (c; d; γ ; δ ) ≈ (a · c; b · d; aγ + cα ; bδ + d β )LR (a; b; α ; β ) * (c; d; γ ; δ )LR ≈ (a · c; b · d; aγ + cα − α γ ; bδ + d β + β δ )LR
28.6 Fuzzy-Relationen
891
▲ Wird zur Erweiterung der algebraischen Operatoren auf unscharfe Mengen das auf der Yager’schen t-Norm basierende allgemeinere Erweiterungsprinzip µ B (y) = Sup Tp µ A1 (x1 ), . . . ,µ An (xn ) (x1 ,...,xn )∈g−1 (y)
benutzt, so wird die Berechnung i. Allg. sehr umständlich. Eine Ausnahme bildet die erweiterte Addition und die erweiterte Multiplikation von L-R-Zahlen bzw. L-R-Fuzzy-Intervallen mit linearen Referenzfunktionen L(u) = R(u) = Max(0, 1 − u): 1⊕N 1 = m1 + n1 ; m2 + n2 ; (α q + γ q ) 1q ; (β q + δ q ) 1q M LR q q 1q q q 1q 1 1 M * N = m1 · n1 ; m2 · n2 ; ((m1 γ ) + (n1 α ) ) ; ((m2 δ ) + (n2 β ) ) LR
wobei q ≥ 1, sodass
1 p
+
1 q
= 1.
▲ Für p → +∞, d. h. für q = 1, geht die Tp -Norm in den Min-Operator über und man erhält die üblichen Formeln. Für p = 1 und q → +∞, stellt T1 (µ M (x),µ N (y)) == Max (0, µ M (x) + µ N (x) − 1) die beschränkte Differenz dar, die auch als Lukasiewicz’sche t-Norm bezeichnet wird. Die Spannweiten erhalten dann für die erweiterte Addition die Form 1
1
(α q + γ q ) q = Max(α ,γ ) und (β q + δ q ) q = Max(β ,δ ) und für die erweiterte Multiplikation die Form 1
Als n-stellige Relation auf X1 × · · · × Xn bezeichnet man jede unscharfe Menge R˜ = {((x1 , . . . ,xn ),µ R (x1 , . . . ,xn )) | (x1 , . . . ,xn ) ∈ X1 × . . . × Xn} auf dem Kartesischen Produkt X1 ×· · ·×Xn. ■ Auf der Grundmenge X × Y = R20 \{0,0} sei die Relation „viel größer als“ definiert durch die Zugehörigkeitsfunktion 0 für x
892
28 Fuzzy Set-Theorie und Anwendungen
▲ Wie klassische Relationen so lassen sich auch Fuzzy-Relationen miteinander verketten. Eine der bekanntesten Verknüpfungen ist die Max-Min-Verknüpfung: Als Max-Min-Verknüpfung der Fuzzy-Relationen R˜ 1 = {((x,y),µ R1 (x,y)) | (x,y) ∈ X × Y } und R˜ 2 = {((y,z),µ R2 (y,z)) | (y,z) ∈ Y × Z } bezeichnet man die unscharfe Menge ' ( R˜ 1 ◦ R˜ 2 = ((x,z), Max Min(µ R1 (x,y),µ R2 (y,z))) | (y,z) ∈ X × Z . y∈Y
■ Bezeichnen wir mit R˜ 1 die obige Relation „viel größer als“ und wird die Relation R˜ 2 auf Y × Z ⊂ R2 durch die nachfolgende Matrix y1 y2 y3 y4
▲ Auch die Eigenschaften klassischer Relationen lassen sich auf Fuzzy-Relationen übertragen: Eine Fuzzy-Relation R˜ auf X × X heißt i.
reflexiv
⇔ µ R (x,x) = 1
ii.
symmetrisch
iii. transitiv
⇔ µ R (x,y) = µ R (y,x) ∀x,y ∈ X ⇔ R˜ ◦ R˜ ⊂ R˜
iv.
⇔ (µ R (x,y) = µ R (y,x) oder µ R (x,y) = µ R (y,x) = 0)
antisymmetrisch
∀x ∈ X
für alle (x,y) ∈ X 2 mit x = y v.
perfekt antisymmetrisch ⇔ (µ R (x,y) > µ R (y,x) ⇒ µ R (y,x) = 0) für alle (x,y) ∈ X 2 mit x = y
Eine Fuzzy-Relation R˜ in X heißt Ähnlichkeitsrelation oder Fuzzy-Äquivalenzrelation, wenn R˜ reflexiv, transitiv und symmetrisch ist. Eine Fuzzy-Relation R˜ in X heißt Fuzzy-(Halb-)Ordnung, wenn R˜ reflexiv, transitiv und perfekt antisymmetrisch ist.
28.7
Fuzzy-Inferenz
Fuzzy-Inferenz hat das fuzzy-logische Schließen auf unscharfen Informationen zum Inhalt; hier wird Fuzzy-Logik als Syllogistik aufgefasst. Dabei besteht eine Inferenz aus einer oder mehreren Regeln, Implikationen genannt, einem Faktum, das einen konkreten Zustand feststellt und einem Schluss, der das Faktum unter Berücksichtigung der Implikation(en) durch ein neues Faktum ersetzt.
28.7 Fuzzy-Inferenz
893
■ Das Beispiel über die Relation zwischen Farbe und Reifegrad von Tomaten lässt erkennen, dass diese Art von unscharfem Schließen nicht mit der klassischen Logik beschrieben werden kann. Implikation: WENN eine Tomate rot ist, DANN ist sie reif Faktum: Die (vorliegende) Tomate ist sehr rot Schluss: Die (vorliegende) Tomate ist sehr reif Modelliert man aber die linguistischen Variablen Farbe und Reifegrad in Form von Fuzzy-Mengen F˜ = {(x,µ F (x)) | x ∈ M1 } bzw. G˜ = {(y,µ G(y)) | y ∈ M2 } und die unscharfe Implikation durch eine Fuzzy-Relation R˜ = {((x,y),µ R (x,y)) | (x,y) ∈ M1 × M2 } , so lässt sich das Fuzzy-Inferenz-Bild beschreiben durch G˜ = {(y,µ G(y)) | µ F (x) = MAX (MIN (µ F (x), µ R (x,y))) , y ∈ M2 } . x∈M1
Bei realen Fragestellungen weist eine „WENN. . . DANN. . . “-Verknüpfung zumeist mehrere Prämissen auf, so dass die Regeln die Form haben. WENN A˜ 1 UND A˜ 2 UND. . . UND A˜ n DANN B˜ . Zumeist wird dann der Wahrheitsgrad der Gesamtprämisse als Minimum der Wahrheitsgrade aller Einzelprämissen definiert: µ A1 ×···×An (x1 , x2 , . . . , xn ) = MIN µ A1 (x1 ), µ A2 (x2 ), . . . ,µ An (xn ) . Dann lässt sich das Inferenzbild beschreiben als B˜ = {(y,µ B (y)) | µ A1×···×An (x1 , . . . ,xn ) = MAX MIN µ A1 (x1 ), . . . ,µ An (xn ), µ R (x1 , . . . ,xn ,y) , y ∈ M2 } x∈A1 ×···×An
In der Praxis ist es aber kaum möglich, adäquate Fuzzy-Relationen anzugeben. Daher verwendet man bei Fuzzy-Logik-Anwendungen scharfe Relationen zwischen linguistischen Variablen, die in Form von Regelsätzen dargestellt werden. ■ Eine einfache Regelbasis für das Beispiel Farbe-Reifegrad-Relation von Tomaten ist WENN eine Tomate hellrot ist, DANN ist sie unreif WENN eine Tomate rot ist, DANN ist sie reif WENN eine Tomate dunkelrot ist, DANN ist sie überreif. Der „WENN . . . DANN . . . “-Operator auf unscharfen Informationen entspricht dabei dem Kartesischen Produkt unscharfer Mengen, sodass die Wahrheitswerte mit dem MIN-Operator ermittelt werden können. ▲ Die ersten Ideen zur Anwendungen der Fuzzy-Logik für die Steuerung komplexer Prozesse wurden schon 1974 von Mamdani und Assilan vorgeschlagen. Mamdani war auch an der ersten industriellen Anwendung zur Steuerung von Zementbrennöfen bei der Firma F.L. Smidth & Co, Dänemark Ende der 70er-Jahre beteiligt. Einen größeren Bekanntheitsgrad erhielten die nun mit dem Namen FuzzyControl bezeichneten regelbasierten Steuerungsverfahren in der 2. Hälfte der 80er-Jahre in Japan mit einer Fülle technischer Anwendungen, von der vollautomatischen Einstellung der Saugkraft bei Staubsaugern in Abhängigkeit des Bodenbelages, über die Steuerung chemischer Prozesse bis zur
894
28 Fuzzy Set-Theorie und Anwendungen
Lenkung der Beschleunigungs- und Bremsvorgänge bei U-Bahnen. Erst ab 1992 wurde in Europa und Amerika die Vorteile der Fuzzy-Logik-Steuerungssysteme erkannt und in der Produktion in stärkerem Maße eingesetzt.
28.8
Fuzzy-Logik basierte Entscheidungsunterstützung
Mithilfe der Fuzzy-Logik lassen sich aber auch Expertenregeln modellieren und verarbeiten, die bei der Lösung ökonomischer oder juristischer Entscheidungs- und Bewertungsprobleme Verwendung finden. Rommelfanger stellte 1991 ein hierarchisches System zur Bewertung der Kreditwürdigkeit mittelständischer Unternehmen vor, bei dem die Bewertungen schrittweise regelbasiert mit Fuzzy-Logik erfolgen. Analoge Systeme wurden für die Unterstützung von Finanzentscheidungen oder von analytischen Prüfungshandlungen von Wirtschaftsprüfern entwickelt. Diese regelbasierten Fuzzy-Logik-Systeme zeichnen sich dadurch aus, dass der Entscheidungsprozess transparent bleibt, da mit der Regelbasis und den linguistischen Bewertungen die Entscheidungsgrundlagen offen liegen. Zur adäquaten Beschreibung der linguistischen Bewertungen lassen sich neben Expertenmeinungen auch Wirtschaftsdatenbanken heranziehen. ■ Als Beispiel für die Vorgehensweise bei der Fuzzy-Logik basierten Bewertung wird eine Teil-Bewertungsstufe eines hierarchischen Systems zur Bewertung der „Veränderung der Vorräte“ dargestellt und ein Unternehmen bewertet. ∆-Umsätze ∆-Vorräte ∆-Auftragsbestand ∆-Vorräte
Zugehörigkeitsfunktionen der Ausprägungen der Kennzahlen zu „Änderung der Vorräte“: Zugehörigkeitswerte
1
niedrig
durchschnittlich K
j µ niedrig
Kj µ durchschn.
hoch K
j µ hoch
0 80 %
95 %
105 %
120 % Kennzahlenausprägung K j
Zugehörigkeitsfunktionen der Bewertung „Veränderung der Vorräte“: mittel schlecht y µ schlecht
gut
1 y µ mittel
y µ gut
ε y
1
-1
Betrachten wir zur Illustration nochmals ein Unternehmen E mit dem Kennzahlenvektor ∆-Umsatz ∆-Auftragsbestand Umsatz GJ (K1 ,K2 ,K3 ) = ( , , ) ∆-Vorräte ∆-Vorräte Umsatz VJ = (109%,111%,86%) Wegen der Minimumbildung über die Inputvariablen weisen nur die Regeln 1, 2, 4 und 5 einen positiven Degree of Fulfillment (DOF-Wert) auf: K1 K2 (109 %), µ hoch (111 %)) = Min(0,12,0,24) = 0,12 „gut“ DOFR1 = Min(µ hoch K1 K2 DOFR2 = Min(µ hoch (109 %), µ durch (111 %)) = Min(0,12,0,53) = 0,12 „gut“ K1 K2 DOFR4 = Min(µ durch (109 %), µ hoch (111 %)) = Min(0,75,0,24) = 0,24 „gut“ K1 K2 DOFR5 = Min(µ durch (109 %), µ durch (111 %)) = Min(0,75,0,53) = 0,53 „mittel“
Alle Regeln mit positivem DOF tragen nun zur Bewertung der „Änderung der Vorräte“ bei. Dabei werden bei der hier verwendeten Max-Prod-Inferenz die den einzelnen Regeln entsprechenden Bewertungen proportional zum Erfüllungsgrad „abgesenkt“. mittel schlecht y µ schlecht
gut
1 y µ mittel
0.53
y µ gut
0.24 0.12
ε -1
1
y
896
28 Fuzzy Set-Theorie und Anwendungen
In dem Beispiel führen die ersten drei Regeln zur gleichen Bewertung „gut“. Während bei den technischen Fuzzy Control-Anwendungen hier lediglich die Regel mit dem höchsten DOF gewählt wird, ist es bei Bewertungs- oder Entscheidungsproblemen besser, den Gesamterfüllungsgrad z mittels der algebraischen Summe u zu berechnen: ∏ DOFGesamt (Bewertung∗) = [1 − Regel i führt zur
(1 − DOF(Regel i)]
Bewertung *
Für das Unternehmen E ergibt sich ein Gesamterfüllungsgrad für die Bewertung „gut“ in Höhe von DOFGesamt (gut) = [1 − (1 − 0,12)(1 − 0,12)(1 − 0,24)] = 0,41, sodass sich die Bewertung der „Veränderung der Vorräte“ für das Unternehmen E unscharf bewerten lässt durch die nachfolgende Abbildung: mittel schlecht y µ schlecht
gut
1 y µ mittel
0.53
y µ gut
0.41
ε -1
28.8.1
1
y
Defuzzifizierungsmethoden
Während es bei technischen Anwendungen des Fuzzy-Control notwendig ist, das unscharfe Ergebnis zu einer reellen Zahl zu reduzieren, ist dies bei Entscheidungsunterstützungsaufgaben nicht notwendig. Mithilfe der so genannten Defuzzifizierungsmethoden können aber Hilfsgrößen zur Erleichterung der Entscheidung berechnet werden. Man muss aber beachten, dass bei Beschränkung auf diese Hilfsgrößen ein hoher Informationsverzicht zu erwarten ist. Es gibt in der Literatur eine Fülle von Defuzzifizierungsverfahren, die bekanntesten sind: a) Die Maximum-Mittel-Methode, bei der nur die x-Werte mit höchstem Zugehörigkeitsniveau berücksichtigt werden. Kommen mehrere dieser Werte vor, so ist das arithmetische Mittel aus diesen Werten der scharfe Ersatzwert xM . b) Die Schwerpunktsmethode (Center of Gravity Method), nach der die Abszisse xS des Schwerpunktes der Fläche unter der Zugehörigkeitsfunktion als scharfer Repräsentant zu wählen ist. +∞
x · µ (x) · dx
−∞ xS = +∞
µ (x) · dx
−∞
c) Die Flächenhalbierungsmethode (Center of Area Method), gemäß der ein mittlerer x-Wert so auszuwählen ist, dass das in xF errichtete Lot die Fläche unter der Zugehörigkeitsfunktion halbiert. xF −∞
µ (x) · dx =
+∞
µ (x) · dx
xF
28.9 Fuzzy-Entscheidungstheorie
28.8.2
897
Anwendung von Fuzzy-Logik-Systemen zur Entscheidungsunterstützung
Fuzzy-Logik-basierte Bewertungs- und Entscheidungsunterstützungssysteme sind u. a. für folgende Aufgaben erstellt worden: • Kreditwürdigkeitsentscheidungen im Firmenkundengeschäft, • Bewertung der Vermögens-, Finanz- und Ertragslage von Unternehmen im Rahmen der Jahresabschlussprüfung, • Unterstützung analytischer Prüfungshandlungen von Wirtschaftsprüfern, • Portfolio Management, • Beurteilung des individuellen Ausfallrisikos bei Krediten zum Autokauf, • Lieferantenbewertung Selbstverständlich sind Fuzzy-Logik-Systeme vor dem Einsatz in der Praxis anhand vorliegender Vergleichsfälle zu testen. Der hoch einzuschätzende Vorteil der Fuzzy-Modelle gegenüber der Verwendung statistischer Methoden, wie z. B. diskriminanzanalytischer Verfahren oder im Vergleich zu Neuronalen Netzen liegt darin, dass nicht nur Daten über zurückliegende Fälle zur Bestimmung der Modellparameter herangezogen werden, sondern Expertenwissen, dass in vielen Jahren gereift ist. Insbesondere bei Bonitätsprüfungen bildet das bei Bankinstituten vorliegende Datenmaterial keine Zufallsauswahl aus der Grundgesamtheit der um Kredit nachfragenden Unternehmen, da nur Daten über die Kunden vorliegen, die von den Kreditsachbearbeitern als kreditwürdig erachtet wurden. Eine neuere Entwicklung sind so genannte Fuzzy-Neuronale Netze, in denen man → Neuronale Netze dadurch fuzzifiziert, dass als Gewichte in diesen Netzwerken die Fuzzy-Mengen der linguistischen Bewertungsterme gewählt werden, die in der Regelbasis stehen. Ziel ist dabei, die Lernfähigkeit von Neuronalen Netzen auszunutzen, um ein vorhandenes Fuzzy-System einem vorliegenden Datensatz anzupassen.
28.9
Fuzzy-Entscheidungstheorie
Um ein Entscheidungsproblem in Form eines klassischen Entscheidungsmodells abbilden zu können, müssen die Informationen des Entscheidungsträgers ausreichen, um die folgenden Bauteile zu bestimmen: a) Die Menge A aller vom Entscheidungsträger als relevant angesehenen Handlungsalternativen ai ,i = 1, . . . ,m. b) Die Menge G aller möglichen Ergebnisse. c) Die Menge S der Umweltzustände s j , j = 1, . . . ,n. d) Die Ergebnisfunktion g : A × S → G e) Die Zielfunktion v : G → R Ergebnisfunktion g und Zielfunktion v lassen sich verketten zu der Nutzenfunktion u=v◦g:
A×S→R.
Im Allgemeinen ist der Risikofall anzunehmen, der besagt, dass der Entscheidungsträger den Umweltzuständen – zumindestens subjektiv – f) eine Wahrscheinlichkeitsverteilung p(s j ) zuordnen kann. Als rationales Entscheidungskriterium für den Risikofall < A,K,u(ai,s j ),p(s j ) > wird in der Literatur das Bernoulli-Prinzip empfohlen, nach dem der Erwartungswert des Nutzens zu maximieren ist: n
u(a∗) = Max
∑ u(ai ,s j ) · p(s j ) .
ai ∈A j=7
Da die a priori-Verteilung p(s j ) oft subjektiv und damit ungenau bestimmt ist, kann man versuchen, durch zusätzliche Informationen die Wahrscheinlichkeitsvevteilung zu verbessern. Existieren
898
28 Fuzzy Set-Theorie und Anwendungen
g) die Informationsmenge X = {x1 , . . . ,xr , . . . ,xR } und die bedingten Wahrscheinlichkeiten p(xr |s j ), so kann bei Beobachtung der Information xr anstelle der a priori-Verteilung p(s j ) die a posterioriVerteilung p(s j |xr ) =
zur Bewertung des Erwartungsnutzens benutzt werden E(ai |xr ) =
n
∑ u(ai ,s j )p(s j |xr ) . j=1
Die Verwendung eines Testmarktes zur Verbesserung der a priori-Wahrscheinlichkeitsverteilung ist die einzige Möglichkeit, um in einem klassischen Entscheidungsmodell zusätzliche Informationen im Entscheidungsprozess zu verarbeiten. Der Informationsaufwand und die damit verbundenen Kosten sind aber in der Praxis häufig so hoch, dass a posteriori-Wahrscheinlichkeiten selten benutzt werden. Alle anderen Größen müssen in Form reeller Zahlen oder Zahlenvektoren bestimmbar sein. Dies führt bei der Modellierung realer Entscheidungsprobleme oft zu hohem Informationsbedarf und damit verbunden zu hohen Kosten. Im Allgemeinen sind aber trotz großem Kostenaufwand ein Teil der Inputgrößen nur vage bestimmbar, man denke nur an die Konsequenzen, die im Risikofall erst in der Zukunft beobachtet werden können. Auch die Umweltzustände werden zumeist nur verbal und nicht exakt beschrieben, man denke an die vielen Beispielen in der Literatur, wenn von „guter, mittlerer und schlechter Konjunkturlage“ gesprochen wird. Werden nun zur Modellierung eines klassischen Entscheidungsmodells lediglich vage bekannte Größen durch reelle Zahlen(tupel) ersetzt, so kann dies zu einem Modell führen, das dem realen Problem nicht mehr entspricht und die berechnete optimale Alternative muss daher nicht die beste Lösung des Realproblems sein. In der Fuzzy-Entscheidungstheorie wird daher vorgeschlagen, alle Größen so zu modellieren, wie dies der Entscheidungsträger sieht. Dies ist bei Verwendung von Fuzzy Sets möglich. In der Literatur findet man daher Fuzzy-Entscheidungsmodelle mit • Fuzzy-Alternativen D˜ h = {(ai , µ Dh (ai ))|ai ∈ A}, h = 1, . . . ,H, • Fuzzy-Zuständen Z˜ r = {(s j µ Zr (s j ))|s j ∈ S}, r = 1, . . . ,R, ˜ j ) = {(p, µ Pj (p)|p ∈ [0, 1]}, • Fuzzy-Wahrscheinlichkeiten P˜ j = P(s ˜ i , s j ) = {(u, µUi j (u) | u ∈ U}, • Fuzzy-Nutzen U˜ i j = U(a • Fuzzy-Informationen Y˜t = {(xk , µYt (xk ) | xk ∈ X}, • Darüber hinaus wird von einigen Autoren vorgeschlagen, die Wahrscheinlichkeitsverteilung p(s j ) durch eine Möglichkeitsverteilung π (s j ) zu ersetzen, da ihrer Ansicht nach Nutzen nur auf einer ordinalen Skala gemessen werden kann und Erwartungswerte daher nicht existieren.
28.10
Fuzzy-Optimierung
Bei der Modellierung realer Entscheidungsprobleme in Form mathematischer Programmierungsmodelle besitzt ein Entscheidungsträger nicht immer einen so hohen Informationsstand, dass er alle Koeffizienten und alle rechten Restriktionsseiten in Form reeller Zahlen(tupel) angeben kann. Da die klassischen Modelle dies aber fordern, werden nur vage bekannte Daten durch „mittlere“ Werte substituiert. Dies kann zur Folge haben, dass die errechnete Lösung zwar die optimale Lösung des Modells, aber nicht des Realproblems ist.
28.10 Fuzzy-Optimierung
899
Ein besserer Weg ist die Modellierung des Realproblems in Form eines Fuzzy-Programmierungsmodells, bei dem alle Größen so genau bestimmt sind, wie dies der Entscheidungsträger leisten kann. Für viele mathematische Programmierungsmodelle mit Fuzzy-Größen gibt es mittlerweile leistungsfähige Lösungsalgorithmen. Dabei empfiehlt es sich zumeist, die optimale Lösung in Gestalt eines interaktiven Lösungsprozesses zu ermitteln, bei dem auch zusätzliche Informationen von außerhalb benutzt werden können. Dies hat auch den Vorteil, dass die bei klassischen Modellen notwendige Informationsaufnahme bei der Modellierung bedeutend reduziert werden kann. Man kann mit den Informationen beginnen, die vorliegen und billig zu erhalten sind. Im Entscheidungsprozess können dann gezielt weitere Informationen aufgenommen und verarbeitet werden. Dies spart gerade bei großen Modellen Informationskosten, da – wie allgemein bekannt – die exakten Koeffizienten des optimale Lösungstupels nur von relativ wenigen der vorliegenden Restriktionen bestimmt werden.
29
Neuronale Netze
29.1
Arbeitsweise und Struktur
Künstliche neuronale Netze, neuronale Netze (neural networks): Die Grundideen zur Konstruktion künstlicher neuronaler Netze stammen aus der Neurophysiologie. Die Arbeit von natürlichen Nervenzellen wird dabei in stark vereinfachter Weise nachgeahmt. So können Computerprogramme (oder auch so genannte neuronale Hardware) Eigenschaften natürlicher Gehirne wie Toleranz gegen Fehler oder Ausfall einiger Komponenten sowie Verallgemeinerungsfähigkeit aufweisen. ■ Eine typische Verallgemeinerungsaufgabe ist bspw. die Erkennung unvollständiger, verzerrter oder verrauschter Muster. ● Die Fähigkeit zur Übertragung gelernten Wissens auf neue Situationen ist eine der wichtigsten Anforderungen an neuronale Netze. Dem biologischen Vorbild entsprechend bestehen (künstliche) neuronale Netze aus einer Vielzahl von „Neuronen“. Diese einfachen Prozessoren werden auch als Knoten bezeichnet.
29.1.1
Arbeitsweise
Der Zustand jedes Knotens ergibt sich aus den Signalen, die er von anderen Knoten erhält. Jeder Verbindung zwischen zwei Knoten (in der Biologie: Synapse) ist ein Verbindungs-Gewicht zugeordnet. Ein darüber weitergegebenes Signal wird mit dem entsprechenden Gewicht multipliziert. Jeder Knoten addiert i. d. R. alle eingehenden Signale und wendet auf die Summe eine einfache Funktion an. Sie hat meist S-förmige Gestalt und wird deshalb auch Sigmoidfunktion genannt. ■ Eine der gängigsten Sigmoidfunktionen ist der Tangens hyperbolicus. Das Ergebnis kann unmittelbar als eigenes Signal weitergegeben werden. Meist hat jede Verbindung von einem Knoten j zu einem Knoten i ein eigenes Gewicht wi j . ● Die Gewichte bestimmen die Reaktion eines Netzes auf eine Eingabe und sind damit sein Informationsspeicher. ● Die Nichtlinearität von Sigmoidfunktionen ist entscheidend für die Leistungsfähigkeit von neuronalen Netzen. Differenzierbarkeit, streng monotones Verhalten und Beschränktheit sind aus mathematischen Gründen notwendig bzw. sinnvoll. ▲ Es erweist sich als günstig, Schwellenparameter einzuführen, die das Argument der Sigmoidfunktionen verschieben. Man behandelt die Schwellenparameter wie Gewichte für Verbindungen, die von einem Knoten mit konstantem Signal (meist 1) ausgehen.
Knoten j w ij
Knoten i
Σ
Technisches Modell eines Neurons Signal Schwelle
Eingang
Wirkung einer Sigmoidfunktion bei verschiedenen Werten des Schwellenparameters
29.2 Umsetzung des Neuronen-Modells
901
● Lernen: Neuronale Netze lernen aus Beispiel-Eingaben mit oder ohne Beurteilung ihrer jeweiligen Ausgaben (überwachtes bzw. unüberwachtes Lernen), indem sie ihre Gewichte verändern. ▲ Bei vielen Lernverfahren ist es sinnvoll, die Gewichte vor Beginn des Lernens mit (kleinen) Zufallswerten zu belegen.
29.1.2
Struktur
Verbindungsstruktur eines Netzes, auch Architektur: Wichtigster Spezialfall sind vorwärtsgerichtete (engl. feedforward) Verbindungsstrukturen, wobei die Knoten meist in Schichten eingeteilt werden. Jeder Knoten gibt sein Signal jeweils nur an Knoten weiter, die in einer der nachfolgenden Schichten liegen (Multilayer Perceptron). Kann dagegen mindestens ein Knoten (direkt oder indirekt) seinen eigenen Eingang beeinflussen, spricht man von rückgekoppelten (recurrent) Netzen. Eingabe Versteckte Schicht Ausgabe
Links: vollständig verbundenes vorwärtsgerichtetes Netz mit einer versteckten Schicht; rechts: Netz mit Rückkopplungen in der versteckten Schicht ● Eingabe-Schnittstellen sind z. B. fest vorgegebene Signale von Eingabe-Knoten, die keine weitere Funktion haben. Informationen können dem Netz auch in Form seines Anfangszustandes eingegeben werden. ● Ausgabe-Schnittstellen sind meist Ausgabe-Knoten, deren Signale vom Anwender unmittelbar abgegriffen werden. Alle Knoten, die weder Ein- noch Ausgabeknoten sind, werden versteckte Knoten genannt, da sich der Anwender nicht direkt damit befasst.
29.2
Umsetzung des Neuronen-Modells
29.2.1
Zeitunabhängige Systeme
Die meisten neuronalen Anwendungen stützen sich auf den einfachen Fall zeitunabhängiger, vorwärtsgerichteter Netze. Hier nimmt jeder Knoten zu jeder Eingabe einen festen Zustand ein, der sich unmittelbar berechnen lässt. ● Die verschiedenen Typen zeitunabhängiger, vorwärtsgerichteter Netze sind relativ gut erprobt und leicht einzusetzen. Zeitunabhängige Signalverarbeitung: Das Eingangssignal xi eines Knotens i berechnet sich bei zeitunabhängigen Systemen üblicherweise aus den Gewichten wi j (jeweils von Knoten j nach Knoten i) und den Signalen y j anderer Knoten durch xi = ∑ wi j y j . j
Das Signal (bei Sigmoidfunktion σ i ) für den Knoten i ist dann yi = σ i (xi ).
902
29 Neuronale Netze
● Diese Gleichungen können für ein vorwärtsgerichtetes Netz unmittelbar gelöst werden, indem, beginnend an der Eingabe, alle Signale sukzessiv berechnet werden. ■ Für versteckte Knoten kann man als Sigmoidfunktion z. B. den Tangens hyperbolicus wählen, für Ausgabeknoten die Identität σ i (xi ) = xi . ■ Typische Verbindungsstruktur: Vollständige Verbindungen von der Eingabeschicht zur versteckten Schicht und von der versteckten Schicht zur Ausgabeschicht. ▲ Die Genauigkeit, mit der ein vorwärtsgerichtetes Netz mit geeigneten Sigmoidfunktionen (z. B. Tangens hyperbolicus) eine stetige Funktion, also eine stetige Zuordnung von Eingabewerten zu Ausgabewerten, wiedergeben kann, kann durch Erhöhung der Anzahl versteckter Knoten beliebig gesteigert werden. Nur eine versteckte Schicht ist ausreichend; dies muss jedoch nicht zur günstigsten Lösung führen. Auch ist das Auffinden einer Lösung durch den Lern-Algorithmus i. d. R. nicht garantiert.
29.2.2
Zeitabhängige Systeme
Zur Behandlung zeitabhängiger Daten können zwar oft zeitunabhängige Systeme verwendet werden, indem man z. B. ein Zeitfenster definiert (Daten mehrerer Zeitschritte werden gleichzeitig angeboten) und die einzelnen Zeitschritte als separate Muster behandelt. Dieser Ansatz ist einfach, jedoch auch wenig flexibel. Statt dessen kann man sich das dynamische Verhalten rückgekoppelter Systeme in einer zeitabhängigen Beschreibung zu Nutze machen. Zeitabhängige Signalverarbeitung: Das Interesse gilt hier zeitlichen Signal-Verläufen. Die von den Knoten durchgeführten Operationen ähneln denen in zeitunabhängigen Systemen. Die Signale werden jedoch nicht unmittelbar aus den Eingangssignalen berechnet. Statt dessen werden zeitliche Signaländerungen bestimmt, zu denen auch die aktuellen Zustände der jeweiligen Knoten selbst beitragen. ● Die Zustände der Knoten müssen bei zeitabhängigen Systemen durch (numerische) Lösung zugehöriger Differenzialgleichungen bestimmt werden. Zur Stabilisierung der Signal-Verläufe wird üblicherweise ein Zerfalls-Term eingesetzt. Die Signale entwickeln sich bspw. entsprechend dyi = −yi (t) + σ i (xi (t)), dt nachdem sie zum Zeitpunkt t = 0 mit yi (0) = y0i initialisiert worden sind (t wird formal als dimensionslos betrachtet). ▲ Wenn die Anfangsbedingungen nicht durch die Anwendung vorgegeben sind, wählt man i. d. R. y0i = 0. ● Eingaben und Ausgaben erfolgen in Form von Signal-Verläufen. Die Zahl der Ein- und Ausgabe-Knoten entspricht meist der Dimension der Eingabe- bzw. Ausgabedaten. Das gleichzeitige Anbieten der Daten mehrerer Zeitschritte ist nicht notwendig. ▲ Zur Integration der Differenzialgleichungen ist das einfache Euler-Verfahren erster Ordnung ausreichend, bei dem die Differenzialquotienten durch Differenzenquotienten ersetzt werden. ▲ Da bei rein vorwärtsgerichteten Architekturen eine echte Dynamik fehlt, ist eine zeitabhängige Formulierung dafür nicht sinnvoll. ■ Typische Verbindungsstruktur: Vollständige Verbindungen von der Eingabeschicht zur versteckten Schicht, innerhalb der versteckten Schicht und von der versteckten Schicht zur Ausgabeschicht.
29.3 Überwachtes Lernen
29.2.3
903
Verwendung
Technische Bedeutung gewinnen zunehmend Computer-Simulationen von neuronalen Netzen. ● Ein wichtiger Anwendungsbereich ist die Klassifizierung von Mustern. ■ Beispiele dazu sind die Erkennung von handgeschriebenen Zeichen oder die Zuordnung von Werkstücken auf einem Fließband anhand von digitalisierten Videobildern.
Eingabe
0 1 2 3 4 5 6 7 8 9 Ausgabe
Beispiel einer Muster-Klassifizierung ■ Eine gängige Architektur zur Muster-Klassifikation ordnet jedem möglichen Muster-Typ einen Ausgabe-Knoten zu. Im Idealfall erhielte man maximales Signal für den dem anliegenden Muster entsprechenden Knoten, minimales Signal für alle anderen. ● Auch zur Regelung und Steuerung können neuronale Netze eingesetzt werden. ■ Roboter-Steuerung oder Bestimmung des optimalen Drucks einer Walze auf ein Blech in einem Walzwerk.
29.3
Überwachtes Lernen
29.3.1
Prinzip des überwachten Lernens
Überwachtes Lernen (supervised learning), die Anpassung der Parameter (Gewichte) eines Netzes bezüglich eines Beurteilungskriteriums, meist in Form einer so genannten Objektfunktion. ● Objektfunktion, Zielfunktion je nach Typ auch Fehlerfunktion oder Energiefunktion genannt, bewertet die Ausgaben eines Netzes. Niedrigere Werte der Objektfunktion stehen für bessere Qualität, sodass die Aufgabe darin besteht, einen Satz von Parametern zu finden, für den die Objektfunktion (objective function) minimal wird. Gradientenabstieg (gradient descent): Einfachstes und für neuronale Netze am meisten verwendetes Verfahren zum überwachten Lernen. Die Gewichte im Lernschritt n + 1 berechnen sich jeweils aus den Gewichten im Lernschritt n. Dazu werden dem Netz nacheinander alle zu lernenden Eingabe-Muster angeboten und die jeweiligen Ausgaben entsprechend der Objektfunktion bewertet. Zu einem Satz von Gewichten W ergibt sich im Lernschritt n ein bestimmter Wert der Objektfunktion E (W(n)). ● Da der Gradient ∇E (W(n)) die Richtung des stärksten Anstiegs der Objektfunktion angibt, verändert man die Gewichte in kleinen Schritten in entgegengesetzter Richtung. ● Die Größe der Schritte wird durch die Lernrate > 0 festgelegt. W(n + 1) = W(n) − ∇E (W(n)) .
904
29 Neuronale Netze
Für die Veränderung eines Gewichtes δ wi j (n) = wi j (n + 1) − wi j (n) gilt demnach jeweils: ∂E δ wi j = − . ∂wi j ∂E/∂wi j ist die entsprechende Komponente des Gradienten.
Jeder Durchlauf durch den Satz zu lernender Muster bildet einen Lernzyklus. Der Lernvorgang wird beendet, wenn sich der Wert der Objektfunktion nicht mehr deutlich verringert oder, wenn die Aufgabenstellung mit der geforderten Genauigkeit gelöst wird. Jedes der möglicherweise zahlreichen Minima der Objektfunktion hat einen Einzugsbereich, in dem der Gradientenabstieg auf die entsprechenden Werte für die Gewichte zustrebt. Oft existiert jedoch nur ein globales Minimum, das sich durch die beste Ausgabe-Qualität auszeichnet.
Objektfunktion
▲ Der Gradientenabstieg kann sich in einem lokalen Minimum verfangen, das einen höheren Wert der Objektfunktion aufweist, als das gesuchte globale Minimum oder Optimum. Einfachste Abhilfe ist (notfalls wiederholter) Neustart des Lernens mit veränderten Anfangsgewichten. lokal Minima global
Gewichte
Veranschaulichung des Gradientenabstiegs ▲ Während des Gradientenabstiegs können, weil man die Schrittweite nicht beliebig fein wählen kann, zum Teil große Sprünge in der Objektfunktion auftreten, auch zu höheren Werten.
Objektfunktion
Objektfunktion
Lernrate (learning rate): Bestimmt den Verlauf des Gradientenabstiegs. Kleinere Lernrate führt zu kleineren Sprüngen in der Objektfunktion und eventuell auch exakterer Adaption. Größere Lernrate kann den Lernvorgang beschleunigen und Entkommen aus lokalen Minima erleichtern. Eine geeignete Lernrate ist von Fall zu Fall durch Probieren zu ermitteln.
Lernzyklen
Lernzyklen
Objektfunktion während des Lernens (links: große Lernrate, rechts: kleine Lernrate) Inkrementelles Lernen (incremental learning), die Anpassung der Gewichte jeweils nach der Präsentation eines einzelnen Musters. Dazu wird für jedes Lern-Muster einmal der Gradient einer entsprechenden Objektfunktion berechnet. Es wird also kein „echter“ Gradientenabstieg durchgeführt, bei dem alle zu lernenden Muster auf einmal erfasst würden (batch learning). ▲ Bei großen Datensätzen, die viele Wiederholungen beinhalten, kann inkrementelles Lernen eine unter Umständen erhebliche Verminderung des Aufwands für das Lernen bewirken. Auch vermindert sich die Wahrscheinlichkeit, dass sich der Lernvorgang in lokalen Minima verfängt, vor allem, wenn nach jedem Lernzyklus die Reihenfolge der Muster im Lernsatz (zufällig) durchmischt wird.
29.3 Überwachtes Lernen
29.3.2
905
Standard Backpropagation
Wichtigstes Verfahren zur Berechnung des Gradienten einer Fehlerfunktion für vorwärtsgerichtete, zeitunabhängige Netze. Es beruht auf einer rückwärts gerichteten Weitergabe von so genannten Fehlersignalen durch das Netz. Versteckte Schicht Ausgabe
Fehler-Rückpropagation Die typische Objektfunktion (eine Fehlerfunktion) summiert die Quadrate der Ausgabefehler an den einzelnen Ausgabe-Knoten. Nach der Berechnung aller Signale werden für jeden Ausgabe-Knoten (Ω Menge der Ausgabe-Knoten) das tatsächliche Signal yi und das gewünschte Signal ysoll verglichen: i 2 1 E = ∑ yi − ysoll . i 2 i∈Ω Gewichtsänderungen berechnen sich mithilfe der Fehlersignale ∆ i nach ∂E δ wi j = − = − ∆ i y j . ∂wi j Fehlersignale für Ausgabe-Knoten i (i ∈ Ω ) ergeben sich unmittelbar aus ∆ i = σ i (xi ) yi − ysoll . i Für versteckte Knoten gilt (i ∈ / Ω ): ∆ i = σ i (xi ) ∑ wki ∆ k . k
(Für Eingabe-Knoten werden keine Fehlersignale benötigt.) ● Bei vorwärtsgerichteten Verbindungen können die Fehlersignale, beginnend an den Ausgabe-Knoten, sukzessiv berechnet werden. ▲ Sollen mehrere Muster auf einmal berücksichtigt werden (batch learning), so werden für jedes Muster entsprechende Fehlersignale berechnet. Deren Beiträge zu den einzelnen Gewichtsänderungen werden dann einfach summiert. Dies entspricht einer Summe über alle Lernmuster in der Objektfunktion. ▲ Überwachtes Lernen funktioniert häufig besser mit linearen Ausgabeknoten (Sigmoidfunktion = Identität), da die Fehlersignale besser weitergegeben werden. ▲ Binäre Eingabedaten sollten aus {−1, + 1}, statt aus {0, + 1} gewählt werden, da Null-Signale nicht zum Lernen beitragen.
29.3.3
Backpropagation Through Time
Dies ist die Verallgemeinerung des Standard Backpropagation-Algorithmus auf zeitabhängige Systeme. An die Stelle der Fehlerfunktion E tritt hier das Fehlerfunktional F=
1 2τ
τ
∑
0 i∈Ω
2 yi (t) − ysoll dt. i (t)
Auch die Zielsignale sind natürlich zeitabhängig angegeben; τ ist die Länge des betrachteten Zeitintervalls.
906
29 Neuronale Netze
Gewichtsänderungen erhält man durch Integration: δ wi j = −
∂F ∂wi j
τ
= −
1 τ
∆ i σ i (xi ) y j dt.
0
Fehlersignale eines zeitabhängigen Systems werden (wie die Signale) durch (numerische) Lösung von Differenzialgleichungen berechnet: ∂E d∆ i =− + ∆ i − ∑ wki σ k (xk ) ∆ k , dt ∂yi k stets mit den Randbedingungen [∆ i ]t=τ = 0. Für Ausgabe-Knoten ist ∂E/∂yi = yi − ysoll i , für alle anderen Knoten gilt ∂E/∂yi = 0. ● Nach der Vorwärts-Propagation der Signale findet eine Rückwärts-Propagation der Fehlersignale durch das Netz und durch die Zeit statt (daher der Name des Algorithmus). ■ Man erhält z. B. für Fehlersignale von Ausgabe-Knoten nach dem Euler-Verfahren die Gleichungen: , ∆ i (t − δ t) = ∆ i (t) + δ t yi (t) − ysoll i (t) − ∆ i (t) + ∑ wki σ k (xk (t)) ∆ k (t) . k
▲ Bei Verwendung des Euler-Verfahrens für die Berechnung von Signalen und Fehlersignalen erhält man ein diskretisiertes Modell, in dem die Gradientenberechnung wiederum exakt ist. Der Lernvorgang erfolgt, abgesehen von der Zusammenfassung vieler Zeitschritte in einzelne Muster, analog zur Standard-Backpropagation. Für die numerische Berechnung der Fehlersignale werden alle Signale für jeden Zeitschritt der VorwärtsPropagation zwischengespeichert. ▲ Bei ausreichender Speicherkapazität ist es sinnvoll, auch die Eingangssignale xi zu speichern. ▲ Neben der Größe des Netzes sollte auch die Zeitskala der jeweiligen Anwendung angepasst werden. Am einfachsten ist es, die Daten entsprechend zu normieren. ■ Zum Zeichnen einer Acht (durch ein Netz mit einer vollständig verknüpften versteckten Schicht und mit jeweils einem Ausgabeknoten für horizontale und vertikale Komponenten) hat sich bspw. ein τ -Intervall von 2π als günstig erwiesen. ▲ Beim Lernen komplexer Zusammenhänge kann es vorteilhaft sein, zunächst nur einen kleinen Teil des Zeitintervalls zu berücksichtigen und diesen dann sukzessiv zu vergrößern. So werden Schwierigkeiten mit sehr großen Fehlersignalen nach langen Propagationen vermieden. Alternativ bietet sich ein Teacher-Forcing-Verfahren an. Teacher-Forcing: Variante eines Lernverfahrens, bei der den Ausgabe-Knoten zu jedem Zeitpunkt die gewünschten Signale „aufgezwungen“ werden. ● Bewertet wird bei Teacher-Forcing die Tendenz des Systems, von einem aufgezwungenen AusgabeVerhalten abzuweichen. Man ersetzt alle Fehlersignale für Ausgabe-Knoten (∆ i mit i ∈ Ω ) in den Differenzialgleichungen der Fehlersignale für versteckte Knoten und in den Gleichungen für die Gradienten-Komponenten durch dyi ∆ TF . i = σ i (xi ) − yi − dt Der Term ∂E/∂yi entfällt. Die „ursprünglichen“ Fehlersignale für die Ausgabe-Knoten werden nicht mehr benötigt. Teacher-Forcing kann bei einigen Anwendungen eine deutliche Verbesserung der Konvergenz des Lernvorgangs bewirken.
29.3 Überwachtes Lernen
907
▲ Teacher-Forcing funktioniert manchmal besser, wenn die Signale von Ausgabe-Knoten nicht weitergegeben werden, da sich sonst unter Umständen die Dynamik in der Anwendung (mit zwangsläufig freien Ausgabe-Signalen) zu stark von derjenigen im Lernvorgang unterscheidet. ▲ Auch wenn die exakten Zeitableitungen dyi / dt der Ausgabe-Signale analytisch bekannt sind, ist es für das Euler-Verfahren besser, hier ebenfalls entsprechende Differenzenquotienten zu verwenden.
29.3.4
Verbesserte Lernmethoden
Impuls-Term (momentum term): Zur Vermeidung sehr langsamer Konvergenz einerseits und Oszillationen andererseits kann der Regel für den Gradientenabstieg ein so genannter Impuls-Term hinzugefügt werden, der oft beschleunigend und stabilisierend wirkt. Die Veränderung eines Gewichtes ergibt sich damit unter Verwendung des vorhergehenden Lernschrittes aus δ wi j (n) = −
∂E(n) ∂wi j
+ α δ wi j (n − 1).
Der Impuls-Term erhält seine Wichtung durch den Koeffizienten α (mit 0 ≤ α < 1, z. B. α = 0,9). Wenn sich der Gradient nicht ändert, konvergiert die effektive Lernrate gegen /(1 − α ). ▲ Verwendung eines Impuls-Terms beim Lernen ist ein gängiges Verfahren zur Verbesserung der Konvergenz. Bei komplizierten Problemen können jedoch Schwierigkeiten auftreten, weil Minima verfehlt oder unter Umständen notwendige Rauschanteile im Gradientenabstieg unterdrückt werden. Quickprop: Lernverfahren, das im Wesentlichen ein stark vereinfachtes Newton-Verfahren darstellt. Man verwendet ∂E(n)/∂wi j δ wi j (n) = δ wi j (n − 1). ∂E(n − 1)/∂wi j − ∂E(n)/∂wi j Für Situationen, in denen δ wi j (n − 1) ≈ 0 ist, wird noch ein Gradienten-Term und zur Begrenzung der Gewichte ein „Zerfalls-Term“ hinzugefügt, z. B. ∂E(n)/∂wi j ∂E(n) δ wi j (n) = − λ δ wi j (n − 1) − . ∂E(n − 1)/∂wi j − ∂E(n)/∂wi j ∂wi j Die Zerfallskonstante ist klein zu wählen, 0 < λ < 1. Der erste Schritt wird als Gradienten-Abstieg durchgeführt. Wird δ wi j (n) > µ δ wi j (n − 1) (mit Wachstums-Grenzwert µ > 1, z. B. µ = 1,75), so verwendet man δ wi j (n) = µ δ wi j (n − 1). Sind die Vorzeichen von Quickprop- und Gradienten-Beitrag verschieden, so kann es sinnvoll sein, δ wi j (n) = δ wi j (n − 1) zu verwenden. Man setzt = 0, wenn sich das Vorzeichen der Gradienten-Komponente umkehrt; dies dient der Vermeidung von Oszillationen. ▲ Für einfache Probleme kann Quickprop zum Teil sehr große Zeitersparnisse beim Lernen (gegenüber Gradienten-Abstieg) bewirken. Für kompliziertere Probleme ist die Eignung jedoch jeweils besonders zu prüfen. Es empfiehlt sich, mit verschiedenen Varianten zu experimentieren.
29.3.5
Hopfield-Netz
Zu einem angebotenen Muster (unvollständig oder verrauscht) assoziiert ein Hopfield-Netz idealerweise ein (binäres) Muster aus dem Lernsatz. Alle Knoten sind sowohl Eingabe- als auch Ausgabe-Knoten (einer für jede Muster-Konponente). ● Die Ausgabe eines Hopfield-Netzes entsteht am Ort der Eingabe. Hopfield-Netze sind AutoassoziativSpeicher. Verbindungen zwischen den Knoten werden symmetrische Gewichte (wi j = w ji ) zugeordnet. Die Knoten werden meist vollständig miteinander verbunden.
908
29 Neuronale Netze
Da das System rückgekoppelt ist, erfolgt der Informationsabruf dynamisch. Symmetrie der Gewichte garantiert, dass das System stets in stabile Zustände läuft. Die Einzugsgebiete dieser stabilen Zustände (Fixpunkte) werden als Attraktoren bezeichnet. ● Gespeicherte Information wird durch die Lage der Attraktoren repräsentiert. Daten-Eingabe beim Informationsabruf erfolgt in Form des Anfangs-Zustandes. Dabei wird jedes Signal auf den Wert der entsprechenden Muster-Komponente gesetzt. ▲ Da nur zeitunabhängige Daten sinnvoll bearbeitet werden können, wird das Hopfield-Netz zu den zeitunabhängigen Systemen gezählt. Funktionsweise eines Hopfield-Netzes: Der Einfluss von Knoten mit falschen Signalen ist oft nicht groß genug, um Signale anderer Knoten zu stören. Unter dem Einfluss der anderen Signale werden die falschen Signale dann korrigiert.
Funktionsweise eines Hopfield-Netzes Diskretes Hopfield-Netz: Einfachste Variante, es wird eine Signum-Funktion anstelle einer Sigmoiden verwendet. Das System arbeitet zeitdiskret. Um einen Fixpunkt yi = sgn
∑ wi j y j
für alle i
j
zu erreichen, iteriert man yi (t + 1) = sgn
∑ wi j y j (t) j
solange, bis sich kein Signal mehr verändert. ▲ Oszillationen werden vermieden, wenn die Neuberechnung der Signale sequenziell erfolgt, also nach jeder Berechnung des Eingangssignals eines Knotens das Signal unmittelbar angepasst wird. Gewichte werden direkt berechnet nach wi j ∝ ∑ ∑ yip y pj , p i, j
wobei p über alle zu speichernden Muster läuft. Das obige Signalprodukt wird im Allgemeinen als HebbTerm bezeichnet. Der Proportionalitätsfaktor ist frei wählbar. Man beachte die Symmetrie wi j = w ji . Initialisierung der Gewichte und Durchführung mehrerer Lernzyklen entfallen. Kontinuierliches Hopfield-Netz: Um einen Fixpunkt zu berechnen, löst man beim kontinuierlichen Hopfield-Netz (numerisch) die Differenzialgleichungen dyi = −yi (t) + σ i (xi (t)). dt (t wird als dimensionslos angenommen.)
29.4 Unüberwachtes Lernen
909
Bei ausreichender Genauigkeit der numerischen Integration treten keine Oszillationen auf. ▲ Die Größe der Gewichte sollte so gewählt werden, dass die xi überwiegend im nichtlinearen Bereich der Sigmoidfunktion liegen. ● Jedem Hopfield-Netz ist eine bestimmte Speicherkapazität zugeordnet. Große, vollständig verbundene Netze mit N Knoten können etwa 0,14 N unkorrelierte Muster speichern. ▲ Werden mehr Muster in den Lernsatz integriert, als das Netz zu speichern vermag, bricht die Wiedergabefähigkeit unter Umständen völlig zusammen. Die Größe der Attraktoren nimmt mit der Zahl der gespeicherten Muster ab. ▲ Da die zugehörige Objektfunktion (hier wegen physikalischer Analogien auch Energiefunktion genannt) nur Paritäten von Signal-Vorzeichen berücksichtigt, können Hopfield-Netze ausschließlich Vorzeichen-Paritäten (also binäre Muster) speichern und reproduzieren. ▲ Hopfield-Netze können verdünnt werden, indem man Verbindungen entfernt. Die Speicherkapazität ist dabei etwa proportional zur Zahl der Verbindungen. Durch asymmetrische Verbindungen können Oszillationen oder chaotisches Verhalten auftreten. ▲ Selbstverbindungen (Gewichte wii = 0) wirken sich meist negativ auf die Leistungsfähigkeit eines Hopfield-Netzes aus. Iterative Lernregel für Autoassoziativ-Speicher: Eine asymmetrische, iterative Lernregel, in der gut repräsentierte Muster jeweils weniger stark beitragen, lässt sich (ähnlich dem Backpropagation-Algorithmus) aus dem Gradienten einer entsprechenden Fehlerfunktion bilden: , - δ wi j = ysoll − σi i
∑ wik ysoll k k
σ i
∑ wik ysoll k
ysoll j .
k
Wie beim Backpropagation-Algorithmus werden die Muster in Zyklen präsentiert. ▲ Hiermit (und mit einer entsprechenden diskreten Version) lassen sich deutlich höhere Speicherkapazitäten erreichen als mit reinen Hebb-Gewichten.
29.4
Unüberwachtes Lernen
29.4.1
Prinzip des unüberwachten Lernens
Beim unüberwachten Lernen (unsupervised learning) stehen dem lernenden System aus den Daten keine Angaben über ein gewünschtes Ausgabe-Verhalten zur Verfügung. ● Eine Bewertung von Ausgaben während des Lernens findet nicht statt. Das gewünschte Verhalten des Netzes muss deshalb durch den Lern-Algorithmus festgelegt sein. Wesentliche Anwendung solcher Systeme ist die Entwicklung von Daten-Transformationen verschiedener Art. ● Redundanz spielt im unüberwachten Lernprozess eine entscheidende Rolle, da sie den einzigen in den Daten enthaltenen Anhaltspunkt zur Lösung einer Aufgabe darstellt. ▲ In manchen Anwendungen wird der Einsatz des neuronalen Netzes bereits mit dem „Lernen“ abgeschlossen, da der dadurch gewonnene Gewichtssatz selbst die Lösung des Problems darstellt. Selbstorganisierende Systeme haben i. d. R. die Aufgabe, ein Zuordnungsschema zweier geometrisch verschiedener Räume (Ein- und Ausgaberaum) zu finden, das – soweit möglich – Nachbarschaftsbeziehungen erhält, also topologieerhaltend ist.
910
29 Neuronale Netze
29.4.2
Kohonen-Modell
Das wohl bekannteste selbstorganisierende neuronale System. Jede Komponente eines Eingabevektors (jeder Eingabe-Knoten) wirkt über Verbindungen mit veränderlichen Gewichten auf eine Anzahl aktiver Knoten, denen ein geometrischer Zusammenhang zugeordnet ist. ■ Beispiel: eindimensionale (kettenförmige) Anordnung der aktiven Knoten. Typischerweise reagieren im trainierten Netz benachbarte Knoten auf ähnliche Eingabewerte, wobei sich jeder Knoten auf einen bestimmten Bereich des Eingaberaums spezialisiert (Topologieerhaltung); die Auflösung (Zahl der „zuständigen“ Knoten) steigt mit der Wichtigkeit (Anzahl der „Stimuli“) des entsprechenden Areals im Eingaberaum. Eingaberaum
Knoten
Ausgaberaum
Ausgaberaum
Eingaberaum
Knoten
Lernen im Kohonen-Modell. Links: Wahl der Knoten-Position mit maximaler Anregung; rechts: Adaption der Gewichte entsprechend der Knoten-Positionen Die Gewichte werden mit Zufallswerten initialisiert. Für jeden Lernschritt unter einem Eingabevektor y wird diejenige Knoten-Position i 0 ermittelt, für die der Wert
∑(wi
0
j
− y j )2
j
minimal ist. ▲ Dies stellt eine Vereinfachung der Methode dar, nach Berechnung „herkömmlicher“ Knoten-Signale jeweils den Knoten mit maximalem Signal zu wählen. Fasst man die Verbindungen jedes Knotens vektoriell auf, so muss also gelten 2 2 2 2 2wi 0 −y 2 ≤ 2wi −y 2 für alle i. Gewichtsänderungen: Die Verbindungs-Gewichte für alle Knoten aus der „Umgebung“ des Knotens i 0 (hier tritt der geometrische Zusammenhang in Erscheinung) werden in Richtung auf die aktuelle Eingabe „verschoben“: δ wi j = g(i,i 0 ) y j − wi j . Der Einfluss der Verschiebung hängt von der Entfernung der den Knoten i und i 0 zugeordneten Positionen ab; die Intensitätsfunktion g muss dazu mit steigendem Abstand abnehmen. ■ Eine passende Wahl der Intensitätsfunktion ist z. B. (ri − ri 0 )2 0 g(i,i ) = exp − , 2 α2 mit ri als der Position des i-ten Ausgabe-Knotens und α als Breite des beeinflussten Bereichs (hier eine Gauß-Glocke). Die Lernrate gibt wieder die Größe der Lernschritte an.
29.5 Realisierungen von Neuronalen Netzen
911
Im Verlauf des Lernens werden dem Netz sehr viele verschiedene Eingabevektoren präsentiert, die meist zufällig (aber i. d. R. nicht gleichverteilt) gewählt werden. ▲ Ein- und Ausgaberaum können unterschiedliche Dimensionen haben. ■ Beispiel: Die Redundanz hochdimensionaler Daten soll unter Transformation in niederdimensionale Daten reduziert werden. ▲ Um eine brauchbare Grobstruktur der Zuordnung zu erhalten, muss das Lernverfahren zu Beginn mit großem α betrieben werden, das dann bei feiner werdender Zuordnung (Auflösung) verringert wird. Ebenso wird die Lernrate , die am Anfang groß gewählt wird, um rasch eine Struktur zu erzeugen, im Verlauf des Lernens verkleinert. Die Wahl entsprechender Verläufe ist stets mit einer gewissen Willkür verbunden. ■ Möglich sind z. B. lineare, exponentielle oder hyperbolische Verläufe; die beste Wahl muss im Einzelfall durch Probieren ermittelt werden.
29.5
Realisierungen von Neuronalen Netzen
Für eine Vielzahl ökonomischer Fragestellungen wurden bisher Neuronale Netze entwickelt und zum großen Teil auch in der Praxis eingesetzt. ▲ Insbesondere die Prognoseeigenschaften Neuronaler Netze werden für Finanzentscheidungen genutzt. ● Anwendungsgebiete für den Einsatz Neuronaler Netze: • Aktienkursprognosen • Bonitätsanalysen • Kreditwürdigkeitsprüfungen • Marktanalysen • Volatilitätsschätzungen • Prognosen des PKW-Absatzes
30
Wahrscheinlichkeitsrechnung und mathematische Statistik
Wahrscheinlichkeitsrechnung, mathematische Disziplin, die die Gesetzmäßigkeiten zufälliger Ereignisse erfasst und beschreibt. Während einzelne zufällige Erscheinungen sich einer exakten mathematischen Beschreibung entziehen, können zufällige Massenerscheinungen durch mathematische Gesetzmäßigkeiten erfasst werden. Die Wahrscheinlichkeitsrechnung ist die Grundlage der mathematischen Statistik. Mathematische Statistik, Wissenschaft von der zahlenmäßigen Erfassung und Untersuchung von Massenerscheinungen in Natur und Gesellschaft. Beschreibende Statistik, elementarer Teil der mathematischen Statistik, befasst sich mit der Erfassung, Aufbereitung, Verdichtung und Darstellung von empirischem Datenmaterial. Wesentliche Aufgabe der mathematischen Statistik: aus einer Menge von Beobachtungsergebnissen (einer Stichprobe) auf die zu untersuchende Gesamtheit schließen.
30.1
Kombinatorik
Komplexionen, Gegenstand der Kombinatorik, untersuchen Anordnungen oder Zusammenstellungen endlich vieler Elemente (z. B. Menschen, Gegenstände, Zahlen), die mit Symbolen bezeichnet werden. Grundbegriffe der Kombinatorik: Permutationen, Kombinationen, Variationen. ● Komplexionen, in denen n gegebene Elemente in irgendendeiner Anordnung nebeneinander stehen, heißen Permutationen der n Elemente. Anzahl der Permutationen von n voneinander verschiedenen Elementen: Pn = n! Anzahl der Permutationen von n gegebenen Elementen mit n1 gleichen Elementen einer ersten Art, n2 gleichen Elementen einer zweiten Art, . . . ,nk gleichen Elementen einer k-ten Art: Pn(n1 ,n2 ,...,nk )
n! = , n1 !n2 ! . . . nk !
k
∑ ni = n.
i=1
■ 3 Studenten können auf 3 Stühlen 3! = 6 verschiedene Sitzordnungen einnehmen. ● Die aus k Elementen bestehenden Komplexionen, die sich aus n voneinander verschiedenen Elementen ohne Berücksichtigung ihrer Anordnung bilden lassen, heißen Kombinationen von n Elementen zur k-ten Klasse. Anzahl der Kombinationen ohne Wiederholung von n Elementen zur k-ten Klasse: n k Cn = , 1 ≤ k ≤ n. k Anzahl der Kombinationen mit Wiederholung von n Elementen zur k-ten Klasse: n+k−1 W k Cn = . k
30.1 Kombinatorik
913
■ 6 aus 49 sind eine 6er-Kombination 49 49 · 48 · 47 · 46 · 45 · 44 6 C49 = = = 13 983 816. 6 1·2·3·4·5·6 Gegeben: Für die natürliche Zahl m gelte 0 ≤ m ≤ 6. Gesucht: Wie hoch ist die Chance, im Zahlenlotto „6 aus 49“ m Richtige zu haben? Weg: Vor der Ziehung gibt es 49 Kugeln. Nach der Ziehung gibt es 6 gezogene Kugeln und 49−6 nicht gezogene Kugeln. Das entspricht 6 richtigen Zahlen und 43 falschen Zahlen, die man getippt haben könnte. Man hat genau m richtige Zahlen und 6− m falsche Zahlen getippt. 6 43 Dazu hatte man Möglichkeiten und Möglichkeiten m 6−m für die richtigen Zahlen für die falschen Zahlen.
● Die aus k Elementen bestehenden Komplexionen, die sich aus n verschiedenen Elementen mit Berücksichtigung ihrer Anordnung bilden lassen, heißen Variationen von n Elementen zur k-ten Klasse. Anzahl der Variationen ohne Wiederholung von n Elementen zur k-ten Klasse: Vnk =
n! , (n − k)!
1 ≤ k ≤ n.
Anzahl der Variationen mit Wiederholung von n Elementen zur k-ten Klasse: W
Vnk = nk .
■ Maximale Anzahl der Leuchtsignale, wenn 4 verschiedene Farben zur Verfügung stehen und jedes Signal aus 2 verschiedenfarbigen, nacheinander abgegebenen Zeichen besteht: V42 =
4! = 12. 2!
914
30 Wahrscheinlichkeitsrechnung und mathematische Statistik
30.2
Zufällige Ereignisse
30.2.1
Grundbegriffe
Zufälliger Versuch, Zufallsexperiment, Versuch, Experiment, dessen Ergebnis von zufällig wirkenden Faktoren beeinflusst wird und das dadurch in gewissen Grenzen unbestimmt ist. ■ Würfel, Lotto, Roulette, Zufallszahlengenerator, statistischer Messfehler, Schätzfunktion einer Stichprobe. Elementarereignis ω i , unmittelbar mögliches Ergebnis eines zufälligen Versuchs. Ereignismenge Ω , Menge der Elementarereignisse. Diskrete Ereignismenge, Ereignismenge, deren Elemente auf dem Raum der natürlichen Zahlen abgebildet werden können. Stetige Ereignismenge, Ereignismenge, deren Elemente überabzählbar sind und nur auf den Raum der reellen Zahlen abgebildet werden können. ■ Die Zahlen eines Würfels E = {1,2,3,4,5,6} bilden eine diskrete, die Menge der reellen Zahlen im Intervall X = [0,1] eine stetige Ereignismenge. Zufälliges Ereignis A, Ereignis, das als Ergebnis eines zufälligen Versuchs eintreten kann (Teilmenge von Ω ); Element des Ereignisfeldes. ■ Alle Augenzahlen größer 3 bzw. kleiner 3 bei einem Würfel; 1 1 2 2 , x2 = , , x3 = ,1 . die Intervalle x1 = 0, 3 3 3 3 Sicheres Ereignis Ω , Ereignis, das eintreten muss (Ω als Teilmenge von Ω ). Unmögliches Ereignis ϕ , Ereignis, das nicht eintreten kann (Nullmenge ϕ als Teilmenge von Ω ). Zu A komplementäres (entgegengesetztes) Ereignis A, Ereignis, das genau dann eintritt, wenn A nicht eintritt.
A Ω
A
Komplementäres Ereignis A zu A ■ A: Alle geraden Augenzahlen (2,4,6); A: Alle ungeraden Augenzahlen (1,3,5). Ereignisfeld E , Menge von interessierenden Ereignissen eines zufälligen Versuchs, für die gilt: 1. Ω ∈ E 2. A ∈ E → A ∈ E 3. A,B ∈ E → ((A ∪ B ∈ E ) ∧ (A ∩ B ∈ E )) ■ Ereignisfeld von 6 unvereinbaren Elementarereignissen ω i ,i = 1,2, . . . ,6 besteht aus 26 zufälligen Ereignissen (Würfelbeispiel): 6 ω 1 ,ω 2, . . . ,ω 6, das sind = 6 zufällige Ereignisse, die Elementarereignisse, ω i ∪ ω j , i = j, das 1 6 6 6 6 sind = 15 zufällige Ereignisse, weitere , , Ereignisse sowie das sichere und das 2 3 4 5 unmögliche Ereignis, insgesamt 64 zufällige Ereignisse.
30.2 Zufällige Ereignisse
30.2.2
915
Ereignisrelationen und Ereignisoperationen
Enthalten sein von A in B, A ⊂ B, wenn jedes Elementarereignis von A auch Elementarereignis von B ist (auch: A zieht B nach sich). ▲ Für ein beliebiges zufälliges Ereignis A gilt: A ⊂ A; A ⊂ Ω . Gleichheit von A und B, A = B, wenn sowohl A ⊂ B als auch B ⊂ A gilt. A
B
A
Ω
B
A∩B
A zieht B nach sich
Produkt von A und B
● Produkt der Ereignisse A und B, A ∩ B, Ereignis, das genau dann eintritt, wenn sowohl A als auch B eintritt. n
▲ Produkt der Ereignisse Ai (i = 1,2, . . . ,n): A1 ∩ A2 ∩ · · · ∩ An = Ai , Ereignis, das genau dann eintritt, i=1 wenn alle Ai eintreten. Sprechweise: A1 und A2 und . . . und An . ■ A = {3,4,5,6}, B = {1,2,3,4}, A ∩ B = {3,4}. Unvereinbare (einander ausschließende) Ereignisse A, B, Ereignisse, für die A ∩ B = ϕ gilt; A und B besitzen keine gemeinsamen Elementarereignisse. Andernfalls nennt man A und B vereinbar. ▲ Paarweise unvereinbare Ereignisse Ai (i = 1,2, . . . ,n) sind Ereignisse, für die Ai ∩ A j = ϕ , i = j, gilt. ● Summe der Ereignisse A und B, A ∪ B, Ereignis, das genau dann eintritt, wenn A oder B, d. h. mindestens eines der Ereignisse A oder B, eintritt. A
B
Ω
A∪B
Summe von A und B ▲ „oder“ ist hier ein nicht ausschließendes oder und lässt zu, dass auch A und B eintreten kann. ▲ Summe der Ereignisse Ai (i = 1,2, . . . ,n): A1 ∪ A2 ∪ · · · ∪ An = ∪ni=1 Ai , Ereignis, das genau dann eintritt, wenn mindestens ein Ai eintritt. ■ A = {2,4,6}, B = {1,3,5}, A ∪ B = {1,2,3,4,5,6}. ▲ Für Produkt und Summe von zufälligen Ereignissen gelten Kommutativ-, Assoziativ- und Distributivgesetze: A∩B =B∩A A∪B=B∪A A ∩ (B ∩ C) = (A ∩ B) ∩ C A ∪ (B ∪ C) = (A ∪ B) ∪ C A ∩ (B ∪ C) = (A ∩ B) ∪ (A ∩ C) A ∪ (B ∩ C) = (A ∪ B) ∩ (A ∪ C)
916
30 Wahrscheinlichkeitsrechnung und mathematische Statistik
Vollständiges System von Ereignissen Ai (i = 1,2, . . . ,n), Ereignisse Ai , für die Ai ∩ A j = ϕ , i = j, i, j = 1,2, . . . ,n und ∪ni=1 Ai = Ω gilt. ■ Die mit einem Würfelexperiment verbundenen Ereignisse bilden ein vollständiges System von Ereignissen.
A1
A4
A2 A3
A5
Ω
A1 ,A2 ,A3 ,A4,A5 bilden ein vollständiges System
▲ Ein vollständiges System von Ereignissen ist dadurch charakterisiert, dass im Ergebnis der einmaligen Ausführung des betreffenden zufälligen Versuchs genau eines dieser Ereignisse eintritt. Damit bilden z. B. alle Elementarereignisse bezüglich eines Versuchs immer ein vollständiges System. Eigenschaften von Ereignissen A ⊂ A Produkt A∩A =A A∩B =B∩A A ∩ (B ∩ C) = (A ∩ B) ∩ C A ∩ (B ∪ C) = (A ∩ B) ∪ (A ∩ C) A∩A =ϕ A∩Ω = A A∩ϕ =ϕ A∩B =A∪B
30.2.3
A⊂Ω
A=A
Summe A∪A =A A∪B =B∪A A ∪ (B ∪ C) = (A ∪ B) ∪ C A ∪ (B ∩ C) = (A ∪ B) ∩ (A ∪ C) A∪A =Ω A∪ϕ =A A∪Ω =Ω A∪B =A∩B
Strukturdarstellung von Ereignissen
Strukturdarstellung, Darstellung eines zufälligen Ereignisses als Summe bzw. Produkt von Teilereignissen; Darstellung von Ergebnissen eines mehrstufigen zufälligen Versuchs. ■ Ein unmittelbar beobachtbares Versuchsergebnis (Elementarereignis) ist ein zufälliges Ereignis, das sich aus Teilereignissen zusammensetzt. Teilereignisse, Ergebnisse der Teilschritte eines zufälligen Versuchs. ▲ Es gibt zufällige Ereignisse, für die sich mehrere Strukturdarstellungen angeben lassen. ▲ Zum Ermitteln einer Strukturdarstellung und zur Berechnung von Wahrscheinlichkeiten kann der Ereignisbaum verwendet werden. Ereignisbaum, Menge von Knoten, die durch Kanten verbunden sind. Knoten stellen Teilereignisse (mögliche Zwischenergebnisse) dar, Kanten Beziehungen zwischen diesen Ereignissen. Zweig, Ast, Verbindung von Startknoten (Wurzel) zum Endknoten (mögliche Endergebnisse). Aufbaubedingungen, die beim Aufstellen eines Ereignisbaumes zu beachten sind: a) zufällige Ereignisse, die einem Knoten folgen, bilden ein vollständiges System von Ereignissen, b) ausgehend vom Startknoten darf an jedem folgenden Knoten nur eine Kante enden, c) entlang der Zweige sind die Ereignisse mit „und“ zu verbinden, d) jeder Zweig stellt ein Elementarereignis des Versuchs dar, welches sich als Produkt der Teilereignisse auf diesem Zweig ergibt.
A2
3. Ebene
1. Ebene
■ Ereignisbaum eines dreistufigen zufälligen Versuchs
2. Ebene
30.3 Wahrscheinlichkeit von Ereignissen
A1 A2 Startknoten A2
A1
A2
Endknoten
A3
A 1∩ A 2∩ A 3
A3
A 1∩ A 2∩ A 3
A3
A 1∩ A 2∩ A 3
A3
A 1∩ A 2∩ A 3
A3
A 1∩ A 2∩ A 3
A3
A 1∩ A 2∩ A 3
A3
A 1∩ A 2∩ A 3
A3
A 1∩ A 2∩ A 3
917
▲ Die Aufeinanderfolge der Knoten muss keine zeitliche Reihenfolge darstellen und bei zeitlich parallel ablaufenden Vorgängen stellt die Reihenfolge der Knoten eine willkürliche Beobachtungsreihenfolge der Ergebnisse der Teilversuche dar.
30.3
Wahrscheinlichkeit von Ereignissen
Relative Häufigkeit kn (A), Wert für das Auftreten des Ereignisses A bei n unabhängigen Wiederholungen eines zufälligen Versuches. ▲ Die relativen Häufigkeiten schwanken bei langen Versuchsreihen unter konstanten Bedingungen um einen festen, unbekannten Wert p. Stabilität der relativen Häufigkeit, Eigenschaft, dass Abweichungen von p mit zunehmender Anzahl von Versuchswiederholungen abnehmen. Wahrscheinlichkeit (axiomatische Definition nach Kolmogoroff), eindeutige Zuordnung einer reellen Zahl p = P(A) einem zufälligen Ereignis A ∈ E . Axiom I: P(A) ist eine nichtnegative reelle Zahl ≤ 1, 0 ≤ P(A) ≤ 1, Axiom II: Die Wahrscheinlichkeit des sicheren Ereignisses ist 1, P(Ω ) = 1. Axiom III: Die Wahrscheinlichkeit einer Summe paarweise unvereinbarer (disjunkter) Ereignisse A1 ,A2 ,A3 , . . . ist gleich der Summe der Wahrscheinlichkeiten der Ereignisse: P(A1 ∪ A2 ∪ A3 ∪ . . .) = P(A1 ) + P(A2 ) + P(A3 ) + . . .
30.3.1
Eigenschaften von Wahrscheinlichkeiten
● Für die Wahrscheinlichkeit eines zu A gehörenden komplementären Ereignisses A gilt: P(A) = 1 − P(A). ● Für die Wahrscheinlichkeit des unmöglichen Ereignisses ϕ gilt: P(ϕ ) = 0. ● Zieht das Ereignis A das Ereignis B nach sich (A ⊂ B), so gilt: P(A) ≤ P(B). ● Bilden Ai , i = 1,2, . . . ,n, ein vollständiges System von Ereignissen, so gilt: P(Ai ∩ A j ) = 0, i = j, i, j = 1,2, . . . ,n
918
30 Wahrscheinlichkeitsrechnung und mathematische Statistik
und P(
n
i=1
n
Ai ) = ∑ P(Ai ) = 1. i=1
30.3.2
Methoden zur Berechnung von Wahrscheinlichkeiten
Klassische Methode, Wahrscheinlichkeit als Quotient von Anzahlen von Elementarereignissen. P(A) =
m Anzahl der für das Eintreten von A günstigen Elementarereignisse = . Anzahl aller gleichwahrscheinlichen Elementarereignisse n
Geometrische Methode, Wahrscheinlichkeit als Quotient der Größe von Gebilden. mg Größe des für das Eintreten von A günstigen (geom.) Teilgebild. P(A) = = . Größe des möglichen (geom.) Gebildes mG Statistische Methode, Wahrscheinlichkeit als Quotient der Anzahl von Versuchswiederholungen. P(A) ≈ kn (A) =
30.3.3
Anzahl der Versuchswiederholungen mit Ergebnis A m = . Anzahl der durchgeführten unabh. Versuchswdh. n
Bedingte Wahrscheinlichkeiten
Bedingte Wahrscheinlichkeit P(B|A), Wahrscheinlichkeit für das Eintreten des Ereignisses B unter der Bedingung (Voraussetzung), dass das Ereignis A eingetreten ist. P(A ∩ B) , P(A) > 0. P(A) ▲ Zieht das Ereignis B das Ereignis A nach sich (A ⊂ B), so gilt P(B|A) = 1. P(B|A) =
▲ Im Allgemeinen sind P(B|A) und P(B) voneinander verschieden. Ist P(B|A) = P(B), so wird die Wahrscheinlichkeit von B nicht vom Eintreten des Ereignisses A beeinflusst. ● A und B sind (stochastisch) unabhängig, falls P(B|A) = P(B) und P(A|B) = P(A) gilt, andernfalls sind A und B stochastisch abhängig. ● Sind A und B voneinander unabhängig, so sind es auch die Ereignisse A und B, A und B sowie A und B. Totale Wahrscheinlichkeit für das Eintreten des Ereignisses B, P(B), Wahrscheinlichkeit, abhängig von P(Ai ), wobei die Ai ein vollständiges System von Ereignissen bilden und den bedingten Wahrscheinlichkeiten P(B|Ai ), nach der Formel der totalen Wahrscheinlichkeit n
P(B) = ∑ P(Ai )P(B|Ai ). i=1
Bedingte Wahrscheinlichkeit für das Eintreten des Ereignisses Ai unter der Voraussetzung, dass das Ereignis B bereits eingetreten ist, nach der Formel von Bayes P(Ai )P(B|Ai ) P(B) mit P(B) nach der Formel der totalen Wahrscheinlichkeit. P(Ai |B) =
30.3.4
Rechnen mit Wahrscheinlichkeiten
Multiplikationssatz, Satz zur Berechnung der Wahrscheinlichkeit eines Produktes von zufälligen Ereignissen. Additionssatz, Satz zur Berechnung der Wahrscheinlichkeit einer Summe von zufälligen Ereignissen.
30.3 Wahrscheinlichkeit von Ereignissen Ereignisse Produkt Produkt
P(A ∪ B) = P(A) + P(B) P(∩ni=1 Ai ) = 1 − P(∩ni=1 Ai ) − P(A ∩ B) = 1 − (1 − p)n = 1 − P(A ∩ B) falls Ai unabh. u. P(Ai ) = p für alle i
■ Würfelexperiment: Definiert seien die Klassen A1 = (1,2),A2 = (3,4),A3 = (5,6). Ein zweimaliges Werfen mit einem Würfel ergibt ein Ziffernpaar (E1 ,E2 ) aus der Menge aller möglichen Ziffernpaare (1,1) (2,1) (3,1) (4,1) (5,1) (6,1)
/ (1,2) / (2,2) / (3,2) / (4,2) / (5,2) / (6,2)
/ (1,3) / (2,3) / (3,3) / (4,3) / (5,3) / (6,3)
/ (1,4) / (2,4) / (3,4) / (4,4) / (5,4) / (6,4)
/ (1,5) / (2,5) / (3,5) / (4,5) / (5,5) / (6,5)
/ (1,6) / (2,6) / (3,6) / (4,6) / (5,6) / (6,6)
Das Ereignis Ai soll genau dann eingetroffen sein, wenn eine der beiden gewürfelten Ziffern in der Menge Ai enthalten ist. (1,1) (2,1) (3,1) A1 = (4,1) (5,1) (6,1)
So ist es möglich, dass zwei Ereignisse, z. B. A1 ,A3 , gleichzeitig eintreffen können. Die Gesamtanzahl der möglichen Ereignisse ist genau 6 · 6 = 36. Die Wahrscheinlichkeit, ein Element aus der Ereignisuntermenge
920
30 Wahrscheinlichkeitsrechnung und mathematische Statistik
A1 zu würfeln, ist daher P(A1 ) = P(1,1) + P(1,2) + P(1,3) + P(1,4) + P(1,5) + P(1,6) +P(2,1) + P(2,2) + P(2,3) + P(2,4) + P(2,5) + P(2,6) +P(3,1) + P(4,1) + P(5,1) + P(6,1) +P(3,2) + P(4,2) + P(5,2) + P(6,2) 1 = 20 · , 36 da die Wahrscheinlichkeit des Elementarereignisses (Ei ,E j ) = 1/36 ist. Analog sind ebenso P(A2 ) = 20/36 und P(A3 ) = 20/36. Die Wahrscheinlichkeit P(A1 ∩ A3 ), dass das Würfelergebnis in A1 und in A3 liegt, errechnet sich nach dem Multiplikationssatz zu P(A1 ∩ A3 ) = P(A1 ) · P(A3 |A1), vorausgesetzt, A1 sei bereits erfüllt worden, d. h. (E1 ,E2 ) ist bereits ein Element der Menge A1 . Dann ist die Wahrscheinlichkeit P(A3 |A1 ) dafür, dass unter den insgesamt 20 Ereignissen aus A1 genau diejenigen gewürfelt wurden, die auch in der Menge A3 enthalten sind, ˜ ˜ ˜ P(A3 |A1 ) = P(1,5) + P(1,6) + P(2,5) + P(2,6) ˜ ˜ ˜ ˜ +P(5,1) + P(6,1) + P(5,2) + P(6,2) = 8 · 1/20, denn die Wahrscheinlichkeit für das Elementarereignis (Ei ,E j ) mit i, j aus A1 ist in diesem Fall ˜ j) = 1/20. P(i, Daraus folgt P(A1 ∩ A3 ) = (20/36) · (8/20) = 8/36. Rechnet man das explizit nach, ergibt sich das richtige Ergebnis P(A1 ∩ A3 ) = P(5,1) + P(6,1) + P(6,2) + P(2,6) +P(1,5) + P(2,5) + P(1,6) + P(2,6) = 8/36. Die Wahrscheinlichkeit P(A1 ∪ A3 ), dass das Würfelergebnis in A1 oder in A3 liegt, errechnet sich nach dem Additionssatz zu P(A1 ∪ A3 ) = P(A1 ) + P(A3 ) − P(A1 ∩ A3 ) = 20/36 + 20/36 − 8/36 = 32/36. Das ist richtig, da nur die vier Ereignisse (3,3),(3,4),(4,3) und (4,4) nicht zu den Mengen A1 und A3 gehören.
30.4
Zufallsgrößen und ihre Verteilungen
Zufallsgröße, Zufallsvariable, X,Y, . . . ; X1,X2 , . . . , Funktion, deren Definitionsbereich eine Menge Ω von Elementarereignissen und deren Wertebereich eine Teilmenge reeller Zahlen ist. (Größe, deren Werte oder Realisierungen, bezeichnet mit x,y, . . . ; x1 ,x2 , . . . , vom Zufall beeinflusst werden.) Diskrete Zufallsgröße, Zufallsgröße, die endlich viele oder abzählbar unendlich viele Werte annehmen kann.
30.4 Zufallsgrößen und ihre Verteilungen
921
Stetige Zufallsgröße, Zufallsgröße, die jeden beliebigen reellen Zahlenwert eines Intervalls annehmen kann. Wahrscheinlichkeitsverteilung einer Zufallgröße, Verteilung, Angabe, die die vollständige Charakterisierung der Zufallsgröße ermöglicht. ▲ Verteilung kann durch die Verteilungsfunktion oder durch die Einzelwahrscheinlichkeiten (bei einer diskreten Zufallsgröße) bzw. die Dichtefunktion (bei einer stetigen Zufallsgröße) angegeben werden. ▲ Zur Angabe einer Verteilung gibt es drei Formen: analytische, tabellarische (Verteilungstabelle), grafische Form. ■ Würfelbeispiel: ein Wurf mit einem Würfel Augenzahl X, Realisierungen xi , xi = i, i = 1,2,3,4,5,6,
1 Einzelwahrscheinlichkeiten pi , pi = P(X = i) = . 6
Verteilungstabelle: xi pi
1 1 6
2 1 6
3 1 6
4 1 6
Grafische Darstellung: 5 1 6
6 1 6
pi 1/6 1
30.4.1
2
3
4
5
6
xi
Einzelwahrscheinlichkeit, Dichtefunktion und Verteilungsfunktion
Einzelwahrscheinlichkeit pi , Wahrscheinlichkeit, dass eine diskrete Zufallsgröße X genau den Wert xi annimmt. P(X = xi ) = P(xi ) = pi . Dichtefunktion f (x), Wahrscheinlichkeitsdichte, Verteilungsdichte einer stetigen Zufallsgröße X, nichtnegative Funktion f (x), für die gilt: P(a ≤ X < b) =
b a
f (x)dx = F(b) − F(a), a < b, a,b reell.
▲ Deutung der Wahrscheinlichkeit, dass X einen Wert aus [a,b) annimmt. Analytisch: Differenz von F(x) (Verteilungsfunktion der Zufallsgröße X) an den Stellen x = a und x = b. Geometrisch: Maßzahl des Flächeninhaltes der Fläche, die vom Graphen der Dichtefunktion, der x-Achse und den Geraden x = a und x = b eingeschlossen wird. Verteilungsfunktion F(x), Wahrscheinlichkeit, dass die (diskrete oder stetige) Zufallsgröße X einen Wert kleiner als x annimmt. F(x) = P(X < x). ▲ Die Verteilungsfunktion einer diskreten Zufallsgröße ist eine Treppenfunktion. ■ Würfelbeispiel: ein Wurf mit einem Würfel. 1 P(X = i) = pi = . 6 X ist eine gleichmäßig verteilte diskrete Zufallsgröße.
922
30 Wahrscheinlichkeitsrechnung und mathematische Statistik
P(X = x) = 0 P(a ≤ X < b) = F(b) − F(a) Einzelwahrscheinlichkeiten pi
Dichtefunktion f (x)
pi = P(X = xi )
f (x) ≥ 0 für allex ∈ R
∑ pi = 1 i
∞ −∞
f (x) dx = 1
dF(x) = f (x) dx
30.4.2
Kenngrößen von Verteilungen
Kenngrößen, Maßzahlen einer Wahrscheinlichkeitsverteilung, Parameter, die eine Zufallsgröße charakterisieren. ▲ Werte einer Zufallsgröße streuen um einen festen Punkt, das Streuungszentrum. Lageparameter, Kenngrößen, die etwas über die Stärke des Streuens um das Streuungszentrum aussagen. Streuungsparameter, Kenngrößen, die etwas über die Lage des Streuungszentrums aussagen.
30.4 Zufallsgrößen und ihre Verteilungen Kenngröße mathematische Erwartung (Erwartungswert) M(X) = m Modalwert M0
M0 = xi , falls reelle Zahl M0 , für die f (x) P(X = xi−1 ) ≤ P(X = xi ) > P(X = xi+1 ) ein relatives oder oder absolutes Maximum hat P(X = xi−1 ) < P(X = xi ) ≥ P(X = xi+1 ) 1 Me ∑ P(X = xi ) ≥ 2 und 1 xi ≤Me f (x) dx = F(Me ) = −∞ 2 1 ∑ P(X = xi ) ≤ 2 xi ≤Me D(X) = M (X − M(X))2 = M(X 2 ) − (M(X))2 D(X) = ∑(xi − m)2 pi
D(X) =
i
σ =
wahrscheinliche Abweichung E
∞ −∞
(x − m)2 f (x) dx
√ D(X) m+E m−E
f (x) dx = F(m + E) − F(m − E) =
S = xmax − xmin xmax größter, xmin kleinster Wert von X
Spannweite S
∞
923
γ =
Schiefe γ
1 2
falls xmax − xmin < ∞ I = [xmin ,xmax ], kleinstes Intervall der Werte von X mit f (x) = 0 für alle x ∈ /I m − M0 σ
falls die Verteilung unimodal ist
(nach Pearson)
● Der Erwartungswert von x wird oft auch mit < x > bezeichnet. ● Rechenregeln für Erwartungswerte: M(c) = c M(cX) = cM(X) M((cX)k ) = ck M(X k ) M(X ± Y ) = M(X) ± M(Y ) M(XY ) = M(X)M(Y ) wenn X,Y unabhängig. ● Rechenregeln für Dispersionen: D(c) = 0 D(cX) = c2 D(X) D(X + c) = D(X) D(X ± Y ) = D(X) + D(Y ) wenn X,Y unabhängig. Standardisierung, Transformation, die eine Zufallsgröße X mit dem Erwartungswert m und der Varianz σ 2 in eine Zufallsgröße Z mit dem Erwartungswert 0 und der Varianz 1 überführt. Z=
X −m σ
,
M(Z) = 0,
D(Z) = 1.
924
30 Wahrscheinlichkeitsrechnung und mathematische Statistik
30.4.3
Spezielle diskrete Verteilungen
Spezielle Verteilungen, Verteilungstypen, durch die praktisch auftretende, unbekannte Verteilungen angenähert werden können. ▲ Entscheidung über eine gerechtfertigte Annäherung einer Verteilung für eine vorliegende unbekannte Verteilung (bezüglich Parameter oder Kenngrößen) erfolgt mit statistischen Prüfverfahren oder Tests. Null-Eins-Verteilung, Verteilung einer diskreten Zufallsgröße X mit den Werten x1 = 1 und x2 = 0; wird verwendet, wenn bei einem Zufallsexperiment lediglich interessiert, ob ein bestimmtes Ereignis A eintritt oder nicht eintritt (A). Einzelwahrscheinlichkeiten: P(1) = p
und P(0) = 1 − p, 0 < p < 1.
Verteilungsfunktion: für x ≤ 0 0, F(x) = 1 − p, für 0 < x ≤ 1 1, für 1 < x. Parameter der Verteilung ist p. Erwartungswert: m = p Varianz: σ 2 = p(1 − p) ■ Baugruppe während eines Zeitintervalls funktioniert oder funktioniert nicht. Gleichmäßige diskrete Verteilung, Verteilung einer diskreten Zufallsgröße X mit den Werten xi , i = 1,2, . . . ,n und gleichmäßig verteilten Wahrscheinlichkeiten; wird verwendet, wenn der Bedingungskomplex des betreffenden Zufallsexperiments die Anwendung der klassischen Methode zur Berechnung der Wahrscheinlichkeiten ermöglicht. ■ Würfelspiel. Einzelwahrscheinlichkeiten: P(xi ) =
1 n
Verteilungsfunktion: 0, für x ≤ x1 i F(x) = , für xi < x ≤ xi+1 , i = 1,2, . . . ,n − 1 n 1, für xn < x. Parameter der Verteilung ist n. 1 n Erwartungswert: m = ∑ xi . n i=1 2 n n 1 1 Varianz: σ 2 = ∑ x2i − ∑ xi . n i=1 n i=1 Hypergeometrische Verteilung, wird verwandt, wenn die Grundmenge in zwei Klassen von Elementen zerfällt. Einzelwahrscheinlichkeiten: pN N(1 − p) N P(k) = / ; k n−k n
p·N
ganzzahlig.
30.4 Zufallsgrößen und ihre Verteilungen
925
P(k)
Verteilungsfunktion: k
k
i=0
i=0
F(k) = ∑ P(i) = ∑
pN i
N(1 − p) N / . n−i n
n =5 N =30 p =1/6
0.2
Parameter der Verteilung sind p, N und der Stichprobenumfang n. Erwartungswert: m = n · p
0
1
2
3
4
5 k
Varianz: σ = n · p(1 − p)(N − n)/(N − 1) 2
■ Sei eine Gesamtmenge von N = N1 + N2 Einheiten gegeben, von denen N1 besonders markiert sind (z. B. unterschiedliche Farbe, Funktionstüchtigkeit), sodass p = N1 /N den Anteil der besonders gekennzeichneten Teile an der Gesamtmenge angibt. Die Wahrscheinlichkeit, dass sich unter n ≤ N zufällig ausgewählten Einheiten (Stichprobe) genau k besonders markierte befinden, ist nun gerade durch die hypergeometrische Verteilung gegeben. ▲ Nach jeder Entnahme einer Einheit kann sich der Anteil der markierten Elemente an der Grundgesamtheit ändern. Für jede der n Entnahmen gelten daher andere Wahrscheinlichkeiten, ein markiertes Element zu erhalten. Die hypergeometrische Verteilung simuliert somit das Ziehen von Losen ohne Zurücklegen des jeweils gezogenen Loses (siehe Urnenmodell) im Gegensatz zu der Binomialverteilung.
N =30 K =15 p =0,5
n =5 k =2
Auswertung
mit / ohne Zurücklegen
■ Wahrscheinlichkeit für k fehlerhafte Teile in einer Stichprobe vom Umfang n aus einer Gesamtmenge von N Teilen, wobei p der Anteil der fehlerhaften Stücke in der Gesamtmenge, d. h. p · N die Anzahl der fehlerhaften Teile ist. Kumulative hypergeometrische Verteilung, Wahrscheinlichkeitssumme für maximal k fehlerhafte Teile k
∑ P(i), i=0
pN ganzzahlig. ● Grenzfälle der hypergeometrischen Verteilung: hypergeometrische Verteilung
N ≥ 2000 n/N ≤ 0,1
Binomialverteilung
n · p(1 − p)
p ≤ 0,05
n ≥ 100
@ @ > 9 @@ @ @ R @
-
n · p(1 − p) > 9 n/N ≤ 0,1 ?
Normalverteilung
Poisson-Verteilung
n· p =c >9
926
30 Wahrscheinlichkeitsrechnung und mathematische Statistik
Binomialverteilung, ergibt sich aus der hypergeometrischen Verteilung, wenn die Zahl N der Elemente der Grundmenge sehr groß wird (N → ∞) und der Umfang der Stichprobe n klein bleibt. Sie wird verwendet, wenn n Wiederholungen eines zufälligen Versuches unabhängig voneinander durchgeführt werden und bei jeder Wiederholung das Ereignis A mit P(A) = p und das Ereignis A mit P(A) = 1 − p eintritt (Bernoulli’sches Versuchsschema). Die Binomialverteilung beschreibt daher exakt das Ziehen von Losen aus einer Urne mit Zurücklegen des jeweils gezogenen Loses, die Wahrscheinlichkeit, unter n ausgewählten Einheiten genau k markierte zu finden. Einzelwahrscheinlichkeiten: n k P(k) = p (1 − p)n−k . k Parameter der Verteilung sind der markierte Anteil p und der Stichprobenumfang n. Verteilungsfunktion: k n i F(k) = ∑ p (1 − p)n−i . i i=0 Erwartungswert: m = n · p, Varianz: σ 2 = n · p(1 − p).
P(k) n =5 p =0,2
0,2
0
1
2
3
4
5
k
▲ Wesentlich ist, dass durch die Entnahme einer Einheit die Wahrscheinlichkeit, eine markierte Einheit zu ziehen, nicht (oder kaum) verändert wird. ■ Im Rahmen einer Ausschussprüfung mit großen Stückzahlen N und kleinem Stichprobenumfang n gibt die Binomialverteilung die Wahrscheinlichkeit an, k fehlerhafte Teile bei insgesamt n Stichproben zu erhalten. Poisson-Verteilung, ergibt sich aus der Binomialverteilung, wenn der Stichprobenumfang n sehr groß (N → ∞) und der markierte Anteil p sehr klein (p → 0), aber endlich ist. Einzelwahrscheinlichkeiten: (np)k −np ck −c P(k) = ·e = ·e . k! k! Verteilungsfunktion: k k (np)i −np ci F(k) = ∑ ·e = ∑ · e−c . i=0 i! i=0 i! Parameter der Verteilung ist c = n · p. Erwartungswert: m = n · p, Varianz: σ 2 = n · p.
P(k) 0,3 c=2
0
1 2
3 4
5 6
k
Die Größe c = p · n ist dadurch näherungsweise konstant und der Parameter n wird eliminiert. Daher eignet sich die Poisson-Verteilung für Probleme, bei denen der Umfang der Messung n groß (n ≥ 1500p, c = np ≤ 10), aber dessen genauer Wert unbekannt und unerheblich ist. ■ Die Tagesproduktion von elektronischen Bauelementen ist i. Allg. sehr groß n ≥ 1500. Bei einem kleinen Fehleranteil von p → c = pn ≤ 10 wird die tägliche Produktion fehlerhafter Teile mit guter Näherung durch die Poisson-Verteilung beschrieben. Tabelle der Binomialverteilung n k P(X = k) = p (1 − p)n−k = b(k; n,p). k
30.4 Zufallsgrößen und ihre Verteilungen Für p > 0,5 ist die Beziehung b(k; n,p) = b(n − k; n,1 − p) zu benutzen. n 1 1 2 2 2 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 6 6 6 6 6 6 6 7 7 7 7 7 7 7 7 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9
30 Wahrscheinlichkeitsrechnung und mathematische Statistik
30.4.4
Spezielle stetige Verteilungen
Spezielle stetige Verteilungen, Wahrscheinlichkeitsdichten und die zugehörigen Verteilungsfunktionen stetiger Zufallsvariablen (z. B. Messwerte für die Kapazität eines Kondensators) oder idealisierte analytische Funktionen für die Wahrscheinlichkeitsverteilung diskreter Zufallsgrößen; können genau wie diskrete Wahrscheinlichkeitsfunktionen auch als Prüffunktionen bei Stichprobenanalysen verwendet werden. Gleichmäßige stetige Verteilung, Rechteckverteilung, Verteilung einer Zufallsgröße, die jeden Wert eines Intervalls [a,b] annehmen kann und für die die Wahrscheinlichkeit, einen Wert aus einem Teilintervall von [a,b] anzunehmen, für alle Teilintervalle derselben Länge gleich ist. ▲ Eine gleichmäßig verteilte stetige Zufallsgröße lässt sich angeben für Fälle, in denen die geometrische Methode zur Wahrscheinlichkeitsberechnung anwendbar ist. Wahrscheinlichkeitsdichte: 1 , für a ≤ x ≤ b f (x) = b − a 0, für x < a,x > b; a < b; a,b reell. Verteilungsfunktion: 0, für x ≤ a x−a , für a < x ≤ b F(x) = b−a 1, für b < x. Die Parameter der Verteilung sind a und b. Erwartungswert: m =
f(x) 1 b−a
a
x
b
a+b , 2
(b − a)2 . 12 Normalverteilung, Gauß-Verteilung, Verteilung von Zufallsgrößen (Messwerten), die als Summe der Überlagerungen etwa gleich starker, fehlerbehafteter Größen angesehen werden kann. Varianz: σ 2 =
Wahrscheinlichkeitsdichte: 1 2 2 fn (x) = √ e−(x−m) /(2σ ) 2π σ Verteilungsfunktion: 1 x −(y−m)2 /(2σ 2 ) √ Fn (x) = e dy 2π σ −∞ Die Parameter der Verteilung sind der Erwartungswert m und die Varianz σ 2 .
f n( x )
σ2
1 1 2
σ1 m−σ 1 m
m+σ1
x
Erwartungswert: m, Varianz: σ 2 . ▲ σ ist der Abstand der Wendeabszissen der Glockenkurve vom wahrscheinlichsten Wert. ● Zentraler Grenzwertsatz, die Summe aus n unabhängigen, aber derselben Verteilung gehorchenden Zufallsgrößen wird mit wachsendem n immer gegen die Normalverteilung konvergieren. ■ In guter Näherung sind Messfehler aufgrund der vielfachen Überlagerung verschiedener Fehlerquellen i. Allg. normalverteilt, gleiches gilt für die Herstellung von Bauelementen mit stetigen Eigenschaften, z. B. Widerständen, Kapazitäten, Schraubenlängen, Wellenlängen usw.
30.4 Zufallsgrößen und ihre Verteilungen
931
▲ Für Erwartungswert Null (m = 0) und σ = 1 folgt die Standardnormalverteilung: Die Normalverteilung kann durch die Standardnormalverteilung ausgedrückt werden 1 x−m fn (x; m,σ ) = fsn σ
Fn (x; m,σ ) = Fsn
σ
x−m
.
σ
α -Quantil Tα , Wert der Zufallsvariablen xα , für den gilt
P(y ≤ xα ) = α . Die Wahrscheinlichkeit, einen Wert y ≤ xα zu erhalten, beträgt gerade α . Beziehung der Parameter der Normalverteilung zu speziellen Quantilen: 0,16-Quantil: T0,16 = m − σ , 0,84-Quantil: T0,84 = m + σ , 0,5-Quantil: T0,5 = m. ■ Im Bereich einer Standardabweichung um den Erwartungswert m ± σ liegen ca. 68 % aller Ereignisse der Normalverteilung. Verallgemeinerung: P(|X − m| < σ ) ≈ 0,683 P(|X − m| < 2σ ) ≈ 0,954 P(|X − m| < 3σ ) ≈ 0,997. m− 3 σ m− 2 σ m−σ 2%
14%
m
34%
m+σ 34%
m+ 2 σ m+ 3 σ
14%
2%
Wahrscheinlichkeitsnetz, Koordinatensystem, in dem α -Quantil gegenüber α aufgetragen ist. Die QuantilAchse ist dabei aber bezüglich der vorgegebenen speziellen Verteilungsfunktion F (z. B. Gauß-Normalverteilung) derart umskaliert, dass die Darstellung dieser Verteilungsfunktion eine Gerade ergibt. Mithilfe eines Wahrscheinlichkeitsnetzes können so Parameter einer Verteilung auch grafisch bestimmt werden. X X9 X7 X6 X4
2σ x 1
5
16
30
50
70
84
99 Q 1 (%)
Grafische Ermittelung von m und σ , Interpretation der Häufigkeitssummen von Messwerten Ql = ∑li h(Xi ) als Quantil der Messwerte Xl und Auftragen dieser Häufigkeitssummen Ql gegenüber den Messwerten Xl selbst in einem so genannten Wahrscheinlichkeitsnetz. (Es reichen zumeist einige Werte.) Durch die eingetragenen Werte wird eine Gerade gezogen. An dieser Geraden liest man nun die durch die Eigenschaften der Normalverteilung gegebenen speziellen 0,16-, 0,84- und 0,5-Quantile ab und errechnet daraus m und σ aus den oben angegebenen Zusammenhängen (siehe Normalverteilung). Standardnormalverteilung, Gauß’sche Normalverteilung, Spezialfall der Normalverteilung für m = 0 und σ = 1
932
30 Wahrscheinlichkeitsrechnung und mathematische Statistik
so erhält man die Normalverteilung ● Die α -Quantile der Standardnormalverteilung tα und der Normalverteilung Tα sind beide durch die Verteilungsfunktion Fsn gegeben: Tα − m . α = Fsn (tα ) = Fsn σ
● Der Zusammenhang zwischen den Quantilen lautet Tα = m + tα σ . ▲ Die Normalverteilung ist ein Grenzfall der Binomialverteilung für einen großen Umfang n und mit einem Parameterwert von p = 0,5 (n → ∞,p ≡ 0,5). p = 0,5 ist im Sinn einer Attribut-Stichprobenprüfung ein Fehleranteil von 50 %. Standardnormalverteilung fsn (−x) = fsn (x) x
fsn (x)
x
fsn (x)
x
fsn (x)
0,0 0,3989
1,5 0,1295
3,0 0,0044
0,5 0,3520
2,0 0,0539
3,5 0,0008
1,0 0,2419
2,5 0,0175
4,0 0,0001
Perzentile t = tFsn der Standardnormalverteilung fsn Fsn (t)
t
Fsn (t)
t
Fsn (t)
t
Fsn (t)
t
0,05
–1,644
0,30
–0,524
0,55
0,125
0,80
0,841
0,10
–1,281
0,35
–0,385
0,60
0,253
0,85
1,036
0,15
–1,036
0,40
–0,253
0,65
0,385
0,90
1,281
0,20
–0,841
0,45
–0,125
0,70
0,524
0,95
1,644
0,25
–0,674
0,50
0,000
0,75
0,674
Fehlerfunktion, auch Gauß’sches Wahrscheinlichkeits-Integral oder Errorfunktion erf(x), Fläche unter √ √ der Glockenkurve zwischen den variablen Grenzen −x 2 und +x 2: 1 erf(x) = √ 2π 2 =√ 2π
+x√2 √ −x 2 x√2 0
e−y /2 dy 2
e−y /2 dy. 2
30.4 Zufallsgrößen und ihre Verteilungen ▲ Näherung für x ≥ 2: a 1 − x2 . xe a = 0,515 2 ≤ x ≤ 3
933
f(y) erf( x )
a = 0,535 3 ≤ x ≤ 4 a = 0,545 4 ≤ x ≤ 7
−x
7≤x≤∞
a = 0,56
y
x
Tabelle der Wahrscheinlichkeitsdichte der Standardnormalverteilung f sn ( x )
Lognormalverteilung, Normalverteilung für die Logarithmen der Zufallsgröße x Wahrscheinlichkeitsdichte: 1 2 2 e−(ln x−µ ) /(2σ ) , x > 0. flog (x) = √ 2π σ x Verteilungsfunktion: 1 x 1 −(ln y−µ )2 /(2σ 2 ) √ e Flog (x) = dy, x > 0. 2π σ 0 y µ +σ 2 /2 Erwartungswert: , m = e 2µ +σ 2 σ2 Varianz: e e −1
▲ Die Lognormalverteilung ergibt sich aus der Normalverteilung durch die Ersetzung fn (x) → flog (x) =
1 fn (lnx). x
Exponentialverteilung, Verteilung des Abstandes zweier poisson-verteilter Messwerte mit dem Parameter λ = c. Wahrscheinlichkeitsdichte: fexp (x) = λ e−λ x , λ > 0,x ≥ 0. Verteilungsfunktion: Fexp (x) = 1 − e−λ x . Erwartungswert: m = 1/λ , Varianz: σ 2 = 1/λ 2 .
f(x)
λ=2 λ=1
2 1.5 1 0.5 0 0
0.5
1
1.5
2
x
▲ Im Sinn von zeitlichen Prozessen (Ausfälle von technischen Bauelementen pro Zeit, Infektion mit einer seltenen Krankheit je Zeit usw.) gehorchen nur die Lebensdauern nichtalternder Objekte einer Exponentialverteilung.
936
30 Wahrscheinlichkeitsrechnung und mathematische Statistik
▲ Voraussetzung für die Exponentialverteilung ist, dass die Ereignisse wirklich zufällig sind und der Poisson-Verteilung gehorchen, siehe Weibull-Verteilung. ■ Seien in einem Zeitintervall die Anzahl von Ereignissen poisson-verteilt (z. B. radioaktive Zerfälle je Sekunde, Ausfall von elektronischen Bauelementen pro Jahr, Infektionen einer bestimmten Krankheit pro Jahr usw.). Die zeitlichen Abstände zwischen zwei solchen Ereignissen sind dann exponentialverteilt. ■ Gegeben sei eine Urne mit N → ∞ Kugeln, von denen nur ein geringer Bruchteil p = N1 /N,N1 N schwarz ist und sonst alle eine andere Farbe besitzen. Greift man aus dieser Urne nun (Durchführung eines Zufallsexperimentes) eine sehr große Zahl von Kugeln n ≥ 10/p heraus, ist die Anzahl der gezogenen schwarzen Kugeln näherungsweise poisson-verteilt. Führt man dieses Zufallsexperiment mehrmals durch, so wird die Differenz der Anzahl an schwarzen Kugeln zwischen zwei Durchführungen näherungsweise einer Exponentialverteilung gehorchen. Weibull-Verteilung, Erweiterung der Exponentialverteilung auf Ereignisse, die nicht rein zufällig sind und nicht exakt der Poisson-Verteilung genügen. Wahrscheinlichkeitsdichte: γ −1 γ γ x−α f (x) = e−((x−α )/β ) , x ≥ α . β
▲ Im Sinn von zeitlichen Prozessen, wie dem Ausfall einer Kupplung, spricht man auch von der Lebensdauer alternder Objekte. Dies ist gleichbedeutend einer Abhängigkeit von äußeren Einflüssen, z. B. Abnutzungserscheinungen. ■ Lebensdauern mit Alterung: Abnutzung von Verschleißteilen. ▲ Weibull- und Exponentialverteilung stehen im engen Zusammenhang mit dem Konzept der Zuverlässigkeit, siehe dort. Betaverteilung, zur Beschreibung von stetigen Zufallsgrößen, deren Werte eine untere Schranke a and eine obere Schranke b besitzen. ▲ Verteilung findet Anwendung in der mathematischen Statistik Wahrscheinlichkeitsdichte: p−1 q−1 (x − a) (b − x) , für a ≤ x ≤ b f (x) = (b − a) p+q−1 B(p,q) 0, für x < a,x > b, p > 0,q > 0, a < b. Verteilungsfunktion: Kann allgemein nicht bestimmt werden, da das entstehende Integral nicht geschlossen lösbar ist.
pq
f(x)
a
b
x
▲ Für die Betaverteilung und bei der Bestimmung von Werten der Betafunktion werden spezielle Tabellen benutzt. Die Parameter der Verteilung sind p,q,a,b. aq + bp Erwartungswert: m = , p+q
Γ (p)Γ (q) . Γ (p + q) ▲ Für p = q = 1 geht die Betaverteilung in die gleichmäßig stetige Verteilung über. B(p,q) =
30.5
Grenzwertsätze
30.5.1
Gesetze der großen Zahlen
Gesetze der großen Zahlen, mathematischer Ausdruck dafür, dass die relative Häufigkeit für das Eintreten eines Ereignisses bei einer Vielzahl unabhängiger Versuche mit zufälligem Ergebnis stabil wird, das heißt um einen festen Wert, der Wahrscheinlichkeit des Ereignisses, schwankt; Gesetzmäßigkeiten, die sich als Ergebnis der Wirkung einer Vielzahl unabhängiger zufälliger Faktoren ergeben. Stochastische Konvergenz, Konvergenzverhalten von Folgen von Zufallsgrößen. Konvergenz in Wahrscheinlichkeit, Konvergenz der Wahrscheinlichkeit einer Folge von Zufallsgrößen gegen einen Wert. Konvergenz mit Wahrscheinlichkeit 1, Wahrscheinlichkeit der Konvergenz einer Folge von Zufallsgrößen gegen einen Wert. ▲ Konvergenz mit Wahrscheinlichkeit 1 drückt stärkeres Konvergenzverhalten aus als Konvergenz in Wahrscheinlichkeit. ▲ Zufallsgrößen sind dem starken oder schwachen Gesetz der großen Zahlen unterworfen. Tschebyscheff’sche Ungleichung, gestattet bei unbekannter Verteilung, jedoch bekanntem Erwartungswert m und bekannter Varianz σ 2 für eine Zufallsgröße X die Wahrscheinlichkeit dafür abzuschätzen, dass die Zufallsgröße Werte in bestimmten Intervallen annimmt: P(|X − m| ≥ ) ≤
σ2
, ( > 0). 2 ● Gesetz der großen Zahlen von Bernoulli: In einer Serie von n unabhängigen Versuchen (durchgeführt nach dem Bernoulli’schen Versuchsschema) konvergiert die relative Häufigkeit eines Ereignisses A stochastisch gegen die Wahrscheinlichkeit p des Eintretens von A. Bernoulli’sches Versuchsschema: n unabhängige Versuche, Versuchsausgänge jeweils A oder A, P(A) = p,
P(A) = 1 − p.
▲ Die Wahrscheinlichkeit eines zufälligen Ereignisses ist nicht der Grenzwert der relativen Häufigkeit, sondern die Folge der Zufallsgrößen unterliegt dem Gesetz der großen Zahlen. ● Gesetz der großen Zahlen von Poisson: In einer Serie von n unabhängigen Versuchen (durchgeführt nach dem Poissonschen Versuchsschema)
938
30 Wahrscheinlichkeitsrechnung und mathematische Statistik
konvergiert die relative Häufigkeit eines Ereignisses A stochastisch gegen das arithmetische Mittel der Wahrscheinlichkeiten des Eintretens von A. Poisson’sches Versuchsschema: n unabhängige Versuche; Versuchsausgänge jeweils A oder A, P(A) = pi im i-ten Versuch; pn wird durch Vergrößerung des Umfangs der Versuchsserie sehr klein, n · pn bleibt mit wachsendem n konstant. ● Gesetz der großen Zahlen von Tschebyscheff: Das arithmetische Mittel einer Folge paarweise unabhängiger Zufallsgrößen mit beschränkter Varianz konvergiert stochastisch gegen das arithmetische Mittel ihrer mathematischen Erwartungen. ▲ Das Gesetz der großen Zahlen von Bernoulli ist ein Spezialfall des Gesetzes der großen Zahlen von Poisson, dieses ist ein Spezialfall des Gesetzes von Tschebyscheff. Weitere Verallgemeinerungen sind die Gesetze von Borel, Chintchin und Kolmogoroff.
30.5.2
Grenzwertsätze
Grenzwertsätze, Grenzverteilungssätze, Sätze, die die stochastische Konvergenz einer Folge von Verteilungsfunktionen (globale Grenzwertsätze) und Einzelwahrscheinlichkeiten oder Dichtefunktionen (lokale Grenzwertsätze) zum Inhalt haben. Grenzverteilungsfunktion, Grenzverteilung, Grenzwert einer Folge von Verteilungsfunktionen. ■ Verteilungsfunktion einer normalverteilten Zufallsgröße ist Grenzverteilungsfunktion einer Folge binomialverteilter Zufallsgrößen. ● Grenzwertsatz von Poisson, Zusammenhang von Binomial- und Poissonverteilung; Aussage über das Grenzverhalten der Einzelwahrscheinlichkeiten binomialverteilter Zufallsgrößen für große n und kleine p als Poissonverteilung: n k λ k −λ lim p (1 − p)n−k = e , k = 0,1,2, . . . ; λ = np = const. n→∞,p→0 k k! ▲ Näherung praktisch bedeutungsvoll durch Verringerung des Rechenaufwandes bei der Berechnung binomialverteilter Zufallsgrößen und nutzbar für np < 10 und n > 1500p. ● Zentraler Grenzwertsatz, Grenzwertsatz von Lindeberg-Levy: Eine Zufallsgröße ist annähernd normalverteilt mit dem Erwartungswert nm und der Varianz nσ 2 , wenn sie als Summe einer großen Anzahl von stochastisch unabhängigen Zufallsgrößen aufgefasst werden kann, die alle der gleichen Verteilungsfunktion mit dem Erwartungswert m und der Varianz σ 2 genügen. ● Grenzwertsatz von Ljapunow: Eine Zufallsgröße Y ist annähernd normalverteilt mit den Parametern m = ∑nk=1 mk und σ 2 = ∑nk=1 σ k2 , wenn sie als Summe einer großen Anzahl n unabhängiger Summanden (Zufallsgrößen Xk mit den Erwartungswerten mk und den Varianzen σ k2 ) dargestellt werden kann, von denen jeder zur Summe einen unbedeutenden Beitrag liefert. ▲ Prüfen einer annähernd normalverteilten Zufallsgröße praktisch durch Erkennen einer Geraden auf einem Wahrscheinlichkeitspapier nach Eintragen der Stichprobenwerte, Anwenden eines Anpassungstests der mathematischen Statistik. ● Grenzwertsatz von Moivre-Laplace: Bei einer großen Anzahl unabhängiger Versuche (durchgeführt nach dem Bernoulli’schen Versuchsschema) konvergiert die Verteilungsfunktion der standardisierten binomialverteilten Zufallsgröße stochastisch gegen die Verteilungsfunktion der standardisierten Normalverteilung (globale Aussage): X − np 1 b − x2 √ √ lim P a ≤
30.6 Mehrdimensionale Zufallsgrößen
939
Lokale Aussage (vereinfacht): Einzelwahrscheinlichkeiten einer Binomialverteilung mit den Parametern n und p konvergieren gegen die entsprechenden Werte der Dichtefunktion fn einer Normalverteilung mit den Parametern m = np und σ 2 = np(1 − p): n k 1 k − np n−k fn √ . P(X = k) = p (1 − p) ≈ √ k np(1 − p) np(1 − p) ▲ Während der Grenzwertsatz von Poisson nur für kleine Werte p eine gute Annäherung der Einzelwahrscheinlichkeiten binomialverteilter Zufallsgrößen liefert, kann nach dem Grenzwertsatz von MoivreLaplace ihre Annäherung durch die Normalverteilung für jedes p, 0 < p < 1 und hinreichend großem n erfolgen. Faustregel für die Anwendbarkeit: np > 4,
30.6
n(1 − p) > 4.
Mehrdimensionale Zufallsgrößen
n-dimensionale Zufallsgröße, n-dimensionaler Zufallsvektor, n-Tupel von Zufallsgrößen (X1 ,X2, . . . ,Xn ), die entstehen, wenn jedem Elementarereignis eines zufälligen Versuchs eindeutig n reelle Zahlen x1 ,x2 , . . . ,xn zugeordnet werden. ■ Durch eine zweidimensionale Zufallsgröße (X1 ,X2 ) wird jedem Elementarereignis eindeutig ein Wertepaar (x1 ,x2 ) zugeordnet. ▲ Weitere Betrachtungen erfolgen für zweidimensionale Zufallsgrößen; Ergebnisse lassen sich im Allgemeinen auf n-dimensionale Zufallsgrößen übertragen.
Verteilungsfunktion F(x,y) von (X,Y ), Ausdruck, definiert durch F(x,y) = P(X < x,Y < y), (x,y) ∈ R2 . f(x)
( x,y )
x
Veranschaulichung von P(X < x,Y < y) ▲ Zweidimensionale Zufallsgrößen sind diskret (stetig), wenn X und Y diskret (stetig) sind, sonst gemischt. Randverteilung von X bzw. Y , Angabe, aus der die Werte von X bzw. Y und die zugehörigen Wahrscheinlichkeiten bestimmbar sind. ▲ Randverteilungen können mit den Verteilungsfunktionen von X und Y oder mit den Einzelwahrscheinlichkeiten von diskreten Zufallsgrößen bzw. den Dichtefunktionen von stetigen Zufallsgrößen X und Y angegeben werden.
940
30 Wahrscheinlichkeitsrechnung und mathematische Statistik
Randverteilungsfunktionen F1 (x) und F2 (y) von X und Y : F1 (x) = P(X < x) = P(X < x,Y < ∞) F2 (y) = P(Y < y) = P(X < ∞,Y < y). ● Für eine zweidimensionale Zufallsgröße (X,Y ) mit der Verteilungsfunktion F(x,y) und x1 < x2 ,y1 < y2 gilt P(x1 ≤ X < x2 ,y1 ≤ Y < y2 ) = F(x2 ,y2 ) − F(x2 ,y1 ) − F(x1 ,y2 ) + F(x1 ,y1 ). f(x) y2
y1 x2 x
x1
Veranschaulichung von P(x1 ≤ X < x2 ,y1 ≤ Y < y2 ) ● F(x,y) ist dann Verteilungsfunktion einer zweidimensionalen Zufallsgröße, wenn gilt: F(x,y) ist monoton wachsend in x und y, lim F(x,y) = lim F(x,y) = 0,
x→−∞
y→−∞
lim
(x,y)→(∞,∞)
F(x,y) = 1,
F(x,y) ist wenigstens linksseitig stetig in x und y, F(x2 ,y2 ) − F(x2 ,y1 ) − F(x1 ,y2 ) + F(x1 ,y1 ) ≥ 0 für beliebige x1 < x2 , y1 < y2 .
30.6.2
Zweidimensionale diskrete Zufallsgrößen
Zweidimensionale diskrete Zufallsgröße (X,Y ), Zufallsgröße, die nur endlich viele oder abzählbar unendlich viele Wertepaare (xi ,yk ), i,k = 1,2, . . . , annehmen kann. ▲ Vollständige Beschreibung von (X,Y ) durch Wertepaare (xi ,yk ) und Einzelwahrscheinlichkeiten P(X = xi ,Y = yk ). Verteilungstabelle einer zweidimensionalen diskreten Zufallsgröße: X/Y x1 x2 .. . xn .. . p.k
Randverteilungseinzelwahrscheinlichkeiten von X und Y : pi. = P(X = xi ) = ∑ pik , k
p.k = P(Y = yk ) = ∑ pik , i
mit pi. als Wahrscheinlichkeit dafür, dass X den Wert xi und Y einen beliebigen Wert annimmt, p.k als Wahrscheinlichkeit dafür, dass Y den Wert yk und X einen beliebigen Wert annimmt.
30.6 Mehrdimensionale Zufallsgrößen
941
▲ Für Randeinzelwahrscheinlichkeiten von X und Y gilt:
∑ pi. = ∑ p.k = 1, ∑ ∑ pik = 1. (i)
(k)
(i) (k)
Verteilungsfunktion von (X,Y ):
∑ ∑ P(X = xi ,Y = yk ).
F(x,y) = P(X < x,Y < y) =
xi <x yk
Bedingte Einzelwahrscheinlichkeiten, bedingte Verteilung von X bei festem Y = yk : pik P(X = xi ,Y = yk ) P(X = xi |Y = yk ) = = , P(Y = yk ) p.k von Y bei festem X = xi : pik P(X = xi ,Y = yk ) P(Y = yk |X = xi ) = = . P(X = xi ) pi.
30.6.3
Zweidimensionale stetige Zufallsgrößen
Zweidimensionale stetige Zufallsgröße (X,Y ), Zufallsgröße, für die eine Funktion f (x,y) ≥ 0 existiert und für a < b und c < d gilt: P(a ≤ X < b,c ≤ Y < d) =
b d a
c
f (x,y) dy dx.
f (x,y) heißt Dichtefunktion oder Verteilungsdichte von (X,Y ).
f1 (x) = f2 (y) =
−∞
∞
−∞
a
c
d y
b x
Randverteilungsdichte von X und Y : ∞
f ( x,y )
Graph der Dichtefunktion einer zweidimensionalen Zufallsgröße
▲ Für F(x,y) und f (x,y) gilt die Beziehung ∂2 F(x,y) = f (x,y). ∂x∂y
Bedingte Dichtefunktionen f , bedingte Verteilungsdichten und bedingte Verteilungsfunktionen F von X bei festem Wert Y = y: f (x,y) F(x,y) f (x|y) = , F(x|y) = , f2 (y) F2 (y) von Y bei festem Wert X = x: f (x,y) F(x,y) f (y|x) = , F(y|x) = , f1 (x) F1 (x) mit den Randverteilungsfunktionen F1 (x) = F(x,∞) = P(X < x,Y < ∞) = F2 (y) = F(∞,y) = P(X < ∞,Y < y) =
x ∞
−∞ −∞ ∞ y −∞ −∞
f (u,y) dy du f (x,v) dv dx.
942
30 Wahrscheinlichkeitsrechnung und mathematische Statistik
30.6.4
Unabhängigkeit von Zufallsgrößen
Unabhängigkeit von X und Y , wenn für Verteilungsfunktion gilt F(x,y) = F1 (x) · F2 (y), wenn für Einzelwahrscheinlichkeiten bzw. Dichtefunktionen gilt P(X = xi ,Y = yk ) = P(X = xi ) · P(Y = yk ) oder pik = pi. · p.k , bzw. f (x,y) = f1 (x) · f2 (y).
30.6.5
Kenngrößen zweidimensionaler Zufallsgrößen
Erwartungswert (mx ,my ) für diskrete und stetige Zufallsgrößen (X,Y ) mit den Einzelwahrscheinlichkeiten P(X = xi ,Y = yk ) = pik , i,k = 1,2, . . . und der Dichtefunktion f (x,y) mit mx = ∑ ∑ xi pik = ∑ xi pi. (i)
(i)
k
my = ∑ ∑ yk pik = ∑ yk p.k (i)
k
(k)
für diskrete und mx = my =
∞ ∞ −∞ −∞ ∞ ∞ −∞ −∞
x f (x,y) dy dx = y f (x,y) dx dy =
∞ −∞ ∞ −∞
x f1 (x) dx y f2 (y) dy
für stetige Zufallsgrößen (X,Y ). Varianz (σ x2 ,σ y2 ) für diskrete und stetige Zufallsgrößen (X,Y ) mit σ x2 = ∑ ∑(xi − mx )2 pik = ∑(xi − mx )2 pi. (i) (k)
(i)
σ y2 = ∑ ∑(yk − my )2 pik = ∑(yk − my )2 p.k (i) (k)
(k)
für diskrete und σ x2 = σ y2 =
∞ ∞ −∞ −∞ ∞ ∞ −∞ −∞
(x − mx )2 f (x,y) dy dx = (y − my )2 f (x,y) dx dy =
∞ −∞ ∞ −∞
(x − mx )2 f1 (x) dx (y − my )2 f2 (y) dy
für stetige Zufallsgrößen (X,Y ). Kovarianz von (X,Y ), cov(X,Y ), Erwartungswert M des Produktes der Abweichungen des jeweiligen Erwartungwertes von der Zufallsgröße: cov(X,Y ) = M[(X − mx )(Y − my )]. ▲ Berechnungsformel: cov(X,Y ) = ∑ ∑(xi − mx )(yk − my )pik i
k
im diskreten Fall und cov(X,Y ) =
∞ ∞
−∞ −∞
im stetigen Fall.
(x − mx )(y − my ) f (x,y) dx dy
30.6 Mehrdimensionale Zufallsgrößen
943
Korrelationskoeffizient von (X,Y ), xy , Maß für die Stärke und die Richtung der linearen Abhängigkeit von X und Y . cov(X,Y ) xy = , − 1 ≤ xy ≤ 1. σxσy
▲ X und Y sind unkorreliert, wenn xy = 0. ▲ Am Vorzeichen des Korrelationskoeffizienten erkennt man, ob es sich um eine positive oder um eine negative Korrelation handelt. Positive Korrelation, wenn eine Vergrößerung (Verkleinerung) der Werte einer Zufallsgröße auch eine Vergrößerung (Verkleinerung) der Werte der anderen Zufallsgröße zur Folge hat. Negative Korrelation, wenn eine Vergrößerung (Verkleinerung) der Werte einer Zufallsgröße eine Verkleinerung (Vergrößerung) der Werte der anderen Zufallsgröße zur Folge hat. ● Sind X und Y unabhängige Zufallsgrößen, so gilt xy = 0. ● X und Y sind genau dann linear abhängig, wenn xy = ±1; Y = ax + b, a,b ∈ R; geometrische Deutung: Werte von (X,Y ) liegen auf einer Geraden.
30.6.6
Zweidimensionale Normalverteilung
Wichtigste (stetige) Verteilung eines speziellen Verteilungstyps. Dichtefunktion der zweidimensionalen Normalverteilung von (X,Y ) mit den Parametern mx ,my ,σ x2 ,σ y2,xy : ' ( 1 1 (x − mx )2 (x − mx )(y − my ) (y − my )2 $ f (x,y) = · exp − − 2xy + , 2 ) 2 2 2(1 − σ σ σ σ 2 x y xy x y 2π σ x σ y 1 − xy −∞ < x < ∞,
−∞
x
Dichtefunktion einer zweidimensionalen normalverteilten Zufallsgröße (X,Y ) ▲ Legt man die Koordinatenachsen so, dass sie parallel zu den Hauptachsen der Streuung verlaufen, so ist xy = 0 und es gilt f (x,y) =
1 2π σ x σ y
2
− (x−m2x ) − e 2σx
(y−my )2 2σ y2
.
Berechnung von Wahrscheinlichkeiten mit standardisierter, zweidimensionaler Normalverteilung b − mx a − mx d − my c − my P(a ≤ X < b,c ≤ Y < d) = Fsn − Fsn + Fsn − Fsn . σx
σx
σy
σy
944
30 Wahrscheinlichkeitsrechnung und mathematische Statistik
Streuungsnetz, grafische Darstellung der Wahrscheinlichkeitsverteilung in den kσ -Grenzen.
y
▲ Die in den Quadraten des Streuungsnetzes angegebenen Werte ergeben nach Division durch 100 die prozentuale Wahrscheinlichkeit dafür, dass die Zufallsgröße einen Wert aus dem jeweiligen Quadrat annimmt. Näherungsweise Bestimmung von Wahrscheinlichkeiten mit einem Streuungsnetz durch • maßstabsgetreues Übertragen des interessierenden Bereichs, für den die Wahrscheinlichkeitsbetrachtung erfolgen soll unter Berücksichtigung der Deckungsgleichheit von Erwartungswert für das Eintreten des Ereignisses und dem Koordinatenursprung. • Ermitteln des Näherungswertes der Wahrscheinlichkeit für das Eintreten des Ereignisses durch Addieren und Umrechnen der Werte der bedeckten Quadrate des Streuungsnetzes oder Teilen davon.
30.7
68
68
4
28
28
196
476 476 196
28
68
476 1156 1156 476
68
68
476 1156 1156 476
68
28
196
196
28
4
28
28
4
−3σ x
−2σ x
28
476 476 68 −σ x
68 σx
4
2σ x
x
3σ x
Streuungsnetz
Grundlagen der mathematischen Statistik
Die Warenkontrolle mit einer Stichprobenprüfung liefert Ausschussraten, die nur mit einer bestimmten Wahrscheinlichkeit dem exakten Wert für die Menge der Ausschussware entsprechen. Die Statistik gibt verschiedene Verfahren an, die für bestimmte Randbedingungen Aussagen über den Erwartungswert (Mittelwert) und die Streuung (Abweichung vom Mittelwert) der zu betrachtenden Zufallsgröße (z. B. einer Stichprobe oder einer Messung/Messreihe) zulassen und damit eine Fehlerabschätzung relativ zum tatsächlichen Wert ermöglichen.
30.7.1
Beschreibung von Messungen
Messgröße, Messvariable, Merkmal, Bezeichnung der Eigenschaft, die durch eine Messung, statistische Erhebung, Stichprobenentnahme oder Ausführung eines Zufallsexperimentes bestimmt werden soll. Man unterscheidet: Diskrete Messgrößen, ■ Würfelziffern 1 bis 6, Seiten einer Münze (Kopf oder Zahl). Stetige Messgrößen, ■ Messwerte für die Kapazität eines Kondensators oder den Wert eines Widerstandes. Nominales Merkmal, Merkmal mit nur durch Namen unterscheidbaren Eigenschaften. ■ Farben. Ordinales Merkmal, Merkmal, das durch eine quantitative Hierarchie ausgezeichnet ist. ■ Würfelziffern, Frequenzwerte eines HF-Schaltkreises. Messergebnis, Messwert, Istwert, Wert einer oder mehrerer Messvariablen nach einer Messung, i. Allg. nicht exakt reproduzierbar, sondern schwankt um einen Mittelwert bzw. wahren Wert.
30.7 Grundlagen der mathematischen Statistik
945
▲ In vielen Fällen kann diese Schwankung (Messfehler) durch die so genannte Normalverteilung beschrieben werden. ■ Dies kann bspw. die Länge einer Schraube in der industriellen Herstellung, das Ergebnis eines numerischen Zufallszahlengenerators, die Energie eines Teilchens im idealen Gas oder der Regenniederschlag in 24 Stunden sein. Messreihe, Zusammenstellung von mehreren Messergebnissen, man erzeugt dadurch automatisch eine Urliste. Absolute Häufigkeit H(Ki ) = Hi , Anzahl der Messwerte einer Messreihe zu einem bestimmten Messwert Ki = xi oder einer bestimmten Klasse von Messwerten. Häufigkeitstabelle, Häufigkeitsverteilung, Zusammenfassung von Messwerten in verschiedene Klassen (z. B. Intervalle) Ki , (i = 1, . . . ,k), in die die Messwerte eingeordnet werden können, tabellarische Auflistung der Abbildung von solchen Klassen auf die Anzahl der in ihnen enthaltenen Messwerte H(Ki ). Klasse Ki , Menge aus mehreren Messergebnissen mit bestimmten Eigenschaften, die unter dem Index i zusammengefasst werden. ■ Messwerte in verschiedenen Intervallen, fehlerhafte Teile und nicht fehlerhafte Teile bei einer Stichprobenprüfung. Histogramm, Balkendiagramm, grafische Darstellung einer Häufigkeitstabelle. ■ Messreihe, Häufigkeitstabelle und Histogramm eines Würfelexperimentes: x1 4
Relative Häufigkeit, durch die Gesamtzahl aller Messwerte n dividierte absolute Häufigkeit hi =
Hi , n
k
∑ hi = 1, i=1
k
n = ∑ Hi . i=1
Wahrer Wert, Sollwert, Wert, um den alle Messergebnisse schwanken, ist das Resultat einer Messung ohne Fehler (Idealfall). Messfehler, Abweichung eines Messwertes vom wahren Wert, man unterscheidet je nach Ursache systematische und statistische Fehler. Arithmetischer Mittelwert (arithmetisches Mittel), empirischer Erwartungswert, Näherungswert für den wahren Wert einer Messreihe. Das gleichgewichtete Mittel von n fehlerbehafteten Messwerten ist: x¯ =
1 n xi . n∑ i=1
▲ Oft wird der wahre Wert mit dem Mittelwert gleichgesetzt. Dies ist aber i. Allg. nicht richtig: Der Mittelwert ist nur eine Näherung für den wahren Wert. ▲ Um den empirischen Erwartungswert einer Messung vom Erwartungswert einer Verteilung zu unterscheiden, wird eine unterschiedliche Schreibweise verwendet. m ist der Erwartungswert einer bekannten
946
30 Wahrscheinlichkeitsrechnung und mathematische Statistik
speziellen Verteilung, x¯ oder x¯n ist der aus einer Messung gewonnene empirische Mittelwert oder auch Schätzwert für den Erwartungswert. ▲ Mittelwertparameter können verschiedenartig definiert werden, siehe Lageparameter. Empirische Standardabweichung, Maß für die durch Messfehler bedingte Streuung, Schwankung der Messwerte um den arithmetischen Mittelwert, % $ 1 n (∆x)2 = ∑(xi − x)¯ 2. n − 1 i=1 ▲ In einigen Fällen, z. B. im englischen Sprachgebrauch, wird die Standardabweichung auch als Varianz bezeichnet. ▲ Streumaße können verschieden definiert werden (siehe Streuparameter).
30.7.2
Fehlerarten
Systematische Fehler, Abweichungen, die z. B. auf experimentellen Ungenauigkeiten beruhen (z. B. falsche Eichung des Messgerätes); nur zum Teil vermeidbar. Statistische oder zufällige Fehler, Abweichungen, bedingt durch unkontrollierbare Störungen (z. B. Temperatureinflüsse, Luftdruckänderungen usw.) oder durch die Zufälligkeit des Ereignisses, das untersucht wird (z. B. radioaktiver Zerfall: Es können prinzipiell nur Aussagen gemacht werden über die Wahrscheinlichkeit, mit der ein Zerfall in einer bestimmten Zeit stattfindet). Wahrer Fehler ∆xiw , Abweichung der i-ten Messung vom „wahren Wert“. Ebenso wie xw meist unbekannt ∆xiw = xi − xw . Absoluter Fehler, Messfehler, der sich auf die Einzelmessung bezieht. Scheinbarer Fehler, vi = xi − x. ¯ Durchschnittlicher Fehler, lineare Streuung, 1 n dx = v¯i = ∑ |xi − x|. ¯ n i=1 Relativer Fehler vrel , absoluter Fehler, dividiert durch den Mittelwert, dimensionslose Größe: vi xi − x¯ = . x¯ x¯ Prozentualer Fehler v% , relativer Fehler in Prozent, v% = vrel · 100 %. vrel =
Absoluter Maximalfehler ∆zmax , obere Fehlerschranke einer von fehlerbehafteten Parametern x und y abhängigen Größe z = f (x,y)
∂
∂
∆zmax = f (x, ¯ y)∆x ¯ + f (x, ¯ y)∆y ¯
. ∂x ∂y Relativer Maximalfehler ∆zmax /¯z, absoluter Maximalfehler dividiert durch Mittelwert. Mittlerer Fehler der Einzelmessung ∆x % n 1 σ n = ∆x = (xi − x) ¯ 2 , x¯ ist arithmetischer Mittelwert. ∑ (n − 1) i=1
30.8 Kenngrößen zur Beschreibung von Messwertverteilungen Mittlerer Fehler des Mittelwertes ∆ x¯ % n 1 σ¯ n = ∆ x¯ = (xi − x) ¯ 2, ∑ n(n − 1) i=1
947
x¯ ist arithmetischer Mittelwert.
● Mittlerer Fehler ∆ x¯ des Mittelwertes x¯ ist gleich dem mittleren Fehler ∆x der Einzelmessung xi , dividiert durch die Wurzel der Anzahl der Messungen: ∆x ∆ x¯ = √ . n Fehlerfortpflanzung in der Einzelmessung,
∂ f (x,y)
∂ f (x,y)
∆ f (x0 ,y0 ) = ∆x + ∆y. ∂x ∂y x0 ,y0
x0 ,y0
Fehlerfortpflanzung der Mittelwertfehler, 4 2 2 5
5 ∂ f (x,y)
∂ f (x,y)
∆ f (x0 ,y0 ) = 6 ∆x + ∆y . ∂x x0 ,y0 ∂y x0 ,y0
30.8
Kenngrößen zur Beschreibung von Messwertverteilungen
30.8.1
Lageparameter, Mittelwerte von Messreihen
Arithmetisches Mittel, oft einfach Mittelwert genannt, gleichgewichtetes Mittel von n Messwerten 1 n 1 x¯ = ∑ xi = n i=1 n
k
k
j=1
j=1
∑ Hj · x j = ∑ h j · x j,
d. h. die n Messwerte verteilen sich auf k ≤ n verschiedene x j -Werte mit der Häufigkeit H j . ● Schwerpunktseigenschaft, die Summe der Abweichungen der Messwerte aus der Urliste vom arithmetischen Mittel ist durch Definition identisch Null n
∑(xi − x)¯ ≡ 0. i=1
● Linearität des arithmetischen Mittels, (ax + b) = ax + b, a,b Konstanten, x Messvariable. ● Quadratische Minimumseigenschaft, die Summe der Quadrate der Abstände aller Messwerte xi vom Mittelwert x¯ ist minimal: n
∑(xi − x)¯ 2 =
Minimum.
i=1
▲ Diese Eigenschaft ist ein Grundbestandteil der Ausgleichsrechnung. ● Vereinigung von Messungen, das Mittel einer Gesamtmessung mit n Messwerten ist die Summe der Mittelwerte in den Teilmessungen, gewichtet mit dem relativen Anteil von Messpunkten ni / ∑ ni = ni /n. ni x¯ = ∑ x¯i · = ∑ x¯i ni / ∑ ni . n
948
30 Wahrscheinlichkeitsrechnung und mathematische Statistik
● Liegt die Messreihe in Form einer Häufigkeitsverteilung vor, gilt x¯ =
1 k
∑ Hi
k
∑ xiHi, i=1
i=1
xi sind in diesem Fall die Klassenmitten der Klassen Ki (i = 1, . . . ,k). Quantil, Perzentil der Ordnung p, Messwert, der von einem Anteil p aller Messwerte aus der Urliste nicht überschritten und von einem Anteil 1 − p nicht unterschritten wird, Kenngröße zur Beschreibung der Lage der einzelnen Messwerte zueinander. Empirischer Median, Zentralwert x, ˜ Spezialfall eines Perzentils, derjenige Wert, der die Zahl der nach ihrer Größe geordneten n Messwerte der Urliste halbiert. Empirischer Median für gerade Anzahl von Messwerten: xn/2 + xn/2+5 x˜ = . 2 Empirischer Median für ungerade Anzahl von Messwerten: x˜ = x(n+1)/2 . ▲ Anwendung des empirischen Medians vorwiegend in folgenden Fällen: a) Klassen an den Rändern der geordneten Urliste fehlen; b) Extreme Messwerte („Ausreißer“) treten auf, die das Ergebnis verfälschen würden; c) Änderungen der Messwerte oberhalb und unterhalb des Mittelwertes sollen dessen Wert nicht beeinflussen. ● Die Summe der absoluten Beträge der Abweichungen aller Messwerte xi vom Median x˜ ist kleiner als die Summe der Abweichungen von jedem anderen Wert a: n
n
i=1
i=1
∑ |xi − x|˜ < ∑ |xi − a|,
für alle a = x˜ falls n ungerade für alle xn/2 ≤ a ≤ xn/2+1 falls n gerade.
Häufigkeit, absolute Häufigkeit Hi = H(Xi ), Anzahl des Vorkommens von x = Xi in der Messreihe, Wert einer Messvariablen x kann während einer Messreihe mehrmals den gleichen Wert Xi besitzen, Menge der möglichen Messwerte X j bildet eine Klassifizierung der Messergebnisse, wobei 1 ≤ j ≤ k mit k ≤ n und k
∑ H(X j ) = n. j=1
Empirischer Modalwert, Dichtemittel xm , häufigster Messwert in einer Folge von Messwerten. Häufungsstellen, Messwerte, die eine größere Häufigkeit haben als ihre Nachbarwerte. ▲ Für Messreihen mit mehreren Häufungsstellen existieren auch mehrere Dichtemittel. Jeder Häufungsbereich muss gesondert betrachtet werden. Quadratisches % Mittel, 1 n 2 xquad = ∑ xi n i=1 Geometrisches Mittel, %
H(x)
n
xˆ =
n
∏ xi = (x1 · x2 · . . . · xn )(1/n) i=1
x
▲ Geometrisches Mittel wird besonders für Größen benutzt, bei denen als Gesetzmäßigkeiten geometrische Folgen auftreten.
30.8 Kenngrößen zur Beschreibung von Messwertverteilungen
949
■ Mittleres durchschnittliches Wachstumstempo oder Zuwachsrate von zeitlichen Vorgängen, radioaktiver Zerfall, Lebenszeit von Bauelementen xˆ = (x1 · x2 · . . . · xn )(1/n) , xi > 0. ● Der Logarithmus des geometrischen Mittels ist gleich dem arithmetischen Mittel der Logarithmen aller Messwerte. 1 ln xˆ = (ln x1 + · · · + ln xn ). n Wachstumstempo, durchschnittliche prozentuale Entwicklung von xn auf xn+1 (Angaben in Prozentanteilen einer Gesamtmenge A) xn n−1 ¯ = W · 100 %. x1 Zuwachsrate, durchschnittliche prozentuale Entwicklung um R¯ Prozent x n n−1 R¯ = − 1 · 100 %. x1 ▲ Liegt keine prozentuale Entwicklung vor, so können anstelle von x1 ,xn die Absolutwerte a1 = x1 · A, an = xn · A eingesetzt werden. Harmonisches Mittel, n
1 . i=1 xi
xh = n/ ∑
¯ ● Satz von Cauchy, es besteht die folgende Hierarchie der Mittelwerte xquad ,xh ,xˆ und x: xmin ≤ xh ≤ xˆ ≤ x¯ ≤ xquad ≤ xmax .
30.8.2
Streuungsparameter
Empirische Spannweite, Variationsbreite, Abstand zwischen größtem und kleinstem Messwert ∆xmax = xmax − xmin . ▲ Wird meist für kleine Anzahl von Messwerten benutzt. Verwendung bei statistischen Qualitätskontrollen mit Kontrollkarten. Empirische mittlere absolute Abweichung um den Wert C, 1 n |∆x|C = ∑ |xi − C|. n i=1 ▲ Üblicherweise wird C = x˜ (empirischer Median) oder C = x¯ (arithmetisches Mittel) benutzt. ▲ Liegt eine nach Klassen geordnete Häufigkeitstabelle vor, werden die Klassenmitten als Messgrößen xi eingesetzt. Empirische mittlere quadratische Abweichung, Standardabweichung, empirische Streuung, % $ 1 n σ n = (∆x)2 = (xi − x) ¯ 2. n−1∑ i=1 ● Liegt die Messreihe in Form einer Häufigkeitsverteilung vor, gilt % $ k 1 k 2 2 σ n = (∆x) = (xi − x) ¯ H(xi ), n = ∑ H(xi ). n−1∑ i=1 i=1
950
30 Wahrscheinlichkeitsrechnung und mathematische Statistik
▲ Im Fall einer Klasseneinteilung werden oft die Klassenmitten anstelle der unbekannten Messwerte eingesetzt. Empirische Varianz σ n2 , Quadrat der Standardabweichung, insbesondere im englischen Sprachgebrauch wird diese Größe auch als Varianz bezeichnet. ▲ Die empirische Streuung σ n ist eine erwartungstreue Schätzung für die Streuung einer zugrunde liegenden Wahrscheinlichkeitsfunktion über der Grundgesamtheit, siehe Stichprobenverfahren. Relatives Streuungsmaß, Variationskoeffizient, Variabilitätskoeffizient, prozentuale Angabe des Streuungsmaßes, bezogen auf das arithmetische Mittel (∆x)2 rel =
(∆x)2 · 100 %. x¯
30.9
Spezielle Verteilungen
30.9.1
Häufigkeitsverteilungen
Urliste, Liste mit allen Messwerten in einer Messreihe, gleiche Messergebnisse können dabei wiederholt auftreten. ■ Bei der Produktion von n Kondensatoren mit einer Kapazität von C = 100 µ F beträgt der Wert für jedes Bauteil i. Allg. nicht exakt 100 µ F, sondern schwankt um diesen Wert. Man sagt: Der Wert gehorcht einer charakteristischen Verteilung um den Sollwert C = 100 µ F. Um die Art dieser Verteilung und die Natur des zugrunde liegenden Wahrscheinlichkeitsprozesses genauer zu verstehen, bestimmt man die so genannte relative Häufigkeitsverteilung und vergleicht mit speziellen Wahrscheinlichkeitsfunktionen, die aus bekannten Wahrscheinlichkeitsstrukturen abgeleitet werden können. Beispielsweise kann die hypergeometrische Verteilung auf das sehr einfache und anschauliche Urnenmodell zurückgeführt werden. Im Beispiel ist die einzelne Messgröße die Kapazität jedes Kondensators. Diese Messwerte bilden die so genannte Urliste: Kondensator Nr. 1 2 3 4 5 6 ... n Kapazität in µ F 101,1 99,6 101,4 103,3 98,0 99,5 . . . Cn Klasse Ki , Menge aus mehreren Elementen (Messergebnissen) einer Urliste mit bestimmten Eigenschaften, die unter dem Index i zusammengefasst werden. ■ Bei der Tagesproduktion von n Kondensatoren einer vorgegebenen Kapazität C kann man eine Klassifizierung durchführen, indem man Kapazitäten in N = 8 Intervallbereiche (N = 8 Klassen) aufteilt. Klasse K1 K2 K3 K4
Intervallgrenzen Klasse Intervallgrenzen C < 92,5 K5 100,0 ≤ C < 102,5 92,5 ≤ C < 95,0 K6 102,5 ≤ C < 105,0 95,0 ≤ C < 97,5 K7 105,0 ≤ C < 107,5 97,5 ≤ C < 100,0 K8 107,5 ≤ C
▲ Es müssen nicht immer Klassen definiert werden. Bei diskreten, sich in der Urliste wiederholenden Messwerten x = Xi , können diese natürlich als eine eigene Klasse Ki = Xi angesehen werden. Klassenmitte, Intervallmitte, arithmetisches Mittel der Intervallgrenzen einer Klasse. ▲ Exakter ist es, das arithmetische Mittel aller Messwerte innerhalb der jeweiligen Klasse zu bilden. Die einzelnen Messwerte sind aber manchmal nicht bekannt oder man verzichtet aus Zeitgründen (Rechenaufwand bei sehr umfangreichen Erhebungen) auf ihre Ermittlung. Die Intervallmitte ist daher i. Allg. eine Näherung.
30.9 Spezielle Verteilungen
951
Häufigkeit Hi = H(Ki ), Anzahl der Messergebnisse aus der Urliste, die in die Klasse Ki fallen. ▲ Bei sich in der Urliste wiederholenden Messwerten kann auch ein diskreter Messwert als Klasse gelten! Häufigkeitstabelle, tabellarische Abbildung von jeder Klasse auf die zugehörige Anzahl (Häufigkeit) der Messwerte. ■ Die Häufigkeitstabelle einer Tagesproduktion, bezogen auf die Kapazität der Kondensatoren, könnte nun folgendermaßen aussehen: K1 K2 K3 K4 K5 K6 K7 K8 Summe Ki H(Ki ) 133 43 789 189 345 281 321 255 128 206 989 26 923 155 1 003 783 Häufigkeitsverteilung, Häufigkeitshistogramm, grafische Darstellung einer Häufigkeitstabelle. Relative Häufigkeit, die relative Häufigkeit der Klasse Ki bei n Messwerten: Hi . n Relative bzw. normierte Häufigkeitsverteilung hi , hi =
N
∑ hi = 1. i=1
Die relative Häufigkeit kann grafisch in einem Histogramm dargestellt werden. ▲ Oft werden andere Diagramme zur übersichtlichen Darstellung verwendet, z. B. das Kreisdiagramm. ■ Histogramm und Kreisdiagramm zum obigen Beispiel: 0.015%
H ( K i)
2.68%
0.01% 4.36%
200 000
20.62%
18.86%
25.41%
28.02%
K1 K2 K3 K4 K5 K6 K7 K8
● Bei der Division der (relativen) Häufigkeit durch einen konstanten Faktor c bleibt das arithmetische Mittel erhalten. N
∑ xi · H(xi )/c i
N
∑ H(xi )/c
≡ x. ¯
i
30.9.2
Verteilung von Stichprobenfunktionen
Stichprobenfunktion, Abbildung von n Messwerten x1 , . . . ,xn einer Stichprobe auf einen Wert Wn (x1 , . . . ,xn ), mit dessen Hilfe eine Eigenschaft der Grundgesamtheit abgeschätzt oder überprüft werden soll. Zum Beispiel kann der Wert einer Stichprobenfunktion Wn gerade die Näherung für einen Verteilungsparameter sein. W = lim Wn . n→∞
952
30 Wahrscheinlichkeitsrechnung und mathematische Statistik
Verteilung einer Stichprobenfunktion f (Wn ), ergibt sich durch das mehrfache Wiederholen des Auswahlvorgangs, z. B. das mehrmalige Ziehen von n Losen; Wahrscheinlichkeitsdichte für den Wert der Stichprobenfunktion Wn χ 2 -Funktion, summierte Quadrate von n Messwerten einer Stichprobe n
χ (x1 , . . . ,xn ) = 2
∑ x2i . i=1
χ 2 -Verteilung (Helmert-Pearson), Verteilung fχ (Yn ; n), die sich für die Messgröße Yn (x1 , . . . ,xn ) mit n
Wn = Yn (x1 , . . . ,xn ) := χ = ∑ x2i . 2
i=1
ergibt, wenn die einzelnen Messwerte xi (i = 1, . . . ,n) jeweils standardnormalverteilt sind f (xi ) = fsn (xi ). Wahrscheinlichkeitsdichte: 1 fχ (Yn ; n) = n/2 Ynn/2−1 e−Yn /2 . 2 Γ (n/2) Verteilungsfunktion: Fχ (Zn ; n) =
Zn −∞
f (Yn ) dYn .
Der Parameter der Verteilung ist der Stichprobenumfang n. Erwartungswert: m = n, Varianz: σ 2 = 2n.
f(x)
n=2 n=4
0.5 0.4 0.3 0.2 0.1 0
0
2
4
6
8
10
x
▲ Die n Messwerte xi können, wenn sie einer allgemeineren Normalverteilung um den bekannten Erwartungswert m mit der Varianz σ 2 gehorchen, auch ersetzt werden durch xi − m . σ
Die Verteilung von Yn ist ebenso fχ (Yn ; n). ▲ Ist der Erwartungswert m nicht bekannt, kann er durch das arithmetische Mittel der Probe x¯ ersetzt werden. Die Verteilung von Yn ist dann jedoch fχ (Yn ; n − 1). ▲ Der Wert 1 n Yn /n = ∑(xi − m)2 n i=1 ist eine Schätzfunktion für die Varianz (mittlere quadratische Abweichung), sofern xi normalverteilt um m. ▲ Die Perzentile der χ 2 -Verteilung tχ ;α ;n mit Fχ (tχ ;α ;n ) = α werden im Rahmen der Schätztheorie zur Definition der Prognose- und Konfidenzintervalle bei der Intervallschätzung von Varianz-Parametern σ bei Normalverteilung verwendet. Hierbei dient Yn /n als Schätzer. Analog dazu werden in der Testtheorie solche Perzentile ebenfalls zur Bestimmung der Güte eines geschätzten σ 2 -Wertes herangezogen.
t-Verteilung, Student-Verteilung, Verteilung fT (Tn ; n), die sich für die Messgröße Z Tn := Yn /n ergibt, wenn Z standardnormalverteilt und Yn fχ (Yn ; n)-verteilt sind. Wahrscheinlichkeitsdichte: −(n+1)/2 Γ ((n + 1)/2) Tn2 fT (Tn ; n) = √ 1+ . nπ Γ (n/2) n Verteilungsfunktion: FT (Un ; n) =
Un
−∞
f(x) 0.4 0.3
fT (Tn )dTn
Der Parameter der Verteilung ist der Stichprobenumfang n. Erwartungswert: m = 0, Varianz: σ 2 = n/(n − 2).
n=1 n>30
0.2 0.1
−3 −2 −1
0
1
2
3 x
954
30 Wahrscheinlichkeitsrechnung und mathematische Statistik Perzentile tT ;FT ;n der t-Verteilung fT , n Freiheitsgrad n\FT 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 25 35 50 100 200 500
▲ Die Variable standardisiertes arithmetisches Mittel einer Stichprobe √ x¯ − m √ x¯ − m Ts = n= % n σn
n
[1/(n − 1)] ∑(xi − x) ¯2 i=1
ist fT (Ts ; n − 1)-verteilt. ▲ Für n → ∞ kann die t-Verteilung durch die Standardnormalverteilung ersetzt werden.
f(x) n 1 = 8 , n 2 = 60 F-Verteilung, Fisher-Verteilung, Verteilung fF (F; n1 ,n2 ), 1.0 n 1 = 8 , n 2 = 10 die sich für die Messgröße Yn (1)/n1 0.8 Fn1 ,n2 := 1 Yn2 (2)/n2 0.6 ergibt, wenn Yn1 und Yn2 aus zwei voneinander unabhän0.4 gigen Stichprobenentnahmen erhalten wurden und jeweils 0.2 fχ (Yni ; ni )-verteilt sind (i = 1,2). 0 Wahrscheinlichkeitsdichte: 0 2 1 3 x ' n ( n n1 /2 n1 + n2 7 n1 F n1 /2−1 2 1 fF (Fn1 ,n2 ; n1 ,n2 ) = Γ Γ ·Γ × , F ≥ 0. 2 2 2 n2 [1 + (n1 F/n2 )](n1 +n2 )/2
n1 und n2 sind die Zähler- und Nenner-Parameter (Freiheitsgrade) der F-Verteilung. Erwartungswert: m = n2 /(n2 − 2), (n2 ≥ 3), Varianz: σ 2 = [2n22 (n1 + n2 − 2)]/[n1 (n2 − 2)2 (n2 − 4)], (n2 ≥ 5). √ √ ▲ Für die spezielle Konfiguration n1 = 1 und n2 = N ist F fT ( F; N)-verteilt. ▲ Für die spezielle Konfiguration n1 = N und n2 ≥ 200 ist n · F asymptotisch (d. h. für n2 → ∞) fχ (n · F; N)-verteilt. ● Die F-Perzentile tF;α sind definiert durch FF (tF;α ;n1 ,n2 ) = α . Sie besitzen die Symmetrie tF;α ;n1 ,n2 = [tF;1−α ;n2 ,n1 ]−1 .
30.10
Stichproben-Analyseverfahren (Test- und Schätztheorie)
Methoden zur Ermittlung von Eigenschaften einer Verteilung von Merkmalen durch Entnahme von Stichproben. Stichprobenprüfung, Statistische Erhebung vom Umfang n aus N, aus einer großen Gruppe, der Gesamtheit oder Grundmenge, von N „Einheiten“ (z. B. 600 000 Einwohner) wird eine kleinere Menge n herausgegriffen (z. B. 3 000 Einwohner von 600 000), die dann repräsentativ für die Gesamtmenge anstelle aller N Einheiten hinsichtlich ihrer Eigenschaften untersucht werden. ▲ Auch die Aufnahme einer Messreihe einer physikalischen Observablen (Messgröße) oder einer technischen Größe sind Stichprobenprüfungen. Die Grundgesamtheit hat in diesen Fällen den Umfang N = ∞. ▲ Im Fall einer Meinungsumfrage werden die „Eigenschaften“ mit den Meinungen der befragten Personen identifiziert und sind i. d. R. nominale Merkmale. Stichprobenumfang, Anzahl der ausgewählten Einheiten n aus der Gesamtmenge (Grundgesamtheit) N aller vorhandenen Einheiten. Stichprobenattribut, Eigenschaft, auf die die Teile der Stichprobe untersucht werden. ■ Attribute können sein: fehlerhafte/nicht fehlerhafte Teile; die Farben Rot, Grün, Blau, Lage einer Prüffunktion (kritischer Bereich, Annahmebereich), Meinungen bei einer Meinungsumfrage. Stichprobenvariable, Oberbegriff für Größen, deren Wert mit der aus der Stichprobe entnommenen Information ermittelt wird. ■ Zu den Stichprobenvariablen gehören bspw. Attribute sowie Schätz- und Prüffunktionen. Parameter einer speziellen Verteilung W , Wert, der die Form und/oder Lage einer speziellen Verteilung definiert. Die Schreibweise ist f (x) = f (x; W ), d. h. f ist eine spezielle Wahrscheinlichkeitsfunktion (-dichte) für die Zufallsvariable x mit dem Parameter W .
956
30 Wahrscheinlichkeitsrechnung und mathematische Statistik
■ Der Mittelwert m und die Varianz σ 2 sind Parameter der Normalverteilung; der Stichprobenumfang n ist ein Parameter der χ 2 - und der t-Verteilung; der Anteil markierter Einheiten p ist ein Parameter der hypergeometrischen, der Binomial- und der Poisson-Verteilung.
30.10.1
Schätzverfahren
Schätzverfahren, Methoden zur Schätzung der Parameter einer Verteilung (z. B. Maßzahlen) von Zufallsgrößen durch Entnahme von Stichproben. Punktschätzung, Schätzung eines Wertes für eine Stichprobenfunktion durch Entnahme einer Stichprobe. Stichprobenfunktion, Abbildung von n Stichproben x1 , . . . ,xn auf einen Wert Sn (x1 , . . . ,xn ), Zufallsgröße der Stichprobe. ■ Einfache Beispiele sind die Anzahl fehlerhafter Teile pro Tag in der Herstellung von Gütern oder der Mittelwert einer Messreihe einer physikalischen Größe. ▲ Beispiele für Stichprobenfunktionen sind i. Allg. Schätz- und Prüffunktionen. Schätzfunktion, Schätzer, Abbildung von n Stichproben auf einen Schätzwert Wn (x1 , . . . ,xn ) für einen Parameter W einer angenommenen Verteilung, Spezialfall einer Stichprobenfunktion. ■ Beispiele für Schätzfunktionen sind das arithmetische Mittel einer Stichprobe mit Umfang n Wn = x¯n =
1 n xi n∑ i=1
und die empirische Varianz Wn = σ n2 =
1 n (xi − x) ¯ 2. n−1∑ i=1
Realisation einer Schätzfunktion, Wert einer Schätzfunktion nach der Entnahme einer Stichprobe. ■ Losziehung, Würfeln, Entnahme einer Stichprobe, Aufnahme einer Messreihe usw. Erwartungstreue Schätzfunktion, Schätzfunktion, deren Erwartungswert bei mehreren Stichproben tatsächlich durch den Wert des gesuchten Parameters gegeben ist. lim Wn = W, oder m(Wn ) = W
n→∞
für alle n.
Mediantreue Schätzfunktion, Schätzfunktion mit gleichen Wahrscheinlichkeiten für die Unterschätzung und die Überschätzung P(Wn ≤ W ) = 0,5. Einfach konsistente Schätzfunktion, Schätzfunktion, für die bei beliebig kleinem > 0 ( → 0) gilt lim P(|Wn − W | ≤ ) = 1,
f(x)
σ 3(n3) σ 2(n2) σ 1 (n 1 ) n 1
n→∞
d. h. für n → ∞ strebt der aus einer Stichprobe ermittelte Wert Wn gegen den tatsächlichen Parameterwert W , die Varianz (Streuung) geht gegen Null, σ 2 → 0.
x
■ Das arithmetische Mittel x¯ der Stichprobe aus einer normalverteilten Gesamtheit strebt z. B. gegen den Erwartungswert m einer Normalverteilung.
30.10 Stichproben-Analyseverfahren (Test- und Schätztheorie)
957
Konsistenz im mittleren Fehlerquadrat, lim m((Wn − W )2 ) = 0.
n→∞
▲ Konsistenz im mittleren Fehlerquadrat impliziert einfache Konsistenz, jedoch ist der umgekehrte Schluss nicht notwendig wahr! Mittlerer quadratischer Fehler von Wn , W¯ = (Wn − W )2 . Effizienz, von zwei erwartungstreuen Schätzfunktionen Wn (1) und Wn (2) ist diejenige effizienter bzw. wirksamer, deren Varianz bei vorgegebenem Stichprobenumfang n kleiner ist σ 2 (Wn ,1) < σ 2 (Wn ,2) ⇒
Wn (1) effizienter
σ 2 (Wn ,2) < σ 2 (Wn ,1) ⇒
Wn (2) effizienter,
d. h. die erwartete Streuung um den wahren Wert W ist geringer. Absolut effiziente, wirksamste Schätzfunktion, Schätzfunktion mit der kleinsten Varianz.
W
durchgezogen: absolut effizient, punktiert: erwartungstreu, gestrichelt: nicht erwartungstreu ● Ungleichung von Rao und Cramer, ist Wn irgendeine Schätzfunktion für den Verteilungsparameter W und die Gesamtheit f (x; W )- bzw. P(x; W )-verteilt, so gilt: 8 9 σ 2 (Wn ) ≥ 1/ n ∂ ln f (x; W )/∂W , wobei x stetig, sonst ist 8 9 σ 2 (Wn ) ≥ 1/ n ∂ ln P(x; W )/∂W , wobei x diskret. Suffizienz, eine Schätzfunktion ist suffizient, wenn sie die gesamte Information der n Stichproben xi berücksichtigt. ▲ Die wenigsten Schätzer sind suffizient. Beispielsweise ist der Median nicht suffizient, da er nur den Wert in der Mitte einer geordneten Stichprobe berücksichtigt. ▲ Schätzer, die durch die Maximum-Likelihood-Methode berechnet werden, sind suffizient. Faktorisierungskriterium, für die Suffizienz ist das folgende Kriterium hinreichend und notwendig f (x1 , . . . ,xn ; W ) = g(Wn ; W ) · g(x ˜ 1 , . . . ,xn ), P(x1 , . . . ,xn ; W ) d. h. die Wahrscheinlichkeit für eine spezielle Stichprobenkonfiguration x1 , . . . ,xn ist das Produkt aus der von dem Parameter W abhängigen Wahrscheinlichkeitsverteilung der Schätzfunktion g und einer parameterunabhängigen Verteilung g˜ der Stichprobenkonfiguration. BAN (bester asymptotisch normalverteilter Schätzer), Schätzfunktion Wn für den Parameter W mit der Eigenschaft, dass Wn für große n (n → ∞) gegen eine Normalverteilung konvergiert mit < Wn >= W und der Varianzuntergrenze nach Rao-Cramer.
958
30 Wahrscheinlichkeitsrechnung und mathematische Statistik
■ Maximum-Likelihood-Schätzer sind BAN-Schätzer. BLU (bester linear unverzerrter Schätzer), Schätzfunktion Wn für den Parameter W , die erwartungstreu, absolut effizient (geringste Varianz) und eine lineare Funktion der xi ist.
30.10.2
Konstruktionsprinzipien für Schätzfunktionen
Konstruktionsprinzip, Methode, Verfahren zur Bestimmung geeigneter Schätzfunktionen; je nach Verfahren und Anwendung unterscheidet man Momenten-, Maximum-Likelihood-, χ 2 -, Perzentilschätzer.
30.10.3
Momentenmethode
Moment einer Messwertverteilung bzw. Stichprobe, Kenngrößen einer Häufigkeitsverteilung n
Momentenschätzer, Momente von speziellen Wahrscheinlichkeitsfunktionen können i. Allg. zu deren Parametern in Bezug gesetzt werden. Parameter können durch Momente ausgedrückt werden, daraus erhält man einen Schätzer für die unbekannten Parameter. , n 1 ■ Exponentialverteilung: W = m = → Wn (λ ) = 1/ (1/n) ∑ xi , λ
i=1
Gaußverteilung: W = σ , W = m → Wn = σ n2 ,Wn = x¯n . 2
▲ Allgemeine Eigenschaften der Momentenschätzer: • immer konsistent, • mindestens asymptotisch erwartungstreu, • immer asymptotisch normalverteilt, • oft nicht absolut effizient, • oft nicht suffizient.
30.10.4
Maximum-Likelihood-Verfahren
Methode zur Bestimmung von Schätzfunktionen und deren Parameter. Likelihood-Funktion L(a), Wahrscheinlichkeit bzw. Wahrscheinlichkeitsdichte für das Eintreten einer Stichprobenkonfiguration x1 , . . . ,xn , vorausgesetzt die Wahrscheinlichkeitsdichte f (x; a) mit dem Parameter a ist bekannt L(a) := f (x1 ; a) · . . . · f (xn ; a). Maximum-Likelihood-Schätzer a(x ˜ 1 , . . . ,xn ), Wert des Parameters a, für den L(a) maximal wird, er wird definiert durch die Bedingung dlnL(a) dL(a) ≡ 0 bzw. ≡0 da da und durch Umkehrung zu einer Funktion der Stichprobenvariablen x1 , . . . ,xn . ▲ Die Logarithmierung wird oft gewählt, da sich dadurch meist die Definitionsgleichung für a˜ vereinfacht. ▲ Für mehrere Parameter ergeben sich die Definitionsgleichungen durch das Gleichungssystem ∂lnL(a1 , . . . ,an ) ≡ 0, i = 1, . . . ,n. ∂ai
30.10 Stichproben-Analyseverfahren (Test- und Schätztheorie)
959
■ Zur Schätzung des Erwartungswertes einer Poisson-Verteilung ergibt sich so die Schätzfunktion 1 n Wn = ∑ xi = x¯n . n i=1 ▲ Eigenschaften des Maximum-Likelihood-Schätzers: • konsistent, • mindestens asymptotisch erwartungstreu, • mindestens asymptotisch absolut effizient, • suffizient, • beste asymptotisch normalverteilte (BAN)-Schätzfunktion.
30.10.5
Methode der kleinsten Quadrate
Methode der kleinsten Quadrate, siehe Ausgleichsrechnung, geschätzt werden die Parameter a von angenommenen Ansatzfunktionen y(x; a), die eine Auswahl von zweidimensionalen Messpunkten (Messkurve) (xi ,yi ) optimal beschreiben.
f(x) 1
Minimalprinzip der kleinsten Quadrate nach Gauß, bei vorgegebenem Funktionsansatz y(x) (Ansatzfunktion) und n vorgegebenen Wertepaaren (xi ,yi ) ist die optimale Parameterkonfiguration der Ansatzfunktion definiert durch
1 2 0
3
6
9
12 x
n
∑(yi − y(xi ; a))2
= Mina ,
i=1
wobei a der Parameter des Ansatzes ist. Kleinstquadratschätzer, löst man die Normalgleichungen des Minimalprinzips, erhält man Schätzfunktionen für die Parameter des Funktionsansatzes. Eigenschaften für linearen Ansatz der Schätzfunktion/Schätzgerade, • linear und erwartungstreu.
30.10.6
χ 2-Minimum-Methode
χ 2 -Funktion, Funktion zur Bestimmung des bestmöglichen Parameterwertes bei vorgegebener Art der Ver-
teilung; mit einer Stichprobe vom Umfang n werden die Stichprobenvariablen xi ,i = 1, . . . ,n in einer Tabelle der relativen Häufigkeiten h j = h(K j ) mit vorgegebener Klassifizierung K j , j = 1, . . . ,k zusammengefasst; die χ 2 -Funktion lautet dann k h − f (X ; a) j j χ 2 := ∑ , f (X j ; a) j=1 wobei X j die Intervallmitte der j-ten Klasse darstellt. ▲ Die χ 2 -Funktion ist ein Maß für die Abweichung der relativen Häufigkeitsverteilung hi von einer idealen Verteilung f (x; a) zu gegebenem Parameterwert a. ▲ Für diskrete Messwerte entfällt i. Allg. die Einteilung in Klassen, anstelle der Intervallmitten werden die Messwerte eingesetzt. χ 2 -Minimumprinzip, Anwendung der Methode der kleinsten Quadrate zur Bestimmung der statistischen Verteilung von Messwerten; das Minimum der χ 2 -Funktion bezüglich der Variablen a definiert analog
960
30 Wahrscheinlichkeitsrechnung und mathematische Statistik
zum Maximum-Likelihood-Schätzer den Parameterschätzwert a˜ und damit die Schätzfunktion f (x; a) ˜ bei vorgegebener Art der Verteilung f (x; a) χ 2 := Mina .
▲ Das χ 2 -Verfahren kann auch bei Maximum-Likelihood-Verteilungen, die von mehreren Parametern a1 , . . . ,ak abhängen, eingesetzt werden. ▲ Auch bei Prüfverfahren, in denen selbst die Art der Verteilung unbekannt ist, wird die χ 2 -Methode verwendet. ● Asymptotisch (für großen Stichprobenumfang n) stimmt die χ 2 -Schätzfunktion mit dem MaximumLikelihood-Schätzer überein.
30.10.7
Methode der Quantile, Perzentile
Das Quantil (Perzentil) xα der Ordnung α , Verteilungsfunktion F(xα := α ) der gesamten Grundmenge wird durch das Perzentil der Stichprobe Xα abgeschätzt. ▲ Eigenschaften der Perzentilschätzer: • erwartungstreu, • asymptotisch normalverteilt, • selten absolut effizient. ● Die Varianz des Perzentilschätzers beträgt σ 2 (Xα ) =
30.10.8
α (1 − α )
n( f (Xα ))2
.
Intervallschätzung
Zur Angabe der Güte einer Punktschätzung definiert man zwei Sorten Intervalle: das Schwankungs- oder Prognoseintervall und das Konfidenzintervall. ■ Typisches Beispiel für eine Intervallschätzung ist eine Waren-Ausschussprüfung: Eine Warensendung mit N = 10 000 elektronischen Bauteilen soll hinsichtlich ihres Fehleranteils p = NFehler /N, d. h. des Anteils fehlerhafter Bauelemente untersucht werden. Natürlich werden nicht alle Teile überprüft, sondern nur eine Stichprobe von kleinerem Umfang, z. B. n = 20. Das Schätzen der Ausschussrate p mittels dieser Stichprobe ist eine Punktschätzung. Die Bestimmung der Wahrscheinlichkeit, mit der p in ein bestimmtes Intervall trifft, d. h. die Güte/Genauigkeit der Schätzung, ist Gegenstand der Intervallschätzung. Realisation einer Schätzfunktion wn , Wert für die Schätzfunktion Wn nach einmaliger Durchführung einer Stichprobenentnahme mit Umfang n. ■ Die Wahrscheinlichkeiten für die Anzahl der fehlerhaften Teile in der Stichprobe des obigen Beispiels einer Ausschussprüfung ist gerade gegeben durch die hypergeometrische Verteilung. Ist die Schätzung des Fehleranteils p aller N Teile durch den Fehleranteil in der Stichprobe wn , so ist der Wert wn eine Realisation der Schätzfunktion Wn = pn = nFehler /n. Kritischer Bereich KW , Intervall, in das die Realisation wn einer Schätzfunktion Wn mit der Wahrscheinlichkeit α trifft. Die Eigenschaft kritisch ist auf den Zusammenhang mit der Testtheorie zurückzuführen, in der eine Hypothese verworfen wird, sobald die Realisation einer Schätz-/Testfunktion in diesen Bereich hineintrifft. α ist im Allgemeinen 1. ■ Die Wahrscheinlichkeit dafür, maximal k fehlerhafte Teile zu erhalten, ist gerade die Wahrscheinlichkeitssumme oder die so genannte kumulative hypergeometrische Verteilung. Wenn pn größer ist als
30.10 Stichproben-Analyseverfahren (Test- und Schätztheorie)
961
ein vorgegebener Grenzwert p, ˜ soll die Warensendung abgelehnt werden. Das Intervall p > p˜ definiert also den kritischen Bereich. Prognoseintervall, Schwankungsintervall, Annahmebereich, Bereich, in den die Realisation wn einer Schätzfunktion Wn mit der Wahrscheinlichkeit (1 − α ) fällt. Das Prognoseintervall ist der Bereich, in dem man die Realisation einer Schätzfunktion mit hoher Wahrscheinlichkeit findet. ■ Analog zu dem obigen Beispiel ist der Bereich p ≤ p˜ gerade das Prognoseintervall oder der Annahmebereich, da in diesem Fall die Warensendung akzeptiert wird, siehe Prüfverfahren. ● Das Prognoseintervall ist zum kritischen Bereich komplementär. Aussagewahrscheinlichkeit, Wahrscheinlichkeit (1−α ), mit der die Realisation wn in das Prognoseintervall trifft. Prognoseintervallgrenze vn;α , Perzentil der Ordnung α einer Verteilung des Schätzwertes wn , man unterscheidet a) beidseitig, vn;α /2 ≤ Wn ≤ vn;1−α /2 ,
P(vn;α /2 ≤ Wn ≤ vn;1−α /2 ) = 1 − α ,
b) einseitig nach oben, Wn ≤ vn;1−α ,
P(Wn ≤ vn;1−α ) = 1 − α ,
c) einseitig nach unten, Wn ≥ vn;α ,
P(Wn ≥ vn;1−α ) = 1 − α
a b
α
begrenzte Prognoseintervalle.
a
a α /2
b
α /2
a α
b
a: kritischer Bereich, b: Prognoseintervall Konfidenzintervall, Vertrauensbereich, Intervall um die Realisation wn von Wn herum, der mit der Wahrscheinlichkeit (1 − α ) (Konfidenzniveau) den Parameterwert W einschließt. Konfidenzintervallgrenzen Vn;α , Intervallgrenzen um den Wert wn einer Realisation von Wn , innerhalb der sich mit der Wahrscheinlichkeit (1 − α ) der Parameterwert W befindet. ▲ Im Gegensatz zum Prognoseintervall, das in Lage und Breite festliegt, ändert das Konfidenzintervall je nach Wert der Realisation wn seine Lage und Breite.
W0 w n − t 1−α σ n
wn a
w n + t 1−α σ n
Konfidenzintervall für W0 ,α Konfidenzniveau, Wahrscheinlichkeit (1 − α ), mit der das Konfidenzintervall um eine Realisation von Wn , d. h. um einen Wert wn , den Parameter W einschließt. Konstruktionsvorschrift für die Konfidenzgrenzen Vn;α , die Prognoseintervallgrenzen vn;α sind i. Allg. umkehrbar eindeutige Funktionen des Parameterwertes W einer angenommenen Verteilungsart der Grundgesamtheit f (x,W ). Nach der Umkehrung vn;α = y = f (x)
→
x = f −1 (y) = vn;−1α = Vn;1−α
962
30 Wahrscheinlichkeitsrechnung und mathematische Statistik
wird die obere Prognosegrenze zu einer unteren Konfidenzintervallgrenze durch Umkehrung der Ungleichung Wn ≤ vn;1−α /2 (W )
−1 Vn;α /2 := vn;1− α /2 (Wn ) ≤ W.
→
Analog erhält man eine obere Konfidenzgrenze Vn;1−α /2 durch die untere Prognosegrenze, vn;α /2 (W ) ≤ Wn
→
W ≤ Vn;1−α /2 := vn;−1α /2 (Wn )
und damit −1 −1 Vn;α /2 (Wn ) := vn;1− α /2 (Wn ) ≤ W ≤ Vn;1−α /2 (Wn ) := vn;α /2 (Wn ).
Einseitige Konfidenzgrenzen nach oben/unten, W ≤ Vn;1−α := vn;−1α (Wn ), −1 Vn;α := vn;1− α (Wn ) ≤ W.
30.10.9
Intervallgrenzen bei Normalverteilung
Schätzung von W = m bei bekanntem σ 2 , Die Schätzfunktion ist 1 n Wn = x¯n = ∑ xi , n i=1 zweiseitiges Prognoseintervall: σ
σ
zweiseitiges Konfidenzintervall: σ
W − t1−α /2 √ ≤ Wn ≤ W + t1−α /2 √ . n n tα ist das Perzentil mit der Ordnung α der Standardnormalverteilung. einseitiges Prognoseintervall (oben):
einseitiges Konfidenzintervall (unten):
Wn ≤ W + t1−α √ , n einseitiges Prognoseintervall (unten):
W ≥ Wn − t1−α √ , n einseitiges Konfidenzintervall (oben):
σ
σ
Wn ≥ W − t1−α √ , n
σ
Wn − t1−α /2 √ ≤ W ≤ Wn + t1−α /2 √ , n n
σ
σ
W ≤ Wn + t1−α √ . n
Schätzung von x bei unbekanntem σ 2 , Intervallgrenzen wie mit bekanntem σ , der unbekannte Parameterwert σ wird jedoch durch den empirischen Wert % 1 n σ = (xi − x) ¯2 n−1∑ i=1 ersetzt und das Perzentil tα der Normalverteilung durch das Perzentil tT ;α ;k der t-Verteilung mit k = n − 1 Freiheitsgraden. Schätzung von σ 2 Die Schätzfunktion ist 1 n Wn = σ n2 = (xi − x) ¯ 2, n−1∑ i=1 zweiseitiges Prognoseintervall: σ
30.10.10 Prognose- und Konfidenzintervallgrenzen bei Binomialverteilung und hypergeometrischer Verteilung Schätzung des Parameters p der Binomial-, hypergeometrischen Verteilung: Im Sinn einer AttributStichprobenprüfung (siehe Anwendung Ausschussprüfung), bei der k markierte Teile in einer Stichprobe mit Umfang n gezogen wurden, ist die Schätzfunktion gegeben durch den empirischen Anteil Wn = k/n in der Stichprobe. Bei der hypergeometrischen Verteilung ist bereits nach Voraussetzung p = K/N, d. h. die Anzahl aller markierten Teile pro Gesamtzahl aller Elemente. Zweiseitiges Prognoseintervall (Binomialverteilung): p(1 − p) p(1 − p) p < t1−α /2 ≤ Wn ≤ p + t1−α /2 . n n Voraussetzung ist n ≥ 9/(p(1 − p)), da in diesem Fall Wn um p approximativ normalverteilt ist mit σ 2 = p(1 − p)/n. Zweiseitiges Konfidenzintervall (Binomialverteilung): $ 2 2 2 /2n − t Wn + t1− 1−α /2 Wn (1 − Wn )/n + t1−α /2 /4n α /2 2 1 + t1− /n α /2
▲ Für die hypergeometrische Verteilung mit Gesamtzahl N und markiertem Anteil K, wobei p = K/N, erhält man die gleichen Ausdrücke, jedoch mit N−n t1−α /2 → t1−α /2 . N−1
30.10.11 Intervallgrenzen bei Poisson-Verteilung Schätzung von c = n· p, Voraussetzung für die folgenden Intervallgrenzen ist c ≥ 9. Nur dann entspricht die Poisson-Verteilung einer Normalverteilung mit m = c und σ 2 = c, und die Perzentile der Normalverteilung können eingesetzt werden. Die Schätzfunktion ist gerade die poisson- und normalverteilte Variable x (d. h. der Stichprobenumfang ist n = 1). Zweiseitiges Prognoseintervall: √ √ c − t1−α /2 c ≤ x ≤ c − t1+α /2 c,
964
30 Wahrscheinlichkeitsrechnung und mathematische Statistik
30.10.12 Bestimmung des Stichprobenumfangs n Oft sind in der Praxis die Wahrscheinlichkeit α bzw. 1 − α /2 und die Konfidenzintervalle vorgegeben. Aufgabe ist, den notwendigen Stichprobenumfang n zu bestimmen, der gewährleistet, dass sich der Parameter W wirklich mit mindestens der Wahrscheinlichkeit 1 − α (Aussagesicherheit) in den Konfidenzgrenzen aufhält. Genauigkeitsvorgabe, Angabe der Konfidenzgrenzen, Vorgabe für die Abweichung |W − Wn |, die mit der Wahrscheinlichkeit 1 − α von Wn nicht überschritten wird. Diese Angabe geschieht durch den absoluten oder relativen Schätzfehler und ist unabhängig von der Vorgabe der Aussagesicherheit 1 − α . ▲ Die Genauigkeitsvorgabe ist neben der Aussagesicherheit eine weitere Forderung. Absoluter/relativer Schätzfehler v,vrel = v/W , Wert bzw. relativer Wert der Abweichung |W − Wn |. Forderungen an den Erwartungswert W = m (heterograde Untersuchung), sind die Aussagesicherheit 1 − α sowie die Genauigkeitsgrenzen durch v oder vrel vorgegeben, ergeben sich folgende Bedingungen, nach denen der Stichprobenumfang n ausgewählt werden muss: P(|m − Wn | ≤ v) = P(|m − Wn |/m ≤ vrel ) ≡ 1 − α . Dies ist bei Normalverteilung gleichbedeutend mit σ
|m − Wn | ≤ v ≤ t1−α /2 √ , n und damit muss für n gelten n≥
2 2 t1− α /2 σ
. v2 ▲ Die entsprechenden Bedingungen bei Vorgabe von vrel sind gleich, wenn man v durch vrel /W ersetzt (W = m oder W = p). Forderungen an den Anteilparameter p (homograde Untersuchung), sind die Aussagesicherheit 1 − α sowie die Genauigkeitsgrenzen durch v oder vrel vorgegeben, ergeben sich folgende Bedingungen, nach denen der Stichprobenumfang n ausgewählt werden muss: P(|p − Wn | ≤ v) = P(|p − Wn |/p ≤ vrel ) ≡ 1 − α . Dies ist bei Binomialverteilung gleichbedeutend mit p(1 − p) , |p − Wn | ≤ v ≤ t1−α /2 n und damit muss für n gelten n≥
2 t1− α /2 p(1 − p)
. v2 ▲ Natürlich gelten diese Ungleichungen ebenso für die hypergeometrische Verteilung. Die Größen σ und t müssen jedoch wie angegeben ersetzt werden!
30.10 Stichproben-Analyseverfahren (Test- und Schätztheorie)
965
▲ Die entsprechenden Bedingungen bei Vorgabe von vrel sind gleich, wenn v durch vrel /W ersetzt (W = m oder W = p) wird.
30.10.13 Prüfverfahren Prüfen von Hypothesen über Werte von Maßzahlen einer vorgegebenen Verteilung und/oder Art der Merkmalsverteilung. ■ Ein typisches Beispiel: Gegeben sei eine Tagesproduktion von N = 10 000 Hochfrequenzschaltkreisen mit einer Frequenz ν = 22 000 kHz (nach Herstellerangabe). In der Regel werden die Frequenzen dieser Schaltkreise nicht den exakten Wert von 22 000 kHz treffen, sondern in guter Näherung normalverteilt um diesen Wert (oder einen anderen) schwanken. Anhand einer Stichprobenkontrolle mit dem Umfang n soll nun die Tagesproduktion auf den wahren Frequenzwert und die Streuung der einzelnen Frequenzwerte hin überprüft werden. Prinzip einer Stichprobenprüfung, Aufstellung einer Null-Hypothese H0 , deren Annahme oder Ablehnung durch die Stichprobenprüfung entschieden wird. Zum Vergleich kann eine Gegen- oder Alternativhypothese H1 verwendet werden, muss aber nicht. Parameterhypothese, Hypothese über den Parameter W einer Verteilung f (x; W ), deren Art bereits bekannt ist. ▲ Anstelle der festgesetzten Parameterwerte W und W˜ können auch ganze Parametermengen (z. B. Intervalle) verwendet werden. Dies führt zu so genannten linksseitigen und rechtsseitigen Parametertests. Verteilungshypothese, Hypothese über Verteilungen, deren Typ (oft auch Parameter) man nicht kennt. ■ Bleibt man beim Beispiel aus der industriellen Herstellung: Die Annahme einer Normalverteilung für die Frequenzwerte legt schon den Typ der Verteilung fest, es handelt sich hierbei um einen Parametertest. Testet man den Erwartungswert m, so lautet die Parameterhypothese H0: W (H0 ) = m = 22 000 kHz. H1 soll die Alternative W (H1 ) = m = 23 000 kHz sein. Der Einfachheit halber sind bei beiden Hypothesen die Varianzparameter σ 2 der Normalverteilungen bekannt. Prüffunktion, Testfunktion, Testvariable, Prüfgröße Wn (x1 , . . . ,xn ), Stichprobenfunktion mit bekannter Wahrscheinlichkeitsverteilung ▲ Prüffunktionen sollten im Fall einer Parameterhypothese möglichst erwartungstreu, konsistent, effizient, suffizient sein. ■ Als Testfunktion für den Frequenz-Erwartungswert kann das arithmetische Mittel gewählt werden. Stichprobenplan, Stichprobenanweisung, Vorschrift, nach der eine Stichprobenprüfung durchgeführt wird. Einfacher Algorithmus einer Stichprobe, Stichprobenentnahme: (ein-/mehrstufig, geschichtet/ungeschichtet, mit/ohne Zurücklegen) ↓ Auswertung: Bestimmung des Wertes einer/mehrerer Testvariablen ↓ Anwendung der Entscheidungsvorschrift: Annahme/Ablehnung von H0
966
30 Wahrscheinlichkeitsrechnung und mathematische Statistik
Trennschärfe, die Eigenschaft der Entscheidungsvorschrift, Messwerte zu trennen. Fehler erster Art, Verwerfen von H0 , obwohl H0 richtig ist. Wahrscheinlichkeit für den Fehler 1. Art: α . Fehler zweiter Art, Annahme von H0, obwohl H0 falsch ist. Wahrscheinlichkeit für den Fehler 2. Art: β . ▲ Man geht immer davon aus, dass eine der beiden Hypothesen richtig ist (das muss natürlich nicht sein!). Je nach Fall (H0 richtig oder falsch) und Entscheidung berechnen sich so verschiedene Wahrscheinlichkeiten, die in der folgenden Tabelle (für einfache Parametertests) zusammengefasst werden Wert der Hypothese: Lage von Wn Entscheidung Wert
H0 (W ) richtig Wn nicht in KW H0 annehmen richtig OC(W ) Wahrscheinlichkeit P = = 1 − GF(W ) =1−α
Wn in KW H0 verwerfen falsch GF(W ) = 1 − OC(W ) =α Wert der Hypothese: H0 (W ) falsch bzw. H1(W˜ ) richtig Lage von Wn Wn nicht in KW Wn in KW Entscheidung H0 annehmen H0 verwerfen Wert falsch richtig ˜ OC(W ) GF(W˜ ) ˜) ˜) Wahrscheinlichkeit P = = 1 − GF(W = 1 − OC(W =β =1−β ■ Falls in dem obigen Beispiel tatsächlich m = 22 000 kHz, wäre das Verwerfen der Hypothese H0 ein Fehler 1. Art. Ist aber m = 22 000 kHz und man entscheidet sich jedoch für die Richtigkeit von H0 , ist dies ein Fehler 2. Art. Kritischer Bereich KW , Bereich, in dem sich die Prüffunktion Wn nach der Hypothese H0 für die Wahrscheinlichkeitsverteilung mit Parameter W nur mit der Wahrscheinlichkeit α aufhält, die Hypothese H0 (der Parameter W (H0 )) wird abgelehnt, sobald sich der Messwert für die Prüffunktion im kritischen Bereich befindet. α ist daher die Wahrscheinlichkeit, mit der die Nullhypothese fälschlich abgelehnt wird, daher auch Irrtumswahrscheinlichkeit. Signifikanzniveau, Irrtumswahrscheinlichkeit α , Wahrscheinlichkeit, mit der ein gemessener Wert Wn für die H0 -Prüffunktion in den kritischen Bereich KW trifft, Wahrscheinlichkeit für den Fehler 1. Art. α = P(Wn ∈ KW ).
■ In dem Beispiel ist der kritische Bereich gerade durch die Randbereiche der H0-Normalverteilung gegeben. Die Grenzen des kritischen Bereichs werden durch die Perzentile der Normalverteilung Tα /2 ,T1−α /2 definiert. Falls die H0 -Hypothese stimmt, ist die Wahrscheinlichkeit, dass der Stichprobenwert Wn in den kritischen Bereich fällt, genau α . Wenn das geschieht, wird die Hypothese H0 verworfen und man begeht (wenn überhaupt) einen Fehler der 1. Art. Fällt dagegen der Testwert Wn nicht in den kritischen Bereich, geht man davon aus, dass die Hypothese H0 richtig und die Hypothese H1 falsch ist. Ist nun jedoch H0 trotzdem falsch, ist dies (wenn überhaupt) ein Fehler 2. Art. ▲ Man sieht an dem Bild deutlich, dass die Wahrscheinlichkeit für den Fehler der 2. Art sehr von der Wahl der Alternativhypothese H1 abhängt und nicht nur durch das Signifikanzniveau α der H0 -Hypothese beeinflusst wird.
30.10 Stichproben-Analyseverfahren (Test- und Schätztheorie) Annahmewahrscheinlichkeit 1 − α , Wahrscheinlichkeit dafür, dass der Wert der H0 -Prüffunktion Wn nicht in den kritischen Bereich KW trifft und damit angenommen wird 1 − α = P(Wn ∈ KW ). ▲ 1− α definiert das so genannte Prognoseintervall aus der Schätztheorie. Das Prognoseintervall ist komplementär zum kritischen Bereich.
967
f(x) α
β a W ( H 0)
b W ( H 1)
x
α : Fehler 1. Art, β : Fehler 2. Art,
a: Annahmebereich, b: Prognoseteil für W0 ▲ Wird α zu klein gewählt, ist die Wahrscheinlichkeit für eine fälschliche Annahme (Fehler 2. Art) groß. ■ In der obigen Figur ist der Annahmebereich durch den mittleren Bereich um den H0 -Erwartungswert gegeben. Operationscharakteristik, Annahmewahrscheinlichkeit für den Wert der H0 -Prüffunktion Wn als Funktion des H0 -Parameterwertes W (H0 ) bei vorgegebenen festen Intervallgrenzen für den kritischen Bereich. OC(W ) = P(Wn ∈ KW ). ▲ Die Intervallgrenzen des kritischen Bereichs sind eindeutig durch die H0-Hypothese W = W (H0 ) und den Wert für α definiert (z. B. variiert man nun den Parameter W , hält aber die Grenzen des kritischen Bereichs nach wie vor fest, so erhält man die Operationscharakteristik). ▲ Für verschiedenen Stichprobenumfang n erhält man verschiedene Charakteristiken. Gütefunktion, Ablehnwahrscheinlichkeit für den Wert der H0 -Prüffunktion Wn als Funktion des H0 -Parameterwertes W GF(W ) = P(Wn ∈ KW ). ▲ Die Gütefunktion ist die Wahrscheinlichkeit für einen Fehler 1. Art. ● Operationscharakteristik und Gütefunktion sind zueinander 1-komplementär OC(W ) + GF(W ) = 1. ˜ , ist ▲ Angewendet auf die Alternativhypothese H1 mit einem alternativen Parameter W ˜ ) = 1 − GF(W ˜)=β OC(W gerade die Wahrscheinlichkeit für den Fehler 2. Art, nämlich, dass die Alternativhypothese angenommen und die Nullhypothese fälschlich verworfen wird. ▲ Bei Hypothesen mit mehreren erlaubten Werten für den Parameter W (W aus einem Parameterbereich) sind α ,β dann nur obere und untere Grenzen für die angegebenen Wahrscheinlichkeiten. Solche Tests werden je nach Situation auch als zwei-, links- oder rechtsseitige Parametertests bezeichnet.
30.10.14 Parametertests Einfache Parameterhypothese, Hypothese mit einem einzigen Wert für den Verteilungsparameter W = W1 . Zusammengesetzte Parameterhypothese, Hypothese mit mehreren Möglichkeiten für den Verteilungsparameter W = {W1 ,W2 , . . .}. ■ Eine typische zusammengesetzte Parameterhypothese ist W > W0 . Beidseitiger Test, Test einer einfachen Hypothese gegen eine zusammengesetzte Alternative. ˜. ■ H0 : W = W˜ , H1 : W > W ˜. Linksseitiger Test, H0 : W ≥ W˜ , H1 : W < W ˜. Rechtsseitiger Test, H0 : W ≤ W˜ , H1 : W > W
968
30 Wahrscheinlichkeitsrechnung und mathematische Statistik
30.10.15 Parametertests bei der Normalverteilung Für einige Grenzfälle und Anwendungen können viele spezielle Verteilungen auf die Normalverteilung zurückgeführt werden. Die folgenden Ausdrücke für die Grenzen von Annahmebereichen oder die Gestalt von Gütefunktionen bzw. Operationscharakteristiken sind daher universell einsetzbar. Hypothese über m, σ 2 bekannt, Der Umfang n und die Irrtumswahrscheinlichkeit α sind gegeben. tα ist das Perzentil der Standardnormalverteilung. a) H0 : m = x0 ; H1 : m = x1 ; x0 < x1 . Annahmebereich: σ Wn ≤ x¯1−α = x0 + t1−α √ . n Fehler 2. Art: Wn − x1 √ x¯1−α − x1 √ x¯1−α − x1 √ β =P n≤ n =G n . σ
σ
σ
b) H0 : m = x0 ; H1 : m = x1 ; x0 > x1 . Annahmebereich: σ Wn ≥ x¯α = x0 + tα √ . n Fehler 2. Art: Wn − x1 √ x¯α − x1 √ x¯α − x1 √ β =P n≥ n =1−G n . σ
σ
σ
c) Linksseitiger Test H0: m ≥ x0 ; Ablehnungsbereich:
H1 : m < x0 .
σ
Wn ≤ x¯α = x0 + tα √ . n Die Gütefunktion ist für allem, d. h. sowohl für H0 als auch für H1 gegeben durch x¯α − m √ GF(m) = P(Wn < x¯α ) = G n . σ
x n =W n
Intervallgrenze: w n =W+t 1−α σ n Konfidenzintervall für W 0 , α x 0 >w n − t 1 −α σ n
x=w n
W=x 0
d) Rechtsseitiger Test H0 : m ≤ x0 ; Ablehnungsbereich:
W=<x> Annahmebereich für W 0 , α w n <x 0 +t 1−α σ n
H1 : m > x0 .
σ
Wn ≥ x¯1−α = x0 + t1−α √ . n Die Gütefunktion ist für alle m, d. h. sowohl für H0 als auch für H1 gegeben durch x¯1−α − m √ GF(m) = P(Wn > x¯1−α ) = 1 − G n . σ
30.10 Stichproben-Analyseverfahren (Test- und Schätztheorie) H1 : m = x0 .
e) Zweiseitiger Test H0 : m = x0 ; Ablehnungsbereich: σ
|Wn − x0 | > t1−α /2 √ . n Annahmebereich: σ σ x0 − t1−α /2 √ ≤ Wn ≤ x0 + t1−α /2 √ . n n Gütefunktion: σ σ GF(m) = P Wn > x0 + t1−α /2 √ + P Wn < x0 − t1−α /2 √ n n x0 − m √ x0 − m √ n + t1−α /2 + G n − t1−α /2 . =1−G σ
σ
Hypothese über m, σ 2 unbekannt, Prüfgröße ist der Mittelwert der Stichprobe vom Umfang n Wn = x¯n . Generell werden anstelle von σ 2 die empirische Varianz σ n2 =
1 n (xi − x¯n )2 n−1∑ i=1
und statt der Perzentile tα die der t-Verteilung tT ;n−1;α verwendet. ▲ Für n − 1 > 30 reichen in guter Näherung die Perzentile der Standardnormalverteilung. Hypothese über σ 2 der Normalverteilung, Prüffunktion ist die empirische Varianz σ n2 =
1 n (xi − x¯n )2 . n−1∑ i=1
▲ tχ ;α ;n ist das Perzentil der Ordnung α der fχ -Verteilung mit n Freiheitsgraden. Das Signifikanzniveau α wird vorgegeben. a) H0 : σ = σ 0 ; H1 : σ = σ 1 ; σ 0 < σ 1 . Ablehnungsbereich für H0: σ n2 >
30 Wahrscheinlichkeitsrechnung und mathematische Statistik
und σ n2 >
σ 02
tχ ;1−α /2;n−1 . n−1 ▲ Die Gütefunktionen berechnen sich mit der nichtzentralen fχ -Verteilung.
30.10.16 Hypothesen über den Mittelwert beliebiger Verteilungen Falls die Varianz der Verteilung bekannt ist, wird bei großem Stichprobenumfang n der arithmetische Mittelwert x¯n der Stichprobe approximativ der Normalverteilung um einen Erwartungswert m mit σ → σ /2 gehorchen. Den Erwartungswert m testet man dann durch mehrfache Stichprobenentnahmen und mit den Intervallgrenzen, wie sie bei der gewöhnlichen Normalverteilung angegeben sind, jedoch mit der Ersetzung σ → σ /n.
30.10.17 Hypothesen über p von Binomialund hypergeometrischen Verteilungen Tests dieser Art können für n > 9/[p(1 − p)] auf Tests der Normalverteilung mit p(1 − p) σ → n (Ziehung mit Zurücklegen: Binomialverteilung) oder für n > 9/[p(1 − p)] und n/N < 0,1 auf Tests der Normalverteilung mit p(1 − p) N − n σ → n N−1 (Ziehung ohne Zurücklegen: hypergeometrische Verteilung) zurückgeführt werden.
30.10.18 Anpassungstests Anpassungstest, Verfahren zum Vergleich verschiedener Arten von Verteilungen; Verwendung, wenn nicht Parameter, sondern die Verteilungsform ermittelt werden soll. χ 2 -Anpassungstest, Verfahren zum Testen von Verteilungshypothesen mit der χ 2 -Funktion.
▲ Der χ 2 -Test ist nur für einen großen Stichprobenumfang n geeignet. Vorgehen: 1. Aufstellen der H0 -Hypothese: Annahme einer speziellen Verteilungsart (z. B. Normalverteilung) f (x; W ). Vorgabe des Signifikanzniveaus α . 2. Erstellen einer Häufigkeitstabelle Hi = H(Ki ) aus der Stichprobe: Die Klassen Ki sollen so definiert sein, dass die Häufigkeit jeder Klasse mindestens 10 beträgt. 3. Berechnung der Wahrscheinlichkeiten P(Ki ; W ) der Klassen Ki nach der vorgegebenen speziellen Verteilung f (x; W ): P(Ki ; W ) =
xi +∆ xi xi
f (x; W ) dx
xi und x + ∆ xi sind die Intervallgrenzen der Klasse Ki mit der Intervallbreite ∆ xi . 4. Abschätzung der Parameter W der vorgegebenen Wahrscheinlichkeitsverteilung P(Ki ; W ) mithilfe der ˜ werden durch das Minimum der χ 2 -Funktion Häufigkeitstabelle: Die Schätzwerte der Parameter W definiert k ˜ )]2 [Hi − nP(Ki ; W 2 χ =∑ = minW . ˜) nP(Ki ; W i=1
30.10 Stichproben-Analyseverfahren (Test- und Schätztheorie)
971
5. Berechnung der Prüfgröße: Die Prüfgröße ist gerade die χ 2 -Funktion, deren Wert bereits unter 4) berechnet wurde. 6. Anwendung der Entscheidungsvorschrift: Lehne H0 ab, wenn der Wert für χ 2 das Perzentil der Ordnung 1 − α der χ 2 -Verteilung überschreitet χ 2 > tχ ;k−1−l . ▲ Die Anzahl der einzusetzenden χ 2 -Freiheitsgrade ist k − 1 − l. k ist die Anzahl der Klassen und l die Anzahl der unter 4) abgeschätzten Parameter. Kolmogoroff-Smirnoff-Anpassungstest, Anpassungstest, bei dem die theoretische Verteilungsfunktion vollständig in allen Parametern bekannt sein muss. ▲ Sehr gut auch bei niedrigem Stichprobenumfang n. ▲ Nur anwendbar bei stetigen Verteilungen. Vorgehen: 1. Aufstellen der hypothetischen Verteilungsfunktion H0 : F = F(x; W ). Vorgabe des Signifikanzniveaus α . 2. Ordnung der Stichprobenvariablen nach ihrer Größe x1 ≤ x2 ≤ . . . ≤ xn und Bestimmung der empirischen Verteilungsfunktion Fn (x) 0, für x < x1 Fn (x) = i/n, für xi ≤ x < xi+1 1, für x ≥ xn 3. Berechnung der Prüfgröße: maximale absolute Differenz Dn = supx |F(x) − Fn (x)|. 4. Anwendung der Entscheidungsvorschrift: Lehne H0 ab, wenn Dn > Dα ;n . Die Grenzen Dα ;n sind in der folgenden Tabelle eingetragen. α \n
0,20 0,15 0,10 0,05 0,01 α \n
0,20 0,15 0,10 0,05 0,01
1 0,900 0,925 0,950 0,975 0,995
2 0,684 0,726 0,776 0,842 0,929
3 0,565 0,597 0,642 0,708 0,828
4 0,494 0,525 0,564 0,624 0,733
5 0,446 0,474 0,510 0,565 0,669
6 0,410 0,436 0,470 0,521 0,618
7 0,381 0,405 0,438 0,486 0,577
8 0,358 0,381 0,411 0,457 0,543
9 0,339 0,360 0,388 0,432 0,514
10 0,322 0,342 0,368 0,410 0,490
11 0,307 0,326 0,352 0,391 0,468
12 0,295 0,313 0,338 0,375 0,450
13 0,284 0,302 0,325 0,361 0,433
14 0,274 0,292 0,314 0,349 0,418
15 0,266 0,283 0,304 0,338 0,404
16 0,258 0,274 0,295 0,328 0,392
17 0,250 0,266 0,286 0,318 0,381
18 0,244 0,259 0,278 0,309 0,371
19 0,237 0,252 0,272 0,301 0,363
20 0,231 0,246 0,264 0,294 0,356
30.10.19 Anwendung: Annahmestichproben- und Ausschussprüfung Abschätzung der Ausfallrate und Entscheidung der Annahme oder Ablehnung des Prüfloses durch Entnahme von Stichproben anstelle einer 100 %-igen Prüfung. Hypergeometrische Verteilung, gibt die Wahrscheinlichkeit, mit der aus einer Gesamtmenge N unter n Stichproben k fehlerhafte Proben zu finden sind. pN N(1 − p) N PFehler (k; n,N,p) = / . k n−k n
972
30 Wahrscheinlichkeitsrechnung und mathematische Statistik
Ausschusszahl, Anzahl fehlerhafter Stücke (bekannt) = p · N. Schlechtanteil (Ausschuss) p, Anteil fehlerhafter Teile an der Gesamtmenge. ▲ Im Sinn eines Prüfverfahrens kann die Bedingung Ausschusszahl ≤ p · N als Hypothese und p als der Schätzparameter der Wahrscheinlichkeitsverteilung aufgefasst werden. Aussagesicherheit, Annahmewahrscheinlichkeit Pk , gibt die Wahrscheinlichkeit an, weniger oder genau k Fehlerproben zu finden (Wahrscheinlichkeitssumme): k
Pk = ∑ PFehler (i; n,N,p). i=1
▲ Mit der Wahrscheinlichkeit Pk ist es richtig, eine Sendung nicht anzunehmen, sobald die Anzahl der fehlerhaften Teile in der Stichprobe nFehler > k ist! ▲ Bei sehr großen Stückzahlen (N → ∞) kann auch die Poisson-Verteilung verwendet werden. AQL-Wert (Acceptable Quality Level), ein in Absprache zwischen Kunden und Hersteller festgesetzter Wert für Pk (gewöhnlich Pk (p) = 90 %), mit dem bei einer Stichprobenzahl n höchstens k Fehler zugelassen werden. ▲ Mit fallendem Schlechtanteil p der Gesamtmenge steigt natürlich die Annahmewahrscheinlichkeit. Der Hersteller wird versuchen, möglichst weit unter den zur Berechnung des AQL-Wertes verwendeten Ausschusswert p · N zu bleiben. ● Der AQL-Wert ist das Signifikanzniveau der Ausschussprüfung, siehe Prüfverfahren. Annahmekennlinie, Abbildung des Fehleranteils in der Gesamtmenge p = nFehler /N auf die Annahmewahrscheinlichkeit Pk bei vorgegebenem Stichprobenumfang n und maximaler Anzahl von Ausschussteilen k in der Stichprobe. ▲ Ist der AQL-Wert für Pk vorgegeben, lassen sich der notwendige Stichprobenumfang n und die maximal zulässige Anzahl der Ausschussteile nFehler an der jeweiligen Kennlinie ablesen. ■ Als Beispiel sind in dem folgenden Bild zwei Kennlinien zu einem Stichprobenumfang, aber unterschiedlichen Werten für die maximal erlaubte Anzahl fehlerhafter Elemente k1 und k2 aufgetragen. Pk 1 α AQL Annahmewahrscheinlichkeit
n konstant
k 2 >k 1
0.5
Fehleranteil in %
k1
1-α 1
30.11
2
3
4
5
6
7
p
Zuverlässigkeit
Zeitabhängige Ereignisse (z. B. radioaktiver Zerfall, Ausfall eines elektrischen Bauteils) können mit einigen speziellen Größen sinnvoll beschrieben werden. Lebensdauer, zeitlicher Abstand zwischen den Ausfällen von Objekten. Die Verteilung der Ausfälle in der Zeit kann rein zufällig sein (nichtalternde Objekte) oder z. B. durch äußere Einflüsse verändert werden (alternde Objekte).
30.11 Zuverlässigkeit
973
Nichtalternde Objekte, Objekte mit unendlicher Lebensdauer, deren Ausfall rein zufällig ist und einer Verteilung gehorchen, die auf einem rein kombinatorischen Zufallsprinzip beruhen (Urnenmodell, PoissonVerteilung, Exponentialverteilung). Sie unterliegen keinem Alterungsprozess, wie z. B. äußeren Abnutzungserscheinungen. ▲ Die Ausfälle nichtalternder Objekte sind in der Zeit poisson-verteilt. Die zeitlichen Abstände zwischen den Ausfällen gehorchen der Exponentialverteilung. ■ In guter Näherung sind elektronische Bauteile wie Widerstände, Kondensatoren, Integrierte Schaltkreise (mit den zulässigen Anwendungsbedingungen, d. h. keine übermäßige Belastung durch bspw. zu hohen Strom oder zu hohe Spannung) nichtalternde Objekte. ■ Auch in nichttechnischen Bereichen findet man Objekte mit unendlicher „Lebensdauer“. So ist z. B. die Infektion mit einer seltenen Krankheit in guter Näherung poisson-verteilt, die zeitlichen Abstände zwischen mehreren Infektionen gehorchen der Exponentialverteilung. Alternde Objekte, Objekte mit endlicher Lebensdauer, die einem Alterungsprozess gehorchen. Die Alterung kann den rein zufälligen Zerfallsprozess beeinflussen und ändert damit auch die Verteilung der Ausfälle (siehe Weibull-Verteilung). ▲ Der Ausfall alternder Objekte ist nicht mehr poisson-verteilt. Zur Beschreibung der zeitlichen Abstände zwischen den Ausfällen muss eine speziellere Form der Verteilung herangezogen werden. ■ Typische Beispiele für alternde Objekte sind Motoren, Reifen, Werkzeuge. ▲ Oft kann der zeitliche Abstand zwischen Ausfällen durch eine Überlagerung mehrerer Exponentialverteilungen beschrieben werden. ▲ Die Lebensdauer alternder Objekte kann unter Umständen durch die Weibull-Verteilung beschrieben werden. ▲ Exponential- und Weibull-Verteilung sind Spezialfälle der Zuverlässigkeit. Zuverlässigkeit Z(t), mittlere Anzahl der nach der Zeit t noch funktionierenden Teile N(t), relativ zur Ausgangsmenge N0 , allgemeiner Ansatz Z(t) =
t N(t) = e(− 0 λ (t ) d t ) N0
zur Beschreibung von Alterungsprozessen als Funktion der Zeit. Z(t) ist die Wahrscheinlichkeit dafür, dass ein Teil nach der Zeit t noch nicht ausgefallen ist. Ausfallwahrscheinlichkeit F(t), mittlere Zahl der nach der Zeit t ausgefallenen Teile N0 − N(t), relativ zur Ausgangsmenge N0 F(t) = 1 − Z(t). F(t) ist die Wahrscheinlichkeit dafür, dass ein Teil nach der Zeit t ausgefallen ist. Ausfalldichte , mittlere Zahl der Ausfälle pro Zeit zum Zeitpunkt t, relativ zur Ausgangsmenge N0 dF(t) dZ(t) =− = λ (t)Z(t). dt dt ▲ Das Integral über die Ausfalldichte ist gerade die Menge der Ausfälle relativ zur Ausgangsmenge N0
(t) = t
t
dZ(t ) dt = −(Z(t) − Z(0)) = 1 − Z(t) = F(t). 0 0 dt Ausfallrate, mittlere Zahl der Ausfälle pro Zeit, relativ zur Anzahl der noch funktionierenden Teile N(t)
(t ) dt = −
λ (t) = −
1 dN(t) 1 dZ(t) (t) =− = . N(t) dt Z(t) dt Z(t)
974
30 Wahrscheinlichkeitsrechnung und mathematische Statistik
Mittlere Zeit bis zum Ausfall (Mean Time To Failure, MTTF), MTTF =
∞ 0
Z(t) dt.
● Die Wahrscheinlichkeit, dass nach der Zeit t das Gesamtsystem noch funktioniert, ist gleich dem Produkt der Zuverlässigkeiten der Einzelsysteme Zgesamt = Z1 Z2 . . . Zn . Nichtalternde Objekte: λ gesamt = λ 1 + λ 2 + . . . + λ n .
● Eine Näherung für die Ausfallrate, vorausgesetzt die Rate λ und die Zeit t sind klein, ist die Anzahl der Ausfälle pro Ausgangsmenge und Betriebszeit Ausfälle 1 − N(t) = . N0 · t Anfangsmenge · Betriebszeit ● Für nichtalternde Objekte ist Z(t) die Exponentialverteilung (λ = const.) und die Ausfallzeit entsprechend 1/λ . Einige Ausfallraten (λ in Fit = Ausfall/109 h): λ ≈
Ausgleichskurve, Trendkurve, Regressionskurve y = f (x), gibt den Verlauf von Messwertpaaren (xi ,yi ) (zweidimensionalen Zufallsereignissen) näherungsweise wieder. Lösungsansatz f (x; a,b, . . .), parameterabhängiger Ansatz für die Ausgleichs- und Trendkurve.
f(x) 5
Kurvenparameter, Parameter des gewählten Ansatzes für die Ausgleichskurve.
4
Entwicklungsrichtung, Grundrichtung, Entwicklungstendenz, Trend, grobe Kategorisierung der funktionalen Entwicklung einer Reihe von Messwerten yi (xi ) nach Steigung (1. Ableitung) und Krümmung (2. Ableitung):
2
a) progressiv steigend (konkav) b) geradlinig steigend (linear) c) degressiv steigend (konvex) d) progressiv fallend (konkav) e) geradlinig fallend (linear) f) degressiv fallend (konvex)
y y y y y y
>0 >0 >0 <0 <0 <0
y y y y y y
>0 =0 <0 >0 =0 <0
3
1 0
0
1
2
3
x
30.12 Ausgleichsrechnung, Regression a)
f(x) 4 3 2 1 0
0 1 2 3 4
f(x)
x d)
4 3 2 1 0
0 1 2 3 4
x
b)
f(x) 4 3 2 1 0
0 1 2 3 4
f(x)
x e)
4 3 2 1 0
0 1 2 3 4
x
c)
f(x) 4 3 2 1 0
975
0 1 2 3 4
f(x)
x f)
4 3 2 1 0
x
0 1 2 3 4
▲ Man unterscheidet je nach Ansatz für die Trendfunktion Polynomiale Regression, Potenzregression und Exponentialregression. ▲ Die gebräuchlichsten Ansätze sind f(x) 4 3 2 1 0
0 1 2 3 4
f(x) 4 3 2 1 0
Zusammenhang y = ax + b y = ax2 + bx + c y = axb y = aebx y = a ln bx y = a/(1 + bx)
▲ Viele Ansätze sind auf eine lineare Form zu bringen. Den exponentiellen Ansatz y = aebx kann man z. B. in den linearen Fall y˜ = lny = lna + bx = a˜ + bx umwandeln. Führt man nun mit den Wertepaaren (lnyi ,xi ) eine lineare Regression durch, erhält man die Größen a, ˜ b und daraus die Parameter a = ea˜ , b. ▲ Bei der Ermittlung der mittleren Fehler der Parameter ist Vorsicht geboten. Ihre Bestimmung ist durch die Fehlerfortpflanzungsgesetze gegeben.
976
30 Wahrscheinlichkeitsrechnung und mathematische Statistik
30.12.1
Lineare Regression, Methode der kleinsten Quadrate
Lineare Regression, Ausgleichsrechnung mit dem Lösungsansatz einer ganzen rationalen Funktion 1. Ordnung (Ausgleichsgerade, Regressionsgerade) y := a0 + a1 x. Summe der Abstandsquadrate, summierte Quadrate der vertikalen Abstände ∆ := ∑ vi2 = ∑(yi − f (xi ))2 . i
Prinzip der kleinsten Quadrate, Gauß’sches Minimalprinzip, erlaubt die eindeutige Berechnung des besten Parametersatzes einer Näherungsfunktion für die Entwicklung von Messwerten bei vorgegebenem Ansatz für die Ausgleichskurve, die Summe der Abstandsquadrate ∆ ist für die optimale Näherung minimal ∂∆ = 0. ∂ai
f(x) 4 3 2 1 0
0
1
2
3
4 x
Parameter des Lösungsansatzes ai , Parameter der Regressionsfunktion. Normalgleichungen, Bestimmungsgleichungen für die Parameter ai eines Lösungsansatzes nach dem Gauß’schen Minimalprinzip ∂∆
ai
≡ 0, 1 ≤ i ≤ n, a1 , . . . ,an
Parameter des Lösungsansatzes.
Lineare Regressionskoeffizienten, Parameter der Ausgleichsgeraden, Lösung der Normalgleichungen für Ausgleichsgeraden N ∑ xi yi − ∑ xi ∑ yi i
a1 =
i
N∑
x2i
i
i
∑ xi yi − y¯ ∑ xi =
− (∑ xi )
2
i
∑i x2i
i
− x¯ ∑i xi
,
i
∑ x2i ∑ yi − ∑ xi yi ∑ xi a0 =
i
i
N∑
i
x2i
i
i 2
− (∑ xi )
= y¯ − a1 x. ¯
i
Mittlere Fehler der linearen Regressionskoeffizienten, 4 5 m(∆a1 ) = N · 5 6
N , 2 N ∑ xi − (∑ xi )2 i
i
4 5 5 5 m(∆a0 ) = N · 5 6N
∑ x2i ∑ i
i
x2i
− (∑ xi )2
.
i
Empirische Reststreuung (Covariance), Maß für die Güte der gewählten Ausgleichsgeraden 2 N σ 1 N − 1 xy σ 2f (x) = ∑(yi − f (xi ))2 = N − 2 σ y2 − σ x2 . N − 1 i=1 Vertikaler Abstand, Differenz des Funktionswertes der Ausgleichskurve y(xi ) = f (xi ) zum Messwert yi (xi ) vi = yi − f (xi ).
30.12 Ausgleichsrechnung, Regression
977
▲ Programmsequenz zur multidimensionalen linearen Regression von n Datenpunkten (xi ,yi ) in dimen Dimensionen. Ausgegeben wird eine (dimen + 1) × (dimen + 1)-Matrix A und ein (dimen + 1)-dimensionaler Vektorc. Die Regressionskoeffizienten ri ergeben sich dann als Lösung des Gleichungssystems Ar =c. BEGIN Multidimensionale lineare Regression INPUT n, dimen INPUT x[i,k], i=1..dimen, k=1..n INPUT y[i], i=1..n x[0,i]:= 1, i=1..n FOR i = 1 TO dimen+1 DO FOR j = 1 TO i DO sum:= 0 FOR l = 1 TO n DO sum:= sum + x[i-1,l]*x[j-1,l] ENDDO a[i,j]:= sum a[j,i]:= sum ENDDO sum:= 0 FOR l = 1 TO n DO sum:= sum + y[l]*x[i-1,l] ENDDO c[i]:= sum ENDDO OUTPUT a[i,k], i=1..dimen+1, k=1..dimen+1 OUTPUT c[i], i=1..dimen+1 END Multidimensionale lineare Regression
30.12.2
Regression n-ter Ordnung
Ausgleichsparabel n-ter Ordnung, ganze rationale Funktion n-ter Ordnung mit den Koeffizienten a0 , . . . ,an als Parameter n
f (x) = ∑ ai xi . i=0
Normalgleichungssystem für Näherungsfunktion n-ter Ordnung, + a2 ∑ xk+2 + . . . + an ∑ xk+n ∑ yi xki = a0 ∑ xki + a1 ∑ xk+1 i i i i
i
i
i
i
k = 0, . . . ,n, xi ,yi bekannt, ai unbekannt. ▲ Eindeutigkeit der Minimierung, das Normalgleichungssystem der Regression besitzt nur genau dann eine Lösung, wenn die Koeffizientendeterminante nicht verschwindet. ▲ Programmsequenz zur polynomialen Regression von n Datenpunkten (xi ,yi ). Ausgegeben wird eine (dimen + 1) × (dimen + 1)-Matrix A und ein (dimen + 1)-dimensionaler Vektor c. Die Regressionskoeffizienten ri ergeben sich dann als Lösung des Gleichungssystems Ar =c. BEGIN Polynomiale Regression
978
30 Wahrscheinlichkeitsrechnung und mathematische Statistik
INPUT INPUT INPUT INPUT FOR i
n order (Ordung des Polynoms) x[i], i=1..n y[i], i=1..n = 1 TO order+1 DO
FOR j = 1 TO i DO k:= i + j - 2 sum:= 0 FOR l = 1 TO n DO sum:= sum + potenz(x[l],k) ENDDO a[i,j]:= sum a[j,i]:= sum ENDDO sum:= 0 FOR l = 1 TO n DO sum:= sum + y[l]*potenz(x[l],(i-1)) ENDDO c[i]:= sum ENDDO OUTPUT a[i,k], i=1..order+1, k=1..order+1 OUTPUT c[i], i=1..order+1 END Polynomiale Regression
Hypertext Markup Language 31, 219, 350 Transfer Protocol 31 Hyperwürfel 230 Hypothese über m, σ 2 bekannt 968 über m, σ 2 unbekannt 969 über σ 2 der Normalverteilung 969
I IDEA 353 Idempotenzgesetz 480, 592 Identifikator 206 identische Abbildung 217, 554 Identitätssatz 635 IDS 358 IEEE-Standard 482 IEF 332 IF 65, 80 -ELSE 80 imaginäre Achse 764 Einheit 492, 763 Zahl 763, 764 Imaginärteil 763 IMAP 37 Immunisierung mit Duration 394 implements 97 Implikant 599 implizite Darstellung einer Funktion 637 Form 833 implizite do-Schleifen 121 Impuls-Term 907 Imputationsmenge 454 IMS 204 In 302 include 73 Index 77, 204 -modelle 387, 388 -Tracking 390 -überschreitung 542 Indexierer 213 Indexierung, manuelle 215 Individualentwicklung 142 Individualsoftware eigenentwickelte 13 fremdbezogene 13 Individuen 185