Both sides previous revision
Poprzednia wersja
Nowa wersja
|
Poprzednia wersja
|
pl:prolog:prolog_lab [2007/11/21 23:40] root Document moved from pl:prolog:prolog_lab:prolog_lab |
pl:prolog:prolog_lab [2019/06/27 15:50] (aktualna) |
====== Regułowe Systemy Ekspertowe, Laboratorium z języka Prolog ====== | ====== Laboratorium z języka Prolog ====== |
| ===== Cele ===== |
| * Przedstawienie najważniejszych elementów programowania w Prologu. |
| * Adresatami są głównie studenci kierunków informatycznych. |
| * Laboratorium jest realizowane w 2 częściach: 6 zajęć na najważniejsze tematy + 4-6 zajęć na tematy fakultatywne |
| |
Przypowieść: | --- //[[gjn@agh.edu.pl|Grzegorz J. Nalepa]] 2008/11/03 12:24// |
| |
| ===== Autorzy ===== |
| - lab 1-6 (c) 2005-2009 by [[gjn@agh.edu.pl|Grzegorz J. Nalepa]] |
| - poprawki, uwagi, rozszerzenia, wstępna wiki-fikacja, lab 6-7 (c) 2007-2009 by [[wojnicki@agh.edu.pl|Igor Wojnicki]] |
| - poprawki, pomysły, reorganizacja (c) 2008-2009 by Weronika Furmańska i Piotr Hołownia |
| |
| ===== Przypowieść ===== |
| |
Jak odpowiedzą programiści pytani o drogę: | Jak odpowiedzą programiści pytani o drogę: |
* Piszący w Lispie: Dojdzie pan do tego skrzyżowania, a dalej się pan zapyta. | * Piszący w Lispie: Dojdzie pan do tego skrzyżowania, a dalej się pan zapyta. |
| |
| ===== Tematy ===== |
| |
| ==== Część główna ==== |
| |
===== Przydatne materiały do Prologu ===== | - [[.:prolog_lab:wprowadzenie|Wprowadzenie]] |
| - [[.:prolog_lab:programy|Podstawy programowania]] |
| - [[.:prolog_lab:listy1|Praca z listami (cz. 1)]] |
| - [[.:prolog_lab:listy2|Praca z listami (cz. 2)]] |
| - [[.:prolog_lab:reprezentacja_wiedzy|Reprezentacja wiedzy]] |
| - [[.:prolog_lab:prolog_lab_metaprog|Meta programowanie]] |
| ==== Część fakultatywna ==== |
| |
Podręczniki wprowadzające do Prologu: | * [[.:prolog_lab:prolog_lab_system|Integracja z systemem operacyjnym]] (**O**) |
| * [[.:prolog_lab:prolog_lab_xpce|Tworzenie GUI w XPCE]] (**P**) |
| * [[.:prolog_lab:prolog_lab_graphsearch|Planowanie tras przejazdu]] (**L**) |
| * [[.:prolog_lab:prolog_lab_http|Integracja z HTTP/WWW]] (**H**) <- //uwaga: wymaga O// |
| * [[.:prolog_lab:prolog_lab_dcg|Definite Clause Grammars]] (**D**) |
| * [[.:prolog_lab:prolog_lab_semweb|Integracja z SemWeb]] (**S**) <- //przydatna wiedza z O (graphviz)// |
| * [[.:prolog_lab:constraint_satisfaction_problems|Opisywanie problemów za pomocą ograniczeń]] (**C**) |
| |
* Dave Stuart Robertson, Quick Prolog, http://www.dai.ed.ac.uk/groups/ssp/bookpages/quickprolog/quickprolog.html | ---- |
* Patrick Blackburn, Johan Bos, Kristina Striegnitz Learn Prolog Now!, http://www.coli.uni-saarland.de/~kris/learn-prolog-now | |
* J.R.Fisher, Prolog Tutorial, http://www.csupomona.edu/~jrfisher/www/prolog_tutorial/contents.html | |
* Colin Barker, LPA Examples, http://perso.orange.fr/colin.barker/lpa/lpa.htm | |
| |
Książki o Prologu, Systemach Ekspertowych, Programowaniu w Logice | Wersje robocze lab, dla zainteresowanych. |
| * [[.:prolog_lab:prolog_lab_rdbms|Integracja z RDBMS]] (**R**) |
| * ([[.:prolog_lab:prolog_lab_ansic|Integracja z C]] (C)) |
| * [[.:prolog_lab:prolog_lab_java|Integracja z Java]] (**J**) <- //uwaga: wymaga O// |
| |
* Dennis Merritt, Adventure In Prolog, http://www.amzi.com/AdventureInProlog | ==== Prolog a uczenie maszynowe ==== |
* Dennis Merritt, Building Expert Systems in Prolog, http://www.amzi.com/ExpertSystemsInProlog | |
* Ulf Nilsson and Jan Małuszyński, Logic, Programming and Prolog (2ed), http://www.ida.liu.se/~ulfni/lpp | |
| |
Kompilatory Prologu: | * [[.:prolog_lab:ml:prolog_lab_uczenie|Podstawy uczenia maszynowego]] (**ML**) |
| |
* Jan Wielemaker, SWI-Prolog, http://www.swi-prolog.org | ===== Przydatne materiały ===== |
* Daniel Diaz, GNU-Prolog, http://gnu-prolog.inria.fr | |
| |
===== Tematy ===== | ==== Biblioteka programów w Prologu ==== |
| W [[prolog:pllib:start|dostępnej tutaj]] bazie przykładów zebrano ponad 300 przykładów programów w Prologu ilustrujących różne techniki programistyczne i rozwiązania istotnych problemów. |
| ==== Podręczniki wprowadzające ==== |
| |
| * [[http://www.ailab.si/ivan|I. Bratko]], //[[http://www.amazon.com/Programming-Artificial-Intelligence-International-Computer/dp/0321417461/ref=dp_ob_title_bk|Prolog Programming for Artificial Intelligence]]//, 4th ed, Addison-Wesley, 2011. |
| |
| * Dave Stuart Robertson, //[[http://www.dai.ed.ac.uk/groups/ssp/bookpages/quickprolog/quickprolog.html|Quick Prolog]]// |
| * Patrick Blackburn, Johan Bos, Kristina Striegnitz, //[[http://www.learnprolognow.org/|Learn Prolog Now!]]// |
| * J. R. Fisher, //[[http://www.csupomona.edu/~jrfisher/www/prolog_tutorial/contents.html|Prolog Tutorial]]// |
| * Colin Barker, //[[http://perso.orange.fr/colin.barker/lpa/lpa.htm|LPA Examples]]// |
| |
| ==== Książki o Prologu, SE, LP ==== |
| |
| * Dennis Merritt, //[[http://www.amzi.com/AdventureInProlog|Adventure In Prolog]]// |
| * Dennis Merritt, //[[http://www.amzi.com/ExpertSystemsInProlog|Building Expert Systems in Prolog]]// |
| * Ulf Nilsson and Jan Małuszyński, //[[http://www.ida.liu.se/~ulfni/lpp|Logic, Programming and Prolog]]// (2ed). |
| * Michael Covington et. al., //[[http://web.ncf.ca/andre/publications/PPID.pdf|Prolog Programming in Depth]]//. |
| |
| ==== Kompilatory Prologu ==== |
| |
{{indexmenu>pl:prolog:lab}} | * Jan Wielemaker et. al., [[http://www.swi-prolog.org|SWI-Prolog]] |
| * Universidade de Porto, [[http://www.dcc.fc.up.pt/~vsc/Yap/|YAP Prolog]] |
| * [[http://xsb.sourceforge.net/|XSB]] |
| * Daniel Diaz, [[http://gnu-prolog.inria.fr|GNU-Prolog]] |
| |
| ==== Standardy pisania kodu w Prologu ==== |
| * MICHAEL A. COVINGTON, ROBERTO BAGNARA, RICHARD A. O’KEEFE, JAN WIELEMAKER, SIMON PRICE, //[[http://www.ai.uga.edu/mc/plcoding.pdf|Coding guidelines for Prolog]]//, Cambridge University Press, 2011. |