Od Aristotela k Prologu



Podobné dokumenty
Logika 5. Základní zadání k sérii otázek: V uvedených tezích doplňte z nabízených adekvátní pojem, termín, slovo. Otázka číslo: 1. Logika je věda o...

Matematika pro informatiky KMA/MATA

Prolog PROgramming in LOGic část predikátové logiky prvního řádu rozvoj začíná po roce 1970 Robert Kowalski teoretické základy Alain Colmerauer, David

LOGIKA VÝROKOVÁ LOGIKA

VÝUKOVÝ MATERIÁL. Bratislavská 2166, Varnsdorf, IČO: tel Číslo projektu

platné nejsou Sokrates je smrtelný. (r) 1/??

Úvod do logiky a logického programování.

Úvod do logiky. (FLÚ AV ČR) Logika: CZ.1.07/2.2.00/ / 23

Matematická logika. Miroslav Kolařík

Základní pojmy matematické logiky

Místo pojmu výroková formule budeme používat zkráceně jen formule. Při jejich zápisu

Matematická logika. Lekce 1: Motivace a seznámení s klasickou výrokovou logikou. Petr Cintula. Ústav informatiky Akademie věd České republiky

0. ÚVOD - matematické symboly, značení,

1. Predikátová logika jako prostedek reprezentace znalostí

Logika a studijní předpoklady

Výroková logika. Sémantika výrokové logiky

Úvod. Programovací paradigmata

1. Matematická logika

KMA/MDS Matematické důkazy a jejich struktura

Stefan Ratschan. Fakulta informačních technologíı. Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti

Logika a logické programování

Umělá inteligence I. Roman Barták, KTIML.

Logické programování

Matematická logika. Miroslav Kolařík

λογος - LOGOS slovo, smysluplná řeč )

Obsah Předmluva Rekapitulace základních pojmů logiky a výrokové logiky Uvedení do predikátové logiky...17

Matematika I. Přednášky: Mgr. Radek Výrut, Zkouška:

VÝUKOVÝ MATERIÁL. Bratislavská 2166, Varnsdorf, IČO: tel Číslo projektu

1. Matematická logika

Seminární práce z Teorie ICT

Predikátová logika Individua a termy Predikáty

Výroková logika. Teoretická informatika Tomáš Foltýnek

Každé formuli výrokového počtu přiřadíme hodnotu 0, půjde-li o formuli nepravdivou, a hodnotu 1, půjde-li. α neplatí. β je nutná podmínka pro α

Úvod do teoretické informatiky

Programovací jazyky. imperativní (procedurální) neimperativní (neprocedurální) assembler (jazyk symbolických instrukcí)

VÝUKOVÝ MATERIÁL. Bratislavská 2166, Varnsdorf, IČO: tel Číslo projektu

Formální systém výrokové logiky

Úvod do informatiky. Miroslav Kolařík

09. seminář logika (úvod, výroková).notebook. November 30, Logika

1 Výroková logika 1. 2 Predikátová logika 3. 3 Důkazy matematických vět 4. 4 Doporučená literatura 7

Střední odborná škola a Střední odborné učiliště, Hustopeče, Masarykovo nám. 1

Výroková a predikátová logika - I

Výbor textů k moderní logice

výrok-každésdělení,uněhožmásmyslseptát,zdaječinenípravdivé, aproněžprávějednaztěchtodvoumožnostínastává.

7 Jemný úvod do Logiky

Bakalářská matematika I

4.2 Syntaxe predikátové logiky

Booleovská algebra. Booleovské binární a unární funkce. Základní zákony.

ZÁKLADY LOGIKY A METODOLOGIE

Masarykova střední škola zemědělská a Vyšší odborná škola, Opava, příspěvková organizace

Logika II. RNDr. Kateřina Trlifajová PhD. Katedra teoretické informatiky Fakulta informačních technologíı BI-MLO, ZS 2011/12

Predikátová logika (logika predikátů)

1 Výrok a jeho negace

M - Výroková logika VARIACE

Programovací jazyk Prolog

2.5 Rezoluční metoda v predikátové logice

Programovací jazyky. imperativní (procedurální) neimperativní (neprocedurální) assembler (jazyk symbolických instrukcí)

Logika. 1. Úvod, Výroková logika

10. Techniky formální verifikace a validace

Základy logiky a teorie množin

Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti

KMA/MDS Matematické důkazy a jejich struktura

Tableaux metody. Jiří Vyskočil 2011

Matematická logika. Rostislav Horčík. horcik

Spojování výroků (podmínek) logickými spojkami

Výroková logika syntaxe a sémantika

Název školy: Základní škola a Mateřská škola Žalany. Číslo projektu: CZ. 1.07/1.4.00/ Téma sady: Dějepis pro ročník

Výroková a predikátová logika - II

Výroková logika - opakování

Výroková a predikátová logika - III

Matematická logika. Rostislav Horčík. horcik

Okruh č.3: Sémantický výklad predikátové logiky

Predikátová logika. Teoretická informatika Tomáš Foltýnek

Logika. 6. Axiomatický systém výrokové logiky

1 Úvod do matematické logiky

Vyrokova logika. Zakladnim pojmem vyrokove logiky je vyrok.

přednáška 2 Marie Duží

EXPERTNÍ SYSTÉMY V CHOVU VČEL A MOŽNOSTI JEJICH VYUŽITÍ V. Vostrovský Katedra informatiky, Vysoká škola zemědělská, Praha 6 Suchdol, tel.

Negativní informace. Petr Štěpánek. S použitím materiálu M.Gelfonda a V. Lifschitze. Logické programování 15 1

Architektura počítačů Logické obvody

Architektura počítačů Logické obvody

Matematika B101MA1, B101MA2

VY_42_Inovace_12_MA_2.01_ Výroky. Prezentace určena pro první ročník maturitních oborů, ve které je vysvětlení učiva výroky.

Výroková logika. p, q, r...

Logika. Dana Nejedlová Katedra informatiky Ekonomická fakulta Technická univerzita v Liberci

Matematická indukce, sumy a produkty, matematická logika

Unární je také spojka negace. pro je operace binární - příkladem může být funkce se signaturou. Binární je velká většina logických spojek

Metody tvorby ontologií a sémantický web. Martin Malčík, Rostislav Miarka

Predikátová logika. prvního řádu

Matematická logika. Miroslav Kolařík

PLIN041 Vývoj počítačové lingvistiky Algebraická lingvistika. Mgr. Dana Hlaváčková, Ph.D. od 2. pol. 50. let 20. st.

Architektura počítačů

Klauzulární logika. úvod. Šárka Vavrečková. 20. října Ústav informatiky Filozoficko-Přírodovědecká fakulta Slezské univerzity, Opava

Co je to matematika?

Program a životní cyklus programu

Výroková a predikátová logika - VIII

1. MATEMATICKÁ LOGIKA A MNOŽINY

Fuzzy logika. Informační a znalostní systémy

Výroková a predikátová logika - II

Inteligentní systémy (TIL) Marie Duží

Transkript:

JIHOČESKÁ UNIVERZITA v ČESKÝCH BUDĚJOVICÍCH PEDAGOGICKÁ FAKULTA KATEDRA INFORMATIKY Od Aristotela k Prologu František Sedláček 2010 František Sedláček, Pedagogická fakulta Jihočeská Univerzita v Č.Budějovicích

Obsah: Logika...3 Výroková logika...3 Predikátová logika...4 Logické programování...4 Prolog...5 Použité zdroje...6 František Sedláček, Pedagogická fakulta Jihočeská Univerzita v Č.Budějovicích 2

Logika Počátky logiky nalézáme již v antických dobách, kdy se v podstatě logika začínala vyvíjet jako součást filozofie. Za zakladatele této matematické disciplíny jsou označováni řečtí filozofové Sokrates, Platon a především Aristoteles, nejvýznamnější žák Platona. Aristoteles se narodil v roce 384 př.n.l. a během života se věnoval nejrůznějším vědám. Mezi ně patřila i logika, které věnoval několik svých spisů jako například: O sofistických důkazech, O vyjadřování, První analytiky, Druhé analytiky, Topiky. Podle dochovaných fragmentů lze Aristotela označit přímo za zakladatele predikátové logiky, který tvořil jakousi opozici vůči stoikům, kteří v té době zkoumali výrokovou logiku. Od antických dob pak byla logika dlouhé věky částečně skryta ve stínu filozofie nebo též mylně uváděna jako její součást. Predikátová logika podle Aristotela byla vyučována ještě v 19. století. Již od 14. století se však začaly objevovat počátky symbolické logiky. Jedním z hlavních představitelů je britský matematik George Boole, který žil v 19. století, a podle kterého je pojmenována Booleovská algebra. Díky tomu je dnes považován za jednoho ze zakladatelů informatiky. Více pozornosti se logice začalo dostávat až na konci 19. a na začátku 20.století, kdy již mluvíme o matematické logice. Velikánem novodobé logiky je Kurt Goedel, matematik rakouského původu, který v roce 1930 publikoval větu o úplnosti predikátové logiky prvního řádu a hned rok poté učinil zásadní objev forumuloval dvě důležité matematické věty o neúplnosti axiomatických formálních systémů s aritmetikou čímž ukončil dlouholeté snahy logiků i matematiků úplně formalizovat matematiku. Následující odstavce popisují význam termínů výroková logika a predikátová logika. Výroková logika Základem výrokové logiky je výrok. Výrokem můžeme označit každou oznamovací větu, u které lze jednoznačně určit její pravdivostní hodnotu. Z jednotlivých výroku je pak možné vytvářet složené výroky pomocí logických spojek. Existují čtyři základní logické spojky: negace, konjunkce, disjunkce, implikace a ekvivalence. I u složených výroků můžeme zkoumat jejich pravdivostní hodnotu. Ta se samozřejmě liší v závislosti na použitých logických spojkách. František Sedláček, Pedagogická fakulta Jihočeská Univerzita v Č.Budějovicích 3

Predikátová logika Predikátová logika je rozšířením výrokové logiky, která není plně schopna vyjadřovat složitější tvrzení o matematických strukturách. Místo termínu výrok se používá slovo predikát. Ten se může obecně týkat více objektů. Proto má každý predikát svou aritu což je vlastně počet objektů (parametrů), kterých se týká. Po dosazení konkrétních hodnot do predikátu se musí jednat o výrok. Příkladem predikátu může být Q(x, y) = x2 < y. Predikátový počet je navíc rozšířen o logické symboly existenční kvantifikátor a obecný kvantifikátor. Logické programování Pojem logické programování lze chápat jako používání predikátové logiky při konstrukci programů. Deklarativní programy se liší od imperativních tím, že programátor deklaruje, co je vstupem a výstupem, ale nezabývá se tím, jak vlastní výpočet probíhá. Řešení problému je rozděleno mezi programátora a tzv. dokazovač vět. Za počátek éry logického programování lze považovat přelom 50. a 60. let 20. století, kdy logika v programování začínala sloužit pro deklarativní reprezentaci přirozeného jazyka. V roce 1958 americký počítačový odborník John McCarthy vytvořil hypotetický počítačový program, který nesl název Advice taker což byl jakýsi předchůdce programovacího jazyku Prolog. Z historického pohledu je vidět, že se logické programování vyvinulo v samostatnou vědní disciplínu díky vzrůstajícímu zájmu o umělou inteligenci. Tento zájem souvisel s povahou doby 50. a 60. let, kdy se přední světové velmoci snažily dohnat budoucnost ve vznikajících počítačových oborech. Během 60. let se objevilo několik implementací deklarativních systémů odpovídajících na dotazy. Tyto systémy byly právě založeny na návrhu Advice takeru. Prvním významným jazykem logiky se stal Planner, který byl vyvinut technologickým institutem v Massachusetts v roce 1960. Šlo o jazyk pro logické programování, který však obsahoval výrazný procedurální přístup. Jeho nejznámější implementací se stal systém Micro- Planner, který byl jakousi podmnožinou jazyka Planner. Nasazení Micro-planneru se týkalo porozumění přirozenému jazyku pomocí Winogradova programu. Roky trvající debaty mezi zastánci deklarativního a procedurálního přístupu k programování podpořily rozvoj logického deklarativního programování, které vyústilo až v moment, kdy byl na začátku 70. let vytvořen programovací jazyk Prolog. František Sedláček, Pedagogická fakulta Jihočeská Univerzita v Č.Budějovicích 4

Prolog Prolog je programovacím jazykem, který byl vytvořen pro účely logického programování s výrazným deklarativním přístupem. Prolog byl vytvořen francouzským informatikem Alainem Colmerauerem v roce 1972. Název Prolog vymyslel jeho kolega Philippe Roussel. Slovo Prolog je tady zkratka francouzského výrazu PROgrammation en LOGique (Programování v logice). Jazyk byl produktem spolupráce mezi Colmerauerem z Univerzity v Marseille a Robertem Kowalskim z Edinburské univerzity a vytvořen na základě procedurálního výkladu Hornovy klauzule právě podle Roberta Kowalského. Prolog byl původně navržen především pro zpracovávání přirozeného jazyka. Syntaxe jazyka byla vytvořena velice jednoduchá a snadno použitelná proto, že Prolog byl původně určen pro lingvisty a ne pro počítačové odborníky. Prolog je označován jako programovací jazyk 4. generace. Je založen na predikátové logice prvního řádu a běh programu je tvořen aplikací dokazovacích technik na zadané klauzule. Predikátová logika prvního řádu je taková predikátová logika, která dovoluje používání kvantifikovaných tvrzení typu pro každé x platí..., pokud je x individuem a ne predikátem. V roce 1981 se Prolog stal vývojovým jazykem pro japonský projekt počítačů 5. generace. To mělo za následek značný nárůst popularity Prologu. Logické programování se tak spolu s Prologem dostalo do širšího povědomí odborné veřejnosti. Prolog se začal postupně rozdělovat na různé větve jazyka, které se lehce lišily v syntaxi i sémantice. V roce 1983 vytvořil profesor David Scott Warren z Newyorské univerzity nový abstraktní model překladače Prologu nazvaný Warren Abstract Machine. Ten se stal základem pro moderní komerčně úspěšné generace překladačů jako LPA Prolog či Arity Prolog. V druhé polovině osmdesátých let představila svojí objektově-orientovanou variantu Prologu také, tehdy populární, kalifornská firma Borland. Jejich překladač nesl název Turbo Prolog a patřil do skupiny překladačů s vlastním propracovaným uživatelským rozhraním, kterým se firma Borland v osmdesátých letech proslavila. V roce 1995 se Prolog dočkal standardizace ISO, která definovala pevné jádro jazyka, které by nemělo být v různých mutacích měněno. V dnešní době je Prolog využíván pro tvorbu nejrůznějších expertních systémů, v oboru umělé inteligence a v počítačové lingvistice. Mezi nejznámější případy použití patří využití v NASA, kdy byl Prolog použit při vytvoření systému, který kosmonautům umožňuje ovládat počítač hlasem. František Sedláček, Pedagogická fakulta Jihočeská Univerzita v Č.Budějovicích 5

Použité zdroje - ROSEBRUGH, Robert. Mount Allison University [online]. 2005 [cit. 2010-12-20]. A brief history of Prolog. Dostupné z WWW: <http://www.mta.ca/~rrosebru/oldcourse/371199/prolog/history.html>. - FALTÝNEK, Lukáš. Linux expres [online]. 21.2.2006 [cit. 2010-12-20]. Prolog, Linux expres. Dostupné z WWW: <http://www.linuxexpres.cz/praxe/prolog>. - Knol - a unit of knowledge [online]. 2009 [cit. 2010-12-27]. Middle history of logic programming. Dostupné z WWW: <http://knol.google.com/k/carl/middle-history-oflogic-programming/pcxtp4rx7g1t/3#>. - Wikipedia, the free encyclopedia [online]. 2010 [cit. 2010-12-27]. Logic programming. Dostupné z WWW: <http://en.wikipedia.org/wiki/logic_programming>. - CS381 Discrete Structures/Discrete Mathematics Web Course Material [online]. 2008, last updated 2009-02-08 [cit. 2010-12-30]. Dostupné z WWW: <http://www.cs.odu.edu/~toida/nerzic/content/web_course.html>. - CARRIGAN, PH.D., Cky J. On Truth [online]. 1996 [cit. 2010-12-29]. THE ORIGIN OF ARISTOTLE'S LOGIC. Dostupné z WWW: <http://ontruth.com/aristotle.html>. František Sedláček, Pedagogická fakulta Jihočeská Univerzita v Č.Budějovicích 6