Senter for Marxistiske og Matematiske Studium, Enschede (SMMSE)

12 februar 2006

 

Jevons sitt logikkpiano III

I dei tidlegare tekstene om Jevons og logikkpianoet hans har eg hevda at dei har signifikans når ein freistar skjøne datamaskina si historie. Det er ikkje av di "[w]hile Jevons refers to his device as a logical machine, what he created was a simple, mechanical computer, perhaps the first successful one of its kind" slik som Buck og Hunka hevdar. Det er ingenting ved pianoet som liknar det vi i dag kallar datamaskiner. Det er og blir ei logikkmaskin, korkje meir eller mindre. Signifikansen ligg heller ikkje i ei historisk line frå Jenons til våre datamaskiner. Sjølv om vi veit at Jevons inspirerte nokre av sine samtidige, som Venn og Marquand, til å lage sine eigne logikkmaskiner er det lite eller ingenting som tydar på at dei som seinare lagde dei fyrste datamaskinene i noko utprega grad var inspirert av dette arbeidet. Signifikansen ligg i det tankesettet Jevons nytta då han bygde logikkmaskina si, som gjer at vi kan sjå på Jevons som ein tidleg oppdagar av eit av dei grunnleggande prinsippa som ligg til grunn for datamaskinar og datahandsaming. Det at dette prinsippet har blitt oppdaga og gjenoppdaga fleire gonger av andre personar gjer ikkje signifikansen til Jevons mindre, men gjer han heller til ein representant det er interessant å ta ein titt på.

Kva var det så Jevons oppdaga? Eg skal ta ein liten omveg og vitje George Boole på vegen. Boole var ein britisk matematikar og filosof som levde omtrent på same tid som Jevons, og reknest blant grunnleggjarane av den moderne logikken (i motsetnad til den aristoteliske logikken). Boole formulerte det som i dag vert kalla boolsk algebra. Kort fortalt er boolsk algebra ei matematisk formulering av logikk som gjev logiske uttrykk visse matematiske eigenskapar (boolsk algebra er mykje meir òg, men for oss er det dette som er viktig). Det gjer at vi kan ha matematiske reglar for logikken og at vi kan manipulere logiske uttrykk. I tekstane om utsegnslogikk og slutningar såg vi reglar for symbolsk manipulasjon av utsegner som bevarte sanninga i utsegnene. Desse reglane er eit eksempel på boolsk algebra. Ein måte å sjå det på kan kanskje vere at det vert etablert ein analogi mellom dei matematiske symbola og den intuitive forståinga vår av logikk, og at reglene for manipulering av symbola er intuisjonsbevarande.

Jevons var inspirert av Boole og tok analogien eit steg vidare. Han innsåg at han kunne lage ein fysisk representasjon av dei matematiske symbola; dei stavane med pinnar som representerer logiske utsegner i maskina hans. Eg har tidlegare sagt at denne måten å gjere det på ikkje er så interessant, men for Jevon var ikkje dette noko naudløysing. Det var sånn han meinte logikk skulle gjerast; det han var interessert i var nettopp å starte med alle moglegheiter og så stegvis eliminere dei som ikkje er konsistente med premissane, og han laga ein metode for å gjere akkurat det. Eg skal ikkje gå i detalj på metoden, men han inneber at etter kvart som ein analyserer premissane vert utsegnene ein jobbar på (dei på forma ABCD om de hugsar fyrste teksten om Jevons) klassifisert i fire ulike grupper og for kvart steg kan utsegene endre klassifisering. Når ein er ferdig vil kvar av utsegnene vere i gruppa "konsistent med premissane" eller i gruppa "ikkje konsistent med premissane".

Ein slik metode som stegvis fører oss fram til eit resultat kallest gjerne for ein algoritme, så vi kan seie at Jevons definerte ein algoritme. Ein sånn algoritme er på sett og vis ei abstrakt eining; han fortel korleis ein skal flytte rundt på symbol og andre abstrakte einingar og vert ikkje til noko konkret før vi utfører han, til dømes ved å nytte han til å løyse eit problem på eit stykke papir.

Kva gjorde Jevons så? Han bygde ei maskin som utførte algoritmen hans; han omsette den abstrakte algoritmen til ein fysisk prosess. Dette kunne han sjølvsagt ikkje ha gjort utan å fyrst ha funne analogien mellom dei abstrakte utsegnene og dei fysiske stavane og pinnane, av di ein fysisk prosess manipulerer fysiske ting. Mays og Henry har vist at det er eit perfekt samsvar ikkje berre mellom stavane i maskina og utsegnene, men òg mellom posisjonane til stavane og klassifiseringa av utsegner, og mellom flyttinga av stavane når ein trykkar på tangentane og stega i algoritmen.

For å oppsummere kan vi seie at dette er ein tretrinnsrakett:
  1. Jevons definerte ein abstrakt algoritme.
  2. Han etablerte ei rekkje enkle analogiar (utsegn/stav, klassifisering/posisjon, endring av klassifisering/flytting av stav).
  3. Basert på desse analogiane omsette han algoritmen til ein fysisk prosess utført av ei maskin.
Når vi så nyttar logikkmaskina gjer vi ein abstraksjon; vi les av resultatet på maskina (dvs. posisjonen til stavane) og tolkar dette som abstrakte einingar (klassifisering av utsegner).

Kva er signifikansen av dette? Signifikansen er at dette er eit mønster vi ser igjen gong på gong når vi ser på datamaskina og datahandsaminga si historie, og er eit grunnleggjande tankesett som ligg til grunn for korleis datamaskiner verkar og korleis dei vert nytta.

I seinare tekstar vil eg vise fleire døme på at dette mønsteret dukkar opp, men som eit eksempel på den siste påstanden ("korleis dei vert nytta") skal eg nytte slutningskalkulatoren eg presenterte i ein tidlegare tekst.

Dette dataprogrammet er laga i eit programmeringsspråk som heiter Java og som er eit objektorientert programmeringsspråk. Det vil seie at "objekt" er ei grunnleggjande eining i språket. (Akkurat kva eit objekt er, er ikkje så nøye. Ein kan òg seie at objekt og andre ting i Java er abstrakte einingar, men det finst etablerte analogiar for korleis desse er representert fysisk i datamaskina, så vi skal ikkje vere så nøye på det heller, men berre tenkje oss at det å lage eit dataprogram liknar på det å byggje ei maskin).

Det eg starta ut med var ein algoritme for å undersøke gyldigheita av ei slutning (sanningstre/tremetoden). Denne algoritmen manipulerer abstrakte einingar som til dømes utsegner og tre. Eg laga ei rekkje enkle analogiar, som at ei utsegn vert representert av eit objekt og eit moteksempel vert representert av ei liste objekt som igjen representerer literalar, og nokre fleire liknande analogiar. Deretter omsette eg algoritmen til eit program ved beskrive korleis desse representasjonane skal manipulerast. Når eg nyttar programmet skjer manipulasjonane som fysisk prosessar inni datamaskina mi, og når programmet er ferdig les eg av resultatet frå skjermen og tolkar det som abstrakte einingar, til dømes som eit moteksempel til at ei slutning er gyldig.

Med andre ord følgde eg det same mønsteret som Jevons då eg laga slutningskalkulatoren. Og eg tenkte ikkje ein gong på det medan eg gjorde det, det var noko eg oppdaga etterpå. Heilt sant!

Kjelder

William Aspray. Logic machines. I, William Asprey (red.), Computing before computers, side 99-121, Iowa State University Press/Ames, 1990.

George H. Buck, Stephen M. Hunka. W. Stanley Jevons, Allen Marquand, and the origin of digital computing. IEEE Annals of the History of Computing, 21(4):21-27, 1999.

William Stanley Jevons. On the mechanical performance of logical inference. Philosophical Transactions of the Royal Society of London, 160:497-518, 1870.

W. Mays, D. P. Henry. Jevons and logic. Mind, 62(248):484-505, 1953.

J. Donald Monk. The Mathematics of Boolean Algebra. I, Edward N. Zalta (red.), The Stanford Encyclopedia of Philosophy, 2002.

J. J. O'Connor, E. F. Robertson. George Boole. The MacTutor History of Mathematics archive.(11. desember 2005)

Kommentarar:
Dette var artig! Og det gjekk an å skjøna, det var fint.
 
Hello,
The original text (and figures) of Jevons are available at
http://tima-cmp.imag.fr/~amblard/JEVONS/
 
Legg inn en kommentar



<< Framside

Tidlegare tekstar

Meir om slutningar III – eit dataprogram for å und...
Meir om slutningar II – ei enkel utsegnskalkyle
Snø
Meir om slutningar – lur bruk av logikkpianoet til...
Jevons sitt logikkpiano II
Jevons sitt logikkpiano I
Fråsegn

Arkiv

november 2005   desember 2005   februar 2006   april 2006   november 2006   desember 2006   januar 2007   februar 2007   mars 2007   august 2007   desember 2007   januar 2008   juli 2008  

This page is powered by Blogger. Isn't yours?