nadamhu Creative Commons License 2009.12.20 0 0 2
Köszi az érdeklődést, erre egy nagyon egyszerű, (de hatékony) algoritmust találtam ki.

A 'knowledge rate' egy 0 és egy közötti szám, amit minden memodrophoz nyilvántartok (és %-ként jelenítek meg).

Amikor a user helyes választ ad egy kérdésre, akkor a következőképpen módosul:

kr := kr/2 + 0.5

Amikor pedig helytelen választ ad:

kr := kr/2

Ennyi az egész.

Ennek az iszonyúan egyszerű megközelítésnek van egy csomó kellemes tulajdonsága:

- ha nem tudja a választ a user akkor mindig csökken a knowledge rate, de soha nem éri el a 0-t.
- ha tudja a válszt a user, akkor mindig nől a knowledge rate, de soha nem éri el az 1-et.
- Intuitívan úgy lehet a legjobban megérteni, ha a knowledge rate-et a számegyenesen a 0 és az 1 pont közötti pontnak tekintjük: ha a user helyesen válaszolt, akkor a pont 1-től való távolsága feleződik, ha helytelenül válaszolt, akkor a 0-tól való távolsága.
- Belátható (pláne ha binárisan írjuk fel a számot és a műveleteket), hogy ebben az elrendezésben az utolsó válasz milyensége számít a legtöbbet (egy icipicit többet mint az addigi összes válasz együttesen), de mégis minden múltbeli válasz is számít. (ennek csak számárbrázolási határai vannak: 32 biten a 33-al ezelőtti válasz már nem számít)

Leírom azt is, hogy hogyan határozza meg a program, hogy melyik memodropot kérdezze meg.

- Sorbarendezi a memodrop-okat knowledge rate szerint: előre kerülnek a legrosszabbul tudott memodrop-ok.
- Ezután a memodropokat logikai vödrökbe teszi: az első vödörbe kerül az első elem, a második vödörbe kerül a következő két elem, a harmadik vödörbe a következő négy elem, a negyedik vödörbe a következő nyolc elem, az n-edik vödörbe a következő 2^(n-1) elem.
- A program kiválaszt egy vödröt, azon belül pedig egy véletlenszerű elemet.

Látható, hogy a kiválasztás véletlenszerű (tehát a jól tudott dolgoknak is van esélye sorrakerülni), de exponenciális/logaritmikus eloszlás szerinti, vagyis a rosszul tudott elől lévő memodropok kiválasztódási esélye exponenciálisan nagyobb, mint a jól tudott memodropoké.

Hmmm... lehet, hogy érdemes lenne ennek (szép szemléletes, ábrákkal tűzdelt) leírására egy oldalt szentelni a weblapon? Segítene ez a dolog elterjedésében? Lehet, hogy összerakok egy ilyen oldalt.
Előzmény: zoleszov (1)