Az órarend készítés sosem volt egyszerű, rengeteg mindenre kell figyelni: arányosan legyenek elosztva az órák, ki melyik termet tudja használni, a tanárok közül kinek milyen egyedi kérdése van és még ezer más dolog. De vajon az AI hogyan bírkózik meg ezzel a feladattal?

A példa iskola és a feltételek

A legfontosabb dolog, amikor egy ilyen bonyolultabb feladatot akarunk elvégeztetni a mesterséges intelligenciával az, hogy a bemenő adatok minősége megfelelő legyen.

Az alábbiakban egy képzeletbeli iskolán keresztül fogom bemutatni, hogy én milyen feltételeket adtam az AI-nak és hogy milyen eredmények születtek.

Az iskolában a két párhuzamos osztály van egy évolyamban, A és B. A felső tagozatosok (5-8. osztály) órarendjét fogom elkészíteni.

Időkeret

Ez lesz az az időkeret, amiben az AI dolgozhat.

  • Hétfőtől – péntekig, öt napon keresztül legyenek órák.
  • Minden nap maximum 7 óra lehet megtartva.

Kemény szabályok

A kemény szabályok azok a szabályok, amiknek mindig, minden körülmények között teljesülniük kell. Ha akár egy is sérül, akkor érvénytelen az órarend.

Termek: Minden óra csak a hozzá való teremben tartható, és a szaktermekből kevés van. A tornateremben egyszerre legfeljebb két testnevelés óra fér el, a nagyteremben és a tornaszobában. A számítástechnika teremben egyszerre egy digitális kultúra óra lehet. A természettudományi laborban egyszerre egy fizika, kémia vagy biológia óra fér el. A technika teremben egyszerre egy technika óra lehet. Ezen kívül pedig 8 osztályterem van az iskolában.

Tanárok: Egy teljes állású kolléga hetente 22 és 26 óra között tanít. Egy tanár egy időben csak egy osztályt taníthat. Mindenki csak a saját szakját tanítja. A részmunkaidős ének-zene tanár csak hétfőn, szerdán és pénteken van bent.

Diákok: Napi óraszámkorlát: az 5. és 6. évfolyam legfeljebb hat, a 7. és 8. évfolyam legfeljebb hét órát kaphat naponta. Az osztály napja legyen összefüggő, az első órától indul, lyukasóra nélkül. Ugyanaz a tantárgy naponta legfeljebb egyszer szerepeljen, a szándékos dupla órát kivéve. Minden osztálynak minden nap van testnevelése.

Bontás: Az angol csoportbontásban megy: az osztály két csoportra válik, mindkettő ugyanabban az órában, két tanárral és két teremmel. A digitális kultúrát az egész osztály együtt tanulja, az egyetlen gépteremben. Az osztályfőnöki óra minden osztálynál hétfő első óra, rögzített helyen. Az etika és a hit- és erkölcstan ugyanabban a sávban fut, minden diák az egyiken vesz részt.

Puha szabályok

Ezek olyan szabályok, amiknek nem muszáj teljesülni, de minél több teljesül, annál jobb. És a legjobb órarendet szeretnénk megtalálni.

Tanári kérések: Az egyik angol tanárnak lehetőleg ne legyen első órája egyetlen napon sem. A másik angol tanár pénteken a hatodik és hetedik órát szabadon kéri, hogy korábban záruljon a hete. A biológia és kémia tanár az óráit délelőttre, az első négy órába szeretné. A vizuális kultúra és technika tanárnak lehetőleg ne legyen hetedik, vagyis utolsó órája.

Diákok és tananyag: A hét legyen kiegyensúlyozott, a napok óraszáma közel azonos. A heti négy órás tárgy, a matematika és a magyar, négy különböző napra essen, ne torlódjon össze. A nehéz tárgyak inkább délelőtt legyenek, ne az utolsó órában. Egyes tárgyak, például a technika vagy a labor, dupla blokkot kérnek.

Optimalizálás. A tanári lyukasórák száma legyen a lehető legkisebb.

A tantestület

A felső tagozatot tizennégy tanár tartja el, és szinte mindegyikük kétszakos. Nyolcan közülük osztályfőnökök is, egy-egy osztályért felelnek.

Magyar és történelem: Három kolléga viszi a humán gerincét. T1 a magyart és a történelmet tanítja az ötödik és hatodik évfolyamon, és nála van a hon- és népismeret is, ő az 5.a osztályfőnöke. T2 a felsőbb évfolyamok magyar és történelem óráit veszi át, emellett etikát tanít az ötödik és hatodik évfolyamon, ő a 8.a főnöke. T3 a nyolcadikosok magyarját és történelmét tartja, hozzá tartozik az állampolgári ismeretek és a hetedik meg nyolcadik évfolyam etikája, ő a 8.b főnöke.

Matematika és reáltárgyak: A matematikát ketten osztják fel. T4 matematika és fizika szakos, a matekot az ötödikben és a hetedikben, a fizikát a hetedik és nyolcadik évfolyamon tanítja, ő a 7.a főnöke. T5 matematika és digitális kultúra szakos, a matekot a hatodikban és a nyolcadikban viszi, és nála van az egész iskola digitális kultúrája, ő a 6.a főnöke. A természettudományt T10 tanítja az ötödik és hatodik évfolyamon, ő egyben a felső évfolyamok földrajztanára és a 6.b főnöke. A hetedik és nyolcadik biológiája meg kémiája T9 keze alatt fut, ő a 7.b főnöke.

Angol: T6, T7 és T8 az angoltanárok, párokban viszik az osztályokat, így egyszerre több osztály angolja is futhat. T6 emellett az 5.b osztályfőnöke.

Művészet és technika: T12 ének-zene szakos, ő tanítja az ének-zenét minden osztályban, és nála van a hatodikosok drámája. Megosztott állásban dolgozik, csak hétfőn, szerdán és pénteken van bent. T13 vizuális kultúra és technika szakos, a rajzot minden osztályban, a technikát az ötödiktől a hetedikig tanítja.

Testnevelés: A mindennapos testnevelés miatt ebből a legtöbb óra, ezért két tanár viszi. T14 az ötödik és hatodik, T15 a hetedik és nyolcadik évfolyam testnevelését tartja.

Néhány szak, mint az ének-zene, a rajz vagy a dráma, hetente csak pár órát ad ki. Ezeket jellemzően a kisebb terhelésű vagy részmunkaidős kollégák fedik le.

A megoldás: hogyan készít az AI órarendet

Most jön a csavar. Sehogy. Az órarendet nem a mesterséges intelligencia töltötte ki.

A modell rájött, hogy ehhez egy speciális programra, úgynevezett Solver-re van szüksége, ezt hívta meg a beszélgetésünk közben és ezzel készítette el az órarendet.

Miért nem maga az AI?
Egy nyelvi modell, mint a ChatGPT vagy a Claude, abban erős, hogy megérti a hétköznapi, pongyola leírást, és hogy gördülékeny szöveget ír. Egy órarend viszont nem szöveg, hanem rengeteg, egymásba kapcsolódó pontos feltétel. Ha egyszerűen megkérnénk a modellt, hogy maga töltse ki az órarendet, olyat adna, ami első ránézésre órarendnek tűnik, de csendben elrontana valamit. Ugyanazt a tanárt két helyre tenné, vagy túllépné egy terem kapacitását. Nem butaságból, hanem mert nem erre a fajta feladatra való. A pontos, sokfeltételes keresés más eszközt kíván.

Mi az a megoldó?
A megoldó (angolul solver) olyan program, amit kifejezetten arra terveztek, hogy feltételek tömegét egyszerre elégítse ki. A Claude a Google ingyenes, nyílt eszközét használta, az OR-Tools csomag CP-SAT nevű megoldóját. Úgy érdemes elképzelni, mint egy sakkmotort vagy egy útvonaltervezőt. Hatalmas számú lehetőséget jár be, sokkal gyorsabban és figyelmesebben, mint egy ember, és közben egyetlen szabályt sem felejt el.

Hogyan dolgozik?
A megoldó mindent apró igen vagy nem döntésre bont. Kerüljön-e a 7.a hétfő harmadik órájába matek, vagy sem? Több ezer ilyen kis döntés van. A kemény szabályok ezekre tett kötések, amelyeket tiszteletben kell tartania, például hogy egy sávban legfeljebb egy technika óra lehet. A puha szabályok pedig egy pontszámmá állnak össze, amelyet a megoldó a lehető legmagasabbra próbál tornázni. Minden teljesületlen kérés levon a pontból.

Vakon nem próbálgat, mert annyi kombináció van, hogy a világ összes gépe sem érne a végére. Logikával szűkít. Ha egy döntés kényszerít másokat, azonnal levonja a következtetést, és ha falba ütközik, visszalép, majd másfelé indul tovább. Így a csillagászati méretű térnek csak a töredékét kell valóban bejárnia. A végén olyan órarendet ad, amely minden kemény szabályt betart, és a puhák közül a lehető legtöbbet teljesíti.

És ha a feltételek ellentmondanak egymásnak? Akkor a megoldó nem hibázik és nem kohol össze valamit, hanem megmondja, hogy nincs megoldás. Ez is hasznos válasz, mert pontosan jelzi, hogy valamelyik feltételen lazítani kell.

A bizonyíték
Itt jött a második fontos lépés. Miután a megoldó visszaadta az órarendet, egy külön kis program nulláról újraszámolt minden kemény szabályt. Nincs-e ütköző tanár, nem telt-e be egy terem, összefüggő-e minden osztály napja, belefér-e mindenki a heti óraszámába. Így nem kell megbíznunk a folyamatban, bizonyítani tudjuk az eredményt. A program mind a tizenkét kemény feltételt egyenként ellenőrizte, és mindegyik teljesült. A puha oldal is jól sikerült: egyetlen nehéz tárgy sem csúszott a késői órákba, egyetlen tanári lyukasóra maradt az egész héten, és mind a négy nevesített tanári kérés teljesült.

Az elkészült órarend

Most pedig nézzük meg, hogy milyen lett az eredmény. Először a gyerekek órái:

AI Órarend

Majd pedig a tanárok beosztása:

Tanári órarend AI által generálva

Összefoglalás

Amit már más cikkemben is emlegettem, talán a legfontosabb tanulság itt is az, hogy megfelelő prompt, megfelelő bemenő adatok mellett az AI csodákra képes. A mai modellek már azt is felimerik, ha valamihez nem elég az ő tudásuk és tudnak olyan eszközt hozni, aki viszont igen.

Hasznos volt a cikk?

Ha tetszett a cikk és szeretnél értesülni új cikkekről és exkluzív tartalmakról, akkor iratkozz fel az email-listára!