In den vorangegangenen Kursen unserer Online-Spezialisierung haben Sie die grundlegenden Algorithmen erlernt. Jetzt sind Sie bereit, in den Bereich der komplexeren Probleme und Algorithmen zu deren Lösung vorzustoßen. Fortgeschrittene Algorithmen bauen auf den grundlegenden Algorithmen auf und verwenden neue Ideen. Wir beginnen mit Netzwerkflüssen, die in typischen Anwendungen wie optimalen Übereinstimmungen, der Suche nach disjunkten Pfaden und der Flugplanung verwendet werden, aber auch in eher überraschenden Anwendungen wie der Bildsegmentierung in der Computer Vision. Dann fahren wir mit der linearen Programmierung fort, die bei der Optimierung der Budgetzuweisung, der Portfolio-Optimierung, der Suche nach der billigsten Diät, die alle Anforderungen erfüllt, und vielen anderen Anwendungen zum Einsatz kommt. Als nächstes erörtern wir inhärent schwierige Probleme, für die keine exakten guten Lösungen bekannt sind (und wahrscheinlich auch nicht gefunden werden) und wie man sie in der Praxis löst. Wir schließen mit einer sanften Einführung in Streaming-Algorithmen, die bei der Verarbeitung von Big Data häufig verwendet werden. Solche Algorithmen sind in der Regel so konzipiert, dass sie riesige Datensätze verarbeiten können, ohne dass sie überhaupt einen Datensatz speichern können.
Schenken Sie Ihrer Karriere Coursera Plus mit einem Rabatt von $160 , der jährlich abgerechnet wird. Sparen Sie heute.
Fortgeschrittene Algorithmen und Komplexität
Dieser Kurs ist Teil von Spezialisierung Datenstrukturen und Algorithmen
Dozenten: Neil Rhodes
83.654 bereits angemeldet
Bei enthalten
(692 Bewertungen)
Kompetenzen, die Sie erwerben
- Kategorie: Python-Programmierung
- Kategorie: Lineare Programmierung (LP)
- Kategorie: Np-Vollständigkeit
- Kategorie: Dynamische Programmierung
Wichtige Details
Zu Ihrem LinkedIn-Profil hinzufügen
5 Aufgaben
Erfahren Sie, wie Mitarbeiter führender Unternehmen gefragte Kompetenzen erwerben.
Erweitern Sie Ihre Fachkenntnisse
- Lernen Sie neue Konzepte von Branchenexperten
- Gewinnen Sie ein Grundverständnis bestimmter Themen oder Tools
- Erwerben Sie berufsrelevante Kompetenzen durch praktische Projekte
- Erwerben Sie ein Berufszertifikat zur Vorlage
Erwerben Sie ein Karrierezertifikat.
Fügen Sie diese Qualifikation zur Ihrem LinkedIn-Profil oder Ihrem Lebenslauf hinzu.
Teilen Sie es in den sozialen Medien und in Ihrer Leistungsbeurteilung.
In diesem Kurs gibt es 5 Module
Netzwerkflüsse treten in vielen realen Situationen auf, in denen ein Gut über ein Netzwerk mit begrenzter Kapazität transportiert werden muss. Sie können sie beim Transport von Waren über Autobahnen und beim Routing von Paketen über das Internet beobachten. In dieser Lektion werden wir die mathematischen Grundlagen von Netzwerkflüssen und einige wichtige Flow-Algorithmen besprechen. Wir werden auch einige überraschende Beispiele für scheinbar nicht verwandte Probleme geben, die mit unserem Wissen über Netzwerkflüsse gelöst werden können.
Das ist alles enthalten
9 Videos5 Lektüren1 Aufgabe1 Programmieraufgabe1 Plug-in
Die lineare Programmierung ist ein sehr leistungsfähiges algorithmisches Werkzeug. Im Wesentlichen geht es bei einem linearen Programmierproblem darum, eine lineare Funktion reeller Variablen zu optimieren, die durch ein System linearer Ungleichungen eingeschränkt wird. Dies ist ein äußerst vielseitiger Rahmen, der sich sofort auf die Verallgemeinerung von Flussproblemen anwenden lässt, aber auch zur Diskussion einer Vielzahl anderer Probleme verwendet werden kann, von der Optimierung von Produktionsverfahren bis hin zur Suche nach dem billigsten Weg zu einer gesunden Ernährung. Überraschenderweise lässt dieser sehr allgemeine Rahmen effiziente Algorithmen zu. In dieser Lektion werden wir einige der wichtigsten Probleme der linearen Programmierung sowie einige der Werkzeuge zu ihrer Lösung besprechen.
Das ist alles enthalten
10 Videos1 Lektüre1 Aufgabe1 Programmieraufgabe
Obwohl viele der Algorithmen, die Sie bisher gelernt haben, in der Praxis häufig angewandt werden, stellt sich heraus, dass die Welt von realen Problemen ohne einen bekannten, nachweislich effizienten Algorithmus dominiert wird. Viele dieser Probleme lassen sich auf eines der klassischen Probleme reduzieren, die als NP-komplette Probleme bezeichnet werden und die entweder nicht durch einen polynomialen Algorithmus gelöst werden können oder deren Lösung Ihnen eine Million Dollar (siehe Millenium Prize Problems) und ewigen Weltruhm für die Lösung des Hauptproblems der Informatik namens P vs NP einbringen würde. Es ist gut, das zu wissen, bevor Sie versuchen, ein Problem vor der morgigen Deadline zu lösen :) Obwohl es sehr unwahrscheinlich ist, dass diese Probleme in naher Zukunft effizient gelöst werden können, lassen sich die Menschen immer wieder verschiedene Umgehungslösungen einfallen. In diesem Modul werden Sie die klassischen NP-kompletten Probleme und die Reduktionen zwischen ihnen studieren. Sie werden auch üben, große Instanzen einiger dieser Probleme trotz ihrer Schwierigkeit zu lösen, indem Sie sehr effiziente Spezialsoftware verwenden, die auf tonnenweise Forschung im Bereich der NP-kompletten Probleme basiert.
Das ist alles enthalten
16 Videos2 Lektüren1 Aufgabe1 Programmieraufgabe1 Plug-in
Nach dem vorangegangenen Modul sind Sie vielleicht traurig: Sie haben gerade 5 Kurse über Algorithmen besucht, nur um zu erfahren, dass diese für die meisten Probleme der realen Welt nicht geeignet sind. Aber geben Sie noch nicht auf! Die Menschen sind kreativ und müssen diese Probleme sowieso lösen, so dass es in der Praxis oft Wege gibt, ein NP-komplettes Problem zu bewältigen. Wir zeigen zunächst, dass einige Spezialfälle von NP-kompletten Problemen tatsächlich in polynomieller Zeit gelöst werden können. Dann betrachten wir exakte Algorithmen, die eine Lösung viel schneller finden als der Brute-Force-Algorithmus. Wir schließen mit Approximationsalgorithmen, die in polynomieller Zeit arbeiten und eine Lösung finden, die nahe am Optimum liegt.
Das ist alles enthalten
11 Videos1 Lektüre1 Aufgabe1 Programmieraufgabe
In den meisten früheren Vorlesungen waren wir daran interessiert, Algorithmen mit einer schnellen (z.B. kleinen polynomiellen) Laufzeit zu entwerfen, und nahmen an, dass der Algorithmus zufälligen Zugriff auf seine Eingabe hat, die in den Speicher geladen wird. In vielen modernen Anwendungen der Big Data-Analyse ist die Eingabe jedoch so groß, dass sie nicht im Speicher abgelegt werden kann. Stattdessen wird die Eingabe als ein Strom von Aktualisierungen präsentiert, die der Algorithmus durchsucht, während er eine kleine Zusammenfassung des bisher gesehenen Stroms behält. Dies ist genau der Rahmen für das Streaming-Modell der Berechnung, das wir in dieser Vorlesung untersuchen. Das Streaming-Modell ist gut geeignet, um Algorithmen auf kleinem Raum zu entwerfen und darüber nachzudenken. Es hat in der Literatur viel Beachtung gefunden, und es wurden mehrere leistungsstarke algorithmische Primitive für die Berechnung grundlegender Stream-Statistiken in diesem Modell entwickelt, von denen einige die Praxis der Big Data-Analyse beeinflussen. In diesem Vortrag werden wir uns einen solchen Algorithmus (CountSketch) ansehen, einen Small Space Algorithmus zur Ermittlung der k häufigsten Elemente in einem Datenstrom.
Das ist alles enthalten
10 Videos1 Aufgabe1 Programmieraufgabe
Dozenten
Empfohlen, wenn Sie sich für Algorithmen interessieren
University of Colorado Boulder
DeepLearning.AI
University of Leeds
Macquarie University
Warum entscheiden sich Menschen für Coursera für ihre Karriere?
Bewertungen von Lernenden
Zeigt 3 von 692
692 Bewertungen
- 5 stars
72,68 %
- 4 stars
17,91 %
- 3 stars
5,34 %
- 2 stars
1,73 %
- 1 star
2,31 %
Geprüft am 25. Juli 2019
Geprüft am 6. Apr. 2019
Geprüft am 28. Nov. 2016
Neue Karrieremöglichkeiten mit Coursera Plus
Unbegrenzter Zugang zu über 7.000 erstklassigen Kursen, praktischen Projekten und Zertifikatsprogrammen, die Sie auf den Beruf vorbereiten – alles in Ihrem Abonnement enthalten
Bringen Sie Ihre Karriere mit einem Online-Abschluss voran.
Erwerben Sie einen Abschluss von erstklassigen Universitäten – 100 % online
Schließen Sie sich mehr als 3.400 Unternehmen in aller Welt an, die sich für Coursera for Business entschieden haben.
Schulen Sie Ihre Mitarbeiter*innen, um sich in der digitalen Wirtschaft zu behaupten.
Häufig gestellte Fragen
Der Zugang zu Vorlesungen und Aufgaben hängt von der Art Ihrer Einschreibung ab. Wenn Sie einen Kurs im Prüfungsmodus belegen, können Sie die meisten Kursmaterialien kostenlos einsehen. Um auf benotete Aufgaben zuzugreifen und ein Zertifikat zu erwerben, müssen Sie die Zertifikatserfahrung während oder nach Ihrer Prüfung erwerben. Wenn Sie die Prüfungsoption nicht sehen:
Der Kurs bietet möglicherweise keine Prüfungsoption. Sie können stattdessen eine kostenlose Testversion ausprobieren oder finanzielle Unterstützung beantragen.
Der Kurs bietet möglicherweise stattdessen die Option 'Vollständiger Kurs, kein Zertifikat'. Mit dieser Option können Sie alle Kursmaterialien einsehen, die erforderlichen Bewertungen abgeben und eine Abschlussnote erhalten. Dies bedeutet auch, dass Sie kein Zertifikat erwerben können.
Wenn Sie sich für den Kurs einschreiben, erhalten Sie Zugang zu allen Kursen der Specializations, und Sie erhalten ein Zertifikat, wenn Sie die Arbeit abgeschlossen haben. Ihr elektronisches Zertifikat wird Ihrer Erfolgsseite hinzugefügt - von dort aus können Sie Ihr Zertifikat ausdrucken oder zu Ihrem LinkedIn-Profil hinzufügen. Wenn Sie die Kursinhalte nur lesen und ansehen möchten, können Sie den Kurs kostenlos besuchen.
Wenn Sie ein Abonnement abgeschlossen haben, erhalten Sie eine kostenlose 7-tägige Testphase, in der Sie kostenlos kündigen können. Danach gewähren wir keine Rückerstattung, aber Sie können Ihr Abonnement jederzeit kündigen. Siehe unsere vollständigen Rückerstattungsbedingungen.