SlideShare a Scribd company logo
1 of 69
Download to read offline
Josef Šlerka
Daniel Dennet: Register machine
a sedm tajemství počítače
Úvod do informační vědy pro netechnické obory
DANIEL C. DENNET: THE SEVEN
SECRETS OF COMPUTER POWER
REVEALED
Daniel Dennet o register machine
INTUITION PUMPS AND OTHER TOOLS FOR THINKING
Geniální myšlenku registračního stroje představil na úsvitu
počítačového věku logik Hao Wang (1957), mimochodem žák Kurta
Gödela a filozof. Je to elegantní nástroj pro myšlení a měli byste ho mít
ve své vlastní výbavě. Není zdaleka tak známý, jak by měl být.
Registrový stroj (register machine) je idealizovaný, imaginární (a
dokonale možný) počítač, který se skládá pouze z určitého (konečného
počtu) registrů a výpočetní jednotky.
Daniel Dennet o register machine
INTUITION PUMPS AND OTHER TOOLS FOR THINKING
Registry jsou místa v paměti, každé s jedinečnou adresou (registr 1,
registr 2, registr 3 atd.) a každé může mít jako obsah jedno celé číslo (0,
1, 2, 3, . . .). Každý registr si můžete představit jako velkou krabici, která
může obsahovat libovolný počet zrnek, od 0 do nekonečna , ať už je
krabice jakkoli velká. Obvykle uvažujeme, že krabice mohou jako obsah
obsahovat libovolné celé číslo, což by ovšem vyžadovalo nekonečně
velké krabice. Pro naše účely postačí velmi velké krabice.
Daniel Dennet o register machine
INTUITION PUMPS AND OTHER TOOLS FOR THINKING
Zpracovávající jednotka (processing unit) je vybavena pouze třemi
jednoduchými kompetencemi, třemi "instrukcemi", které může
"následovat", a to postupně, po jedné. Jakákoli posloupnost těchto
instrukcí je program a každá instrukce má číslo, které ji identifikuje.
Daniel Dennet o register machine
INTUITION PUMPS AND OTHER TOOLS FOR THINKING
Instrukce:
Inkrementace registru n (přičtení 1 k obsahu registru n; vložení fazole
do krabice n) a přechod k dalšímu kroku, kroku m.
Dekrementace registru n (odečtení 1 od obsahu registru n; odebrání
jedné fazole z krabice n) a přechod na další krok, krok m.
Konec. To znamená, že se může zastavit nebo vypnout.
Daniel Dennet o register machine
INTUITION PUMPS AND OTHER TOOLS FOR THINKING
Instrukce Decrement funguje stejně jako instrukce Increment, až na
jednu veledůležitou komplikaci: Co má dělat, když je číslo v registru n
rovno 0? Nemůže od něj odečíst 1 (registry nemohou mít jako obsah
záporná celá čísla; z prázdné krabice nemůžete vyndat fazoli), a tak se
musí rozhodnout pro Branch. To znamená, že musí přejít na jiné místo v
programu, aby získal další instrukci. To vyžaduje, aby každá instrukce
Decrement vypsala místo v programu, na které se má jít dál, pokud má
aktuální registr obsah 0.
Daniel Dennet o register machine
INTUITION PUMPS AND OTHER TOOLS FOR THINKING
Zde je tedy náš soupis všeho, co umí registrační stroj, s praktickými
krátkými názvy: End, Inc a Deb (pro Decrement-or-Branch).
Na první pohled by se mohlo zdát, že takový jednoduchý stroj nemůže
dělat nic moc zajímavého; jediné, co umí, je vložit fazoli do pole nebo ji
z pole vyjmout (pokud ji najde, a větvit na jinou instrukci, pokud
nemůže). Ve skutečnosti však dokáže spočítat cokoli, co dokáže
spočítat jakýkoli počítač.
Co je to registr?
Register machine
Co můžeme uložit do registru?
Register machine
ADD program
Add the contents of register 1 to the contents of register 2
Registr 1 Registr 2 Registr 3
STEP INSTRUCTION REGISTER GO TO STEP [BRANCH TO
STEP]
1. Deb 1 2 3
2. Inc 2 1
3. End
ADD program
Add the contents of register 1 to the contents of register 2
Registr 1 Registr 2 Registr 3
STEP INSTRUCTION REGISTER GO TO STEP [BRANCH TO
STEP]
1. Deb 1 2 3
2. Inc 2 1
3. End
ADD program
Add the contents of register 1 to the contents of register 2
STEP INSTRUCTION REGISTER GO TO STEP [BRANCH TO
STEP]
1. Deb 1 2 3
2. Inc 2 1
3. End
Registr 1 Registr 2 Registr 3
ADD program
Add the contents of register 1 to the contents of register 2
STEP INSTRUCTION REGISTER GO TO STEP [BRANCH TO
STEP]
1. Deb 1 2 3
2. Inc 2 1
3. End
Registr 1 Registr 2 Registr 3
ADD program
Add the contents of register 1 to the contents of register 2
STEP INSTRUCTION REGISTER GO TO STEP [BRANCH TO
STEP]
1. Deb 1 2 3
2. Inc 2 1
3. End
Registr 1 Registr 2 Registr 3
ADD program
Add the contents of register 1 to the contents of register 2
STEP INSTRUCTION REGISTER GO TO STEP [BRANCH TO
STEP]
1. Deb 1 2 3
2. Inc 2 1
3. End
Registr 1 Registr 2 Registr 3
ADD program
Add the contents of register 1 to the contents of register 2
STEP INSTRUCTION REGISTER GO TO STEP [BRANCH TO
STEP]
1. Deb 1 2 3
2. Inc 2 1
3. End
Registr 1 Registr 2 Registr 3
ADD program
Add the contents of register 1 to the contents of register 2
STEP INSTRUCTION REGISTER GO TO STEP [BRANCH TO
STEP]
1. Deb 1 2 3
2. Inc 2 1
3. End
Registr 1 Registr 2 Registr 3
ADD program
Add the contents of register 1 to the contents of register 2
STEP INSTRUCTION REGISTER GO TO STEP [BRANCH TO
STEP]
1. Deb 1 2 3
2. Inc 2 1
3. End
Registr 1 Registr 2 Registr 3
ADD program
Add the contents of register 1 to the contents of register 2
STEP INSTRUCTION REGISTER GO TO STEP [BRANCH TO
STEP]
1. Deb 1 2 3
2. Inc 2 1
3. End
Registr 1 Registr 2 Registr 3
ADD program
Add the contents of register 1 to the contents of register 2
STEP INSTRUCTION REGISTER GO TO STEP [BRANCH TO
STEP]
1. Deb 1 2 3
2. Inc 2 1
3. End
Registr 1 Registr 2 Registr 3
ADD program
Add the contents of register 1 to the contents of register 2
STEP INSTRUCTION REGISTER GO TO STEP [BRANCH TO
STEP]
1. Deb 1 2 3
2. Inc 2 1
3. End
Registr 1 Registr 2 Registr 3
ADD program
Add the contents of register 1 to the contents of register 2
STEP INSTRUCTION REGISTER GO TO STEP [BRANCH TO
STEP]
1. Deb 1 2 3
2. Inc 2 1
3. End
Registr 1 Registr 2 Registr 3
ADD program
Add the contents of register 1 to the contents of register 2
STEP INSTRUCTION REGISTER GO TO STEP [BRANCH TO
STEP]
1. Deb 1 2 3
2. Inc 2 1
3. End
Registr 1 Registr 2 Registr 3
ADD program
Add the contents of register 1 to the contents of register 2
STEP INSTRUCTION REGISTER GO TO STEP [BRANCH TO
STEP]
1. Deb 1 2 3
2. Inc 2 1
3. End
Registr 1 Registr 2 Registr 3
ADD program
Add the contents of register 1 to the contents of register 2
STEP INSTRUCTION REGISTER GO TO STEP [BRANCH TO
STEP]
1. Deb 1 2 3
2. Inc 2 1
3. End
Registr 1 Registr 2 Registr 3
ADD program
Add the contents of register 1 to the contents of register 2
STEP INSTRUCTION REGISTER GO TO STEP [BRANCH TO
STEP]
1. Deb 1 2 3
2. Inc 2 1
3. End
Registr 1 Registr 2 Registr 3
ADD program
Add the contents of register 1 to the contents of register 2
STEP INSTRUCTION REGISTER GO TO STEP [BRANCH TO
STEP]
1. Deb 1 2 3
2. Inc 2 1
3. End
Registr 1 Registr 2 Registr 3
ADD program
Add the contents of register 1 to the contents of register 2
STEP INSTRUCTION REGISTER GO TO STEP [BRANCH TO
STEP]
1. Deb 1 2 3
2. Inc 2 1
3. End
Registr 1 Registr 2 Registr 3
ADD program
Add the contents of register 1 to the contents of register 2
STEP INSTRUCTION REGISTER GO TO STEP [BRANCH TO
STEP]
1. Deb 1 2 3
2. Inc 2 1
3. End
Registr 1 Registr 2 Registr 3
ADD program
Add the contents of register 1 to the contents of register 2
STEP INSTRUCTION REGISTER GO TO STEP [BRANCH TO
STEP]
1. Deb 1 2 3
2. Inc 2 1
3. End
Registr 1 Registr 2 Registr 3
ADD program
Add the contents of register 1 to the contents of register 2
STEP INSTRUCTION REGISTER GO TO STEP [BRANCH TO
STEP]
1. Deb 1 2 3
2. Inc 2 1
3. End
Registr 1 Registr 2 Registr 3
ADD program
Add the contents of register 1 to the contents of register 2
STEP INSTRUCTION REGISTER GO TO STEP [BRANCH TO
STEP]
1. Deb 1 2 3
2. Inc 2 1
3. End
Registr 1 Registr 2 Registr 3
ADD program
Add the contents of register 1 to the contents of register 2
STEP INSTRUCTION REGISTER GO TO STEP [BRANCH TO
STEP]
1. Deb 1 2 3
2. Inc 2 1
3. End
Registr 1 Registr 2 Registr 3
ADD program
Add the contents of register 1 to the contents of register 2
STEP INSTRUCTION REGISTER GO TO STEP [BRANCH TO
STEP]
1. Deb 1 2 3
2. Inc 2 1
3. End
Registr 1 Registr 2 Registr 3
X
ADD program
Add the contents of register 1 to the contents of register 2
STEP INSTRUCTION REGISTER GO TO STEP [BRANCH TO
STEP]
1. Deb 1 2 3
2. Inc 2 1
3. End
Registr 1 Registr 2 Registr 3
X
ADD program
Add the contents of register 1 to the contents of register 2
STEP INSTRUCTION REGISTER GO TO STEP [BRANCH TO
STEP]
1. Deb 1 2 3
2. Inc 2 1
3. End
Registr 1 Registr 2 Registr 3
X
ADD program
Add the contents of register 1 to the contents of register 2
STEP INSTRUCTION REGISTER GO TO STEP [BRANCH TO
STEP]
1. Deb 1 2 3
2. Inc 2 1
3. End
Registr 1 Registr 2 Registr 3
X
ADD program
Add the contents of register 1 to the contents of register 2
STEP INSTRUCTION REGISTER GO TO STEP [BRANCH TO
STEP]
1. Deb 1 2 3
2. Inc 2 1
3. End
Registr 1 Registr 2 Registr 3
MOVE
MOVE program
Add the contents of register 1 to the contents of register 2
STEP INSTRUCTION REGISTER GO TO STEP [BRANCH TO STEP]
1. Deb 3 1 2
2. Deb 2 3 4
3. Inc 3 2
4. End
Registr 1 Registr 2 Registr 3
COPY program
Add the contents of register 1 to the contents of register 2
STEP INSTRUCTION REGISTER GO TO STEP [BRANCH TO STEP]
1. Deb 3 1 2
2. Deb 2 2 3
3. Deb 1 4 6
4. Inc 3 5
5. Inc 2 3
6. Deb 2 7 8
7. Inc 1 6
8. End
Registr 1 Registr 2 Registr 3
Sedm tajemství počítačů
1. Kompetence bez porozumění. Něco - např. register
machine - může provádět dokonalé aritmetické
výpočty, aniž by musel chápat, co dělá.
Kompetence bez porozumění
Sedm tajemství počítačů: první tajemství
Jedná se o distinkci mezi schopností provádět určitou operaci a schopností
"chápat" tuto operaci. Například, když kalkulačka sčítá dvě čísla, dělá to bez
porozumění tomu, co je sčítání, co jsou čísla, nebo proč je to děláno. Je
"kompetentní" ve smyslu, že může provádět výpočty, ale nemá "porozumění",
protože nemá žádný kontext nebo "uvědomění" týkající se těchto výpočtů.
Tento koncept je relevantní v několika disciplínách, včetně kognitivní vědy, filozofie
a umělé inteligence. Zvláště v AI je toto téma často zkoumáno v souvislosti s
otázkami o "uvědomění", "vědomí" a "inteligenci". Dennett tento bod používá k
ukázání, že komplexní chování nebo funkce nevyžadují nutně komplexní "mysl".
2. Co číslo v registru znamená, závisí na
programu, který jsme sestavili.
Co číslo v registru znamená, závisí na programu
Sedm tajemství počítačů: druhé tajemství
Pomocí stavebních kamenů, které jsme již vytvořili, můžeme sestavit
působivější operace. S dostatkem trpělivosti bychom mohli nakreslit blokový
graf a napsat program pro ODMOCNINU čísla v registru 7, nebo program pro
ZJIŠTĚNÍ PRŮMĚRU obsahů registrů 1 až 20.
Zvláště užitečná rutina by prohledala stovku registrů, aby zjistila, zda některý z
nich má určitý obsah, a do registru 101 by vložila číslo adresy tohoto registru.
(Jak by to fungovalo? Do registru 102 vložit číslo cíle a do registru 103 jeho
kopii; vynulovat registr 101 a pak, počínaje registrem 1, odečíst jeho obsah od
obsahu registru 103 (po inkrementaci registru 101) a hledat nulovou odpověď.
Co číslo v registru znamená, závisí na programu
Sedm tajemství počítačů: druhé tajemství
Register machine je pouze mechanismus, který manipuluje s čísly v registrech podle pravidel
definovaných programem. Hodnota v registru nemá "vnitřní" význam; místo toho je její význam
stanoven tím, jak je použita v rámci konkrétního programu.
Například, pokud máme program, který sčítá dvě čísla, číslo v jednom registru může reprezentovat
jedno z těchto sčítaných čísel. Ve druhém programu, který řeší nějakou úplně jinou úlohu, například
vyhledávání největšího společného dělitele (NSD), by toto samé číslo v registru mohlo mít úplně jiný
význam, třeba jeden z čísel, pro která hledáme NSD.
To je podobné jako v programovacích jazycích, kde hodnota uložená v proměnné získává svůj význam v
kontextu konkrétního algoritmu nebo programu. Tento bod zdůrazňuje, že "smysl" nebo "význam" dat v
systému je závislý na tom, jak jsou tato data interpretována v rámci vyššího výpočetního procesu.
3. Protože číslo v registru může znamenat cokoli, znamená
to, že register machine může být v zásadě navržen tak, aby
si "poznamenal" cokoli, aby "rozlišil" jakýkoli vzor nebo
vlastnost, kterou lze spojit s číslem - nebo s řadou čísel.
Protože číslo v registru může znamenat cokoli
Sedm tajemství počítačů: třetí tajemství
Například černobílý obrázek - jakýkoli černobílý obrázek, včetně obrázku této stránky - může být reprezentován
velkou bankou registrů, jedním registrem pro každý pixel, s 0 pro bílé místo a 1 pro černé místo.
Představa, že černobílý obrázek může být reprezentován sadou registrů, kde každý registr odpovídá jednomu
pixelu, je způsob, jakým může register machine "rozlišovat" nebo "poznamenávat" informace na úrovni, která
přesahuje pouhou aritmetiku. Každý registr může obsahovat hodnotu 0 nebo 1, což reprezentuje bílý nebo černý
pixel, a tím se stává jedním 'bodem' ve větším obrazovém vzoru.
To zdůrazňuje, že potenciál registračních strojů není omezen na číselné operace, ale rozšiřuje se na schopnost
reprezentovat a zpracovávat širokou škálu informací. To zahrnuje i vizuální data, text, zvukové vzory atd., za
předpokladu, že lze tyto data kvantifikovat a reprezentovat číselně. Tento koncept je v souladu s Dennettovým
bodem, že registrační stroje mohou být "navrženy tak, aby si 'poznamenaly' cokoli", což dále podtrhuje jejich
univerzálnost a flexibilitu.
4. Protože číslo může znamenat cokoli,
může také znamenat instrukci nebo
adresu.
4. Číslo může vznamenat instrukci nebo adresu
Sedm tajemství počítačů: čtvrté tajemství
Číslo v registru můžeme použít jako symbol instrukce, například ADD
nebo SUBTRACT nebo MOVE nebo SEARCH, a jako symbol adresy
(registrů v počítači), takže do řady registrů můžeme uložit celou
posloupnost instrukcí.
Máme-li pak hlavní program (program A), který dává stroji pokyn, aby
přecházel z registru do registru a prováděl to, co mu daný registr
nařizuje, můžeme do těchto registrů uložit druhý program B. Když
spustíme stroj s programem A, první věc, kterou udělá, je, že se podívá
do registrů, které mu říkají, aby spustil program B, což následně udělá.
4. Číslo může vznamenat instrukci nebo adresu
Sedm tajemství počítačů: čtvrté tajemství
Mějme Program A, který umí provádět 3 instrukce: ADD, SUB, END.
ADD přičte 1 k registru X.
SUB odečte 1 od registru X.
END ukončí program.
Program B je: [ADD, ADD, SUB, END], reprezentovaný jako [1, 1, 2, 3] (nebo jedním velkým číslem 1123).
Program A tedy přečte Program B a provede:
Přičte 1 k registru X.
Přičte 1 k registru X.
Odečte 1 od registru X.
Ukončí program.
4. Číslo může vznamenat instrukci nebo adresu
Sedm tajemství počítačů: čtvrté tajemství
To znamená, že bychom mohli program A jednou provždy uložit v
centrální procesorové jednotce registračního stroje do vyhrazené sady
registrů (mohl by to být "firmware" vypálený do paměti ROM určené
pouze pro čtení) a pak použít program A ke spuštění programů B, C, D
atd. podle toho, jaká čísla vložíme do běžných registrů. Instalací
programu A do našeho registračního stroje z něj uděláme počítač s
uloženými programy.
4. Číslo může vznamenat instrukci nebo adresu
Sedm tajemství počítačů: čtvrté tajemství
Program A dává našemu registračnímu stroji kompetenci věrně provádět jakékoli
instrukce, které vložíme (podle čísel) do jeho registrů. Každý možný program, který
může spustit, se skládá z řady čísel v pořadí, které bude program A konzultovat v
pořadí a provede to, co každé číslo určuje. A pokud vymyslíme systém pro
uvádění těchto instrukcí v jednoznačné podobě (například požadavek, aby jméno
každé instrukce bylo stejně dlouhé - řekněme dvoumístné), můžeme s celou řadou
čísel, která tvoří program B, zacházet řekněme takto,
86, 92, 84, 29, 08, 50, 28, 54, 90, 28, 54, 90 jako jedno velké dlouhé číslo:
869284290850285490285490
4. Číslo může vznamenat instrukci nebo adresu
Sedm tajemství počítačů: čtvrté tajemství
Toto číslo je jak jedinečným "jménem" programu B, tak i samotným programem, který je
po jednotlivých krocích vykonáván programem A. Dalším programem je program
28457029759028752907548927490275424850928428540423, a další je
89082964724902849524988567433904385038824598028545442547
ale většina zajímavých programů by měla mnohem, mnohem delší názvy, dlouhé miliony
číslic. Programy, které máte uložené ve svém notebooku, například textový procesor a
prohlížeč, jsou právě takovými dlouhými čísly, dlouhými mnoho milionů (binárních) číslic.
Program o velikosti 10 megabajtů je řetězec osmdesáti milionů nul a jedniček.
4. Číslo může vznamenat instrukci nebo adresu
Sedm tajemství počítačů: čtvrté tajemství
Z tohoto pohledu není rozdíl mezi daty a programem.
5. Všem možným programům lze přiřadit jedinečné
číslo jako jméno, které pak lze považovat za
seznam instrukcí, jež má univerzální stroj provést.
Univerzální stroj
Sedm tajemství počítačů: páté tajemství
Univerzální Turingův stroj je zařízení s programem A (natvrdo
zadrátovaným, chcete-li), které mu umožňuje "přečíst" svůj program B
z papírové pásky a pak tento program vykonat s použitím čehokoli
jiného, co je na pásce jako data nebo vstup pro program B. Hao
Wangův registrační stroj může vykonat jakýkoli program, který lze
redukovat na aritmetiku a podmíněné větvení, a stejně tak Turingův
Turingův stroj.
Univerzální stroj
Sedm tajemství počítačů: páté tajemství
Jedinečné "číslo" každého programu je zde klíčové, protože funguje jako
identifikátor toho, co program dělá. V teoretickém modelu můžete toto
číslo interpretovat jako něco podobného ke QR kódu nebo čárovému
kódu v reálném světě. Každý QR kód vám poskytne určitou informaci
nebo funkci, pokud jej naskenujete pomocí odpovídajícího zařízení. Ve
stejném duchu, jedinečné "číslo" programu v Turingově stroji nebo
Wangově registračním stroji určuje, co se stane, když program spustíte.
6. Všechna vylepšení počítačů od doby, kdy Turing
vynalezl svůj imaginární stroj s papírovou páskou, jsou
prostě způsoby, jak ho zrychlit.
Všechna vylepšení počítačů…
Sedm tajemství počítačů: šesté tajemství
Například John von Neumann vytvořil architekturu prvního seriózního
pracovního počítače, a aby ho zrychlil, rozšířil okno nebo čtecí hlavu
Turingova stroje z 1 bitu na mnoho bitů najednou. Mnoho raných
počítačů četlo 8bitová "slova" nebo 16bitová "slova" nebo dokonce
12bitová slova.
Všechna vylepšení počítačů…
Sedm tajemství počítačů: šesté tajemství
V tomto bodu Dennet zdůrazňuje, že ačkoliv moderní počítače mohou být výrazně rychlejší a mají
více funkcí než Turingův teoretický model, základní výpočetní schopnosti jsou v podstatě stejné.
Turingův stroj je univerzální model výpočtu; to znamená, že v teorii je schopen vykonat jakýkoli
výpočet, který je proveditelný na jakémkoliv moderním počítači.
Když Turing navrhl svůj stroj, definoval tak teoretické limity toho, co je výpočetně možné. Od té doby
se technologie vyvíjela v oblastech jako rychlost procesorů, kapacita paměti, grafické schopnosti
atd., ale tyto vylepšení jsou v podstatě jen optimalizacemi, které zrychlují procesy, které by teoretický
Turingův stroj mohl vykonat, byť mnohem pomaleji.
Je to podobné jako kdybychom porovnávali první automobil s moderním sportovním autem. Oba
mají čtyři kola, motor a schopnost přepravovat osoby z místa A do místa B. Moderní auto je
rychlejší, pohodlnější a bezpečnější, ale v základním principu "přepravy" se nic nezměnilo. Taková je
i povaha vylepšení v počítačové technologii od dob Turinga: veškerá vylepšení jsou vlastně způsoby,
jak zrychlit nebo optimalizovat to, co bylo již teoreticky možné od počátku.
7. Žádná další tajemství už
neexistují!
Nejsou žádná tajemství…
Sedm tajemství počítačů: sedmé tajemství
Tento bod je ve své podstatě velmi optimistický a předpokládá, že veškeré
"problémy" nebo "výzvy" v oblasti výpočetní teorie nebo praxe jsou otázkami
optimalizace, efektivity nebo implementace, nikoliv zásadního omezení nebo
nového paradigmatu. Je to silné prohlášení o univerzálnosti a úplnosti našeho
současného teoretického rámce pro pochopení výpočtů.
Je však třeba poznamenat, že i když to může být pravda z hlediska klasického
pojetí výpočtu, stále existují otázky o tom, jak tato tradiční rámce vztahují k
novým formám výpočtu, jako je kvantový výpočet, neuromorfické výpočty a další,
které by mohly v budoucnu posunout naše chápání výpočetních možností.
Další odkazy
Další odkazy
Intuition Pumps and Other Tools for Thinking
https://www.youtube.com/watch?v=4Q_mY54hjM0
RodRego - Register Machine Simulation (Ver 1.3)
https://sites.tufts.edu/rodrego/
Děkuju za pozornost
Zvlaštní poděkování patří
Alexanderu Stoytchevovi
http://www.ece.iastate.edu/~alexs/classes/

More Related Content

What's hot

Metadata a metadatové formáty používané v knihovnách
Metadata a metadatové formáty používané v knihovnáchMetadata a metadatové formáty používané v knihovnách
Metadata a metadatové formáty používané v knihovnáchpavluskas
 
5-ΜΑΘΑΙΝΩ ΤΟ POWERPOINT.pptx
5-ΜΑΘΑΙΝΩ ΤΟ POWERPOINT.pptx5-ΜΑΘΑΙΝΩ ΤΟ POWERPOINT.pptx
5-ΜΑΘΑΙΝΩ ΤΟ POWERPOINT.pptxKaterinaKerasta
 
Data Date #3: Jan Tichý - Jak pracovat v BigQuery s daty z Google Analytics 4
Data Date #3: Jan Tichý - Jak pracovat v BigQuery s daty z Google Analytics 4Data Date #3: Jan Tichý - Jak pracovat v BigQuery s daty z Google Analytics 4
Data Date #3: Jan Tichý - Jak pracovat v BigQuery s daty z Google Analytics 4Taste
 
E-mail Restart 2024: Petra Stupková - Legislativa: Příležitosti a skryté hroz...
E-mail Restart 2024: Petra Stupková - Legislativa: Příležitosti a skryté hroz...E-mail Restart 2024: Petra Stupková - Legislativa: Příležitosti a skryté hroz...
E-mail Restart 2024: Petra Stupková - Legislativa: Příležitosti a skryté hroz...Taste
 
υλικό του υπολογιστή
υλικό του υπολογιστή υλικό του υπολογιστή
υλικό του υπολογιστή pkarkaveli
 
αεππ κεφάλαιο 2 βασικές έννοιες αλγορίθμων
αεππ κεφάλαιο 2 βασικές έννοιες αλγορίθμωναεππ κεφάλαιο 2 βασικές έννοιες αλγορίθμων
αεππ κεφάλαιο 2 βασικές έννοιες αλγορίθμωνevoyiatz
 
Επίπεδο δικτύου
Επίπεδο δικτύουΕπίπεδο δικτύου
Επίπεδο δικτύουKaterina Drimili
 
Pamcenje zaboravljanje prezentacija
Pamcenje zaboravljanje prezentacijaPamcenje zaboravljanje prezentacija
Pamcenje zaboravljanje prezentacijaA. D.
 
Project Restart 2022: Karin Fuentesová - Jak stavět startup a nezbláznit se
Project Restart 2022: Karin Fuentesová - Jak stavět startup a nezbláznit seProject Restart 2022: Karin Fuentesová - Jak stavět startup a nezbláznit se
Project Restart 2022: Karin Fuentesová - Jak stavět startup a nezbláznit seTaste
 
Α' Γυμνασίου - Κεφάλαιο 1: Βασικές Έννοιες της Πληροφορικής
Α' Γυμνασίου - Κεφάλαιο 1: Βασικές Έννοιες της Πληροφορικής Α' Γυμνασίου - Κεφάλαιο 1: Βασικές Έννοιες της Πληροφορικής
Α' Γυμνασίου - Κεφάλαιο 1: Βασικές Έννοιες της Πληροφορικής Tasos Papaioannou
 
Ασκήσεις Εργαστηρίου κεφ 1 Λειτουργικά Συστήματα
Ασκήσεις Εργαστηρίου κεφ 1 Λειτουργικά ΣυστήματαΑσκήσεις Εργαστηρίου κεφ 1 Λειτουργικά Συστήματα
Ασκήσεις Εργαστηρίου κεφ 1 Λειτουργικά Συστήματαedioudi
 
Βασικές έννοιες πολυμέσων
Βασικές έννοιες πολυμέσωνΒασικές έννοιες πολυμέσων
Βασικές έννοιες πολυμέσωνNikolas Samaras
 
Αρχεία - Φάκελοι
Αρχεία - Φάκελοι Αρχεία - Φάκελοι
Αρχεία - Φάκελοι kimanou
 
E-mail Restart 2024: Petr Matoušek - Případová studie: E-mailingový hackathon...
E-mail Restart 2024: Petr Matoušek - Případová studie: E-mailingový hackathon...E-mail Restart 2024: Petr Matoušek - Případová studie: E-mailingový hackathon...
E-mail Restart 2024: Petr Matoušek - Případová studie: E-mailingový hackathon...Taste
 
Creative Restart 2023: Vojtěch Prokeš - Mocná kreativa: Jakou hraje roli v ús...
Creative Restart 2023: Vojtěch Prokeš - Mocná kreativa: Jakou hraje roli v ús...Creative Restart 2023: Vojtěch Prokeš - Mocná kreativa: Jakou hraje roli v ús...
Creative Restart 2023: Vojtěch Prokeš - Mocná kreativa: Jakou hraje roli v ús...Taste
 
ΑΕΠΠ κεφ2 μέρος Α Βασικές Εννοιες Αλγορίθμων
ΑΕΠΠ κεφ2 μέρος Α Βασικές Εννοιες ΑλγορίθμωνΑΕΠΠ κεφ2 μέρος Α Βασικές Εννοιες Αλγορίθμων
ΑΕΠΠ κεφ2 μέρος Α Βασικές Εννοιες Αλγορίθμωνevoyiatz
 

What's hot (20)

Metadata a metadatové formáty používané v knihovnách
Metadata a metadatové formáty používané v knihovnáchMetadata a metadatové formáty používané v knihovnách
Metadata a metadatové formáty používané v knihovnách
 
Αναλογικό - Ψηφιακό
Αναλογικό - ΨηφιακόΑναλογικό - Ψηφιακό
Αναλογικό - Ψηφιακό
 
5-ΜΑΘΑΙΝΩ ΤΟ POWERPOINT.pptx
5-ΜΑΘΑΙΝΩ ΤΟ POWERPOINT.pptx5-ΜΑΘΑΙΝΩ ΤΟ POWERPOINT.pptx
5-ΜΑΘΑΙΝΩ ΤΟ POWERPOINT.pptx
 
Data Date #3: Jan Tichý - Jak pracovat v BigQuery s daty z Google Analytics 4
Data Date #3: Jan Tichý - Jak pracovat v BigQuery s daty z Google Analytics 4Data Date #3: Jan Tichý - Jak pracovat v BigQuery s daty z Google Analytics 4
Data Date #3: Jan Tichý - Jak pracovat v BigQuery s daty z Google Analytics 4
 
Κεφ. 9 Πίνακες
Κεφ. 9 ΠίνακεςΚεφ. 9 Πίνακες
Κεφ. 9 Πίνακες
 
Αρχεία Φάκελοι
Αρχεία ΦάκελοιΑρχεία Φάκελοι
Αρχεία Φάκελοι
 
E-mail Restart 2024: Petra Stupková - Legislativa: Příležitosti a skryté hroz...
E-mail Restart 2024: Petra Stupková - Legislativa: Příležitosti a skryté hroz...E-mail Restart 2024: Petra Stupková - Legislativa: Příležitosti a skryté hroz...
E-mail Restart 2024: Petra Stupková - Legislativa: Příležitosti a skryté hroz...
 
υλικό του υπολογιστή
υλικό του υπολογιστή υλικό του υπολογιστή
υλικό του υπολογιστή
 
αεππ κεφάλαιο 2 βασικές έννοιες αλγορίθμων
αεππ κεφάλαιο 2 βασικές έννοιες αλγορίθμωναεππ κεφάλαιο 2 βασικές έννοιες αλγορίθμων
αεππ κεφάλαιο 2 βασικές έννοιες αλγορίθμων
 
Επίπεδο δικτύου
Επίπεδο δικτύουΕπίπεδο δικτύου
Επίπεδο δικτύου
 
Pamcenje zaboravljanje prezentacija
Pamcenje zaboravljanje prezentacijaPamcenje zaboravljanje prezentacija
Pamcenje zaboravljanje prezentacija
 
Project Restart 2022: Karin Fuentesová - Jak stavět startup a nezbláznit se
Project Restart 2022: Karin Fuentesová - Jak stavět startup a nezbláznit seProject Restart 2022: Karin Fuentesová - Jak stavět startup a nezbláznit se
Project Restart 2022: Karin Fuentesová - Jak stavět startup a nezbláznit se
 
Α' Γυμνασίου - Κεφάλαιο 1: Βασικές Έννοιες της Πληροφορικής
Α' Γυμνασίου - Κεφάλαιο 1: Βασικές Έννοιες της Πληροφορικής Α' Γυμνασίου - Κεφάλαιο 1: Βασικές Έννοιες της Πληροφορικής
Α' Γυμνασίου - Κεφάλαιο 1: Βασικές Έννοιες της Πληροφορικής
 
Ασκήσεις Εργαστηρίου κεφ 1 Λειτουργικά Συστήματα
Ασκήσεις Εργαστηρίου κεφ 1 Λειτουργικά ΣυστήματαΑσκήσεις Εργαστηρίου κεφ 1 Λειτουργικά Συστήματα
Ασκήσεις Εργαστηρίου κεφ 1 Λειτουργικά Συστήματα
 
Βασικές έννοιες πολυμέσων
Βασικές έννοιες πολυμέσωνΒασικές έννοιες πολυμέσων
Βασικές έννοιες πολυμέσων
 
Αρχεία - Φάκελοι
Αρχεία - Φάκελοι Αρχεία - Φάκελοι
Αρχεία - Φάκελοι
 
Istorijat razvoja računara
Istorijat razvoja računaraIstorijat razvoja računara
Istorijat razvoja računara
 
E-mail Restart 2024: Petr Matoušek - Případová studie: E-mailingový hackathon...
E-mail Restart 2024: Petr Matoušek - Případová studie: E-mailingový hackathon...E-mail Restart 2024: Petr Matoušek - Případová studie: E-mailingový hackathon...
E-mail Restart 2024: Petr Matoušek - Případová studie: E-mailingový hackathon...
 
Creative Restart 2023: Vojtěch Prokeš - Mocná kreativa: Jakou hraje roli v ús...
Creative Restart 2023: Vojtěch Prokeš - Mocná kreativa: Jakou hraje roli v ús...Creative Restart 2023: Vojtěch Prokeš - Mocná kreativa: Jakou hraje roli v ús...
Creative Restart 2023: Vojtěch Prokeš - Mocná kreativa: Jakou hraje roli v ús...
 
ΑΕΠΠ κεφ2 μέρος Α Βασικές Εννοιες Αλγορίθμων
ΑΕΠΠ κεφ2 μέρος Α Βασικές Εννοιες ΑλγορίθμωνΑΕΠΠ κεφ2 μέρος Α Βασικές Εννοιες Αλγορίθμων
ΑΕΠΠ κεφ2 μέρος Α Βασικές Εννοιες Αλγορίθμων
 

More from Josef Šlerka

LLM a mixed methods v humanitních vědách
LLM a mixed methods v humanitních vědáchLLM a mixed methods v humanitních vědách
LLM a mixed methods v humanitních vědáchJosef Šlerka
 
Vliv AI na mediální trh
Vliv AI na mediální trhVliv AI na mediální trh
Vliv AI na mediální trhJosef Šlerka
 
Co je to datova novinarina
Co je to datova novinarinaCo je to datova novinarina
Co je to datova novinarinaJosef Šlerka
 
Algoritmy a sociální sítě - stručný úvod
Algoritmy a sociální sítě - stručný úvodAlgoritmy a sociální sítě - stručný úvod
Algoritmy a sociální sítě - stručný úvodJosef Šlerka
 
Parallel Polis Revisited: Way from concept of Parallel Polis to Distributed R...
Parallel Polis Revisited: Way from concept of Parallel Polis to Distributed R...Parallel Polis Revisited: Way from concept of Parallel Polis to Distributed R...
Parallel Polis Revisited: Way from concept of Parallel Polis to Distributed R...Josef Šlerka
 
Dezinformační weby a zpravodajství v ČR
Dezinformační weby a zpravodajství v ČRDezinformační weby a zpravodajství v ČR
Dezinformační weby a zpravodajství v ČRJosef Šlerka
 
INFOWAR IN CZECH REPUBLIC
INFOWAR IN CZECH REPUBLICINFOWAR IN CZECH REPUBLIC
INFOWAR IN CZECH REPUBLICJosef Šlerka
 
Česká média dnes aneb Pokus o kontext k aktuální debatě
Česká média dnes aneb Pokus o kontext k aktuální debatěČeská média dnes aneb Pokus o kontext k aktuální debatě
Česká média dnes aneb Pokus o kontext k aktuální debatěJosef Šlerka
 
Svět viděný cizíma očima
Svět viděný cizíma očimaSvět viděný cizíma očima
Svět viděný cizíma očimaJosef Šlerka
 
Do Birds of a Feather Flock Together?
Do Birds of a Feather Flock Together?Do Birds of a Feather Flock Together?
Do Birds of a Feather Flock Together?Josef Šlerka
 
Projekt Navigátor - datová část
Projekt Navigátor - datová částProjekt Navigátor - datová část
Projekt Navigátor - datová částJosef Šlerka
 
Stručná zpráva o jednom experimentu
Stručná zpráva o jednom experimentuStručná zpráva o jednom experimentu
Stručná zpráva o jednom experimentuJosef Šlerka
 
Wikipedie ve službách zla?!
Wikipedie ve službách zla?!Wikipedie ve službách zla?!
Wikipedie ve službách zla?!Josef Šlerka
 
Mediální krajinka?
Mediální krajinka?Mediální krajinka?
Mediální krajinka?Josef Šlerka
 
Facebook data mining - case study
Facebook data mining - case studyFacebook data mining - case study
Facebook data mining - case studyJosef Šlerka
 
Facebookové fasády
Facebookové fasádyFacebookové fasády
Facebookové fasádyJosef Šlerka
 

More from Josef Šlerka (20)

LLM a mixed methods v humanitních vědách
LLM a mixed methods v humanitních vědáchLLM a mixed methods v humanitních vědách
LLM a mixed methods v humanitních vědách
 
Vliv AI na mediální trh
Vliv AI na mediální trhVliv AI na mediální trh
Vliv AI na mediální trh
 
Co je to datova novinarina
Co je to datova novinarinaCo je to datova novinarina
Co je to datova novinarina
 
Algoritmy a sociální sítě - stručný úvod
Algoritmy a sociální sítě - stručný úvodAlgoritmy a sociální sítě - stručný úvod
Algoritmy a sociální sítě - stručný úvod
 
Atlas konspirací
Atlas konspiracíAtlas konspirací
Atlas konspirací
 
Parallel Polis Revisited: Way from concept of Parallel Polis to Distributed R...
Parallel Polis Revisited: Way from concept of Parallel Polis to Distributed R...Parallel Polis Revisited: Way from concept of Parallel Polis to Distributed R...
Parallel Polis Revisited: Way from concept of Parallel Polis to Distributed R...
 
Dezinformační weby a zpravodajství v ČR
Dezinformační weby a zpravodajství v ČRDezinformační weby a zpravodajství v ČR
Dezinformační weby a zpravodajství v ČR
 
INFOWAR IN CZECH REPUBLIC
INFOWAR IN CZECH REPUBLICINFOWAR IN CZECH REPUBLIC
INFOWAR IN CZECH REPUBLIC
 
Česká média dnes aneb Pokus o kontext k aktuální debatě
Česká média dnes aneb Pokus o kontext k aktuální debatěČeská média dnes aneb Pokus o kontext k aktuální debatě
Česká média dnes aneb Pokus o kontext k aktuální debatě
 
Svět viděný cizíma očima
Svět viděný cizíma očimaSvět viděný cizíma očima
Svět viděný cizíma očima
 
Do Birds of a Feather Flock Together?
Do Birds of a Feather Flock Together?Do Birds of a Feather Flock Together?
Do Birds of a Feather Flock Together?
 
Projekt Navigátor - datová část
Projekt Navigátor - datová částProjekt Navigátor - datová část
Projekt Navigátor - datová část
 
AI a žurnalistika
AI a žurnalistikaAI a žurnalistika
AI a žurnalistika
 
Stručná zpráva o jednom experimentu
Stručná zpráva o jednom experimentuStručná zpráva o jednom experimentu
Stručná zpráva o jednom experimentu
 
Volba a metoda
Volba a metodaVolba a metoda
Volba a metoda
 
Wikipedie ve službách zla?!
Wikipedie ve službách zla?!Wikipedie ve službách zla?!
Wikipedie ve službách zla?!
 
Mediální krajinka?
Mediální krajinka?Mediální krajinka?
Mediální krajinka?
 
Facebook data mining - case study
Facebook data mining - case studyFacebook data mining - case study
Facebook data mining - case study
 
Facebookové fasády
Facebookové fasádyFacebookové fasády
Facebookové fasády
 
Propaganda
PropagandaPropaganda
Propaganda
 

Recently uploaded

Project Restart 2024: Jan Řezáč - Nahradí AI projektové manažery?
Project Restart 2024: Jan Řezáč - Nahradí AI projektové manažery?Project Restart 2024: Jan Řezáč - Nahradí AI projektové manažery?
Project Restart 2024: Jan Řezáč - Nahradí AI projektové manažery?Taste
 
Project Restart 2024: Pavel Minář - Procesy pro lepší projekty
Project Restart 2024: Pavel Minář - Procesy pro lepší projektyProject Restart 2024: Pavel Minář - Procesy pro lepší projekty
Project Restart 2024: Pavel Minář - Procesy pro lepší projektyTaste
 
E-mail Date #2: Markéta Kryštůfková - Multikanálová retence: využijte data o ...
E-mail Date #2: Markéta Kryštůfková - Multikanálová retence: využijte data o ...E-mail Date #2: Markéta Kryštůfková - Multikanálová retence: využijte data o ...
E-mail Date #2: Markéta Kryštůfková - Multikanálová retence: využijte data o ...Taste
 
E-mail Date #2: Jakub Kalvoda a Barbora Pavlíčková - Jak si udržet skvělé výs...
E-mail Date #2: Jakub Kalvoda a Barbora Pavlíčková - Jak si udržet skvělé výs...E-mail Date #2: Jakub Kalvoda a Barbora Pavlíčková - Jak si udržet skvělé výs...
E-mail Date #2: Jakub Kalvoda a Barbora Pavlíčková - Jak si udržet skvělé výs...Taste
 
Project Restart 2024: Lenka Auerová - Budování holistické organizace
Project Restart 2024: Lenka Auerová - Budování holistické organizaceProject Restart 2024: Lenka Auerová - Budování holistické organizace
Project Restart 2024: Lenka Auerová - Budování holistické organizaceTaste
 
E-mail Date #2: Jan Krčmář - Retence a RFM: jak pomocí e-mailingu navýšit hod...
E-mail Date #2: Jan Krčmář - Retence a RFM: jak pomocí e-mailingu navýšit hod...E-mail Date #2: Jan Krčmář - Retence a RFM: jak pomocí e-mailingu navýšit hod...
E-mail Date #2: Jan Krčmář - Retence a RFM: jak pomocí e-mailingu navýšit hod...Taste
 
Project Restart 2024: Martin Vasquez - Inteligence je schopnost reagovat na z...
Project Restart 2024: Martin Vasquez - Inteligence je schopnost reagovat na z...Project Restart 2024: Martin Vasquez - Inteligence je schopnost reagovat na z...
Project Restart 2024: Martin Vasquez - Inteligence je schopnost reagovat na z...Taste
 
Project Restart 2024: Karel Smutný - Specializace patří do 19. století
Project Restart 2024: Karel Smutný - Specializace patří do 19. stoletíProject Restart 2024: Karel Smutný - Specializace patří do 19. století
Project Restart 2024: Karel Smutný - Specializace patří do 19. stoletíTaste
 
Project Restart 2024: Hana Březinová - Psychologické tipy pro práci s lidmi n...
Project Restart 2024: Hana Březinová - Psychologické tipy pro práci s lidmi n...Project Restart 2024: Hana Březinová - Psychologické tipy pro práci s lidmi n...
Project Restart 2024: Hana Březinová - Psychologické tipy pro práci s lidmi n...Taste
 
E-mail Date #2: Kazimír Krysta - CDP jako stavební kámen retence
E-mail Date #2: Kazimír Krysta - CDP jako stavební kámen retenceE-mail Date #2: Kazimír Krysta - CDP jako stavební kámen retence
E-mail Date #2: Kazimír Krysta - CDP jako stavební kámen retenceTaste
 

Recently uploaded (10)

Project Restart 2024: Jan Řezáč - Nahradí AI projektové manažery?
Project Restart 2024: Jan Řezáč - Nahradí AI projektové manažery?Project Restart 2024: Jan Řezáč - Nahradí AI projektové manažery?
Project Restart 2024: Jan Řezáč - Nahradí AI projektové manažery?
 
Project Restart 2024: Pavel Minář - Procesy pro lepší projekty
Project Restart 2024: Pavel Minář - Procesy pro lepší projektyProject Restart 2024: Pavel Minář - Procesy pro lepší projekty
Project Restart 2024: Pavel Minář - Procesy pro lepší projekty
 
E-mail Date #2: Markéta Kryštůfková - Multikanálová retence: využijte data o ...
E-mail Date #2: Markéta Kryštůfková - Multikanálová retence: využijte data o ...E-mail Date #2: Markéta Kryštůfková - Multikanálová retence: využijte data o ...
E-mail Date #2: Markéta Kryštůfková - Multikanálová retence: využijte data o ...
 
E-mail Date #2: Jakub Kalvoda a Barbora Pavlíčková - Jak si udržet skvělé výs...
E-mail Date #2: Jakub Kalvoda a Barbora Pavlíčková - Jak si udržet skvělé výs...E-mail Date #2: Jakub Kalvoda a Barbora Pavlíčková - Jak si udržet skvělé výs...
E-mail Date #2: Jakub Kalvoda a Barbora Pavlíčková - Jak si udržet skvělé výs...
 
Project Restart 2024: Lenka Auerová - Budování holistické organizace
Project Restart 2024: Lenka Auerová - Budování holistické organizaceProject Restart 2024: Lenka Auerová - Budování holistické organizace
Project Restart 2024: Lenka Auerová - Budování holistické organizace
 
E-mail Date #2: Jan Krčmář - Retence a RFM: jak pomocí e-mailingu navýšit hod...
E-mail Date #2: Jan Krčmář - Retence a RFM: jak pomocí e-mailingu navýšit hod...E-mail Date #2: Jan Krčmář - Retence a RFM: jak pomocí e-mailingu navýšit hod...
E-mail Date #2: Jan Krčmář - Retence a RFM: jak pomocí e-mailingu navýšit hod...
 
Project Restart 2024: Martin Vasquez - Inteligence je schopnost reagovat na z...
Project Restart 2024: Martin Vasquez - Inteligence je schopnost reagovat na z...Project Restart 2024: Martin Vasquez - Inteligence je schopnost reagovat na z...
Project Restart 2024: Martin Vasquez - Inteligence je schopnost reagovat na z...
 
Project Restart 2024: Karel Smutný - Specializace patří do 19. století
Project Restart 2024: Karel Smutný - Specializace patří do 19. stoletíProject Restart 2024: Karel Smutný - Specializace patří do 19. století
Project Restart 2024: Karel Smutný - Specializace patří do 19. století
 
Project Restart 2024: Hana Březinová - Psychologické tipy pro práci s lidmi n...
Project Restart 2024: Hana Březinová - Psychologické tipy pro práci s lidmi n...Project Restart 2024: Hana Březinová - Psychologické tipy pro práci s lidmi n...
Project Restart 2024: Hana Březinová - Psychologické tipy pro práci s lidmi n...
 
E-mail Date #2: Kazimír Krysta - CDP jako stavební kámen retence
E-mail Date #2: Kazimír Krysta - CDP jako stavební kámen retenceE-mail Date #2: Kazimír Krysta - CDP jako stavební kámen retence
E-mail Date #2: Kazimír Krysta - CDP jako stavební kámen retence
 

Informacni veda: Pocitace

  • 1. Josef Šlerka Daniel Dennet: Register machine a sedm tajemství počítače Úvod do informační vědy pro netechnické obory
  • 2. DANIEL C. DENNET: THE SEVEN SECRETS OF COMPUTER POWER REVEALED
  • 3. Daniel Dennet o register machine INTUITION PUMPS AND OTHER TOOLS FOR THINKING Geniální myšlenku registračního stroje představil na úsvitu počítačového věku logik Hao Wang (1957), mimochodem žák Kurta Gödela a filozof. Je to elegantní nástroj pro myšlení a měli byste ho mít ve své vlastní výbavě. Není zdaleka tak známý, jak by měl být. Registrový stroj (register machine) je idealizovaný, imaginární (a dokonale možný) počítač, který se skládá pouze z určitého (konečného počtu) registrů a výpočetní jednotky.
  • 4. Daniel Dennet o register machine INTUITION PUMPS AND OTHER TOOLS FOR THINKING Registry jsou místa v paměti, každé s jedinečnou adresou (registr 1, registr 2, registr 3 atd.) a každé může mít jako obsah jedno celé číslo (0, 1, 2, 3, . . .). Každý registr si můžete představit jako velkou krabici, která může obsahovat libovolný počet zrnek, od 0 do nekonečna , ať už je krabice jakkoli velká. Obvykle uvažujeme, že krabice mohou jako obsah obsahovat libovolné celé číslo, což by ovšem vyžadovalo nekonečně velké krabice. Pro naše účely postačí velmi velké krabice.
  • 5. Daniel Dennet o register machine INTUITION PUMPS AND OTHER TOOLS FOR THINKING Zpracovávající jednotka (processing unit) je vybavena pouze třemi jednoduchými kompetencemi, třemi "instrukcemi", které může "následovat", a to postupně, po jedné. Jakákoli posloupnost těchto instrukcí je program a každá instrukce má číslo, které ji identifikuje.
  • 6. Daniel Dennet o register machine INTUITION PUMPS AND OTHER TOOLS FOR THINKING Instrukce: Inkrementace registru n (přičtení 1 k obsahu registru n; vložení fazole do krabice n) a přechod k dalšímu kroku, kroku m. Dekrementace registru n (odečtení 1 od obsahu registru n; odebrání jedné fazole z krabice n) a přechod na další krok, krok m. Konec. To znamená, že se může zastavit nebo vypnout.
  • 7. Daniel Dennet o register machine INTUITION PUMPS AND OTHER TOOLS FOR THINKING Instrukce Decrement funguje stejně jako instrukce Increment, až na jednu veledůležitou komplikaci: Co má dělat, když je číslo v registru n rovno 0? Nemůže od něj odečíst 1 (registry nemohou mít jako obsah záporná celá čísla; z prázdné krabice nemůžete vyndat fazoli), a tak se musí rozhodnout pro Branch. To znamená, že musí přejít na jiné místo v programu, aby získal další instrukci. To vyžaduje, aby každá instrukce Decrement vypsala místo v programu, na které se má jít dál, pokud má aktuální registr obsah 0.
  • 8. Daniel Dennet o register machine INTUITION PUMPS AND OTHER TOOLS FOR THINKING Zde je tedy náš soupis všeho, co umí registrační stroj, s praktickými krátkými názvy: End, Inc a Deb (pro Decrement-or-Branch). Na první pohled by se mohlo zdát, že takový jednoduchý stroj nemůže dělat nic moc zajímavého; jediné, co umí, je vložit fazoli do pole nebo ji z pole vyjmout (pokud ji najde, a větvit na jinou instrukci, pokud nemůže). Ve skutečnosti však dokáže spočítat cokoli, co dokáže spočítat jakýkoli počítač.
  • 9. Co je to registr? Register machine
  • 10. Co můžeme uložit do registru? Register machine
  • 11. ADD program Add the contents of register 1 to the contents of register 2 Registr 1 Registr 2 Registr 3 STEP INSTRUCTION REGISTER GO TO STEP [BRANCH TO STEP] 1. Deb 1 2 3 2. Inc 2 1 3. End
  • 12. ADD program Add the contents of register 1 to the contents of register 2 Registr 1 Registr 2 Registr 3 STEP INSTRUCTION REGISTER GO TO STEP [BRANCH TO STEP] 1. Deb 1 2 3 2. Inc 2 1 3. End
  • 13. ADD program Add the contents of register 1 to the contents of register 2 STEP INSTRUCTION REGISTER GO TO STEP [BRANCH TO STEP] 1. Deb 1 2 3 2. Inc 2 1 3. End Registr 1 Registr 2 Registr 3
  • 14. ADD program Add the contents of register 1 to the contents of register 2 STEP INSTRUCTION REGISTER GO TO STEP [BRANCH TO STEP] 1. Deb 1 2 3 2. Inc 2 1 3. End Registr 1 Registr 2 Registr 3
  • 15. ADD program Add the contents of register 1 to the contents of register 2 STEP INSTRUCTION REGISTER GO TO STEP [BRANCH TO STEP] 1. Deb 1 2 3 2. Inc 2 1 3. End Registr 1 Registr 2 Registr 3
  • 16. ADD program Add the contents of register 1 to the contents of register 2 STEP INSTRUCTION REGISTER GO TO STEP [BRANCH TO STEP] 1. Deb 1 2 3 2. Inc 2 1 3. End Registr 1 Registr 2 Registr 3
  • 17. ADD program Add the contents of register 1 to the contents of register 2 STEP INSTRUCTION REGISTER GO TO STEP [BRANCH TO STEP] 1. Deb 1 2 3 2. Inc 2 1 3. End Registr 1 Registr 2 Registr 3
  • 18. ADD program Add the contents of register 1 to the contents of register 2 STEP INSTRUCTION REGISTER GO TO STEP [BRANCH TO STEP] 1. Deb 1 2 3 2. Inc 2 1 3. End Registr 1 Registr 2 Registr 3
  • 19. ADD program Add the contents of register 1 to the contents of register 2 STEP INSTRUCTION REGISTER GO TO STEP [BRANCH TO STEP] 1. Deb 1 2 3 2. Inc 2 1 3. End Registr 1 Registr 2 Registr 3
  • 20. ADD program Add the contents of register 1 to the contents of register 2 STEP INSTRUCTION REGISTER GO TO STEP [BRANCH TO STEP] 1. Deb 1 2 3 2. Inc 2 1 3. End Registr 1 Registr 2 Registr 3
  • 21. ADD program Add the contents of register 1 to the contents of register 2 STEP INSTRUCTION REGISTER GO TO STEP [BRANCH TO STEP] 1. Deb 1 2 3 2. Inc 2 1 3. End Registr 1 Registr 2 Registr 3
  • 22. ADD program Add the contents of register 1 to the contents of register 2 STEP INSTRUCTION REGISTER GO TO STEP [BRANCH TO STEP] 1. Deb 1 2 3 2. Inc 2 1 3. End Registr 1 Registr 2 Registr 3
  • 23. ADD program Add the contents of register 1 to the contents of register 2 STEP INSTRUCTION REGISTER GO TO STEP [BRANCH TO STEP] 1. Deb 1 2 3 2. Inc 2 1 3. End Registr 1 Registr 2 Registr 3
  • 24. ADD program Add the contents of register 1 to the contents of register 2 STEP INSTRUCTION REGISTER GO TO STEP [BRANCH TO STEP] 1. Deb 1 2 3 2. Inc 2 1 3. End Registr 1 Registr 2 Registr 3
  • 25. ADD program Add the contents of register 1 to the contents of register 2 STEP INSTRUCTION REGISTER GO TO STEP [BRANCH TO STEP] 1. Deb 1 2 3 2. Inc 2 1 3. End Registr 1 Registr 2 Registr 3
  • 26. ADD program Add the contents of register 1 to the contents of register 2 STEP INSTRUCTION REGISTER GO TO STEP [BRANCH TO STEP] 1. Deb 1 2 3 2. Inc 2 1 3. End Registr 1 Registr 2 Registr 3
  • 27. ADD program Add the contents of register 1 to the contents of register 2 STEP INSTRUCTION REGISTER GO TO STEP [BRANCH TO STEP] 1. Deb 1 2 3 2. Inc 2 1 3. End Registr 1 Registr 2 Registr 3
  • 28. ADD program Add the contents of register 1 to the contents of register 2 STEP INSTRUCTION REGISTER GO TO STEP [BRANCH TO STEP] 1. Deb 1 2 3 2. Inc 2 1 3. End Registr 1 Registr 2 Registr 3
  • 29. ADD program Add the contents of register 1 to the contents of register 2 STEP INSTRUCTION REGISTER GO TO STEP [BRANCH TO STEP] 1. Deb 1 2 3 2. Inc 2 1 3. End Registr 1 Registr 2 Registr 3
  • 30. ADD program Add the contents of register 1 to the contents of register 2 STEP INSTRUCTION REGISTER GO TO STEP [BRANCH TO STEP] 1. Deb 1 2 3 2. Inc 2 1 3. End Registr 1 Registr 2 Registr 3
  • 31. ADD program Add the contents of register 1 to the contents of register 2 STEP INSTRUCTION REGISTER GO TO STEP [BRANCH TO STEP] 1. Deb 1 2 3 2. Inc 2 1 3. End Registr 1 Registr 2 Registr 3
  • 32. ADD program Add the contents of register 1 to the contents of register 2 STEP INSTRUCTION REGISTER GO TO STEP [BRANCH TO STEP] 1. Deb 1 2 3 2. Inc 2 1 3. End Registr 1 Registr 2 Registr 3
  • 33. ADD program Add the contents of register 1 to the contents of register 2 STEP INSTRUCTION REGISTER GO TO STEP [BRANCH TO STEP] 1. Deb 1 2 3 2. Inc 2 1 3. End Registr 1 Registr 2 Registr 3
  • 34. ADD program Add the contents of register 1 to the contents of register 2 STEP INSTRUCTION REGISTER GO TO STEP [BRANCH TO STEP] 1. Deb 1 2 3 2. Inc 2 1 3. End Registr 1 Registr 2 Registr 3
  • 35. ADD program Add the contents of register 1 to the contents of register 2 STEP INSTRUCTION REGISTER GO TO STEP [BRANCH TO STEP] 1. Deb 1 2 3 2. Inc 2 1 3. End Registr 1 Registr 2 Registr 3 X
  • 36. ADD program Add the contents of register 1 to the contents of register 2 STEP INSTRUCTION REGISTER GO TO STEP [BRANCH TO STEP] 1. Deb 1 2 3 2. Inc 2 1 3. End Registr 1 Registr 2 Registr 3 X
  • 37. ADD program Add the contents of register 1 to the contents of register 2 STEP INSTRUCTION REGISTER GO TO STEP [BRANCH TO STEP] 1. Deb 1 2 3 2. Inc 2 1 3. End Registr 1 Registr 2 Registr 3 X
  • 38. ADD program Add the contents of register 1 to the contents of register 2 STEP INSTRUCTION REGISTER GO TO STEP [BRANCH TO STEP] 1. Deb 1 2 3 2. Inc 2 1 3. End Registr 1 Registr 2 Registr 3 X
  • 39. ADD program Add the contents of register 1 to the contents of register 2 STEP INSTRUCTION REGISTER GO TO STEP [BRANCH TO STEP] 1. Deb 1 2 3 2. Inc 2 1 3. End Registr 1 Registr 2 Registr 3
  • 40. MOVE
  • 41. MOVE program Add the contents of register 1 to the contents of register 2 STEP INSTRUCTION REGISTER GO TO STEP [BRANCH TO STEP] 1. Deb 3 1 2 2. Deb 2 3 4 3. Inc 3 2 4. End Registr 1 Registr 2 Registr 3
  • 42. COPY program Add the contents of register 1 to the contents of register 2 STEP INSTRUCTION REGISTER GO TO STEP [BRANCH TO STEP] 1. Deb 3 1 2 2. Deb 2 2 3 3. Deb 1 4 6 4. Inc 3 5 5. Inc 2 3 6. Deb 2 7 8 7. Inc 1 6 8. End Registr 1 Registr 2 Registr 3
  • 44. 1. Kompetence bez porozumění. Něco - např. register machine - může provádět dokonalé aritmetické výpočty, aniž by musel chápat, co dělá.
  • 45. Kompetence bez porozumění Sedm tajemství počítačů: první tajemství Jedná se o distinkci mezi schopností provádět určitou operaci a schopností "chápat" tuto operaci. Například, když kalkulačka sčítá dvě čísla, dělá to bez porozumění tomu, co je sčítání, co jsou čísla, nebo proč je to děláno. Je "kompetentní" ve smyslu, že může provádět výpočty, ale nemá "porozumění", protože nemá žádný kontext nebo "uvědomění" týkající se těchto výpočtů. Tento koncept je relevantní v několika disciplínách, včetně kognitivní vědy, filozofie a umělé inteligence. Zvláště v AI je toto téma často zkoumáno v souvislosti s otázkami o "uvědomění", "vědomí" a "inteligenci". Dennett tento bod používá k ukázání, že komplexní chování nebo funkce nevyžadují nutně komplexní "mysl".
  • 46. 2. Co číslo v registru znamená, závisí na programu, který jsme sestavili.
  • 47. Co číslo v registru znamená, závisí na programu Sedm tajemství počítačů: druhé tajemství Pomocí stavebních kamenů, které jsme již vytvořili, můžeme sestavit působivější operace. S dostatkem trpělivosti bychom mohli nakreslit blokový graf a napsat program pro ODMOCNINU čísla v registru 7, nebo program pro ZJIŠTĚNÍ PRŮMĚRU obsahů registrů 1 až 20. Zvláště užitečná rutina by prohledala stovku registrů, aby zjistila, zda některý z nich má určitý obsah, a do registru 101 by vložila číslo adresy tohoto registru. (Jak by to fungovalo? Do registru 102 vložit číslo cíle a do registru 103 jeho kopii; vynulovat registr 101 a pak, počínaje registrem 1, odečíst jeho obsah od obsahu registru 103 (po inkrementaci registru 101) a hledat nulovou odpověď.
  • 48. Co číslo v registru znamená, závisí na programu Sedm tajemství počítačů: druhé tajemství Register machine je pouze mechanismus, který manipuluje s čísly v registrech podle pravidel definovaných programem. Hodnota v registru nemá "vnitřní" význam; místo toho je její význam stanoven tím, jak je použita v rámci konkrétního programu. Například, pokud máme program, který sčítá dvě čísla, číslo v jednom registru může reprezentovat jedno z těchto sčítaných čísel. Ve druhém programu, který řeší nějakou úplně jinou úlohu, například vyhledávání největšího společného dělitele (NSD), by toto samé číslo v registru mohlo mít úplně jiný význam, třeba jeden z čísel, pro která hledáme NSD. To je podobné jako v programovacích jazycích, kde hodnota uložená v proměnné získává svůj význam v kontextu konkrétního algoritmu nebo programu. Tento bod zdůrazňuje, že "smysl" nebo "význam" dat v systému je závislý na tom, jak jsou tato data interpretována v rámci vyššího výpočetního procesu.
  • 49. 3. Protože číslo v registru může znamenat cokoli, znamená to, že register machine může být v zásadě navržen tak, aby si "poznamenal" cokoli, aby "rozlišil" jakýkoli vzor nebo vlastnost, kterou lze spojit s číslem - nebo s řadou čísel.
  • 50. Protože číslo v registru může znamenat cokoli Sedm tajemství počítačů: třetí tajemství Například černobílý obrázek - jakýkoli černobílý obrázek, včetně obrázku této stránky - může být reprezentován velkou bankou registrů, jedním registrem pro každý pixel, s 0 pro bílé místo a 1 pro černé místo. Představa, že černobílý obrázek může být reprezentován sadou registrů, kde každý registr odpovídá jednomu pixelu, je způsob, jakým může register machine "rozlišovat" nebo "poznamenávat" informace na úrovni, která přesahuje pouhou aritmetiku. Každý registr může obsahovat hodnotu 0 nebo 1, což reprezentuje bílý nebo černý pixel, a tím se stává jedním 'bodem' ve větším obrazovém vzoru. To zdůrazňuje, že potenciál registračních strojů není omezen na číselné operace, ale rozšiřuje se na schopnost reprezentovat a zpracovávat širokou škálu informací. To zahrnuje i vizuální data, text, zvukové vzory atd., za předpokladu, že lze tyto data kvantifikovat a reprezentovat číselně. Tento koncept je v souladu s Dennettovým bodem, že registrační stroje mohou být "navrženy tak, aby si 'poznamenaly' cokoli", což dále podtrhuje jejich univerzálnost a flexibilitu.
  • 51. 4. Protože číslo může znamenat cokoli, může také znamenat instrukci nebo adresu.
  • 52. 4. Číslo může vznamenat instrukci nebo adresu Sedm tajemství počítačů: čtvrté tajemství Číslo v registru můžeme použít jako symbol instrukce, například ADD nebo SUBTRACT nebo MOVE nebo SEARCH, a jako symbol adresy (registrů v počítači), takže do řady registrů můžeme uložit celou posloupnost instrukcí. Máme-li pak hlavní program (program A), který dává stroji pokyn, aby přecházel z registru do registru a prováděl to, co mu daný registr nařizuje, můžeme do těchto registrů uložit druhý program B. Když spustíme stroj s programem A, první věc, kterou udělá, je, že se podívá do registrů, které mu říkají, aby spustil program B, což následně udělá.
  • 53. 4. Číslo může vznamenat instrukci nebo adresu Sedm tajemství počítačů: čtvrté tajemství Mějme Program A, který umí provádět 3 instrukce: ADD, SUB, END. ADD přičte 1 k registru X. SUB odečte 1 od registru X. END ukončí program. Program B je: [ADD, ADD, SUB, END], reprezentovaný jako [1, 1, 2, 3] (nebo jedním velkým číslem 1123). Program A tedy přečte Program B a provede: Přičte 1 k registru X. Přičte 1 k registru X. Odečte 1 od registru X. Ukončí program.
  • 54. 4. Číslo může vznamenat instrukci nebo adresu Sedm tajemství počítačů: čtvrté tajemství To znamená, že bychom mohli program A jednou provždy uložit v centrální procesorové jednotce registračního stroje do vyhrazené sady registrů (mohl by to být "firmware" vypálený do paměti ROM určené pouze pro čtení) a pak použít program A ke spuštění programů B, C, D atd. podle toho, jaká čísla vložíme do běžných registrů. Instalací programu A do našeho registračního stroje z něj uděláme počítač s uloženými programy.
  • 55. 4. Číslo může vznamenat instrukci nebo adresu Sedm tajemství počítačů: čtvrté tajemství Program A dává našemu registračnímu stroji kompetenci věrně provádět jakékoli instrukce, které vložíme (podle čísel) do jeho registrů. Každý možný program, který může spustit, se skládá z řady čísel v pořadí, které bude program A konzultovat v pořadí a provede to, co každé číslo určuje. A pokud vymyslíme systém pro uvádění těchto instrukcí v jednoznačné podobě (například požadavek, aby jméno každé instrukce bylo stejně dlouhé - řekněme dvoumístné), můžeme s celou řadou čísel, která tvoří program B, zacházet řekněme takto, 86, 92, 84, 29, 08, 50, 28, 54, 90, 28, 54, 90 jako jedno velké dlouhé číslo: 869284290850285490285490
  • 56. 4. Číslo může vznamenat instrukci nebo adresu Sedm tajemství počítačů: čtvrté tajemství Toto číslo je jak jedinečným "jménem" programu B, tak i samotným programem, který je po jednotlivých krocích vykonáván programem A. Dalším programem je program 28457029759028752907548927490275424850928428540423, a další je 89082964724902849524988567433904385038824598028545442547 ale většina zajímavých programů by měla mnohem, mnohem delší názvy, dlouhé miliony číslic. Programy, které máte uložené ve svém notebooku, například textový procesor a prohlížeč, jsou právě takovými dlouhými čísly, dlouhými mnoho milionů (binárních) číslic. Program o velikosti 10 megabajtů je řetězec osmdesáti milionů nul a jedniček.
  • 57. 4. Číslo může vznamenat instrukci nebo adresu Sedm tajemství počítačů: čtvrté tajemství Z tohoto pohledu není rozdíl mezi daty a programem.
  • 58. 5. Všem možným programům lze přiřadit jedinečné číslo jako jméno, které pak lze považovat za seznam instrukcí, jež má univerzální stroj provést.
  • 59. Univerzální stroj Sedm tajemství počítačů: páté tajemství Univerzální Turingův stroj je zařízení s programem A (natvrdo zadrátovaným, chcete-li), které mu umožňuje "přečíst" svůj program B z papírové pásky a pak tento program vykonat s použitím čehokoli jiného, co je na pásce jako data nebo vstup pro program B. Hao Wangův registrační stroj může vykonat jakýkoli program, který lze redukovat na aritmetiku a podmíněné větvení, a stejně tak Turingův Turingův stroj.
  • 60. Univerzální stroj Sedm tajemství počítačů: páté tajemství Jedinečné "číslo" každého programu je zde klíčové, protože funguje jako identifikátor toho, co program dělá. V teoretickém modelu můžete toto číslo interpretovat jako něco podobného ke QR kódu nebo čárovému kódu v reálném světě. Každý QR kód vám poskytne určitou informaci nebo funkci, pokud jej naskenujete pomocí odpovídajícího zařízení. Ve stejném duchu, jedinečné "číslo" programu v Turingově stroji nebo Wangově registračním stroji určuje, co se stane, když program spustíte.
  • 61. 6. Všechna vylepšení počítačů od doby, kdy Turing vynalezl svůj imaginární stroj s papírovou páskou, jsou prostě způsoby, jak ho zrychlit.
  • 62. Všechna vylepšení počítačů… Sedm tajemství počítačů: šesté tajemství Například John von Neumann vytvořil architekturu prvního seriózního pracovního počítače, a aby ho zrychlil, rozšířil okno nebo čtecí hlavu Turingova stroje z 1 bitu na mnoho bitů najednou. Mnoho raných počítačů četlo 8bitová "slova" nebo 16bitová "slova" nebo dokonce 12bitová slova.
  • 63. Všechna vylepšení počítačů… Sedm tajemství počítačů: šesté tajemství V tomto bodu Dennet zdůrazňuje, že ačkoliv moderní počítače mohou být výrazně rychlejší a mají více funkcí než Turingův teoretický model, základní výpočetní schopnosti jsou v podstatě stejné. Turingův stroj je univerzální model výpočtu; to znamená, že v teorii je schopen vykonat jakýkoli výpočet, který je proveditelný na jakémkoliv moderním počítači. Když Turing navrhl svůj stroj, definoval tak teoretické limity toho, co je výpočetně možné. Od té doby se technologie vyvíjela v oblastech jako rychlost procesorů, kapacita paměti, grafické schopnosti atd., ale tyto vylepšení jsou v podstatě jen optimalizacemi, které zrychlují procesy, které by teoretický Turingův stroj mohl vykonat, byť mnohem pomaleji. Je to podobné jako kdybychom porovnávali první automobil s moderním sportovním autem. Oba mají čtyři kola, motor a schopnost přepravovat osoby z místa A do místa B. Moderní auto je rychlejší, pohodlnější a bezpečnější, ale v základním principu "přepravy" se nic nezměnilo. Taková je i povaha vylepšení v počítačové technologii od dob Turinga: veškerá vylepšení jsou vlastně způsoby, jak zrychlit nebo optimalizovat to, co bylo již teoreticky možné od počátku.
  • 64. 7. Žádná další tajemství už neexistují!
  • 65. Nejsou žádná tajemství… Sedm tajemství počítačů: sedmé tajemství Tento bod je ve své podstatě velmi optimistický a předpokládá, že veškeré "problémy" nebo "výzvy" v oblasti výpočetní teorie nebo praxe jsou otázkami optimalizace, efektivity nebo implementace, nikoliv zásadního omezení nebo nového paradigmatu. Je to silné prohlášení o univerzálnosti a úplnosti našeho současného teoretického rámce pro pochopení výpočtů. Je však třeba poznamenat, že i když to může být pravda z hlediska klasického pojetí výpočtu, stále existují otázky o tom, jak tato tradiční rámce vztahují k novým formám výpočtu, jako je kvantový výpočet, neuromorfické výpočty a další, které by mohly v budoucnu posunout naše chápání výpočetních možností.
  • 67. Další odkazy Intuition Pumps and Other Tools for Thinking https://www.youtube.com/watch?v=4Q_mY54hjM0 RodRego - Register Machine Simulation (Ver 1.3) https://sites.tufts.edu/rodrego/
  • 69. Zvlaštní poděkování patří Alexanderu Stoytchevovi http://www.ece.iastate.edu/~alexs/classes/