Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Hva er dynamisk programmering? | Dynamisk Programmering
Introduksjon til Forsterkende Læring
course content

Kursinnhold

Introduksjon til Forsterkende Læring

Introduksjon til Forsterkende Læring

1. Kjerneprinsipper i RL
2. Multi-Armet Bandittproblem
3. Dynamisk Programmering
4. Monte Carlo-metoder
5. Temporal Difference-læring

book
Hva er dynamisk programmering?

Note
Definisjon

Dynamisk programmering (DP)-metoder hjelper til med å løse komplekse problemer ved å dele opp store problemer i mindre delproblemer og løse dem rekursivt. I stedet for å løse det samme problemet gjentatte ganger, utnytter DP tidligere beregnede løsninger for å øke hastigheten på prosessen.

Dette er spesielt nyttig i forsterkende læring (RL) for å løse Markov beslutningsprosesser (MDP) effektivt når en fullstendig modell av miljøet er tilgjengelig.

Note
Merk

Fra og med dette kapittelet antas det at alle miljøer er endelige MDP-er. Endelige MDP-er har endelig tilstandsrom, endelig handlingsrom og endelig belønningssett.

Betingelser for å bruke DP

Ikke alle problemer kan løses med DP. Det er to nøkkelattributter et problem må ha for at DP skal fungere:

  • Optimal delstruktur: den optimale løsningen på et problem utledes fra de optimale løsningene på dets delproblemer. I MDP-er betyr dette at den optimale policyen i en hvilken som helst tilstand avhenger av de optimale policyene for de påfølgende tilstandene. Fordi beslutninger i en MDP er sekvensielle, fører løsning av mindre delproblemer (å finne den beste handlingen for fremtidige tilstander) til løsning av det overordnede problemet (å finne den beste handlingen for nåværende tilstand);
  • Overlappende delproblemer: løsninger på delproblemer gjenbrukes for å løse større problemer. I MDP-er er dette tydelig fordi verdien av en tilstand beregnes gjentatte ganger på tvers av ulike beslutningssekvenser. Siden tilstander ofte besøkes flere ganger, kan tidligere beregnede verdier lagres og gjenbrukes, noe som reduserer overflødige beregninger og øker effektiviteten.

Hver node på bildet representerer et rekursivt kall for å beregne Fib(n), og trestrukturen viser hvordan disse kallene brytes ned i mindre delproblemer. Legg merke til at delproblemer som Fib(2) og Fib(1) opptrer flere ganger, noe som demonstrerer overlappende delproblemer, mens løsningen på Fib(5) bygges opp fra de optimale løsningene på delproblemene, noe som demonstrerer optimal delstruktur. Denne redundansen er det dynamisk programmering har som mål å eliminere ved å lagre og gjenbruke resultater.

Siden MDP-er har både optimal delstruktur og overlappende delproblemer, egner de seg godt for DP-baserte løsninger.

Hvorfor bruke DP i RL?

  • Optimalitetsgarantier: DP-metoder er garantert å konvergere til den optimale policyen når hele modellen er kjent;
  • Effektivitet for generelle løsninger: med hjelp av DP kan generelle løsninger oppnås effektivt, noe som betyr at den resulterende policyen vil være optimal for hver enkelt tilstand;
  • Grunnlag for andre metoder: konsepter fra DP danner grunnlaget for andre RL-metoder, som Monte Carlo og temporal difference learning.

Likevel er DP ikke gjennomførbart for storskala problemer på grunn av avhengigheten til en fullstendig modell og store beregningskrav, noe som fører til utfordringene som diskuteres videre.

Utfordringer og begrensninger ved dynamisk programmering

Selv om DP gir et elegant rammeverk for å løse RL-problemer, medfører det betydelige utfordringer som begrenser anvendeligheten i virkelige scenarier:

  • Beregningsteknisk kompleksitet: DP-metoder krever beregninger for hver enkelt tilstand i et miljø. Når tilstandsrommet vokser, øker antallet nødvendige beregninger betydelig, noe som gjør DP upraktisk for komplekse problemer;
  • Krav om kjent modell: DP forutsetter at miljøets overgangssannsynligheter og belønninger er kjent på forhånd. I mange virkelige RL-applikasjoner er denne informasjonen imidlertid utilgjengelig, noe som gjør modellfrie tilnærminger mer praktiske.
Note
Studer mer

Når antallet tilstandsvariabler øker, utvides tilstandsrommet eksponentielt—en utfordring kjent som dimensjonalitetsforbannelsen. Dette gjør lagring eller beregning av optimale løsninger upraktisk, og begrenser DP sin skalerbarhet.

question mark

Hvilket av følgende utsagn om dynamisk programmering (DP) er sant?

Select the correct answer

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 3. Kapittel 1

Spør AI

expand

Spør AI

ChatGPT

Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår

course content

Kursinnhold

Introduksjon til Forsterkende Læring

Introduksjon til Forsterkende Læring

1. Kjerneprinsipper i RL
2. Multi-Armet Bandittproblem
3. Dynamisk Programmering
4. Monte Carlo-metoder
5. Temporal Difference-læring

book
Hva er dynamisk programmering?

Note
Definisjon

Dynamisk programmering (DP)-metoder hjelper til med å løse komplekse problemer ved å dele opp store problemer i mindre delproblemer og løse dem rekursivt. I stedet for å løse det samme problemet gjentatte ganger, utnytter DP tidligere beregnede løsninger for å øke hastigheten på prosessen.

Dette er spesielt nyttig i forsterkende læring (RL) for å løse Markov beslutningsprosesser (MDP) effektivt når en fullstendig modell av miljøet er tilgjengelig.

Note
Merk

Fra og med dette kapittelet antas det at alle miljøer er endelige MDP-er. Endelige MDP-er har endelig tilstandsrom, endelig handlingsrom og endelig belønningssett.

Betingelser for å bruke DP

Ikke alle problemer kan løses med DP. Det er to nøkkelattributter et problem må ha for at DP skal fungere:

  • Optimal delstruktur: den optimale løsningen på et problem utledes fra de optimale løsningene på dets delproblemer. I MDP-er betyr dette at den optimale policyen i en hvilken som helst tilstand avhenger av de optimale policyene for de påfølgende tilstandene. Fordi beslutninger i en MDP er sekvensielle, fører løsning av mindre delproblemer (å finne den beste handlingen for fremtidige tilstander) til løsning av det overordnede problemet (å finne den beste handlingen for nåværende tilstand);
  • Overlappende delproblemer: løsninger på delproblemer gjenbrukes for å løse større problemer. I MDP-er er dette tydelig fordi verdien av en tilstand beregnes gjentatte ganger på tvers av ulike beslutningssekvenser. Siden tilstander ofte besøkes flere ganger, kan tidligere beregnede verdier lagres og gjenbrukes, noe som reduserer overflødige beregninger og øker effektiviteten.

Hver node på bildet representerer et rekursivt kall for å beregne Fib(n), og trestrukturen viser hvordan disse kallene brytes ned i mindre delproblemer. Legg merke til at delproblemer som Fib(2) og Fib(1) opptrer flere ganger, noe som demonstrerer overlappende delproblemer, mens løsningen på Fib(5) bygges opp fra de optimale løsningene på delproblemene, noe som demonstrerer optimal delstruktur. Denne redundansen er det dynamisk programmering har som mål å eliminere ved å lagre og gjenbruke resultater.

Siden MDP-er har både optimal delstruktur og overlappende delproblemer, egner de seg godt for DP-baserte løsninger.

Hvorfor bruke DP i RL?

  • Optimalitetsgarantier: DP-metoder er garantert å konvergere til den optimale policyen når hele modellen er kjent;
  • Effektivitet for generelle løsninger: med hjelp av DP kan generelle løsninger oppnås effektivt, noe som betyr at den resulterende policyen vil være optimal for hver enkelt tilstand;
  • Grunnlag for andre metoder: konsepter fra DP danner grunnlaget for andre RL-metoder, som Monte Carlo og temporal difference learning.

Likevel er DP ikke gjennomførbart for storskala problemer på grunn av avhengigheten til en fullstendig modell og store beregningskrav, noe som fører til utfordringene som diskuteres videre.

Utfordringer og begrensninger ved dynamisk programmering

Selv om DP gir et elegant rammeverk for å løse RL-problemer, medfører det betydelige utfordringer som begrenser anvendeligheten i virkelige scenarier:

  • Beregningsteknisk kompleksitet: DP-metoder krever beregninger for hver enkelt tilstand i et miljø. Når tilstandsrommet vokser, øker antallet nødvendige beregninger betydelig, noe som gjør DP upraktisk for komplekse problemer;
  • Krav om kjent modell: DP forutsetter at miljøets overgangssannsynligheter og belønninger er kjent på forhånd. I mange virkelige RL-applikasjoner er denne informasjonen imidlertid utilgjengelig, noe som gjør modellfrie tilnærminger mer praktiske.
Note
Studer mer

Når antallet tilstandsvariabler øker, utvides tilstandsrommet eksponentielt—en utfordring kjent som dimensjonalitetsforbannelsen. Dette gjør lagring eller beregning av optimale løsninger upraktisk, og begrenser DP sin skalerbarhet.

question mark

Hvilket av følgende utsagn om dynamisk programmering (DP) er sant?

Select the correct answer

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 3. Kapittel 1
some-alt