Računalnik iz domin. Škafar, Maja Šafarič, Nina Sangawa Hmeljak Mentor: Vid Kocijan

Similar documents
Reševanje problemov in algoritmi

Problem umetnostne galerije

Digitalna tehnika. Delovni zvezek za laboratorijske vaje. doc. dr. Gorazd Pucihar. Ime in priimek študenta:

Digitalne strukture. Delovni zvezek za laboratorijske vaje. doc. dr. Gorazd Pucihar. Ime in priimek študenta:

TOPLJENEC ASOCIIRA LE V VODNI FAZI

AKSIOMATSKA KONSTRUKCIJA NARAVNIH

NEODLOČLJIVI PROBLEMI V TEORIJI IZRAČUNLJIVOSTI

POLDIREKTNI PRODUKT GRUP

UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE. Verjetnostni algoritmi za testiranje praštevilskosti

Univerza v Ljubljani Fakulteta za matematiko in fiziko. Oddelek za fiziko. Seminar - 3. letnik, I. stopnja. Kvantni računalniki. Avtor: Tomaž Čegovnik

Verifying Time Complexity of Turing Machines

NIKJER-NIČELNI PRETOKI

Linearna regresija. Poglavje 4

Matematika 1. Gabrijel Tomšič Bojan Orel Neža Mramor Kosta

Attempt to prepare seasonal weather outlook for Slovenia

UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETA POLONA ŠENKINC REŠEVANJE LINEARNIH DIFERENCIALNIH ENAČB DRUGEGA REDA S POMOČJO POTENČNIH VRST DIPLOMSKO DELO

Multipla korelacija in regresija. Multipla regresija, multipla korelacija, statistično zaključevanje o multiplem R

INTELLIGENTNI SISTEMI Mehka Logika

UNIVERZA V MARIBORU FAKULTETA ZA NARAVOSLOVJE IN MATEMATIKO. Oddelek za matematiko in računalništvo DIPLOMSKO DELO.

Vsebina Od problema do načrta programa 1. del

R V P 2 Predavanje 05

OFF-LINE NALOGA NAJKRAJŠI SKUPNI NADNIZ

Sekvenčna preklopna vezja

Med resnico in neresnico

Fakulteta za matematiko in fiziko Univerza v Ljubljani. Seminar. Kvantni računalniki. Avtor: Matjaž Gregorič. Mentor: prof. N.S.

UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETA LUKA VIKTOR ROGAČ KONČNI AVTOMATI DIPLOMSKO DELO

Simulacija dinamičnih sistemov s pomočjo osnovnih funkcij orodij MATLAB in Simulink

OA07 ANNEX 4: SCOPE OF ACCREDITATION IN CALIBRATION

Iskazna logika 1. Matematička logika u računarstvu. oktobar 2012

Hadamardove matrike in misija Mariner 9

Miha Drole. Sintaksna analiza rahlo kontekstno odvisnih jezikov

Statistika 2 z računalniško analizo podatkov

Eulerjevi in Hamiltonovi grafi

SVM = Support Vector Machine = Metoda podpornih vektorjev

DOMINACIJSKO TEVILO GRAFA

Univerza na Primorskem FAMNIT, MFI STATISTIKA 2 Seminarska naloga

Iskanje najcenejše poti v grafih preko polkolobarjev

DELOVANJA GRUP IN BLOKI NEPRIMITIVNOSTI

Acta Chim. Slov. 2003, 50,

SLIKE CANTORJEVE PAHLJAµCE

UNIVERZA V MARIBORU FAKULTETA ZA NARAVOSLOVJE IN MATEMATIKO. Oddelek za matematiko in računalništvo MAGISTRSKA NALOGA. Tina Lešnik

JERNEJ TONEJC. Fakulteta za matematiko in fiziko

Izvedbe hitrega urejanja za CPE in GPE

Naloge iz LA T EXa : 3. del

Hipohamiltonovi grafi

TEORIJA GRAFOV IN LOGISTIKA

Spletni sistem za vaje iz jezika SQL

UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE. O neeksaknotsti eksaktnega binomskega intervala zaupanja

ENERGY AND MASS SPECTROSCOPY OF IONS AND NEUTRALS IN COLD PLASMA

DIOFANTSKE ČETVERICE

Matej Mislej HOMOMORFIZMI RAVNINSKIH GRAFOV Z VELIKIM NOTRANJIM OBSEGOM

ENAČBA STANJA VODE IN VODNE PARE

UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE. Simetrije cirkulantnih grafov

Matej Gutman. Izvedba nevronske mreže s programirljivimi vezji FPGA. diplomsko delo na univerzitetnem študiju. mentor: doc. dr.

UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETA DIPLOMSKO DELO MAJA OSTERMAN

UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE. Kvadratne forme nad končnimi obsegi

UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETA SAŠO ZUPANEC MAX-PLUS ALGEBRA DIPLOMSKO DELO

Introduction of Branching Degrees of Octane Isomers

Ana Mlinar Fulereni. Delo diplomskega seminarja. Mentor: izred. prof. dr. Riste Škrekovski

Usmerjene nevronske mreže: implementacija in uporaba

UNIVERZA V LJUBLJANI FAKULTETA ZA MATEMATIKO IN FIZIKO ODDELEK - FIZIKA. Matej Posinković KVANTNI RAČUNALNIKI SEMINAR. Mentor: prof.

UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETA FAKULTETA ZA MATEMATIKO IN FIZIKO DIPLOMSKO DELO MIHAELA REMIC

1) V diagramu sta prikazana plazemska koncentracijska profila po večkratnem intravenskem odmerjanju učinkovine v dveh različnih primerih (1 in 2).

Uporaba preglednic za obdelavo podatkov

Obrnitev kvantne meritve

NUMERICAL SIMULATION OF THE PROGRESSIVE DAMAGE TO FRC PANELS DUE TO SHOCK LOADING

Linearna algebra. Bojan Orel. Univerza v Ljubljani

Neli Blagus. Iterativni funkcijski sistemi in konstrukcija fraktalov

Excel. Matjaž Željko

Katja Tuma Generiranje in reševanje sudokuja

Cveto Trampuž PRIMERJAVA ANALIZE VEČRAZSEŽNIH TABEL Z RAZLIČNIMI MODELI REGRESIJSKE ANALIZE DIHOTOMNIH SPREMENLJIVK

Solutions. Name and surname: Instructions

FRAKTALNA DIMENZIJA. Fakulteta za matematiko in fiziko Univerza v Ljubljani

VAJE 2: Opisna statistika

Miha Troha. Robotsko učenje in planiranje potiskanja predmetov

SIMETRIČNI BICIRKULANTI

OPTIMIZACIJSKE METODE skripta v pripravi

DIGITALNO VODENJE Laboratorijske vaje

Hiperbolične funkcije DIPLOMSKO DELO

Analiza variance in linearna regresija

Samo-nastavljivo vodenje z DMC-jem in proporcionalnim regulatorjem

Makroekonomija 1: 4. vaje. Igor Feketija

Călugăreanu-White-Fullerjev teorem in topologija DNA

UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETA

Verifikacija napovedi padavin

Izbrana poglavja iz algebrai ne teorije grafov. Zbornik seminarskih nalog iz algebrai ne teorije grafov

Kode za popravljanje napak

Dejan Petelin. Sprotno učenje modelov na podlagi Gaussovih procesov

USING SIMULATED SPECTRA TO TEST THE EFFICIENCY OF SPECTRAL PROCESSING SOFTWARE IN REDUCING THE NOISE IN AUGER ELECTRON SPECTRA

UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETA VERONIKA MIHELAK PRAVILNI IKOZAEDER DIPLOMSKO DELO

Topološka obdelava slik

Zaznavanje napak in spremljanje čiščenja odpadnih voda na podlagi mehkega modela

Jernej Azarija. Štetje vpetih dreves v grafih

Simulation System Design

Mathematica PRI MATEMATIKI V 1. IN 2. LETNIKU SPLOŠNEGA GIMNAZIJSKEGA PROGRAMA

UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE. Ekstremne porazdelitve za odvisne spremenljivke

Computing the steady-state response of nonlinear circuits by means of the ǫ-algorithm

Geometrijske faze v kvantni mehaniki

UNIVERZA V LJUBLJANI FAKULTETA ZA MATEMATIKO IN FIZIKO ODDELEK ZA MATEMATIKO

Seminar II: Translokacija proteinov na DNA. Avtor: Janez Dovč Delovni mentor: Gašper Tkačik Mentor: prof. dr. Rudi Podgornik

Transcription:

Računalnik iz domin Primož Škafar, Maja Šafarič, Nina Sangawa Hmeljak Mentor: Vid Kocijan Povzetek Naša naloga je bila ugotoviti kako sestaviti računalnik (Turingov stroj) iz domin in logičnih izrazov. Ugotovili smo, da je izdelava takega računalnika teoretično mogoča, čeprav ima tak računalnik veliko omejitev. 1

1 Uvod V članku bomo poskusili simulirati računalnik (Turingov stroj) z dominami. Po Church-Turingovi hipotezi naj bi za vsak izračunljiv problem obstajal Turingov stroj, ki ga reši. Torej, če najdemo postopek za sestavo poljubnega Turingovega stroja iz domin, pokažemo, da lahko poljuben izračunljiv problem rešimo zgolj s podiranjem domin. Vsak korak Turingovega stroja lahko zapišemo oz. razložimo z logičnimi izrazi. Te lahko z daljšimi zaporedji domin simuliramo. Tako lahko iz domin teoretično sestavimo Turingov stroj. Če se računalnik da simulirati z dominami, potem se ga da simulirati tudi z vsem, kar se obnaša podobno kot domine, npr. škatle za kosmiče. Najprej pa bomo spoznali, kaj so logični izrazi in kaj je Turingov stroj. Iz domin bomo zgradili logične izraze, z logičnimi izrazi pa bomo simulirali Turingov stroj. 2 Logični izrazi Logični izrazi so funkcije logičnih spremenljivk. Poznamo logične operacije, ki so sestavni deli logičnih izrazov, kot so: Negacija: x x 0 1 1 0 Konjunkcija: x y x y 0 0 0 0 1 0 1 0 0 1 1 1 2

Disjunkcija: x y x y 0 0 0 0 1 1 1 0 1 1 1 1 Strogi ali: x y x y 0 0 0 0 1 1 1 0 1 1 1 0 2.1 Disjunktivna normalna oblika Vsak logični izraz lahko zapišemo v obliki resničnostne tabele. Resničnostna tabela nam za vsako možno kombinacijo vrednosti vhodnih spremenljivk poda pripadajočo izhodno vrednost. Iz resničnostne tabele lahko sestavimo logični izraz v disjunktivni normalni obliki, ki se obnaša natanko tako, kot to veli resničnostna tabela. Disjunktivno normalno obliko bomo v sledečem odstavku predstavili skozi primer. Primer 1: Recimo, da hočemo dobiti logični izraz, ki bo pri vseh kombinacijah vrednosti dveh spremenljivk pravilen. Za vsako možno kombinacijo vrednosti vhodnih spremenljivk najdem konjunkcijo, ki je resnična natančno pri teh vhodih. Npr. za vhod x = 0 in y = 1 je pripadajoča konjunkcija x y. Na levi strani spodnje sheme se nahaja resničnostna tabela, ki je vhod našemu postopku. Za vsako vrstico je na desni strani podan logični izraz, ki je resničen natanko pri kombinaciji vhodnih vrednosti podanih v isti vrstici. x y rezultat logičnega izraza 0 0 1 ( x y) 0 1 1 ( x y) 1 0 1 (x y) 1 1 1 (x y) 3

Nato izraze na desni povežemo s disjunkcijami in nastane izraz, ki je vedno pravilen: Primer 2: ( x y) ( x y) (x y) (x y). Recimo, da želimo skonstruirati logični izraz, ki se obnaša kot sledeča logična tabela: x y rezultat logičnega izraza 0 0 1 0 1 1 1 0 0 1 1 0 V tem primeru potrebujemo logična izraza, ki bosta pravilna zgolj za vhode v prvih dveh vrsticah tabele. Oba logična izraza povežemo z disjunkcijo, da dobimo nov logični izraz, ki je pravilen pri natanko zgornjih dveh vhodih. x y rezultat logičnega izraza 0 0 1 ( x y) 0 1 1 ( x y) ( x y) ( x y) 1 0 0 1 1 0 Iz primerov zgoraj je razvidno, da lahko logični izraz v obliki disjunktivne normalne oblike zgradimo za poljubno resničnostno tabelo. Torej znamo iz negacije, disjunkcije in konjunkcije zgraditi poljuben logični izraz. 2.2 Poln nabor operatorjev Dokazali smo, da lahko z negacijo, konjunkcijo in disjunkcijo izrazimo poljuben logični izraz. Pravimo, da je tak nabor operatorjev poln. Dokažimo, da lahko sestavimo poln nabor tudi z manj operatorji. Najlažji način je, da z novim naborom izrazimo nabor, za katerega že vemo, da je poln, torej {,, }. Negacija ( ) in disjunkcija ( ) sta poln nabor, saj lahko konjunkcijo x y po De Morganovem zakonu izrazimo z ( x y) 4

2.3 Logic ne operacije iz domin Z dominami lahko modeliramo logic ne operacije. Logic ni izraz bomo zapisali kot zaporedje domin, tako, da bo podiranje domin sluz ilo kot proces rac unanja. Podrte domine predstavljajo logic no vrednost 1, nepodrte pa logic no vrednost 0. Vrednost vhodnih spremenljivk vnesemo tako, da podremo pripadajoc e vrste domin. Podrte domine predstavljajo vrednost 1. Preostale vrste, ki jih ne podremo, predstavljajo vhodno vrednost 0. Poc akamo dokler se vse domine ne podrejo. Na drugi strani zaporedja podrte oziroma stojec e vrste predstavljajo izhodno vrednost spremenljivk. Rac unanje v notranjosti zaporedja poteka preko logic nih operacij, ki jih sestavimo iz domin. Uporabljene logic ne operacije so predstavljene na slikah spodaj. Na slikah so vhodi spodaj in izhodi zgoraj. Slika 1: Iz enega vhoda dobimo dva izhoda (kopiranje vrednosti vhodne spremenljivke). Ta vrata uporabimo, c e se neka spremenljivka pojavi v izrazu vec kot enkrat. 5

Slika 2: Disjunkcija dveh vhodnih spremenljivk Slika 3: Strogi ali dveh vhodnih spremenljivk Dokaz imo, da je nabor {,, 1} poln. Konstanto 1 predstavimo kot vrsto domin, ki jo na vhodu zagotovo podremo. 1 x 1 0 1 1 x 1 = x 1 0 Iz tega lahko zakljuc imo, da ko sestavimo lahko sestavimo tudi nabor {, }. Za ta nabor smo z e prej dokazali, da je poln. Torej lahko iz domin sestavimo poljuben logic ni izraz. 6

3 Turingov stroj V tem razdelku vpeljemo skico definicij in nekaterih dokazov v zvezi s Turingovim strojem. Bralec, ki ga zanima točna izpeljava, lahko to najde v knjigi [1]. Turingov stroj je abstrakten model računanja. Njegovo delo posnema človeško delo in računa po strogih navodilih. Deli takšnega stroja so: Neskončen trak To je spomin, na katerem so napisane 0, 1 in prazna polja. Spomin je neomejen. Glava Podatke po traku piše glava. Ta se v vsakem koraku prestavi za največ eno mesto levo ali desno po traku, tam lahko bere in piše. Stanja in prehodi med njimi So stroga, natančna navodila za delovanje stroja. Ta povejo kaj naj stroj napiše oz. kam se naj premakne, glede na to, kaj je napisano na trenutnem mestu pod glavo in v katerem stanju se stroj nahaja. Alan Turing si ga je zamislil leta 1936 in z njim matematično opredelil pojem računalnika in izračunljivosti. Turingovi stroji so ekvivalentni računalniškim programom. Turingov stroj ima končno število stanj in je v vsakem trenutku v enem izmed teh stanj, zato ga lahko predstavimo z nizom ničel in enic. Za določene vhodne podatke so izhodni podatki vedno enaki in ponovljivi, saj rezulatat ni odvisen od zunanjih dejavnikov ali naključja. 3.1 Church-Turingova hipoteza Church-Turingova hipoteza pravi, da za vsak izračunljiv problem obstaja Turingov stroj, ki ga reši. Torej, če Turingov stroj, ki reši problem, ne obstaja, je problem neizračunljiv tudi z najmočnejšim računalnikom. To je le hipoteza, saj je ne moremo dokazati, a vseeno služi kot definicija izračunljivosti. Resnična je za vse do sedaj znane praktične modele računanja. 3.2 Simulacija Turingovega stroja z logičnimi izrazi Ker bi bil temeljit dokaz obsežen in zahteven bomo skicirali zgolj glavne točke. Nadobudnega bralca pa vzpodbujamo, naj si več prebere v [1]. Glavne točke dokaza: Turingovega stroja ni mogoče predstaviti le z enim končnim izrazom. Zato popravimo naš cilj in ga predstavimo z družino izrazov: Za vsako velikost vhoda svoj izhod. 7

S popravkom definicije smo dosegli, da za posamezen program, ki ga želimo realizirati, natanko poznamo dolžino vhoda in izhoda. Iz tega lahko z veliko tehnikalijami dosežemo, da ta specifičen izračun lahko predstavimo z logično funkcijo. Nekateri Turingovi stroji se nikoli ne ustavijo, zato bi za simulacijo takih strojev rabili neskončno mnogo domin. Praktična izvedba Nekateri Turingovi stroji se na nekaterih vhodih ne ustavijo, ampak računajo v nedogled. Da bi tak račun simulirali, bi torej potrebovali neskončno mnogo domin. Posledično je sestava Turingovega stroja zelo težka, saj je za sestavo potreben, ali zelo natančen in hiter robot, ki postavlja domine tako hitro, kot se podirajo (torej neskončno zaporedje), ali pa poznano število korakov. Vzrok za to izhaja iz narave domin, saj se vsaka domina podre samo enkrat realizacija povratnih zank ni mogoča. Literatura [1] Michael Sipser. Introduction to the Theory of Computation. Course Technology, second edition, 2006. 8