Dobe Peter <dp304(a)hszk.bme.hu> writes:
Hello!
A reszhalmaz blokkolassal kapcsolatban nem ertek valamit:
Ha az algoritmus soran eloall egy olyan allapot, hogy egy gyerek nelkuli x
csucsnak a cimkei (RACER-es szintaxissal):
L(x) = { (and Ember Magyar) ;
(some ose (and Ember Magyar)) ;
(all ose (not Magyar)) }
es ha ilyenkor eloszor a letezik-szabalyt alkalmazom, letrejon egy y
csucs, amely gyereke x-nek, es
L(y) = { (and Ember Magyar) }
itt L(y) resze L(x)-nek, tehat elvileg y blokkolodik, nem alkalmazhato ra
a metszet-szabaly a tovabbiakban. Ha viszont x-re most a minden-szabalyt
hajtom vegre, bejon y cimkejekent a (not Magyar), igy L(y) tobbe mar nem
lesz resze L(x)-nek. Ahhoz, hogy a Magyar <--> (not Magyar) ellentmondasra
rabukkanjunk, y-ra kell a metszet-szabaly,
Igen.
amihez eloszor "unblokkolni"
kell y-t, pedig ugy tudtam, ilyenre csak dinamikus blokkolasnal van
szukseg (attol hivjak dinamikusnak). Vagy a tablo algoritmusban a
szabalyokat nem tetszoleges sorrendben lojuk el? (A faban mindig a
legfelso olyan csucsot keressuk, amire alkalmazhato valamilyen szabaly,
es azt hasznaljuk?)
Vegul is mindegyik javasolt megoldasod jo. Szerintem az a legegyszerubb, ha
a blokkolast csak a van-olyan szabaly eseteben alkalmazzuk. Tehat az
aprilis 19-22-es eloadas DL13-6 jelu foliajan levo alabbi (hibas :-()
mondatot:
- Ha `y'-t blokkolja valaki, akkor `y'-ra nem alkalmazható semmilyen szabály.
a kovetkezokeppen kell modositani:
- Ha `y'-t blokkolja valaki, akkor `y'-ra nem alkalmazható a van-olyan
szabály. A többi szabályt alkalmazni kell!
A masik dolog: Nagy gonoszsag lenne kerni a 2-es
nagyhazihoz nehany
peldat, amin le tudnank tesztelni a programot? Egyreszt, hogy lassuk, jol
mukodik-e, masreszt, hogy tudjuk, nagyjabol mi az elvart sebesseg (milyen
sulycsoport lesz az a 10 teszteset beadaskor :)
Bizony, bizony szornyu gonoszsag ilyet kerni a szegeny tulterhelt
eloadoktol :-). De azert megprobalunk hamarosan osszehozni egy tesztsort.
-Peter