Nagyhatékonyságú logikai programozás
Ez az oldal a korábbi SCH wikiről lett áthozva.
Ha úgy érzed, hogy bármilyen formázási vagy tartalmi probléma van vele, akkor, kérlek, javíts rajta egy rövid szerkesztéssel!
Ha nem tudod, hogyan indulj el, olvasd el a migrálási útmutatót.
Tárgy adatok
- A tárgy honlapja: friss, archívum
- Tantárgyi adatlap: http://www.vdk.bme.hu/targykov/valaszthato/vima9359.htm
- Levelezőlista: http://www.cs.bme.hu/mailman/listinfo/nhlp-l
- SICStus leírás: CLPB, CLPQ/R, CLPFD
- Mercury: http://www.cs.mu.oz.au/research/mercury/
Kedvcsináló
A tárgy méltó folytatása a Deklaratív programozásnak. Megtanuljuk, hogy a nagy házi feladathoz hasonló jellegű problémákat hogyan oldjuk meg egyharmad annyi kóddal, és nagyságrendekkel jobb futásidővel. Elég a feladatot leíró szabályokat (constraint) pontosan definiálni, a keresést elvégzi a SICStus valamelyik CSP modulja. A CLPFD modulban gazdag constraint gyűjteményből válogathatunk, de magunk is definiálhatunk összetett korlátozásokat.
Az utolsó néhány órán a Prologhoz kísértetiesen hasonló Mercury nyelv alapjait sajátítjuk el. A fő különbség az, hogy kiirtottak minden olyan nyelvi elemet, ami meghatározza a klózok végrehajtási sorrendjét. A beolvasást és a kiírást is deklaratív módon oldották meg. Eltűnt a vágó, megjelent a típusok, a predikátum hívási és determinizmus módok támogatása.
Év közben teljesíteni lehet néhány kis- és egy nagy házi feladatot. Nem kötelezők, de egyrészt pontot jelentenek a vizsgán, másrészt gyakorlati tapasztalat nélkül nagyon nehéz jól teljesíteni vizsgán. A számonkérés szóbeli, egyszerűbb feladatokat kell papíron megoldani, majd bemutatni. Szeredi nagyon rendes a javításnál: az egyik feladatot csak harmadik nekifutásra sikerült helyesen megoldanom, de így is csak két pontot vont le, és mindig segített, hogy hol rontottam el. Aki becsületesen végigcsinálta a házi feladatokat, gond nélkül megkapja az ötöst. Hivatalos létraverseny nincs, de a vizsgaidőszakban összeültünk egyszer, és kielemeztük a beadott házifeladatokban alkalmazott trükköket.
-- Peti - 2006.07.10.
Példaprogramok
- FEFO 199. rejtvény és Ezen a helyen volt linkelve a(z) fefo199.pl.txt nevű fájl ("megoldása" link szöveggel) a régi wiki http://wiki-old.sch.bme.hu/bin/view/Valaszthato/Nagy6LogProg oldaláról. (Ha szükséged lenne a fájlra, akkor a pontos oldalmegnevezéssel együtt küldd el a wiki sch.bme.hu címre a kérésedet)
- FEFO 203. rejtvény és Ezen a helyen volt linkelve a(z) fefo203.pl.txt nevű fájl ("megoldása" link szöveggel) a régi wiki http://wiki-old.sch.bme.hu/bin/view/Valaszthato/Nagy6LogProg oldaláról. (Ha szükséged lenne a fájlra, akkor a pontos oldalmegnevezéssel együtt küldd el a wiki sch.bme.hu címre a kérésedet)
(megjegyzés: a megoldáshoz a SICStushoz adott suudoku modult használtam)
- FEFO 234. rejtvény és Ezen a helyen volt linkelve a(z) fefo234.pl.txt nevű fájl ("megoldása" link szöveggel) a régi wiki http://wiki-old.sch.bme.hu/bin/view/Valaszthato/Nagy6LogProg oldaláról. (Ha szükséged lenne a fájlra, akkor a pontos oldalmegnevezéssel együtt küldd el a wiki sch.bme.hu címre a kérésedet)
- FEFO 235. rejtvény és Ezen a helyen volt linkelve a(z) fefo235.pl.txt nevű fájl ("megoldása" link szöveggel) a régi wiki http://wiki-old.sch.bme.hu/bin/view/Valaszthato/Nagy6LogProg oldaláról. (Ha szükséged lenne a fájlra, akkor a pontos oldalmegnevezéssel együtt küldd el a wiki sch.bme.hu címre a kérésedet)
- FEFO 239. rejtvény és Ezen a helyen volt linkelve a(z) fefo239.pl.txt nevű fájl ("megoldása" link szöveggel) a régi wiki http://wiki-old.sch.bme.hu/bin/view/Valaszthato/Nagy6LogProg oldaláról. (Ha szükséged lenne a fájlra, akkor a pontos oldalmegnevezéssel együtt küldd el a wiki sch.bme.hu címre a kérésedet)
(megjegyzés: a megoldás nem egyértelmű)
- FEFO 243. rejtvény és Ezen a helyen volt linkelve a(z) fefo243.pl.txt nevű fájl ("megoldása" link szöveggel) a régi wiki http://wiki-old.sch.bme.hu/bin/view/Valaszthato/Nagy6LogProg oldaláról. (Ha szükséged lenne a fájlra, akkor a pontos oldalmegnevezéssel együtt küldd el a wiki sch.bme.hu címre a kérésedet)
(megjegyzés: nem használtam ki minden megkötést)
- FEFO 248. rejtvény és Ezen a helyen volt linkelve a(z) fefo248.pl.txt nevű fájl ("megoldása" link szöveggel) a régi wiki http://wiki-old.sch.bme.hu/bin/view/Valaszthato/Nagy6LogProg oldaláról. (Ha szükséged lenne a fájlra, akkor a pontos oldalmegnevezéssel együtt küldd el a wiki sch.bme.hu címre a kérésedet)
- FEFO 269. rejtvény és Ezen a helyen volt linkelve a(z) fefo269.pl.txt nevű fájl ("megoldása" link szöveggel) a régi wiki http://wiki-old.sch.bme.hu/bin/view/Valaszthato/Nagy6LogProg oldaláról. (Ha szükséged lenne a fájlra, akkor a pontos oldalmegnevezéssel együtt küldd el a wiki sch.bme.hu címre a kérésedet)
-- Peti - 2007.08.28.
%META:FORM{name="ValaszthatoForm"}% %META:FIELD{name="Trgy" title="Tárgy" value="Nagyhatékonyságú logikai programozás"}% %META:FIELD{name="Trgykd" title="Tárgykód" value="vima9359"}% %META:FIELD{name="Tanszk" title="Tanszék" value="SZIT"}% %META:FIELD{name="Elad" title="Előadó" value="Szeredi Péter"}% %META:FIELD{name="Kreditszm" title="Kreditszám" value="3"}% %META:FIELD{name="raszm" title="Óraszám" value="2"}% %META:FIELD{name="Flv" title="Félév" value=""}% %META:FIELD{name="Terlet" title="Terület" value="Programozás"}% %META:FIELD{name="raijelenlt" title="Órai jelenlét" value="ajánlott"}% %META:FIELD{name="Jegy" title="Jegy" value="vizsga , kis házik , nagy házi "}% %META:FIELD{name="Elvrtmin.munka" title="Elvárt min. munka" value="bejárás"}% %META:FIELD{name="Minimumrajrjegy" title="Minimumra járó jegy" value="4"}% %META:FIELD{name="Elvrtmax.munka" title="Elvárt max. munka" value="kis utánaolvasás - kis munka"}% %META:FIELD{name="Munkrajrjegy" title="Munkára járó jegy" value="5"}%