Iti0210lab14

Allikas: Lambda
Redaktsioon seisuga 20. aprill 2019, kell 17:38 kasutajalt PriitJ (arutelu | kaastöö) (Uus lehekülg: '= Hüvitisega õppimine = == Sissejuhatus == Rakendame hüvitisega õppimist (''reinforcement learning'') seamängule, millega puutusime kokku 4. praktikumis....')
(erin) ←Vanem redaktsioon | Viimane redaktsiooni (erin) | Uuem redaktsioon→ (erin)
Mine navigeerimisribale Mine otsikasti

Hüvitisega õppimine

Sissejuhatus

Rakendame hüvitisega õppimist (reinforcement learning) seamängule, millega puutusime kokku 4. praktikumis. Reeglid uuesti:

  • mängitakse selleni, kes saab enne 100 punkti. Alguses on mõlemal mängijal 0 punkti.
  • mängija võib veeretada ühte täringut mitu korda järjest, senikaua kuni ta ei veereta 1. Tulemused liidetakse kokku.
  • kui mängija otsustab, et soovib veeretatud punktid alles hoida, liidetakse need tema kogusummale ja kord läheb vastasele.
  • kui mängija veeretab 1, siis läheb kord vastasele ja mängija kaotab kõik selle korra jooksul veeretatud punktid.

Rakendame Q-Learning algoritmi. Lihtne selgitus Q-Learning algoritmi kohta.

Treeni oma algoritm, mängides dummy_ai vastu. Seejärel katseta, mitu korda näiteks 100 mängust sinu algoritm võidab. Et võrdlus aus oleks, pane 50% mängudest alustajaks oma algoritm ja 50% dummy_ai.

Testraamistik

Kasuta testraamistikku, mille kirjutasid 4. praktikumi jaoks. Kui võtsid üle praktikumijuhendis oleva, siis funktsioon, mis mängib.

def minimax_ai(turn, rolled, my_points, opp_points):
    # this is the top level of search
    # we search all possible moves
    # (PASS and ROLL in case of the Pig game)
    # and pick the one that returns the highest minimax estimate

Treenimine

def dummy_ai(turn, rolled, my_points, opp_points):
    if rolled < 21:
        return ROLL
    else:
        return PASS


Q-Learning

Lisaülesanne

Selle osa tegemine ei ole kohustuslik.

  1. Treeni algoritm dummy_ai vastu, mis on väga riskiv või väga konservatiivne (muuda konstanti 21 kas suuremaks või oluliselt väiksemaks).
  2. Muuda dummy_ai tagasi "optimaalseks" (üle 21 punkti otsus PASS)
  3. Mängita oma algoritmi dummy_ai vastu ja proovi jälgida võiduprotsenti ajas. Kas sinu algoritm suudab vastase muutunud strateegiale reageerida?