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

Allikas: Kursused
Mine navigeerimisribale Mine otsikasti
57. rida: 57. rida:
 
==Loengud==
 
==Loengud==
 
* [[Media:ITI0021_Loeng 1_2016.pdf|Loeng 1]]: Mis on loogiline programmeerimine?
 
* [[Media:ITI0021_Loeng 1_2016.pdf|Loeng 1]]: Mis on loogiline programmeerimine?
* [[Media:ITI0021_Loeng_2 2016.pdf|Loeng 2]]: Loogilise programmeerimise keel Prolog
+
* [[Media:ITI0021_Loeng_2_1_2015.pdf|Loeng 2.1]]: Loogika alusmõisted: lauseloogika
* [[Media:ITI0021_Loeng_2_1_2015.pdf|Loeng 3.1]]: Loogika alusmõisted: lauseloogika
+
* [[Media:ITI0021_Loeng_2_2_2015.pdf|Loeng 2.2]]: Loogika alusmõisted: predikaatloogika
* [[Media:ITI0021_Loeng_2_2_2015.pdf|Loeng 3.2]]: Loogika alusmõisted: predikaatloogika
+
* [[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 (13.10.2016):''' 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. '''Kontrolltöö toimub ruumis: U01-202'''
+
* '''!!!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. '''Kontrolltöö toimub ruumis: U01-202'''
 
* [[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)
 
* [[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 (3.11.2016):''' Loengute 5, 6 ja 7 materjalile: rekursioon, listid, rekursiivsed reeglid listidel, otsingu juhtimine
+
* '''Kontrolltöö 2 (31.10.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_Lecture_10_2015.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 (Inductive Logic Programming)
 
* Loeng 11: Tehisintellekti algoritmide programmeerimine Prologis (Inductive Logic Programming)
* '''Kontrolltöö 3 (08.12.2016):''' Loengute 5,6,7,8,9 materjalile  
+
* '''Kontrolltöö 3 (05.12.2017):''' Loengute 5,6,7,8,9 materjalile  
  
 
** Algebra ja hulgateooria mõisted
 
** Algebra ja hulgateooria mõisted
 
** DCG grammatikareeglid, reeglite Prologi sisekuju  
 
** DCG grammatikareeglid, reeglite Prologi sisekuju  
 
** Programmeerimisülesanded: otsingu juhtimine predikaatide repeat, fail ja cut abil (vt. Praktikum PR10 juhendit).
 
** Programmeerimisülesanded: otsingu juhtimine predikaatide repeat, fail ja cut abil (vt. Praktikum PR10 juhendit).
 +
<!--
 
* (15.12.2016) '''Kontrolltööde 1 ja 2 järeltööd'''  
 
* (15.12.2016) '''Kontrolltööde 1 ja 2 järeltööd'''  
 
* (22.12.2016) '''Kontrolltöö 3 järeltöö'''  
 
* (22.12.2016) '''Kontrolltöö 3 järeltöö'''  
 
* (12.01.2017) '''Järeltööde sooritamise lisaaeg I'''  
 
* (12.01.2017) '''Järeltööde sooritamise lisaaeg I'''  
 
* (19.01.2017) '''Järeltööde sooritamise lisaaeg II'''
 
* (19.01.2017) '''Järeltööde sooritamise lisaaeg II'''
<!--
+
 
 
*  
 
*  
 
* [[Media:Loeng_5.pdf|Loeng 5]]:Loogilise programmeerimise andmestrutuurid
 
* [[Media:Loeng_5.pdf|Loeng 5]]:Loogilise programmeerimise andmestrutuurid

Redaktsioon: 4. september 2017, kell 14:20


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

  • 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.
  • 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 palli; II koht +2 palli; III koht +1 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
  • !!!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. Kontrolltöö toimub ruumis: U01-202
  • Loeng 5: Prologi andmestruktuurid: listid, freimid (lisamaterjal [1] vt Chapter 10)
  • Loeng 6: Hulgateooria ja algebra mõistete programmeerimine
  • 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
  • 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 (Inductive Logic Programming)
  • 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 URI: https://teie-ttu-uni-id-kasutajanimi@git.ttu.ee/ained/iti0021/teie-ttu-uni-id-kasutajanimi.git (NB! see link brauseris ei tööta!). NB! Uni-ID kasutajanimes peavad olema KÕIK VÄIKESED TÄHED!

Giti juhend Eclipse'is kasutamiseks

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 PR11: Tammi programmeerimine
    • Programmeerida Tammi käigud. Kasuta eelmises praktikumis (Praktikumis PR10) 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