Dans les cours précédents de notre spécialisation en ligne, vous avez appris les algorithmes de base, et vous êtes maintenant prêt à entrer dans le domaine des problèmes plus complexes et des algorithmes pour les résoudre. Les algorithmes avancés s'appuient sur les algorithmes de base et utilisent de nouvelles idées. Nous commencerons par les flux de réseaux qui sont utilisés dans des applications plus typiques telles que les correspondances optimales, la recherche de chemins disjoints et la planification des vols, ainsi que dans des applications plus surprenantes telles que la segmentation d'images dans la vision par ordinateur. Nous passerons ensuite à la programmation linéaire avec des applications dans l'optimisation de l'allocation budgétaire, l'optimisation de portefeuille, la recherche du régime alimentaire le moins cher satisfaisant toutes les exigences et bien d'autres. Nous abordons ensuite les problèmes intrinsèquement difficiles pour lesquels aucune solution exacte n'est connue (et qu'il est peu probable de trouver) et la manière de les résoudre en pratique. Nous terminons par une introduction douce aux algorithmes de streaming qui sont largement utilisés dans le traitement des données massives (Big Data). Ces algorithmes sont généralement conçus pour pouvoir traiter d'énormes ensembles de données sans même pouvoir stocker un ensemble de données.
Offrez à votre carrière le cadeau de Coursera Plus avec $160 de réduction, facturé annuellement. Économisez aujourd’hui.
Algorithmes avancés et complexité
Ce cours fait partie de Spécialisation Structures de données et algorithmes
Instructeurs : Neil Rhodes
83 654 déjà inscrits
Inclus avec
(692 avis)
Compétences que vous acquerrez
- Catégorie : Programmation en Python
- Catégorie : Programmation linéaire (LP)
- Catégorie : Np-Complétude
- Catégorie : Programmation dynamique
Détails à connaître
Ajouter à votre profil LinkedIn
5 devoirs
Découvrez comment les employés des entreprises prestigieuses maîtrisent des compétences recherchées
Élaborez votre expertise du sujet
- Apprenez de nouveaux concepts auprès d'experts du secteur
- Acquérez une compréhension de base d'un sujet ou d'un outil
- Développez des compétences professionnelles avec des projets pratiques
- Obtenez un certificat professionnel partageable
Obtenez un certificat professionnel
Ajoutez cette qualification à votre profil LinkedIn ou à votre CV
Partagez-le sur les réseaux sociaux et dans votre évaluation de performance
Il y a 5 modules dans ce cours
Les flux de réseau apparaissent dans de nombreuses situations réelles où un bien doit être transporté sur un réseau dont la capacité est limitée. Vous pouvez l'observer lors de l'expédition de marchandises sur les autoroutes et lors de l'acheminement de paquets sur l'internet. Dans cette unité, nous discuterons des fondements mathématiques des flux de réseaux et de certains algorithmes de flux importants. Nous donnerons également des exemples surprenants de problèmes apparemment sans rapport qui peuvent être résolus grâce à notre connaissance des flux de réseaux.
Inclus
9 vidéos5 lectures1 devoir1 devoir de programmation1 plugin
La programmation linéaire est un outil algorithmique très puissant. Essentiellement, un problème de programmation linéaire vous demande d'optimiser une fonction linéaire de variables réelles contrainte par un système d'inégalités linéaires. Il s'agit d'un cadre extrêmement polyvalent qui généralise immédiatement les problèmes de flux, mais qui peut également être utilisé pour discuter d'une grande variété d'autres problèmes, depuis l'optimisation des procédures de production jusqu'à la recherche du moyen le moins coûteux d'obtenir un régime alimentaire sain. Étonnamment, ce cadre très général admet des algorithmes efficaces. Dans cette unité, nous discuterons de l'importance des problèmes de programmation linéaire ainsi que des outils utilisés pour les résoudre.
Inclus
10 vidéos1 lecture1 devoir1 devoir de programmation
Bien que la plupart des algorithmes que vous avez appris jusqu'à présent soient souvent appliqués dans la pratique, il s'avère que le monde est dominé par des problèmes réels pour lesquels il n'existe pas d'algorithme prouvé efficace. Nombre de ces problèmes peuvent être réduits à l'un des problèmes classiques appelés problèmes NP-complets, qui soit ne peuvent être résolus par un algorithme polynomial, soit vous permettraient de gagner un million de dollars (voir les problèmes du Millenium Prize) et une renommée mondiale éternelle pour avoir résolu le principal problème de l'informatique, appelé P vs NP. Il est bon de le savoir avant d'essayer de résoudre un problème avant la date limite du lendemain :) Bien qu'il soit très peu probable que ces problèmes puissent être résolus efficacement dans un avenir proche, les gens trouvent toujours des solutions de contournement. Dans ce module, vous étudierez les problèmes NP-complets classiques et les réductions entre eux. Vous vous entraînerez également à résoudre de grandes instances de certains de ces problèmes malgré leur difficulté en utilisant des logiciels spécialisés très efficaces basés sur des tonnes de recherches dans le domaine des problèmes NP-complets.
Inclus
16 vidéos2 lectures1 devoir1 devoir de programmation1 plugin
Après le module précédent, vous êtes peut-être triste : vous venez de suivre 5 cours sur les algorithmes pour apprendre qu'ils ne sont pas adaptés à la plupart des problèmes du monde réel. Mais n'abandonnez pas pour autant ! Les gens sont créatifs, et ils ont besoin de résoudre ces problèmes de toute façon, donc en pratique il y a souvent des moyens de faire face à un problème NP-complet. Nous commençons par montrer que certains cas particuliers de problèmes NP-complets peuvent, en fait, être résolus en temps polynomial. Nous considérons ensuite des algorithmes exacts qui trouvent une solution beaucoup plus rapidement que l'algorithme de force brute. Nous concluons avec des algorithmes d'approximation qui fonctionnent en temps polynomial et trouvent une solution proche de l'optimum.
Inclus
11 vidéos1 lecture1 devoir1 devoir de programmation
Dans la plupart des exposés précédents, nous nous sommes intéressés à la conception d'algorithmes ayant un temps d'exécution rapide (par exemple un petit polynôme) et nous avons supposé que l'algorithme avait un accès aléatoire à ses données d'entrée, qui sont chargées en mémoire. Cependant, dans de nombreuses applications modernes d'analyse de données massives, l'entrée est si volumineuse qu'elle ne peut pas être stockée en mémoire. Au lieu de cela, l'entrée est présentée sous la forme d'un flux de mises à jour, que l'algorithme parcourt tout en conservant un petit résumé du flux vu jusqu'à présent. C'est précisément le cadre du modèle de calcul en continu, que nous étudions dans ce cours. Le modèle de flux est bien adapté à la conception et au raisonnement sur les algorithmes à espace réduit. Il a reçu beaucoup d'attention dans la littérature, et plusieurs primitives algorithmiques puissantes pour calculer les statistiques de base des flux dans ce modèle ont été conçues, plusieurs d'entre elles ayant un impact sur la pratique de l'analyse des données massives (big data). Dans cet exposé, nous verrons l'un de ces algorithmes (CountSketch), un algorithme à espace réduit permettant de trouver les k éléments les plus fréquents dans un flux de données.
Inclus
10 vidéos1 devoir1 devoir de programmation
Instructeurs
Offert par
Recommandé si vous êtes intéressé(e) par Algorithmes
University of Colorado Boulder
DeepLearning.AI
University of Leeds
Macquarie University
Pour quelles raisons les étudiants sur Coursera nous choisissent-ils pour leur carrière ?
Avis des étudiants
Affichage de 3 sur 692
692 avis
- 5 stars
72,68 %
- 4 stars
17,91 %
- 3 stars
5,34 %
- 2 stars
1,73 %
- 1 star
2,31 %
Ouvrez de nouvelles portes avec Coursera Plus
Accès illimité à plus de 7 000 cours de renommée internationale, à des projets pratiques et à des programmes de certificats reconnus sur le marché du travail, tous inclus dans votre abonnement
Faites progresser votre carrière avec un diplôme en ligne
Obtenez un diplôme auprès d’universités de renommée mondiale - 100 % en ligne
Rejoignez plus de 3 400 entreprises mondiales qui ont choisi Coursera pour les affaires
Améliorez les compétences de vos employés pour exceller dans l’économie numérique
Foire Aux Questions
L'accès aux cours et aux devoirs dépend de votre type d'inscription. Si vous suivez un cours en mode audit, vous pourrez consulter gratuitement la plupart des supports de cours. Pour accéder aux devoirs notés et obtenir un certificat, vous devrez acheter l'expérience de certificat, pendant ou après votre audit. Si vous ne voyez pas l'option d'audit :
Il se peut que le cours ne propose pas d'option d'audit. Vous pouvez essayer un essai gratuit ou demander une aide financière.
Le cours peut proposer l'option "Cours complet, pas de certificat" à la place. Cette option vous permet de consulter tous les supports de cours, de soumettre les évaluations requises et d'obtenir une note finale. Cela signifie également que vous ne pourrez pas acheter un certificat d'expérience.
Lorsque vous vous inscrivez au cours, vous avez accès à tous les cours de la Specializations, et vous obtenez un certificat lorsque vous terminez le travail. Votre certificat électronique sera ajouté à votre page de réalisations - de là, vous pouvez imprimer votre certificat ou l'ajouter à votre profil LinkedIn. Si vous souhaitez uniquement lire et visualiser le contenu du cours, vous pouvez auditer le cours gratuitement.
Si vous vous êtes abonné, vous bénéficiez d'une période d'essai gratuite de 7 jours pendant laquelle vous pouvez annuler votre abonnement sans pénalité. Après cette période, nous ne remboursons pas, mais vous pouvez résilier votre abonnement à tout moment. Consultez notre politique de remboursement complète.