Nagyhatékonyságú logikai programozás

A VIK Wikiből
Ugrás a navigációhoz Ugrás a kereséshez

Ez az oldal a korábbi SCH wiki-ről lett áthozva. Az eredeti változata itt érhető el.

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

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
    Hiba a bélyegkép létrehozásakor: Nem lehet a bélyegképet a célhelyre menteni
    @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
    Hiba a bélyegkép létrehozásakor: Nem lehet a bélyegképet a célhelyre menteni
    @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
    Hiba a bélyegkép létrehozásakor: Nem lehet a bélyegképet a célhelyre menteni
    @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
    Hiba a bélyegkép létrehozásakor: Nem lehet a bélyegképet a célhelyre menteni
    @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
    Hiba a bélyegkép létrehozásakor: Nem lehet a bélyegképet a célhelyre menteni
    @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
    Hiba a bélyegkép létrehozásakor: Nem lehet a bélyegképet a célhelyre menteni
    @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
    Hiba a bélyegkép létrehozásakor: Nem lehet a bélyegképet a célhelyre menteni
    @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
    Hiba a bélyegkép létrehozásakor: Nem lehet a bélyegképet a célhelyre menteni
    @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"}%