Nagyhat�konys�g� Logikai Programoz�s, 2004 �szi f�l�v
Inform�ci�k
Ez a lap a Nagyhat�konys�g� Logikai Programoz�s
t�rgy anyag�ra vonatkoz� inform�ci�kat tartalmaz.
Nagy h�zi feladat
A h�zi feladat ki�r�sa.
A h�zi feladat a
bead�szkript seg�ts�g�vel k�ldhet� be.
A janu�r 15.-�n vizsg�z�k janu�r 13. 8:00-ig, a janu�r 29.-�n vizsg�z�k
janu�r 27. 8:00 -ig adj�k be a nagy h�zi feladatot.
A
2004. �vi �sszes el�ad�s f�li�i (1.-187. oldal)
A 2002. �vi el�ad�sokr�l k�sz�lt jegyzet-k�zirat
P�ldaprogramok
- Programok
--- az el�ad�son ismertetett/ismertetend� p�ldaprogramok sz�vege (els� 4
el�ad�s).
1. kis h�zi feladat:
A ki�r�s a f�li�kon (l�sd fent) megtal�lhat�, de a sz�banforg� k�t oldal (PDF
alakban) innen is
let�lthet�. A ki�r�s kieg�sz�t�se itt
tal�lhat�.
A kis h�zi feladat "minta"-megval�s�t�sa (.po form�ban, teh�t futtathat�an,
de nem olvashat�an) �s tesztp�ld�i let�lthet�k innen. .
Az 1. kis h�zi feladat bead�sa:
- A bead�si hat�rid� 2004 okt�ber 5., kedd, 24 �ra.
- A hat�rid�ig beadott, j�l m�k�d� programokra 2 pont j�r.
- A h�zi feladat ez ut�n a hat�rid� ut�n is beadhat�, 1 pont�rt.
- Ez az 1. kis h�zi feladat, ez�rt a megold�st egy
khf-nlp1.pl
nev� �llom�nyba kell helyezni.
- A bead�szkript let�lthet� innen (�s
kicsomagoland�).
- A bead�szkript haszn�lat�ra vonatkoz� le��r�st (amit maga a bead�szkript
is ki�r) l�sd itt.
2. kis h�zi feladat:
A ki�r�s a f�li�kon megtal�lhat�, de a sz�banforg� egy
oldal (PDF alakban) innen is
let�lthet�.
Fontos megjegyzesek:
- Az egyes "szavak" elemei k�l�nb�z� sz�mok
kell legyenek.
- Az egy kock�b�l �ll� "szavak"-nak
nincs megadva az �sszege, teh�t ez esetben is x szerepel az �sszeg
hely�n! (L�sd pl. az al�bbi tesztp�ld�k k�z�tt a
p2
p�ld�ban a m�trix 4. sor�nak 3. oszlop�ban szerepl� x\x
�rt�ket!).
A kis h�zi feladat tesztp�ld�i megtal�lhat�k
itt.
A 2. kis h�zi feladat bead�sa:
- Ez a 2. kis h�zi feladat, ez�rt a megold�st
egy
khf-nlp2.pl
nev� �llom�nyba kell helyezni.
- A bead�si hat�rid� 2004. november 18., kedd, 24 �ra.
- A bead�szkript
- Figyelem, a bead�szkript megv�ltozott, �jra le
kell t�lteni!
3. kis h�zi feladat:
Az FD predik�tumok jelent�s�t ellen�rz� seg�dprogram let�lthet�
innen.
A ki�r�s a f�li�kon megtal�lhat�, de a sz�banforg� egy
oldal (PDF alakban) innen is
let�lthet�.
A kis h�zi feladat futtat�sakor a k�vetkez� seg�delj�r�st haszn�lom:
fdtest([X,Y,Z,B], Goal, [XR,YR,ZR,BR]) :-
domain([X,Y,Z], 0, 9),
'z>max(x,y)'(X, Y, Z) #<=> B,
call(Goal),
fd_dom(X, XR),
fd_dom(Y, YR),
fd_dom(Z, ZR),
fd_dom(B, BR).
A h�zi feladat bead�sa:
- Ez a 3. kis h�zi feladat, ez�rt a megold�st
egy
khf-nlp3.pl
nev� �llom�nyba kell helyezni.
Vigy�zat! A megold�sban nem �rhat�k "k�z�ns�ges",
:-
nyakjel� Prolog kl�zok, csak FD-kl�zok.
- A bead�si hat�rid� 2004 december 29., h�tf�, 24 �ra.
- A bead�szkript
4. kis h�zi feladat:
A ki�r�s a f�li�kon megtal�lhat�, de a sz�banforg� egy
oldal (PDF alakban) innen is
let�lthet�.
A kis h�zi feladat futtat�sakor a k�vetkez� k�rnyezetet haszn�lom:
:- use_module(library(lists)).
:- assert(clpfd:full_answer).
globtest(Before, Constraint, After, Result) :-
Constraint = max_lt(List, Z),
Goal = (Before, Constraint, After,
fd_doms([Z|List], [ZDom|ListDom])),
( call_residue( Goal, Residue) ->
( member(_-(_:max_lt(_,_)), Residue) ->
Result = active(ListDom, ZDom)
; Result = exited(ListDom, ZDom)
)
; Result = failed
).
fd_doms([V|Vs], [D|Ds]) :-
fd_dom(V, D),
fd_doms(Vs, Ds).
fd_doms([], []).
step_up(X, _I) :-
nonvar(X), !.
step_up(X, I) :-
X #> I, I1 is I+1,
step_up(X, I1).
P�ldafut�sok:
| ?- globtest(true, max_lt([A,B,C],Z), (A in 1..5, B #> 2, Z in 0..6), Result).
Result = active([1..5,3..5,inf..5],4..6) ? ;
no
| ?- globtest(domain([X,Y,Z], 0, 9), max_lt([X,Y],Z), (Z=5, Y=6), Result).
Result = failed ? ;
no
| ?- globtest(true, max_lt([A],Z), (A in {0,9}, Z in {3,6}), Result).
A = 0,
Result = exited([{0}],{3}\/{6}) ? ;
no
| ?- globtest((length(L, 500),domain(L, 1, 5) , X in 5..10000),
max_lt([X|L], Z),
step_up(X, 5), Result).
L = [_A,_B,_C,_D,_E,_F,_G,_H,_I,_J|...],
X = 10000,
Result = exited([{10000},1..5,1..5,1..5,1..5,1..5,1..5,1..5,... .. ...|...],10001..sup) ? ;
no
| ?-
Megjegyz�sek:
- Az utols� teszt hivatott azt eld�nteni, hogy a megold�s haszn�l-e
�llapotot, vagy sem. �llapot n�lk�l ugyanis 500-szor t�bb listaelemet
kell v�gign�znie...
- Az eredm�nyben a strukt�ra funktora jelzi, hogy a glob�lis korl�t
lefutott-e (
exited
), vagy sem (active
). Mivel a lefut�s pontos
ellen�rz�se �ltal�ban felesleges, ez�rt az active
elfogadhat� az exited
helyett, de nem ford�tva. P�ld�ul
a fentiek k�z�l az utols� k�t esetben a tesztrendszer elfogadja az
active
funktor� eredm�nyt, de az els� tesztesetben az
exited
eredm�nyt nem.
A h�zi feladat bead�sa:
- Ez a 4. kis h�zi feladat, ez�rt a megold�st
egy
khf-nlp4.pl
nev� �llom�nyba kell helyezni.
- A bead�si hat�rid� 2004 december 29., h�tf�, 24 �ra.
- A bead�szkript
Esettanulm�nyok:
- N�gyzetkirak�s --- az
el�ad�son ismertetett n�gyzetkirak�si esettanulm�ny.
- Torped�
--- Az 1999-es h�zi-feladat (torped�) mintamegold�sa.
- Domin� ---
A 2000 tavaszi h�zifeladat (domin�) mintamegold�sai.
Gyakorl� vizsga-feladatok:
A kor�bbi �vek vizsga-feladat-sorai:
Sicstus licensz ig�nyelhet� az ETS-rendszerben
Az nhlp-l
levelez�si lista