230 likes | 337 Views
Visual Turing. …aneb teoretická informatika v kurzech logiky Martin Víta. Cíle základních kurzů logiky. Student by v nich měl získat především: základní algoritmické dovednosti (vyplývání ve VL, řeš. sylogismů) zkušenosti s prací ve formálních systémech (odlišení práce uvnitř a vně systému)
E N D
Visual Turing …aneb teoretická informatika v kurzech logiky Martin Víta Organon V – Olomouc, 29. 8. 2006
Cíle základních kurzů logiky Student by v nich měl získat především: • základní algoritmické dovednosti(vyplývání ve VL, řeš. sylogismů) • zkušenosti s prací ve formálních systémech(odlišení práce uvnitř a vně systému) • znalosti významných logických konceptů, prostředků a (meta)vět logiky– korektnost, úplnost, rozhodnutelnost, self-reference, diagonalizace, … • povědomí o vztahu logiky a ostatních disciplín, zejm. matematiky a filosofie, • přiměřené informace o současném stavu oboru. Každý z těchto bodů má přirozený teoreticko-informatický kontext. Organon V – Olomouc, 29. 8. 2006
Návrh: rozšíření kurzů logikyo některá témata TI • Teorie formálních jazyků– abeceda, jazyk, gramatika, derivace, … • Vyčíslitelnost– algoritmy a Turingovy stroje Hlavní myšlenka: první části příspěvku: demonstrovat některé logické koncepty na informatických tématech Organon V – Olomouc, 29. 8. 2006
„Úkrok stranou“: dokumentografické systémy a Google • Information Retrieval („vyhledávání informací“)– viz Pokorný J., Snášel V., Kopecký M. Dokumentografické informační systémy. Karolinum, Praha, 2005 Koeficient úplnosti = počet všech vybraných relevantních dokumentů : počet všech relevantních dokumentů v kolekci Google: vyhledávání adres podle klíčových slov • Definujmeklíčové slovo|–gURL (dokumentu) iff URL se objeví na některé ze stránek Googlu po zadání klíčového slova Organon V – Olomouc, 29. 8. 2006
„Úkrok stranou“: dokumentografické systémy a Google II. • Definujme dáleklíčové slovo|=URL (dokumentu) iff stránka s URLobsahuje klíčové slovo • Jaký je „význam“ tvrzení:Jestliže klíčové slovo|–gURL, pak klíčové slovo|=URL ?a Jestliže klíčové slovo|=URL, pak klíčové slovo|–gURL ? • …a máme základní představu o korektnosti a úplnosti. Organon V – Olomouc, 29. 8. 2006
Teorie formálních jazykůZákladní definice Viz např. Barták online, Chytil a spol… • Abeceda • Slovo • Jazyk • (Generativní) gramatika • Derivace Ukázka…kdy pracujeme uvnitř a vně systému? Organon V – Olomouc, 29. 8. 2006
Teorie formálních jazykůUkázky • Mějme gramatikuN = {S}T = {p, q, r, ¬, &, (, )}s touto množinou pravidel PS → p | q | rS → (S & S) | ¬S • Jaký jazyk tato gramatika generuje…? Organon V – Olomouc, 29. 8. 2006
Teorie formálních jazykůUkázky II. Máme („nějak“) zadaný jazyk a vytvořili jsme gramatiku – adekvátní otázky: • Generuje gramatika pouze slova daného jazyka? • Je možné každé slovo daného jazyka vygenerovat naší gramatikou? V teoretické lingvistice se taktéž objevují pojmy korektnosti a úplnosti Organon V – Olomouc, 29. 8. 2006
Teorie formálních jazykůUkázky III. • Jak vylepšit naši gramatiku, aby generovala „všechny“ správně utvořené formule VL? • Vhodná cvičení* jazyk aritmetických termů – menší komplikace: priorita Organon V – Olomouc, 29. 8. 2006
Turingovy stroje • Algoritmus jakožto centrální pojem logiky 20. stol. (Gödelovy věty, dále např. témata jako důkazová složitost, …) • Churchova teze a její důsledky, odkaz na teorii mysli, … • Formalizace pojmu algoritmus: částečně rekurzivní funkce, RAM, Turingovy stroje Organon V – Olomouc, 29. 8. 2006
Turingovy stroje II. • Definice viz např. Barták online,Demuth, Kryl, Kučera: Teorie algoritmů I. • Další příležitost ukázat si práci uvnitř a vně systému a vyzkoušet si „programátorské“ myšlení • Jak vypadá výpočet TS– čítanka z AF Organon V – Olomouc, 29. 8. 2006
(Vizuální) simulátory TS umožňují většinou: • interaktivně – pomocí myši a dialogových oken – editovat „programy“ pro TS, • sledování běhu vytvořeného „programu“ (stav pásky, vnitřní stav TS), • trasování a debuggování jednotlivých „programů“. Přehledové a srovnávací články • C. Martin and T. olde Scheper. Teaching Tools for Turing Machines. 2003,http://cmsdomino.brookes.ac.uk/tfm2003/papers/martin_scheper.pdf • Reference [CC02]: http://cs.uns.edu.ar/~cic/publications.htmhttp://fermat.eup.udl.es/%7Ecic/2003/2003_sigcse.pdf Organon V – Olomouc, 29. 8. 2006
(Vizuální) simulátory TS II. • Seznam několika simulátorů viz handout a výše zmíněné články • Základní idea: vytváření „vývojových diagramů“ odpovídajících TS vizuální cestou • Ve druhé části se budeme zabývat nástrojem Visual Turinghttp://cheransoft.com/vturing/ Organon V – Olomouc, 29. 8. 2006
Visual Prolog • Freeware pro Windows 95, 98, NT, 2000 (XP?) • Instalace naprosto bezproblémová (instalační soubor 410 kB…) • IDE – podobné ideje jako v případě vývojových prostředí ve „skutečných“ programovacích jazycích Organon V – Olomouc, 29. 8. 2006
Práce ve Visual Turing • Okno VT: struktura projektu, graf konkrétního TS (defaultně: Main), anotace, stav pásky, příp. debuggovací okno VT mj. umožňuje: • definovat abecedu ? Jak kódovat zadání ? • (používat proměnné) • používat jiné TS (jako „podprogramy“) • debuggovat a trasovat TS Organon V – Olomouc, 29. 8. 2006
Práce ve Visual Turing II. • bohaté editační prostředky, cut+paste, vícenásobné undo • možnost tisku Nedostatky: • nelze importovat TS do vytvářeného projektu • nelze přímo získat kód TS ve smyslu definice – riziko, že budou studenti ztotožňovat VT a TS • nefunkčnost v některých akcích? Organon V – Olomouc, 29. 8. 2006
Práce ve Visual Turing III. Vytváření TS • definování abecedy (příp. proměnných, dalších TS jako podprogramů) • vkládání instrukcí (pohyb hlavy, nic, zápis symbolu nebo proměnné na pásku, volání podprogramu) • vkládání šipek – určuje posloupnost provádění instrukcí, ale i čtení symbolu z pásky, speciální případ smyčky (odpovídají while cyklu) • větvení: podmínky ve tvaru rovnosti, resp. její negace Organon V – Olomouc, 29. 8. 2006
Práce ve Visual Turing IV. Běh TS • stanovení polohy hlavy, stavu pásky • určení rychlosti animace Debuggování TS • stanovení breakpointů • provádění po krocích • sledování hodnot proměnných Organon V – Olomouc, 29. 8. 2006
VT ve výuce logiky I. • Negování flí VL (triv.) • Rozhodnutí o splnitelnosti fle daným ohodnocením– proč je tak zajímavá (reverzní) polská notace…? • Vyplývání ve VL Vhodný zdroj úloh: kniha dodávaná se sw Turing’s World Organon V – Olomouc, 29. 8. 2006
VT ve výuce logiky II. • složitější úlohy lze řešit použitím podprogramů • nutnost definování vstupů a výstupů • rozdělení práce jako ve vývojářském teamu Organon V – Olomouc, 29. 8. 2006
VT ve výuce logiky III. VT z nadhledu… • TS se dá popsat jako posloupnost slov v nějaké abecedě, TS pracují s posloupnostmi slov na pásce – náznak selfreference, cesta k problému zastavení, pojem nerozhodnutelnosti • Odkaz na nerozhodnutelnost PL Organon V – Olomouc, 29. 8. 2006
VT ve výuce logiky IV • na základě konceptu TS je možné alespoň přehledově zmínit téma výpočtové složitosti: časová a prostorová složitost (odkaz na SAT, 3-SAT, 3R-3SAT, …, důkazová složitost, …) • Je možné poukázat na souvislosti logiky s informatikou a dále s kognitivními vědami, teorií mysli, teoretickou lingvistikou, Organon V – Olomouc, 29. 8. 2006
Děkuji Vám za pozornost. Veškeré podněty VítaM! Organon V – Olomouc, 29. 8. 2006