Algorithmische Diskrete Mathematik

Größe: px
Ab Seite anzeigen:

Download "Algorithmische Diskrete Mathematik"

Transkript

1 Algorithmiche Dikrete Mathematik Skript zr Vorleng im Sommeremeter 00 Letzte Änderng:. Jli 00 Ulf Lorenz, Lea Rach, Thorten Ederer, Thoma Opfer

2 Inhalterzeichni Vorwort Einführng. Anwendngbeipiel: Optimierng in der Flgindtrie Algorithmiche Beipiele: Da Maxmmenproblem Komplexitättheorie. Aymptotiche Notation Kodierngchemata Algorithmen Effizienzmaße Komplexitätklaen Die Klaen P, NP, PSPACE Abhängigkeiten der Klaen Einordnng on Problemen Algorithmen af Graphen 3. Grndlagen z Graphen Kodierng on Graphen Spezielle Graphen Beipiele für Problemtellngen Graphenche Depth-Firt Search (DFS) Algorithm Breadth-Firt Search (BFS) Algorithm Kürzete Wege Dijktra Algorithm Bellman-Ford Algorithm Spannbäme Minimal Spanning Tree (MST) Algorithm Algorithm on Prim Maximale Flüe Ford Flkeron Algorithm Traeling Saleman Sortieren in Array 0. Inertion Sort Merge Sort Heap Sort Qick Sort Bcket Sort Lafzeitergleich Diee Skript über Algorithmiche Dikrete Mathematik enteht im Verlaf der gleichnamigen Verantaltng on PD Dr. Ulf Lorenz an der Technichen Unierität Darmtadt im Sommeremeter 00 mit tatkräftiger Untertützng der Stdenten. Obwohl bereit iele teil gte Skripte z dieem Themengebiet exitieren, haben wir n entchieden den Stoff noch einmal afzbereiten nd eigene Schwerpnkte z etzen. Wir hoffen, da die Anlehnng an den Folienatz der Verantaltng die Stdenten bei der Vorlengnachbereitng nd Klarorbereitng ntertützt. Die aktelle Verion de Skripte können Sie on der zgehörigen Verantaltngeite (iehe hernterladen. Sollten Sie Fehler finden oder Verbeerngorchläge haben, teilen Sie n diee bitte per (lorenz@mathematik.t-darmtadt.de) mit. Al weiterführende Literatr kann eine Vielzahl on Büchern über dikrete Mathematik oder Algorithmen herangezogen werden. Beipielhaft eien da chlanke detche Lehrbch Dikrete Mathematik [] oder da größere engliche Werk Introdction to algorithm [] genannt, die ich inhaltlich gt al Vorlengergänzng eignen. Literatrerzeichni [] M. Aigner, Dikrete Mathematik, Vieweg+Tebner Verlag, 00 [] T. H. Cormen, C. E. Leieron, R. L. Riet, Introdction to algorithm, The MIT pre, 00 [3] S. Grothklag, U. Lorenz, B. Monien, From State-of-the-Art Static Fleet Aignment to Flexible Stochatic Planning of the Ftre, Springer-Verlag Berlin Heidelberg 00

3 Einführng, gte Verbindngen Kapitel Einführng Einführng, gte Verbindngen Einführng, gte Verbindngen Die dikrete Mathematik al Teilgebiet der Mathematik befat ich orwiegend mit mathematichen Operationen über endlichen oder zmindet abzählbar nendlichen Mengen. Im Gegenatz z anderen Gebieten wie der Analyi, die ich mit kontinierlichen Fnktionen oder Kren über nicht abzählbaren, nendlichen Mengen bechäftigt, beitzen die in der dikreten Mathematik behandelten Objekte für gewöhnlich keine Stetigkeiteigenchaften. Wa kann man mit endlichen Mengen anfangen? Man kann ie zmindet mal abzählen. Oft it ach eine einfache Strktr in Form on Relationen af dieen endlichen Mengen gegeben. Af diee Weie enttehen z.b. die o genannten Graphen, die ach in dieem Skript eine tragende Rolle pielen. An der TU Darmtadt it die Algorithmiche Dikrete Mathematik zdem eine Vorläfererantaltng zr Vertiefng in der Optimierng. Wa in graer Vorzeit al Kombinatorik begann nd or ca. 0 Jahren in die dikrete Mathematik mündete, war der Gedanke, da e manchmal nicht genügt z einem kombinatorichen Problem eine theoretiche Löng z finden, ondern da e ach wichtig it, kontrktie nd chnelle Algorithmen zr Verfügng z haben, die die Löng liefern. Die einfache Vertädlichkeit on Problemtellngen nd Lönganätzen, owie die Entwicklng moderner Compter haben daz beigetragen, da die dikrete Mathematik ehr erfolgreich Einzg in iele Anwendngfelder gefnden hat. Beipiele ind die Sche eine Naigationytem nach einer gten Verbindng (Abbildng.), die optimale Rotenplanng in einem Ganetzwerk oder der koteneffiziente Betrieb eine Flgerkehrnetze. Ach wenn die Problemtellngen einfach ercheinen, tellt da Affinden on geeigneten Löngerfahren eine ehr anprcholle Afgabe dar. Ein o genannter Graph it eine abtrakte Dartellng einer Menge on Objekten, die paarweie erbnden ein können. Wir werden die Begrifflichkeiten päter natürlich noch formal fetziehen. Da Beipiel zeigt eine Straßenkarte, die für einen Compter nr chwer z analyieren it, da ie znächt interpretiert werden m. Ein Mench chat draf nd e it ihm chnell klar, wo ein Startpnkt, nd ein Ziel it, nd wie er ich einen Weg om Start zm Ziel chen kann. Ein Compter kann da znächt nicht. Er ieht nr farbige Pnkte. Um e ach einem Compter z ermöglichen, n die chnellten Wege on einem gegebenen Startpnkt z einem ebenfall orgegebenen Ziel z berechnen, it e nötig die Karte z abtrahieren nd die releanten Informationen dieer Karte, nämlich der Zammenhang on Straßen nd Krezngen, herazfiltern. Man ieht nn ein paar dicke Pnkte, die die Krezngen dartellen, owie Linien, die Straßenzüge zwichen Krezngen repräentieren. Bezeichnen wir nn die Krezngen al Knoten nd die Straßenzüge al Kanten nd ergeen wir, da Straßen nd Krezngen gra ind, aphaltiert ind..w., haben wir e nr noch mit einem mathematichen, ehr einfachen Gebilde z tn, dem Graphen. Einem Compter beizbringen, wie er kürzete Wege für n in einem Graphen findet, da werden wir ihm im Verlaf der Vorleng noch beibringen. Straßenkarte! Graph; Problem: finde kürzeten Weg zwichen Markierngen Der Graph könnte ach ein Ganetzwerk dartellen; Problem dann z.b.: Wie.:Ga Bilderfolge zr Ertellng eine Graphen erteilt man amabbildng güntigten da on Einpeieknoten an Verbracher? a einer Straßenkarte. Diee einführende Kapitel it in zwei Abchnitte gegliedert. Im erten Teil wird ein Optimierngproblem a der Indtrie präentiert. E oll in erter Linie al Einblick in diee Themengebiet dienen. Die mathematichen Methoden werden dabei nr angechnitten nd können in den Vorlengen Optimierng bi 3 ertieft werden. Im zweiten Teil werden erte Algorithmen am Beipiel eine einfachen dikreten Problem orgetellt, für da nr grndlegende Analyikenntnie erforderlich ind.. Anwendngbeipiel: Optimierng in der Flgindtrie Die Flgindtrie it ein Wirtchaftzweig, für den mathematiche Methoden der dikreten Mathematik nd inbeondere der Optimierng nerlälich geworden ind. Die Planng on international operierenden Unternehmen kann nicht mehr allein drch Erfahrng nd Expertenwien gemeitert werden, da chon die Problembechreibngen z groß werden m für Menchen olltändig erfabar z ein. Apekte wie die Flgplanng, Marktanalye, Peronalerwaltng owie Netzwerkdeign nd -kontrolle werden hetztage modelliert nd comptergetützt agewertet. Im folgenden wird ein Flottenzweingproblem orgetellt, wie e ähnlich ach wirklich erwendet wird. Diee Teilkapitel oll zm einen daz dienen, z zeigen wie wichtig Gechwindigkeit bei Berechnngen it nd wie man ie bekommt. Zm anderen it da Beipiel ehr detailliert dargetellt, m ach dem ngeübten Leer einfach mal einen iellen Eindrck z geben, wie ein an die Realität angelehnte mathematiche Optimierngmodell am Ende aieht. E wird nicht erwartet, da die Formalien ertanden werden, denn die it hier gar nicht nötig. E reicht, den Fließtext z leen.. Anwendngbeipiel: Optimierng in der Flgindtrie 3

4 Da Problem der Flottenzweing [3] it, bei gegebenem Flgplan für die erfügbaren Flgzege z entcheiden, welcher Flgzegtyp welcher Flgtrecke zgeteilt wird. Ziel it a Sicht der Flggeellchaft die Gewinnmaximierng. Dabei müen erchiedene notwendige Bedingngen eingehalten werden. Beipielweie it die Anzahl der Flgzege bechränkt, ie haben eine betimmte Paagierkapazität nd einen nterchiedlichen Treibtofferbrach. Um mit Compterntertützng den Firmengewinn z maximieren, it e in ielen Fällen nbedingt erforderlich, ach die chnellten nd beten Algorithmen bei den Berechnngen einzetzen. Da liegt zm einen daran, da chnellere Verfahren eine größere Detailgenaigkeit bei der Prozeoptimierng zlaen, zm anderen aber ach daran, da ich die erchiedenen Firmen in Konkrrenz zeinander befinden. Wenn eine Planng bzw. eine ad-hoc-umplanng nach einer Störng z lange daert, kann da daz führen, da ich potentielle Knden an Konkrrenten wenden. Für die mittelfritige Planng wird typicherweie ein zyklicher Zeitabchnitt (z.b. eine Woche) betrachtet nd drch ein ogenannte Time-Space-Netzwerk (Abbildng.) modelliert. Die Abbildng zeigt drei erchiedene Flghäfen (AAA, BBB nd CCC), af denen erchiedene Ereignie im Lafe der Zeit tattfinden. Die Zeit ergeht in der Graphik on link nach recht. Ein Pfeil, der Knoten erchiedener Zeitleiten erbindet, it dann die Dartellng eine Flge (af einer orgeehenen Flgtrecke) nd ein Pfeil zwichen zwei Knoten derelben Zeitleite repräentiert eine o genannte Bodenkante. In dieer Zeit befindet ich ein Flgzeg am Boden. Die erte Modellierng, die wir zr Bechreibng nere Problem heranziehen it alo wiederm ein Graph, deen Knoten die Abreie- nd Anknftereignie nd deen Kanten die Flüge repräentieren. Man pricht in dieem Fall on einem gerichteten Graphen, da für jede Kante der Startpnkt om Endpnkt nterchieden wird. Die mathematiche Optimierng ntzt olche Graphmodelle gerne al Grndmodelle nd Agangpnkt für mathematiche Optimierngmodelle. Um ein mathematiche Optimierngproblem z formlieren, werden im nächten Schritt Parameter de Modell betimmt, owie Bedingngen, From State-of-the-Art die da Modell Static einhalten Fleet Aignment m, o genannte to Flexible Nebenbedingngen, Stochatic Planning daz eine Ziel- fnktion, die n hilft gte on chlechten Löngen z ntercheiden nd eine Menge on Variablen, in denen wir am Ende der Berechnngen nere Löng ableen können. tation AAA BBB CCC flight arc (leg) grond arc flight eent * * + Fig.. Time Space Network Abbildng.: Diagramm eine Ramzeit-Netzwerk. [3] z, N f f F () Einführng Vf y l,f {0, } l L,f F l (0) Die Eingabedaten/Parameter de Problem ollen wie folgt bezeichnet werden: Menge der erfügbaren Flotten N f Anzahl der erfügbaren Flgzege in Flotte f Menge der Flgtrecken (Flgplan) l Menge der Flotten, die af Flgtrecke l, l eingeetzt werden können dep l Abgang-Flghafen on Flgtrecke l arr l Anknft-Flghafen on Flgtrecke l t dep l, f Abflg-Zeitpnkt für Flgtrecke l, wenn dort Flotte f l eingeetzt wird t arr l, f Lande-Zeitpnkt für Flgtrecke l, wenn dort Flotte f l eingeetzt wird Profit on Flgtrecke l, wenn dort Flotte f l eingeetzt wird p l, f g(k, l, f ) Minimale Bodenzeit am Flghafen arr, wenn ein Flgzeg der Flotte f k zwichen den Flgtrecken k nd l krz Halt macht; dann gilt arr k = dep l Um da Verbindng-Netzwerk z modellieren, definiert man die Mengen der zläigen Anchl-Flgtrecken C l, f (bzw. Vorgänger-Flgtrecken C ) für ein Flgzeg der Flotte l, f f, da die Flgtrecke l hinter ich (bzw. or ich) hat: C l, f = k f k, arr l = dep, t arr k l, f + g(l, k, f ) t dep { } k, f C l, f = k f k, arr k = dep, t arr l k, f + g(k, l, f ) t dep { } l, f A dem Modell wird ein ogenannte gemicht-ganzzahlige lineare Programm ertellt. Ziel it e, Entcheidngariablen (die dikrete oder kontinierliche Werte annehmen dürfen) o z betimmen, da eine Kotenfnktion (allgemein Zielfnktion) nter Einhaltng erchiedener Nebenbedingngen ( bject to ) ein Extremm ( maximize ) annimmt. Ein Programm für da Flottenzweingproblem kann beipielweie o aehen: maximize bject to k C l,f p k, f k f k l C k,f x k,l, f x k,l, f = k f k l C k,f x k,l, f x l,m, f = 0 l, f l m C l,f x,l, f N f f l x k,l, f {0, } k, f k, l C k, f Ein olche Programm kann al der (tark) erallgemeinerte Fall der Sche nach der Extremtelle einer Kotenfnktion ertanden werden, wie man e in der elften Klae lernt.. Anwendngbeipiel: Optimierng in der Flgindtrie

5 Um da Time-Space-Netzwerk z modellieren, wird folgende Notation ereinbart: Menge aller Flgereignie dep = (t dep, dep, f ); Flgereigni, da dem Abflg on Flgtrecke l l, f l, f l entpricht, wenn dort Flotte f eingeetzt wird ar r = (t ar r, ar r, f ); Flgereigni, da der Landng on Flgtrecke l l, f l, f l entpricht, wenn dort Flotte f eingeetzt wird + f Nachfolgende Flgereigni am gleichen Flghafen nd on der gleichen Flotte; fall da letzte Flgereigni it Vorangehende Flgereigni am gleichen Flghafen nd on der gleichen Flotte; fall da letzte Flgereigni it Menge der Flgereignie on Flotte f die kein Vorgänger-Flgereigni haben Ein Programm zr Optimierng der Flottenzweing af dem Ramzeit-Netzwerk it dann: ar r = l, f y l, f maximize bject to dep = l, f l f l p l, f y l, f f l y l, f = l y l, f + z, z, + = 0 z, N f f f y l, f {0, } l, f l z, + 0 z, 0 Die Zielfnktionkoeffizienten c f i bechreiben die Koten de Flge i mit Flotte f nd die Zielfnktion damit die Geamtkoten. Man kann hier ehr chön da Ween einer Nebenbedingng ehen: Die erte Nebenbedingng fordert, da jeder Flg on gena einer Flotte übernommen wird. Die zweite Retriktion bechreibt die Flerhaltng in jedem Knoten: e müen genaoiele Flgzege den Flghafen erlaen, wie dort ankommen. Die dritte Bedingng fordert, da Anchlflüge on der gleichen Flotte übernommen werden. Die ierte Bedingng ichert, da höchten oiele Flgzege eine Typ nterweg ind, wie ach exitieren. Ein mathematiche Gebilde, wie wir e hier dargetellt haben, nennt man ach ein mathematiche Programm. Die Größe eine Programm wird drch die Anzahl der Variablen nd Nebenbedingngen charakteriiert. Eine realitiche Intanz de orgetellten Modell hat beipielweie Flüge Flotten Variablen nd Flüge Flotten Retriktionen. Hetztage dominieren mathematiche Methoden ach die Löngfindng, aber wegen der Größe konnte diee Problem noch or wenigen Jahren nicht exakt gelöt werden. Daher kamen Näherngerfahren zm Einatz. Sie baieren zm Beipiel af o gennanter lokaler Sche. Dabei wird eine gegebene zläige Löng de Problem drch leichte Abänderng chrittweie erbeert, bi ein (möglicherweie nr lokale) Optimm erreicht it. Man nimmt alo bewt in Kaf, die bete Löng nicht z finden, m den Rechenafwand in Grenzen z halten. Bei heritichen Anätzen weiß man im ora oft nicht einmal, ob überhapt eine zfriedentellende Löng gefnden werden kann. In der Praxi erweien ie ich allerding oft al ertanlich erfolgreich. Ein Beipiel für ein heritiche Optimierngerfahren it da Simlated Annealing: Generiere initiale Löng Wahrcheinlichkeit P = P0 do do Generiere eine lokal benachbarte Löng Akzeptiere eine Verchlechterng mit Wahrcheinlichkeit P ntil Abbrchkriterim P = Update(P) ntil Frozen Obwohl die Herangehenweie öllig erchieden it, zeigen exakte Verfahren nd Heritiken für erchiedene Problemgrößen ergleichbar gte Ergebnie (Abbildng.3). Während die Löngqalität eine exakten Verfahren nicht z überbieten it, findet man mit Heritiken manchmal beinahe o gte Ergebnie in erheblich kürzerer Zeit. Da die Leitng on Comptern (obwohl ie in den letzten Jahrzehnten enorm zgenommen hat) bechränkt it, m man andere Wege finden m Berechnngen z bechlenigen. Ein ehr intitier Zgang it die Paralleliierng on Algorithmen, d.h. die gleichzeitige Bearbeitng on Teilproblemen af mehreren Prozeoren oder Comptern. Bei genaerer Betrachtng ergeben ich jedoch einige Probleme. Viele algorithmiche Anätze ind prinzipiell nicht paralleliierbar, im einfachten Fall weil Zwichenergebnie in die weitere Berechnng eingehen. Ach wenn ein Algorithm prinzipiell in kleinere Häppchen zerteilt werden kann, die parallel erarbeitet werden können, kann die Implementierng ehr kompliziert ein. Beipielweie m man ich über eine gte Zerlegng de Problem nd über die Synchroniation der Prozee Gedanken machen. Unter Umtänden kann ein paralleler Algorithm ach chlecht kalieren, d.h. eine Verdopplng der Hardware kann tatt einer 0-prozentigen Senkng der Lafzeit nr eine 0-prozentige Senkng, oder gar ein Eröhng der Lafzeit zr Löngfindng zr Folge haben. Trotz dieer Schwierigkeiten it Parallelität ein entcheidende Ziel bei der Entwicklng nd Implementierng on Algorithmen, da ich beeindrckende Lafzeiterbeerngen erzielen laen (Abbildng.). Einführng. Anwendngbeipiel: Optimierng in der Flgindtrie

6 Ergebnie fürfleet Aignment Parallele Simlated Annealing Verfahren H C S A MIP!-Löngqalität,%,% >,% Abbildng.3: Diagramm zm Vergleich erchiedener Optimierngerfahren. Ein exakte Optimierngerfahren (MIP: mixed integer program) wird mit zwei heritichen Verfahren baierend af lokaler Sche (SA: imlated annealing, HC: hill climbing) für erchiedene Problemgrößen erglichen. SA nd MIP weien eine ehr hohe Löngqalität af. Ihre Lafzeit war bei großen Problemen ergleichbar nd bei kleinen Problemen gewann die Heritik. HC zeigt bei allen Problemgrößen die kürzete Lafzeit, findet aber ach die chlechteten Löngen. Abbildng.: Diagramm zr Lafzeiterbeerng drch Paralleliierng. Paralleliierng meint da gleichzeitige Aführen on Teilafgaben zr Löngfindng af mehreren Comptern, Prozeoren oder Prozeorkernen. Inbeondere drch den letzte Pnkt it in den ergangenen Jahren drch da Afkommen on Mehrkernprozeoren die Paralleliierbarkeit on Algorithmen releant geworden. Die Grafik zeigt die erzielte Qalität eine Ergebnie afgetragen über der Rechenzeit (beide in willkürlichen Einheiten) für erchiedene Prozeoranzahlen im Vergleich. Offenbar kaliert dieer Algorithm gt, oda eine Verdopplng der Prozeorzahl jeweil eine nennenwerte Leitngteigerng bewirkt. Paralleliierng ermöglicht e dem Ntzer (ofern er über entprechende Finanzen erfügt), chnell beere Ergebnie z erhalten. Einführng. Anwendngbeipiel: Optimierng in der Flgindtrie

7 . Algorithmiche Beipiele: Da Maxmmenproblem Al erte Beipielproblem, m z zeigen, wie ehr e ich lohnt, ich af die Sche nach gten Algorithmen z machen, oll da Maxmmenproblem dienen: Definition.. Sei a[.. n] ein Array ganzer Zahlen nd f (i, j) = a i + + a j eine Teilmme a dieem Array. Die größte Teilmme max { f (i, j) i j n } heißt Maxmme nd ihre Berechnng heißt Maxmmenproblem. Trotz einer einfachen Formlierng laen ich daran gt algorithmiche Anätze ergleichen. Der Reorcenerbrach eine Algorithm oll in dieem Beipiel ereinfacht drch die Anzahl der benötigten Vergleiche V (n) nd die Anzahl der benötigten Additionen A(n) charakteriiert werden. Die Smme der Additionen nd Vergleiche oll Lafzeit T(n) = A(n) + V (n) heißen. Nachfolgend werden ier Algorithmen zm Löen de Maxmmenproblem orgetellt. Ein intereierter Leer kann ich an dieer Stelle krz im Kopf die Maxmme der beiden Liten a = ( 3,,, ) nd a = ( 0,,,, 3,,, ) arechnen nd päter überlegen, welchen der orgetellten Algorithmen er dabei erwendet hat. Der naie Algorithm Der naie Anatz it, znächt alle Elemente f (i, j) der Menge azwerten nd anchließend da Maximm dieer Elemente z chen. Die Berechnng wird an folgendem Beipiel detlich: Tabelle.: Awertng de naien Algorithm am Beipiel a = ( 3,,, ) f (, ) = 3 f (, ) = 3 f (, 3) = 3 + f (, ) = 3 + f (, ) = f (, 3) = + f (, ) = + f (3, 3) = f (3, ) = f (, ) = Für die Awertng jede Eintrag wird eine Smme a Einträgen der erten Spalte gebildet. Jede Berechnng eine f (i, j) erfordert j i Operationen. A den Ergebnien kann man mit folgendem Pedocode da größte Element finden: maxm := f (,) for i := to n do for j := i to n do fall f (i,j) > maxm maxm := f (i,j) Dabei peichert maxm da aktelle Maximm der erglichenen Einträge nd f(i,j) berechnet die Teilmmen. Die Schleifenariablen lafen anchalich eine dreieckige Fläche ab, die gerade den Einträgen der Beipieltabelle entpricht. It da aktelle Element größer al da aktelle Maximm, wird e al nee Maximm behalten. 0 Einführng Die Anzahl der benötigten Additionen ergibt ich al Smme der benötigten Rechenchritte aller Tabelleneinträge: A (n) = n i= n (j i) = j=i n n i i= k= k = n i= (n i) (n i + ) = n3 n Im erten Schritt wrde die Variable btitiert. In den daraffolgenden Schritten wrden die Smmenformeln für a a nd a a angewandt. Die Berechnng de Maximm betimmt die Anzahl der benötigten Vergleiche: n n n V (n) = + + = + i = + n (n + ) = n + n i= Um da Maximm on L Tabelleneinträgen z betimmen, benötigt man L Vergleiche. Diee Beziehng lät ich kombinatorich oder analytich einehen. Im erten Fall berechnet man, af wie iele Möglichkeiten man Anfang nd Ende der Teilmme af da Array erteilen kann (nämlich n n +, nterteilt nach Anfang nd Ende erchieden oder gleich), im zweiten Fall n mmiert man die Vergleiche für Teilmmen der Länge,,..., n ( = i). Die Lafzeit de naien Algorithm ergibt ich omit z: Der normale Algorithm T (n) = V (n) + A (n) = n3 + n + 3 n Wenn man die Awertngen de naien Algorithm betrachtet, fällt af, da ich die meiten Berechnngen wiederholen. Bei genaerer Betrachtng der Tabelle erkennt man, da ein f (i, j + ) nicht immer ne afmmiert werden m, ondern al f (i, j) + a j+ berechnet werden kann. Eine Umgetaltng der Tabelle hebt dieen Zammenhang heror: Tabelle.: Awertng de normalen Algorithm am Beipiel a = ( 3,,, ) f (, ) = a = 3 f (, ) = f (, ) f (, 3) = f (, ) + f (, ) = f (, 3) f (, ) = a = f (, 3) = f (, ) + f (, ) = f (, 3) i= f (3, 3) = a 3 = f (3, ) = f (3, 3) f (, ) = a = Die Zeilen laen ich nn triial on link nach recht awerten. Daz m man lediglich da alte Ergebni weitererwenden nd den letzten Eintrag in der aktellen Spalte bzw. den entprechenden Eintrag de Array nachchaen.. Algorithmiche Beipiele: Da Maxmmenproblem

8 Der Pedocode de normalen Algorithm ieht wie folgt a: maxm := f (,) for i := to n do fij := 0 for j := i to n do fij := fij + a[j] fall fij > maxm maxm := fij Al Änderng zm naien Algorithm wrde die temporäre Variable fij eingeführt, die beim Drchlafen einer Tabellenzeile mit den Array-Einträgen zammengezählt wird. Somit entfallen die rprünglichen Awertngen on f (i, j) in der inneren Schleife. Da Maximm der agewerteten Einträge findet man analog zm erten Algorithm, daher bleibt V (n) nerändert. Für die Awertng jede f (i, j) mit j > i it aber nr noch eine tatt j i Additionen erforderlich: A (n) = n n (i ) = n + i = n n i= Dara ergibt ich folgende Lafzeit für den normalen Algorithm: Der diide & conqer Algorithm i= T (n) = V (n) + A(n) = n Der diide & conqer Algorithm erfolgt einen anderen Anatz. Die biher betrachteten Algorithmen ind implizit daon agegangen, da man alle f (i, j) awerten nd nach dem größten Ergebni chen m. Diee Vermtng tellt ich al falch hera: Man kann da größte f (i, j) finden, ohne jemal alle f (i, j) explizit agerechnet z haben. Die Idee hinter diide & conqer Algorithmen beteht darin, da Originalproblem in Teilprobleme z zerlegen (diide), die ich in der Regel leichter löen laen, nd die Geamtlöng anchließend a den Teillöngen zammenzetzen (conqer). Zr Vereinfachng der Analye wird im Folgenden angenommen, da die Eingabelänge eine Zweierpotenz n = k it. (Die Erweiterng af beliebige Eingaben it nicht chwer. Man kann die Eingabelänge küntlich erweitern oder mit Fallntercheidngen arbeiten.) Zr Zerlegng de Problem definieren wir drei Hilfmengen: σ(l, r) := max f (i, j) l i j r (l, r) := max f (i, r) l i r (l, r) := max f (l, j) l j r Die Fnktion σ(l, r) mit zwei ariablen Indize it die rprüngliche Definition der Maxmme zwichen den Elementen a l nd a r. Die Fnktionen (l, r) nd (l, r) haben jeweil nr einen ariablen Index nd tellen da Maximm on Teilmmen bi z bzw. ab einem betimmten Element dar. Sie ollen linkgerichtete Maxmme nd rechtgerichtete Maxmme heißen. Einführng Der entcheidende Schritt it nn, z erkennen, da da Maxmmenproblem in drei Teilprobleme zerlegt werden kann: σ(, n) = max σ(, n ), σ(n +, n), + Diee Zerlegng it möglich, da die Menge der Index-Paare (i, j) damit partitioniert wird, d.h. man zerlegt ie in dijnkte Teilmengen, deren Vereinigng wieder die Geamtmenge ergibt. Anchalich gibt e nr drei Möglichkeiten, wie die maximale Teilmme bezüglich der Array- Mitte bechaffen ein kann: () ie beginnt nd endet in der linken Hälfte, () ie beginnt in der linken nd endet in der rechten Hälfte, (3) ie beginnt nd endet in der rechten Hälfte. E führt alo zm Ziel, die maximalen Teilmmen dieer drei Klaen on Teilmmen z betimmen nd die größte azwählen. Am Beipiel a = ( 0,,,, 3,,, ) wird die Zerlegng orgeführt. Man teilt die Lite in der Mitte nd berechnet af den Hälften die Maxmmen σ(, ) = nd σ(, ) =. Hat man nn ein chnelle Verfahren, m die beiden maximalen Teilmmen der linken nd der rechten Hälfte azrechnen, lät ich ach die maximale Teilmme der geamten Folge chnell berechnen. Man m lediglich noch af der linken Hälfte die linkgerichtete Maxmme (, ) = 0 nd af der rechten Hälfte die rechtgerichtete Maxmme (, ) = berechnen. Diee beiden Berechnngen gehen ehr chnell. Die Behaptng it, da die ganze Maxmme ich dann al σ(, ) = max {,, 0 + } = berechnen lät. Der diide & conqer Algorithm wendet diee Zerlegng rekri an, d.h. er wendet die Zerlegng für die Berechnng der Maxmmen der beiden Hälfen ernet an, af die Viertel wieder, nd o weiter. Die gechachtelte Zerlegng hört af, wenn die Teilprobleme leicht geng geworden ind, alo wenn nr noch Maxmmen on ein-elementigen Teilarray gebildet werden. Somit findet im ganzen Algorithm keine echte Berechnng einer Maxmme mehr tatt, ondern e werden nr noch gerichtete Maxmmen berechnet nd nach obiger Rekrionformel z neen Teilergebnien zammengeetzt, bi da Geamtergebni orliegt. Der Ablaf de Algorithm it chematich in Abbildng. dargetellt. Der Pedocode hat dementprechend folgende Form: igma (l,r): fall l == r Gib a[l] a. ont igma := igma (l, (l+r)/) igma := igma ((l+r)/+, r) _ := (l, (l+r)/) + ((l+r)/+, r) maxm := max (igma, igma, _) Gib maxm a. Die rekrie Fnktion igma(l,r) prüft, ob ie af einer ein-elementigen Menge afgerfen wird. It da der Fall, liefert ie al Ergebni den entprechenden Eintrag de Array zrück. It da nicht der Fall, zerlegt ie da Problem in die beprochenen Teilprobleme, wobei ie ich elbt afrft m manche dieer Teilprobleme z löen.. Algorithmiche Beipiele: Da Maxmmenproblem 3

9 > > > > - > > a[.. n] > + > > + > σ.. σ 3.. σ.. σ.. > + > σ.. > σ.. Abbildng.: Schematicher Ablaf de diide & conqer Algorithm. Die eingerahmten Werte ind Eingaben, releante Zwichenergebnie nd Agaben. Der + - Knoten teht für eine Addition, der > -Knoten für die Berechnng de Maximm (drch einen oder mehrere Vergleiche). Da Schema hat eine bamartige Strktr, da der Algorithm rekri abläft, d.h. da Originalproblem wird olange in Teilprobleme gleicher Art zerlegt, bi ie leicht geng z löen ind. Jede Maxmme σ wird al Maximm zweier Teilmaxmmen σ nd der Smme zweier gerichtet Maxmmen nd berechnet. Da Löen aller Teilprobleme erfordert weniger Operationen al da Löen de ganzen Problem mit dem normalen Algorithm. Die Lafzeit de diide & conqer Algorithm kann a einer Rekriongleichng (Rekrrenz) betimmt werden. Znächt it die Lafzeit af einem Array der Länge bekannt (dafür ind keine Operationen nötig, da der Wert abgeleen wird). Zdem kann die Lafzeit drch die Zerlegng agedrückt werden al die Lafzeit der beiden halben Probleme, den Zatzafwand drch die Berechnng der gerichteten Maxmmen (da ind n Additionen nd n Vergleiche) nd die abchließende Maximmberechnng (noch Vergleiche): σ.. n T 3 () = 0 nd T 3 (n) = T 3 + (n 3) + für n > Für Eingaben der Länge n = k (alo k = log n) gilt dann: T 3 ( k ) = T 3 ( k ) + ( k+ ) = T 3 ( k ) + k+ + ( k+ ) = T 3 ( k ) + ( k+ ) + ( k+ ) = T 3 ( k 3 ) + k+ + ( k+ ) + ( k+ ) = T 3 ( k 3 ) + ( k+ ) + ( k+ ) + ( k+ ) =... = k T 3 ( k k ) + k k+ = 0 + k k ( k ) = (k ) k + = (log n ) n + Drch Aflöen der Rekrionbeziehng ergibt ich eine explizite Dartellng der Lafzeit. Der cleere Algorithm Für da Maxmmenproblem gibt e noch einen beeren al den diide & conqer Algorithm. Ein cleerer Algorithm löt da Maxmmenproblem in einem einzigen Drchlaf de Array a[.. n]. Daz betrachtet man folgende Hilffnktionen: maxtail(k) := max { maxm(k) := max { k i= i k a l i k } l=i j a l i j k } l=i Die Fnktion maxm(k) entprich alo der echten Maxmme σ(, k) de diide & conqer Algorithm nd die Fnktion maxtail(k) entpricht der linkgerichteten Maxmme (, k) de diide & conqer Algorithm. Die Definitionen bringen omit nicht wirklich Nee, ondern erlaben nr eine geeignete Schreibweie. Man kann zeigen, da die Werte on maxm ich leicht a den Werten on maxtail berechnen laen, welche ich wiederm leicht a dem Array berechnen laen. Dara ergibt ich der Pedocode für den canline Algorithm: maxtail := a[] maxm := a[] for k := to n do maxtail := max (maxtail+a[k], a[k]) maxm := max (maxtail, maxm) Einführng. Algorithmiche Beipiele: Da Maxmmenproblem

10 Der Bewei der Formeln erfolgt über olltändige Indktion. Z den Startwerten maxm() = a nd maxtail() = a leitet man daz folgende Iterationorchriften ab: k+ maxtail(k + ) = max { l=i = max { a k+ + maxm(k + ) = max { a l i k + } k a l i k } { a k+ } l=i = max a k+ + maxtail(k), a k+ = max { j a l i j k + } l=i j l=i k+ a l i j k } { = max (maxm(k), maxtail(k + )) l=i a l i k + } Drch Indktion über k ind die Formeln omit für alle Arraygrößen korrekt. Der Ablaf de Algorithm it in Abbildng. chematich dargetellt. a[.. n] > > > > > > > maxtail > > > > > > > maxm -0 Abbildng.: Schematicher Ablaf de canline Algorithm. Die eingerahmten Werte ind Eingaben, releante Zwichenergebnie nd Agaben. Der + - Knoten teht für eine Addition, der > -Knoten für die Berechnng de Maximm (drch einen oder mehrere Vergleiche). Die Werte on maxtail werden a dem Vorgängerwert on maxtail nd einem zgehörigen Eintrag de Array a drch eine Addition nd einen Vergleich berechnet. Die Werte on maxm werden a ihrem Vorgängerwert on maxm nd einem zgehörigen Wert on maxtail drch einen Vergleich berechnet. Afgrnd dieer gerichteten Strktr müen maxtail nd maxm nicht al Array im Speicher gehalten werden, ondern e genügt af zwei Speicherplätzen (gl. die Variablen maxtail nd maxm de Pedocode) z operieren. Die Lafzeit de canline Algorithm kann am Pedocode abgeleen werden. Die Awertng der Maximmfnktion it ein Vergleich. Pro Drchlaf der Schleife werden alo zwei Vergleiche nd eine Addition drchgeführt. Für die Lafzeit ergibt ich omit: A (n) = n V (n) = (n ) T (n) = A (n) + V (n) = 3n 3 Der Algorithm bracht weniger al dreimal o iele Operationen wie da Array Elemente hat. Solche Algorithmen ind für iele Anwendngen wünchenwert, da ie die chöne Eigenchaft haben, ach für große Intanzen mit ielen Elementen chnell Löngen errechnen z können. Zr Löng eine Problem mit 0facher Eingabelänge benötigt man nr einen 0mal o leitngfähigen Rechner oder 0mal oiel Zeit. Zammenfang Die Beipiele zeigen, da erchiedene Löngtrategien ich tark af den Reorcenerbrach (Anzahl Zeitchritte oder Anzahl Speichertellen) eine Algorithm awirken können. Hier noch einmal eine Übericht der berechneten Lafzeiten: naier Algorithm: T (n) = n3 + n + 3 n normaler Algorithm: T (n) = n diide & conqer Algorithm: T 3 (n) = n log n n + cleerer Algorithm: T (n) = 3n 3 Welche Folgen diee Ergebnie af praktiche Anwendngen haben, lät ich am beten drch den Vergleich der Lafzeiten einiger repräentatier Eingabelängen eranchalichen: n Tabelle.3: Lafzeitergleich der MaxSm-Algorithmen nai normal diide & conqer cleer n3 + n + 3 n n n log n n + 3n 3 = 3 = 3 = 0 0 = = = 3 > Beipielweie benötigt der cleere Algorithm weniger Zeit für die Löng de Maxmmenproblem af einem Array mit n = 0 Elementen al der diide & conqer Algorithm für ein Array mit n = Elementen nd der normale Algorithm für die Eingabelänge n =. Einführng. Algorithmiche Beipiele: Da Maxmmenproblem

11 Kapitel Komplexitättheorie Nach der Analye de Max-Teilmmenproblem mitamt den orgetellten Algorithmen tellen ich ein paar drängende Fragen: Im Vergleich der Algorithmen im Einführngkapitel hat ich gezeigt, da Lafzeit on Algorithmen ich dramatich ntercheiden können. M man Analyen immer o detailiert machen nd die Anzahl Schritte bi in letzte azählen? Da führt ja chon bei 3-Zeilern z Komplikationen. Wieo werden Vergleiche nd Additionen gezählt? Könnte man nicht ach Mltiplikationen zählen? Warm wird eine Addition behandelt, wie ein Vergleich? It da wirklich innoll? Wieo it der Parameter, mit deen Hilfe wir die Lafzeitfnktion betimmen, gerade die Anzahl der Smmanden? Führt da nicht daz, da jeder parametriiert, wa ihm gerade einfällt? Kann man nicht beere Vergleichbarkeit erreichen? Woher weiß man, ob man einen gten Algorithm gefnden hat? Komplexität bezeichnet in der Mathematik nd Informatik alopp geagt die Kompliziertheit on Problemen bzw. ihrer Löngerfahren. Wa gena darnter z ertehen it, it Teil diee Kapitel. E dient daz Grndlagen z legen, die eine ereinfachte, aber ach ereinheitlichte Analye on Algorithmen erlaben. Diee Kapitel führt in mehreren Schritten die Grndlagen zr Lafzeitanalye on Algorithmen ein. Im erten Abchnitt wird die Landa-Notation (oft ach Groß-O-Notation oder O-Kalkül genannt) zr ereinfachten Klaifizierng on Lafzeiten orgetellt. Der zweite Abchnitt befat ich mit den Eingabegrößen eine Algorithm nd ihrer Kodierng in Comptern.. Aymptotiche Notation Mit einem Blick af Tabelle.3 ieht man ofort, da der cleere Algorithm chneller al eine Konkrrenten it. Bei der Berteilng ind die Zahlenwerte im Grnde bedetnglo: man chat lediglich danach, wie lang die Zahlen etwa ind, bzw. in welcher Spalte die Länge am wenigten pro Zeile znimmt. Drch Betrachtng der Lafzeitterme wird chnell klar, da man ich nicht wirklich für die Kontanten oder Faktoren intereiert, nd da man manche Terme gegenüber anderen ernachläigen möchte. Entcheidend it diejenige fnktionale Abhängigkeit, die bei großen Problemen die Lafzeit dominiert. Vor dieem Hintergrnd hat e ich al zweckmäßig erwieen, Algorithmen nach ihrer aymptotichen Lafzeit z klaifizieren. Mathematich aber kann man diee Idee wie folgt formlieren: Definition.. Sei g : +. Dann bezeichnet die Komplexitätklae O(g) := f : + c > 0, n 0 n n 0 : f (n) c g(n) die Menge aller Fnktionen, die aymptotich höchten o chnell wachen wie g. Die aymptotiche Notation ernachläigt Kontanten nd langamer wachende Terme. Für Polynome werden beipielweie alle niedrigeren Ordnngen ignoriert: Satz.. Für ein Polynom f (n) = a m n m +a m n m + +a n+a 0 om Grad m mit poitiem Koeffizienten a m betimmt da größte Monom eine Komplexität: f O(n m ) Bewei. E it z zeigen, da da Polynom für beliebig große Argmente n > n 0 bi af einen beliebigen kontanten Faktor c drch da Monom n m nach oben abgechätzt werden kann: f (n) a m n m + a m n m + + a n + a 0 a m + a m /n + + a /n m + a 0 /n m n m a m + a m + + a + a 0 n m Mit c = a m + a m + + a + a 0 nd n 0 = folgt die Behaptng. Definition.. Sei wieder g : +. Dann gibt e folgende weitere Komplexitätklaen: Ω(g) := f : + c > 0, n 0 n n 0 : f (n) c g(n) it die Menge aller Fnktionen, die aymptotich mindeten o chnell wachen wie g. E gilt f Ω(g) g O(f ) Θ(g) := f : + c 0 > 0, c > 0, n 0 n n 0 : c 0 g(n) f (n) c g(n) it die Menge aller Fnktionen, die aymptotich gleich chnell wachen wie g. E gilt f Θ(g) f O(g) g O(f ) o(g) := f : + c > 0 n 0 n n 0 : f (n) < c g(n) it die Menge aller Fnktionen, die aymptotich langamer wachen al g. E gilt f o(g) f O(g) f Θ(g) ω(g) := f : + c > 0 n 0 n n 0 : f (n) > c g(n) it die Menge aller Fnktionen, die aymptotich chneller wachen al g. E gilt f ω(g) g o(f ) Statt f O(g) wird manchmal ach f = O(g) gechrieben, ebeno für Ω, Θ, o nd ω. Die Bchtaben heißen Landa-Symbole. Man pricht on der Landa-Notation oder ach O-Notation.. Aymptotiche Notation

12 Beipiele Ein Gefühl für Komplexitätklaen entwickelt man am beten an Hand einiger Beipiele: Seqentielle Sche Sei f (n) die Anzahl der Vergleiche bei einer eqentiellen Sche nach dem Maximm in einer Zahlenfolge mit n Elementen. Dann gilt f (n) O(n), da einmalige Drchlafen der Eingabe mit n Vergleichen akommt. Anderereit m jeder Algorithm zmindet einmal jede Element der Eingabe anehen, dehalb gilt ach f (n) Ω(n). Ingeamt ergibt ich f (n) Θ(n), d.h. die Maximmfnktion hat (echt) lineare Lafzeit. Matrixmltiplikation Seien A nd B qadratiche n n Matrizen, C = A B nd f (n) die Anzahl der für die Mltiplikation nötigen elementaren Operationen. Die Einträge on C ergeben ich a c i, j = n k= a ik b k j, alo werden n Mltiplikationen nd n Additionen benötigt. Da n iele Einträge on C berechnet werden, ergibt ich einereit für den Geamtafwand de offenichtlichen Algorithm f (n) n (n + n ) = n 3 n O(n 3 ), nd anderereit wird jeder Algorithm f (n) Ω(n ) Operationen zm Leen der Eingabe benötigen, da er ja n Einträge befüllen m. Der chnellte zr Zeit bekannte Algorithm benötigt O(n.3 ) Operationen. Die folgende Tabelle erdetlich da Wachtm on Fnktionen erchiedener Größenordnngen: Tabelle.: Wachtmergleich erchieden komplexer Fnktionen log n n n log n n n 3 n Einige Adrücke in Landa-Notation laen ich intiti betätigen oder achließen, indem man die Bedetng achreibt. Die mathematiche Formlierng folgt a der Definition: n o(n ) n wächt (aymptotich) langamer al n c > 0 n 0 n n 0 : n < c n, zm Beipiel n 0 = c n O(n ) n wächt (aymptotich) nicht chneller al n c > 0, n 0 n n 0 : n c n, zm Beipiel c = nd n 0 = n o(n ) n wächt (aymptotich) nicht langamer al n c > 0 n 0 n n 0 : n < c n, zm Beipiel c = Mit der O-Notation kann man die Lafzeit on Schleifen oft af einen Blick erfaen: log(n) n n log(n) n n 3 n Einfache Schleifen: for i := to n do for j := to n do Führe eine Operation a. O(n ) Operationen Schleifen mit mehreren Operationen: for i := to n do for j := i+ to n do Führe f(n) Operationen a. O(n f (n)) Operationen In den beiden Fällen wrde nr eine O-Abchätzng gegeben, obwohl eine Θ-Abchätzng möglich wäre. In der Regel bechränkt man ich af eine Abchätzng nach oben, bemüht ich aber, eine möglicht gte obere Schranke anzgeben. Abchätzngen nach oben ind meiten einfacher abzgeben. Abbildng.: Fnktiongraphen zm Wachtmergleich einiger Fnktionen. Dargetellt ind die ech Graphen der Fnktionen a Tabelle. mit gleicher Achenkalierng. Die Fnktionen ind in der Legende nach ihrem aymptotichen Wachtm geordnet. E detet ich an, da die Größenordnng der Fnktionwerte chon für relati kleine Argmente tark ariiert. Verläfe der Monome liegen ihrer Ordnng nach ortiert übereinander, logarithmiche Fnktionen wachen langamer al Polynome, exponentielle Fnktionen wachen chneller al jede Polynom. 0 Komplexitättheorie. Aymptotiche Notation

13 Die Relation o(... ) kann zr Klaifikation on Fnktionen bentzt werden. Zm Beipiel gilt für 0 < ε < < c : Rechenregeln = o(log log n) kontante Fnktionen log log n = o(log n) doppelt logarithmiche Fnktionen log n = o(n ε ) logarithmiche Fnktionen n ε = o(n c ) Wrzelfnktionen n c = o(n log n ) Polynome n log n = o(c n ) bexponentielle Fnktionen c n = o(n n ) exponentielle Fnktionen n n = o(c cn ) überexponentielle Fnktionen Für die O-Notation gibt e Rechenregeln, on denen hier nr die wichtigten angegeben werden. Seien f nd g Fnktionen nd c eine Kontante, dann gilt: c O() c f (n) O(f (n)) O(f ) + O(f ) O(f ) O(O(f )) = O(f ) O(f ) O(g) O(f g) O(f + g) = O(max{f (n), g(n)}) Die letzte Regel läßt ich folgendermaßen einehen: Satz.. Für Fnktionen f nd g gilt die Landa-Regel O(f + g) = O(max{f (n), g(n)}) Bewei. Die Mengengleichheit wird drch beide Inklionen gezeigt. Sei h O(f + g), dann gibt e poitie Kontanten c nd n 0, oda für alle n n 0 gilt: h(n) c (f + g)(n) c max{f, g}(n) Alo it h(n) O(max{f, g}). Sei anderereit h O(max{f, g}), dann gibt e poitie Kontanten c nd n 0, oda für alle n n 0 gilt: Alo it h O(f + g). h(n) c max{f, g}(n) c (f + g)(n) Da Mater-Theorem Bei der Analye on rekrien Algoithmen teht man häfig or dem Problem, da man a einem rekrien Algorithm nr eine Rekriongleichng für die Lafzeit nd keine explizite Dartellng ableen kann. Im Einführngkapitel trat dieer Fall beim diide and conqer Algorithm af nd die Rekrrenz konnte nr drch eine komplizierte Rechnng gelöt werden. Da geht oft ach einfacher. Da Mater-Theorem bietet eine Kochbch-Löng in aymptoticher Notation für die meiten für n releanten Rekrrenzen. Statt eine komplizierte Rekriongleichngen per Hand z löen, genügt alo in der Regel chon eine Umformng nach folgendem Rezept: Satz.3 (Mater-Theorem). Seien a nd b > Kontanten. Sei f : + znächt nbetimmt nd T : 0 + rekri definiert drch n n n n n T(n) = a T b + f (n) mit b = b oder b = b Diee Rekrrenz it in folgenden (aber nicht nr dieen) Fällen löbar:. Fall gilt ε > 0 : f (n) O(n log b a ε ), dann. Fall f (n) Θ(n log b a ), dann gilt T(n) Θ(n log b a ) T(n) Θ(n log b a log n) 3. Fall ε > 0 : f (n) Ω(n log b a + ε ) nd 0 < c <, n 0 n > n 0 : a f n b c f (n), dann gilt T(n) Θ(f (n)) Bewei. Siehe Introdction to algorithm [], Kapitel.3 nd.. Af den erten Blick wirken die orhergeagten Fälle z peziell, aber an einigen Beipielen ieht man chnell die Stärke diee Satze ein: T(n) = T n 3 + n, dann it a =, b = 3 nd f (n) = n. E folgt n log b a = n log 3 = n nd e gilt f (n) O(n log 3 ε ). A Fall folgt chließlich T(n) Θ(n ) T(n) = T n 3 +, dann it a =, b = 3 nd f (n) =. E folgt nlog b a = n log 3/ = n 0 = nd e gilt f (n) Θ(). A Fall folgt chließlich T(n) Θ(log n) Aber Achtng! Da Matertheorem deckt bei weitem nicht alle ab. Der erte nd der zweite Fall, owie der zweite nd der dritte Fall ntercheiden ich tark oneinander. Genaer geagt fehlt zwichen den einzelnen Voraetzngen jeweil ein Faktor on n ε. Komplexitättheorie. Aymptotiche Notation 3

14 . Kodierngchemata Vektoren Ein Vektor x n in Komponentendartellng Obwohl chon iel über Probleme geprochen wrde, fehlt nach wie or eine formale Bechreibng: Definition.3. Eine binäre Relation zwichen einer Menge I on Intanzen nd einer Menge S on Löngen heißt Problem. hat die Kodiernglänge x = (x,..., x n ) n x = x i i= Am Beipiel de bekannten Maxmmenproblem latet die Formlierng: Problem Finde die größte Teilmme eine Array. Eingabe Ein Array ganzer Zahlen a,..., a n nd die Fnktion f (i, j) := a i + + a j. Agabe Da maximale f (i, j). Die Menge der Intanzen beteht hier a allen Folgen ganzer Zahlen mit endlicher Länge. Die Menge der Löngen it die Menge der ganzen Zahlen. Drch die Definition on f nd der Forderng nach einem maximalen f (i, j) werden den Zahlenfolgen endlicher Länge maximale Smmen zgeordnet. Man ntercheidet da abtrakte Problem on der konkreten Bechreibng de Problem nd einer Intanzen. Zr Bearbeitng de Problem af einem Compter benötigt man beipielweie eine geeignete Kodierng. Daz ntzt man ein o genannte Alphabet mit Symbolen bzw. Bchtaben, nd man definiert Regeln, welche Bedetng Verknüpfngen der Symbole bzw. Bchtaben haben. Alphabet nd Regeln bilden ein Kodierngchema. Einige übliche Kodierngen mit reltierender Kodiernglänge, die in der Vorleng ADM gentzt werden, ind: Ganze Zahlen Eine ganze Zahl n wird in Binärdartellng n = ± k x i i i=0 x i {0, } nd k = log ( n ) drch eine Bitfolge dargetellt. Die Kodiernglänge bezeichnet n = log ( n + ) + = log ( n ) + Rationale Zahlen Für eine rationale Zahl r exitiert eine Brchdartellng r = p q mit einer ganzen Zahl p nd einer natürlichen Zahl q. Die Kodiernglänge it dann r = p + q Matrizen Eine Matrix A m n in Komponentendartellng hat die Kodiernglänge a, a, a,n a, a, a,n A = a m, a m, a m,n A = m i= n a i j Die Smme der Kodiernglängen betimmt den Speichererbrach: Definition.. Die Anzahl der Bit, die zr olltändigen Bechreibng einer Intanz I benötigt werden, heißt Inptlänge l. Ein Problem z löen, alo allen Intanzen de Problem Löngen zzordnen, kann nterchiedlich chwierig ein. In ehr komplizierten Fällen it die beweibar nicht möglich. Ohne af die Theorie der Unentcheidbarkeit eingehen z wollen, wird an dieer Stelle nr ein Beipiel eine nicht löbaren Problem gegeben, welche große Awirkngen af die Verifizierbarkeit on Algorithmen hat: Random Acce Machine Gegeben it eine Kodierng einer Random Acce Machine (RAM, da entpricht in etwa einem herkömmlicher Compter mit nendlich iel Speicher), owie ein w Σ. Frage: Hält die RAM bei Eingabe w? Definition.. Ein Problem, für den e keinen Algorithm gibt, der für alle Intanzen de Problem die richtige Antwort agibt, heißt nicht entcheidbar. Wichtig: Im Rahmen dieer Vorleng ind alle Probleme löbar. Die Frage it nr in welcher Zeit nd mit wieiel Speicherplatz. Beor wir n an die Beantwortng der Frage machen, wa im Sinne der Komplexitättheorie ein chwierige Problem it, kann man ja ertmal nach der intitien Schwierigkeit on Problemen fragen. Wa it wohl chwieriger: Kopfrechnen, da Löen eine Solitär-Brettpiel, den richtigen Zg in einer Schachtellng z finden, den richtigen Zg beim Sokobanpiel z finden, oder Krezworträtel z löen? j= Komplexitättheorie. Kodierngchemata

15 Abbildng.: Grafiken einiger Spiele. Im täglichen Leben m man häfig komplizierte Denkleitngen erbringen nd iele daon tarnen ich al Spiele. Wenn man einen Menchen mit den genannten Afgaben konfrontiert, wird er einige daon al chwieriger empfinden al andere. Aber wie berteilt man in der Mathematik, wie chwierig ein Spiel it?.3 Algorithmen Nachdem geklärt it, wa nter dem Begriff de Problem ertanden werden oll, gilt e nn möglicht formal z klären, wa ein Algorithm it. Definition.. Eine Anleitng zr chrittweien Löng eine Problem heißt Algorithm. Man agt, ein Algorithm A löt ein Problem Π, fall A für alle Intanzen I Π de Problem eine Löng in einer endlichen Anzahl on Schritten liefert. Der Begriff Schritt meint eine elementare Operation. Eine allgemeine Definition dafür gibt e aber nicht, da der erfügbare Befehlatz im Allgemeinen ach on einer Machine abhängt, af der ein Algorithm ageführt wird. Nn möchte man natürlich nicht Lafzeitanalyen für erchiedene Machinen nd Befehlätze berechnen nd tabellieren. Dehalb betrachtet man die Algorithmen af einem Rechnermodell, da die releanten Apekte eine realen Rechner nachbildet, da ich aber detlich leichter bechreiben lät. Ein Beipiel für ein olche Rechnermodell it die Regitermachine (RAM, random acce machine). Sie beteht a einem Programm, einem Befehlzähler, einem Akkmlator nd einem Speicher mit nendlich ielen, drchnmmerierten Zellen. Die Zellen werden ach al Regiter bezeichnet nd können beliebig große, natürliche Zahlen peichern. Der Befehlzähler b gibt an, welche Programmzeile gerade ageführt wird nd der Akkmlator c bezeichnet ein pezielle Regiter, af dem da Programm leen nd chreiben kann, nd mit deen Hilfe elementare Berechnngen drchgeführt werden können. Komplexitättheorie Abbildng.3: Schematicher Afba einer Regitermachine (RAM). Die Regitermachine it ein theoretiche Rechnermodell, da einem realen Compter ähnlich it. Sie beteht a einem Programm, einem Befehlzähler, einem Akkmlator nd einem Speicher mit nendlich ielen, drchnmmerierten Zellen. Beim Abarbeiten eine Programm werden Daten a der Eingabe geleen nd in die Agabe gechrieben. Dem Programm wird ein binärer Eingabetext e übergeben nd e generiert dara in endlich ielen Schritten einen binären Agabetext a. Normalerweie werden beide realiiert, indem man die Eingabe or der Programmaführng in den Speicher legt nd nach der Aführng da Ergebni a dem Speicher aliet. Man ntercheidet zätzlich zwei Modelltypen: nit-cot Modell Jeder Befehl wird in einem Schritt abgearbeitet. Typicher Befehlatz Grndrechenarten (+, -, *, /), Vergleiche (=, <, >), Leen nd Schreiben rationaler Zahlen, Programmfl mittel Verzweigngen nd Schleifen. Einatzgebiet Diee Modell it einfach nd wird meiten erwendet, inbeondere in der Vorleng ADM fat achließlich. log-cot Modell Jeder Befehl benötigt Θ( f (k)) Zeit, wobei k die Anzahl der Bit der Operanden nd f eine Kotenfnktion für die einzelnen Elementaroperationen it. Typicher Befehlatz Grndrechenarten (+, -, *, /), Bitweie Operationen (complement, and, or), Sprünge (goto, branch), Laden nd Speichern. Einatzgebiet Diee Modell it realiticher nd wird für komplexere Probleme releant. E wird in der Optimierng wichtig, wenn e m die Lafzeitanalye on Löngerfahren on Linearen Programmen geht..3 Algorithmen

16 .3. Effizienzmaße Im Einführngkapitel wrde eine Anzahl on Vergleichen nd Additionen gezählt, nd die Lafzeit, die a Additionen nd Vergleichen betand, wrde in einem betimmten Parameter gemeen, nämlich der Anzahl on orgegebenen Zahlen in der Eingabe. Da gechah willkürlich, nd bei anderen Problemen würde man icher ander erfahren. In der Theoretichen Informatik hat man aber etwa gefnden, da e n erlabt die Analyen erchiedenter Algorithmen miteinander ergleichbar z halten. Man drückt dafür die Lafzeit on Algorithmen al Fnktion ihrer Eingabelänge a! Da it ein echter Spertrick, denn zm einen ermöglicht e eine einheitliche Bai zr Algorithmenanalye, zm anderen kommt ach niemand an den tiefgreifenden Erkenntnien der Komplexitättheorie orbei. Jeder, der ein Programm cheibt, in welcher Programmierprache ach immer (fnktional, objekt-orientiert, prozedral... ), wird z irgendeinem Zeitpnkt eine Eingaben kodieren müen, nd diee werden eine Länge haben. E wird eine kodierte Agabe geben müen nd dazwichen eine Tranformation der Eingabe hin zr Agabe. Daz werden Berechnngen angetellt werden, die eine Lafzeit haben. Und wenn nn die Komplexitättheorie z einem Problem Π agt, da e keinen Algorithm mit Lafzeit O(n) gibt, dann wird e icher keinen geben. Die Lafzeit eine Algorithm hängt im Allgmeinen allerding nicht nr on der Eingabelänge ab, ondern kann abhängig om Wert der Eingabe abweichen. In dieem Fall hat e ich eingebürgert, da man a den Lafzeiten aller Eingaben der Länge n einen repräentatien Kennwert ertellt. In der Regel intereiert man ich für die chlechtete (wort cae), die mittlere (aerage) oder die kürzete (bet cae) Lafzeit, ermittelt über alle Eingaben einer betimmten Länge. Definition.. Sei T A (x) die Anzahl der Befehle, die Algorithm A bei Eingabe x aführt. Dann kann man eine Effizienz wie folgt charakteriieren: wort cae Lafzeit T wc A (n) := max{ T A(x) x n } aerage cae Lafzeit T ac A (n) := { x x =n } p x T A (x) (erfordert Kenntni on Aftrittwahrcheinlichkeiten oder Annahme on Gleicherteilng) bet cae Lafzeit T bc A (n) := min{ T A(x) x n } Wenn man tatt der Lafzeit den Platzbedarf analyiert, ergeben ich analoge Definitionen. It S A (x) die größte Adree im Speicher, die A bei Eingabe x bentzt, o it beipielweie S wc A (n) := max{ S A(x) x n }. Die o genannte Komplexität eine Problem nd die Komplexität eine Algorithm wird wie folgt definiert: Definition. (Komplexität eine Algorithm). Sei A ein determiniticher (RAM-)Algorithm, der af allen Eingaben hält. Die Lafzeit (Zeitkomplexität) on A it eine Fnktion f :, wobei f (n) die maximale Anzahl (wort cae) an Schritten on A af einer Eingabe der Länge n it. Definition. (Komplexität eine Problem). Die Lafzeit dejenigen Algorithm mit kleinter Zeitkomplexität, der Problem P löt, heißt Zeitkomplexität de Problem. Der Speicherplatzbedarf de am wenigten Speicherzellen bentzende Algorithm, der Problem P löt, heißt Platzkomplexität de Problem. Um ich gegeneitig chneller über Probleme, Algorithmen nd Lafzeiten ertändigen z können, werden üblicherweie noch die Begriffe Linearzeit, Polynomialzeit, nd ähnliche erwendet. Für einen Linearzeitalgorithm A gilt: f A (n) c n für eine Kontante c Für einen Polynomzeitalgorithm A gilt: f A (n) c n k für Kontanten c nd k Ein Problem P it in Polynomzeit löbar, wenn e einen Algorithm A, ein Polynom Π gibt, oda f A (n) Π(n) Man etzt dabei immer hinreichend große n ora, ach wenn die nicht explizit erwähnt wird. E folgen zwei weitere algorithmiche Beipiele, an denen die ne eingeführten Begrifflichkeiten gezeigt werden. Beipiel: Inkrementierng einer binär dargetellten Zahl Betrachten wir eine Addition on af eine andere Zahl: Problem Addition m im Binärytem. Eingabe Binärdartellng x n... x 0 on x Agabe Binärdartellng on x + Ein Algorithm für diee Problem könnte im Pedocode o aehen: fall (x[n-]... x[0]) == (... ) Gib Ergebni ( ) a. ont Sche kritiche Poition, d.h. da kleinte i mit x[i] = 0. Gib bearbeitete Eingabe (x[n-]... x[i+] ) a. Komplexitättheorie.3 Algorithmen

17 Die üblichen Effizienzmaße ergeben dann folgende Adrücke: Lafzeitanalye Berechnet wird die Anzahl der eränderten Bit. (Da entpricht der Lafzeit einer Machine, deren einzige elementare Operation ein bit-flip it.) wort cae Bei Eingabe on (... ) f wc (n) = n bet cae Bei Eingabe on z.b. (... 0) f bc (n) = aerage cae Verchiedene Anzahlen on Operationen werden mit gewien Aftrittwahrcheinlichkeiten (Gleicherteilng über alle möglichen Eingaben) gewichtet: Operation mit Wahrcheinlichkeit Operationen mit Wahrcheinlichkeit 3 Operationen mit Wahrcheinlichkeit... n Operationen mit Wahrcheinlichkeit n f ac (n) = n + = (i + ) (i + ) = i+ i+ i=0 Bei dieem Algorithm liegt die aerage cae Lafzeit nahe bei der bet cae Lafzeit. E gibt aber ach Beipiele, wo der aerage cae nahe beim wort cae oder ach mittig zwichen den Fällen liegt. Beipiel: Fibonacci-Zahlen Al nächte oll ein Vergleich zwichen der Lafzeit al Fnktion der Eingabe nd der Lafzeit al Fnktion der Eingabegröße erdetlicht werden: Problem Berechnng der n-ten Fibonacci-Zahl. Eingabe Natürliche Zahl n mit Kodierng k = n Agabe Lafzeit in Abhängigkeit on n oder k Zr Erinnerng: Die Fibonacci-Folge (F i ) i 0 it rekri definiert. Die erten beiden Fibonacci- Zahlen ind F 0 = 0 nd F = nd alle weiteren Folgeglieder ergeben ich al Smme ihrer beiden Vorgänger F n = F n + F n. Ein erter (ehr langamer) Algorithm hat omit folgende Form: fib(n): fall n <= Gib n a. ont Gib fib(n-) + fib(n-) a. i=0 Ein zweiter Algorithm geht wie folgt or. Er errechnet ert F a F 0 nf F, dann F 3 a den beiden Vorgängern..w. f0 := 0 f := for i := to n do tmp := f f := f + f0 f0 := tmp fall n == 0 Gib f0 a. ont Gib f a. Nach einer krzen Initialiierng ind zr Berechnng jeder Fibonacci-Zahl drei zätzliche Operationen nötig. Die Lafzeit al Fnktion der Eingabezahl it alo T(n) = O(n) nd die Lafzeit al Fnktion der Eingabelänge mit k = n it T(k) = O( k ). Wie chon beim Maxmmenproblem gibt e ach beim Fibonacciproblem einen noch effektieren Algorithm mit etwa trickreicherer Herangehenweie. Znächt tellt man fet, da die Berechnng der Folgeglieder al lineare Gleichngytem gechrieben werden kann: F k+ F k+ = 0 F k+ F k bzw. F k+ = A F k Drch wiederholte Anmltiplizieren on A laen ich weitere Folgeglieder berechnen. Da die Spalten on A al F nd F 0 interpretiert werden können, folgt eine kompakte Dartellng: F k+n = A n F k nd F n+ F n F n F n = 0 Ein Algorithm könnte die n-te Fibonacci-Zahl folglich al (A n ), finden. Der Übergang zr Binärdartellng de Index ermöglicht eine ehr chnelle Berechnng der einzelnen Potenzen: n = n k x i i mit x i {0, } nd k = log ( n ) i=0 Drch Einetzen zerfällt die Potenzierng in Teilprodkte: Mit jedem zätzlichen Folgeglied erdoppelt ich die Zahl der ageführten Operationen. Alo it T(n) = O( n ), wobei n der Index der Fibonacci-Folge it. Die Kodierng diee Index hat logarithmiche Länge in n, alo k = n. Dann it die Lafzeit T(k) = k. A n = A k i=0 x i i = k A x i i = i=0 x i = 0 i k A i 30 Komplexitättheorie.3 Algorithmen 3

18 Beipielweie gilt für eine Eingabe m = 3 0 = 00, da A 3 = A ++ = A A A it. Die Berechnng dieer Potenzen erfolgt dann drch wiederholte Qadrieren: A i = O(k) mal qadrieren O(k) mal mltiplizieren { }} { { }} { A ( ) =... A... Der Afwand für die Potenzbildngen it alo O(k) nd der Afwand für da Afmltiplizieren ebeno. Die Lafzeit diee Algorithm it omit T(k) = O(k). Aber Voricht! Unere Analye berht af dem Unit-cot-Modell!! Wenn man aber da log-cot-modell heranzieht, it die Überlegenheit de letzten Algorithm gegenüber dem zweiten Algorithm gar nicht mehr klar: E lät ich nämlich beobachten, da die Fibonacci-Zahlen exponentiell mit dem Eingabeparameter n wachen, nd damit wachen ach die Längen der Zahlen, die bei den Berechnngen aftreten, entprechend an. Wie lang werden die Binärdartellngen der Zahlen? Nn, wenn F n = Θ(k n ) it, für irgendein k >, dann it F n = Θ( k ) nd damit < F n >= Θ( k ). Da heißt, man benötigt zwar nr wenige arithmetiche Operationen im dritten Algorithm, aber die einzelnen Operationen werden ach entprechend afwendig. Ob tatächlich der dritte Algorithm chneller it al der zweite, wenn man ie al Programme af einem Compter ablafen lät, kann alo anhand nerer Analye nicht orhergeagt werden; ach nicht, wenn wir on hinreichend großen Eingabedaten agehen.. Komplexitätklaen Znächt werden zwei pezielle Typen on Problemen pezifiziert: Definition.0. Ein Problem, da nr zwei mögliche Antworten ( ja nd nein ) beitzt, heißt Entcheidngproblem. Definition.. Ein Problem, bei dem a einer (explizit oder implizit bechriebenen) Menge möglicher Löngen Ω ein bezüglich einer Bewertngfnktion f : Ω bete Element x mit f ( x) = max { f (x) x Ω } gecht wird, heißt Optimierngproblem. Beipiele für Entcheidngprobleme ind It n eine Primzahl? oder Gibt e einen Löngweg beim Solitär-Brettpiel?, ein Optimierngproblem it z.b. Finde einen betmöglichen Flgplan (bezüglich de Gewinn der Flggeellchaft). Entcheidngprobleme nd Optimierngprobleme laen ich ineinander mformlieren... Die Klaen P, NP, PSPACE Mit Hilfe der O-Notation können wir Probleme in Klaen afteilen. Man könnte z.b. die Menge aller Probleme mit Komplexität O(n 3 ) zammenfaen nd agen, da ei eine Klae. Eine Klae it alo eine Menge on Mengen. Oder man könnte die Menge aller Probleme o afteilen, da alle Probleme, die in Polynomzeit löbar ind in einer Klae zammengefat werden, alle Probleme, die mindeten Exponentielle Lafzeit der Löngalgorithmen erfordern in eine andere Klae kommen nd alle anderen Probleme in einer dritten Klae zammengefat werden. Viele Varianten ind denkbar. Beondere Interee gilt den Klaen mit den Namen P, N P, nd manchmal ach der Klae PSPAC E. Die Bedetng dieer Kürzel z klären it die Afgabe de Ret diee Kapitel. Die Klae P it die Menge derjenigen Entcheidngprobleme, für die e einen Algorithm gibt, der wort cae polynomielle Lafzeit beitzt nd der da Entcheidngproblem löt. Man nennt olche Probleme ach effizient löbare Probleme. Formaler: Definition.. Gegeben ei ein Kodierngchema E nd ein Rechnermodell M. Betrachte ein Entcheidngproblem Π, wobei jede Intanz a Π drch da Kodierngchema E kodiert ei. Wenn e einen af M implementierbaren Algorithm zr Löng aller Problemintanzen a Π gibt, deen wort cae Lafzeitfnktion af M polynomiell it, dann gehört Π (bezüglich E nd M) zr Klae P. Beipiel: Solitär Um ein Gefühl für die Klaen P z bekommen, betrachten wir znächt Problemtellngen bei einem erallgemeinerten Solitär-Brettpiel. Man kann ich da Solitärbrett al a Komponenten mit je 3 Feldern zammengeetzt ortellen. Aerdem liegen in der Startpoition af allen Feldern, bi af da Feld gena in der Mitte, Steine. Eine einfache Verallgemeinerng geht o, da man Solitärbretter a Komponenten mit je n n Feldern zammenetzt. Eine beliebige Teilmenge der Felder kann z Beginn beetzt ein nd omit eine Startpoition definieren. Problem Steine zählen im Solitär. Eingabe Eine beliebige Startpoition im n n-solitär Agabe ja, fall chon mehr al die Hälfte der Steine om Brett it. nein, fall noch mindeten die Hälfte übrig it. Diee Problem wird intiti al leicht empfnden. Die Größe der Eingabe hängt haptächlich on der Anzahl der Felder, nd damit on n ab. Man ieht ofort einen Polynomialzeitalgorithm, der da Problem löt. Da Problem liegt in P. Problem Züge planen im Solitär. Eingabe Eine beliebige Startpoition im n n-solitär Agabe ja, wenn e einen Weg gibt, Steine o z chlagen, da gena ein Stein in der Mitte de Spielbrett übrig bleibt. nein, fall e keinen olchen Weg gibt. 3 Komplexitättheorie. Komplexitätklaen 33

19 Anmerkng: Man kann die Klae NP ach über eine o genannte nicht-determinitiche RAM definieren. Eine olche Machine it eine RAM mit dem zätzlichen Befehl goto L or goto L;. Da die die rprüngliche Definition it, ie aber ohne eingehende Dikion über Nichtdeterminim chwer z ertehen it, wird ie lediglich der Volltändigkeit halber angegeben. Beide Definitionen ind gleichwertig, nd für diee Verantaltng genügt die erte. Definition. (gleichwertig z Definition.3). Ein Problem Π it in NP, wenn e einen (möglicherweie nicht-determinitichen) Algorithm A gibt, o da e für jede Problembeipiel I Π, für da die Antwort ja latet, einen Berechnngweg on A gibt, der polynomielle Länge in I beitzt. Für Intanzen, für die die Antwort nein it, darf A af keinem Berechnngweg die Antwort ja ageben. Für alle Intanzen m A irgendwann halten. Da zweite Solitärproblem it alo in der Klae N P. Ob e ach in der Klae P it, wien wir an dieer Stelle nicht. Nr weil man nicht ofort ieht, wie ein Polynomialzeitalgorithm arbeiten würde, heißt da ja nicht, da e keinen gibt. In den biherigen Beipielen waren ja ach die chnellten Algorithmen nicht die offenichtlichten. Da SAT Problem Abbildng.: Grafik einiger Solitär-Bretter. Die meiten Brettpiele bieten ein gt implementierbare Regelwerk nd erlaben da Formlieren ieler Entcheidngfragen. Wie leicht ein olche Problem z löen it, mit man daran, ob ein Algorithm exitiert, der beliebig große Intanzen de Problem hinreichend chnell oder platzparend löen kann. Diee Problem hingegen ercheint intiti chwieriger z ein. Immerhin, wenn e einen Weg gibt, nd man dieen Weg mit z der Eingabe hinztt, läßt ich die Löng zmindet in Polynomzeit nachollziehen: Man bracht nr der orgegebenen Löng z folgen. Da Problem hat alo eine etwa andere Charakteritik al da reine Zählproblem zor. Die Klae N P it wie folgt definiert: Definition.3. Ein Entcheidngproblem Π gehört zr Klae NP, wenn gilt: Für jede Problembeipiel I Π, für da die Antwort ja latet, gibt e (mindeten) ein Objekt Q, mit deen Hilfe die Korrektheit der Antwort ja überprüft werden kann. E gibt einen Algorithm, der Problembeipiele I Π nd Zatzobjekte Q al Eingabe akzeptiert nd deen Lafzeit polynomiell in I + Q it, der überprüft, ob Q ein Objekt it, afgrnd deen eine ja -Antwort gegeben werden m. E wird keine Aage darüber gemacht, wie Q berechnet wird. Q kann geraten werden. Die einzige Aage, die über nein -Antworten gemacht wird, it, da e einen Algorithm geben m, der korrekt ja oder nein entcheiden kann. Seien x,..., x n boolche Variablen, die die Werte tre () oder fale (0) annehmen können. E ollen folgende Geetzmäßigkeiten für boolche Adrücke gelten: x y = f ale gena dann, wenn x = f ale nd y = f ale. x y = t re gena dann, wenn x = t re nd y = t re. Darüber hina oll gena dann x = t re gelten, wenn x f ale. Definition.. Eine booleche Fnktion f (x, x,..., x n ), für die e eine Wertebelegng für x, x,..., x n gibt, o da f (x, x,..., x n ) = it, heißt erfüllbar. Zm Beipiel it die Fnktion f (x, y, z) = (x y) (z x y) (x z) erfüllbar, denn die Belegng x =, y = 0, z = 0 liefert Damit wird da SAT-Problem definiert: f (, 0, 0) = ( 0) (0 0) ( 0) = Problem Erfüllbarkeit einer boolechen Fnktion. Eingabe Eine booleche Fnktion Φ(x, x,..., x n ). Agabe ja, fall e eine Belegng für x, x,..., x n gibt, o da Φ(x, x,..., x n ) = it. nein, fall keine olche Belegng exitiert. 3 Komplexitättheorie. Komplexitätklaen 3

20 Im Allgemeinen it ein SAT-Problem natürlich mit exponentieller Lafzeit (in der Anzahl der Variablen) entcheidbar, indem alle Wertebelegngen drchprobiert werden. E it nicht bekannt, ob ach polynomielle Algorithmen exitieren, jedoch it die Vermtng, da e für diee Problem keinen Polynomzeitalgorithm gibt. SAT it o z agen die Mtter aller Probleme, on denen man ermtet, da ie in N P, aber nicht in P liegen... Abhängigkeiten der Klaen Die Klaen P nd NP decken einen Großteil der in der Literatr orzfindenden Problemtellngen ab. Weitere intereante Klaen ind PSPAC E nd EX P T I M E: Klae P Klae aller Probleme, die on einer determinitichen RAM in Polynomzeit gelöt werden können. Klae NP Klae aller Probleme, die on einer nichtdeterminitichen RAM in Polynomzeit gelöt werden können. Klae PSPACE Klae aller Probleme, die on einer determinitichen RAM mit polynomiell iel Platz gelöt werden können. Klae EXPTIME Klae aller Probleme mit einfach exponentieller Lafzeit: EXPTIME = k TIME(nk ). Viele it noch ngeklärt über den Zammenhang zwichen dieen Klaen. Sicher wei man nr, da P EXPTIME nd P NP PSPACE EXPTIME Man ermtet darüber hina, da alle diee Inklionen echt ind, d.h. P NP PSPACE EXPTIME..3 Einordnng on Problemen Nicht immer lät ich leicht berteilen, in welcher der kennengelernten Klaen ein konkrete Problem liegt. Immerhin m zr Einordnng ein Algorithm mit hinreichend gter Lafzeit gefnden oder die Exitenz eine olchen widerlegt werden. Beonder letztere it oft ehr chwer z zeigen. So hat man e z noch keinem Problem in hinbekommen, einen Bewei dafür z finden, da da Problem nicht in polynomialer Zeit löbar it, denn ont wüte man ja, da =. Hilfreich it bei der Einordnng on Problemen oft die Technik der Redktion. Die Idee it e dabei, ein nbekannte Problem z einem bereit klaifizierten Problem in Beziehng z etzen. Wenn man e nämlich chafft, Intanzen eine Problem P o in Intanzen eine anderen Problem Q mzbaen, da die Antwort z einer Intanz in P gena dann ja it, wenn die Antwort in der mgebaten Intanz de Problem Q ebenfall ja it, hat man diee beiden Probleme aneinandergekoppelt. Wenn ich der Umba der Intanzen pro Intanz ach noch in polynomieller Zeit realiieren lät, ind die beiden Probleme in gewiem Sinne ehr eng aneinander gekoppelt worden. Gibt e nämlich für Q einen effizienten Algorithm (alo einen polynomiellen), dann gibt e ach für P einen effizienten Algorithm. Anderherm, wenn e für P keinen effizienten Algorithm gibt, gib e ach keinen für Q. Der Redktionmechanim ieht im Detail wie folgt a. Definition.. Seien P nd Q Probleme nd eien L P nd L Q die Mengen der Intanzen der Probleme P nd Q, für die die Antwort ja it. Sei zdem Σ ein Alphabet zr Problemkodierng nd Σ die Menge aller Symbolketten, die a dem Alphabet Σ erzegt werden können. Wenn e eine on einem determinitichen Algorithm in Polynomzeit berechenbare Fnktion f : Σ Σ gibt, o da x L P f (x) L Q gilt, dann heißt P polynomiell redzierbar af Q. Man chreibt P p Q. Man agt, P it nicht chwerer al Q bzw. Q it mindeten o chwer wie P. NP-chwierig nd NP-olltändig Im Stdim der ADM nd der Optimierngorlengen Optimierng I-III werden fat achließlich Probleme, die z den Klaen P nd NP gehören, on Releanz ein. Im Folgenden wird dewegen ein Schwerpnkt af die o genannte NP-Schwere nd die NP-Volltändigkeit gelegt. Schwere nd Volltändigkeit können aber af ämtliche andere Klaen übertragen werden. Definition.. Eine Sprache S heißt NP-chwer (oder NP-chwierig, NP-hard), wenn jede Sprache a NP mit einer Polynomzeit-Redktion af S redziert werden kann, d.h. wenn L NP: L p S. Abbildng.: Schematiche Dartellng zr Inklion der Komplexitätklaen. NP-chwierige Probleme ind alo mindeten o chwer wie andere NP-Probleme. 3 Komplexitättheorie. Komplexitätklaen 3

Einfacher loop-shaping Entwurf

Einfacher loop-shaping Entwurf Intitut für Sytemtheorie technicher Prozee Univerität Stuttgart Prof. Dr.-Ing. F. Allgöwer 6.4.24 Regelungtechnik I Loophaping-Entwurf t http://www.it.uni-tuttgart.de/education/coure/rti/ Einfacher loop-haping

Mehr

Statistische Analyse von Messergebnissen

Statistische Analyse von Messergebnissen Da virtuelle Bildungnetzwerk für Textilberufe Statitiche Analye von Meergebnien 3 Hochchule Niederrhein Stand: 17..3 Seite 1 / 8 Im Abchnitt "Grundlagen der Statitik" wurde u.a. bechrieben, wie nach der

Mehr

Mechanik 2. Addition von Geschwindigkeiten 1

Mechanik 2. Addition von Geschwindigkeiten 1 Mechanik. Addition on Gechwindigkeiten 1. Addition on Gechwindigkeiten Wa beeinflut die Gechwindigkeit de Boote? a. Wind b. Waergechwindigkeit Haben beide die gleiche Richtung, o addieren ie ich. Haben

Mehr

Beispiellösungen zu Blatt 84

Beispiellösungen zu Blatt 84 µatheaticher κorrepondenz- zirkel Matheatiche Intitut Georg-Augut-Univerität Göttingen Aufgabe 1 Beipiellöungen zu Blatt 84 Welche der folgenden Zahlen it größer? 2009 + 2010 + 2010 + 2009, 2009 + 2009

Mehr

Vier-Felder-Tafel. Medizinische Tests sind grundsätzlich mit zwei Fehlern behaftet: 1. Erkrankte werden als gesund, 2. Gesunde als krank eingestuft.

Vier-Felder-Tafel. Medizinische Tests sind grundsätzlich mit zwei Fehlern behaftet: 1. Erkrankte werden als gesund, 2. Gesunde als krank eingestuft. Vier-Felder-Tafel Mediziniche Tet ind grundätzlich mit zwei Fehlern behaftet:. Erkrankte werden al geund, 2. Geunde al krank eingetuft. Der. Fehler wird üblicherweie (nicht nur von Tet-Entwicklern) in

Mehr

Algorithmen II Vorlesung am 15.11.2012

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

Mehr

Energiefreisetzung In der Sonne, wie in allen anderen Sternen auch, wird die Energie durch Kernfusion freigesetzt. Wasserstoffkerne(Protonen) können

Energiefreisetzung In der Sonne, wie in allen anderen Sternen auch, wird die Energie durch Kernfusion freigesetzt. Wasserstoffkerne(Protonen) können Energiefreietzung In der Sonne, wie in allen anderen Sternen auch, wird die Energie durch Kernfuion freigeetzt. Waertoffkerne(Protonen) können bei güntigen Bedingungen zu Heliumkernen verchmelzen, dabei

Mehr

Schaltwerke. e = 0 z. e = 0 1 z. z neu. z = z = z???? z(t + ) = z neu = z(t) Schaltnetze und Schaltwerke

Schaltwerke. e = 0 z. e = 0 1 z. z neu. z = z = z???? z(t + ) = z neu = z(t) Schaltnetze und Schaltwerke Schaltweke Schaltnete und Schaltweke Schaltnete dienen u Becheibung deen, wa innehalb eine Poeotakt abläuft. Die akteit de Poeo mu imme etwa göße ein al die Signallaufeit de Schaltnete. Damit wid ichegetellt,

Mehr

Brustkrebs. Genetische Ursachen, erhöhte Risiken. Informationen über familiär bedingten Brust- & Eierstockkrebs

Brustkrebs. Genetische Ursachen, erhöhte Risiken. Informationen über familiär bedingten Brust- & Eierstockkrebs Brutkreb Genetiche Urachen, erhöhte Riiken Informationen über familiär bedingten Brut- & Eiertockkreb Brutkreb: Wie und wo er entteht Wenn bei der Zellteilung ein Fehler paiert Alle Zellen unere Körper

Mehr

In welcher Zeit könnte der Sportwagen demnach von 0 auf 100 km beschleunigen?

In welcher Zeit könnte der Sportwagen demnach von 0 auf 100 km beschleunigen? Arbeit, Leitung und Wirkunggrad und Energie. Welche Leitung erbringt ein Auto da bei einer geamten Fahrwidertandkraft von 200 N mit einer Gechwindigkeit von 72 km fährt? h 2: Ein Latkran wird mit einem

Mehr

Die "Goldene Regel der Messtechnik" ist nicht mehr der Stand der Technik

Die Goldene Regel der Messtechnik ist nicht mehr der Stand der Technik Die "Goldene Regel der Messtechnik" Ator: Dipl.-Ing. Morteza Farmani Häfig wird von den Teilnehmern nserer Seminare zr Messsystemanalyse nd zr Messnsicherheitsstdie die Frage gestellt, für welche Toleranz

Mehr

Kundeninformationen zu Secure Mail

Kundeninformationen zu Secure Mail Kreiparkae Trauntein-Trotberg -1- Kreiparkae Trauntein-Trotberg Allgemeine Kaum einer macht ich beim Verenden einer E-Mail Gedanken über die Sicherheit. Dabei it eine normale E- Mail ungefähr o icher und

Mehr

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

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

Mehr

7 Rechnen mit Polynomen

7 Rechnen mit Polynomen 7 Rechnen mit Polynomen Zu Polynomfunktionen Satz. Zwei Polynomfunktionen und f : R R, x a n x n + a n 1 x n 1 + a 1 x + a 0 g : R R, x b n x n + b n 1 x n 1 + b 1 x + b 0 sind genau dann gleich, wenn

Mehr

1 Mathematische Grundlagen

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

Mehr

Lineare Gleichungssysteme

Lineare Gleichungssysteme Brückenkurs Mathematik TU Dresden 2015 Lineare Gleichungssysteme Schwerpunkte: Modellbildung geometrische Interpretation Lösungsmethoden Prof. Dr. F. Schuricht TU Dresden, Fachbereich Mathematik auf der

Mehr

OECD Programme for International Student Assessment PISA 2000. Lösungen der Beispielaufgaben aus dem Mathematiktest. Deutschland

OECD Programme for International Student Assessment PISA 2000. Lösungen der Beispielaufgaben aus dem Mathematiktest. Deutschland OECD Programme for International Student Assessment Deutschland PISA 2000 Lösungen der Beispielaufgaben aus dem Mathematiktest Beispielaufgaben PISA-Hauptstudie 2000 Seite 3 UNIT ÄPFEL Beispielaufgaben

Mehr

Wertsteigerung Frei Haus. Der Kostenlose Glasfaseranschluss für Hauseigentümer.

Wertsteigerung Frei Haus. Der Kostenlose Glasfaseranschluss für Hauseigentümer. Wertteigerung Frei Hau. Der Kotenloe Glafaeranchlu für Haueigentümer. Darüber freuen ich nicht nur Ihre Mieter. 40 Millimeter, 1.000 Vorteile. Im Bereich der Kommunikation it Glafaer die Zukunft. 12.000

Mehr

Primzahlen und RSA-Verschlüsselung

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

Mehr

Algorithmische Mathematik

Algorithmische Mathematik Algorithmische Mathematik Wintersemester 2013 Prof. Dr. Marc Alexander Schweitzer und Dr. Einar Smith Patrick Diehl und Daniel Wissel Übungsblatt 6. Abgabe am 02.12.2013. Aufgabe 1. (Netzwerke und Definitionen)

Mehr

1 topologisches Sortieren

1 topologisches Sortieren Wolfgang Hönig / Andreas Ecke WS 09/0 topologisches Sortieren. Überblick. Solange noch Knoten vorhanden: a) Suche Knoten v, zu dem keine Kante führt (Falls nicht vorhanden keine topologische Sortierung

Mehr

Beobachten und Messen mit dem Mikroskop

Beobachten und Messen mit dem Mikroskop Phyikaliche Grundpraktikum Veruch 006 Veruchprotokolle Beobachten und een mit dem ikrokop Aufgaben 1. Betimmen de ildungmaßtabe der vorhandenen ektive mit Hilfe eine echraubenokular. Vergleich mit den

Mehr

Vorlesung Diskrete Strukturen Graphen: Wieviele Bäume?

Vorlesung Diskrete Strukturen Graphen: Wieviele Bäume? Vorlesung Diskrete Strukturen Graphen: Wieviele Bäume? Bernhard Ganter Institut für Algebra TU Dresden D-01062 Dresden bernhard.ganter@tu-dresden.de WS 2013/14 Isomorphie Zwei Graphen (V 1, E 1 ) und (V

Mehr

Grundlagen der Theoretischen Informatik, SoSe 2008

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

Mehr

Differentialgleichungen

Differentialgleichungen Differentialgleichungen Teilnehmer: Phili Bannach Heinrich-Hertz-Oberchule) Levin Keller Herder-Oberchule) Phili Kende Herder-Oberchule) Carten Kubbernuh Andrea-Oberchule) Giang Nguyen Herder-Oberchule)

Mehr

1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. Bäume / Graphen 5. Hashing 6. Algorithmische Geometrie

1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. Bäume / Graphen 5. Hashing 6. Algorithmische Geometrie Gliederung 1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. äume / Graphen 5. Hashing 6. Algorithmische Geometrie 4/5, olie 1 2014 Prof. Steffen Lange - HDa/bI

Mehr

Fachhochschulreifeprüfung an Fachoberschulen und Berufsoberschulen 2003 (Bayern) Physik: Aufgabe III

Fachhochschulreifeprüfung an Fachoberschulen und Berufsoberschulen 2003 (Bayern) Physik: Aufgabe III Fachhochchulreifeprüfung an Fachoberchulen und Berufoberchulen 3 (Bayern) Phyik: Aufgabe III. Für alle Körper, die ich antrieblo auf einer Kreibahn it de Radiu R und der Ulaufdauer T u ein Zentralgetirn

Mehr

6. Klasse 1. Schularbeit 1999-10-20 Gruppe A + 40.! Bestimme das Monotonieverhalten und berechen den Grenzwert! 4 Punkte

6. Klasse 1. Schularbeit 1999-10-20 Gruppe A + 40.! Bestimme das Monotonieverhalten und berechen den Grenzwert! 4 Punkte 6. Klae 1. Schularbeit 1999-10-0 Gruppe A 1) Betrachte da Wettrennen zwichen Achille und der Schildkröte für folgende Angaben: Gechwindigkeit von Achille 10 m, Gechwindigkeit der Schildkröte m Vorprung

Mehr

Abiturprüfung Baden-Württemberg 1986

Abiturprüfung Baden-Württemberg 1986 001 - hp://www.emah.de 1 Abirprüfng Baden-Würemberg 1986 Leisngskrs Mahemaik - Analysis Z jedem > 0 is eine Fnkion f gegeben drch f x x x e x ; x IR Ihr Schabild sei K. a Unersche K af Asympoen, Schnipnke

Mehr

Gleichungen und Ungleichungen

Gleichungen und Ungleichungen Gleichungen Ungleichungen. Lineare Gleichungen Sei die Gleichung ax = b gegeben, wobei x die Unbekannte ist a, b reelle Zahlen sind. Diese Gleichung hat als Lösung die einzige reelle Zahl x = b, falls

Mehr

Schaltungen mit nichtlinearen Widerständen

Schaltungen mit nichtlinearen Widerständen HOCHSCHLE FÜ TECHNIK ND WITSCHAFT DESDEN (FH) niversity of Applied Sciences Fachbereich Elektrotechnik Praktikm Grndlagen der Elektrotechnik Versch: Schaltngen mit nichtlinearen Widerständen Verschsanleitng

Mehr

Technische Universität München. Fakultät für Informatik

Technische Universität München. Fakultät für Informatik Techniche Univerität München Fakultät für Informatik Forchung- und Lehreinheit Informatik IX Thema: Morphologiche Operationen Proeminar: Grundlagen Bildvertehen/Bildgetaltung Johanne Michael Kohl Betreuer:

Mehr

Grundlagen der höheren Mathematik Einige Hinweise zum Lösen von Gleichungen

Grundlagen der höheren Mathematik Einige Hinweise zum Lösen von Gleichungen Grundlagen der höheren Mathematik Einige Hinweise zum Lösen von Gleichungen 1. Quadratische Gleichungen Quadratische Gleichungen lassen sich immer auf die sog. normierte Form x 2 + px + = 0 bringen, in

Mehr

Bestimmung einer ersten

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

Mehr

PHYSIK Wurfbewegungen 1

PHYSIK Wurfbewegungen 1 PHYSIK Wurfbewegungen 1 Senkrechter Wurf nach unten Senkrechter Wurf nach oben Datei Nr. 9111 Auführliche Löungen und Drucköglichkeit nur auf CD Friedrich W. Buckel Augut Internatgynaiu Schloß Torgelow

Mehr

Der Approximationsalgorithmus von Christofides

Der Approximationsalgorithmus von Christofides Der Approximationsalgorithms on Christofides Problem: Traeling Salesman Inpt: Ein Graph G = (V, E) mit einer Distanzfnktion d : E Q 0. Afgabe: Finde eine Tor, die alle Knoten des Graphen G gena einmal

Mehr

Protokoll zur Laborübung Verfahrenstechnik. Übung: Filtration. Betreuer: Dr. Gerd Mauschitz. Durchgeführt von:

Protokoll zur Laborübung Verfahrenstechnik. Übung: Filtration. Betreuer: Dr. Gerd Mauschitz. Durchgeführt von: Protokoll zur Laborübung Verahrentechnik Übung: Filtration Betreuer: Dr. Gerd Mauchitz Durchgeührt von: Marion Pucher Mtk.Nr.:015440 Kennzahl: S6 Mtk.Nr.:015435 Kennzahl: S9 Datum der Übung:.06.004 1/11

Mehr

Lange Nacht der Wissenschaft. Ein Klassiker. Die Mathematik der Kürzesten Wege

Lange Nacht der Wissenschaft. Ein Klassiker. Die Mathematik der Kürzesten Wege Lange Nacht der Wissenschaft Ein Klassiker Die Mathematik der Kürzesten Wege 09.06.2007 schlechte@zib.de Konrad-Zuse-Zentrum für Informationstechnik Berlin (ZIB) http://www.zib.de/schlechte 2 Überblick

Mehr

Das Briefträgerproblem

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

Mehr

Einführung in die Java- Programmierung

Einführung in die Java- Programmierung Einführung in die Java- Programmierung Dr. Volker Riediger Tassilo Horn riediger horn@uni-koblenz.de WiSe 2012/13 1 Wichtig... Mittags keine Pommes... Praktikum A 230 C 207 (Madeleine + Esma) F 112 F 113

Mehr

8. Quadratische Reste. Reziprozitätsgesetz

8. Quadratische Reste. Reziprozitätsgesetz O Forster: Prizahlen 8 Quadratische Reste Rezirozitätsgesetz 81 Definition Sei eine natürliche Zahl 2 Eine ganze Zahl a heißt uadratischer Rest odulo (Abkürzung QR, falls die Kongruenz x 2 a od eine Lösung

Mehr

Informatik I WS 07/08 Tutorium 24

Informatik I WS 07/08 Tutorium 24 Info I Tutorium 24 Informatik I WS 07/08 Tutorium 24 3.2.07 astian Molkenthin E-Mail: infotut@sunshine2k.de Web: http://infotut.sunshine2k.de Organisatorisches / Review is zum 2.2 müssen alle Praxisaufgaben

Mehr

Übung Theoretische Grundlagen

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

Mehr

Bestimmung der Messunsicherheit

Bestimmung der Messunsicherheit Betimmung der Meunicherheit 1 Arten der Meabweichungen 1.1 Grobe Abweichungen Urachen Verehen de Beobachter bei Bedienung/Ableung der Meintrumente Irrtum de Beobachter bei Protokollierung/Auwertung der

Mehr

J und κ =1, 4 behandelt werden. kg K. a) Berechnen Sie die fehlenden Temperaturen und Drücke!

J und κ =1, 4 behandelt werden. kg K. a) Berechnen Sie die fehlenden Temperaturen und Drücke! Übung 11 Aufgabe 7.6: Offene Gaturbine Eine Gaturbinenanlage untercheidet ich vom reveriblen oule-proze dadurch, da der Verdichter und die Turbine nicht ientrop arbeiten. E gilt vielmehr: η S,V =0, 85

Mehr

Expander Graphen und Ihre Anwendungen

Expander Graphen und Ihre Anwendungen Expander Graphen und Ihre Anwendungen Alireza Sarveniazi Mathematisches Institut Universität Göttingen 21.04.2006 Alireza Sarveniazi (Universität Göttingen) Expander Graphen und Ihre Anwendungen 21.04.2006

Mehr

SUDOKU - Strategien zur Lösung

SUDOKU - Strategien zur Lösung SUDOKU Strategien v. /00 SUDOKU - Strategien zur Lösung. Naked Single (Eindeutiger Wert)? "Es gibt nur einen einzigen Wert, der hier stehen kann". Sind alle anderen Werte bis auf einen für eine Zelle unmöglich,

Mehr

TECHNISCHE UNIVERSITÄT MÜNCHEN

TECHNISCHE UNIVERSITÄT MÜNCHEN TECHISCHE UIVERSITÄT MÜCHE Zentrum Mathematik PRF. R.R. JÜRGE RICHTER-GEBERT, VAESSA KRUMMECK, MICHAEL PRÄHFER Höhere Mathematik für Informatiker I (Wintersemester 003/004) Aufgabenblatt 1 (4. ktober 003)

Mehr

Im Gegensatz zum idealen Gas bildet sich bei realen Gasen ein flüssiger und fester Aggregatzustand (Phase) aus.

Im Gegensatz zum idealen Gas bildet sich bei realen Gasen ein flüssiger und fester Aggregatzustand (Phase) aus. Aggregatzutände: Im Gegenatz zum idealen Ga bildet ich bei realen Gaen ein flüiger und feter Aggregatzutand (Phae) au. Dicht benachbarte Atome üben anziehende Kräfte aufeinander au E ot E ot Ideale Ga

Mehr

Informationsblatt Induktionsbeweis

Informationsblatt Induktionsbeweis Sommer 015 Informationsblatt Induktionsbeweis 31. März 015 Motivation Die vollständige Induktion ist ein wichtiges Beweisverfahren in der Informatik. Sie wird häufig dazu gebraucht, um mathematische Formeln

Mehr

Gleichungen Lösen. Ein graphischer Blick auf Gleichungen

Gleichungen Lösen. Ein graphischer Blick auf Gleichungen Gleichungen Lösen Was bedeutet es, eine Gleichung zu lösen? Was ist überhaupt eine Gleichung? Eine Gleichung ist, grundsätzlich eine Aussage über zwei mathematische Terme, dass sie gleich sind. Ein Term

Mehr

Informatik Kurs Simulation. Hilfe für den Consideo Modeler

Informatik Kurs Simulation. Hilfe für den Consideo Modeler Hilfe für den Consideo Modeler Consideo stellt Schulen den Modeler kostenlos zur Verfügung. Wenden Sie sich an: http://consideo-modeler.de/ Der Modeler ist ein Werkzeug, das nicht für schulische Zwecke

Mehr

Professionelle Seminare im Bereich MS-Office

Professionelle Seminare im Bereich MS-Office Der Name BEREICH.VERSCHIEBEN() ist etwas unglücklich gewählt. Man kann mit der Funktion Bereiche zwar verschieben, man kann Bereiche aber auch verkleinern oder vergrößern. Besser wäre es, die Funktion

Mehr

DM280-1F Luftkissenfahrbahn

DM280-1F Luftkissenfahrbahn DM80-F Luftkienfahrbahn Die Luftkienfahrbahn DM80-F dient zur Demontration von Veruchen zur Dynamik und Kinematik geradliniger Bewegung feter Körper. Diee Anleitung oll Sie mit der Bedienung und den Demontrationmöglichkeiten

Mehr

Konzepte der Informatik

Konzepte der Informatik Konzepte der Informatik Vorkurs Informatik zum WS 2011/2012 26.09. - 30.09.2011 17.10. - 21.10.2011 Dr. Werner Struckmann / Christoph Peltz Stark angelehnt an Kapitel 1 aus "Abenteuer Informatik" von Jens

Mehr

16. All Pairs Shortest Path (ASPS)

16. All Pairs Shortest Path (ASPS) . All Pairs Shortest Path (ASPS) All Pairs Shortest Path (APSP): Eingabe: Gewichteter Graph G=(V,E) Ausgabe: Für jedes Paar von Knoten u,v V die Distanz von u nach v sowie einen kürzesten Weg a b c d e

Mehr

Die reellen Lösungen der kubischen Gleichung

Die reellen Lösungen der kubischen Gleichung Die reellen Lösungen der kubischen Gleichung Klaus-R. Löffler Inhaltsverzeichnis 1 Einfach zu behandelnde Sonderfälle 1 2 Die ganzrationale Funktion dritten Grades 2 2.1 Reduktion...........................................

Mehr

Frohe Weihnachten und ein gutes neues Jahr!

Frohe Weihnachten und ein gutes neues Jahr! Frohe Weihnachten und ein gutes neues Jahr! Die mit dem Stern * gekennzeichneten Übungen sind nicht verpflichtend, aber sie liefern zusätzliche Punkte. Unten wird immer mit I das reelle Intervall [0, 1]

Mehr

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

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage: Zählen und Zahlbereiche Übungsblatt 1 1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage: Für alle m, n N gilt m + n = n + m. in den Satz umschreiben:

Mehr

Erstellen von x-y-diagrammen in OpenOffice.calc

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

Mehr

Korrelation (II) Korrelation und Kausalität

Korrelation (II) Korrelation und Kausalität Korrelation (II) Korrelation und Kausalität Situation: Seien X, Y zwei metrisch skalierte Merkmale mit Ausprägungen (x 1, x 2,..., x n ) bzw. (y 1, y 2,..., y n ). D.h. für jede i = 1, 2,..., n bezeichnen

Mehr

Kapitel 6: Graphalgorithmen Gliederung

Kapitel 6: Graphalgorithmen Gliederung Gliederung 1. Grundlagen 2. Zahlentheoretische Algorithmen 3. Sortierverfahren 4. Ausgewählte Datenstrukturen 5. Dynamisches Programmieren 6. Graphalgorithmen 7. String-Matching 8. Kombinatorische Algorithmen

Mehr

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

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

Mehr

Rekursionen. Georg Anegg 25. November 2009. Methoden und Techniken an Beispielen erklärt

Rekursionen. Georg Anegg 25. November 2009. Methoden und Techniken an Beispielen erklärt Methoden und Techniken an Beispielen erklärt Georg Anegg 5. November 009 Beispiel. Die Folge {a n } sei wie folgt definiert (a, d, q R, q ): a 0 a, a n+ a n q + d (n 0) Man bestimme eine explizite Darstellung

Mehr

Handbuch Fischertechnik-Einzelteiltabelle V3.7.3

Handbuch Fischertechnik-Einzelteiltabelle V3.7.3 Handbuch Fischertechnik-Einzelteiltabelle V3.7.3 von Markus Mack Stand: Samstag, 17. April 2004 Inhaltsverzeichnis 1. Systemvorraussetzungen...3 2. Installation und Start...3 3. Anpassen der Tabelle...3

Mehr

50. Mathematik-Olympiade 2. Stufe (Regionalrunde) Klasse 11 13. 501322 Lösung 10 Punkte

50. Mathematik-Olympiade 2. Stufe (Regionalrunde) Klasse 11 13. 501322 Lösung 10 Punkte 50. Mathematik-Olympiade. Stufe (Regionalrunde) Klasse 3 Lösungen c 00 Aufgabenausschuss des Mathematik-Olympiaden e.v. www.mathematik-olympiaden.de. Alle Rechte vorbehalten. 503 Lösung 0 Punkte Es seien

Mehr

Lineare Funktionen. 1 Proportionale Funktionen 3 1.1 Definition... 3 1.2 Eigenschaften... 3. 2 Steigungsdreieck 3

Lineare Funktionen. 1 Proportionale Funktionen 3 1.1 Definition... 3 1.2 Eigenschaften... 3. 2 Steigungsdreieck 3 Lineare Funktionen Inhaltsverzeichnis 1 Proportionale Funktionen 3 1.1 Definition............................... 3 1.2 Eigenschaften............................. 3 2 Steigungsdreieck 3 3 Lineare Funktionen

Mehr

V 2 B, C, D Drinks. Möglicher Lösungsweg a) Gleichungssystem: 300x + 400 y = 520 300x + 500y = 597,5 2x3 Matrix: Energydrink 0,7 Mineralwasser 0,775,

V 2 B, C, D Drinks. Möglicher Lösungsweg a) Gleichungssystem: 300x + 400 y = 520 300x + 500y = 597,5 2x3 Matrix: Energydrink 0,7 Mineralwasser 0,775, Aufgabenpool für angewandte Mathematik / 1. Jahrgang V B, C, D Drinks Ein gastronomischer Betrieb kauft 300 Dosen Energydrinks (0,3 l) und 400 Liter Flaschen Mineralwasser und zahlt dafür 50, Euro. Einen

Mehr

Lehreinheit 09 Prozesssimulation II: Prozesssimulation mit einfachen Petri-Netzen Wintersemester 2012/2013

Lehreinheit 09 Prozesssimulation II: Prozesssimulation mit einfachen Petri-Netzen Wintersemester 2012/2013 Dynamiche Unternehmenmodellierung und -imulation (ehemal: Buine Dynamic - Dynamiche Modellierung und Simulation komplexer Gechäftyteme, Arbeitwienchaft V) Lehreinheit 09 Prozeimulation : Prozeimulation

Mehr

Die Komplexitätsklassen P und NP

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

Mehr

Approximation durch Taylorpolynome

Approximation durch Taylorpolynome TU Berlin Fakultät II - Mathematik und Naturwissenschaften Sekretariat MA 4-1 Straße des 17. Juni 10623 Berlin Hochschultag Approximation durch Taylorpolynome Im Rahmen der Schülerinnen- und Schüler-Uni

Mehr

Beispiellösungen zu Blatt 111

Beispiellösungen zu Blatt 111 µ κ Mathematisches Institut Georg-August-Universität Göttingen Beispiellösungen zu Blatt 111 Aufgabe 1 Ludwigshafen hat einen Bahnhof in Dreiecksform. Markus, Sabine und Wilhelm beobachten den Zugverkehr

Mehr

Matrizennorm. Definition 1. Sei A M r,s (R). Dann heißt A := sup die Matrixnorm. Wir wissen zunächst nicht, ob A eine reelle Zahl ist.

Matrizennorm. Definition 1. Sei A M r,s (R). Dann heißt A := sup die Matrixnorm. Wir wissen zunächst nicht, ob A eine reelle Zahl ist. Matrizennorm Es seien r,s N Mit M r,s (R bezeichnen wir die Menge der reellen r s- Matrizen (also der linearen Abbildungen R s R r, und setze M s (R := M s,s (R (also die Menge der linearen Abbildungen

Mehr

LU-Zerlegung. Zusätze zum Gelben Rechenbuch. Peter Furlan. Verlag Martina Furlan. Inhaltsverzeichnis. 1 Definitionen.

LU-Zerlegung. Zusätze zum Gelben Rechenbuch. Peter Furlan. Verlag Martina Furlan. Inhaltsverzeichnis. 1 Definitionen. Zusätze zum Gelben Rechenbuch LU-Zerlegung Peter Furlan Verlag Martina Furlan Inhaltsverzeichnis Definitionen 2 (Allgemeine) LU-Zerlegung 2 3 Vereinfachte LU-Zerlegung 3 4 Lösung eines linearen Gleichungssystems

Mehr

Betragsgleichungen und die Methode der Fallunterscheidungen

Betragsgleichungen und die Methode der Fallunterscheidungen mathe online Skripten http://www.mathe-online.at/skripten/ Betragsgleichungen und die Methode der Fallunterscheidungen Franz Embacher Fakultät für Mathematik der Universität Wien E-mail: franz.embacher@univie.ac.at

Mehr

Beispiel 1 Modellbildung und Identifikation

Beispiel 1 Modellbildung und Identifikation Beipiel Moellbilung un Ientifikation Für eine GaFlutrecke oll ein mathematiche Moell ermittelt weren. Einganggröße er trecke it eine tellpannung u t. Auganggröße er trecke it er momentane GaFlu q. u t

Mehr

In diesem Thema lernen wir die Grundlagen der Datenbanken kennen und werden diese lernen einzusetzen. Access. Die Grundlagen der Datenbanken.

In diesem Thema lernen wir die Grundlagen der Datenbanken kennen und werden diese lernen einzusetzen. Access. Die Grundlagen der Datenbanken. In diesem Thema lernen wir die Grundlagen der Datenbanken kennen und werden diese lernen einzusetzen. Access Die Grundlagen der Datenbanken kurspc15 Inhaltsverzeichnis Access... Fehler! Textmarke nicht

Mehr

Persönliche Zukunftsplanung mit Menschen, denen nicht zugetraut wird, dass sie für sich selbst sprechen können Von Susanne Göbel und Josef Ströbl

Persönliche Zukunftsplanung mit Menschen, denen nicht zugetraut wird, dass sie für sich selbst sprechen können Von Susanne Göbel und Josef Ströbl Persönliche Zukunftsplanung mit Menschen, denen nicht zugetraut Von Susanne Göbel und Josef Ströbl Die Ideen der Persönlichen Zukunftsplanung stammen aus Nordamerika. Dort werden Zukunftsplanungen schon

Mehr

Spielanleitung. Art.-Nr.: 60 610 4539 Spieleautoren: Arno Steinwender und Christoph Puhl

Spielanleitung. Art.-Nr.: 60 610 4539 Spieleautoren: Arno Steinwender und Christoph Puhl Spielanleitung Art.-Nr.: 60 610 4539 Spieleautoren: Arno Steinwender und Christoph Puhl Spielangaben Spieler: 2-4 Alter: ab 10 Jahre / Erwachsene Spieleautoren: Arno Steinwender und Christoph Puhl Inhalt:

Mehr

Automatisches Parallelisieren

Automatisches Parallelisieren Automatisches Parallelisieren Vorlesung im Wintersemester 2010/11 Eberhard Zehendner FSU Jena Thema: Datenabhängigkeitsanalyse Eberhard Zehendner (FSU Jena) Automatisches Parallelisieren Datenabhängigkeitsanalyse

Mehr

Mathematik für Studierende der Biologie und des Lehramtes Chemie Wintersemester 2013/14. Auswahl vorausgesetzter Vorkenntnisse

Mathematik für Studierende der Biologie und des Lehramtes Chemie Wintersemester 2013/14. Auswahl vorausgesetzter Vorkenntnisse UNIVERSITÄT DES SAARLANDES FACHRICHTUNG 6.1 MATHEMATIK Dipl.-Math. Kevin Everard Mathematik für Studierende der Biologie und des Lehramtes Chemie Wintersemester 2013/14 Auswahl vorausgesetzter Vorkenntnisse

Mehr

6.2 Scan-Konvertierung (Scan Conversion)

6.2 Scan-Konvertierung (Scan Conversion) 6.2 Scan-Konvertierung (Scan Conversion) Scan-Konvertierung ist die Rasterung von einfachen Objekten (Geraden, Kreisen, Kurven). Als Ausgabemedium dient meist der Bildschirm, der aus einem Pixelraster

Mehr

Access [basics] Gruppierungen in Abfragen. Beispieldatenbank. Abfragen gruppieren. Artikel pro Kategorie zählen

Access [basics] Gruppierungen in Abfragen. Beispieldatenbank. Abfragen gruppieren. Artikel pro Kategorie zählen Abfragen lassen sich längst nicht nur dazu benutzen, die gewünschten Felder oder Datensätze einer oder mehrerer Tabellen darzustellen. Sie können Daten auch nach bestimmten Kriterien zu Gruppen zusammenfassen

Mehr

Ein neuer Beweis, dass die Newton sche Entwicklung der Potenzen des Binoms auch für gebrochene Exponenten gilt

Ein neuer Beweis, dass die Newton sche Entwicklung der Potenzen des Binoms auch für gebrochene Exponenten gilt Ein neuer Beweis, dass die Newton sche Entwicklung der Potenzen des Binoms auch für gebrochene Exponenten gilt Leonhard Euler 1 Wann immer in den Anfängen der Analysis die Potenzen des Binoms entwickelt

Mehr

Gleitkommaarithmetik und Pivotsuche bei Gauß-Elimination. Lehrstuhl für Angewandte Mathematik Wintersemester 2009/10. 14.

Gleitkommaarithmetik und Pivotsuche bei Gauß-Elimination. Lehrstuhl für Angewandte Mathematik Wintersemester 2009/10. 14. Gleitkommaarithmetik und Pivotsuche bei Gauß-Elimination Vorlesung Computergestützte Mathematik zur Linearen Algebra Lehrstuhl für Angewandte Mathematik Wintersemester 2009/0 4. Januar 200 Instabilitäten

Mehr

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom 21.10.2013b

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom 21.10.2013b AGROPLUS Buchhaltung Daten-Server und Sicherheitskopie Version vom 21.10.2013b 3a) Der Daten-Server Modus und der Tresor Der Daten-Server ist eine Betriebsart welche dem Nutzer eine grosse Flexibilität

Mehr

Mit der Finanzakademie zum/zur Experten/Expertin für Finanz- und Rechnungswesen. Investieren Sie in Ihren Karriere-Aufschwung

Mit der Finanzakademie zum/zur Experten/Expertin für Finanz- und Rechnungswesen. Investieren Sie in Ihren Karriere-Aufschwung Mit der Finanzakademie zum/zur Experten/Expertin für Finanz- und Rechnungween Invetieren Sie in Ihren Karriere-Aufchwung www.wifiwien.at/finanzakademie WIFI Wien 2011/12 Zu Haue in der Welt der Finanzen

Mehr

Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten

Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten In dem Virtuellen Seminarordner werden für die Teilnehmerinnen und Teilnehmer des Seminars alle für das Seminar wichtigen Informationen,

Mehr

Erweiterung der Aufgabe. Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen:

Erweiterung der Aufgabe. Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen: VBA Programmierung mit Excel Schleifen 1/6 Erweiterung der Aufgabe Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen: Es müssen also 11 (B L) x 35 = 385 Zellen berücksichtigt

Mehr

Eigenwerte und Eigenvektoren von Matrizen

Eigenwerte und Eigenvektoren von Matrizen Eigenwerte und Eigenvektoren von Matrizen Das Eigenwertproblem Sei A eine quadratische Matrix vom Typ m,m. Die Aufgabe, eine Zahl λ und einen dazugehörigen Vektor x zu finden, damit Ax = λx ist, nennt

Mehr

Grundlagen des Maschinellen Lernens Kap. 4: Lernmodelle Teil II

Grundlagen des Maschinellen Lernens Kap. 4: Lernmodelle Teil II 1. Motivation 2. Lernmodelle Teil I 2.1. Lernen im Limes 2.2. Fallstudie: Lernen von Patternsprachen 3. Lernverfahren in anderen Domänen 3.1. Automatensynthese 3.2. Entscheidungsbäume 3.3. Entscheidungsbäume

Mehr

Anleitung. zur. Konfiguration. des. WLAN Repeaters

Anleitung. zur. Konfiguration. des. WLAN Repeaters Anleitung zur Konfiguration de WLAN Repeater (Art. Nr. SD-REP-2 ) Stand: 06.06.07 Inhaltverzeichni. Eintellungen WLAN Router. Einloggen WLAN Router.2 IP-Eintellungen WLAN-Router.3 Kanal WLAN-Router.4 WLAN

Mehr

Generisches Programmieren

Generisches Programmieren Generiche Programmieren homa Röfer Generiche Klaen und Interface Generiche ypen ypebound Wildcard-ypen Überetzung genericher Klaen Grenzen genericher ypen Polymorphe Methoden Rückblick Vererbung Pakete

Mehr

Lösungsvorschlag für die Probeklausuren und Klausuren zu Algebra für Informations- und Kommunikationstechniker bei Prof. Dr.

Lösungsvorschlag für die Probeklausuren und Klausuren zu Algebra für Informations- und Kommunikationstechniker bei Prof. Dr. Lösungsvorschlag für die Probeklausuren und Klausuren zu Algebra für Informations- und Kommunikationstechniker bei Prof. Dr. Kurzweil Florian Franzmann André Diehl Kompiliert am 10. April 2006 um 18:33

Mehr

4 Vorlesung: 21.11. 2005 Matrix und Determinante

4 Vorlesung: 21.11. 2005 Matrix und Determinante 4 Vorlesung: 2111 2005 Matrix und Determinante 41 Matrix und Determinante Zur Lösung von m Gleichungen mit n Unbekannten kann man alle Parameter der Gleichungen in einem rechteckigen Zahlenschema, einer

Mehr

Lineare Differentialgleichungen erster Ordnung erkennen

Lineare Differentialgleichungen erster Ordnung erkennen Lineare Differentialgleichungen erster Ordnung In diesem Kapitel... Erkennen, wie Differentialgleichungen erster Ordnung aussehen en für Differentialgleichungen erster Ordnung und ohne -Terme finden Die

Mehr

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen Binäre Bäume 1. Allgemeines Binäre Bäume werden grundsätzlich verwendet, um Zahlen der Größe nach, oder Wörter dem Alphabet nach zu sortieren. Dem einfacheren Verständnis zu Liebe werde ich mich hier besonders

Mehr

Grundlagen: Algorithmen und Datenstrukturen

Grundlagen: Algorithmen und Datenstrukturen Grundlagen: Algorithmen und Datentrukturen Prof. Dr. Hanjo Täubig Lehrtuhl für Effiziente Algorithmen (Prof. Dr. Ernt W. Mayr) Intitut für Informatik Techniche Univerität München Sommeremeter H. Täubig

Mehr

Plotten von Linien ( nach Jack Bresenham, 1962 )

Plotten von Linien ( nach Jack Bresenham, 1962 ) Plotten von Linien ( nach Jack Bresenham, 1962 ) Ac Eine auf dem Bildschirm darzustellende Linie sieht treppenförmig aus, weil der Computer Linien aus einzelnen (meist quadratischen) Bildpunkten, Pixels

Mehr