Ha jól látom a műveletek mindegyike visszafordítható, mert eleget tesz a feltételnek. Tehát kapásból minden állapotból vissza lehet menni az előzőbe és ezt a validOperators engedélyezi is.
A belinkelt doksiban levő gráfot nézve a harmadik szinten lévő (3,3,B) állapotokat mind kihúzta, mert az a kiindulási állapothoz visz vissza.
A (2, 3, B) állapotot pedig két úton is elérte, a (2,2,J) és az (1,3,J) állapoton keresztül. A másodikat át is húzta: ''jó állapot, de már szerepelt'' megjegyzéssel.
Szóval ezeknek az eseteknek a lekezelését nem látom. Egyszerűbben fogalmazva: biztos, hogy rossz állapotok kerülnek a listába, és nem a duplikátumok miatt van benne túl sok elem?
Jester