Egy általános iskolás érti, de az AI nem
A rejtvény
Van három számsorozat:
- sorozat a: 2, 4, 8, 16, 23, 28, 38, 49, 62, 70, ?
- sorozat b: 3, 6, 12, 15, 21, 24, 30, 33, 39, 51, 57, ?
- sorozat c: 5, 10, 11, 13, 17, 25, 32, 37, 47, 58, 71, ?
Mindhárom sorozatnak pontosan ugyanaz a szabálya. Mik a sorozatok következő elemei? Mi a szabály?
Okoskodás
Amit észreveszünk hamar:
- Az első néhány elem mindig az előző duplája, de később ez „összekuszálódik”.
- Mindhárom sorozat növekvő. Minden elem nagyobb, mint az előtte álló.
- Ha felrajzoljuk a sorozatokat, akkor össze-vissza görbéket kapunk, amik nem hasonlítanak semmilyen általunk ismert függvényre sem.

Egyszerű, hétköznapi logikával ezek a sorozatok olyanok, mintha hibásak lennének. Viszont a rejtvény készítője állítja: nincs itt semmiféle hiba, egy nagyon egyszerű szabály megoldja a rejtvényt. Annyira egyszerű a szabály, hogy egy második osztályos általános iskolás is megérti.
Ha egy 2. osztályos általános iskolás megért egy ilyen szabályt, akkor ez a feladat az AI-nak gyerekjáték lesz!
A rejtvény és az AI
Több AI-nak is feladva a rejtvényt érdekes tapasztalatunk lesz. Bizonyos csillagállások és időjárásváltozások és esetleg napkitörések hatására más és más hibás eredményt kapunk, gyakran „hosszas gondolkodás” után. A legtöbb esetben kiszámolja a sorozatok elemei közötti különbségeket az AI és ezekre próbál valamilyen összefüggést megadni. Gyakran azt javasolja, hogy mindhárom sorozatra legyen más a szabály, pedig világosan megmondtuk, hogy „pontosan ugyanaz” a szabálya a sorozatoknak.
Néha közli, hogy a hibás a feladat és nincs rá megoldás.
Volt olyan eset, amikor a sorozatok között próbált összefüggést találni az AI. Megfigyelte, hogy az első két sorozat első elemeinek az összege a harmadik sorozat első elemével egyenlő. Ez a szabály még a második elemre is igaz. Bár ezután megbicsaklik a történet, de azért váltig állította az AI, hogy ez fontos „felfedezés lehet”. Nos nem az, sőt ez félrevisz a megoldástól.
A legközelebb talán azok a javasolt megoldások álltak a megoldáshoz, ahol az AI valamilyen ciklusonként ismétlődő növekményt próbált meghatározni.
Az AI olyan szabályt kereset, amire igaz az, hogy ha ismerjük a szabályt, akkor ki tudjuk könnyen számolni a sorozat n. elemét. No ez nem ilyen szabály. Hiába ismerjük a szabályt mindig csak a következő elemet tudjuk kiszámolni.
Szóval ez egyrészt egy nagyon egyszerű és egyértelmű szabály, másrészt mégsem egy egyértelmű mintát eredményez ennek az egyszerű szabálynak a használata és a működése sem teljesen előre számolható.
A helyzet az, hogy az AI bicskája beletörik ebbe a feladatba.
A rejtvény és a tesztelés
Egyszerű követelmények, bonyolult tesztelés
Egy tesztelő életében gyakran fordul elő az, hogy egyszerűen hangzó követelmények tesztelése komplexé, bonyolulttá válik.
Egy elképzelt példa erre:
- A felhasználók módosíthatják a saját rendeléseiket.
- A rendelés csak akkor módosítható, ha még nem indult el a kiszállítás.
- A VIP felhasználók módosíthatják a rendelésüket a kiszállítás napján is.
Ezek nem bonyolult szabályok és amikor olvasod, akkor érted is. De ha leülsz átgondolni, hogy hogyan lehet ezt letesztelni, rájössz, hogy nem is olyan egyszerű. Időpont, állapot és jogosultság változók különféle, elsőre nem triviális kombinációját is ki kell próbálni, ha teljes körű tesztelést szeretnél.
Egyszerű hiba ok, bonyolult nyomozás
Egy tesztelő életében egy másik eset, amikor valami egyszerű ok eredményez egy bonyolult mintázatot. Ebben az esetben a hibareprodukció és a feltétel-izoláció nem egyszerű. Velem történt, de a neveket és pontos meghatározásokat megváltoztattam a túlélő hibákra való tekintettel:
Egy e-kereskedelmi oldalon véletlenszerűen eltűnnek termékek a kosárból. A hibajegyek teljesen kaotikusak:
- Hétfő reggel János elveszti a laptopját a kosárból
- Kedd délután Mária panaszkodik, hogy a ruhák eltűntek
- Szerdán egy céges vásárló szerint a 20 tételes rendelése 3-ra csökkent
- Csütörtökön mobilappból és weboldalról is jelentik a problémát
- Különböző böngészők, különböző termékek, különböző időpontok
Két nap nyomozás eredménye: A session cleanup job minden éjjel törölte a 24 óránál régebbi kosarakat – de rossz időzónában számolta az időt, ezért „össze-vissza” futott le a felhasználóknál.
Közös pont
A rejtvény és a két tesztelési példa között az a közös pont, hogy egy bonyolultnak látszó mintázat, egyszerű szabállyal jön létre. A mintából a szabály megtalálása akkor egyszerű, ha a szabály hétköznapi, gyakran használt, ismert. Ha a szabály egyszerű ugyan, de ritka, akkor nem mindig könnyű megtalálni.
A megoldás, azaz a szabály
Általános iskola második osztályában tanítják meg a gyerekeket arra, hogy egy szám a számjegyeikből áll. Ez egy felnőtnek triviális tudás, egy gyerek még rácsodálkozik erre, amikor tanulja. Ha egy másodikosnak segítek annyit, hogy az elemek közé írja fel a különbségeket és vizsgálja meg ezeket és az eredeti számokat, akkor a másodikos gyerek könnyen rájöhet a rejtvény megoldására.
Ha megvizsgálja a különbségeket, akkor észreveheti, hogy ezek a különbségek megyezenek az elötük álló elem számjegyeinek az összegével.
Például a „c” sorozatban a 10 után a 11 jön. Közöttük 1 a különbség. A 10-es 1-esből és 0-ból áll, ezek összege pont 1. Vagy nézzük meg a „b” sorozatban a 15 után a 21 jön. a különbség 6, de ez pont a 15 számjegyeinek az összege!
A szabály tehát annyi, hogy a következő számot úgy kapjuk, hogy az előző számhoz hozzáadjuk az előző szám számjegyeinek az összegét.
Nem bonyolult a szabály, de a minta, amit előállít az nem egyszerű.


