Erinevus lehekülje "Loogiline programmeerimine (2017)" redaktsioonide vahel

Allikas: Kursused
Mine navigeerimisribale Mine otsikasti
P (Evelin teisaldas lehekülje Loogiline programmeerimine pealkirja Loogiline programmeerimine (2017) alla)
 
(ei näidata 2 kasutaja 40 vahepealset redaktsiooni)
13. rida: 13. rida:
  
 
==Sügis 2017==
 
==Sügis 2017==
 +
 +
 +
==NB!<span style="color: red; font-weight: bold;"> Praktikumide järelkaitsmine toimub 9. jaanuaril kell 10.00 (ICT-401)==
 +
 +
==NB!<span style="color: red; font-weight: bold;"> Kontrolltööde järeltööd s.h. koondtest 16. jaanuaril kell 10.00 (ICT-411)==
  
 
* Loeng: Teisipäeval kl. 10:00 - 11:30 ruumis U02-102 (õppejõud prof. Jüri Vain)
 
* Loeng: Teisipäeval kl. 10:00 - 11:30 ruumis U02-102 (õppejõud prof. Jüri Vain)
46. rida: 51. rida:
 
* Arvestusel osalemine ei ole kohustuslik nendele, kes on edukalt kaitsnud praktikumitööd ja kodutöö ning sooritanud 3 testi igaüks tulemusega 60 p ja enam.
 
* Arvestusel osalemine ei ole kohustuslik nendele, kes on edukalt kaitsnud praktikumitööd ja kodutöö ning sooritanud 3 testi igaüks tulemusega 60 p ja enam.
 
-->
 
-->
* Järeltööd kontrolltöödele 1-3 toimuvad semestri viimaste loengute aegadel.
+
* Järeltööd kontrolltöödele 1-3 toimuvad semestri viimaste loengute aegadel  
 +
** 12.12.2017 järeltööd kontrolltööle 1 ja kontrolltööle 2
 +
** 19.12.2017 järeltööd kontrolltööle 2 ja kontrolltööle 3
 
* Järeltööde sooritamise tingimused:
 
* Järeltööde sooritamise tingimused:
 
** Esimesel katsel tuleb teha järeltööd konkreetselt sellele tööle, mille tulemus oli alla 51%.
 
** Esimesel katsel tuleb teha järeltööd konkreetselt sellele tööle, mille tulemus oli alla 51%.
61. rida: 68. rida:
 
* [[Media:ITI0021_Loeng_2 2016.pdf|Loeng 3]]: Loogilise programmeerimise keel Prolog
 
* [[Media:ITI0021_Loeng_2 2016.pdf|Loeng 3]]: Loogilise programmeerimise keel Prolog
 
* [[Media:ITI0021_Loeng_3_2015.pdf|Loeng 4]]: Resolutsioon ja unifitseerimine
 
* [[Media:ITI0021_Loeng_3_2015.pdf|Loeng 4]]: Resolutsioon ja unifitseerimine
* '''Kontrolltöö 1 (3.10.2017):''' Loengute 1-4 materjalile: teadmiste formaliseerimine 1st järku predikaatloogikas, Horni lause, resolutsioon, unifitseerimine, mgu, literaal, term, rekursiivne reegel, lihtsamate päringute ja rekursiivsete reeglite koostamine.
 
 
* [[Media:ITI0021_Loeng_4_2015.pdf|Loeng 5]]: Prologi andmestruktuurid: listid, freimid (lisamaterjal [http://www.learnprolognow.org/lpnpage.php?pageid=teaching] vt Chapter 10)
 
* [[Media:ITI0021_Loeng_4_2015.pdf|Loeng 5]]: Prologi andmestruktuurid: listid, freimid (lisamaterjal [http://www.learnprolognow.org/lpnpage.php?pageid=teaching] vt Chapter 10)
 +
* '''Kontrolltöö 1 (10.10.2017):''' Loengute 1-4 materjalile: teadmiste formaliseerimine 1st järku predikaatloogikas, Horni lause, resolutsioon, unifitseerimine, mgu, literaal, term, rekursiivne reegel,lihtsamate päringute ja rekursiivsete reeglite koostamine. 
 
* [[Media:ITI0021_Loeng_6_2016.pdf|Loeng 6]]: Hulgateooria ja algebra mõistete programmeerimine
 
* [[Media:ITI0021_Loeng_6_2016.pdf|Loeng 6]]: Hulgateooria ja algebra mõistete programmeerimine
 
* [[Media:ITI0021_Loeng_7_2016.pdf|Loeng 7]]: Prolog programmi täitmine ja täitmise juhtimine
 
* [[Media:ITI0021_Loeng_7_2016.pdf|Loeng 7]]: Prolog programmi täitmine ja täitmise juhtimine
* '''Kontrolltöö 2 (31.10.2017):''' Loengute 5, 6 ja 7 materjalile: rekursioon, listid, rekursiivsed reeglid listidel, otsingu juhtimine
+
<!-- * <span style="color: red; font-weight: bold;"> '''Loengu (31.10.17) ajal toimub harjutus Kontrolltööks 2. ''' Teema: Rekursiooni ja tagasivõtuga otsingu programmeerimine </span>
 +
-->
 +
* '''Kontrolltöö 2 (7.11.2017):''' Loengute 5, 6 ja 7 materjalile: rekursioon, listid, rekursiivsed reeglid listidel, otsingu juhtimine
 
* [[Media:ITI0021_Loeng_8_2016.pdf|Loeng 8]]: DCG grammatika reeglid ja loomuliku keele parsimine (lisamaterjal [http://www.learnprolognow.org/slides/official/LPNchapter7.pdf] ja[http://www.learnprolognow.org/slides/official/LPNchapter8.pdf]
 
* [[Media:ITI0021_Loeng_8_2016.pdf|Loeng 8]]: DCG grammatika reeglid ja loomuliku keele parsimine (lisamaterjal [http://www.learnprolognow.org/slides/official/LPNchapter7.pdf] ja[http://www.learnprolognow.org/slides/official/LPNchapter8.pdf]
* [[Media:ITI0021_Lecture_10_2015.pdf|Loeng 9]]: Mängu ja otsingustrateegiate programmeerimine
+
* [[Media:ITI0021_Loeng_9_2017.pdf|Loeng 9]]: Mängu ja otsingustrateegiate programmeerimine
 
* Loeng 10: Prologi liidestamine C ja Java programmidega
 
* Loeng 10: Prologi liidestamine C ja Java programmidega
 
* Loeng 11: Tehisintellekti algoritmide programmeerimine Prologis  
 
* Loeng 11: Tehisintellekti algoritmide programmeerimine Prologis  
122. rida: 131. rida:
 
Mine aadressile https://gitlab.cs.ttu.ee/ ja logi sisse oma UNI-ID kasutajanimega.
 
Mine aadressile https://gitlab.cs.ttu.ee/ ja logi sisse oma UNI-ID kasutajanimega.
  
Loo endale projekt nimega "iti0021".  
+
 
 +
Loo endale projekt nimega "iti0021" (NB!! Väikesed tähed).  
 
https://gitlab.cs.ttu.ee/dashboard/projects -> "New Project". Visibility las olla "private".
 
https://gitlab.cs.ttu.ee/dashboard/projects -> "New Project". Visibility las olla "private".
 +
  
 
Kui projekt tehtud, siis mine üleval menüüst "Members".
 
Kui projekt tehtud, siis mine üleval menüüst "Members".
 
+
Lisa kasutajatena 'hodor-live' ja 'Evelin.Halling'. Määra "access level" "Developer".
Lisa kasutajatena 'hodor-live' ja 'Evelin.Halling'
 
Määra "access level" "Developer".
 
 
 
 
 
 
Nüüd saavad kursuse õppejõud sinu repole ligi. Samuti saab sinu repole ligi tester.
 
Nüüd saavad kursuse õppejõud sinu repole ligi. Samuti saab sinu repole ligi tester.
  
154. rida: 161. rida:
 
** [[Media:ITI0021_Praktikum_PR03_juhend_2016.pdf|Praktikumi 3 juhend]]
 
** [[Media:ITI0021_Praktikum_PR03_juhend_2016.pdf|Praktikumi 3 juhend]]
  
* Praktikum 4: Rekursioon PR05
+
* Praktikum 4: Rekursioon PR04
 
** [[Media:ITI0021_Praktikum_PR04_juhend_2016.pdf|Praktikumi 4 juhend]]
 
** [[Media:ITI0021_Praktikum_PR04_juhend_2016.pdf|Praktikumi 4 juhend]]
 
** Näidismaterjal: [[Media:ITI0021_praktikum_PR04_näited_2016.pl|Klassid ja pärimine]]
 
** Näidismaterjal: [[Media:ITI0021_praktikum_PR04_näited_2016.pl|Klassid ja pärimine]]
 
** Lisamaterjal: [[Media:ITI0021_praktikum_PR04_isco_klassifikaatorid.xls |ISCO ametite klassifikatsioon]]
 
** Lisamaterjal: [[Media:ITI0021_praktikum_PR04_isco_klassifikaatorid.xls |ISCO ametite klassifikatsioon]]
  
* Praktikum PR06: Listid  
+
* Praktikum PR05: Listid  
** [[Media:ITI0021_Praktikum_PR06_juhend_2016.pdf|Praktikumi PR06 juhend]]
+
** [[Media:ITI0021_Praktikum_PR06_juhend_2016.pdf|Praktikumi PR05 juhend]]
 +
 
 +
* Praktikum PR06: Semantilised võrgud ja freimid
 +
** [[Media:ITI0021_praktikumi_7_juhend_2015.pdf|Praktikumi PR06 juhend]]
 +
** Näidismaterjal: [[Media:ITI_0021_praktikum_7_näited.pl|Klassid ja pärimine]]
  
 
* Praktikum PR07: Hulgateoreetilised tehted
 
* Praktikum PR07: Hulgateoreetilised tehted
168. rida: 179. rida:
 
** [[Media:ITI0021_Praktikum_PR08_juhend_2016.pdf|Praktikumi PR08 juhend]]
 
** [[Media:ITI0021_Praktikum_PR08_juhend_2016.pdf|Praktikumi PR08 juhend]]
  
* Praktikum PR09: DCG grammatika ja loomuliku keele interpreteerimine  
+
* Praktikum PR09: Reisi marsuudi leidimine
** [[Media:ITI0021_Praktikum_PR09_juhend_2016.pdf|Praktikumi PR09 juhend]]
+
** [[Media:ITI0021_Praktikum_PR09_juhend_2017.pdf|Praktikumi PR09 juhend]]
 +
 
 +
* Praktikum PR10: DCG grammatika ja loomuliku keele interpreteerimine  
 +
** [[Media:ITI0021_Praktikum_PR09_juhend_2016.pdf|Praktikumi PR10 juhend]]
  
* Praktikum PR10: Faktide hulgal otsingu programmeerimine  
+
* Praktikum PR11: Faktide hulgal otsingu programmeerimine  
** [[Media:ITI0021_Praktikum_PR10_juhend_2016.pdf|Praktikumi PR10 juhend]]
+
** [[Media:ITI0021_Praktikum_PR10_juhend_2016.pdf|Praktikumi PR11 juhend]]
 
** Näidismaterjal: [[Media:ITI0021_Praktikum_9_kabe_2015.pl|Otsing kabe näitel]]
 
** Näidismaterjal: [[Media:ITI0021_Praktikum_9_kabe_2015.pl|Otsing kabe näitel]]
 
** Tuleb implementeerida predikaadid 'vota' ja 'tee_kaik'
 
** Tuleb implementeerida predikaadid 'vota' ja 'tee_kaik'
  
* Praktikum PR11: Tammi programmeerimine
+
* Praktikum PR12: Tammi programmeerimine
** Programmeerida Tammi käigud. Kasuta eelmises praktikumis (Praktikumis PR10) loodud kabe programmi.  
+
** Programmeerida Tammi käigud. Kasuta eelmises praktikumis (Praktikumis PR11) loodud kabe programmi.  
 
** Tammi käikude programmeerimise algoritm on toodud kodutöö ülesande kirjelduses.
 
** Tammi käikude programmeerimise algoritm on toodud kodutöö ülesande kirjelduses.
 
** predikaat 'kaigu_variandid' peab toetama tammiga käimist ja võtmist
 
** predikaat 'kaigu_variandid' peab toetama tammiga käimist ja võtmist
  
 +
<!--
 
* Praktikum PR12: ALEPH algoritm (A Learning Engine for Proposing Hypotheses)  
 
* Praktikum PR12: ALEPH algoritm (A Learning Engine for Proposing Hypotheses)  
 
** [[Media:ITI0021_Praktikum_PR12_juhend_2016.pdf|Praktikumi PR12 juhend]]
 
** [[Media:ITI0021_Praktikum_PR12_juhend_2016.pdf|Praktikumi PR12 juhend]]
  
<!--
+
 
 
* Praktikum 5: Listid  
 
* Praktikum 5: Listid  
 
** [[Media:ITI0021_Praktikum_5_juhend_2015.pdf|Praktikumi 5 juhend]]
 
** [[Media:ITI0021_Praktikum_5_juhend_2015.pdf|Praktikumi 5 juhend]]
231. rida: 246. rida:
 
** Mängu üldkirjeldus: [https://en.wikipedia.org/wiki/Russian_draughts]
 
** Mängu üldkirjeldus: [https://en.wikipedia.org/wiki/Russian_draughts]
 
** Ametlikud võistlusreeglid:[http://fmjd64.org/rules-of-the-game/]
 
** Ametlikud võistlusreeglid:[http://fmjd64.org/rules-of-the-game/]
 +
 +
** Graafiline Arbiiter:
 +
*** [[Media:GraphicArbiter.zip |Arbiiter (Graafiline)]]
  
 
** Programm Arbiiter juhib mängu.  
 
** Programm Arbiiter juhib mängu.  
247. rida: 265. rida:
 
* [http://www.learnprolognow.org/lpnpage.php?pageid=top Learn Prolog Now]
 
* [http://www.learnprolognow.org/lpnpage.php?pageid=top Learn Prolog Now]
 
* [http://www.youtube.com/watch?v=09zlcS49zL0 Web Testing with Logic Programming - Daniel Gregoire]
 
* [http://www.youtube.com/watch?v=09zlcS49zL0 Web Testing with Logic Programming - Daniel Gregoire]
 +
* [https://www.amzistore.com/dcm_bookstore.php  Uut lugemist Prologis ja selle rakendustest!] [[Pilt:Näidis.jpg]]

Viimane redaktsioon: 3. september 2018, kell 07:31


Ainekood: ITI0021
Link: http://courses.cs.ttu.ee/pages/ITI0021

Õppejõud: prof. Jüri Vain
Kontakt: juri.vain ätt ttu.ee, ICT-418, Vastuvõtu aeg: esmaspäeval kl. 16:00 - 17:00 eelneval kokkuleppel e-maili kaudu


Kursus varasematel aastatel: Sügis 2015

Sügis 2017

NB! Praktikumide järelkaitsmine toimub 9. jaanuaril kell 10.00 (ICT-401)

NB! Kontrolltööde järeltööd s.h. koondtest 16. jaanuaril kell 10.00 (ICT-411)

  • Loeng: Teisipäeval kl. 10:00 - 11:30 ruumis U02-102 (õppejõud prof. Jüri Vain)
  • Praktikumid ruumis ICT-401: (õppejõud: prof. Jüri Vain, Sven Nõmm, Evelin Halling)
    • IAPB51, IAPB52, IAPB53, IAPB54, IAPB55
      • Rühm A: Teisipäeval kl. 12:00-13:30
      • Rühm B: Teisipäeval kl. 14:00-15:30
      • Rühm C: Teisipäeval kl. 16:00-17:30


Hindamiskriteeriumid

  • HINDAMISKRITEERIUMID vt siit
  • Järeltööd kontrolltöödele 1-3 toimuvad semestri viimaste loengute aegadel
    • 12.12.2017 järeltööd kontrolltööle 1 ja kontrolltööle 2
    • 19.12.2017 järeltööd kontrolltööle 2 ja kontrolltööle 3
  • Järeltööde sooritamise tingimused:
    • Esimesel katsel tuleb teha järeltööd konkreetselt sellele tööle, mille tulemus oli alla 51%.
    • Kui ka järeltöö ebaõnnestub, tuleb sooritada koondtöö kursuse kogu materjali peale.
  • Arvestuse hinnet tõstab see, kui kodutööna valminud kabeprogramm saavutab viimase praktikumi ajal toimuval võistlusel auhinnalise koha: I koht +3 (mod 5) palli; II koht +2(mod 5) palli; III koht +1(mod 5) pall.
  • Testide ja praktikumide jooksvad tulemused asuvad Moodles (ained.ttu.ee)

Loengud

  • Loeng 1: Mis on loogiline programmeerimine?
  • Loeng 2.1: Loogika alusmõisted: lauseloogika
  • Loeng 2.2: Loogika alusmõisted: predikaatloogika
  • Loeng 3: Loogilise programmeerimise keel Prolog
  • Loeng 4: Resolutsioon ja unifitseerimine
  • Loeng 5: Prologi andmestruktuurid: listid, freimid (lisamaterjal [1] vt Chapter 10)
  • Kontrolltöö 1 (10.10.2017): Loengute 1-4 materjalile: teadmiste formaliseerimine 1st järku predikaatloogikas, Horni lause, resolutsioon, unifitseerimine, mgu, literaal, term, rekursiivne reegel,lihtsamate päringute ja rekursiivsete reeglite koostamine.
  • Loeng 6: Hulgateooria ja algebra mõistete programmeerimine
  • Loeng 7: Prolog programmi täitmine ja täitmise juhtimine
  • Kontrolltöö 2 (7.11.2017): Loengute 5, 6 ja 7 materjalile: rekursioon, listid, rekursiivsed reeglid listidel, otsingu juhtimine
  • Loeng 8: DCG grammatika reeglid ja loomuliku keele parsimine (lisamaterjal [2] ja[3]
  • Loeng 9: Mängu ja otsingustrateegiate programmeerimine
  • Loeng 10: Prologi liidestamine C ja Java programmidega
  • Loeng 11: Tehisintellekti algoritmide programmeerimine Prologis
  • Kontrolltöö 3 (05.12.2017): Loengute 5,6,7,8,9 materjalile
    • Algebra ja hulgateooria mõisted
    • DCG grammatikareeglid, reeglite Prologi sisekuju
    • Programmeerimisülesanded: otsingu juhtimine predikaatide repeat, fail ja cut abil (vt. Praktikum PR10 juhendit).


Praktikumid

Praktikumides kasutame SWI-Prologi SWI-Prolog.

Eclipse plugin: Prolog Development Tool - PDT.

  • Installeerimise juhend: [4]
  • Kasutusjuhend: [5]

GIT

Mine aadressile https://gitlab.cs.ttu.ee/ ja logi sisse oma UNI-ID kasutajanimega.


Loo endale projekt nimega "iti0021" (NB!! Väikesed tähed). https://gitlab.cs.ttu.ee/dashboard/projects -> "New Project". Visibility las olla "private".


Kui projekt tehtud, siis mine üleval menüüst "Members". Lisa kasutajatena 'hodor-live' ja 'Evelin.Halling'. Määra "access level" "Developer". Nüüd saavad kursuse õppejõud sinu repole ligi. Samuti saab sinu repole ligi tester.


Lisa webhook. Ülevalt "Settings" -> "Integrations". Sinna kirjuta URL: https://ained.ttu.ee/mod/charon/api/git_callback Jäta peale "Push events" Võta maha linnuke "Enable SSL verification" Nüüd nupp "Add webhook"


Praktikumi ülesanded tuleb laadida mainitud tähtajaks git'i vastavasse kausta (PR0x, kus x on praktikumi number [1, 2, 3, 4]). Kaustas peab olema fail nimega prax0x.pl (kus x on praktikumi number [1, 2, 3, 4]). Kaustas võib olla ka teisi faile, mis imporditakse prax0x.pl poolt.

  • Praktikum PR12: Tammi programmeerimine
    • Programmeerida Tammi käigud. Kasuta eelmises praktikumis (Praktikumis PR11) loodud kabe programmi.
    • Tammi käikude programmeerimise algoritm on toodud kodutöö ülesande kirjelduses.
    • predikaat 'kaigu_variandid' peab toetama tammiga käimist ja võtmist


Kodutöö 2017

  • Kodutööks on kabeprogrammi programmeerimine Prologis
  • Kood laadida git-i salve: KABE
  • Kabe


Kodutöö esitamise tähtaeg on eelviimane ja viimane praktikum, mil toimub kabeturniir (programmikood panna moodle-sse)

Lisamaterjalid