Heti egy ora gyakorlattal kibovitett formaban, Nagyhatekonysagu Deklarativ
Programozas cimmel a jovo felevben is indul az NLP, MSc szakiranyos
targykent, VISZM232 koddal. Ez tudomasom szerint valaszthato targykent mind
az oteves, mind az MSc, mind a BSc kepzesben felveheto.
Mivel szakiranyos hallgatonk csak 1 van ;-), ezert alaphelyzetben a targy
oktatasa konzultacios formaban zajlik majd. De ha 5-6-an felveszik, akkor
mar rendes eloadast is tartok. Tehat ha valakinek most nem jott ossze az
NLP, de meg erdekli, esetleg felveheti az NDP-t. Vagy ha valakinek
sikerult, es tetszett, akkor ajanlhatja masoknak...
Mas: beszeltunk rola, hogy a kimaradt reszekrol (Mercury, CHR) szivesen
tartok eloadast. Erre peldaul az oszi felev elso heteiben kerithetunk sort.
-Peter
A jegyzetben a 107. oldalon szerepel a következő példa, amely a #=<
korlát egy megvalósítását mutatja.
% X #=< Y, globális korlátként megvalósítva
lseq(X, Y) :-
fd_global(lseq(X,Y), void, [min(X),max(Y)]).
:- multifile clpfd:dispatch_global/4.
:- discontiguous clpfd:dispatch_global/4.
clpfd:dispatch_global(lseq(X,Y), St, St, Actions) :-
dispatch_lseq(X, Y, Actions).
dispatch_lseq(X, Y, Actions) :-
fd_min(X, MinX), fd_max(X, MaxX),
fd_min(Y, MinY), fd_max(Y, MaxY),
( number(MaxX), number(MinY), MaxX =< MinY
-> Actions = [exit]
; Actions = [X in inf..MaxY, Y in MinX..sup]
).
A kérdésem az, szükség van-e itt a MaxX =< MinY feltétel vizsgálatára?
A definíció akkor is működne, ha a dispatch_lseq eljárást egyszerűen
csak úgy definiálnánk, hogy
dispatch_lseq(X, Y, [X in inf..MaxY, Y in MinX..sup]) :-
fd_min(X, MinX), fd_max(Y, MaxY).
Ambrus
A 4. kishazi kapcsan fordult elo ez a problema, mar masodszor, ezert
kozreadom
-Peter
---------------------------------------------------------------------------
> Az Action listában szeretnék egy eljáráshívást elhelyezni, és itt az
> én gépemen SICStus-ban nagyon szépen megy is
> 'call(user:eljarasnev(<Argumentumok>))' alakban,
> de az ETS-nek ez így nem tetszik.
Ez azert van, mert a teszteleskor -- esetleges nevutkozesek elkerulesere --
a '$module_being_tested' modulba toltjuk be a megoldasokat. Emiatt a
call(user:xxxx) alaku akciok nem mukodnek.
Szerencsesebbnek (es hatekonyabbnak) gondolnam, ha el tudnad kerulni a call
akciok hasznalatat. Egyebkent a
current_predicate(<eljarasnev>, M:_),
hivassal le lehet kerdezni annak a modulnak a nevet, ahol az adott
eljaras definialva van, es ezt az M modulnevet kell hasznalni a call
akcioban a user helyett.
Szomoruan tapasztaltam, hogy senki sem jott el konzultaciora.
(Nehany percet kestem, remelem nem ezert ment el esetleg valaki aki itt
volt... :-).
A konzultacion a majusi vizsga feladatait beszeltuk volna meg, elkuldom ezt
a peldasort:
http://cs.bme.hu/~szeredi/nlp/nlp09s-v1.pdf
A 2. es 5. feladathoz itt talalhattok egy kis segitseget:
http://cs.bme.hu/~szeredi/nlp/nlp09s-v1-segitseg.pdf
Egy ilyen peldasor megoldasa nagymertekben megkonnyiti a vizsga sikeres
abszolvalasat. Csinalja'tok vegig, es irjatok a listara, ha elakadtok.
Azt is szomoruan latom, hogy a nagyhazival sincs mindenki keszen. A
nagyhazit vegul is el tudom fogadni kesobb is. A korabban a listara
elkuldott tanacsokat is felhasznalva ugy gondolom, hogy nehany ora alatt
megirhato a nhf...
Meg egyszer megirom, hogy a vizsgan a jegyzet, foliamasolatok es mas irasos
segedlet hasznalhato, tehat nem memorizalni kell az anyagot, hanem
feladatmegoldasi gyakorlatot szerezni.
Udv,
Peter
A tárgy honlapján ez található.
2009. június 19. szerda: 9:00-12:00, IB.134; kapcsolódó konzultáció: 2009.
június 17. hétfő, 14:00-16:00, IB.134.
Gondolom, csak elírás.
--
Zsíros Levente
Van egy ilyen indexikálisom
a(X,Y,Z)+:
X in inf..(max(Z)-1),
Y in inf..(max(Z)-1).
A domain([X,Y],0,9),a(X,Y,5)
hívásra ezt adja:
X in 0..4,
Y in 0..9 ? ;
no
Hogyan lehetne elérni, hogy a második szűkítés is lefusson?
--
Zsíros Levente
Kozeledik a 2. NLP vizsga, gondolom tobben foglalkoztok mostanaban a nagy
hazi feladattal. Ezzel kapcsolatban ket jotanacsot szeretnek adni:
1. Fontos, hogy a tavolsag-korlat tartomany-szukito legyen, azaz az
abs(X-Y) #= D korlat (ahol D konstans) maximalisan szukitsen. Itt jo
tudni, hogy a beepitett abs fuggveny onmagaban tartomany-szukito, de a
kivonas nem. Tehat a fenti korlatot egy segedvaltozo bevezetesevel
erdemes ket reszre bontani, es a kivonast a foliakon szereplo
'x+y=t tsz' tartomany-szukito FD-predikatum (115. folia) segitsegevel
megvalositani.
2. Kevesbe kritikus, de gyorsitja a programot, ha all_distinct-et
hasznaltok es nem all_different-et.
Ha barmi gondotok van irjatok a listara (ha nem konkret koddarabbal
kapcsolatos a kerdes) vagy szemelyesen nekem (egyebkent).
-Peter
Ui. Javasolom, hogy az esetleg elmaradt kishazikat is oldjatok meg, mert az
ezaltal megtanulhato tudas nagyon jol jon a vizsgan. Ez foleg a 3.-4.
KHF-re vonatkozik, mert ehhez a ket feladathoz hasonlo feladatokra a
vizsgapontszam tobb mint 50%-a jar...
UUi. Ujra irom, hogy a vizsgan tetszoleges irasos segedeszkoz hasznalhato,
tehat nem memorizalni celszeru az anyagot, hanem feladatmegoldasi
gyakorlatot szerezni.
Ezúttal is köszönöm Szeredi Tanár úrnak a határidő meghosszabbítását,
szerencsére már sikerrel vette a programom az akadályt.
A vizsgakészüléshez van egy kérdésem, az indexikálisokkal kapcsolatban
van pár dolog ami nem egészen világos.
A -: klózt mikor használja a CLPFD szűkítésre? Csak akkor, ha
reifikált korlátként, tagadó módban vesszük fel a korlátot, vagy más
esetben is lehet hogy segít a szűkítésben?
(Magyarul, ha nem tervezek egy FD predikátumot reifikálni, akkor
érdemes-e megírni a -: klózt, javulhat vele a program teljesítménye,
vagy felesleges?)
Még a -: klózhoz, egy tartományszűkítő korlátnak meg lehet írni
monotonra a tagadó klózát? Ha pl. a jegyzetben lévő ’x+y=t tsz’(X, Y,
T)-t nézzük, ott ilyen indexikálisok vannak, hogy "X in
dom(T)-dom(Y)". Értelemszerűen ha a predikátum nem igaz, akkor "X in
\(dom(T)-dom(Y))" lenne, de ez meg logikusan antimonoton.
Köszönöm a választ
József Dániel
2009/5/23 <nhlp-l-request(a)cs.bme.hu>:
> Send NHLP-l mailing list submissions to
> nhlp-l(a)sziami.cs.bme.hu
>
> To subscribe or unsubscribe via the World Wide Web, visit
> http://sziami.cs.bme.hu/mailman/listinfo/nhlp-l
> or, via email, send a message with subject or body 'help' to
> nhlp-l-request(a)sziami.cs.bme.hu
>
> You can reach the person managing the list at
> nhlp-l-owner(a)sziami.cs.bme.hu
>
> When replying, please edit your Subject line so it is more specific
> than "Re: Contents of NHLP-l digest..."
>
>
> Today's Topics:
>
> 1. Re: Penteki konzultacio: V2. 136-ban (J?zsef D?niel)
> 2. Re: Penteki konzultacio: V2. 136-ban (Peter Szeredi)
> 3. a nagyh?zi tesztesetei az ETS-ben (Makrai M?rton)
> 4. Vizsga el?tt 3 nap (J?zsef D?niel)
> 5. Re: a nagyh?zi tesztesetei az ETS-ben (Makrai M?rton)
> 6. Re: Vizsga el?tt 3 nap (Peter Szeredi)
> 7. Vizsga (Peter Szeredi)
>
>
> ----------------------------------------------------------------------
>
> Message: 1
> Date: Fri, 22 May 2009 14:11:25 +0200
> From: J?zsef D?niel <daniel.jozsef(a)gmail.com>
> Subject: Re: [NHLP-l] Penteki konzultacio: V2. 136-ban
> To: nhlp-l(a)cs.bme.hu
> Message-ID:
> <29f2efff0905220511w19dbc2a6w9fa5ee15014a6341(a)mail.gmail.com>
> Content-Type: text/plain; charset=UTF-8
>
> Tisztelt Tan?r ?r!
>
> Azt tervezem, hogy jelentkezem a keddi vizsg?ra. Szerintem ma fel
> fogok iratkozni a Neptunban.
>
> J?zsef D?niel
>
>>
>> Message: 2
>> Date: 21 May 2009 23:13:13 +0200
>> From: Peter Szeredi <szeredi(a)cs.bme.hu>
>> Subject: [NHLP-l] Penteki konzultacio: V2. 136-ban.
>> To: nhlp-l(a)cs.bme.hu
>> Message-ID: <794overwgm.fsf(a)pnp.cs.bme.hu>
>> Content-Type: text/plain; charset=iso-8859-1
>>
>> Ugy latom, hogy csak egy jelentkezo van a jovo keddi vizsgara, G?rdonyi
>> Laci.
>>
>> Tervezi meg valaki, hogy jelentkezik a keddi vizsgara?
>>
>> Tervezi valaki, hogy jon a holnapi (penteki) konzultaciora?
>> Laci, te jossz?
>>
>> Tekintettel a kis letszamra, a konzultacio helyszine megvaltozott: V2.136.
>>
>> -Peter
>>
>>
>> ------------------------------
>>
>> _______________________________________________
>> NHLP-l mailing list
>> NHLP-l(a)sziami.cs.bme.hu
>> http://sziami.cs.bme.hu/mailman/listinfo/nhlp-l
>>
>>
>> End of NHLP-l Digest, Vol 32, Issue 11
>> **************************************
>>
>
>
> ------------------------------
>
> Message: 2
> Date: 22 May 2009 14:13:46 +0200
> From: Peter Szeredi <szeredi(a)cs.bme.hu>
> Subject: Re: [NHLP-l] Penteki konzultacio: V2. 136-ban
> To: "A Nagyhat& #233; konys& #225; g& #250; Logikai
> Programoz& #225; s c. t& #225; rgy list& #225; ja"
> <nhlp-l(a)cs.bme.hu>
> Message-ID: <79pre1tjwl.fsf(a)pnp.cs.bme.hu>
> Content-Type: text/plain; charset=iso-8859-1
>
> J?zsef D?niel <daniel.jozsef(a)gmail.com> writes:
>
>> Tisztelt Tan??r ??r!
>>
>> Azt tervezem, hogy jelentkezem a keddi vizsg??ra. Szerintem ma fel
>> fogok iratkozni a Neptunban.
>>
>> J??zsef D??niel
>
> Koszonom, hogy irtal. Ha a vizsgara keszules kozben gondod tamad, irj
> emailt.
>
> Udv,
>
> Peter
>
>
>
> ------------------------------
>
> Message: 3
> Date: Fri, 22 May 2009 23:15:57 +0200
> From: Makrai M?rton <makraimarton(a)gmail.com>
> Subject: [NHLP-l] a nagyh?zi tesztesetei az ETS-ben
> To: nhlp-l(a)cs.bme.hu
> Message-ID:
> <cd4000490905221415j4a0b18b9m9377b25621b687d7(a)mail.gmail.com>
> Content-Type: text/plain; charset=ISO-8859-2
>
> Szervusztok!
>
> Azt szeretn?m k?rdezni, hogy a keretprogramban szerepl? tesztesetek
> k?z?l melyik az a 10, amelyiket az ETS haszn?lja (?s milyen
> sorrendben).
> El?re is k?sz?n?m
> Marci
>
>
> ------------------------------
>
> Message: 4
> Date: Fri, 22 May 2009 23:31:47 +0200
> From: J?zsef D?niel <daniel.jozsef(a)gmail.com>
> Subject: [NHLP-l] Vizsga el?tt 3 nap
> To: nhlp-l(a)cs.bme.hu
> Message-ID:
> <29f2efff0905221431q73c14ffdi8f5b0c3c1090c9ac(a)mail.gmail.com>
> Content-Type: text/plain; charset=UTF-8
>
> Tisztelt Tan?r ?r!
>
> Sajnos nem siker?lt a nagyh?zit elfogadhat?an gyorsra csiszolni ma
> ?jf?lig. Az a k?rd?sem, hogy a "vizsga el?tt h?rom nappal" hogyan
> sz?moland? - meddig kell leadjam a h?zit, hogy mehessek kedden
> vizsg?zni? Holnap estig m?g belef?r?
>
> K?sz?nettel
> J?zsef D?niel
>
>
> ------------------------------
>
> Message: 5
> Date: Sat, 23 May 2009 01:36:54 +0200
> From: Makrai M?rton <makraimarton(a)gmail.com>
> Subject: Re: [NHLP-l] a nagyh?zi tesztesetei az ETS-ben
> To: nhlp-l(a)cs.bme.hu
> Message-ID:
> <cd4000490905221636g619083f4sf1178cc333543ccc(a)mail.gmail.com>
> Content-Type: text/plain; charset=ISO-8859-2
>
> Eln?z?st, csak most vettem ?szre, hogy van readme f?jl.
>
> 2009/5/22 Makrai M?rton <makraimarton(a)gmail.com>:
>> Szervusztok!
>>
>> Azt szeretn?m k?rdezni, hogy a keretprogramban szerepl? tesztesetek
>> k?z?l melyik az a 10, amelyiket az ETS haszn?lja (?s milyen
>> sorrendben).
>> El?re is k?sz?n?m
>> Marci
>>
>
>
> ------------------------------
>
> Message: 6
> Date: 23 May 2009 09:51:20 +0200
> From: Peter Szeredi <szeredi(a)cs.bme.hu>
> Subject: Re: [NHLP-l] Vizsga el?tt 3 nap
> To: "A Nagyhat& #233; konys& #225; g& #250; Logikai
> Programoz& #225; s c. t& #225; rgy list& #225; ja"
> <nhlp-l(a)cs.bme.hu>
> Message-ID: <79bppknton.fsf(a)pnp.cs.bme.hu>
> Content-Type: text/plain; charset=iso-8859-1
>
> J?zsef D?niel <daniel.jozsef(a)gmail.com> writes:
>
>> Sajnos nem siker?lt a nagyh?zit elfogadhat?an gyorsra csiszolni ma
>> ?jf?lig. Az a k?rd?sem, hogy a "vizsga el?tt h?rom nappal" hogyan
>> sz?moland? - meddig kell leadjam a h?zit, hogy mehessek kedden
>> vizsg?zni? Holnap estig m?g belef?r?
>
> Igen. Meghosszabbitottam a hataridot az ETS-ben.
> Ad abszurdum meg az is belefer, hogy csak a vizsga utan fejezed be a
> NHF-t.
>
> Udv,
>
> Peter
>
>
> ------------------------------
>
> Message: 7
> Date: 23 May 2009 11:48:35 +0200
> From: Peter Szeredi <szeredi(a)cs.bme.hu>
> Subject: [NHLP-l] Vizsga
> To: "A Nagyhat& #233; konys& #225; g& #250; Logikai
> Programoz& #225; s c. t& #225; rgy list& #225; ja"
> <nhlp-l(a)cs.bme.hu>
> Message-ID: <79zld4m9os.fsf(a)pnp.cs.bme.hu>
> Content-Type: text/plain; charset=us-ascii
>
> Fontos informaciok a vizsgarol:
>
> - A vizsgan minden irott segedeszkoz hasznalhato!
> Ne felejtsetek el elhozni a kinyomtatott foliamasolatokat, jegyzetet,
> stb.
>
> - Korabbi vizsgafeladatok letolthetok a honlaprol, ezek kozul
> ertelemszeruen elhagyandok a Mercury es CHR nyelvekre vonatkozo
> feladatok.
>
> - Varhato feladatok kozelito pontertekekkel
>
> - CLPFD: indexikalis irasa, felteteles kifejezessel, mondo, kerdezo
> indexikalis, indexikalis jelentese (vo. 3. khf) 20-25 pont
>
> - CLPFD: globalis korlat irasa (vo. 4. khf) 20-25 pont
>
> - CLPFD: reifikaciot igenylo feladat megoldasa (vo. magikus
> sorozatok pelda a foliakon). 20 pont
>
> - egyszeru CLPQ/CLPB programozasi feladatok 2*10 pont
>
> - Pontozas:
>
> vizsga osszpontszama 85 pont
> NHF max 15 pont
> KHF-ek max 8 pont
>
> Osszesen max 108 pont
>
> Jegyek: 85 - jeles
> 70-84 jo,
> 55-69 kozepes
>
> Ha valami nem vilagos, kerdezzetek!
>
> -Peter
>
>
> ------------------------------
>
> _______________________________________________
> NHLP-l mailing list
> NHLP-l(a)sziami.cs.bme.hu
> http://sziami.cs.bme.hu/mailman/listinfo/nhlp-l
>
>
> End of NHLP-l Digest, Vol 32, Issue 12
> **************************************
>
Tisztelt Tanár úr!
Sajnos nem sikerült a nagyházit elfogadhatóan gyorsra csiszolni ma
éjfélig. Az a kérdésem, hogy a "vizsga előtt három nappal" hogyan
számolandó - meddig kell leadjam a házit, hogy mehessek kedden
vizsgázni? Holnap estig még belefér?
Köszönettel
József Dániel