|
|
pl:dydaktyka:krr:start [2016/06/08 01:34] msl [Laboratoria] |
pl:dydaktyka:krr:start [2019/06/27 15:50] |
====== Knowledge Representation and Reasoning 2016 ====== | |
| |
==== Wykłady_KRR:2016 ==== | |
| |
- **Wprowadzenie do zagadnień reprezentacji i przetwarzania wiedzy. Grafy i drzewa. Systemy statyczne i dynamiczne; przestrzeń stanów. Poszukiwanie ścieżek w grafie (przykład 25 ścieżek).** [23.02.2016] | |
- **Przeszukiwanie grafów. Graph Search vs. Tree Search. Backtracking Search. Implementacja w Prologu i w Pythonie.** [23.02.2016] | |
- **Algorytmy BFS i DFS. Algorytm Dijkstry. [[http://edu.i-lo.tarnow.pl/inf/alg/001_search/0122.php|Grafy: reprezentacja, BFS, DFS, algorytm Dijkstry]] Algorytmy szukania (blind). [[http://artint.info/html/ArtInt_46.html|Problem Solving as Search]]** [1.03.2016] | |
- **Metody szukania heurystycznego. Algorytm A*. Algorytmy inspirowane biologicznie. Przeszukiwanie wiązką.** [8.03.2016] | |
- **Wprowadzenie do programowania z ograniczeniami. Backtracking Search in Prolog. Przykłady problemów i rozwiązań. Biblioteka clp(fd).** [15.03.2016] | |
-**Programowanie z ograniczeniami. Biblioteka clp(fd) - przykłady zastosowań. Problemy rozwiązywania CP. Propagacja ograniczeń. Dekompozycja i porządkowanie ograniczeń. Przykład: SEND+MORE=MONEY (best solution)** [22.03.2016] | |
- Święta Wielkanocne [29.03.2016] | |
- **Programowanie z ograniczeniami. Wybrane metody propagacji ograniczeń. Przykład problemu harmonogramowania produkcji.** [5.04.2016] | |
- **Constraint Programming: Shift-Work Scheduling (NRP). Systemy regułowe - wprowadzenie.** [12.04.2016: ALi] | |
- **Systemy regułowe. Reprezentacja wiedzy, wnioskowanie, sterowanie wnioskowaniem. Wybrane narzędzia.** [19.04.2016] | |
- **Systemy regułowe. Synteza i analiza. Narzędzia i przykłady.** [10.05.2016] | |
- **Przykłady systemów regułowych. Automatyczne planowanie. Zbiory rozmyte. ** [17.05.2016] | |
- Zbiory, relacje i systemy rozmyte. Rozmyte systemy regułowe. Logika rozmyta. Diagnostyka systemów. Wnioskowanie abdukcyjne i wnioskowanie na bazie niespójności. [24.05.2016] | |
- Egzamin zerowy testowy. [31.05.2016] | |
- Answer Set Programming (ASP). | |
- Metody optymalizacji w obszarze AI. Metaheurystki. | |
- Metody reprezentacji i przetwarzania wiedzy. | |
| |
| |
| |
---- | |
| |
| |
==== Laboratoria ==== | |
| |
| |
== Problemy satysfakcji ograniczeń i optymalizacji dyskretnej == | |
| |
Poniższe laboratoria będą poświęcone reprezentacji problemów z rodziny satysfakcji ograniczeń i optymalizacji dyskretnej przy użyciu metod programowania z ograniczeniami. Po ich ukończeniu student powinien nabyć zdolności do modelowania problemów poprzez identyfikację występujących w nich zmiennych oraz stałych wraz z dotyczącymi ich ograniczeniami. Poruszona również zostanie kwestia skutecznego przeszukiwania przestrzeni stanów. | |
| |
- [[pl:dydaktyka:csp:intro|Wprowadzenie do problematyki i programowania z ograniczeniami]], 24.02.2016 | |
- [[pl:dydaktyka:csp:lab1|Flagowe problemy programowania z ograniczeniami]], 02-03-2016 | |
- [[pl:dydaktyka:csp:lab2|Podstawowe techniki modelowania w programowaniu z ograniczeniami]], 09-03-2015 | |
- [[pl:dydaktyka:csp:lab3|Rozwiązywania praktycznych problemów optymalizacyjnych]], 16-03-2016 | |
- Dalszy ciąg [[pl:dydaktyka:csp:lab3|Rozwiązywania praktycznych problemów optymalizacyjnych]], 23-03-2016 | |
- Kolokwium, 06-04-2016 | |
| |
**Problemy planowania i gry** | |
| |
Dział będzie dotyczył problemów planowania, zarówno w kontekście ogólnym jak też szczególnego przypadku gier z wieloma graczami. W trakcie laboratoriów student nabędzie umiejętności definiowania problemów planowania przy użyciu standardu PDDL oraz zapozna się z deklaratywnym opisem gier wraz z podstawowymi algorytmami służącymi do automatycznego grania. | |
| |
- [[pl:dydaktyka:planning:intro|Wprowadzenie do problematyki automatycznego planowania]], 06-04-2016 | |
- [[pl:dydaktyka:planning:pddl|Modelowanie problemów planowania w języku PDDL]], 13-04-2016 | |
- [[pl:dydaktyka:planning:pddl_2|Rozszerzenie problemów PDDL o fluenty]], 20-04-2016 | |
- [[pl:dydaktyka:ggp:gdl|Regułowa reprezentacja gier w języku GDL]], 27-04-2016 | |
- [[pl:dydaktyka:ggp:game_tree|Drzewo gry - algorytm MiniMax z cięciami Alpha-Beta]], 11-05-2016 | |
- [[pl:dydaktyka:ggp:mcts|Drzewo gry - Monte Carlo Tree Search]], 18-05-2016 | |
- Kolokwium, 25-05-2016 | |
| |
**Logiczna reprezentacja wiedzy i wnioskowanie** | |
| |
Poniższy dział będzie dotyczył modelowania wiedzy przy zastosowaniu logik deskrypcyjnych. Poruszona zostanie kwestia zapisu wiedzy w postaci zdań logicznych oraz sposoby wnioskowania z danego zbioru zdań. | |
| |
- [[pl:dydaktyka:krr:lab_dl|(dość formalny) wstęp do logik deskrypcyjnych]], 01-06-2016 | |
- [[pl:dydaktyka:krr:lab_dl_reasoning|Wnioskowanie w logikach deskrypcyjnych]], 08-06.2016 | |
====== KRR: lata 2013-2015 ====== | |
| |
===== Cele kursu ===== | |
Prezentacja podstawowych problemów, metod symbolicznego reprezentowania wiedzy i automatycznego jej przetwarzania - wnioskowania\\ | |
Przekazanie praktycznych umiejętności wykorzystania wybranych narzędzi pozwalających na reprezentowanie i przetwarzanie wiedzy symbolicznej. | |
| |
[[https://syllabuskrk.agh.edu.pl/en/magnesite/study_plans/2012-2013-stacjonarne-informatyka-stosowana-systemy-inteligentne/module/361-eit-2-105-s-reprezentacja-i-przetwarzanie-wiedzy|Sylabus KRK: EIS ]] | |
| |
===== Podręczniki ===== | |
| |
Podstawowe: | |
* [KRR] [[http://brachman.org/|Ronald Brachman]] [[http://www.cs.toronto.edu/~hector/|Hector Levesque]] //[[http://www.elsevierdirect.com/product.jsp?isbn=9781558609327|Knowledge Representation and Reasoning]]//, Morgan Kaufman, 2004 | |
* [KRH] [[http://www.cs.vu.nl/~frankh/|F. van Harmelen]], [[http://www.cs.utexas.edu/~vl/|V. Lifschitz]], [[http://www.cs.utexas.edu/~porter/|B. W. Porter]], //[[http://www.elsevier.com/wps/find/bookdescription.cws_home/713675/description|Handbook of Knowledge Representation]]//, Elsevier Science (2008), **[[http://ii.fmph.uniba.sk/~sefranek/kri/handbook/|ONLINE]]** | |
* [TAC] [[http://www.cs.toronto.edu/~hector/|Hector Levesque]] [[http://mitpress.mit.edu/catalog/item/default.asp?ttype=2&tid=12818|Thinking as Computation]], MIT Press, 2012. | |
* [FCA] [[http://www.cs.ubc.ca/~poole/|D. Poole]], [[http://www.cs.ubc.ca/~mack|A. Mackworth]], //[[http://artint.info|Artificial Intelligence: Foundations of Computational Agents]]//, Cambridge University Press, 2010, **[[http://artint.info/html/ArtInt.html|ONLINE]]** | |
| |
Uzupełniające: | |
* [SLG] Peter Flach, [[http://www.cs.bris.ac.uk/~flach/SimplyLogical.html|Simply logical]], Wiley, 1994, **ONLINE** | |
* [LAI] [[http://www.cse.buffalo.edu/~shapiro/|Stuart C. Shapiro]], [[http://www.cse.buffalo.edu/~shapiro/Courses/CSE563/2010/|Knowledge Representation and Reasoning: Logics for Artificial Intelligence]], (Lecture notes **ONLINE**) | |
* [AIM] [[http://www.cs.berkeley.edu/~russell/|Stuart Russell]] and [[http://norvig.com/|Peter Norvig]] //[[http://aima.cs.berkeley.edu/|Artificial Intelligence: A Modern Approach]]//, 3rd Ed., Pearson, 2010. | |
* [CIL] [[http://www.cs.ubc.ca/~poole|D. Poole]], A. Mackworth and R. Goebel, //[[http://www.cs.ubc.ca/~poole/ci.html|Computational Intelligence: A Logical Approach]]//, Oxford University Press, 1998. | |
| |
Literatura uzupełniająca w języku polskim: | |
* [WSI] [[http://www.ksi.uj.edu.pl/en/mfl|Mariusz Flasiński]], //[[http://ksiegarnia.pwn.pl/produkt/82635/wstep-do-sztucznej-inteligencji.html|Wstęp do sztucznej inteligencji]]//, PWN 2011. | |
* [SIL] [[http://www.math.uni.wroc.pl/~kisiel|A. Kisielewicz]], //[[http://www.informatyczna.pl/index.php?strona,doc,pol,informat,1083,0,48225,1,1083,sztuczna_inteligencja_i_logika._podsumowanie_przedsi%EF%BF%BDwzi%EF%BF%BDcia_naukowego,ant.html|Sztuczna inteligencja. Podsumowanie przedsięwzięcia naukowego]]//, WNT 2011. | |
| |
Prolog podręczniki sieciowe: | |
* [PFC] [[http://homepages.inf.ed.ac.uk/pbrna/prologbook/book.html|Prolog Programming A First Course]] | |
* [LPN] [[http://www.learnprolognow.org/|Learn Prolog Now!]] | |
* [AIP] [[http://www.amzi.com/AdventureInProlog/|Adventure in Prolog]] | |
* [ESP] [[http://www.amzi.com/ExpertSystemsInProlog/|Expert Systems in Prolog]] | |
| |
Prolog podręczniki: | |
* [BRT] [[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. | |
* [LPP] Ulf Nilsson and Jan Małuszyński, //[[http://www.ida.liu.se/~ulfni/lpp|Logic, Programming and Prolog]]// (2ed). **ONLINE** | |
* [PPD] Michael Covington et. al., //[[http://web.ncf.ca/andre/publications/PPID.pdf|Prolog Programming in Depth]]//. **ONLINE** | |
| |
===== Materiały ===== | |
Slajdy: | |
* [KRR] [[http://www.cs.toronto.edu/~hector/PublicKRSlides.pdf|slides]] | |
* [TAC] [[http://www.cs.toronto.edu/~hector/PublicTCSlides.pdf|slides]] | |
* [FCA] [[http://artint.info/html/ArtInt.html|full online]] [[http://artint.info/slides/slides.html|slides]] | |
* [AIM] [[http://aima.eecs.berkeley.edu/slides-pdf/|slides]] | |
* [CIL] [[http://www.cs.ubc.ca/~poole/ci/lectures/lectures.html|slides]] | |
* [AAT] [[http://aitopics.net/pmwiki.php/AITopics/HomePage|AAAI Topics]] | |
| |
Inne: | |
* John F. Sowa [[http://www.jfsowa.com/pubs/semnet.htm|Semantic Networks]] | |
* M. Obitko [[http://www.obitko.com/tutorials/ontologies-semantic-web/|Ontologies & SemWeb]] | |
| |
===== Organizacja roku ===== | |
[[http://www.agh.edu.pl/studenci/organizacja-roku-akademickiego/|Organizacja roku 2014/2015 na AGH]] | |
| |
===== Ramowy plan wykładu ===== | |
| |
| |
| |
==== __Edycja 2015__ ==== | |
| |
- **Wprowadzenie do reprezentacji i przetwarzania wiedzy. Ujęcie systemowe. Rola logiki. Prolog: baza wiedzy [3.03.2015]** | |
- **Podstawy języka Prolog. Model obliczeniowy Prologu - szukanie z nawrotami. Zmienne i ich rola. Podstawy Unifikacji [10.03.2015]** | |
- **Podstawy języka Prolog. Struktury danych: termy. Podstawy unifikacji termów. [17.03.2015]** | |
- **Podstawy języka Prolog. Modele obliczeniowe: rekurencja, iteracje, pętle z wymuszeniem nawrotów (fail). Struktury danych: listy. Predykaty: member/2, select/3, appemd/2. Obliczenia niedeterministyczne [24.03.2015]** | |
- **Przetwarzanie list w Prologu. Rekurencja a iteracje. Zagadnienia zaawansowane. Sortowanie list. Przetwarzanie list. Meta-predykaty [31.03.2015]** | |
- **Listy - zagadnienia zawansowane. Meta-programowanie w Prologu. Reprezentacja i przetwarzanie wiedzy w Prologu. Przykłady. [14.04.2015]** | |
- **Metaprogramowanie. Reprezentacja wiedzy. Przykłady. [21.04.2015]** | |
- **Podsumowanie programowania w Prologu. Przykłady. Przygotowanie do kolokwium. [28.04.2015]** | |
- **Systemy stanowe. Model grafowe. Metody szukania ślepego. Tree search and graph search. [5.05.2015]** | |
- E-learning: Przegląd metod szukania ślepego. Algorytmy BFS i DFS. Algorytm Dijkstry. [12.05.2015] [[http://edu.i-lo.tarnow.pl/inf/alg/001_search/0122.php|Grafy: reprezentacja, BFS, DFS, algorytm Dijkstry]] | |
- E-learning: Algorytmy szukania. [[http://artint.info/html/ArtInt_46.html|Problem Solving as Search]] | |
- Metody szukania heurystycznego. Algorytm A*. Algorytmy inspirowane biologicznie. | |
- Wprowadzenie do programowania z ograniczeniami. Backtrack Search. | |
- Programowanie z ograniczeniami - kontynuacja. Biblioteka CSP(FD). | |
| |
==== Edycja 2014 ==== | |
| |
- **Wprowadzenie do reprezentacji i przetwarzania wiedzy. Ujęcie systemowe. Rola logiki. Prolog: bazy wiedzy [4.03.2014]** | |
- **Podstawy języka Prolog. Model obliczeniowy Prologu - szukanie z nawrotami. Zmienne i ich rola. Podstawy Unifikacji [11.03.2014]** | |
- **Podstawy języka Prolog. Struktury danych: termy. Podstawy unifikacji termów. Modele obliczeniowe: rekurencja, iteracje, pętle z wymuszeniem nawrotów (fail) [18.03.2014]** | |
- **Podstawy języka Prolog. Struktury danych: termy. Podstawy unifikacji termów. Modele obliczeniowe: rekurencja, iteracje, pętle z wymuszeniem nawrotów (fail) [25.03.2014]** | |
- **Podstawy języka Prolog. Struktury danych: listy. Predykaty: member/2, select/3, appemd/2. Obliczenia niedeterministyczne [1.04.2014]** | |
- **Przetwarzanie list w Prologu. Rekurencja a iteracje. Zagadnienia zaawansowane. Sortowanie list. Przetwarzanie list. Meta-predykaty [8.04.2014]** | |
- **Meta-programowanie w Prologu. Reprezentacja i przetwarzanie wiedzy w Prologu. Przykłady. [15.04.2014]** | |
- **E-learning. [29.04.2014]** | |
- **Systemy stanowe. Model grafowe. Metody szukania ślepego. Tree serach a graph search. [6.05.2014]** | |
- **Przegląd metod szukania ślepego. Realizacje w Prologu. [13.05.2014]** | |
- **Metody szukania heurystycznego. Algorytm A*. Algorytmy inspirowane biologicznie. [20.05.2014]** | |
- **Wprowadzenie do programowania z ograniczeniami. Backtrack Search. [27.05.2014]** | |
- Programowanie z ograniczeniami - kontynuacja. Biblioteka CSP(FD).[3.06.2014] | |
- [10.06.2014] | |
- [17.06.2014 ?] | |
| |
---- | |
| |
==== Edycja 2013 ==== | |
| |
- **Wprowadzenie do problematyki reprezentacji i przetwarzania wiedzy. Prolog: baza wiedzy [26.02.2013]** | |
- **Inżynieria wiedzy. Podejście systemowe. Język naturalny a logika. Budowa systemu z bazą wiedzy. Przykłady w Prologu. Prolog: sterowanie wnioskowaniem [5.03.2013]** | |
- **Prolog: termy i reprezentacja wiedzy. Fakty i klauzule. Składnia. Semantyka [12.03.2013]** | |
- **Prolog: listy. Podstawowa reprezentacja i przetwarzanie [19.03.2013]** | |
- **Prolog: listy. Zaawansowane przetwarzanie. Sortowanie [26.03.2013]** | |
- **Drzewa i grafy. Metody szukania ślepego [9.04.2013]** | |
- **Grafy. Metody szukania heurystycznego** [16.04.2013] | |
- **Systemy dynamiczne. Stan, przestrzeń stanów. Planowanie** [23.04.2013] | |
- **Grafy AND-OR, planowanie, gry** [7.05.2013] | |
- **Systemy regułowe** [14.05.2013] | |
- **Programowanie z ograniczeniami. CSP: wprowadzenie.** [21.05.2013] | |
- **CSP: problemy i metody.**[28.05.2013] | |
- **Przegląd zaawansowanych narzędzi logiki. Wiedza niepewna, niepełna, rozmyta i przybliżona.**[4.06.2013] | |
- **Metody semantyczne: drzewa i grafy, sieci semantyczne, szablony semantyczne. Metody przetwarzania.**[11.06.2013] Podsumowanie.[[http://www.google.pl/url?q=https://www.eti.pg.gda.pl/katedry/kio/dydaktyka/Bazy_Wiedzy//BazyWiedzy_2.pdf&sa=U&ei=8ci5UcaZCKKt4ASNrIHIBg&ved=0CBoQFjAA&sig2=5hKlXbhxeSgbcq31MO--MA&usg=AFQjCNHDwlmrxPKxPTUl18NF8MGwKNNkYg|Materiały pomocnicze - ETI PG]] [[http://ai.ia.agh.edu.pl/wiki/pl:dydaktyka:krr:lab_dl|Materiały + laboratorium]] | |
- ML - wykład zaproszony [18.06.2013] | |
- Problematyka spójności i pełności wiedzy. Wnioskowanie diagnostyczne. | |
- Prolog: metaprogramowanie. Możliwości reprezentacji i przetwarzania wiedzy w Prologu. | |
| |
| |
===== Ramowy plan laboratorium ===== | |
| |
Narzędzia: | |
* [SWI] [[http://www.swi-prolog.org/|SWI Prolog]] | |
* [AIS] [[http://aispace.org|AIspace]] | |
* [MZN] [[http://www.minizinc.org/|MiniZinc]] | |
| |
Ćwiczenia | |
- Prolog: baza wiedzy: [[Lab baza wiedzy]], 2014-03-05 | |
- Prolog: sterowanie wnioskowaniem: [[Lab sterowanie wnioskowaniem]], 2014-03-12 | |
- Prolog: termy i reprezentacja wiedzy: [[Lab_termy]], 2013-03-19 | |
- Prolog: listy i podstawy przetwarzania wiedzy: [[pl:prolog:prolog_lab:listy1|Wstęp do pracy z listami]], 2014-03-26 | |
- Prolog: listy, zagadnienia zaawansowane: [[pl:prolog:prolog_lab:listy2|Praca z listami]], 2014-04-02 | |
- Prolog: metaprogramowanie, 2014-04-09 | |
* [[pl:prolog:prolog_lab:reprezentacja_wiedzy|Reprezentacja]] | |
* [[pl:prolog:prolog_lab:prolog_lab_metaprog|Metaprogramowanie]] punkty 1-4 | |
- Szukanie heurystyczne: [[http://ai.ia.agh.edu.pl/wiki/pl:dydaktyka:ai:2015:labs:lab_search|przeszukiwanie]] wraz z sekcją //Dla zainteresowanych//, 2015-05-06 | |
* proszę poczytać o metodach szukania w AI można znaleźć w podręczniku [FCA]: [[http://artint.info/html/ArtInt_46.html|3 States and Searching]] 3.6-7 | |
- CSP: [[pl:dydaktyka:csp:intro|wprowadzenie]], 2014-05-13 | |
- CSP: [[pl:dydaktyka:csp:lab1|standardowe problemy]], 2014-05-20 | |
- CSP: [[pl:dydaktyka:csp:lab2|techniki modelowania]], 2014-05-27 | |
<del> - Reguły w Prologu, 2014-05-07, [[pl:prolog:prolog_lab:prolog_lab_metaprog#tematsystemy_ekspertowe|wprowadzenie do systemów ekspertowych]]</del> | |
- Problemy automatycznego planowania: [[Lab_pddl]] | |
- Reprezentacje ustrukturalizowane, DL: [[Lab DL]], 2014-06-04 | |
- Kolokwium, 2014-06-11 | |
| |
===== VARIA ===== | |
* [[http://www.joelonsoftware.com|Joel Spolsky]] [[http://www.joelonsoftware.com/items/2006/08/01.html|Can Your Programming Language Do This?]], Tuesday, August 01, 2006. | |
* [[http://www.paulgraham.com|Paul Graham]], [[http://www.paulgraham.com/hp.html|Hackers and Painters]] (esej), May 2003; więcej w książce: [[http://www.paulgraham.com/hp.html|Hackers and Painters]], O'Reilly, 2004. | |
* [[http://lambda-the-ultimate.org/|Lambda the Ultimate | |
The Programming Languages Weblog ]] | |
| |
| |