Różnice

Różnice między wybraną wersją a wersją aktualną.

Odnośnik do tego porównania

Both sides previous revision Poprzednia wersja
Nowa wersja
Poprzednia wersja
pl:dydaktyka:pp:start [2018/10/26 13:10]
ligeza [Programowanie w Logice: Edycja 2018 (zima; 3h/week)]
pl:dydaktyka:pp:start [2019/11/20 13:05] (aktualna)
ligeza [Programowanie w Logice: Edycja 2019 (zima; 2h/week)]
Linia 3: Linia 3:
  
 ===== WYKŁADY: Programowanie w Logice (Prolog) ===== ===== WYKŁADY: Programowanie w Logice (Prolog) =====
 +
 +
 +==== Programowanie w Logice: Edycja 2019  (zima; 2h/​week)====
 +
 +Wykłady odbywają się we wtorki, 9:30-11:00, sala 224/C-2.
 +
 +  - **Paradygmaty programowania:​ klasyfikacje języków programowania. Języki proceduralne a deklaratywne. ​ Programowanie logiczne: Prolog. Intuicyjne przedstawienie Prologu. Składnia Prologu. Model obliczeniowy:​ implementacja DFS, nawroty, //​backtracking//​. Indeterminizm. Zmienne i ich rola. 10 prostych przykładów** [1.10.2019; ALi]
 +  - **Obliczenia numeryczne w Prologu. Silnia. Mechanizm DFS z nawrotami. Przykład liczby.pl/​warianty. Wymuszanie nawrotów: fail. Pamięć globalna: assert/​retract. Wprowazdzenie do termów. Zmienne i ich rola oraz interpretacja/​uzytkowanie.** [8.10.2019; Ali]
 +  - **Prolog: kontynuacja przykładów. Prolog: składnia i semantyka. Termy. Unifikacja. Pamięć wewnętrzna. Podstawy logiczne Prologu: fakty, klauzule Horna, rezolucja. Struktury listowe - wprowadzenie.** [15.10.2019;​ ALi] 
 +  - **Algorytm unifikacji termów. Mechanizmy obliczeniowe:​ rekurencja, iteracja, nawroty. Struktury listowe. Termy a listy. Konstrukcja,​ rola i obsługa list. Predykaty member/2, select/3 i append/2. Interpretacja działania - drzewo wnioskowania,​ nawroty. Listy jako sekwencje, zbiory i zbiory z powtórzeniami. Wybrane operacje na listach. Przykłady zaawansowanych definicji/​zadania.** [22.10.2019;​ ALi]
 +  - **Struktury listowe. Bazowe definicje rekurencyjne. Sortowanie. Zaawansowane operacje na listach; przykłady zadań i ich rozwiązań (Bridge and Torch; Einstein). Listy-Tricks. Rekurencja a iteracje; pętle z fail.** ​ [29.10.2018;​ ALi]
 +  -  **Listy - operacje zaawansowane - dokończenie. Metapredykaty operacji na listach. Prolog: reprezentacja i przetwarzanie wiedzy. Sterowanie wnioskowaniem:​ negacja (not), cut i fail. Wstęp do metaprogramowania. ​ Przykłady metaprogramowania.** ​ [5.12.2019; ALi]
 +  - **Metaprogramowanie. Reprezentacja i przetwarzanie wiedzy. Przykłady zastosowań. Programowanie deklaratywne a proceduralne;​ Prolog a Python - porównanie wybranych konstrukcji. Programowanie z ograniczeniami (Constraint Programming). Biblioteka clpfd. ​ ECLiPSe CLP. B-Prolog. Numberjack. ASP.** [12.11.2019;​ ALi]
 +<fc #​008080>​Prezentacje specjalne:</​fc> ​
 +  * {{ :​pl:​dydaktyka:​pp:​picat.pdf |Picat}}, ​
 +  * [[https://​github.com/​AdamKlekowski/​prolog_Bayesian_networks|Problog]],​
 +  * {{ :​pl:​dydaktyka:​pp:​prologibmnotes.pdf |Watson - IBM}}
 +<fc #​ff00ff>​Kolokwium zaliczeniowe</​fc>:​ termin do ustalenia.
 +
 + ​[[http://​home.agh.edu.pl/​~ligeza/​wiki/​|Materiały na mojej stronie www]]; zakładki:
 +  * [[http://​home.agh.edu.pl/​~ligeza/​wiki/​prolog:​intro|**Prolog**]] oraz 
 +  * [[http://​home.agh.edu.pl/​~ligeza/​wiki/​prolog:​course|**New Course of Prolog**]]
 +
 +E-Learning/​materiał uzupełniający: ​
 +
 +
 +
 +----
 +<fc #​9400d3>​Przykłady z wykładów - do pobrania:</​fc> ​ {{ :​pl:​dydaktyka:​pp:​dydactic-2019.zip |Examples}} prezentacja i komentarze - na wykładzie.
 +
 +----
 +  * Prolog: programowanie deklaratywne. [materiał fakultatywny] ​ [[http://​kti.mff.cuni.cz/​~bartak/​prolog/​contents.html|Prolog]]
 +  * [[https://​polydev.pl/​2017/​12/​16/​realne-zastosowania-jezyka-prolog/​|Ciekawe zastosowania Prologu]]
 +  * [[http://​www.pathwayslms.com/​swipltuts/​html/​|Web Applications in SWI-Prolog: A Tutorial]]
 +
 +
 +
 +----
 +Inne - ciekawe materiały do studiowania w ramach samodzielnej aktywności:​
 +  * A Prolog interpreter in JavaScript [[http://​tau-prolog.org/​|Tau-Prolog]]
 +  * Answer Set Programming (ASP) [[https://​potassco.org/​|Potassco ASP]]
 +  * B-Prolog + Constraints [[http://​www.picat-lang.org/​bprolog/​|B-Prolog]]
 +  * GNU Prolog + Constraints [[http://​www.gprolog.org/​|GNU Prolog]]
 +  *  The ECLiPSe Constraint Programming System [[http://​www.eclipseclp.org/​|ECLiPSe]]
 +  * Picat [[http://​www.picat-lang.org/​|Picat]]
 +  * SWI-Prolog - Packages + clp(fd) [[http://​www.swi-prolog.org/​|SWI-Prolog]]
 +  * Problog [[https://​dtai.cs.kuleuven.be/​problog/​|Problog]]
 +
 +Inne - do uzgodnienia.
 +
 +__Selected links:__
 +
 +  * Prolog [[https://​en.wikipedia.org/​wiki/​Prolog|Prolog]]
 +  * Prolog - Wikibooks: [[https://​en.wikibooks.org/​wiki/​Prolog|Prolog]]
 +  * Prolog - Books: [[http://​freecomputerbooks.com/​langPrologBooks.html|Free Books on Prolog]]
 +----
 +
 +__Useful pages: courses + tutorials + examples:__
 +
 +  * [[https://​ktiml.mff.cuni.cz/​~bartak/​|Page of Roman Barták]]
 +  * [[http://​hakank.org/​|The famous Hakank Page]]
 +
 +
 +
 +
 +
 +
 +
 +
  
  
Linia 10: Linia 79:
   - **Prolog: składnia i semantyka. Termy. Unifikacja. Pamięć wewnętrzna. Struktury listowe. Konstrukcja,​ rola i obsługa list. Predykaty member/2, select/3 i append/2.** [12.10.2018;​ ALi]    - **Prolog: składnia i semantyka. Termy. Unifikacja. Pamięć wewnętrzna. Struktury listowe. Konstrukcja,​ rola i obsługa list. Predykaty member/2, select/3 i append/2.** [12.10.2018;​ ALi] 
   - **Wykład w dn. 19.10.2018 nie odbędzie się** [ALi]   - **Wykład w dn. 19.10.2018 nie odbędzie się** [ALi]
-  - <fc #​ff0000>​Plan na dziś:</​fc>​ <fc #800080>Struktury listowe. Termy a listy. Konstrukcja,​ rola i obsługa list. Predykaty member/2, select/3 i append/​2.Interpretacja działania - drzewo wnioskowania. Listy jako sekwencje, zbiory i zbiory z powtórzeniami. Wybrane operacje na listach. Przykłady zaawansowanych definicji/​zadania. [26.10.2018;​ ALi]</​fc> ​ +  - **Struktury listowe. Termy a listy. Konstrukcja,​ rola i obsługa list. Predykaty member/2, select/3 i append/2. Interpretacja działania - drzewo wnioskowania, nawroty. Listy jako sekwencje, zbiory i zbiory z powtórzeniami. Wybrane operacje na listach. Przykłady zaawansowanych definicji/​zadania.** [26.10.2018;​ ALi] 
-  - Prolog: Struktury listowe. Sortowanie. ​Operacje zaawansowane. Rekurencja a iteracje. Metapredykaty operacji na listach. [9.11.2018; ALi] +  - **Prolog: Struktury listowe. Sortowanie. ​Zaawansowane operacje na listach; przykłady zadań i ich rozwiązań. Rekurencja a iteracje; pętle z fail. Metapredykaty operacji na listach. ​Wstęp do metaprogramowania. Przykłady metaprogramowania.** ​[9.11.2018; ALi]  
-  - Zaawansowane definicje operacji na listach. ​Prolog: reprezentacja i przetwarzanie wiedzy. Metaprogramowanie. Programowanie z ograniczeniami (Constraint Programming). Biblioteka clpfd. [16.11.2018;​ ALi]+  -  <​fc #​ff0000>​Njabliższy wykład - już ostatni :</​fc>​ <fc #ff00ff>Prolog: reprezentacja i przetwarzanie wiedzy. Metaprogramowanie. Programowanie z ograniczeniami (Constraint Programming). Biblioteka clpfd. ​</​fc> ​[16.11.2018;​ ALi] <fc #008080> Prezentacja specjalna: deklaratywny język programowania z ograniczeniami [[http://​www.picat-lang.org/​|Picat]]</​fc>​
   - Programowanie deklaratywne a proceduralne. Prolog a Python - porównanie wybranych konstrukcji. Programowania z ograniczeniami (clp(fd)). ECLiPSe CLP. B-Prolog. Numberjack. ASP. Problog. Picat. [materiał fakultatywny]   - Programowanie deklaratywne a proceduralne. Prolog a Python - porównanie wybranych konstrukcji. Programowania z ograniczeniami (clp(fd)). ECLiPSe CLP. B-Prolog. Numberjack. ASP. Problog. Picat. [materiał fakultatywny]
   - E-Learning: Prolog: programowanie deklaratywne. [materiał fakultatywny] ​ [[http://​kti.mff.cuni.cz/​~bartak/​prolog/​contents.html|Prolog]]   - E-Learning: Prolog: programowanie deklaratywne. [materiał fakultatywny] ​ [[http://​kti.mff.cuni.cz/​~bartak/​prolog/​contents.html|Prolog]]
  
 ---- ----
 +  * [[http://​home.agh.edu.pl/​~ligeza/​wiki/​|Homepage:​ A.Ligeza - Prolog x2 i inne]]
   * [[https://​polydev.pl/​2017/​12/​16/​realne-zastosowania-jezyka-prolog/​|Ciekawe zastosowania Prologu]]   * [[https://​polydev.pl/​2017/​12/​16/​realne-zastosowania-jezyka-prolog/​|Ciekawe zastosowania Prologu]]
   * [[http://​www.pathwayslms.com/​swipltuts/​html/​|Web Applications in SWI-Prolog: A Tutorial]]   * [[http://​www.pathwayslms.com/​swipltuts/​html/​|Web Applications in SWI-Prolog: A Tutorial]]
Linia 27: Linia 97:
   * Answer Set Programming (ASP) [[https://​potassco.org/​|Potassco ASP]]   * Answer Set Programming (ASP) [[https://​potassco.org/​|Potassco ASP]]
   * B-Prolog + Constraints [[http://​www.picat-lang.org/​bprolog/​|B-Prolog]]   * B-Prolog + Constraints [[http://​www.picat-lang.org/​bprolog/​|B-Prolog]]
 +  * GNU Prolog + Constraints [[http://​www.gprolog.org/​|GNU Prolog]]
   * Picat [[http://​www.picat-lang.org/​|Picat]]   * Picat [[http://​www.picat-lang.org/​|Picat]]
   * SWI-Prolog - Packages + clp(fd) [[http://​www.swi-prolog.org/​|SWI-Prolog]]   * SWI-Prolog - Packages + clp(fd) [[http://​www.swi-prolog.org/​|SWI-Prolog]]
Linia 39: Linia 110:
   * Prolog - Books: [[http://​freecomputerbooks.com/​langPrologBooks.html|Free Books on Prolog]]   * Prolog - Books: [[http://​freecomputerbooks.com/​langPrologBooks.html|Free Books on Prolog]]
 ---- ----
 +
 +__Useful pages: courses + tutorials + examples:__
 +
 +  * [[https://​ktiml.mff.cuni.cz/​~bartak/​|Page of Roman Barták]]
 +  * [[http://​hakank.org/​|The famous Hakank Page]]
 +
  
  
pl/dydaktyka/pp/start.1540552207.txt.gz · ostatnio zmienione: 2019/06/27 15:54 (edycja zewnętrzna)
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0