Q-tabellens koncept
Tabellbaserad förstärkningsinlärning.
Q-tabellens koncept är en gratis lektion i Python Academy på CoddyKit. Detta är lektion 2 av 5. Ni kan läsa hela lektionen gratis nedan och sedan öva praktiskt i webbläsaren med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt. Den ingår i lärvägen för Python Academy, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Python Academy innehåller totalt 5 lektioner.
Vad är en Q-tabell?
Q-tabellkonceptet
Q-tabellen är ett centralt begrepp inom förstärkningsinlärning. Det är en uppslagstabell där varje post representerar den förväntade belöningen för att utföra en specifik handling i ett givet tillstånd.
Målet är att lära sig Q-värdena, som vägleder agenten till att utföra de bästa handlingarna för så stora belöningar som möjligt.

Q-tabellens struktur
Q-tabellen är strukturerad så här:
- Rader: Representerar miljöns tillstånd.
- Kolumner: Representerar handlingar som är tillgängliga för agenten.
- Värden: Representerar Q-värdet för tillstånd–handlingspar.
Agenten uppdaterar dessa värden under inlärningen.
Formel för uppdatering av Q-värden
Q-värden uppdateras med Bellman-ekvationen:
Q(s, a) = Q(s, a) + α [r + γ max(Q(s', a')) - Q(s, a)]
Där:
- s: Aktuellt tillstånd
- a: Aktuell handling
- r: Belöningen för handlingen
- s': Nästa tillstånd
- α: Inlärningshastighet
- γ: Diskonteringsfaktor
Exempel på en enkel Q-tabell
Betrakta en Q-tabell för en rutnätsvärld:
Tillstånd: Positioner i rutnätet (t.ex. A1, B1)
Handlingar: Flytta uppåt, nedåt, åt vänster, åt höger
Inledningsvis är alla Q-värden satta till noll:
| Tillstånd | Uppåt | Nedåt | Vänster | Höger |
|---|---|---|---|---|
| A1 | 0 | 0 | 0 | 0 |
| B1 | 0 | 0 | 0 | 0 |
Initiera en Q-tabell i Python
Vi kan representera en Q-tabell med hjälp av en NumPy-array eller en dictionary:
import numpy as np
# Example: Q-Table for 5 states and 4 actions
num_states = 5
num_actions = 4
q_table = np.zeros((num_states, num_actions))
print("Initial Q-Table:")
print(q_table)Utforskning i Q-Learning
Agenten använder en ε-greedy-policy för att balansera utforskning och exploatering:
- Med sannolikheten ε väljer agenten en slumpmässig handling (utforskning).
- Med sannolikheten 1-ε väljer agenten handlingen med det högsta Q-värdet (exploatering).
Fördelar med Q-tabeller
Q-tabeller är enkla och effektiva för små miljöer. Fördelarna är bland annat:
- Enkel implementering och felsökning.
- Tydlig tolkning av relationer mellan tillstånd och handlingar.
- Låg beräkningskostnad för små tillstånds- och handlingsutrymmen.
Q-tabellernas begränsningar
Q-tabeller har vissa begränsningar:
- Skalar inte till miljöer med stora tillstånds- och åtgärdsrymder.
- Kräver mycket minne för problem med många dimensioner.
- Kan inte generalisera mellan liknande tillstånd.
Sammanfattning och nästa steg
I den här lektionen:
- Lärde vi oss om Q-tabellens koncept och struktur.
- Utforskade vi hur Q-värden uppdateras med Bellman-ekvationen.
- Diskuterade vi fördelarna och begränsningarna med Q-tabeller.
Härnäst implementerar vi en enkel Q-Learning-algoritm i Python för att se Q-tabeller i praktiken.

Lär dig Python med en AI-lärare – gratis
Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.
- Kurser
- 76
- Lektioner
- 320
Vanliga frågor
Är lektionen ”Q-tabellens koncept” gratis?
Ja – hela texten till ”Q-tabellens koncept” kan läsas gratis här på webben. Om Ni vill öva interaktivt med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt och låsa upp resten av kursen i Python Academy, kan Ni uppgradera till CoddyKit PRO. Kursen i Python Academy innehåller totalt 5 lektioner.
Vad lär jag mig i ”Q-tabellens koncept”?
Tabellbaserad förstärkningsinlärning. Ni övar på Python Academy med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.
Behöver jag någon erfarenhet för att börja lära mig Python Academy?
Du behöver inga förkunskaper. Utbildningen i Python Academy på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 2 av 5.
Hur lång tid tar lektionen ”Q-tabellens koncept”?
De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.
Kan jag skriva och köra kod i den här Python Academy-lektionen?
Ja. Varje Python Academy-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.
Alla lektioner i den här kursen
- Grundläggande begrepp inom förstärkningsinlärning
- Q-tabellens koncept
- Implementera en Q-tabell i Python
- Deep Q-learning
- Utforska OpenAI Gym