Video: Week 2, continued 2024
Grådig argumentation bruges ofte som en del af en optimeringsproces. Algoritmen ser problemet et skridt ad gangen og fokuserer bare på det aktuelle trin. Hver grådige algoritme gør to antagelser:
- Du kan lave et enkelt optimalt valg i et givet trin.
- Ved at vælge det optimale valg i hvert trin, kan du finde en optimal løsning til det overordnede problem.
Du kan finde mange grådige algoritmer, hver optimeret til at udføre bestemte opgaver. Her er nogle almindelige eksempler på grådige algoritmer, der bruges til grafanalyse og datakomprimering, og årsagen til at du måske vil bruge dem:
- Kruskals Minimale Spanning Tree (MST): Denne algoritme demonstrerer faktisk et af principperne om grådige algoritmer, som folk måske ikke tænker på med det samme. I dette tilfælde vælger algoritmen kanten mellem to knuder med den mindste værdi, ikke den største værdi, som ordet grådig kan indledningsvis overføre. Denne form for algoritme kan hjælpe dig med at finde den korteste vej mellem to steder på et kort eller udføre andre grafrelaterede opgaver.
- Prim's MST: Denne algoritme deler en uindrettet graf (en i hvilken retning ikke overvejes) i halvdelen. Det vælger derefter kanten, der forbinder de to halvdele, således at den samlede vægt af de to halvdele er den mindste, at den kan være. Du kan finde denne algoritme, der bruges i et labyrintspil, for at finde den korteste afstand mellem starten og slutningen af labyrinten.
- Huffman Encoding: Denne algoritme er ret berømt i computere, fordi den danner grundlaget for mange datakomprimeringsteknikker. Algoritmen tildeler en kode til hver unik dataindtastning i en strøm af poster, således at den mest almindeligt anvendte dataindtastning modtager den korteste kode. For eksempel vil brevet E normalt modtage den korteste kode, når du komprimerer engelsk tekst, fordi du bruger det oftere end noget andet bogstav i alfabetet. Ved at ændre kodningsteknikken kan du komprimere teksten og gøre den væsentligt mindre, hvilket reducerer transmissionstid.