Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Hvad Er Dynamisk Programmering? | Dynamisk Programmering
Introduktion til Reinforcement Learning
course content

Kursusindhold

Introduktion til Reinforcement Learning

Introduktion til Reinforcement Learning

1. RL Kerneprincipper
2. Multi-Armet Bandit-Problem
3. Dynamisk Programmering
4. Monte Carlo-metoder
5. Temporal Difference-Læring

book
Hvad Er Dynamisk Programmering?

Note
Definition

Dynamisk programmering (DP)-metoder hjælper med at løse komplekse problemer ved at opdele store problemer i mindre delproblemer og løse dem rekursivt. I stedet for at løse det samme problem gentagne gange, udnytter DP tidligere beregnede løsninger for at fremskynde processen.

Det er særligt nyttigt i reinforcement learning (RL) til effektiv løsning af Markov beslutningsprocesser (MDP'er), når en fuldstændig model af miljøet er tilgængelig.

Note
Bemærk

Fra og med dette kapitel antages alle miljøer at være endelige MDP'er. Endelige MDP'er har endeligt tilstandsrum, endeligt handlingsrum og endeligt belønningssæt.

Betingelser for anvendelse af DP

Ikke alle problemer kan løses med DP. Der er to nøgleegenskaber, som et problem skal have, for at DP kan anvendes:

  • Optimal delstruktur: den optimale løsning på et problem kan udledes fra de optimale løsninger på dets delproblemer. I MDP'er betyder dette, at den optimale politik i en given tilstand afhænger af de optimale politikker for de efterfølgende tilstande. Fordi beslutninger i en MDP er sekventielle, fører løsningen af mindre delproblemer (at finde den bedste handling for fremtidige tilstande) til løsningen af det overordnede problem (at finde den bedste handling for den aktuelle tilstand);
  • Overlappende delproblemer: løsninger på delproblemer genbruges til at løse større problemer. I MDP'er er dette tydeligt, fordi værdien af en tilstand gentagne gange beregnes på tværs af forskellige beslutningssekvenser. Da tilstande ofte besøges igen, kan tidligere beregnede værdier gemmes og genbruges, hvilket reducerer overflødige beregninger og øger effektiviteten.

Hver node på billedet repræsenterer et rekursivt kald for at beregne Fib(n), og træstrukturen viser, hvordan disse kald opdeles i mindre delproblemer. Bemærk, at delproblemer som Fib(2) og Fib(1) optræder flere gange, hvilket demonstrerer overlappende delproblemer, mens løsningen på Fib(5) opbygges ud fra de optimale løsninger på dets delproblemer, hvilket demonstrerer optimal delstruktur. Denne redundans er det, som dynamisk programmering søger at eliminere ved at gemme og genbruge resultater.

Da MDP'er udviser både optimal delstruktur og overlappende delproblemer, er de velegnede til DP-baserede løsninger.

Hvorfor bruge DP i RL?

  • Optimalitetsgarantier: DP-metoder er garanteret at konvergere til den optimale politik, når den fulde model er kendt;
  • Effektivitet for generelle løsninger: med hjælp fra DP kan generelle løsninger opnås effektivt, hvilket betyder, at den resulterende politik vil være optimal for hver enkelt tilstand;
  • Grundlæggende for andre metoder: begreber fra DP danner grundlaget for andre RL-metoder, såsom Monte Carlo og temporal difference learning.

Dog er DP ikke anvendelig til store problemer på grund af afhængigheden af en fuld model og de beregningsmæssige krav, hvilket fører til de udfordringer, der diskuteres næste.

Udfordringer og begrænsninger ved dynamisk programmering

Selvom DP giver en elegant ramme for løsning af RL-problemer, medfører det betydelige udfordringer, der begrænser dets anvendelighed i virkelige scenarier:

  • Beregningsteknisk kompleksitet: DP-metoder kræver beregninger for hver enkelt tilstand i et miljø. Når tilstandsrum vokser, øges antallet af nødvendige beregninger markant, hvilket gør DP upraktisk for komplekse problemer;
  • Krav om kendt model: DP antager, at miljøets overgangssandsynligheder og belønninger er kendt på forhånd. I mange virkelige RL-applikationer er denne information dog ikke tilgængelig, hvilket gør modelløse tilgange mere praktiske.
Note
Læs Mere

Når antallet af tilstandsvariable stiger, udvides tilstandsrum eksponentielt—en udfordring kendt som dimensionalitetsforbandelsen. Dette gør lagring eller beregning af optimale løsninger upraktisk og begrænser DP's skalerbarhed.

question mark

Hvilket af følgende udsagn om Dynamisk Programmering (DP) er sandt?

Select the correct answer

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 3. Kapitel 1

Spørg AI

expand

Spørg AI

ChatGPT

Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat

course content

Kursusindhold

Introduktion til Reinforcement Learning

Introduktion til Reinforcement Learning

1. RL Kerneprincipper
2. Multi-Armet Bandit-Problem
3. Dynamisk Programmering
4. Monte Carlo-metoder
5. Temporal Difference-Læring

book
Hvad Er Dynamisk Programmering?

Note
Definition

Dynamisk programmering (DP)-metoder hjælper med at løse komplekse problemer ved at opdele store problemer i mindre delproblemer og løse dem rekursivt. I stedet for at løse det samme problem gentagne gange, udnytter DP tidligere beregnede løsninger for at fremskynde processen.

Det er særligt nyttigt i reinforcement learning (RL) til effektiv løsning af Markov beslutningsprocesser (MDP'er), når en fuldstændig model af miljøet er tilgængelig.

Note
Bemærk

Fra og med dette kapitel antages alle miljøer at være endelige MDP'er. Endelige MDP'er har endeligt tilstandsrum, endeligt handlingsrum og endeligt belønningssæt.

Betingelser for anvendelse af DP

Ikke alle problemer kan løses med DP. Der er to nøgleegenskaber, som et problem skal have, for at DP kan anvendes:

  • Optimal delstruktur: den optimale løsning på et problem kan udledes fra de optimale løsninger på dets delproblemer. I MDP'er betyder dette, at den optimale politik i en given tilstand afhænger af de optimale politikker for de efterfølgende tilstande. Fordi beslutninger i en MDP er sekventielle, fører løsningen af mindre delproblemer (at finde den bedste handling for fremtidige tilstande) til løsningen af det overordnede problem (at finde den bedste handling for den aktuelle tilstand);
  • Overlappende delproblemer: løsninger på delproblemer genbruges til at løse større problemer. I MDP'er er dette tydeligt, fordi værdien af en tilstand gentagne gange beregnes på tværs af forskellige beslutningssekvenser. Da tilstande ofte besøges igen, kan tidligere beregnede værdier gemmes og genbruges, hvilket reducerer overflødige beregninger og øger effektiviteten.

Hver node på billedet repræsenterer et rekursivt kald for at beregne Fib(n), og træstrukturen viser, hvordan disse kald opdeles i mindre delproblemer. Bemærk, at delproblemer som Fib(2) og Fib(1) optræder flere gange, hvilket demonstrerer overlappende delproblemer, mens løsningen på Fib(5) opbygges ud fra de optimale løsninger på dets delproblemer, hvilket demonstrerer optimal delstruktur. Denne redundans er det, som dynamisk programmering søger at eliminere ved at gemme og genbruge resultater.

Da MDP'er udviser både optimal delstruktur og overlappende delproblemer, er de velegnede til DP-baserede løsninger.

Hvorfor bruge DP i RL?

  • Optimalitetsgarantier: DP-metoder er garanteret at konvergere til den optimale politik, når den fulde model er kendt;
  • Effektivitet for generelle løsninger: med hjælp fra DP kan generelle løsninger opnås effektivt, hvilket betyder, at den resulterende politik vil være optimal for hver enkelt tilstand;
  • Grundlæggende for andre metoder: begreber fra DP danner grundlaget for andre RL-metoder, såsom Monte Carlo og temporal difference learning.

Dog er DP ikke anvendelig til store problemer på grund af afhængigheden af en fuld model og de beregningsmæssige krav, hvilket fører til de udfordringer, der diskuteres næste.

Udfordringer og begrænsninger ved dynamisk programmering

Selvom DP giver en elegant ramme for løsning af RL-problemer, medfører det betydelige udfordringer, der begrænser dets anvendelighed i virkelige scenarier:

  • Beregningsteknisk kompleksitet: DP-metoder kræver beregninger for hver enkelt tilstand i et miljø. Når tilstandsrum vokser, øges antallet af nødvendige beregninger markant, hvilket gør DP upraktisk for komplekse problemer;
  • Krav om kendt model: DP antager, at miljøets overgangssandsynligheder og belønninger er kendt på forhånd. I mange virkelige RL-applikationer er denne information dog ikke tilgængelig, hvilket gør modelløse tilgange mere praktiske.
Note
Læs Mere

Når antallet af tilstandsvariable stiger, udvides tilstandsrum eksponentielt—en udfordring kendt som dimensionalitetsforbandelsen. Dette gør lagring eller beregning af optimale løsninger upraktisk og begrænser DP's skalerbarhed.

question mark

Hvilket af følgende udsagn om Dynamisk Programmering (DP) er sandt?

Select the correct answer

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 3. Kapitel 1
some-alt