Sziasztok,
azt szeretnem kerdezni, hogy a khf4 bekuldott megoldasaban miert van
szukseg a clpfd explicit betoltesere:
:- use_module(library(clpfd)).
Hiszen a clpfd betoltese nelkul mar a tesztkornyezetben szereplo step_up/2
sem volna lefordithato. Es ha a bekuldott program explicit nem tolti be a
clpfd-t, akkor futasidoben a lenti Existence error-t adja a
tesztkornyezet, amibol kovetkezoen a step_up/2 mar sikeresen lefordult,
ergo benn van a clpfd.
% loading
+/home/pp/dp/dp-shw/homeworks/04a/recent/nlp4/MartonJozsefErVZQIXX/nlp4-eval.ql.
+..
Test case user:globtest(domain([X,Y,Z],0,9),max_lt([X,Y],Z),true,Res)
failed due
+to
! Existence error in '$module_being_tested':fd_global/3
! procedure '$module_being_tested':fd_global/3 does not exist
! goal:
+'$module_being_tested':fd_global(max_lt(_7138,_7134),[_7099,_7064],[az
eloallitott szuszpenzios lista])
>>>>> Normal program termination: FAILURE
Udv.:
Jozsi
Hello!
4-es hazinal valami gond van az ebredesi lista osszerakasanal. A kovetkezo
predikatumot irtam ra:
% minmax(Xs,Susp) : Susp minmax(X)-ek listája minden X-re
minmaxl([], []).
mimmaxl([X|Xs], [minmax(X)|Susp]) :-
minmaxl(Xs,Susp).
Ugy gondoltam, hogy ez egy [A,B,C,D] listabol szepen csinal nekem egy
[minmax(A),minmax(B),minmax(C),minmax(D)] listat, hasonloan, ahogy ez a 109.
oldalon dom(X)-szel megy. Ehelyett, viszont meghiusul minden nem ures
listara...
Miert??
Koszi
Peti
Hello!
Azt olvastam a fóliákon, hogy a kérdező klózok csak egy indexikálist
tartalmazhatnak. Ezek is csak (X in halmazkifejezés) alakúak lehetnek?
A jelenlegi eszközökkel elképzelésem sincs, hogy fogható meg a
következő állítás:
Z>max(X,Y) biztosan nem teljesül, ha min(X)>max(Z) vagy min(Y)>max(Z).
(negatív kérdező indexikális)
X-re és Y-ra föl lehetne írni a feltételt, de utána ezeknek nem tudom a
konjunkcióját képezni.
Peti
Szia!
Mi a különbség a 120-as fólián az X in \{Y}, és az X in \dom(Y)
indexikális között? Miért van egyáltalán szükség arra, hogy a
változókat dom-ba ágyazzuk be?
Előre is köszönöm a válaszokat.
Üdv: Peti
Szia!
A csatolt programmal sikerült érdekes jelenségeket kicsiholnom a
Sicstusból.
Betöltés után beírtam a következőt:
domain([X,Y,U,Z], 0, 9), max_lt([X,Y,U], Z).
Először "segmentation violation" a válasz, másodszorra kilép a
Sicstusból. A hiba világos számomra: globális korlátban csak az Action
listában szűkíthetek, de ettől még nem kellene elszállnia a
rendszernek.
Pallos Péter