DATORER OCH PROGRAM. Datorn är en symbolmaskin

Relevanta dokument
DATORER OCH PROGRAM. Programmerade maskiner Program beteendeplan och beteendegenerator Generalitet och portabilitet Datorn är en symbolmaskin

Digitalt lärande och programmering i klassrummet. Introduktionsworkshop - Bygg ett akvarium i Scratch

Allemansdata Dags fö r örd

Grunderna i stegkodsprogrammering

HF0010. Introduktionskurs i datateknik 1,5 hp

ELEKTRICITET. Vad använder vi elektricitet till? Hur man använder elektricitet?

Omvandla din dator till en flerspråkig maskin

SLALOMINGÅNGAR hur svårt kan det vara?

Kursplan. Ämnesövergripande

Tentamen SSY 065, lördag 14/4, 08:30-12:30, M. Examinator: Martin Fabian, (772) 3716 Tider för lärarens närvaro: 09:30, 11:30

använda teknikområdets begrepp och uttrycksformer.

F5 Introduktion till digitalteknik

Skapa systemarkitektur

Vrid och vänd en rörande historia

Balthazar Science Center. Skolprogram. Upplev, prova, bygg och lär. Låt dig inspireras, experimentera och väck lusten till nya upptäckter!

5 Relationer mellan individens utvecklingsnivå, olika verktyg och användning av olika produkter

Ansökan om tillstånd att använda alternativt urval till Programmet för dataspelsutveckling - design

Automatic Systems. Mekanisk enhet vändkors Standardarm TR4XX FÄLTMANUAL. Intergate AB Kilegatan Strömstad Tel: Fax:

Skydd mot inbrott. skyddsklass 1

Lathund för att arbeta med pdf

Testa din hörsel. - det är inte svårt

Fortsättningskurs i programmering F 2. Algoritmer i Programutveckling Hugo Quisbert Problemexempel 1

Predator Digital 3D. Predator Digital 3D. Bruksanvisning. Version 1.0

(Grundkurs i medier och kommunikation vid Tammerfors Universitet, Finland) 1.1 Kommunikation

Automater. Matematik för språkteknologer. Mattias Nilsson

my baby carrier SVENSKA BRUKSANVISNING

NoKey Force K B10A.docx. NoKey. FORCE K01 connector. Monterings- och programmeringsinstruktion. Svenska

Programmering. Seminarier i datavetenskap, datorteknik och informationsteknik. Niklas Broberg niklas.broberg@chalmers.

Det första steget blir att titta i Svensk MeSH för att se om vi kan hitta några bra engelska termer att ha med oss på sökresan.

JF-Link. Trådlös elmanövrering av hydraulik. Instruktionsbok. Bruksanvisning i original

RU 24 NDT. Manual /31

Programmering av Thangram portregister System XIP (VA/08)

Polhem en influencer från förr Mekanikens historia

Del 11 Indexbevis. Strukturakademin. Strukturakademin. Strukturinvest Fondkommission

Manual för motionscykel Extreme XT 3,3

Föreläsning 3.1: Datastrukturer, en översikt

Biomekanik, 5 poäng Moment

Föreläsning 2 Mer om skyddsjord.

LÖPBAND TM900 BRUKSANVISNING

D/A- och A/D-omvandlarmodul MOD687-31

Digitalt lärande och programmering i klassrummet

Snäckväxel GS 50.3 GS med fot och hävarm

UPPGIFT 1 ÖVERSÄTTNING

Synkronisering. Föreläsning 8

BeckHoff LängdMätning!

OM KRITERIER av Emelie Johnson Vegh och Eva Bertilsson, publicerad i Canis 2004

Instuderingsfrågor för godkänt i fysik år 9

Copyright 2008 Pausit AB medföljer programvaran pausit. Pausit version 1.2 Användarmanual

Att använda pekare i. C-kod

Dynapac Dokumentationssystem. Jordpackning

V5.0 SE Monteringsanvisning 101-serien

Järnvägens elanläggningar

Inledning. Metod. Val av maskin. Vanliga funktioner som lätt blir fel

Ur boken Självkänsla Bortom populärpsykologi och enkla sanningar

MS-250M. Elektriskt ställdon för styrning/reglering av spjäll, ledskenor och ventiler

1. Bilda en vätskefilm vilket minskar friktionen och därmed den alstrade värmen. 2. Att kyla packningen.

Välkomna på min rundtur runt Prakticum Borgå.

Krypande kaninen Karin

Laboration i Maskinelement

Klassuppgift: Hinderrally

Alla behöver tårta! Belöningsträningens lager

Systemkonstruktion SERIEKOMMUNIKATION

Nordic Human Factors Guideline NHFG

Försättsblad till skriftlig tentamen vid Linköpings Universitet

Enheten för preventiv näringslära. Karolinska sjukhuset

Chalmers tekniska högskola EDA390 Datakommunikation och Distribuerade system

Splitsning av flätade linor gjorda av polyester eller nylon.

SPRITSRÖR MED INBYGGD RENSANORDNING. Oscillerande eller fasta.

Lärares planering och genomförande av arbetsområdet Glasögonbågar

PCI ETHERNET CARD 100 MB

Netwise CMG Voice , Rev 1.0, CJ 1(16)

Flaxande fjärilen Frida

POLAR CS CADENCE SENSOR W.I.N.D. Bruksanvisning

Ekonomirapport från SKOP om Hushållens ränteförväntningar, 4 april 2016

Exempel. Vi skall bestämma koordinaterna för de punkter som finns i bild 3. OBS! Varje ruta motsvarar 1mm

FlyBot. Copyright Sagitta Pedagog AB

Örat och hörseln en guide

ELLÄRA. Denna power point är gjord för att du ska få en inblick i elektricitet. Vad är spänning, ström? Var kommer det ifrån? Varför lyser lampan?

Grafer. 1 Grafer. Grunder i matematik och logik (2015) 1.1 Oriktade grafer. Marco Kuhlmann

NXT LEGO-robot laboration Programmering och felsökning av en LEGOrobot

Prövning i Moderna språk 2

KUNGLIGA TEKNISKA HÖGSKOLAN. Linefollower. Med LEGO Mindstorms och NXC. Paul Coada Introduktion i datateknik II1310

TAOP88/TEN 1 OPTIMERING FÖR INGENJÖRER

Post- och telestyrelsens författningssamling

Nallelek Lärarvägledning

Programmering av stegmotorer ett miniprojekt i samarbete med Svensk Maskinprovning

BARNETS FEM KÄRLEKSSPRÅK

TAOP88/TEN 1 OPTIMERING FÖR INGENJÖRER

PRÖVNINGSANVISNINGAR

Matematikens grundvalar och programmering av datorer

Totalt finns det alltså 20 individer i denna population. Hälften, dvs 50%, av dem är svarta.

Inför prövning i Moderna språk steg 4

Innehåll. maskindirektivet 101 frågor och svar 3

Solkraft. Solceller och värmepump ger noll värmekostnad. Projekt i partnerskap:

SÄKERHETSLÖSNINGAR TJÄNSTEFIERAD SÄKERHET

TEKNISK BESKRIVNING UCO (Ultra Clean Oil) MODUL FÖR OLJERENING

PATENTBESVÄRSRÄTTENS DOM

Semantik och pragmatik

Vi introducerar FURUNO CH-37BB

Transkript:

DATORER OCH PROGRAM Datorn är en symbolmaskin men kan ha såväl symboliska som fysiska gränssnitt till omvärlden Program beteendeplan och beteendegenerator Programmerade maskiner Generalitet och portabilitet Universalitet 1

Polhems mekaniska alfabet Christopher Polhem (1661 1751) utarbetade ett mekaniskt alfabet : olika elementära sätt att omvandla rörelsetyper (roterande, fram och åter-gående, etc.), rörelseriktningar, hastigheter och krafter mellan varandra Genom att kombinera bokstäver i alfabetet kunde man lösa mer komplicerade uppgifter: konstruera en klocka, en gruvpump, en kraftöverföringsmekanism Idealiskt skulle man på detta sätt kunna lösa varje tänkbart mekaniskt formulerat problem givet den mekaniska problemlösningsförmåga och kreativitet som krävs för att finna de rätta kombinationerna! och givet att en lösning är möjlig! 2

Mekanisk vs symbolisk universalitet Polhem drömde om mekanisk universalitet en grundläggande repertoar av mekanismer som kunde kombineras till att lösa varje tänkbar mekanisk uppgift (som har en mekanisk lösning) Exempel mekaniska uppgifter när axel A vrids, så vrids den parallella axeln B dubbelt så mycket, i motsatt riktning när axeln A roterar rör sig nålen B upp och ned, varannan gång bortom, varannan gång hitom neutralläget Hilbert, Gödel, Turing, Kleene, Church, Markov, med flera, drömde om symbolisk universalitet en grundläggande repertoar av symboliska mekanismer som kunde kombineras till att lösa varje tänkbar symbolisk uppgift (som har en symbolisk lösning) Exempel symboliska uppgifter när talsymbolen X har ett värde så har talsymbolen Y ett värde som är dubbelt så stort men negerat när X är en engelsk text så är Y en översättning av X till franska En skillnad är att medan Polhems dröm i praktiken förblev en dröm, är symbolisk universalitet (nära nog) idag realiserad genom datorn 3

Program Idén är att från en maskin separera ut en särskild, lätt utbytbar del som kontrollerar maskinens beteende den utbytbara delen är programmet den permanenta delen av maskinen är processorn processorn exekverar programmet; det betyder att den beter sig i enlighet med och som en effekt av programmet Ett program är dels en beteendeplan som beskriver ett önskat beteende; dels en beteendegenerator som kan orsaka det beskrivna beteendet (givet en passande processor) Släpper man något av villkoren är det inte längre ett program Ex: monteringsanvisningen för en IKEA-möbel beskriver men orsakar inte hopsättningen Ex: sandstrandens topologi orsakar men beskriver inte en myras rörelse över sanden Jfr. Simon s ant, Herbert Simons berömda liknelse som ska illustrera hur komplext beteende inte behöver härröra ur agentens egen inre komplexitet, utan kan uppstå i samspelet med omgivningen 4

Generalitet, portabilitet, avmaterialisering Programmerade maskiner utmärks av: 1. Generalitet samma maskin kan exekvera många olika program dvs. många olika beteenden kan genereras genom att endast variera programmet 2. Portabilitet samma program kan köras på många olika maskiner dvs. samma beteenden kan genereras genom att välja samma program och programmen är billiga att reproducera och lätta att transportera Programmet är relativt sett lätt, litet, enkelt att förändra och byta ut; lätt och billigt att kopiera och distribuera outslitligt (dvs. mediet kan nötas, men det kan ju ersättas av en kopia); och med en avancerad processor (läs: datorn) kan programmet vara mycket komplext utan risk att det börjar slira eller kärva Dessa fördelar ger en avmaterialiserande trend kan man få samma eller bättre funktion med mer programvara och mindre maskinvara, så går utvecklingen med viss ekonomisk nödvändighet i den riktningen 5

Datorn är en symbolmaskin Det vill säga, datorer är maskiner för att producera kontrollerade symboliska beteenden (med andra ord beräkningar) Normalt är dessa symboliska skeenden att betrakta som interna till datorn men: Genom symboliska gränssnitt kan datorer interagera symboliskt med sin omgivning vilket förutsätter att det finns något slags agenter på utsidan som förstår sig på symbolerna, vanligtvis människor Genom fysiska gränssnitt kan datorer interagera fysiskt med sin omgivning kräver inga agenter i omgivningen 6

Interaktion med omgivningen Isolerad dator Dator med fysiska gränssnitt 7 Dator med symboliska gränssnitt

Programmerade maskiner Tidiga exempel Jacquard-vävstol (tidigt 1800-tal) vissa typer av speldosor och klockspel; självspelande pianon 8

Orsak och verkan 9 Ta ett hålremsstyrt självspelande piano som exempel: Hålremsan passerar en avläsningsanordning med fjädrande kontakter som ligger an mot hålremsan, så att en strömkrets sluts när ett hål passerar en av brytarna, vilket orsakar en elektrisk ström, som i sin tur påverkar exempelvis en elektromagnet, och händelsekedjan fortsätter fram till dess att en ton ljuder på avsett sätt Det är bara den sista händelsen som hör till det programmerade, det avsedda beteendet Betraktat som ett program beskriver hålremsan tonbeteendet, medan andra händelser i orsakskedjan inte är representerade av programmet De mellanliggande händelser som leder från hålremsan till tonen är instrumentella för tonens frambringande Andra effekter orsakade av programmet som varken är representerade eller instrumentella kallar vi sidoeffekter Ex: det klickande ljud som uppstår när ett hål i hålremsan passerar förbi en kontakt; den värme som skapas av den elektriska strömmen i elektromagneten De instrumentella händelserna är nödvändiga för att det avsedda beteendet ska uppstå, men exakt vilken kedja av instrumentella händelser som leder från program till avsett beteendet är godtyckligt Ex: byt den elektriska hålremsläsaren mot en optisk som fungerar med ljusstrålar och fotoceller, och programmet kan generera samma beteende som förut trots att orsakskedjan nu är en annan

Programmering Att programmera innebär således att utforma och skapa beteenden programmeraren behöver fokusera avsett beteende, inte orsakskedjor programspråket, det system för att representera beteende, det symbolsystem som används i programmet, bör alltså fokusera just på det avsedda beteendet Ju mer sofistikerat beteende man vill skapa, desto större behov av ett väl utvecklat programspråk Notera: programmet eliminerar det potentiella glapp mellan plan och genomförande som finns i allt mänskligt planföljande: som det är programmerat, så blir det ökad kontroll ökad komplexitet möjlig ställer höga krav på detalj och exakthet i programmet, programspråket och processorn ger ingen flexibilitet utöver den som är inprogrammerad 10

Vad skiljer ett självspelande piano från en dator? 1. Datorer är symbolmaskiner 2. Datorer är universella processorer 11

Att diskutera Vilka två villkor måste vara uppfyllda för att något ska räknas som ett program? Räcker det alltid att bara fokusera på program och beteende i datorsammanhang? Om inte, ge exempel. Hur kan man tolka betydelsen av symbolisk universalitet? Hur hänger generalitet och portabilitet ihop med datorer och program? Ge exempel på in-/utmatningsdon. 12