Vítejte u knihy, která má ambici změnit způsob, jakým přemýšlíte o počítačích a řešení problémů. Možná už máte nějaké zkušenosti s programováním ve škole nebo doma. Možná jste psali kód v Pythonu, Javě nebo C#. Pokud ano, připravte se na kulturní šok. Prolog je totiž úplně jiný svět. Není to jen další jazyk s jinými závorkami. Je to jiný způsob myšlení.
Představte si, že jste detektiv. Ne ledajaký, ale Sherlock Holmes. Přijdete na místo činu. Vidíte nedopalek cigarety, otisk boty velikosti 45 a rozbité hodiny, které se zastavily v 10:30. Vaším úkolem není běhat po městě a zkoušet každého zatknout. Vaším úkolem je sednout si do křesla, zapálit dýmku a myslet. Musíte spojit fakta dohromady, vyloučit nemožné a to, co zbude, musí být pravda.
Většina programovacích jazyků (jako Java, Python nebo C++) funguje jako kuchařka. Musíte počítači přesně říct, krok za krokem, co má dělat. Tomuto přístupu říkáme imperativní programování. Váš kód vypadá jako recept:
Pokud zapomenete jeden krok, nebo ho napíšete špatně, počítač se zasekne. Neví, co má dělat. Počítač je v tomto případě jen poslušný, ale hloupý dělník, který bezhlavě plní rozkazy.
Prolog je jiný. Samotný název jazyka, Prolog, je zkratkou francouzských slov "PROgrammation en LOGique", což znamená "programování v logice". A to je přesně to, co dělá. Je to deklarativní jazyk. V Prologu neříkáte počítači, jak má něco udělat. Říkáte mu, co je pravda. Popisujete svět a vztahy v něm. Místo receptu píšete policejní zprávu:
A pak se zeptáte: "Kdo je vrah?"
Prolog sám projde miliardy kombinací, použije logiku, kterou jste mu dali, a odpoví: "Vrah je komorník." Vy jste nenapsali algoritmus hledání. Vy jste jen popsali pravdu a nechali počítač, aby našel řešení.
Možná si říkáte: "Tento jazyk vznikl v roce 1972. Není to historie? Proč se to učit dnes, v době neuronových sítí?" Odpověď je jednoduchá: Logika nestárne. Prolog je sice "dědečkem" moderní umělé inteligence, ale stále je velmi vitální a v některých oblastech nenahraditelný.
V této knize se nenaučíte jen psát kód. Naučíte se myslet. Naučíte se rozkládat složité problémy na malé logické kousky. A to je dovednost, kterou vám žádná AI nevezme.