<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-18848841</id><updated>2011-11-14T09:44:27.906+01:00</updated><title type='text'>SMMSE</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://smmse.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18848841/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://smmse.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>SMMSE</name><uri>http://www.blogger.com/profile/05458340589967177945</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>25</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-18848841.post-7459484662362227355</id><published>2008-07-16T10:13:00.000+02:00</published><updated>2008-07-16T10:19:19.375+02:00</updated><title type='text'>Ein quine til</title><content type='html'>Som til skilnad frå &lt;a href="http://smmse.blogspot.com/2008/07/to-quines.html"&gt;dei to fyrste&lt;/a&gt; er uavhengig av teiknsett.&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;public class Q2 {&lt;br /&gt;    static char[] c = {'p','u','b','l','i','c','a','s','Q','2',&lt;br /&gt;                       '{','t','h','r','[',']','=','}',';','n',&lt;br /&gt;                       'v','o','d','m','(','S','g',')','0',',',&lt;br /&gt;                       '3','8','f','j','&amp;lt;','.','e','+','"','\'',&lt;br /&gt;                       '\\','|','?',':','y','!','-','1','%','6',&lt;br /&gt;                       '5','&amp;gt;','k'};&lt;br /&gt;&lt;br /&gt;    static int[] i =  {1,2,3,4,5,6,-1,6,4,7,8,8,-1,9,10,&lt;br /&gt;                       -1,11,0,-4,8,12,7,12,5,6,-1,6,13,7,14,&lt;br /&gt;                       15,16,-1,6,-1,17,-1,11,18,19,0,0,-4,8,12,&lt;br /&gt;                       7,12,5,6,-1,5,20,12,15,16,-1,5,-1,17,-2,&lt;br /&gt;                       11,18,19,0,0,-4,1,2,3,4,5,6,-1,8,12,&lt;br /&gt;                       7,12,5,6,-1,21,22,5,23,-1,24,7,5,20,25,&lt;br /&gt;                       26,12,14,5,20,27,15,16,-1,7,14,27,8,28,-1,&lt;br /&gt;                       11,0,-8,1,25,29,30,31,32,28,19,0,-8,33,22,&lt;br /&gt;                       14,-1,25,5,20,12,-1,34,17,29,19,34,35,6,36,&lt;br /&gt;                       4,37,20,27,12,13,19,34,38,38,28,-1,11,0,-12,&lt;br /&gt;                       26,12,14,5,20,27,-1,12,-1,17,-1,39,40,39,-1,&lt;br /&gt;                       38,-1,25,6,15,34,16,17,17,40,41,40,40,-1,42,&lt;br /&gt;                       42,-1,6,15,34,16,17,17,40,41,41,40,-1,43,-1,&lt;br /&gt;                       39,41,41,39,-1,44,-1,39,39,28,-1,38,-1,6,15,&lt;br /&gt;                       34,16,-1,38,-1,39,40,39,19,0,-12,26,45,8,12,&lt;br /&gt;                       37,24,36,22,2,12,36,1,14,5,20,12,25,12,28,&lt;br /&gt;                       19,0,-12,5,33,-1,25,34,46,17,6,36,4,37,20,&lt;br /&gt;                       27,12,13,47,48,28,-1,26,45,8,12,37,24,36,22,&lt;br /&gt;                       2,12,36,1,14,5,20,12,25,39,30,39,28,19,0,&lt;br /&gt;                       -12,5,33,-1,25,25,34,38,48,28,49,48,29,17,17,&lt;br /&gt;                       29,28,-1,26,45,8,12,37,24,36,22,2,12,36,1,&lt;br /&gt;                       14,5,20,12,25,39,41,20,-23,39,28,19,0,-8,18,&lt;br /&gt;                       0,-8,1,25,31,32,30,50,48,28,19,0,-8,33,22,&lt;br /&gt;                       14,-1,25,5,20,12,-1,34,17,29,19,34,35,5,36,&lt;br /&gt;                       4,37,20,27,12,13,19,34,38,38,28,-1,11,0,-12,&lt;br /&gt;                       26,45,8,12,37,24,36,22,2,12,36,1,14,5,20,&lt;br /&gt;                       12,25,5,15,34,16,28,19,0,-12,5,33,-1,25,34,&lt;br /&gt;                       46,17,5,36,4,37,20,27,12,13,47,48,28,-1,26,&lt;br /&gt;                       45,8,12,37,24,36,22,2,12,36,1,14,5,20,12,&lt;br /&gt;                       25,39,30,39,28,19,0,-12,5,33,-1,25,25,34,38,&lt;br /&gt;                       48,28,49,48,51,17,17,29,28,-1,26,45,8,12,37,&lt;br /&gt;                       24,36,22,2,12,36,1,14,5,20,12,25,39,41,20,&lt;br /&gt;                       -23,39,28,19,0,-8,18,0,-8,1,25,50,48,30,5,&lt;br /&gt;                       36,4,37,20,27,12,13,28,19,0,-4,18,0,0,-4,&lt;br /&gt;                       1,14,5,21,7,12,37,-1,8,12,7,12,5,6,-1,&lt;br /&gt;                       21,22,5,23,-1,1,25,5,20,12,-1,20,30,5,20,&lt;br /&gt;                       12,-1,24,28,-1,11,0,-8,33,22,14,-1,25,5,20,&lt;br /&gt;                       12,-1,34,17,20,19,34,35,24,19,34,38,38,28,-1,&lt;br /&gt;                       11,0,-12,5,33,-1,25,5,15,34,16,52,29,28,-1,&lt;br /&gt;                       26,45,8,12,37,24,36,22,2,12,36,1,14,5,20,&lt;br /&gt;                       12,25,6,15,5,15,34,16,47,48,16,28,19,0,-12,&lt;br /&gt;                       37,4,8,37,-1,5,33,-1,25,5,15,34,16,17,17,&lt;br /&gt;                       29,28,-1,26,45,8,12,37,24,36,22,2,12,36,1,&lt;br /&gt;                       14,5,20,12,25,39,41,20,39,28,19,0,-12,37,4,&lt;br /&gt;                       8,37,-1,33,22,14,-1,25,5,20,12,-1,53,17,29,&lt;br /&gt;                       19,53,52,5,15,34,16,19,53,47,47,28,-1,26,45,&lt;br /&gt;                       8,12,37,24,36,22,2,12,36,1,14,5,20,12,25,&lt;br /&gt;                       39,-1,39,28,19,0,-8,18,0,-4,18,0,18};&lt;br /&gt;&lt;br /&gt;    public static void main(String[] args) {&lt;br /&gt;        p(0,38);&lt;br /&gt;        for (int j=0;j&amp;lt;c.length;j++) {&lt;br /&gt;            String t = "'" + (c[j]=='\'' || c[j]=='\\' ? "\\" : "") + c[j] + "'";&lt;br /&gt;            System.out.print(t);&lt;br /&gt;            if (j!=c.length-1) System.out.print(",");&lt;br /&gt;            if ((j+1)%10==0) System.out.print("\n                       ");&lt;br /&gt;        }&lt;br /&gt;        p(38,61);&lt;br /&gt;        for (int j=0;j&amp;lt;i.length;j++) {&lt;br /&gt;            System.out.print(i[j]);&lt;br /&gt;            if (j!=i.length-1) System.out.print(",");&lt;br /&gt;            if ((j+1)%15==0) System.out.print("\n                       ");&lt;br /&gt;        }&lt;br /&gt;        p(61,i.length);&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    private static void p(int n,int m) {&lt;br /&gt;        for (int j=n;j&amp;lt;m;j++) {&lt;br /&gt;            if (i[j]&amp;gt;0) System.out.print(c[i[j]-1]);&lt;br /&gt;            else if (i[j]==0) System.out.print("\n");&lt;br /&gt;            else for (int k=0;k&gt;i[j];k--) System.out.print(" ");&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18848841-7459484662362227355?l=smmse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://smmse.blogspot.com/feeds/7459484662362227355/comments/default' title='Legg inn kommentarer'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18848841&amp;postID=7459484662362227355' title='1 Kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18848841/posts/default/7459484662362227355'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18848841/posts/default/7459484662362227355'/><link rel='alternate' type='text/html' href='http://smmse.blogspot.com/2008/07/ein-quine-til.html' title='Ein quine til'/><author><name>SMMSE</name><uri>http://www.blogger.com/profile/05458340589967177945</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18848841.post-6796711478808352513</id><published>2008-07-15T10:08:00.001+02:00</published><updated>2008-07-15T10:23:42.917+02:00</updated><title type='text'>To quines</title><content type='html'>Berre for moro skuld. To &lt;a href="http://www.madore.org/~david/computers/quine.html"&gt;quines&lt;/a&gt; skrivne i Java.&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;public class Quine {&lt;br /&gt;    public static void main(String[] args) {&lt;br /&gt;        String s = "public class Quine {%n    public static void main(String[] args) {%n        String s = %2$c%1$s%2$c;%n        System.out.printf(s, s, 34);%n    }%n}";&lt;br /&gt;        System.out.printf(s, s, 34);&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;public class Q {&lt;br /&gt;    static byte[] c = {112,117,98,108,105,99,32,99,108,97,115,115,32,81,32,123,&lt;br /&gt;                       10,32,32,32,32,115,116,97,116,105,99,32,98,121,116,101,&lt;br /&gt;                       91,93,32,99,32,61,32,123,125,59,10,10,32,32,32,32,&lt;br /&gt;                       112,117,98,108,105,99,32,115,116,97,116,105,99,32,118,111,&lt;br /&gt;                       105,100,32,109,97,105,110,40,83,116,114,105,110,103,91,93,&lt;br /&gt;                       32,97,114,103,115,41,32,123,10,32,32,32,32,32,32,32,&lt;br /&gt;                       32,102,111,114,32,40,105,110,116,32,105,61,48,59,105,60,&lt;br /&gt;                       52,48,59,105,43,43,41,32,83,121,115,116,101,109,46,111,&lt;br /&gt;                       117,116,46,112,114,105,110,116,40,40,99,104,97,114,41,32,&lt;br /&gt;                       99,91,105,93,41,59,10,32,32,32,32,32,32,32,32,102,&lt;br /&gt;                       111,114,32,40,105,110,116,32,105,61,48,59,105,60,99,46,&lt;br /&gt;                       108,101,110,103,116,104,59,105,43,43,41,32,123,10,32,32,&lt;br /&gt;                       32,32,32,32,32,32,32,32,32,32,83,121,115,116,101,109,&lt;br /&gt;                       46,111,117,116,46,112,114,105,110,116,40,99,91,105,93,41,&lt;br /&gt;                       59,10,32,32,32,32,32,32,32,32,32,32,32,32,105,102,&lt;br /&gt;                       32,40,105,33,61,99,46,108,101,110,103,116,104,45,49,41,&lt;br /&gt;                       32,83,121,115,116,101,109,46,111,117,116,46,112,114,105,110,&lt;br /&gt;                       116,40,34,44,34,41,59,10,32,32,32,32,32,32,32,32,&lt;br /&gt;                       32,32,32,32,105,102,32,40,40,105,43,49,41,37,49,54,&lt;br /&gt;                       61,61,48,41,32,83,121,115,116,101,109,46,111,117,116,46,&lt;br /&gt;                       112,114,105,110,116,40,34,92,110,32,32,32,32,32,32,32,&lt;br /&gt;                       32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,&lt;br /&gt;                       34,41,59,10,32,32,32,32,32,32,32,32,125,10,32,32,&lt;br /&gt;                       32,32,32,32,32,32,102,111,114,32,40,105,110,116,32,105,&lt;br /&gt;                       61,52,48,59,105,60,99,46,108,101,110,103,116,104,59,105,&lt;br /&gt;                       43,43,41,32,83,121,115,116,101,109,46,111,117,116,46,112,&lt;br /&gt;                       114,105,110,116,40,40,99,104,97,114,41,32,99,91,105,93,&lt;br /&gt;                       41,59,10,32,32,32,32,125,10,125};&lt;br /&gt;&lt;br /&gt;    public static void main(String[] args) {&lt;br /&gt;        for (int i=0;i&amp;lt;40;i++) System.out.print((char) c[i]);&lt;br /&gt;        for (int i=0;i&amp;lt;c.length;i++) {&lt;br /&gt;            System.out.print(c[i]);&lt;br /&gt;            if (i!=c.length-1) System.out.print(",");&lt;br /&gt;            if ((i+1)%16==0) System.out.print("\n                       ");&lt;br /&gt;        }&lt;br /&gt;        for (int i=40;i&amp;lt;c.length;i++) System.out.print((char) c[i]);&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18848841-6796711478808352513?l=smmse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://smmse.blogspot.com/feeds/6796711478808352513/comments/default' title='Legg inn kommentarer'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18848841&amp;postID=6796711478808352513' title='0 Kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18848841/posts/default/6796711478808352513'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18848841/posts/default/6796711478808352513'/><link rel='alternate' type='text/html' href='http://smmse.blogspot.com/2008/07/to-quines.html' title='To quines'/><author><name>SMMSE</name><uri>http://www.blogger.com/profile/05458340589967177945</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18848841.post-2700179094318347612</id><published>2008-01-01T19:31:00.003+01:00</published><updated>2009-09-07T13:45:58.357+02:00</updated><title type='text'>Brev frå Schickard til Kepler</title><content type='html'>Den fyrste reknemaskina vi kjenner til vart laga av &lt;a href="http://www-history.mcs.st-andrews.ac.uk/Biographies/Schickard.html"&gt;Wilhelm Schickard&lt;/a&gt; i 1623. Dei einaste kjeldene som finst om denne maskina er to brev han skreiv til &lt;a href="http://www-history.mcs.st-andrews.ac.uk/Biographies/Kepler.html"&gt;Johannes Kepler&lt;/a&gt;, saman med nokre grove skisser han laga av maskina. Vi gjengjev nedanfor (for seinare bruk) desse skissene og omsetjing av utdrag frå breva som omtalar reknemaskina. &lt;br /&gt;&lt;br /&gt;Breva er skrivne på latinsk og finst i Johannes Kepler, &lt;i&gt;Gesammelte Werke&lt;/i&gt;. Omsetjinga mi er basert på fire omsetjingar i (Adam 1974; Nill 1999; Redin; Williams 1990) for det fyrste brevet og to omsetjingar i (Nill 1999; Redin) for det andre brevet, med ei viss forrang til (Nill 1999) i båe høva. Desse omsetjingane samsvarar ikkje heilt, så omsetjing mi er truleg ikkje heilt nøyaktige, men eg trur hovudbodskapen skal vere der.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Skisse med notatar&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.tonsenhagen.net/div/schickard1.jpg"/&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Utdrag frå brev til Johannes Kepler, 20. september 1623&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;table border="0" cellspacing="10"&gt;&lt;tr&gt;&lt;td width="100"&gt;&lt;/td&gt;&lt;td width="500"&gt;&lt;font size="-1"&gt;Vidare har eg i det siste freista gjere mekanisk det same som du gjer ved rekning, og har konstruert ei maskin med elleve heile og seks ufullstendige tannhjul som på ein augeblink automatisk reknar saman tal: adderer, subtraherer,  multipliserer og dividerer. Du ville sette i å le om du kunne sjå korleis ho av seg sjølv aukar siffera til venstre når det går over ein tiar eller ein hundrar, eller tek bort frå dei ved subtraksjon . . . &lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;b&gt;Utdrag frå brev til Johannes Kepler med skisse, 25. februar 1624&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.tonsenhagen.net/div/schickard2.jpg" width="500"/&gt;&lt;br /&gt;&lt;table border="0" cellspacing="10"&gt;&lt;tr&gt;&lt;td width="100"&gt;&lt;font size="-1"&gt;&lt;img src="http://www.tonsenhagen.net/div/schickard3.jpg"/&gt;&lt;br/&gt;Mellomtann- hjula flyttar seg alle naudsynleg mot venstre, ingen mot høgre, noko som forlangar serleg varsemd.&lt;/font&gt;&lt;/td&gt;&lt;td width="500"&gt;&lt;font size="-1"&gt;Eg vil ved eit anna høve gje ei meir nøyaktig forklaring av den matematiske maskina; for no, ta denne eg skriv i all hast: aaa er knappane til dei loddrette sylindrane, der multiplikasjonane til siffera er skrivi, og dei vert syna, om ein treng dei, gjennom dei flyttbare vindauga bbb. ddd er på innsida festa til tannhjul med ti tenner, som griper i kvarandre slik at når eit til høgre vert dreia rundt ti gonger vil det som er kopla på til venstre gå rundt ein gong, eller når det går rundt hundre gonger, vil det tredje verte flytta ein gong osb., riktig nok i den same retninga, noko som gjer ei samankopling til tilsvarande tannhjul h naudsynt. Kvart tal er synleg i hòla ccc på det midtre panelet. Endeleg peikar e på talskiver på den nedste panelet og f på tilsvarande vis på hòl som gjer synleg dei tala ein treng når maskina opererer. Men korleis det skjer kan ein ikkje raskt forklare. Det vil ein lettare forstå ved å sjå objektet. No hadde eg fått tinga eit eksemplar for Dykk frå Johann Pfister som er busett her, men dette halvferdige eksemplaret vart offer for ein brann som uforvarande braut ut der om natta for tre dagar sidan, saman med nokre andre av sakane mine, fyst og fremst nokre kopparstikk. Dette skulle Mütschelin kunne fortelje Dykk detaljert om. Dette tapet tek eg svært tungt, serleg av di det ikkje er tid til å raskt skaffe ein erstatning.&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;b&gt;Kjelder&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Adolf Adam. The Kepler-Schickart calculating machine. &lt;i&gt;Vistas in Astronomy&lt;/i&gt;, 18(1):881—886, 1974.&lt;br /&gt;&lt;br /&gt;Benjamin Nill. &lt;i&gt;&lt;a href="http://www.gris.uni-tuebingen.de/edu/projects/schickard/studw_1.pdf"&gt;WWW-basierte interaktive Visualisierung der Rechenmaschine Wilhelm Schickards durch ein Java 3D-Applet&lt;/a&gt;&lt;/i&gt;, Studienarbeit, Universität Tübingen, 1999. &lt;br /&gt;&lt;br /&gt;James Redin. &lt;a href="http://www.xnumber.com/xnumber/mechanical1.htm"&gt;A brief history of mechanical calculators&lt;/a&gt;. (Lesedato: 30. desember 2007)&lt;br /&gt;&lt;br /&gt;Michael R. Williams. Early calcuation. I, William Aspray (red.), &lt;i&gt;&lt;a href="http://www.computerhistory.org/collections/DocumentArchive/Documents/Books/Computing%20Before%20Computers/CBC.html"&gt;Computing before computers&lt;/a&gt;&lt;/i&gt;, side 3—58, Iowa State University Press, 1990.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18848841-2700179094318347612?l=smmse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://smmse.blogspot.com/feeds/2700179094318347612/comments/default' title='Legg inn kommentarer'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18848841&amp;postID=2700179094318347612' title='0 Kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18848841/posts/default/2700179094318347612'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18848841/posts/default/2700179094318347612'/><link rel='alternate' type='text/html' href='http://smmse.blogspot.com/2008/01/brev-fr-schickard-til-kepler.html' title='Brev frå Schickard til Kepler'/><author><name>SMMSE</name><uri>http://www.blogger.com/profile/05458340589967177945</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18848841.post-5026510015040697688</id><published>2007-12-29T02:10:00.002+01:00</published><updated>2009-09-07T13:58:09.525+02:00</updated><title type='text'>Rapport: Hjelper valkamp?</title><content type='html'>I midten av august sa eg at eg ville nytte resultata til RV, no Raudt, ved valet i år til å undersøke om vi kan seie noko om valkamp hjelper; med andre ord, har den innsatsen vi gjer på gata nokon effekt eller er valresultatet berre eit resultat av kven som gjer det bra i tv-debattar, generelle stemningar mellom veljarane eller liknande? Litt forsinka vil eg no presentere ei analyse av resultata. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Lokale tilhøve&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Lat oss byrje med å sjå om vi kan seie noko om lokale tilhøve. Av di RV ikkje stiller lister over heile landet i kommunevala, og det varierar litt kvar det er lister, er det ikkje like lett å samanlikne ulike delar av landet. Men grafen nedanfor viser valresultatet frå seks utvalte byar i dei ni siste vala. Om det ikkje finst lokal tilhøve som påverkar valresultata vil vi forvente at resultata i desse byane varierar like. &lt;br /&gt;&lt;img src="http://www.tonsenhagen.net/div/utvelte-byar.jpg"/&gt;&lt;br /&gt;Det vi kan sjå frå grafen er at det er stor grad av samvariasjon mellom byane, men òg at det finst markante unntak. Døme på det er Oslo i 1995, Kristiansand i 1997 og Bergen i 2007, der resultata går motsett veg av dei andre byane. Det er ikkje mogleg for meg å vurdere dei lokale valkampane i alle desse vala, og eg ønskjer ikkje å spekulere i, til dømes, kvifor Bergen hadde tilbakegang i år, men eg trur vi kan trekke to konklusjonar frå denne grafen: For det fyrste at vi kan snakke om landsdekkande framgang og tilbakegang i val (noko som indikerar at ikkje-lokale faktorar spelar inn), og for det andre at det samtidig finst lokale tilhøve eller lokale faktorar som kan gje kraftig påverknad på resultatet. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Valkamp&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Det at vi kan slå fast at det finst lokale tilhøve som påverkar valresultata er gode nyhende, men vi kan ikkje frå det umiddelbart trekke konklusjonen at det er lokal valkamp som gjer utslaget. For å sjå om eg kan seie noko om det skal eg ta føre meg valresultata frå Oslo i år. Det som gjer at valet i Oslo i år egnar seg til det er at det for fyrste gong har vore eigne bydelsval i alle bydelane, og at eg kan sjå desse resultata opp mot mi vurdering av valkampen i dei ulike bydelane. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Oslo 2005&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;For å illustrere korleis av analyserer resultata skal eg fyrst ta føre meg Oslovala frå 2003 og 2005, før eg går laus på valet i år. I diagrammet nedanfor kan vi sjå resultata frå desse vala delt opp i dei ulike bydelane i Oslo. &lt;br /&gt;&lt;img src="http://www.tonsenhagen.net/div/2003og2005.jpg"/&gt;&lt;br /&gt;Som vi kan sjå var desse vala veldig jamne, men at det er litt forskjell mellom bydelane; i dei fleste bydelane er det litt tilbakegang, men i nokre er det litt framgang. Av di resultata varierer mykje mellom bydelane er det òg vanskeleg å sjå om den relative tilbakegangen stort sett er den same, eller om det er variasjonar. For å sjå dette tydlegare har eg i diagrammet under plotta inn bydelane med 2003-resultata på &lt;i&gt;x&lt;/i&gt;-aksen og 2005-resultata på &lt;i&gt;y&lt;/i&gt;-aksen.&lt;br /&gt;&lt;img src="http://www.tonsenhagen.net/div/samvariasjon03-05.jpg"/&gt;&lt;br /&gt;Den blå lina i diagrammet representerar jamn tilbakegang; dvs. om den relative tilbakegangen i 2005-valet var lik for alle bydelane ville dei alle hamna på denne line. I dei bydelane som ligg over lina var valet betre enn det ein kunne forvente ut frå ein jamn tilbakegang, og i dei bydelane som ligg under line var valet dårlegare enn ein jamn tilbakegang. Den raude line er den beste rette lina ein kan trekke mellom punkta i diagrammet. Når vi kan sjå at ho er slakare enn den blå, tyder det at den relative tilbakegangen var størst i dei bydelane der RV gjer det bra. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Oslo 2007&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Lat oss no gå til valet i år. Vi byrjar med å samanlikne val til bystyret i 2007 med stortingsvalet i 2005. Frå 2005 til 2007 hadde RV stor framgang, frå 3,0% til 5,1% oppslutnad. Det fyrste spørsmålet vi kan stille oss er då om denne framgangen var jamn over heile byen, eller om det er visse bydelar som pekar seg ut. Som over plottar vi bydelane inn i eit diagram, denne gongen med 2005-resultata på &lt;i&gt;x&lt;/i&gt;-aksen og 2007-resultata på &lt;i&gt;y&lt;/i&gt;-aksen. &lt;br /&gt;&lt;img src="http://www.tonsenhagen.net/div/samvariasjon05-07.jpg"/&gt;&lt;br /&gt;I dette diagrammet kan vi sjå at den blå og den raude line er nesten samanfallande. Det vil seie at det ikkje er nokon systematisk forskjell på gode og dårelege bydelar, sånn som vi kunne sjå i 2005 då dei beste bydelane gjekk mest tilbake. Samtidig kan vi sjå at dei fleste bydelane ligg nære desse linene, så sett bort ifrå at Ullern, Nordre Aker og Gamle Oslo trekkjer litt opp og Grünerløkka litt ned, er framgangen stort sett spreidd jamt utover bydelane.&lt;br /&gt;&lt;br /&gt;Meir interessant er det kanskje å sjå valet til bystyre og vala til bydelsutval mot kvarandre. I diagrammet under er bydelane (utan Ullern der RV ikkje hadde bydelsliste) plotta inn med resultata frå bystyrevalet på &lt;i&gt;x&lt;/i&gt;-aksen og resultata frå bydelsvala på &lt;i&gt;y&lt;/i&gt;-aksen. &lt;br /&gt;&lt;img src="http://www.tonsenhagen.net/div/samvariasjon-bu.jpg"/&gt;&lt;br /&gt;RV gjorde det litt dårlegare i bydelsvala samla sett enn i bystyrevalet. Den blå lina viser kor bydelane hadde hamna om den relative tilbakegangen frå bystyrevalet til bydelsvala hadde vore lik for alle bydelane, medan den grøne lina viser kor dei hadde hamna om bydelsvala og bystyrevalet hadde gjevi nøyaktig same resultat. Som før er den raude lina den beste rette lina vi kan trekke mellom punkta.&lt;br /&gt;&lt;br /&gt;Dei bydelane som peikar seg positivt ut i bydelsvalet ved å liggje over den grøne og den blå lina er Grorud, Grünerløkka og Gamle Oslo. I tillegg ligg Alna og Søndre Nordstrand akkurat på lina, medan resten er med på å trekkje ned det samla resultatet av bydelsvala i større eller minder grad. Det interessante dette er at det samanfallar med mi subjektive vurdering av dei lokale valkampane til RV. I indre by var dei mest aktive valkampane i Grünerløkka og Gamle Oslo, medan Sagene og St. Hanshaugen sleit med å få fart på valkampen. I Groruddalen var valkampen mest aktiv i Grorud, med Alna på andreplass, medan Bjerke og Stovner ikkje klarte same aktivitetsnivå. Heller ikkje Nordre Aker kunne måle seg med dei beste bydelane. På vestkanten var det (ikkje så overraskande) lite lokal valkamp. Oslo Sør kan eg diverre ikkje gjere noko vurdering av. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Konklusjon&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Det er ikkje allverden vi kan lese ut av desse tala. Eg trur vi kan slå fast at det finst lokale tilhøve som gjer at oppslutnaden om RV kan variere ulikt på ulike stader i landet. Samtidig ser vi liten slik variasjon i Oslo, der det kan sjå ut som om den relative styrken mellom bydelane er veldig stabile. Sjølv med stor framgang i Oslo i valet i år er framgangen tilnærma lik i alle bydelane, sjølv om forskjellen i oppslutnad i dei ulike bydelane er veldig stor.  &lt;br /&gt;&lt;br /&gt;Men spørsmålet var om lokal valkamp har nokon innverknad på valresultatet. Og i tilhøvet mellom bystyrevalet og bydelsvala i Oslo i år ser det faktisk ut som vi har ein indikasjon på at lokal valkamp har innverknad på valresultata: I dei bydelane RV hadde den beste valkampen fekk RV dei beste resultata i bydelsvala relativt til bystyrevalet. Denne effekten er liten i forhold til den store framgangen alle bydelane hadde, men ser likevel ut til å vere til stades. Om det stemmer tyder det altså at sjølv om andre faktorar kan vere viktigare, er valkamp ein faktor å rekne med. Men det tyder truleg også at ein må investere mykje ressursar i ein valkamp for at den skal gjere seg gjeldande i høve til dei andre faktorane som spelar inn. I alle høve kan vi seie at hypotesen om at valkamp ikkje har nokon innverknad på valresultata ikkje har vorte styrka.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18848841-5026510015040697688?l=smmse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://smmse.blogspot.com/feeds/5026510015040697688/comments/default' title='Legg inn kommentarer'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18848841&amp;postID=5026510015040697688' title='3 Kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18848841/posts/default/5026510015040697688'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18848841/posts/default/5026510015040697688'/><link rel='alternate' type='text/html' href='http://smmse.blogspot.com/2007/12/rapport-hjelper-valkamp.html' title='Rapport: Hjelper valkamp?'/><author><name>SMMSE</name><uri>http://www.blogger.com/profile/05458340589967177945</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18848841.post-1544404976080101473</id><published>2007-08-15T23:43:00.001+02:00</published><updated>2009-09-07T13:59:12.951+02:00</updated><title type='text'>Prosjektskildring: Hjelper valkamp?</title><content type='html'>&lt;b&gt;Innleiing&lt;/b&gt;&lt;br /&gt;Eg har teki del i valkampane til Raud Valallianse sidan 1993, stort sett i Akershus. Etter fleire nedturar har eg byrja lure på om dei valkampane vi driv med har noko effekt på valresultatet, eller om dei vert dominert av generelle stemningsbølgjer mellom veljarane, partileiardebattar og andre ”ytre” faktorar. Ofte har det verka på meg som om same kor hardt vi jobbar i valkampen og kor godt vi utnyttar dei resursane vi har, så har det lite eller ingen innverknad på valresultatet. Det høyrer sjølvsagt med til historia at RV pga. sine småe økonomiske ressursar har hatt mykje av valkampen sin på gata og lite reklamekampanjar. &lt;br /&gt;&lt;br /&gt;Eg har overtydd meg sjølv til å ta del i valkampen for RV/Raudt i år òg, denne gongen i Oslo. Samtidig trur eg at dette valet gjev moglegheit for ei analyse av hypotesen om at valkamp av den typen RV driv ikkje hjelper på valresultatet.  &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Bakgrunn&lt;/b&gt;&lt;br /&gt;Valresultatet for RV har vore stabilt i Oslo dei tre siste vala, både det samla resultatet og resultata i dei ulike bydelane. Dette går tydeleg fram av figuren nedanfor, som viser valresultata for stortingsvalet i 2001, bystyrevalet i 2003, val til bydelsutvala i Sagene, Vestre Aker, Stovner og Østensjø i 2003 (forsøksordning med direkteval i utvelte bydelar) og stortingsvalet i 2005. Det mest interessante her er kanskje at variasjonen mellom bydelane er større enn variasjonen mellom vala. &lt;br /&gt;&lt;center&gt;&lt;img src="http://www.tonsenhagen.net/div/tidlegare-val.jpg"/&gt;&lt;/center&gt;&lt;br /&gt;Ved valet i år er det for fyrste gong direkteval til bydelsutvala i alle bydelane, og RV/Raudt stiller liste i alle bydelane med unntak av Ullern. Vi kan difor rekne med at lokalvalkamp i bydelane vil få eit større eller i det minste annleis fokus i utvelte bydelar enn tidlegare val av di ein òg driv valkamp for dei lokale kandidatane. Samtidig kan vi rekne med at RV/Raudt vil satse meir på austkantbydelane enn vestkantbydelane. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Metode&lt;/b&gt;&lt;br /&gt;I analysen vil eg freiste sjå valresultatet i år i høve til valresultata frå dei siste åra og sjå etter indikatorar som kan støtte eller svekke hypotesen om at valkampen i liten grad påverkar valresultatet. Ein slik indikator kan til dømes vere at dei prioriterte bydelane har større framgang enn dei nedprioriterte bydelane. Det vil òg sjølvsagt vere interessant å sjå på eventuelle forskjellar på resultatet i val til bystyre og val til bydelsutval.   &lt;br /&gt;&lt;br /&gt;Diverre er det vanskeleg å vurdere valkampen i år mot tidlegare valkampar. I alle høve seier hypotesen at ein framgang eller tilbakegang for RV skal fordele seg jamt over bydelane. Derimot vil eg freiste å samanhalde subjektive vurderinga av valkampen i dei ulike bydelane med valresultata.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Oppsummering&lt;/b&gt;&lt;br /&gt;Eg har ei hypotese om at valkampen som vert ført på gateplan har lite eller ingen innverknad på valresultata i samanlikning med ”ytre faktorar”, og vil freiste nytte valet i Oslo i år til å undersøkje denne hypotesen. Eg vonar sjølvsagt eg tek feil, så no er det berre å ta flygeblada og kome seg ut. Oppsummeringa kan venta i midten av september.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18848841-1544404976080101473?l=smmse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://smmse.blogspot.com/feeds/1544404976080101473/comments/default' title='Legg inn kommentarer'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18848841&amp;postID=1544404976080101473' title='0 Kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18848841/posts/default/1544404976080101473'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18848841/posts/default/1544404976080101473'/><link rel='alternate' type='text/html' href='http://smmse.blogspot.com/2007/08/prosjektskildring-hjelper-valkamp.html' title='Prosjektskildring: Hjelper valkamp?'/><author><name>SMMSE</name><uri>http://www.blogger.com/profile/05458340589967177945</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18848841.post-4274790596149916996</id><published>2007-03-14T00:27:00.000+01:00</published><updated>2007-03-14T00:34:01.518+01:00</updated><title type='text'>Operativsystemrevolusjonen</title><content type='html'>For alle som ønskjer å skjøne meir av dette med "Free Software" og "Open Source". Vi tilrår filmen &lt;i&gt;Revolution OS&lt;/i&gt;. Last ned her: &lt;a href="http://www.divxcrawler.com/movies.htm"&gt;http://www.divxcrawler.com/movies.htm&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Mykje greiare enn å lese &lt;a href="http://smmse.blogspot.com/2007/02/perspektiv-p-friopen-programvare.html"&gt;alle desse artiklane&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18848841-4274790596149916996?l=smmse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://smmse.blogspot.com/feeds/4274790596149916996/comments/default' title='Legg inn kommentarer'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18848841&amp;postID=4274790596149916996' title='0 Kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18848841/posts/default/4274790596149916996'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18848841/posts/default/4274790596149916996'/><link rel='alternate' type='text/html' href='http://smmse.blogspot.com/2007/03/operativsystemrevolusjonen.html' title='Operativsystemrevolusjonen'/><author><name>SMMSE</name><uri>http://www.blogger.com/profile/05458340589967177945</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18848841.post-1176240962584078149</id><published>2007-02-20T08:59:00.000+01:00</published><updated>2007-02-20T09:00:16.309+01:00</updated><title type='text'>Perspektiv på fri/open programvare</title><content type='html'>Ida Sofie Søland Jackson og Wilhelm Joys Andersen har ein artikkel i siste nummer av Rødt! der dei fremjar synet at fri/open programvare er kommunisme (&lt;a href="http://www.akp.no/roedt/2007/01/jackson-joys-andersen.php3"&gt;Digital dugnad – fremtiden er fantastisk&lt;/a&gt;. Rødt!, nummer 1, 2007; &lt;a href="http://trivini.no/w/text/fremtiden/"&gt;Fremtiden er fantastisk&lt;/a&gt;. Noko lengre utgåve av same artikkel). Dei som las &lt;a href="http://smmse.blogspot.com/2007/02/om-misoppfatninga-at-friopen.html"&gt;teksten min&lt;/a&gt; om fri/open programvare vil ha merka seg at eg er usamd i det. I alle høve trur eg det kan vere bra for venstresida med ein diskusjon rundt fri/open programvare og økonomi. Under har eg samla nokre artiklar som gjev eit litt anna syn på fri/open programvare:&lt;br /&gt;&lt;br /&gt;Andrea Bonaccorsi, Cristina Rossi. &lt;a href="http://www.firstmonday.org/issues/issue9_1/bonaccorsi/index.html"&gt;Alturistic individuals, selfish firms? The structure of motivation in open source software&lt;/a&gt;. First Monday, issue 1, volume 9, 2004.&lt;br /&gt;&lt;br /&gt;Biella Coleman, Benjamin Mako Hill. &lt;a href="http://journal.media-culture.org.au/0406/02_Coleman-Hill.php"&gt;How free became open and everything else under the sun&lt;/a&gt;. M/C journal, issue 3, volume 7, 2004.&lt;br /&gt;&lt;br /&gt;Benjamin Mako Hill. &lt;a href="http://mako.cc/writing/funding_volunteers/"&gt;Problems and strategies in financing voluntary free software projects&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;David Lancashire. &lt;a href="http://www.firstmonday.org/issues/issue6_12/lancashire/index.html"&gt;Code, culture and cash: The fading altruism of open source development&lt;/a&gt;. First Monday, issue 12, volume 6, 2001.&lt;br /&gt;&lt;br /&gt;David McGowan. &lt;a href="http://www.firstmonday.org/issues/special10_10/mcgowan/index.html"&gt;There's no such thing as free software (And it's a good thing, too&lt;/a&gt;. First Monday, Special issue 2, volume 10, 2005.&lt;br /&gt;&lt;br /&gt;Bruce Perens. &lt;a href="http://www.firstmonday.org/issues/special10_10/perens/index.html"&gt;The emerging economic paradigm of open source&lt;/a&gt;. First Monday, Special issue 2, volume 10, 2005.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18848841-1176240962584078149?l=smmse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://smmse.blogspot.com/feeds/1176240962584078149/comments/default' title='Legg inn kommentarer'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18848841&amp;postID=1176240962584078149' title='0 Kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18848841/posts/default/1176240962584078149'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18848841/posts/default/1176240962584078149'/><link rel='alternate' type='text/html' href='http://smmse.blogspot.com/2007/02/perspektiv-p-friopen-programvare.html' title='Perspektiv på fri/open programvare'/><author><name>SMMSE</name><uri>http://www.blogger.com/profile/05458340589967177945</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18848841.post-117131939229134124</id><published>2007-02-12T23:18:00.002+01:00</published><updated>2009-09-07T14:00:59.917+02:00</updated><title type='text'>Om ... misforståingar knytt til datateknologi II</title><content type='html'>(I ein serie tekstar vil eg ta for meg ei rekkje misforståingar og feilaktige analyser knytt til datateknologi som eg oppfattar eksisterar på venstresida. &lt;a href="http://smmse.blogspot.com/2007/02/om-misoppfatninga-at-friopen.html"&gt;Del I&lt;/A&gt; omhandla ideen om at fri/open programvare er ein form for kommunisme. Del II som byrjar under tek for seg ideen om at ting er gratis. Av di det er i ferd med å verte ganske langt tek teksten under berre for seg ting som har med internettet å gjere. Del II-B som omhandlar programvare kjem seinare.)&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Del II: There is no such thing as a free lunch&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Det er ikkje mykje som er gratis her i verda. Nokon gratis ting finst framleis, sånn som eit kyss frå kjærasten, bær du plukkar i skogen og flyttehjelp frå vener, og takk og lov for det. Det meste anna må du diverre betale for.&lt;br /&gt;&lt;br /&gt;Men det finst ein del ting som tilsynelatande er gratis, og det finst det ein del misoppfatningar om. Ofte når du et på gresk restaurant vil du etter middagen få eit glas ouzo sjølv om du ikkje har tinga det og som ikkje kjem på rekninga. Gratis ouzo, tenkjer du, det var hyggeleg av restauranteigaren. Men ouzoen er berre tilsynelatande gratis av di betalinga er indirekte. Prisen på ouzoen er bakt inn prisane på dei andre tinga dei sel, og du har betalt for han gjennom det du betalte for salaten og moussakaen du åt. Eit lite glas ouzo kostar truleg ikkje så mykje, så prisen på moussakaen vert ikkje merkbart høgare. Men det at betalinga for noko er låg og/eller indirekte tyder ikkje at du ikkje betalar for det.&lt;br /&gt;&lt;br /&gt;I den digitale verda er det mykje som tilsynelatande er gratis utan å vere det. For å lage ei god analyse datateknologi og korleis det påverkar samfunnet er det viktig å vere klar over det, og det er det eg vil gå inn på her. Eg skal ta for meg tre ting: internettet sjølv, såkalla gratistenester på internettet og dataprogram. Fildeling skal eg kome inn på seinare.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;II-A Internett&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Internettet er nesten magisk, og det er ikkje så vanskeleg å få inntrykk av at det er gratis og egalitært &amp;ndash; at alle kan nytte det og gjere kva dei vil der. Grunnen til at det er sånn er at internettet (eller kyberrommet om du likar fancy ord) må skjønast på eit høgt abstraksjonsnivå. Internettet er som ei usynleg og immateriell forlenging av datamaskina di &amp;ndash; eit abstrakt rom eller dimensjon som eksisterar parallelt med den materielle røynda. I dette rommet kan du rekkje ut og hente ned informasjon, og du kan opprette kommunikasjonskanalar til andre som har internettet som ei forlenging av datamaskina si. Det er på dette nivået vi må skjøne internettet for å kunne bruke det, og som vi skjønar internettet på når vi brukar det (er på det). (Sagt litt enklare, du opnar nettlesaren din, og der er det.) Dette nivået er internettet si overbygging, og på dette nivået er det lett å tenkje på internettet som noko fritt og opent.&lt;br /&gt;&lt;br /&gt;Men internettet har òg ein basis. Denne basisen er fysisk og vert utgjort av datamaskinar og kablar. I ytterkantane sit datamaskina di og datamaskinene til alle andre brukarar av internett og innanfor desse ytterkantane er det rutarar og tenarar (serverar). Alle desse datamaskinane er knytt saman av kablar, anten av kobbar eller fiberoptikk (og i tillegg litt radiokommunikasjon i ytterkantane). På det abstrakte nivået vi nyttar internettet (overbygginga) ser vi lite til denne basisen, og det er òg meininga. Men det tyder sjølvsagt ikkje at basisen ikkje påverkar overbygginga. For å vise korleis basisen påverkar overbygginga skal eg gå litt i detalj om korleis internettet er bygd opp.&lt;br /&gt;&lt;br /&gt;(Den følgjande utgreiinga vart litt lang og teknisk. Eg trur det skal vere ganske trygt å hoppe over ho om du ikkje orkar lese det. Difor markerar eg denne biten med ein annan font sånn at du lett kan sjå kvar du bør byrje lese igjen.)&lt;br /&gt;&lt;br /&gt;&lt;font face="verdana" size="-1"&gt;Mellom det fysiske nivået og det abstrakte nivået vi nyttar internettet ligg det som kallest ein protokollstakk. Ein protokoll (i dette tilfellet) er ein standardisert metode for kommunikasjon mellom datamaskinar, og ein protokollstakk tyder at det er fleire lag med protokollar som ligg oppå kvarandre. Kvart lag (protokoll i stakken) representerer ein abstraksjon i høve til det som ligg under, og til saman utgjer desse laga abstraksjonen frå fysiske nettverk opp til det du ser i nettlesaren din. Alle desse laga er med andre ord med på å påverke korleis det ser på toppen.&lt;br /&gt;&lt;br /&gt;Det fysiske internettet er bygd opp av mange ulike nettverk som nyttar ulik nettverksteknologi, til dømes Ethernet, ADSL, ATM eller fiberoptikk. Kvar av desse teknologiane har sin eigen kommunikasjonsprotokoll som seier korleis datamaskinar skal kommunisere over akkurat denne typen nettverk. Over alle desse teknologiane og protokollane ligg det som på mange måtar er kjernen i internettet, internettprotokollen (Internet Protocol &amp;ndash; IP).&lt;br /&gt;&lt;br /&gt;Internettprotokollen gjev ein metode for å kommunisere mellom to datamaskiner kopla til internettet. Kvar maskin har eit unikt tal som fungerar som adresse (såkalla IP-adresse) og kommunikasjonen skjer ved at maskinene sender stykke med data (IP-pakker) til kvarandre. Når ei maskin sender ei datapakke til ei anna maskin vil den som regel gå gjennom fleire andre maskiner og nettverk på vegen. Pakka har med seg adressa til mottakaren og kvar maskin den er innom vil sørgje for å sende ho eit hakk nærmare destinasjonen. Internettprotokollen kjenner til alle dei ulike nettverksteknologiane internettet er bygd opp av og for kvart nettverk pakka går gjennom på vegen sin gjennom internettet vil ho verte pakka inn i den aktuelle nettverksteknologien. Det internettprotokollen gjer er altså å skjule alle dei mellombels maskinene og nettverksteknologiane pakka er innom på vegen sånn at dei to maskinene som kommuniserer med kvarandre ikkje treng ta omsyn til det. Det einaste ein treng å forhalde seg til er internettprotokollen. (Ein vanleg analogi er postverket. Du skriv ei adressa på eit brev og leverer det på postkontoret, og dagen etter ligg det i postkassa til mottakaren. Kvar og kor mange gonger brevet har vorte sortert, om det var vorte sendt med bil, tog eller fly, osb. treng du ikkje å bry deg om, det einaste du treng å forhalde deg til er postkontoret og postkassa.) Det er viktig å merke seg (noko vi òg skal kome tilbake til) at internettprotokollen gjev inga garantiar. Det einaste den gjer er å freiste sende ei IP-pakke nærmare destinasjonen &amp;ndash; det er ingen garantiar for at pakka tek den kortaste vegen, at dataa ikkje er vorte korrumpert på vegen eller at ho kjem fram i det heile.&lt;br /&gt;&lt;br /&gt;Oppå internettprotokollen finst det eit nytt lag med protokollar (som nyttar og skjuler internettprotokollen, og gjev deg noko meir). Dei vanlegaste er User Datagram Protocol (UDP) og Transmission Control Protocol (TCP). UDP er ein veldig enkel protokoll som ikkje gjer noko serleg meir enn IP sett bort i frå at han sørgjar for at pakkane som kjem fram er heile (ikkje korrumperte), men framleis utan garantiar for at dei kjem fram. TCP derimot er ein protokoll som sørgjer for at alle dataa kjem fram dit dei skal, i tillegg til at han lagar ein abstrakt kanal mellom to datamaskiner som ein kan sende ein straum av data på i staden for pakker. TCP deler straumen opp i passande bitar og sendar dei som IP-pakker. Mottakaren sender svar og seier kva for pakker som har vorte motteki, og om det ikkje kjem noko svar for ei pakke innan ei viss tid vert pakka sendt på nytt. På mottakarsida vert bitane satt saman (i riktig rekkjefølgje) til ein straum igjen etterkvart som pakkene kjem inn. På den måten vert både konseptet "pakke" og upålitelegheita i internettprotokollen skjult for dei som nyttar TCP. TCP gjer òg ein ting til, og det er å freiste hindre at vegen gjennom internettet som kanalen nyttar vert overbelasta. Korleis protokollen finn ut at det er overbelastning er ikkje interessant her, meir interessant er kva han gjer med det: sender data seinare (med lægre pakkerate).&lt;br /&gt;&lt;br /&gt;Over UDP og TCP ligg det nok eit lag med protokollar. Til dømes Voice over IP (VoIP) nyttar UDP (av di det er ikkje så farleg om skurrar litt i telefonen), men dei fleste nyttar TCP. For eksempel Hypertext Transfer Protocol (HTTP), File Transfer Protocol (FTP) og Simple Mail Transfer Protocol (SMTP) nyttar TCP for å overføre HTML-sider, filer og e-post mellom to maskiner. Sidan desse protokollane berre ser TCP treng dei ikkje bry seg om at IP ikkje gjev garantiar. Samtidig skjular dei konseptet "straum av data" og opererar med sider, filer, e-post osb. i staden. Protokollane på dette nivået vert så nytta av dataprogram. T.d. Skype nyttar VoIP, ein nettlesar nyttar HTTP og eit e-postprogram nyttar SMTP. På toppen av det heile sit du og nyttar desse dataprogramma på datamaskina di utan å bry deg i det heile om protokollar. Gjennom desse programma vert internettet ei forlenging av datamaskina di, og vi er tilbake der vi starta. (Figuren under freistar illustrere laga).&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;&lt;center&gt;&lt;img src="http://www.tonsenhagen.net/div/protokollstakken.jpg"/&gt;&lt;/center&gt;&lt;br /&gt;&lt;br /&gt;Frå denne (litt lange) utgreiinga er det tre ting vi skal ta med oss vidare: At internettet i botn er fysiske nettverk, upålitelegheita til internettprotokollen og metoden TCP nyttar for å hindre overbelastning.&lt;br /&gt;&lt;br /&gt;Å bruke internettet gjev inntrykk av å vere fritt og gratis &amp;ndash; du når heile verda, det er ikkje noko teleskritt og du treng ikkje tenkje på at det er dyrt å kople seg til ein tenar i USA, t.d., sånn ein tenkjer når ein nyttar telefon. Men i botn av internettet ligg det fysiske nettverk &amp;ndash; kablar, tenarar og ruterar &amp;ndash; og desse nettverka er det noko som eig. Noko av det er offentleg, men brorparten er truleg privat &lt;a href="http://blogs.cio.com/node/209"&gt;*&lt;/a&gt; og du (evt. arbeidsgjevaren din) må betale for å nytte dei. Grunnen til at det verkar fritt er at betalinga for bruk av mesteparten av det er indirekte. Når du har ei internettline heim til deg betalar du gjerne ein månadsavgift til Telenor, Get, Nextgentel eller ein annan leverandør for å få nytte nettverket deira. Men sjølv om du har Telenor som internettleverandør er det ikkje sånn at du berre kan sende e-post til andre Telenorkundar eller berre surfe på Telenornettet. Grunnen til dette er at dei ulike nettverkseigarane har avtalar med kvarandre &amp;ndash; dei samarbeidar (du får nytte mitt nett om eg får nytte ditt) og små nettverk kjøper tilgang til store nettverk &lt;a href="http://blogs.cio.com/node/223"&gt;*&lt;/a&gt;. Det det vil seie er at når du betalar til til dømes Telenor betalar du indirekte for å nytte alle dei andre netta som er knytt saman i internettet. Så med andre ord, du betalar direkte for bruk av ein liten del av internettet og indirekte for resten. Men gratis er det ikkje, det berre kjennest sånn av di betalinga er indirekte.&lt;br /&gt;&lt;br /&gt;Det opne, frie, anarkistiske, egalitære, kall det kva du vil, inntrykket ein får av internettet er eit resultat av dei tekniske løysingane, eller med andre ord eit resultat av korleis protokollane er laga. På IP-nivået i protokollstakken er alle data like, det finst berre IP-pakker. Mekanismane som sørgjer for at pakkene kjem fram veit ikkje om dei inneheld delar av ein e-post, internettside, telefonsamtale eller noko anna, og gjer ikkje forskjell på dei. Internettprotokollen gjer heller ikkje forskjell på folk, det ingen forskjell på om det er deg, meg eller noko andre som sender eller skal motta pakka. Om nettverket vert overbelasta vil pakker forsvinne, men det er ingen som har forrang og kven sine pakker som vert borte er tilfeldig. &lt;br /&gt;&lt;br /&gt;Mykje av trafikken på internettet nyttar TCP. Som eg skreiv over vil TCP freiste hindre overbelastning ved å sende færre pakker, altså nytte mindre av kapasiteten og heller overføre dataa over lengre tid. På den måten har internettet ein slags innebygd folkeskikk &amp;ndash; no kom det fleire her, lat oss lage litt plass til nykomarane. Desse enkle og grunnleggande mekanismane gjer at internettet er likt for alle og sikrar ei viss plass for alle. Truleg var bakgrunnen for dette at ein ønskte enkle mekanismar for kommunikasjonen, men resultatet er fint for oss som set likskap høgt. Denne likskapen i basisen gjenspeglar seg i ein likskapstanke i overbygginga.&lt;br /&gt;&lt;br /&gt;Men dette kan kome til å endre seg &lt;a href="http://blogs.cio.com/node/200"&gt;*&lt;/a&gt;. Nettverkseigarane er sjølvsagt interessert i tene mest mogleg pengar på nettverka sine, men det er vanskeleg når ein generelt ikkje kan gje garantiar og internettet er likt for alle. Ei løysing for internettilbydarane (ISPane) som Telenor og Get er å setje opp gode proxyar. Det vil seie at dei set opp tenarar nærme kundane sine som anten speilar populære ting på internettet eller har eiga innhald, til dømes filmar til nedlasting mot betaling. Slike tenarar er berre tilgjengleg for kundane deira og kan gje betre tilgang til ting. Såleis kan dei få eit konkuransefortrinn ovanfor andre internettilbydarar ved at dei bryt med prinsippet om at alt er like tilgjengeleg for alle. Men for dei som eig ryggraden i internettet (motorvegane som knyter dei ulike nettverka saman, om du vil) hjelper ikkje dette. Dei ønskjer seg å kunne ta ekstra betalt for ekstra garantiar. Sånn det er no, om du kjøper ei internettline på t.d. ein megabit, er det berre på nettverket til tilbydaren din du er garantert å ha ei bandbreidd på ein megabit, i resten av internettet kjem det heilt an på kva for nettverk du er innom og kva trafikken er for augneblinken. Det eigarane av ryggraden vil er at ein skal kunne reservere bandbreidd gjennom heile internettet om ein er interessert i å betale for det. Ein kan då sjå føre seg ein betalingsmodell alla det ein har for internasjonale telefonsamtalar i dag, altså at ein betalar ein form for teljarskritt når ein nyttar andre nettverk enn det ein er direkte kopla til, og til gjengjeld får ei reservert line med ei gjevi bandbreidd.&lt;br /&gt;&lt;br /&gt;Om dei får det til vil det sjølvsagt gå ut over prinsippet om at internettet er likt for alle, og då truleg ramme dei som har mindre pengar å rutte med. &lt;i&gt;Om&lt;/i&gt; dei får det til er sjølvsagt eit spørsmål vi ikkje veit svaret på; dette har vore eit tema i minst 10 år no og framleis ikkje fått noko gjennomslag i praksis. Men vi veit faktisk ikkje kva framtida til bringe (eit tema eg skal kome tilbake til seinare), og eg trur det er farleg å ta det for gjevi at internettet vil ha den forma det har no for all framtid (eller tru at det vil ha den forma det hadde tidleg på 90-talet for all framtid, noko ein del folk synest å tru). Spør du meg er dette ei utvikling det er langt meir interessant å følgje med på enn mykje anna snakk om internettet (og grunnen til at eg meiner staten skulle droppe dette vanvittig teite digitale bakkenettet og heller satse på å leggje offentlege kablar i bakken). Det er i det heile på tide at vi innser at internett er eit spørsmål om infrastruktur og kven som skal eige infrastrukturen, og at spørsmål rundt infrastruktur er politiske spørsmål som i høg grad har med samfunnsutviklinga å gjere.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Såkalla gratistenester&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Til slutt skal eg seie litt om såkalla gratistenester ein finn på internett. Det er litt på sida, men ein fin studie i indirekte betalingsformar. &lt;br /&gt;&lt;br /&gt;Den fyrste grunnen til at dei ikkje er gratis er nettopp at du i utgangspunktet betalar for å bruke internettet, men det er ikkje alt. &lt;br /&gt;&lt;br /&gt;Mange av desse tenestene er (delvis) reklamefinansiert, som til dømes Google og Gmail som eg skreiv om i del I. Spørsmålet er, kven betaler for reklamen? Det er sjølvsagt verksemdene som sel produkta det vert reklamert for. Kvar får desse verksemdene pengar til å kjøpe reklame? Frå sal av produkta sine. Så kvar kjem pengane frå? Frå dei som kjøper produktet. Med andre ord: Når du kjøper eit produkt betalar du ikkje berre for produktet, men òg for reklamen for produktet. Om verksemda har reklamert på til dømes Google er du med å betale for søkjetenesta alle kan nytte. Dette er ikkje noko annleis enn andre ting som er reklamefinansiert. Det gjeld like mykje for til dømes reklamefinansierte TV-kanalar og reklamefinansierte aviser.&lt;br /&gt;&lt;br /&gt;Men pengar er ikkje den einaste verdien du har å gje frå deg. Informasjon om potensielle kundar er nyttig når ein skal reklamere (sjå over), og det finst ein marknad for slik informasjon. Når du får adressert reklame i posten kan det vere av di til dømes avisa Klassekampen har selt adressa di til nokon som trur at lesarar av Klassekampen er interessert i produktet deira. Når du registrerer deg på og/eller nyttar ei såkalla gratisteneste på internettet legg du igjen informasjon om deg sjølv, til dømes e-postadresse eller søkjeord. Som med bustadadresse og Klassekampenabonnement er dette informasjon som kan nyttast til retta reklame, og difor har verdi. Det er med andre ord mogleg å betale med informasjon i staden for pengar.&lt;br /&gt;&lt;br /&gt;Heilt til slutt finst det tenester som delvis kan nyttast fritt og delvis kostar pengar. Eit eksempel på dette er Skype. Om du nyttar Skype til å ringje nokon som òg har Skype på datamaskina si betalar du ingenting, men om du nyttar Skype til å ringje ein vanleg telefon kostar det pengar. Desse pengane er sjølvsagt med å finansiere den delen som kan nyttast fritt. Det vil seie at betalinga for å ringje til telefon er direkte (med teljarskritt), medan betalinga for å ringje mellom to datamaskiner er indirekte gjennom betalingstenesta. &lt;br /&gt;&lt;br /&gt;Altså, som mykje anna i verda som tilsynelatande er gratis er dei fleste internettenester eigentleg ikkje gratis. Vi berre får inntrykket av det, sidan betalinga er låg og/eller indirekte.&lt;br /&gt;&lt;br /&gt;&lt;i&gt;Neste: Om dataprogram/programvare&lt;/i&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18848841-117131939229134124?l=smmse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://smmse.blogspot.com/feeds/117131939229134124/comments/default' title='Legg inn kommentarer'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18848841&amp;postID=117131939229134124' title='1 Kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18848841/posts/default/117131939229134124'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18848841/posts/default/117131939229134124'/><link rel='alternate' type='text/html' href='http://smmse.blogspot.com/2007/02/om-misforstingar-knytt-til.html' title='Om ... misforståingar knytt til datateknologi II'/><author><name>SMMSE</name><uri>http://www.blogger.com/profile/05458340589967177945</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18848841.post-117044120063881397</id><published>2007-02-02T19:13:00.000+01:00</published><updated>2007-02-02T19:33:20.663+01:00</updated><title type='text'>Om misoppfatninga at fri/open programvare er kommunisme og andre misforståingar knytt til datateknologi</title><content type='html'>På venstresida finst det ei rekkje misoppfatningar rundt datateknologi. I ein serie framover vil eg freiste ta dei for meg. Det er ikkje meint som noko angrep på fri/open programvare eller tilliggjande herlegdomar. Eg er motstandar korkje av Linux eller Wikipedia. Men eg er motstandar av desse analysane som tek heilt av, til dømes at fri/open programvare er ein form for kommunisme og at fildeling kjem til å bryte ned kapitalismen. Dette er ei freistnad på å bringe litt edruskap og realisme inn i analysen av datateknologi.&lt;br /&gt;&lt;br /&gt;Det eg kjem til å skrive om er ting eg har meint ein stund, og ofte har tenkt at eg skal skrive ned. Det som fekk meg til å byrje var artikkelen "Fremtiden er fantastisk" av Wilhelm Joys Andersen og Ida Sofie Søland Jackson &lt;a href="http://trivini.no/w/text/fremtiden/"&gt;*&lt;/a&gt;. Det er ein god og leseverdig artikkel som på ein god måte fortel om fri/open programvare, fildeling og anna, og som oppsummerar mange av syna eg er usamd i.&lt;br /&gt;&lt;br /&gt;Her kjem del I, resten kjem seinare.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Del I: Fri/open programvare er ein forretningsmodell (rekk opp handa alle som har endra eit dataprogram)&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Fri programvare er eit omgrep som omfattar ganske mykje forskjellig. For å gjere ting litt greiare vil eg skilje mellom &lt;i&gt;fri&lt;/i&gt; programvare og &lt;i&gt;open&lt;/i&gt; programvare. (Det finst eit stort omgrepsapparat for å skilje mellom ulike nyansar, til dømes tyder "freeware" og "free software" ikkje det same. Dette er noko eg aldri har brydd meg serleg om å setje meg inn i; hovudskilje går mellom "fri" og "open". Men for dei som tykkjer dette er viktig nyttar eg omgrepet "fri programvare" meir i tydinga "freeware" enn "free software" og det påståtte skiljet mellom "free software" og "open source software" gjev eg blanke i.) Fri programvare er dataprogram som på ein eller anna måte og av ein eller anna grunn er fritt tilgjengeleg, altså dataprogram du på lovleg vis kan få tak i utan å betale for det. Dette er i kontrast til dataprogram du må betale for. Open programvare er dataprogram der koden til programmet er fritt tilgjengeleg. Sjølvsagt er all open programvare også fri programvare, men det motsette er ikkje tilfelle. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Fri programvare&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Det finst masse programvare som er fri utan at koden er tilgjengeleg for alle og einkvar. Eit kanskje kuriøst døme er "Home of the Underdogs" &lt;a href="http://www.the-underdogs.info/"&gt;*&lt;/a&gt;, ei internettside der ein kan laste ned mengder av gamle dataspel. Desse dataspela er frie av di dei som eig retten til dei ikkje bryr seg om å selje dei lenger. Meir interessant er det at fri programvare ofte inngår i ein forretningsmodell der inntektene kjem frå andre (og kanskje meir indirekte) kjelder. Eg skal freiste gje nokre døme.&lt;br /&gt;&lt;br /&gt;1. Microsoft, har sal av programvarelisensar som forretningsmodell. Likevel gjev dei ut nokre program fritt, til dømes Microsoft Media Player og Messenger, som du òg kan få til Mac. Grunnen til dette er truleg merkjevarebygging og kapring av kundar frå andre tilbydarar av fri programvare.&lt;br /&gt;&lt;br /&gt;2. Eit fritt tilgjengeleg program mange av oss nyttar dagleg er Adobe Reader, PDF-lesaren til Adobe. Adobe Reader er fritt for å fremje PDF, som er Abobe sitt format. Ved at PDF er vorte ein de facto standard for distribusjon og lagring av dokument kan Adobe selje andre dataprogram knytt til PDF, til dømes Adobe Distiller som konverterar andre filformat til PDF. Det at PDF er eit ope format og at det finst andre program som gjer det same endrar ikkje saka. Adobe Reader fungerar som reklame for Adobe Distiller og Adobe sit i alle høve nærmast formatet og vil difor ha eit fortrinn over konkurantane.&lt;br /&gt;&lt;br /&gt;3. Frå Apple kan du få fritt få musikkspeleprogrammet iTunes til både Mac og Windows, truleg for å fremje filformatet AAC, musikksal gjennom iTunes Store og Apple sin eigen lommemusikkspelar iPod.&lt;br /&gt;&lt;br /&gt;4. Google (som dessutan eig Blogger og YouTube) har ein del tenester fritt tilgjengeleg, til dømes internettsøk og e-posttenesta Gmail, men òg nokre program ein kan laste ned, til dømes ein verktymeny for nettlesarar for internettsøking og eit program for søking på di eiga datamaskin. Kva tener Google pengar på når alt dei tilbyr til brukarane sine er fritt tilgjengeleg? I hovudsak to ting. Dei tener pengar på retta reklame. Når du nyttar tenester frå Google betalar du ikkje med pengar, men du betalar med informasjon om deg sjølv, til dømes kva for ord du søkjer på og kva du skriv i e-posten din. Denne informasjonen nyttar Google til å gje deg reklame for ting dei trur du er interessert i. Til dømes kan du leggje merke til dei sponsa lekkjene når du søkjar med Google; det er reklame nokon har betalt for at skal vere der. Den andre tingen dei tener pengar på er lisensar på søkjeprogrammet sitt. På start.no &lt;a href="http://start.no"&gt;*&lt;/a&gt; til dømes vil du sjå at søkjefunksjonen er "Levert av Google". Firma kan nytte Google til søk på eigne internettsider, men det må dei betale for. Den fritt tilgjengelege søkjesida som alle kjenner til fungerar som reklame for dei som treng ein søkjefunksjon på eiga internettside. I tillegg vil alle søka som vert gjort på den fritt tilgjengelege søkjesida hjelpe Google å lage betre søkjeteknologi.&lt;br /&gt;&lt;br /&gt;5. Det har vorte hevda at ein hovudgrunn til at det norske programmeringsspråket Simula aldri fekk noko stort gjennombrot var at kompilatoren kosta alt for mykje. Nesten ingen universitet kunne ta seg råd til det, difor vart det nesten ingen stadar nytta i undervisninga av kommande programvareutviklarar, osb. Dette var ein feil Sun Microsystems ikkje gjorde. Då dei lanserte programmeringsspråket Java in 1996 vart alt du trengte for lage og kjøre javaprogram på Windows, Mac og Solaris fritt tilgjengeleg. Det at Java i dag er eit av dei mest brukte og underviste programmeringsspråka er sjølvsagt god reklame for Sun. I tillegg lisensierte dei ut (dvs. selde) kjeldekoden til Java til ei rekkje andre programvareprodusentar. &lt;a href="http://www.sun.com/smi/Press/sunflash/1996-01/sunflash.960123.10561.xml"&gt;*&lt;/a&gt; Sun har no opna kjeldekoden til Java, noko vi skal sjå på lengre nede.&lt;br /&gt;&lt;br /&gt;Som vi kan sjå er det fullt mogleg å gje ut programvare fritt og likevel tene pengar. Eller med andre ord, fri programvare kan fint gå inn i ein forretningsmodell.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Dugnad&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Ting vert meir interessant når vi går over til &lt;i&gt;open&lt;/i&gt; programvare, altså dataprogram der koden er fritt tilgjengeleg for den som vil. Ein skal ikkje underslå at ein del av dette er laga av folk med idealistiske motiv og stor dugnadsånd, og som usjølvisk ønskjer å dele arbeidet sitt med andre. Dette er eg umåteleg glad for. Eg tør ikkje tenkje på korleis kvardagen min hadde sett ut utan cygwin, emacs, LaTex, dvips og GSView, kanskje dei viktigaste programma på datamaskina mi.&lt;br /&gt;&lt;br /&gt;Vi må anerkjenne at det blant folk finst ei enorm dugnadsånd, samarbeidsvilje, skaparkraft, og glede over å dele med andre. Vidare at nokon gonger er resultatet av dette like bra som kommersielle produkt. Om det er noko som gjev meg tru på menneskeheita, så er det dette. Dugnad er ikkje noko nytt, nytt i denne samanhengen er at dei som tek del i dugnaden ikkje fysisk og geografisk er på same stad, at dei er organisert i lause organisasjonar, at det er mange som jobbar saman, og at det er mange som nyt godt av arbeidet dei gjer, ofte veldig mange fleir enn dei som tek del i dugnaden. &lt;br /&gt;&lt;br /&gt;Kanskje kan ein seie at dugnad er ein kommunistisk arbeidsform; alle bidreg med det dei kan for at alle skal kunne nyte godt av det. Kanskje er det nett dette dugnadsarbeidet &amp;ndash; som visar at folk er villige til å gjere ting for fellesskapet, skape samfunn, og lage ting som funkar utan økonomisk vinning som motivasjon &amp;ndash; som gjer at vi kan tru på at kommunisme er mogleg. Dette utfordrar kanskje kapitalismen og liberalismen ideologisk, men det utfordrar ikkje kapitalismen som økonomisk system. Dugnadsarbeid og andre typar arbeid som ikkje er ein del av den kapitalistiske produksjonen har funnest parallelt og i sameksistens med kapitalistisk produksjon heile vegen. Det området av Oslo eg bur vart i stor grad bygd ut på dugnad på 1950-talet. Til dømes la dei vass- og kloakkleidningar på dugnad. I stor grad var det nok kommunistar som organiserte dette, og det gjorde at arbeidsfolk fekk stader å bu. Det var bra arbeid i kommunistisk sinnelag, men at arbeidarane fekk betre butilhøve truga ikkje den kapitalistisk produksjonen. Eit anna døme på arbeid som var og (delvis) er utanfor den kapitalistiske produksjonen er omsorgsarbeid, som har vore organisert i heimane til folk og av staten. At det frivillige omsorgsarbeidet skal ha truga kapitalismen bryt med alt vi har av analyse av det kapitalistiske samfunnet.&lt;br /&gt;&lt;br /&gt;Så dugnad, òg i form av open programvare, finst og er bra. Det er det ikkje noko tvil om. At det har truga kapitalismen på nokon annan måte enn ideologisk meiner eg òg det er lite tvil om.&lt;br /&gt;&lt;br /&gt;Ein kan alltids seie at dei formane for utanom-kapitalistisk arbeid/produksjon som finst stoggar kapitalismens utbreiing til nye område og difor stoggar kapitalen sin evige og naudsynte ekspansjon og vekst. Kampen for å halde helsevesenet i Noreg offentleg er til dømes ein freistnad på å stogge kapitalismen utbreiing til eit nytt område, sjølv om eg trur det er ein kamp vi delvis kjem til å tape. Heller enn å seie at utbreiinga av kapitalismen vert stogga trur eg vi må innsjå at kapitalen har ei utruleg god evne til å ekspandere. Husværet mitt i dugnadsforstaden vart kjøpt på den opne marknaden.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Open programvare&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Om vi går frå dugnad generelt og ser på utviklinga innan open programvare ser vi at open programvare, som fri programvare, no har vorte ein forretningsmodell. &lt;br /&gt;&lt;br /&gt;I gode gamle dagar vart dataprogram laga av einskildpersonar. (Dette er sjølvsagt berre delvis sant, men sant nok til at argumentet mitt held.) Dokumentklargjeringsprogrammet LaTex om har stor utbreiing sjølv om det byrjar verte gamaldags vart laga av Donald Knuth (Tex og METAFONT), Leslie Lamport (LaTex-makroane) og Oren Patashnik (BibTex). Andre har sjølvsagt bidregi med å finne feil, tilpassa programmet til nye operativsystem, laga tilleggspakkar, vedlikeheldt koden osb., men det endrar ikkje det at storleiken på programmet ikkje er større enn at det har vore handterbart for tre personar. Viktige nyvinningar som operativ systemet UNIX, programmeringsspråket C og kommunikasjonsprotokollen TCP/IP vart utvikla av relativt små forskingsgrupper.&lt;br /&gt;&lt;br /&gt;Sidan då har utviklinga maskinvare og utbreiing av datateknologi mogleggjort og satt krav til ein enorm utvikling innan programvare. Datasystema vi har vorte vane med i dag har ein storleik og kompleksitet som er vanvittig mykje enn det dei hadde for berre ein par tiår sidan. Å lage eit fullverdig operativsystem etter standarden i dag krev tusenvis av årsverk og dei største dataspela samanliknast no med Hollywood-produksjonar. Sjølvsagt går det framleis an å lage små nyttige programsnuttar, men "ordentleg" programvareutvikling er ikkje lengre mogleg med ein handfull personar. Til det trengst det store ressursar og organisasjon. &lt;br /&gt;&lt;br /&gt;I denne situasjonen har ikkje verdas hobbyprogrammerarar det same å stille med som dei store programvareprodusentane. Og det er heller ikkje folk som sit på fritida og programmerar som driv utviklinga i dei store opne utviklingsprosjekta. Det er det kapitalistiske verksemder som gjer. Om dei ønskjer å dominere eit prosjekt får dei det til. For meg er det store spørsmålet ikkje om, men kvifor og korleis, dei gjer det.&lt;br /&gt;&lt;br /&gt;Vi har allereie sett at det er mogleg å tene pengar på fri programvare, og vegen er kanskje ikkje så lang til open programvare. Eg skal nedanfor vise nokre måtar open programvare kan inngå i ein forretningsmodell.&lt;br /&gt;&lt;br /&gt;1. &lt;i&gt;Sal av tilleggstenester&lt;/i&gt; er det mest openberre, og noko mange mindre firma lever av. Sjølv om programvaren er open og fritt tilgjengeleg tyder ikkje det at alle kan eller er interessert i å gjere alt sjølv. Firmaet Linpro &lt;a href="http://www.linpro.no/hvordan_linpro_kan_hjelpe"&gt;*&lt;/a&gt; til dømes sel deg tilpassa løysingar basert på open programvare. Mao. betalar du ikkje for å nytte Linux, som er open programvare, men for at Linpro skal setje det opp, tilpasse det og drifte det for deg. Eit anna døme er Ubuntu &lt;a href="http://www.ubuntu.com/support/paid"&gt;*&lt;/a&gt;. Dei tilbyr fritt sin eigen Linuxvariant, og sel profesjonelle støttetenester (support). Dette kan kanskje sjåast som ein måte nokre idealistar kan tene litt pengar, men det er heller ikkje den dominerande delen av kommersiell open programvare.&lt;br /&gt;&lt;br /&gt;2. &lt;i&gt;Uavhengigheit frå andre verksemder&lt;/i&gt; er nok ein viktig faktor når til dømes verksemder som IBM &lt;a href="http://ibm.com/linux"&gt;*&lt;/a&gt; eller Google &lt;a href="http://code.google.com/organizations.html"&gt;*&lt;/a&gt; kastar seg over Linux andre store open programvare-prosjekt. Det er viktig å hugse at det er konkurranse mellom kapitalistiske verksemder, og det er mange som kan sjå seg tente med å vere uavhengige av Microsoft.&lt;br /&gt;&lt;br /&gt;3. &lt;i&gt;Gratis arbeidskraft&lt;/i&gt;. Det er openbert at å få nokon til å jobbe for deg utan at dei står på lønningslista er lukrativt. Nokre verksemder gjer dette til ein medviten strategi, dei opnar kjeldekoden sin og bygg opp "communities" rundt produkta sine, og på den måten får dei folk til å jobbe gratis for seg. Til dømes er dette er ein uttalt motivasjon når Sun Microsystems no er i gang med å opne koden til programeringsspråket Java &lt;a href="http://www.sun.com/software/opensource/java/community.jsp"&gt;*&lt;/a&gt;. Eit liknande eksempel er utviklingsmiljøet Eclipse &lt;a href="http://www-128.ibm.com/developerworks/opensource/top-projects/eclipse-starthere.html"&gt;*&lt;/a&gt; som opphavleg vart laga av IBM og som no vert vidareutvikla i ein "community". Sjølv om koden til Java og Eclipse er open og tilgjengeleg, også for konkurrentar, er det klart at dei har den høgste kompetansen på koden, i desse tilfella Sun og IBM, framleis er med å styre showet og kan tene på det.&lt;br /&gt;&lt;br /&gt;4. &lt;i&gt;Tilgang til forsking&lt;/i&gt;. Med det som krevst av systemutvikling i dag for å få fram produkt som kan konkurrere vert det vanskelegare og vanskelegare for forskarar å få fram produkt frå ideane sine. Ei løysing for mange er å lage prototypar, la koden vere open, og håpe at nokon plukkar han opp. Det er ikkje noko du vert rik av, men kanskje du vinn litt heider og ære, noko som kan vere viktig nok for ein forskar. Ved å samarbeide med forskarar i open programvare-prosjekt kan kommersielle verksemder få lett tilgang til forsking og utvikling (utan å måtte betale noko serleg for det). Eit godt eksempel på dette er Eclipse. Eclipse er eit rammeverk og utviklingsmiljø for å lage dataprogram. Sidan det er fritt og opent er det lett for forskarar å nytte det til å implementere ideane sine. (Det er "plugable", som tyder at ein kan lage utvidingar og samtidig få ganske mykje gratis ved å bruke funksjonalitet som finst der frå før). Samtidig er dei med å byggje opp IBM sitt produkt. Båe partar gjev litt og båe partar får litt.  &lt;br /&gt;&lt;br /&gt;5. &lt;i&gt;Marknadsdominans&lt;/i&gt; er sjølvsagt den viktigaste grunnen for kapitalistiske verksemder for å velje open programvare som forretningsmodell. Ved å gjere produkt fritt tilgjengeleg og opne vert det lettare å få stor utbreiing av dei. Og jo fleire så nyttar eit produkt, dess lettare vert det for andre å ta det i bruk (evt. vanskeligare å la vere). Har du ein viss dominans eller del i ein marknad er det lettare å selje produkta dine. Java har allereie ein stor del av marknaden for programmeringsspråk, og den kjem nok ikkje til å vere mindre når koden har vorte open. Og Sun har framleis tenkt til å tene pengar på det, mellom anna ved å selje spesialutgåver, kurs, støttetenester og bruk av java-logoen &lt;a href="http://www.sun.com/software/opensource/java/faq.jsp#f"&gt;*&lt;/a&gt;. Dette er sjølvsagt lettare når du er dominerande i marknaden. IBM gjorde Eclipse opent og det har fått ein viss posisjon innan systemutvikling og modellering. Men IBM sel framleis spesielle utvidingar til Eclipse. Blant desse er modellerings- og utviklingsverktya Rational Software Modeler og Rational Software Architect. Det at desse verktya verkar saman med andre utvidingar av Eclipse og at Eclipse er i ferd med å verte stort innanfor modellering og systemutvikling, gjer det ikkje vanskelegare for IBM å selje dei. Og i tilfelle du lurte på det, IBM sel deg gjerne Linux med tilhørande støttetenester.&lt;br /&gt;&lt;br /&gt;Sjølv om det eg har gjevi ikkje er ein veldig djup og grundig analyse, og kanskje eit litt snevert utval av eksempel, trur eg eg har vist ganske tydeleg at open programvare ikkje er kommunisme, men ein forretningsmodell (kapitalistisk strategi). Eg trur ein grundigare analyse vil vise det same. Som et siste eksempel skal eg sitere "Fremtiden er fantastisk" &lt;a href="http://trivini.no/w/text/fremtiden/"&gt;*&lt;/a&gt;:&lt;br /&gt;&lt;br /&gt;"Noen klarer å lure systemet. Nettleseren Mozilla Firefox er fri [dvs. open] programvare, tilgjengelig for nedlasting gratis, men de som lager nettleseren er lønnet. I 2005 dro de inn 53 millioner dollar - noe av det fra donasjoner, men primært gjennom en avtale de har med søkemotoren Google. For hvert søk som gjøres med Firefox' innebygde søkefelt, mottar nettleserprodusenten et par øre. Det er disse pengene som finansierer produksjonen av den frie nettleseren deres."&lt;br /&gt;&lt;br /&gt;Den einaste feilen i dette sitatet er at ingen har lurt systemet. Dei har nytta det. Dei einaste som vert lurt av dette er dei som trur at Google og Firefox er ein gjeng kommunistar. Det er kanskje verdt å tenkje litt på at nesten alle suksesshistoriene som vert presentert om open programvare er kommersielle (altså kapitalistiske) suksesshistorier.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Avsluttande kommentar: Kven bryr seg om koden er open?&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Sjølv etter åtte år med it-utdanning kvir eg meg for å gå inn i kode laga av andre for å lese han og endå meir for å gjere endringar. Grunnen til det er at det er vanskeleg, sjølv om koden er godt laga. Det er illusorisk å tru at "folk flest" nokon gong skal kunne ha glede av open programvare på denne måten. Det å endre kode som andre har laga krev høg kompetanse, fleire år med erfaring eller utdanning og ei spesiell interesse, og er noko "vanlege" folk aldri vil ta del i. For vanlege brukarar av datamaskiner, det vil seie "folk flest", spelar det absolutt inga rolle om koden er tilgjengeleg eller ikkje. Det som spelar ei rolle for dei er kva dei må betale for dataprogrammet og kor bra det funkar. For ein vanleg brukar er det ikkje noko skilje mellom fri og open programvare. Kvifor skal du nytte GSView, som er ope, til å lese PDF-dokument om du tykkjer Adobe Reader er betre? Nokon drikk kanskje Solo i staden for Coca Cola for å ikkje støtte den råaste storkapitalen, og nokon har kanskje Linux og GSView på datamaskina si i staden for Windows og Adobe Reader av same grunn, men nokon (sosialistisk) revolusjon av det vert det ikkje.&lt;br /&gt;&lt;br /&gt;Dei som bryr seg om koden er open eller ikkje er dei som lagar dataprogram. Og anten du likar det eller ikkje &amp;ndash; dei som driv utviklinga av programvare gjer det for å tene pengar på det.&lt;br /&gt;&lt;br /&gt;&lt;i&gt;Neste: There is no such thing as a free lunch&lt;/i&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18848841-117044120063881397?l=smmse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://smmse.blogspot.com/feeds/117044120063881397/comments/default' title='Legg inn kommentarer'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18848841&amp;postID=117044120063881397' title='1 Kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18848841/posts/default/117044120063881397'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18848841/posts/default/117044120063881397'/><link rel='alternate' type='text/html' href='http://smmse.blogspot.com/2007/02/om-misoppfatninga-at-friopen.html' title='Om misoppfatninga at fri/open programvare er kommunisme og andre misforståingar knytt til datateknologi'/><author><name>SMMSE</name><uri>http://www.blogger.com/profile/05458340589967177945</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18848841.post-116902952772635644</id><published>2007-01-17T11:21:00.000+01:00</published><updated>2007-01-17T11:26:25.626+01:00</updated><title type='text'>Til glede for nye brukarar</title><content type='html'>I år er det valår, og ikkje berre det &amp;ndash; det er kommune- og fylkestingsval. For å markere dette vil vi presentere ein gamal slagar: &lt;a href="http://home.chello.no/~massl/kommunestyrekalkulator/index.html"&gt;Kommunestyrekalkulatoren&lt;/a&gt;. Dette er eit program &lt;i&gt;Mass Production - NWS&lt;/i&gt; utvikla til kommunestyre- og fylkestingsvalet i 2003 for å betre kunne analysere resultata i vala. Det kan jo vere små marginar, og serleg når ein heiar på eit lite parti kan det vere artig å vite nett kor mange røyster som mangla for representasjon i kommunestyret.&lt;br /&gt;&lt;br /&gt;Programmet er enkelt. Ein matar inn valresultatet ved å fylle inn felta "Parti" og "Stemmer" og trykkje på "Legg til". Når ein har lagt inn alle partia fyller ein inn talet på representantar som skal fordelast og trykkjer på "Beregn", og ut får ein då nokre tal.&lt;br /&gt;&lt;br /&gt;Som eit tilfeldig valt eksempel skal vi take føre oss &lt;a href="http://www.ssb.no/emner/00/01/20/nos_c622/tab/T-10.html"&gt;fylkestingsvalet i 1999&lt;/a&gt; for Akershus fylke. Resultatet av dette valet var som følgjer:&lt;br /&gt;&lt;table cellspacing="15" cellpadding="0" border="0"&gt;&lt;tr&gt;&lt;td&gt;Ap&lt;/td&gt;&lt;td&gt;54622&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Frp&lt;/td&gt;&lt;td&gt;30569&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;H&lt;/td&gt;&lt;td&gt;64648&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;KrF&lt;/td&gt;&lt;td&gt;14375&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Sp&lt;/td&gt;&lt;td&gt;9213&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;SV&lt;/td&gt;&lt;td&gt;18558&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;V&lt;/td&gt;&lt;td&gt;8669&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;PP&lt;/td&gt;&lt;td&gt;3821&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;RV&lt;/td&gt;&lt;td&gt;2868&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;MdG&lt;/td&gt;&lt;td&gt;2332&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;NKP&lt;/td&gt;&lt;td&gt;247&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;NP&lt;/td&gt;&lt;td&gt;369&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;Fylkestinget i Akershus var på den tida på 63 representantar. Legg vi desse tala inn i kommunestyrekalkulatoren får vi dette resultatet ut:&lt;br /&gt;&lt;pre&gt;FORDELING&lt;br /&gt;                                        Manglet&lt;br /&gt;Parti     Prosent        Mandater       på neste&lt;br /&gt;H         30,7%          19             315&lt;br /&gt;Ap        26,0%          16             347&lt;br /&gt;Frp       14,5%          9              1080&lt;br /&gt;SV        8,8%           6              3096&lt;br /&gt;KrF       6,8%           4              616&lt;br /&gt;Sp        4,4%           3              2447&lt;br /&gt;V         4,1%           3              2991&lt;br /&gt;PP        1,8%           1              1176&lt;br /&gt;RV        1,4%           1              2129&lt;br /&gt;MdG       1,1%           1              2665&lt;br /&gt;NP        0,2%           0              1963&lt;br /&gt;NKP       0,1%           0              2085&lt;br /&gt;&lt;br /&gt;Minimum stemmer for å ta siste mandat: 2332&lt;/pre&gt;Vi får vite kor mange prosent av røystene kvart parti fekk og kor mange representantar dei fekk i fylkestinget (evt. kommunestyret). I tillegg til det får vi vite kor mange røyster dei mangla på å take eit mandat til, og kva som krevst av røyster for å få siste mandatet (dvs. akkurat klare å kome inn).&lt;br /&gt;&lt;br /&gt;Det er verdt å merke seg at det talet på røyster ein manglar på neste mandat er i høve til kva dei andre partia har fått og gjeld dersom det ikkje er nokre endringar hjå dei. Det same gjeld røystetalet for å ta siste mandatet &amp;ndash; det er i høve til dei partia som &lt;i&gt;har&lt;/i&gt; fått mandat. &lt;br /&gt;&lt;br /&gt;Det vil ikkje seie at det ikkje finst marginar. I dette eksempelet fekk Miljøpartiet dei Grøne siste mandatet med 2332 stemmer. For at eit anna parti utan mandat, dvs. NKP eller Naturlovspartiet, skulle kapra dette måtte dei hatt minst 2332 røyster. Men samtidig hadde Miljøpartiet dei Grøne klara seg med 2321 røyster og hadde med andre ord ein margin på 11 røyster på mandatet sitt, utan at dette går fram av tala ein får frå kommunestyrekalkulatoren. (Om vi nokon gong får somla oss til å lage den utbetra versjonen vi lenge har planlagd, er utrekning av margin på siste mandatet til partia noko vi vil freiste få med. Men her er det ein ting å tenkje på. RV tok her 51. mandatet og marginen til det er 14 røyster. Dvs. at med 15 færre røyster ville RV fått 52. mandatet, men framleis ha same representasjon i fylkestinget.  Meir interessant er det kanskje at RV hadde ein margin på 547 røyster for å halde representasjonen sin. Så vi får sjå).&lt;br /&gt;&lt;br /&gt;Så til teknikalitetane. Som &lt;a href="http://smmse.blogspot.com/2007/01/jevons-sitt-logikkpiano-iv-simulatoren.html"&gt;logikkpianosimulatoren&lt;/a&gt; og mykje anna &lt;i&gt;MP - NWS&lt;/i&gt; har laga er dette ein &lt;i&gt;Java &lt;a href="http://java.sun.com/j2se/1.5.0/docs/api/java/applet/Applet.html"&gt;Applet&lt;/a&gt;&lt;/i&gt;. Hovudprogrammet, som står for oppsett av grensesnittet, handtering av innlegging av resultata og utrekningar er klassen &lt;a href="http://home.chello.no/~massl/kommunestyrekalkulator/Kommunestyrekalkulator.java"&gt;Kommunestyrekalkulator&lt;/a&gt;. Partiinterne ting vert handtert av klassen &lt;a href="http://home.chello.no/~massl/kommunestyrekalkulator/Party.java"&gt;Party&lt;/a&gt;. For kvart parti som vert lagt inn vert eit partiobjekt oppretta og plassert i ei liste sortert etter røystetal (dette er ein viktig invariant i utrekningane). I tillegg har vi òg den obligatoriske HTML-fila &lt;a href="http://home.chello.no/~massl/kommunestyrekalkulator/index.html.txt"&gt;index.html&lt;/a&gt; for å køyre programmet i ein nettlesar (og her er faktisk storleikparametrane til applet-taggen naudsynt for at grensesnittet skal sjå bra ut, men, men).&lt;br /&gt;&lt;br /&gt;I følgje &lt;a href="http://www.lovdata.no/all/hl-20020628-057.html"&gt;vallova&lt;/a&gt; §§11-4, 11-10, 11-12, skal mandat i kommunestyre- og fylkestingsval (og distriktsmandat i stortingsval) verte fordelt etter &lt;a href="http://en.wikipedia.org/wiki/Sainte-Lagu%C3%AB_method"&gt;St. Laguës modifiserte metode&lt;/a&gt;. Her vallova §11-4(3):&lt;br /&gt;&lt;br /&gt;&lt;table border="0" cellpadding="0" cellspacing="0"&gt;&lt;tr&gt;&lt;td width="15"&gt;&lt;/td&gt;&lt;td&gt;&lt;font size="-1"&gt;St. Laguës modifiserte metode innebærer at hver listes stemmetall divideres med 1,4-3-5-7 osv. Hvert stemmetall skal divideres så mange ganger som det er nødvendig for å finne det antall mandater listen skal ha. Det første mandatet tilfaller den listen som har den største kvotienten. Det andre mandatet tilfaller den listen som har den nest største kvotienten osv. Hvis flere lister har samme kvotient, tilfaller mandatet den av listene som har størst stemmetall. Har de samme stemmetall, avgjøres det ved loddtrekning hvilken liste mandatet skal tilfalle.&lt;/font&gt;&lt;/td&gt;&lt;td width="15"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;Algoritmen for å rekne ut mandatfordelinga er følgjeleg ganske enkel. Alle røystetala vert fyrst delt på 1,4. For kvart mandat går programmet gjennom lista av parti og finn det med det høgste talet (høgste kvotienten). Når eit parti får tildelt eit mandat vert delingstalet økt, fyrst til 3, så til 5 osb., og røystetalet  vert delt på det nye delingstalet. Sidan lista av parti er sortert på det faktiske røystetalet vil det partiet med flest røyster få mandatet dersom kvotienten er lik. Loddtrekning gjer ikkje programmet, så om røystetalet òg er likt vil det partiet som vart lagt til lista fyrst få mandatet.&lt;br /&gt;&lt;br /&gt;For å rekne ut kor mange røyster som trengst for å take siste mandatet vert den siste kvotienten som gav mandat multiplisert med 1,4 &amp;ndash; det fyste delingstalet. For å rekene ut kor mange røyster eit parti mangla på å ta eit mandat til vert talet på røyster partiet fekk trekt frå kvotienten som gav sistemandat (for heile kommunestyret, ikkje partiet) mulitpisert med det siste delingstalet til partiet.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18848841-116902952772635644?l=smmse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://smmse.blogspot.com/feeds/116902952772635644/comments/default' title='Legg inn kommentarer'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18848841&amp;postID=116902952772635644' title='0 Kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18848841/posts/default/116902952772635644'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18848841/posts/default/116902952772635644'/><link rel='alternate' type='text/html' href='http://smmse.blogspot.com/2007/01/til-glede-for-nye-brukarar.html' title='Til glede for nye brukarar'/><author><name>SMMSE</name><uri>http://www.blogger.com/profile/05458340589967177945</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18848841.post-116800096334225179</id><published>2007-01-05T13:39:00.000+01:00</published><updated>2007-01-05T13:42:43.353+01:00</updated><title type='text'>Jevons sitt logikkpiano IV – simulatoren</title><content type='html'>Vi har tidlegare presentert &lt;a href="http://smmse.blogspot.com/2005/11/jevons-sitt-logikkpiano-i.html"&gt;Jevnons sitt logikkpiano&lt;/a&gt; og ein &lt;a href="http://home.chello.no/~massl/logikkpiano/index.html"&gt;simulator&lt;/a&gt; av denne logikkmaskina. I vårt &lt;a href="http://smmse.blogspot.com/2006/12/samarbeid-fridom-openheit.html"&gt;samarbeid&lt;/a&gt; med &lt;i&gt;Mass Production - No Warranty Software&lt;/i&gt; vil vi no presentere og offentleggjere kjeldekoden til simulatoren.&lt;br /&gt;&lt;br /&gt;Simulatoren er programmert som ein &lt;i&gt;Java &lt;a href="http://java.sun.com/j2se/1.5.0/docs/api/java/applet/Applet.html"&gt;Applet&lt;/a&gt;&lt;/i&gt; og er laga for å mest mogleg etterlikne logikkpianoet. For å skjøne programmet kan difor det greiaste vere å lese &lt;a href="http://smmse.blogspot.com/2005/11/jevons-sitt-logikkpiano-ii.html"&gt;utgreiinga vår&lt;/a&gt; eller &lt;a href="http://tima-cmp.imag.fr/~amblard/JEVONS/"&gt;Jevons sin orginale artikkel&lt;/a&gt; om korleis logikkpianoet fungerer. Vi skal likevel gje ei kort utgreiing her. &lt;br /&gt;&lt;br /&gt;Pianoet sjølv og kvar av hovuddelane tangent, stav og hevarm er representert av eigne javaklassar. Hovudklassen &lt;a href="http://home.chello.no/~massl/logikkpiano/Piano.java"&gt;Piano&lt;/a&gt; representerer sjølve maskina og inneheld i all hovudsak oppsett av pianoet. Hòla inn til stavane er representert av ein todimensjonal &lt;i&gt;&lt;a href="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Label.html"&gt;Label&lt;/a&gt; array&lt;/i&gt; abecedarium. Tangentane vert representert med &lt;i&gt;&lt;a href="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Button.html"&gt;Button&lt;/a&gt;&lt;/i&gt;. I pianoet er kvar tangent forbundi med ein hevarm som løftar seg når ein trykkar på tangenten. Hevarmane er representert med klassen &lt;a href="http://home.chello.no/~massl/logikkpiano/Lever.java"&gt;Lever&lt;/a&gt;, og ved at denne klassen implementerer &lt;a href="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/event/ActionListener.html"&gt;&lt;i&gt;ActionListener&lt;/i&gt;&lt;/a&gt; kan ein hevarm enkelt registrere at ein tangent har vorte trykka ned. Når ein hevarm løftar seg kan han få stavane til å flytte på seg og endre posisjon ved å slå bort i pinnar i stavane. Stavar er representert med klassen &lt;a href="http://home.chello.no/~massl/logikkpiano/Rod.java"&gt;Rod&lt;/a&gt;, og pinnane er i denne klassen representert av ein &lt;i&gt;boolean array&lt;/i&gt; pin. Enkelt og greitt har klassen Rod ein metode move som hevarmane kallar når dei løftar seg, og i denne metoden vert den nye posisjonen til staven rekna ut. Etter å ha fått ein ny posisjon kallar staven på metoden display i klassen Piano for å fortelje kva som no skal visast i hòla på framsida av pianoet.&lt;br /&gt;&lt;br /&gt;I tillegg til desse java-filane finst det ei HTML-fil &lt;a href="http://home.chello.no/~massl/logikkpiano/index.html.txt"&gt;index.html&lt;/a&gt; som gjer at programmet kan køyrast i ein nettlesar. Og meir er det vel eigentleg ikkje å seie om denne saka.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18848841-116800096334225179?l=smmse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://smmse.blogspot.com/feeds/116800096334225179/comments/default' title='Legg inn kommentarer'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18848841&amp;postID=116800096334225179' title='2 Kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18848841/posts/default/116800096334225179'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18848841/posts/default/116800096334225179'/><link rel='alternate' type='text/html' href='http://smmse.blogspot.com/2007/01/jevons-sitt-logikkpiano-iv-simulatoren.html' title='Jevons sitt logikkpiano IV &amp;ndash; simulatoren'/><author><name>SMMSE</name><uri>http://www.blogger.com/profile/05458340589967177945</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18848841.post-116646260595649083</id><published>2006-12-18T18:18:00.000+01:00</published><updated>2006-12-18T19:31:40.626+01:00</updated><title type='text'>Samarbeid, fridom, openheit</title><content type='html'>Frå opprettinga av Senteret for om lag eit år sidan har vi hatt eit samarbeid med programvareutviklaren &lt;i&gt;Mass Production - No Warranty Software&lt;/i&gt; (MP-NWS). MP-NWS har i ei årrekkje utvikla vitskapleg og politisk programvare, og mellom anna har utviklinga av &lt;a href="http://smmse.blogspot.com/2005/11/jevons-sitt-logikkpiano-i.html"&gt;logikkpianosimulatoren&lt;/a&gt; og &lt;a href="http://smmse.blogspot.com/2005/12/meir-om-slutningar-iii-eit-dataprogram.html"&gt;slutningskalkulatoren&lt;/a&gt; vore samarbeidsprosjekt mellom MP-NWS og SMMSE. &lt;br /&gt;&lt;br /&gt;Samarbeidet vil no verte vidareført i ei ny form. MP-NWS har taki ei avgjerd om å tilgjengeleggjere kjeldekoden til ei rekkje applikasjonar, og vil gjere dette gjennom SMMSE. I tida framover vil vi derfor presentere applikasjonar frå MP-NWS og samtidig leggje ut kjeldekoden. &lt;br /&gt;&lt;br /&gt;I valet mellom eit utal lisensar for &lt;a href="http://en.wikipedia.org/wiki/Open-source_license"&gt;open kjeldekode&lt;/a&gt; og &lt;a href="http://en.wikipedia.org/wiki/Free_software_licenses"&gt;fri programvare&lt;/a&gt; (Senteret anerkjenner ikkje skilnaden, berre for å nemne det) vil koden verte distribuert under &lt;a href="http://en.wikipedia.org/wiki/Beerware"&gt;øl-varelisensen&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18848841-116646260595649083?l=smmse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://smmse.blogspot.com/feeds/116646260595649083/comments/default' title='Legg inn kommentarer'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18848841&amp;postID=116646260595649083' title='0 Kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18848841/posts/default/116646260595649083'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18848841/posts/default/116646260595649083'/><link rel='alternate' type='text/html' href='http://smmse.blogspot.com/2006/12/samarbeid-fridom-openheit.html' title='Samarbeid, fridom, openheit'/><author><name>SMMSE</name><uri>http://www.blogger.com/profile/05458340589967177945</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18848841.post-116456853301360406</id><published>2006-11-26T20:12:00.000+01:00</published><updated>2006-11-28T08:59:25.786+01:00</updated><title type='text'>Stegteljar</title><content type='html'>Stegteljarar, eller pedometer, har vorte populært i det siste. Til dømes gjev eit googlesøk på "skritteller" over 40 tusen treff og "pedometer" over tre og ein halv million. (Søk på "stegteljar" gjev to treff, men, men.) Med denne enorme interessa kunne ein kanskje tru at det her var snakk om ei ny oppfinning &amp;ndash; ei skikkeleg nyvinning, men det er det sjølvsagt ikkje. Riktig nok er dei stegteljarane ein får kjøpt i dag elektroniske, men ikkje la deg lure til å tru at det gjer stegteljing til ein ny idé.&lt;br /&gt;&lt;br /&gt;I 1584 skreiv &lt;a href="http://de.wikipedia.org/wiki/Jean_Errard_de_Bar-le-Duc"&gt;Jean Errard de Bar-le-Duc&lt;/a&gt; følgjande om denne oppfinninga:&lt;br /&gt;&lt;br /&gt;&lt;table border="0" cellpadding="0" cellspacing="0"&gt;&lt;tr&gt;&lt;td width="15"&gt;&lt;/td&gt;&lt;td&gt;&lt;font size="-1"&gt;A new geographical instrument which attached to the horse's saddle, uses the horse's steps to display the length of the journey one has made [...] by which, and according to the step of the horse or the man, one can exactly measure the circuit of a place or the length of a journey. (Errard de Bar-le-Duc 1584, sitert etter Ifrah 2001:124)&lt;/font&gt;&lt;/td&gt;&lt;td width="15"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;Men opphavet er endå eldre enn det. Den fyrste stegteljaren ein kjenner til er frå 1525 og var eigd av &lt;a href="http://en.wikipedia.org/wiki/Jean_Fernel"&gt;Jean Fernel&lt;/a&gt;. Men òg &lt;a href="http://en.wikipedia.org/wiki/Leonardo_da_Vinci"&gt;Leonardo da Vinci&lt;/a&gt; hadde før det laga teikningar av ein stegteljar, og Leonardo sin stegteljar var inspirert av innretninga &lt;a href="http://en.wikipedia.org/wiki/Odometer"&gt;odometer&lt;/a&gt; (avstandsmålar som baserer seg på omdreiingane til eit hjul, sånn som kilometermålaren i ein bil) som det truleg har funnest variantar  av heilt tilbake til 300-talet før kristus.  &lt;br /&gt;&lt;br /&gt;Det som er interessant med dei stegteljarane ein har frå omlag 1500-talet er at dei nytta eit posisjonssystem og i ein forstand var digitale. (Tenk på det når elektroniske stegteljarar vert marknadsført som "digitale".) Ein pinne vart festa til låret til gåaren og for kvart steg dytta pinnen til eit tannhjul som så flytta seg eit hakk. Når tannhjulet hadde gjort ei heil omdreiing dytta det til eit nytt tannhjul som så flytta seg eit hakk. Om kvart tannhjul hadde ti tenner og ein hadde ein visar knytt til kvart tannhjul kunne talet på steg ein hadde gått verte lesi direkte av visarane; det fyrste tannhjulet talde einarar, det andre tiarar, det tredje hundrarar osb. Stegtalet hadde ein digital representasjon i posisjonen til tannhjula og var representert med titalssystemet vi nyttar i dag (posisjonssystemet med grunntal ti). &lt;br /&gt;&lt;br /&gt;Faktisk var desse fyrste stegteljarane ei viktig inspirasjonskjelde for &lt;a href="http://en.wikipedia.org/wiki/Gottfried_Leibniz"&gt;Leibniz&lt;/a&gt; då han i 1670-71 bygde reknemaskina si, den tredje i verda:&lt;br /&gt;&lt;br /&gt;&lt;table border="0" cellpadding="0" cellspacing="0"&gt;&lt;tr&gt;&lt;td width="15"&gt;&lt;/td&gt;&lt;td&gt;&lt;font size="-1"&gt;When, several years ago, I saw for the first time an instrument which, when carried, automatically records the numbers of steps taken by a pedestrian, it occurred to me at once that the entire arithmetic could be subjected to a similar kind of machinery so that not only counting but also addition and subtraction, multiplication and division could be accomplished by a suitably arranged machine easily, promptly and with sure results. (Leibniz 1685)&lt;/font&gt;&lt;/td&gt;&lt;td width="15"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;Meir om tilhøvet mellom teljing, aritmetikk og tannhjul seinare.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Kjelder&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Jean Errard de Bar-le-Duc. Premier Liver des Instruments mathématiques méchaniques. 1584.&lt;br /&gt;&lt;br /&gt;Hebbel E. Hoff, L. A. Geddes. The beginnings of graphical recording. Isis 53(3):287-325, 1962.&lt;br /&gt;&lt;br /&gt;Georges Ifrah. The universal history of computing. John Wiley &amp; Sons, 2001.&lt;br /&gt;&lt;br /&gt;Gottfried Wilhelm Leibniz. Machina arithmetica in qua non additio tantum et subtractio sed et multiplicatio nullo, divisio vero pæne nullo animi labore peragantur. 1685. Gjengjevi på engelsk som "Leibniz on his calculating machine" i, David Eugene Smith (red.), A source book in mathematics, side 173-181, McGraw-Hill, 1929; Dover, 1959.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18848841-116456853301360406?l=smmse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://smmse.blogspot.com/feeds/116456853301360406/comments/default' title='Legg inn kommentarer'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18848841&amp;postID=116456853301360406' title='0 Kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18848841/posts/default/116456853301360406'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18848841/posts/default/116456853301360406'/><link rel='alternate' type='text/html' href='http://smmse.blogspot.com/2006/11/stegteljar.html' title='Stegteljar'/><author><name>SMMSE</name><uri>http://www.blogger.com/profile/05458340589967177945</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18848841.post-114523181343852823</id><published>2006-04-17T01:48:00.001+02:00</published><updated>2009-09-07T14:12:32.783+02:00</updated><title type='text'>Straum og logikk – kven var fyrst?</title><content type='html'>Claude E. Shannon får som regel æra for å ha sett og skrivi om analogien mellom elektriske og elektroniske krinsar og logikk. Men sjølv om det var artikkelen til Shannon som fekk merksemd og la grunnlaget for den vidare utviklinga, var han ikkje den fyrste som såg denne samanhengen. Sjølv uttalte Shannon seinare at analogien er "[t]rivial, actually, once you make it", og det er ikkje til å verte overraska over at han har vorte oppdaga og gjenoppdaga mange gonger. I omvendt kronologisk rekkjefølgje:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;1938:&lt;/b&gt; Shannon publiserar artikkelen "A symbolic analysis of relay and switching circuits" i &lt;i&gt;Transactions of the American Institute of Electrical Engineers&lt;/i&gt;. I 1940 leverer han artikkelen som masteroppgåve ved M.I.T., som eg har skrivi om &lt;a href="http://smmse.blogspot.com/2006/02/shannon-og-logikken-i-ei-historie-om.html"&gt;før&lt;/a&gt;. (Aspray 1990:116-117; Gardner 1982:129-130; Shannon 1938; 1940)&lt;br /&gt;&lt;br /&gt;&lt;b&gt;1936-37:&lt;/b&gt; Japanarane Akira Nakasima og Masao Hanzawa publiserar ei rekkje artiklar (på japansk) i &lt;i&gt;Journal of the Institute of Electrical Communication Engineers of Japan&lt;/i&gt; som etablerar den same analogien mellom elektriske krinsar og logikk som Shannon fann. Engelske samandrag vart publisert in &lt;i&gt;Nippon Electrical Communications Engineering&lt;/i&gt; i 1938, men dei fekk ikkje same merksemda som Shannon. (Aspray 1990:117; Church 1953; Gardner 1982:129)&lt;br /&gt;&lt;br /&gt;&lt;b&gt;1936:&lt;/b&gt; Benjamin Burack (ved Department of Psychology, Roosevelt College, Chicago) presenterer ei elektrisk logikkmaskin på eit møte i Lewis Institute. Maskina analyserer slutningar og er basert på at ein bygg opp dei logiske uttrykka av treklossar ein plasserar på maskina. Elektriske kontaktar i klossane lagar elektriske krinsar som får lamper til å lyse som indikerer om slutninga er gyldig eller ikkje, og kva for eventuell feilslutning som har vorte gjort. Maskina var lite kjent fram til Burack skreiv om ho i artikkelen "An electrical logic machine" i &lt;i&gt;Science&lt;/i&gt; i 1947, og det er ingenting som tyder på at Burack baserte seg på nokon formell teori då han lagde ho. (Aspray 1990:114; Burack 1947; Gardner 1982: 127-182)&lt;br /&gt;&lt;br /&gt;&lt;b&gt;1934-35:&lt;/b&gt; Russaren V. I. &amp;Scaron;éstakov utviklar ein analogi mellom krinsar og boolsk algebra basert på ein ide av Paul Erénfést (sjå under) og skriv om det i ein artikkel som ikkje vert publisert. I staden vert artikkelen ein del av doktoravhandlinga til &amp;Scaron;éstakov, som vert publisert i tidskriftet &lt;i&gt;Téhni&amp;#x10d;éskaá fizika&lt;/i&gt; i 1941. (Aspray 1990:117; Gardner 1982:129; Kline 1951)&lt;br /&gt;&lt;br /&gt;&lt;b&gt;1910: &lt;/b&gt; Russaren Paul Erénfést føreslår ein analogi mellom boolsk algebra og elektriske krinsar i ei omtale av den russiske omsetjinga av boka "L'algèbre de la logique" av Couturat. Ideen vert sidan vidareutvikla av V. I. &amp;Scaron;éstakov (sjå over). (Aspray 1990:117; Gardner 1982:129; Kline 1951)&lt;br /&gt;&lt;br /&gt;&lt;b&gt;1887-1890: &lt;/b&gt;Amerikanaren Herman Hollerith bygg den fyrste holkortmaskina og nyttar ho til oppteljing av folketeljinga i USA i 1890 (vonleg kjem det ein tekst om dette seinare). Maskina var elektrisk og for å kunne telje kombinasjonar av ulike data samla inn om folk, til dømes kjønn, rase og nasjonalitet (Hollerith sitt eiga døme) hadde maskina eit system for å kople kombinasjonar av nåler som leste holkorta til ulike teljarar. Ved hjelp av seriekoplingar kunne til dømes ein teljar telje personar som var farga &lt;i&gt;og&lt;/i&gt; kvinner medan ein annan talte personar som var kvite &lt;i&gt;og&lt;/i&gt; utanlandske &lt;i&gt;og&lt;/i&gt; menn. Parallellkoplingar kunne nyttast til å telje, til dømes, personar over ein viss alder; i aldersgruppa 45-49 år &lt;i&gt;eller&lt;/i&gt; i aldersgruppa 50-54 år &lt;i&gt;eller&lt;/i&gt; i aldersgruppa 55-59 år, osb. Kombinasjonar av &lt;i&gt;og&lt;/i&gt; og &lt;i&gt;eller&lt;/i&gt; var òg mogleg. Hollerith var truleg ikkje klar over det, men dette koplingssystemet er analogt til boolsk algebra. (Campbell-Kelly 1990:128-129,151;Hollerith 1889)&lt;br /&gt;&lt;br /&gt;&lt;b&gt;1886:&lt;/b&gt; Filosofen Charles S. Peirce skriv i eit brev til Marquand (sjå under) om moglege vidareutviklingar av logikkmaskina hans:&lt;br /&gt;&lt;br /&gt;&lt;table border="0" cellpadding="0" cellspacing="0"&gt;&lt;tr&gt;&lt;td width="15"&gt;&lt;/td&gt;&lt;td&gt;&lt;font size="-1"&gt;I think electricity would be the best thing to relay on.&lt;br /&gt;&lt;img src="http://www.tonsenhagen.net/div/peirce.jpg"&gt;&lt;br /&gt;Let A, B, C be three keys or other points where the circuit may be open or closed. As in Fig. 1, there is a circuit only if &lt;u&gt;all&lt;/u&gt; are closed; in Fig. 2. there is a circuit if &lt;u&gt;any&lt;/u&gt; &lt;u&gt;one&lt;/u&gt; is closed. This is like multiplication &amp; addition in Logic.&lt;/font&gt;&lt;/td&gt;&lt;td width="15"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;Fantastisk! (Med multiplikasjon refererer han til konjunksjon/"og" og med addisjon til disjunksjon/"eller".) (Gardner 1982:116,129; Peirce 1886)&lt;br /&gt;&lt;br /&gt;&lt;b&gt;1882-85?:&lt;/b&gt; Inspirert av Jevons bygde Allan Marquand i perioden 1881-82 ei mekanisk logikkmaskin, og i 1901 skriv James Mark Baldwin:&lt;br /&gt;&lt;br /&gt;&lt;table border="0" cellpadding="0" cellspacing="0"&gt;&lt;tr&gt;&lt;td width="15"&gt;&lt;/td&gt;&lt;td&gt;&lt;font size="-1"&gt;In 1882 Marquand constructed from an ordinary hotel annunciator another machine in which all the combinations are visible at the outset, and the inconsistent combinations are concealed from view as the premises are impressed upon the keys. He also had designs made by means of which the same operations could be accomplished by means of electro-magnets.&lt;/font&gt;&lt;/td&gt;&lt;td width="15"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;Det er uklårt kva for maskin Baldwin referer til, men på byrjinga av 1950-talet vart eit koplingsdiagram for ei elektromagnetisk maskin funne blant dei etterlatne papira til Marquand. Mays meiner diagrammet er frå rundt 1885, og skriv:&lt;br /&gt;&lt;br /&gt;&lt;table border="0" cellpadding="0" cellspacing="0"&gt;&lt;tr&gt;&lt;td width="15"&gt;&lt;/td&gt;&lt;td&gt;&lt;font size="-1"&gt;The diagram which was apparently meant to operate this machine is made up of two circuits both wired in series and parallel. As we now know switches wired in series can represent a logical product [konjunksjon/"og"] and in parallel a logical sum [disjunksjon/"eller"]. Marquand probably made this application intuitively since this diagram is merely an electrical translation of his geometrical diagram ...&lt;/font&gt;&lt;/td&gt;&lt;td width="15"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;Men det var utan at Mays kjende til brevet frå Perice (sjå over) som vart oppdaga tidleg på 1970-talet, og det er uvisst om Marquand teikna diagrammet før eller etter han fekk dette brevet.  Gardner, som kjenner til brevet, deler likevel synet til Mays og skriv: "The wiring is of no special interest, since it merely provides an electrical method by which the keys of Marquand's machine can turn the pointers." (Den mekaniske maskina til Marquand viste svara med peikarar som peikte i ulike retningar) Aspray ser ut til å meine at logikkmaskina Baldwin nemner er ein prototyp for ei maskin basert på det elektromagnetiske diagrammet. (Aspray 1990:113-114; Baldwin 1901; Gardner 1982:114; Mays 1953)&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Kjelder&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;William Aspray. Logic machines. I, William Aspray (red.),  &lt;a href="http://www.computerhistory.org/collections/DocumentArchive/Documents/Books/Computing%20Before%20Computers/CBC.html"&gt;Computing before computers&lt;/a&gt;, side 99-121, Iowa State University Press/Ames, 1990.&lt;br /&gt;&lt;br /&gt;James Mark Baldwin. &lt;a href="http://psychclassics.yorku.ca/Baldwin/Dictionary/defs/L4defs.htm#Logical Machine"&gt;Logical machine&lt;/a&gt;. I, James Mark Baldwin (red.), &lt;a href="http://psychclassics.yorku.ca/Baldwin/Dictionary/"&gt;Dictionary of Philosophy and Psychology, Vol. 1&lt;/a&gt;. MacMillan, 1901. &lt;br /&gt;&lt;br /&gt;Benjamin Burack. An electrical logic machine. Science, 109(2842):610-611, 17. juni, 1947.&lt;br /&gt;&lt;br /&gt;Martin Campbell-Kelly. Punched-card Machinery. I, William Aspray (red.),  &lt;a href="http://www.computerhistory.org/collections/DocumentArchive/Documents/Books/Computing%20Before%20Computers/CBC.html"&gt;Computing before computers&lt;/a&gt;, side 122-155, Iowa State University Press/Ames, 1990.&lt;br /&gt;&lt;br /&gt;Alonzo Church. Nippon Electrical Communication Engineering. Journal of Symbolic Logic, 18(4):346, 1953.&lt;br /&gt;&lt;br /&gt;Martin Gardner. Logic machines and diagrams. Andre utgåve. The Harvester Press, 1982.&lt;br /&gt;&lt;br /&gt;Herman Hollerith. &lt;a href="http://www.columbia.edu/acis/history/hh/"&gt;An electrical tabulating system&lt;/a&gt;. The Quarterly, Columbia University School of Mines, X(16):238-255, 1889.&lt;br /&gt;&lt;br /&gt;George L. Kline. Foundations of mathematics and mathematical logic. Journal of Symbolic Logic, 16(1):46-48, 1951.&lt;br /&gt;&lt;br /&gt;Anthony Liversidge. Profile of Claude Shannon. I, N.J.A. Sloane og Aaron D. Wyner (red.), Claude Elwood Shannon Collected Papers, side xix-xxxiii, IEEE Press, 1993.&lt;br /&gt;&lt;br /&gt;W. Mays. The first circuit for an electrical logic-machine. Science, 118(3062): 281-282, 4. september, 1953.&lt;br /&gt;&lt;br /&gt;Charles S. Peirce. Brev til A. Marquand, datert 30. desember 1886. I Writings of Charles S. Peirce, Volume 5, 1884-1886, side 421-423. Indiana University Press, 1993.&lt;br /&gt;&lt;br /&gt;Claude Elwood Shannon. A symbolic analysis of relay and switching circuits. Master's thesis, Massachusetts Institute of Technology, 1940.&lt;br /&gt;&lt;br /&gt;Claude Elwood Shannon. A symbolic analysis of relay and switching circuits. Transactions of the American Institute of Electrical Engineers, 57:713-723, 1938.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18848841-114523181343852823?l=smmse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://smmse.blogspot.com/feeds/114523181343852823/comments/default' title='Legg inn kommentarer'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18848841&amp;postID=114523181343852823' title='0 Kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18848841/posts/default/114523181343852823'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18848841/posts/default/114523181343852823'/><link rel='alternate' type='text/html' href='http://smmse.blogspot.com/2006/04/straum-og-logikk-kven-var-fyrst.html' title='Straum og logikk &amp;ndash; kven var fyrst?'/><author><name>SMMSE</name><uri>http://www.blogger.com/profile/05458340589967177945</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18848841.post-114520263039224506</id><published>2006-04-16T17:47:00.000+02:00</published><updated>2006-04-16T18:01:09.026+02:00</updated><title type='text'>Shannon og logikken II</title><content type='html'>I &lt;a href="http://smmse.blogspot.com/2006/02/shannon-og-logikken-i-ei-historie-om.html"&gt;del I&lt;/a&gt; såg vi korleis Claude E. Shannon i masteroppgåva si frå 1940 viste den no så kjente analogien mellom utsegnslogikk og elektriske og elektroniske krinsar. I denne testen vil eg sjå på oppdaginga til Shannon i tilhøve til &lt;a href="http://smmse.blogspot.com/2006/02/jevons-sitt-logikkpiano-iii.html"&gt;skjemaet eg nytta på Jevons og logikkmaskina hans&lt;/a&gt;. Dette skjemaet hadde tre steg:&lt;ol&gt;&lt;li&gt;Algoritme&lt;/li&gt;&lt;li&gt;Analogi&lt;/li&gt;&lt;li&gt;Maskin&lt;/li&gt;&lt;/ol&gt;Korleis passar så skjemaet med arbeidet til Shannon? Lat oss byrje med å sjå kva Shannon sjølv skreiv i innleiinga i masteroppgåva:&lt;br/&gt;&lt;br/&gt;&lt;table&gt;&lt;tr&gt;&lt;td width="15"&gt;&lt;/td&gt;&lt;td&gt;&lt;font size="-1"&gt;Any circuit is represented by a set of equations, the terms of the equation representing the various relays and witches of the circuit. A calculus is developed for manipulating these equations by simple mathematical processes, most of which are similar to ordinary algebraic algorisms. This calculus is shown to be exactly analogous to the Calculus of Propositions used in the symbolic study of logic. For the synthesis problem the desired characteristics are first written as a system of equations, and the equations are then manipulated into the form representing the simplest circuit. The circuit may then be immediately drawn from the equations. By this method it is always possible to find the simples circuit containing only series and parallel connections, and for certain types of functions it is possible to find the simplest circuit containing any type of connection. In the analysis problem the equations representing the given circuit are written and may then be interpreted in terms of the operating characteristics of the circuit. It is also possible with the calculus to obtain any number of circuits equivalent to a given circuit.&lt;/font&gt;&lt;/td&gt;&lt;td width="15"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;For kort å oppsummere: To analogiar vert etablert; mellom tilstanden til brytarar og sanningsverdiar (eittal og nullar) og mellom formlar og krinsar. Dinest to metodar; ein metode for å designe krinsar ("the synthesis problem") og ein metode for å analysere krinsar ("the analysis problem"). Båe metodane er basert på ein analogi til utsegnslogikk (boolsk algebra). I resten av denne teksten skal eg konsentrere meg om den fyrste av dei.&lt;br /&gt;&lt;br /&gt;Som vi kan sjå var det Shannon gjorde meir generelt enn arbeidet til Jevons. Medan Jevons nytta analogiane han etablerte til å lage ei maskin som utfører ein algoritme, nytta Shannon analogiane sine til å lage ein &lt;i&gt;metode&lt;/i&gt; for å lage maskiner. Det vil seie at om vi kan uttrykkje (til dømes) ein algoritme ved hjelp av utsegnslogikk kan vi nytte metoden til Shannon for å lage ei maskin som utfører algoritmen. Dette gjev oss det meir generelle skjemaet:&lt;ol&gt;&lt;li&gt;Analogi&lt;/li&gt;&lt;li&gt;Metode for å nytte analogien til å lage maskiner&lt;/li&gt;&lt;li&gt;Algoritmar (eller tilsvarande karateriseringar av metodar)&lt;/li&gt;&lt;li&gt;Maskiner&lt;/li&gt;&lt;/ol&gt;I tilhøve til det førre skjemaet kan vi sjå på dette som eit metaskjema, på den måten at førre skjemaet er ein instans av det nye skjemaet.&lt;br /&gt;&lt;br /&gt;Som eit døme kan vi sjå på krinsen eg viste i &lt;a href="http://smmse.blogspot.com/2006/02/shannon-og-logikken-i-ei-historie-om.html"&gt;del I om Shannon&lt;/a&gt;. I tillegg til analogien og metoden til Shannon hadde eg ein algoritme for å leggje saman to tal, som er den vi lærer på skulen: Start lengst til høgre og legg sama siffera på same plass i dei to tala. Om summen for ein plass er 10 eller høgre skal denne plassen i svaret ikkje ha med tiaren, men vi får ein i mente som skal vere med når vi legg saman siffera til venstre. Denne algoritmen uttrykte eg som tre utsegnslogiske formlar, og kunne så nytte analogien og metoden til å teikne ein krins ut frå desse formlane. Om krinsen faktisk hadde vorte laga, hadde vi hatt ei maskin for å leggje saman to binære tal med to plassar.&lt;br /&gt;&lt;br /&gt;At skjemaet for Shannon er eit metaskjema for skjemaet for Jevons vert kanskje endå tydlegare om vi ser på eit anna døme. To studentar ved Harvard, William Burkhardt og Theodore Kalin, som kjente til Shannon sitt arbeid, og som i følgje historia var lei av å lage sanningstabellar i logikktimane, bygde i 1947 si eiga logikkmaskin. På maskina kunne ein skrive inn eit utsegnslogisk uttrykk med inntil ti grunnutsegner ved å skru på ei rekkje brytarar. Maskina kunne så gå gjennom alle radane i sanningstabellen for utsegna og ei lampe indikerte for kvar rad om han er konsistent med utsegna eller ikkje. Sett bort i frå at maskina til Burkhardt og Kalin tillèt meir komplekse utsegner, gjer ho altså akkurat det sama som maskina til Jevons. &lt;br /&gt;&lt;br /&gt;Med andre ord; ved hjelp av ein metode for å finne radane i ein sanningstabell kunne dei nytte arbeidet til Shannon til å til å lage ei maskin som fann sanningstabellen for dei. Dimed kan vi seie at Burkhardt og Kalin følgde det same skjemaet som Jevons, og vi kan sjå at dette er ein instans av skjemaet for Shannon.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Kjelder&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;William Aspray. Logic machines. I, William Asprey (red.),  &lt;a href="http://www.computerhistory.org/collections/DocumentArchive/Documents/Books/Computing%20Before%20Computers/CBC.html"&gt;Computing before computers&lt;/a&gt;, side 99-121, Iowa State University Press/Ames, 1990.&lt;br /&gt;&lt;br /&gt;Edmund Callis Berkeley. Giant brains or machines that think. John Wiley &amp; Sons/Chapman &amp; Hall, 1949.&lt;br /&gt;&lt;br /&gt;Martin Gardner. Logic machines and diagrams. Andre utgåve. The Harvester Press, 1982.&lt;br /&gt;&lt;br /&gt;Theodore A. Kalin. A machine for calculating truth tables [samandrag]. The Journal of Symbolic Logic, 13(1):61-62, 1949. &lt;br /&gt;&lt;br /&gt;W. Mays, E. M. Hansel, D. P. Henry. Note on the exhibition of logical machines at the joint session, July 1950. Mind, 60(238):262-264, 1951.&lt;br /&gt;&lt;br /&gt;W. Mays, D. P. Henry. Jevons and logic. Mind, 62(248):484-505, 1953.&lt;br /&gt;&lt;br /&gt;Claude Elwood Shannon. A symbolic analysis of relay and switching circuits. Master's thesis, Massachusetts Institute of Technology, 1940.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18848841-114520263039224506?l=smmse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://smmse.blogspot.com/feeds/114520263039224506/comments/default' title='Legg inn kommentarer'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18848841&amp;postID=114520263039224506' title='0 Kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18848841/posts/default/114520263039224506'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18848841/posts/default/114520263039224506'/><link rel='alternate' type='text/html' href='http://smmse.blogspot.com/2006/04/shannon-og-logikken-ii.html' title='Shannon og logikken II'/><author><name>SMMSE</name><uri>http://www.blogger.com/profile/05458340589967177945</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18848841.post-114453592849349501</id><published>2006-04-09T00:36:00.000+02:00</published><updated>2006-04-09T00:39:41.266+02:00</updated><title type='text'>Senteret har flytta</title><content type='html'>og har no hovudkontor i Oslo, men har bestemt seg for å halde på namnet som det er.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18848841-114453592849349501?l=smmse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://smmse.blogspot.com/feeds/114453592849349501/comments/default' title='Legg inn kommentarer'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18848841&amp;postID=114453592849349501' title='0 Kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18848841/posts/default/114453592849349501'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18848841/posts/default/114453592849349501'/><link rel='alternate' type='text/html' href='http://smmse.blogspot.com/2006/04/senteret-har-flytta.html' title='Senteret har flytta'/><author><name>SMMSE</name><uri>http://www.blogger.com/profile/05458340589967177945</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18848841.post-114039711914006258</id><published>2006-02-20T01:54:00.000+01:00</published><updated>2006-04-09T00:33:49.303+02:00</updated><title type='text'>Shannon og logikken I – ei historie om eittal og nullar</title><content type='html'>Du har sikkert høyrt eller lest at ei datamaskin berre skjønar eittal og nullar, eller enno verre at ei datamaskin er bygd opp av berre eittal og nullar. Den siste av desse påstandane er noko tvilsam, medan den fyrste kan seiast å vere både riktig og gal. Han er gal av di det ei datamaskin eigentleg opererer med er høg og låg spenning (dessutan har vi metodar for å omsetje til dømes tastetrykk til impulsar av høg og låg spenning, så det er ikkje feil å seie at ei datamaskin skjønar tastetrykk). Han er riktig av di det er ei veldig nyttig, og ikkje tilfeldig, måte å sjå det på; ein abstraksjon eller analogi kor vi assosierer 0 med låg spenning og 1 med høg spenning.&lt;br /&gt;&lt;br /&gt;Eit viktig bidrag til datamaskina si utvikling (og såleis viktig i datamaskina si historie) var masteroppgåva Claude Elwood Shannon leverte i 1940 (og ein artikkel han skreiv med same namn og tema som sto på trykk i 1938). I masteroppgåva si etablerte han denne analogien vi er vorte så kjende og vane med at mest ikkje tenkjer over han – mellom elektriske/elektroniske krinsar og eittal og nullar – og viste korleis det er ein perfekt analogi til boolsk algebra.&lt;br /&gt;&lt;br /&gt;I denne teksten skal eg sjå på nokre av dei tinga som gjer 0 og 1 til fine tal, og så på analogien til Shannon (og ein variant) og nokre enkle ting vi kan gjere med han. I del II vil eg sjå på bidraget til Shannon i tilhøve til skjemaet eg nytta på Jevons.&lt;br /&gt;&lt;br /&gt;Lat oss gå rett på saka og seie at vi (berre) har tala 0 og 1 og dei aritmetiske operatoraren + og ·. Operatorane + og · er som vanleg berre at vi lèt 1 + 1 = 1 sidan vi ikkje har fleire tal. (Det einaste alternativet er 1 + 1 = 0. Det er ikkje noko dårleg alternativ, og ofte ganske nyttig, så vi introduserer ein ny pluss ⊕ som er akkurat som + berre at 1 ⊕ 1 = 0.) I tillegg lat oss seie at &lt;i&gt;x&lt;/i&gt;' = 1 - &lt;i&gt;x&lt;/i&gt;. (Det er no mogleg å sjå at &lt;i&gt;x&lt;/i&gt; ⊕ &lt;i&gt;y&lt;/i&gt; = &lt;i&gt;x&lt;/i&gt; · &lt;i&gt;y&lt;/i&gt;' + &lt;i&gt;x&lt;/i&gt;' · &lt;i&gt;y&lt;/i&gt;.)&lt;br /&gt;&lt;br /&gt;Legg fyrst merke til at 0, 1, ⊕ og · gjev oss totalssystemet med pluss og gange. I eit talsystem med fleire plassar vil vi til dømes ha at 1 pluss 1 = 10 (eg skriv det sånn for å ikkje blande det med 1 + 1 = 1). Det kan vi få til ved å la &lt;i&gt;x&lt;/i&gt; pluss &lt;i&gt;y&lt;/i&gt; = &lt;i&gt;zw&lt;/i&gt; sånn at &lt;i&gt;w&lt;/i&gt; = &lt;i&gt;x&lt;/i&gt; ⊕ &lt;i&gt;y&lt;/i&gt; og &lt;i&gt;z&lt;/i&gt; = &lt;i&gt;x&lt;/i&gt; · &lt;i&gt;y&lt;/i&gt;. Totalsystemet fungerar akkurat som titalssystemet, berre at det er to tal i staden for ti. I tillegg kan vi lett omsetje tal frå titalssystemet til totalssystemet og tilbake, så alt vi vil gjere i titalssystemet kan vi gjere med totalssystemet om vi vil.&lt;br /&gt;&lt;br /&gt;Lat oss no definere +, · og ' ved hjelp av tabellar. I tillegg skal vi setje opp sanningstabellar for dei logiske konnektiva ∨, ∧ og ¬ ved sidan av og sjå noko interessant.&lt;br /&gt;&lt;br /&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table cellspacing="0" cellpadding="0" width="160" border="1"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td align="middle" width="25%"&gt;&lt;i&gt;x&lt;/i&gt;&lt;/td&gt;&lt;td align="middle" width="25%"&gt;&lt;i&gt;y&lt;/i&gt;&lt;/td&gt;&lt;td align="middle"&gt;&lt;i&gt;x&lt;/i&gt; + &lt;i&gt;y&lt;/i&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="middle"&gt;0&lt;/td&gt;&lt;td align="middle"&gt;0&lt;/td&gt;&lt;td align="middle"&gt;0&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="middle"&gt;0&lt;/td&gt;&lt;td align="middle"&gt;1&lt;/td&gt;&lt;td align="middle"&gt;1&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="middle"&gt;1&lt;/td&gt;&lt;td align="middle"&gt;0&lt;/td&gt;&lt;td align="middle"&gt;1&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="middle"&gt;1&lt;/td&gt;&lt;td align="middle"&gt;1&lt;/td&gt;&lt;td align="middle"&gt;1&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;td width="20"&gt;&lt;/td&gt;&lt;td&gt;&lt;table cellspacing="0" cellpadding="0" width="160" border="1"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td align="middle" width="25%"&gt;&lt;i&gt;A&lt;/i&gt;&lt;/td&gt;&lt;td align="middle" width="25%"&gt;&lt;i&gt;B&lt;/i&gt;&lt;/td&gt;&lt;td align="middle"&gt;&lt;i&gt;A&lt;/i&gt;∨&lt;i&gt;B&lt;/i&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="middle"&gt;&lt;b&gt;U&lt;/b&gt;&lt;/td&gt;&lt;td align="middle"&gt;&lt;b&gt;U&lt;/b&gt;&lt;/td&gt;&lt;td align="middle"&gt;&lt;b&gt;U&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="middle"&gt;&lt;b&gt;U&lt;/b&gt;&lt;/td&gt;&lt;td align="middle"&gt;&lt;b&gt;S&lt;/b&gt;&lt;/td&gt;&lt;td align="middle"&gt;&lt;b&gt;S&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="middle"&gt;&lt;b&gt;S&lt;/b&gt;&lt;/td&gt;&lt;td align="middle"&gt;&lt;b&gt;U&lt;/b&gt;&lt;/td&gt;&lt;td align="middle"&gt;&lt;b&gt;S&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="middle"&gt;&lt;b&gt;S&lt;/b&gt;&lt;/td&gt;&lt;td align="middle"&gt;&lt;b&gt;S&lt;/b&gt;&lt;/td&gt;&lt;td align="middle"&gt;&lt;b&gt;S&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/td&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table cellspacing="0" cellpadding="0" width="160" border="1"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td align="middle" width="25%"&gt;&lt;i&gt;x&lt;/i&gt;&lt;/td&gt;&lt;td align="middle" width="25%"&gt;&lt;i&gt;y&lt;/i&gt;&lt;/td&gt;&lt;td align="middle"&gt;&lt;i&gt;x&lt;/i&gt; · &lt;i&gt;y&lt;/i&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="middle"&gt;0&lt;/td&gt;&lt;td align="middle"&gt;0&lt;/td&gt;&lt;td align="middle"&gt;0&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="middle"&gt;0&lt;/td&gt;&lt;td align="middle"&gt;1&lt;/td&gt;&lt;td align="middle"&gt;0&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="middle"&gt;1&lt;/td&gt;&lt;td align="middle"&gt;0&lt;/td&gt;&lt;td align="middle"&gt;0&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="middle"&gt;1&lt;/td&gt;&lt;td align="middle"&gt;1&lt;/td&gt;&lt;td align="middle"&gt;1&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;td width="20"&gt;&lt;/td&gt;&lt;td&gt;&lt;table cellspacing="0" cellpadding="0" width="160" border="1"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td align="middle" width="25%"&gt;&lt;i&gt;A&lt;/i&gt;&lt;/td&gt;&lt;td align="middle" width="25%"&gt;&lt;i&gt;B&lt;/i&gt;&lt;/td&gt;&lt;td align="middle"&gt;&lt;i&gt;A&lt;/i&gt;∧&lt;i&gt;B&lt;/i&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="middle"&gt;&lt;b&gt;U&lt;/b&gt;&lt;/td&gt;&lt;td align="middle"&gt;&lt;b&gt;U&lt;/b&gt;&lt;/td&gt;&lt;td align="middle"&gt;&lt;b&gt;U&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="middle"&gt;&lt;b&gt;U&lt;/b&gt;&lt;/td&gt;&lt;td align="middle"&gt;&lt;b&gt;S&lt;/b&gt;&lt;/td&gt;&lt;td align="middle"&gt;&lt;b&gt;U&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="middle"&gt;&lt;b&gt;S&lt;/b&gt;&lt;/td&gt;&lt;td align="middle"&gt;&lt;b&gt;U&lt;/b&gt;&lt;/td&gt;&lt;td align="middle"&gt;&lt;b&gt;U&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="middle"&gt;&lt;b&gt;S&lt;/b&gt;&lt;/td&gt;&lt;td align="middle"&gt;&lt;b&gt;S&lt;/b&gt;&lt;/td&gt;&lt;td align="middle"&gt;&lt;b&gt;S&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table cellspacing="0" cellpadding="0" width="80" border="1"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td align="middle" width="50%"&gt;&lt;i&gt;x&lt;/i&gt;&lt;/td&gt;&lt;td align="middle"&gt;&lt;i&gt;x&lt;/i&gt;'&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="middle" width="50%"&gt;0&lt;/td&gt;&lt;td align="middle"&gt;1&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="middle" width="50%"&gt;1&lt;/td&gt;&lt;td align="middle"&gt;0&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;td width="100"&gt;&lt;/td&gt;&lt;td&gt;&lt;table cellspacing="0" cellpadding="0" width="80" border="1"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td align="middle" width="50%"&gt;&lt;i&gt;A&lt;/i&gt;&lt;/td&gt;&lt;td align="middle"&gt;¬&lt;i&gt;A&lt;/i&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="middle" width="50%"&gt;&lt;b&gt;U&lt;/b&gt;&lt;/td&gt;&lt;td align="middle"&gt;&lt;b&gt;S&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="middle" width="50%"&gt;&lt;b&gt;S&lt;/b&gt;&lt;/td&gt;&lt;td align="middle"&gt;&lt;b&gt;U&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;Det vi ser er at definisjonane av +, · og ' er heilt like definisjonane av ∨, ∧ og ¬, berre vi bytar 0 med &lt;b&gt;U&lt;/b&gt; og 1 med &lt;b&gt;S&lt;/b&gt;. Det vil seie at dei essensielt er det same systemet, og at alt vi kan gjere i utsegnslogikk kan vi òg gjere med 0, 1, +, · og '. Med 0 og 1 kan vi gjere både aritmetikk og utsegnslogikk, så vi skjønar at dei er både fine og nyttige tal! No skal vi sjå kva Shannon gjorde med dei.&lt;br /&gt;&lt;br /&gt;Tenk deg ein brytar x på ein leidning mellom to punkt a og b. Vi skal teikne brytaren som&lt;pre&gt;      x&lt;br /&gt;a----o o----b&lt;br /&gt;&lt;/pre&gt;og kalle dette for ein krins. Analogien Shannon laga var å seie at om brytaren er lukka (så det er ei forbinding mellom a og b og straumen kjem gjennom) så har variabelen &lt;i&gt;x&lt;/i&gt; verdien 0, og om brytaren er open (så det ikkje er ei forbinding mellom a og b og straumen ikkje kjem gjennom) så er &lt;i&gt;x&lt;/i&gt; lik 1. Han observerte at om to brytarar er kopla saman i serie&lt;pre&gt;      x     y&lt;br /&gt;a----o o---o o----b&lt;br /&gt;&lt;/pre&gt;må båe vere lukka for at det skal gå straum mellom a og b. Krinsen av  x og y i serie kan difor få verdien &lt;i&gt;x&lt;/i&gt; + &lt;i&gt;y&lt;/i&gt;, sidan &lt;i&gt;x&lt;/i&gt; + &lt;i&gt;y&lt;/i&gt; er 0 berre om både &lt;i&gt;x&lt;/i&gt; og &lt;i&gt;y&lt;/i&gt; er 0. Om x og y er kopla i parallell&lt;pre&gt;          x&lt;br /&gt;     +---o o---+&lt;br /&gt;a----+    y    +----b&lt;br /&gt;     +---o o---+&lt;/pre&gt;må båe vere opne for at det ikkje skal gå straum mellom a og b, og krinsen kan få verdi &lt;i&gt;x&lt;/i&gt; &amp;middot; &lt;i&gt;y&lt;/i&gt; av di &lt;i&gt;x&lt;/i&gt; &amp;middot &lt;i&gt;y&lt;/i&gt; har verdien 1 berre når både &lt;i&gt;x&lt;/i&gt; og &lt;i&gt;y&lt;/i&gt; er 1.&lt;br /&gt;&lt;br /&gt;Det er vanleg å byte om på det, og vi får då den alternative tolkinga i tabellen nedanfor.&lt;br /&gt;&lt;br /&gt;&lt;table  border="1" cellspacing="0" cellpadding="3"&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Krins&lt;/b&gt;&lt;/td&gt;&lt;td&gt;&lt;b&gt;Tyding&lt;/b&gt;&lt;/td&gt;&lt;td&gt;&lt;b&gt;Shannon&lt;/b&gt;&lt;/td&gt;&lt;td&gt;&lt;b&gt;Alternativ&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="center"&gt;&lt;pre&gt;      x      &lt;br /&gt;a----o-o----b&lt;/pre&gt;&lt;/td&gt;&lt;td&gt;x er lukka&lt;/td&gt;&lt;td align="center"&gt;&lt;i&gt;x&lt;/i&gt; = 0&lt;/td&gt;&lt;td align="center"&gt;&lt;i&gt;x&lt;/i&gt; = 1&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="center"&gt;&lt;pre&gt;      x      &lt;br /&gt;a----o|o----b&lt;/pre&gt;&lt;/td&gt;&lt;td&gt;x er open&lt;/td&gt;&lt;td align="center"&gt;&lt;i&gt;x&lt;/i&gt; = 1&lt;/td&gt;&lt;td align="center"&gt;&lt;i&gt;x&lt;/i&gt; = 0&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="center"&gt;&lt;pre&gt;      x     y      &lt;br /&gt;a----o o---o o----b&lt;/pre&gt;&lt;/td&gt;&lt;td&gt;x og y i serie&lt;/td&gt;&lt;td align="center"&gt;&lt;i&gt;x&lt;/i&gt; + &lt;i&gt;y&lt;/i&gt;&lt;/td&gt;&lt;td align="center"&gt;&lt;i&gt;x&lt;/i&gt; &amp;middot; &lt;i&gt;y&lt;/i&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="center"&gt;&lt;pre&gt;          x          &lt;br /&gt;     +---o o---+     &lt;br /&gt;a----+    y    +----b&lt;br /&gt;     +---o o---+     &lt;/pre&gt;&lt;/td&gt;&lt;td&gt;x og y i parallell&lt;/td&gt;&lt;td align="center"&gt;&lt;i&gt;x&lt;/i&gt; &amp;middot; &lt;i&gt;y&lt;/i&gt;&lt;/td&gt;&lt;td align="center"&gt;&lt;i&gt;x&lt;/i&gt; + &lt;i&gt;y&lt;/i&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;Resultatet vert akkurat det same. Den alternative tolkinga er kanskje meir intuitiv, så frå no av skal vi halde oss til ho.&lt;br /&gt;&lt;br /&gt;No kan vi lage uttrykk for større samansette krinsar. Ta til dømes krinsen&lt;pre&gt;              x&lt;br /&gt;         +---o o---+      &lt;br /&gt;     +---+    y    +---+&lt;br /&gt;     |   +---o o---+   |&lt;br /&gt;a----+    x'      z    +----b&lt;br /&gt;     +---o o-----o o---+&lt;/pre&gt;Vi kan tenkje oss at x og x' er forbundi på ein sånn måte at x er open berre når x' er lukka og omvendt. Eit uttrykk for krinsen er (&lt;i&gt;x&lt;/i&gt; + &lt;i&gt;y&lt;/i&gt;) + (&lt;i&gt;x&lt;/i&gt;' &amp;middot; &lt;i&gt;z&lt;/i&gt;). Ved å gje verdiar til &lt;i&gt;x&lt;/i&gt;, &lt;i&gt;y&lt;/i&gt; og &lt;i&gt;z&lt;/i&gt;, til dømes, &lt;i&gt;x&lt;/i&gt; = 0, &lt;i&gt;y&lt;/i&gt; = 0 og &lt;i&gt;z&lt;/i&gt; = 1, kan vi finne ut om det går straum mellom a og b når x og y er lukka, og x' og z er opne. Av di 0 + 0 + (0' &amp;middot; 1) = 1 &amp;middot; 1 = 1, ser vi at, ja, det er straum mellom a og b. Vi kan òg omsetje uttrykket til ei logisk utsegn basert på den samanhengen vi såg tidlegare. Om vi lèt &lt;i&gt;X&lt;/i&gt;, &lt;i&gt;Y&lt;/i&gt; og &lt;i&gt;Z&lt;/i&gt; vere grunnutsegner som representere x, y og z (&lt;i&gt;X&lt;/i&gt; er sann når x er lukka osb.) får vi at utsegna (&lt;i&gt;X&lt;/i&gt; &amp;or; &lt;i&gt;Y&lt;/i&gt;) &amp;or; (&amp;not;&lt;i&gt;X&lt;/i&gt; &amp;and; &lt;i&gt;Z&lt;/i&gt;) er sann akkurat når det går straum gjennom krinsen.&lt;br /&gt;&lt;br /&gt;Analogien vi no har etablert kan vi nytte på ulike måtar. Til dømes kan vi analysere krinsar. Lat oss seie vi har krinsen under.&lt;pre&gt;                         x&lt;br /&gt;              z     +---o o---+&lt;br /&gt;     +-------o o----+    y'   +---+&lt;br /&gt;     |              +---o o---+   |&lt;br /&gt;     |        z'         x        |&lt;br /&gt;a----+-------o o--------o o-------+----b&lt;br /&gt;     |        z                   |&lt;br /&gt;     |   +---o o---+     z'       |&lt;br /&gt;     +---+    y'   +----o o-------+&lt;br /&gt;         +---o o---+&lt;/pre&gt;Eit logisk uttrykk for denne krinsen er &lt;i&gt;P&lt;/i&gt; = (&lt;i&gt;Z&lt;/i&gt; &amp;and; (&lt;i&gt;X&lt;/i&gt; &amp;or; &amp;not;&lt;i&gt;Y&lt;/i&gt;)) &amp;or; (&amp;not;&lt;i&gt;Z&lt;/i&gt; &amp;and; &lt;i&gt;X&lt;/i&gt;) &amp;or; ((&lt;i&gt;Z&lt;/i&gt; &amp;or; &amp;not;&lt;i&gt;Y&lt;/i&gt;) &amp;and; &amp;not;&lt;i&gt;Z&lt;/i&gt;). Men vi kan finne at utsegna &lt;i&gt;Q&lt;/i&gt; = &lt;i&gt;X&lt;/i&gt; &amp;or; &amp;not;&lt;i&gt;Y&lt;/i&gt; er logisk ekvivalent med &lt;i&gt;P&lt;/i&gt; (&lt;i&gt;P&lt;/i&gt; og &lt;i&gt;Q&lt;/i&gt; har same sanningsverdi for alle tilordningar av sanningsverdiar til &lt;i&gt;X&lt;/i&gt;, &lt;i&gt;Y&lt;/i&gt; og &lt;i&gt;Z&lt;/i&gt;). Basert på &lt;i&gt;Q&lt;/i&gt; vi kan lage ein mykje enklare krins, men som gjer akkurat same jobben:&lt;pre&gt;          x&lt;br /&gt;     +---o o---+&lt;br /&gt;a----+    y'   +----b&lt;br /&gt;     +---o o---+&lt;/pre&gt;Noko anna vi kan gjere er å realisere formlar som krinsar. Som eit eksempel kan vi tenkje oss at vi ønskjer å leggje saman to tal med to plassar i totalssystemet. Svaret må ha tre plassar sånn at, til dømes, 11 pluss 10 = 101 og 10 pluss 01 = 011. Generelt kan vi skrive det som &lt;i&gt;xy&lt;/i&gt; pluss &lt;i&gt;zw&lt;/i&gt; = &lt;i&gt;ijk&lt;/i&gt;. Om vi tek den vanlege måten å leggje saman på, kan &lt;i&gt;k&lt;/i&gt; ganske enkelt uttrykkjast som &lt;br /&gt;&lt;br /&gt;&lt;i&gt;k&lt;/i&gt; = &lt;i&gt;y&lt;/i&gt; &amp;oplus; &lt;i&gt;w&lt;/i&gt; = &lt;i&gt;y&lt;/i&gt; &amp;middot; &lt;i&gt;w&lt;/i&gt;' + &lt;i&gt;y&lt;/i&gt;' &amp;middot; &lt;i&gt;w&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;For &lt;i&gt;j&lt;/i&gt; må vi take omsyn til om vi får mente frå summen av &lt;i&gt;y&lt;/i&gt; og &lt;i&gt;w&lt;/i&gt;. Det kan uttrykkjast som &lt;i&gt;y&lt;/i&gt; &amp;middot; &lt;i&gt;w&lt;/i&gt;, så vi får&lt;br /&gt;&lt;br /&gt;&lt;i&gt;j&lt;/i&gt; = &lt;i&gt;x&lt;/i&gt; &amp;oplus; &lt;i&gt;z&lt;/i&gt; &amp;oplus; (&lt;i&gt;y&lt;/i&gt; &amp;middot; &lt;i&gt;w&lt;/i&gt;) = (&lt;i&gt;x&lt;/i&gt; &amp;middot; &lt;i&gt;z&lt;/i&gt;' + &lt;i&gt;x&lt;/i&gt;' &amp;middot; &lt;i&gt;z&lt;/i&gt;) &amp;middot; (&lt;i&gt;y&lt;/i&gt;' + &lt;i&gt;w&lt;/i&gt;') + &lt;i&gt;y&lt;/i&gt; &amp;middot &lt;i&gt;w&lt;/i&gt; &amp;middot; (&lt;i&gt;x&lt;/i&gt;' + &lt;i&gt;z&lt;/i&gt;) &amp;middot; (&lt;i&gt;x&lt;/i&gt; + &lt;i&gt;z&lt;/i&gt;') &lt;br /&gt;&lt;br /&gt;&lt;i&gt;i&lt;/i&gt; avheng berre av om vi får mente frå &lt;i&gt;x&lt;/i&gt; og &lt;i&gt;z&lt;/i&gt;, så med andre ord:&lt;br /&gt;&lt;br /&gt;&lt;i&gt;i&lt;/i&gt; = &lt;i&gt;x&lt;/i&gt; &amp;middot; &lt;i&gt;z&lt;/i&gt; + &lt;i&gt;x&lt;/i&gt; &amp;middot; &lt;i&gt;y&lt;/i&gt; &amp;middot; &lt;i&gt;w&lt;/i&gt; + &lt;i&gt;z&lt;/i&gt; &amp;middot; &lt;i&gt;y&lt;/i&gt; &amp;middot; &lt;i&gt;w&lt;/i&gt; = &lt;i&gt;x&lt;/i&gt; &amp;middot; &lt;i&gt;z&lt;/i&gt; + (&lt;i&gt;x&lt;/i&gt; + &lt;i&gt;z&lt;/i&gt;) &amp;middot; &lt;i&gt;y&lt;/i&gt; &amp;middot; &lt;i&gt;w&lt;/i&gt; &lt;br /&gt;&lt;br /&gt;Vi lagar ein krins med punkta g, i, j og k, og seier at &lt;i&gt;i&lt;/i&gt; er 1 om det straum mellom g og i og 0 om det ikkje er straum mellom g og i, og tilsvarande for &lt;i&gt;j&lt;/i&gt; og &lt;i&gt;k&lt;/i&gt;.&lt;pre&gt;              x&lt;br /&gt;         +---o o---+    y       w&lt;br /&gt;     +---+    z    +---o o-----o o---+&lt;br /&gt;     |   +---o o---+                 |&lt;br /&gt;     |                      z        +-----------------i&lt;br /&gt;     |           +---------o o-------+&lt;br /&gt;     |        x  |  z'             y'&lt;br /&gt;     |   +---o o-+-o o---+    +---o o---+&lt;br /&gt;g----+---+    x'    z    +----+    w'   +---------+&lt;br /&gt;     |   +---o o---o o---+    +---o o---+         |&lt;br /&gt;     |                      x'            x       +----j&lt;br /&gt;     |              w  +---o o---+   +---o o---+  | &lt;br /&gt;     |           +-o o-+    z    +---+    z'   +--+&lt;br /&gt;     |           |     +---o o---+   +---o o---+&lt;br /&gt;     |        y  |  w'&lt;br /&gt;     |   +---o o-+-o o---+ &lt;br /&gt;     +---+    y'    w    +-----------------------------k&lt;br /&gt;         +---o o---o o---+&lt;/pre&gt;Sidan krinsen er laga ut frå formlane for &lt;i&gt;i&lt;/i&gt;, &lt;i&gt;j&lt;/i&gt; og &lt;i&gt;k&lt;/i&gt; over, vil dei leggje saman tala &lt;i&gt;xy&lt;/i&gt; og &lt;i&gt;zw&lt;/i&gt; for oss. Vi berre set brytarane sånn at dei tilsvarar tala vi vil leggje saman, og om vi har kopla nokre lampar til i, j, og k kan vi lese av svaret.&lt;br /&gt;&lt;br /&gt;Med analogien mellom straum og 0 og 1, eller utsegnslogikk, kan vi både analysere og designe elektriske krinsar. Metodane og teknikkane har sjølvsagt vorte vidareutvikla sidan Shannon fyrst gjorde analogien (når rett skal vere rett hadde både russarane Paul Ehrenfest og V. I. S. Sestakov og japanarane Akira Nakasima og Masao Hanzawa funne analogien før Shannon, men det var arbeidet til Shannon som vart lagt merke til), men når vi nokre gonger seier at datamaskiner berre skjønar eittal og nullar er det av di den grunnleggjande ideen framleis er den same.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Kjelder&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;William Aspray. Logic machines. I, William Asprey (red.),  &lt;a href="http://www.computerhistory.org/collections/DocumentArchive/Documents/Books/Computing%20Before%20Computers/CBC.html"&gt;Computing before computers&lt;/a&gt;, side 99-121, Iowa State University Press/Ames, 1990.&lt;br /&gt;&lt;br /&gt;Elliott Mendelson. Introduction to mathematical logic. Fjerde utgåve. Chapman &amp; Hall, 1997.&lt;br /&gt;&lt;br /&gt;J. Donald Monk. &lt;a href="http://plato.stanford.edu/archives/fall2002/entries/boolalg-math/"&gt;The Mathematics of Boolean Algebra&lt;/a&gt;. I, Edward N. Zalta (red.), The Stanford Encyclopedia of Philosophy, 2002.&lt;br /&gt;&lt;br /&gt;David A. Patterson and John L. Hennessy. Computer organization &amp; design. The hardware/software interface. Andre utgåve. Morgan Kaufmann Publishers, 1998.&lt;br /&gt;&lt;br /&gt;Claude Elwood Shannon. A symbolic analysis of relay and switching circuits. Master's thesis, Massachusetts Institute of Technology, 1940.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18848841-114039711914006258?l=smmse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://smmse.blogspot.com/feeds/114039711914006258/comments/default' title='Legg inn kommentarer'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18848841&amp;postID=114039711914006258' title='2 Kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18848841/posts/default/114039711914006258'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18848841/posts/default/114039711914006258'/><link rel='alternate' type='text/html' href='http://smmse.blogspot.com/2006/02/shannon-og-logikken-i-ei-historie-om.html' title='Shannon og logikken I &amp;ndash; ei historie om eittal og nullar'/><author><name>SMMSE</name><uri>http://www.blogger.com/profile/05458340589967177945</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18848841.post-113970953096475262</id><published>2006-02-12T02:53:00.000+01:00</published><updated>2006-04-09T00:35:22.903+02:00</updated><title type='text'>Jevons sitt logikkpiano III</title><content type='html'>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å.&lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;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 &lt;b&gt;A&lt;/b&gt; ∧ &lt;b&gt;B&lt;/b&gt; ∧ &lt;b&gt;C&lt;/b&gt; ∧ &lt;b&gt;D&lt;/b&gt; 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".&lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;For å oppsummere kan vi seie at dette er ein tretrinnsrakett: &lt;ol&gt;&lt;li&gt;Jevons definerte ein abstrakt algoritme.&lt;/li&gt;&lt;li&gt;Han etablerte ei rekkje enkle analogiar (utsegn/stav, klassifisering/posisjon, endring av klassifisering/flytting av stav).&lt;/li&gt;&lt;li&gt;Basert på desse analogiane omsette han algoritmen til ein fysisk prosess utført av ei maskin.&lt;/li&gt;&lt;/ol&gt;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).&lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;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).&lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;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!&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Kjelder&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;William Aspray. Logic machines. I, William Asprey (red.), &lt;a href="http://www.computerhistory.org/collections/DocumentArchive/Documents/Books/Computing%20Before%20Computers/CBC.html"&gt;Computing before computers&lt;/a&gt;, side 99-121, Iowa State University Press/Ames, 1990.&lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;William Stanley Jevons. On the mechanical performance of logical inference. Philosophical Transactions of the Royal Society of London, 160:497-518, 1870.&lt;br /&gt;&lt;br /&gt;W. Mays, D. P. Henry. Jevons and logic. Mind, 62(248):484-505, 1953.&lt;br /&gt;&lt;br /&gt;J. Donald Monk. &lt;a href="http://plato.stanford.edu/archives/fall2002/entries/boolalg-math/"&gt;The Mathematics of Boolean Algebra&lt;/a&gt;. I, Edward N. Zalta (red.), The Stanford Encyclopedia of Philosophy, 2002.&lt;br /&gt;&lt;br /&gt;J. J. O'Connor, E. F. Robertson. &lt;a href="http://www-history.mcs.st-andrews.ac.uk/history/Mathematicians/Boole.html"&gt;George Boole&lt;/a&gt;. &lt;a href="http://www-history.mcs.st-andrews.ac.uk/history/"&gt;The MacTutor History of Mathematics archive.&lt;/a&gt;(11. desember 2005)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18848841-113970953096475262?l=smmse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://smmse.blogspot.com/feeds/113970953096475262/comments/default' title='Legg inn kommentarer'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18848841&amp;postID=113970953096475262' title='2 Kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18848841/posts/default/113970953096475262'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18848841/posts/default/113970953096475262'/><link rel='alternate' type='text/html' href='http://smmse.blogspot.com/2006/02/jevons-sitt-logikkpiano-iii.html' title='Jevons sitt logikkpiano III'/><author><name>SMMSE</name><uri>http://www.blogger.com/profile/05458340589967177945</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18848841.post-113357317298550290</id><published>2005-12-03T02:19:00.000+01:00</published><updated>2005-12-03T02:26:12.996+01:00</updated><title type='text'>Meir om slutningar III – eit dataprogram for å undersøkje slutningar</title><content type='html'>I førre teksten såg vi ein metode for å undersøkje om ei slutning er gyldig eller ikkje. Denne metoden vert ofte kalla for sanningstre. I denne teksten skal vi sjå eit dataprogram som hjelper deg i å lage sanningstrea. Programmet finn du &lt;a href="http://home.chello.no/~massl/slutningskalkulator/index.html"&gt;her&lt;/a&gt;, og vi kan kalle programmet for ein slutningskalkulator.&lt;br /&gt;&lt;br /&gt;Programmet har eit stort tekstfelt for å vise fram sanningstrea og eit mindre eit for å skrive inn slutningane vi vil undersøkje. Når vi skriv inn slutningar nyttar vi ei line per premiss, ei line for konklusjonsstreken og ei line for konklusjonen. Vi skriv # for "ikkje", / \ for "og", \ / for "eller" og -&gt; for "viss-så". Konklusjonsstreken er ei line med minst fire bindestrekar ("----").&lt;br /&gt;&lt;br /&gt;Lat oss nytte eksempla frå førre teksten. I det mindre tekstfeltet skriv vi:&lt;pre&gt;#A -&gt; B&lt;br /&gt;-------&lt;br /&gt;A \/ B&lt;/pre&gt;For å starte eit sanningstre trykkar vi på "Start". Programmet vil ta premissane og negasjonen av konklusjonen, skrive dei om til negasjons normalform og setje dei opp under kvarandre. Alle utsegnene i treet er nummererte og programmet vil fortelje oss kva for utsegner vi har å jobbe med for å byggje vidare på treet. Så om vi trykkar på "Start" vil vi i det store tekstfeltet sjå:&lt;pre&gt;      1.1  (A \/ B)       &lt;br /&gt;     ---------------      &lt;br /&gt;     2.1  (#A /\ #B)      &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Utsegner å jobbe med: 1.1  2.1  &lt;/pre&gt;Bak startknappen er det eit lite tekstfelt og ein knapp merkt "Steg". Om vi no vil gå vidare med øvste utsegna skriv vi "1.1" i dette feltet og trykkar på "Steg". Programmet vil no tekne opp det nye treet:&lt;pre&gt;         1.1  (A \/ B) *   &lt;br /&gt;         ---------------   &lt;br /&gt;         2.1  (#A /\ #B)   &lt;br /&gt;     -----------------------&lt;br /&gt;     3.1  A           3.2  B&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Utsegner å jobbe med: 2.1 &lt;/pre&gt;Vi går vidare med utsegn 2.1, og får:&lt;pre&gt;           1.1  (A \/ B) *       &lt;br /&gt;          -----------------      &lt;br /&gt;          2.1  (#A /\ #B) *      &lt;br /&gt;      ------------------------   &lt;br /&gt;      3.1  A            3.2  B   &lt;br /&gt;     -------           -------   &lt;br /&gt;     4.1  #A           4.2  #A   &lt;br /&gt;     -------           -------   &lt;br /&gt;     5.1  #B           5.2  #B   &lt;br /&gt;     -------           -------   &lt;br /&gt;        X                 X      &lt;br /&gt;&lt;br /&gt;Alle greiner er lukka, slutninga er gyldig!&lt;/pre&gt;&lt;br /&gt;No er vi ferdige, og kan gå laus på det andre eksempelet. Vi skriv inn&lt;pre&gt;A \/ (B \/ C)&lt;br /&gt;B -&gt; C&lt;br /&gt;-------------&lt;br /&gt;C&lt;/pre&gt;og trykkar "Start". Programmet viser oss no:&lt;pre&gt;     1.1  (A \/ (B \/ C))   &lt;br /&gt;     --------------------   &lt;br /&gt;        2.1  (#B \/ C)      &lt;br /&gt;        --------------      &lt;br /&gt;            3.1  #C         &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Utsegner å jobbe med: 1.1  2.1  &lt;/pre&gt;Av di vi er late orkar vi ikkje utføre alle stega sjølv. Vi trykkar på "Automatisk" og programmet byggjer systematisk treet for oss til det ikkje er meir å gjere. (Programmet vil for kvart steg velje det lægste nummeret, men utsegner med "og" går alltid føre utsegner med "eller" for å gjere treet meir kompakt.) Resultatet vert:&lt;pre&gt;                             1.1  (A \/ (B \/ C)) *                           &lt;br /&gt;                             ----------------------                           &lt;br /&gt;                                2.1  (#B \/ C) *                              &lt;br /&gt;                                ----------------                              &lt;br /&gt;                                     3.1  #C                                  &lt;br /&gt;              -----------------------------------------------------           &lt;br /&gt;              4.1  A                                4.2  (B \/ C) *           &lt;br /&gt;     ------------------------                -----------------------------    &lt;br /&gt;     5.1  #B           5.2  C                5.3  #B                5.4  C    &lt;br /&gt;                       ------        -----------------------        ------    &lt;br /&gt;                         X           6.1  B           6.2  C          X       &lt;br /&gt;                                     ------           ------                  &lt;br /&gt;                                       X                X                     &lt;br /&gt;&lt;br /&gt;Moteksempel funne: A=SANN  B=USANN  C=USANN&lt;br /&gt;&lt;br /&gt;Det er ikkje meir å jobbe med.&lt;/pre&gt;Som vi kan sjå er det ikkje meir å gjere, og programmet har funni eit moteksempel.&lt;br /&gt;&lt;br /&gt;Heilt til slutt, litt om parentesar. For at vi skal sleppe å skrive så mykje parentesar når vi skriv inn store samansette utsegner har programmet ein konvensjon for parentesbruk. Vi seier at "ikkje" bind sterkare enn "og", "og" bind sterkare enn "eller" og "eller" bind sterkare enn "viss-så", på same måte som "gange" bind sterkare enn "pluss" i vanleg aritmetikk. Det vil seie at om vi skriv inn&lt;pre&gt;A -&gt; B \/ C /\ D&lt;/pre&gt;vil programmet tolke dette som&lt;pre&gt;A -&gt; (B \/ (C /\ D))&lt;/pre&gt;Som du kanskje har lagt merke til har vi allereie nytta at "ikkje" bind sterkast, men utan at vi har sagt noko om det. Vidare bind symbol av same type sterkare frå venstre mot høgre, så om vi skriv inn &lt;pre&gt;A -&gt; B -&gt; C&lt;/pre&gt;vil det verte tolka som&lt;pre&gt;(A -&gt; B) -&gt; C&lt;/pre&gt;Som du òg kanskje har sett vil programmet sjølv ikkje nytte desse konvensjonane når det skriv utsegner, men nytte alle parentesane.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18848841-113357317298550290?l=smmse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://smmse.blogspot.com/feeds/113357317298550290/comments/default' title='Legg inn kommentarer'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18848841&amp;postID=113357317298550290' title='0 Kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18848841/posts/default/113357317298550290'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18848841/posts/default/113357317298550290'/><link rel='alternate' type='text/html' href='http://smmse.blogspot.com/2005/12/meir-om-slutningar-iii-eit-dataprogram.html' title='Meir om slutningar III &amp;ndash; eit dataprogram for å undersøkje slutningar'/><author><name>SMMSE</name><uri>http://www.blogger.com/profile/05458340589967177945</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18848841.post-113347674984523048</id><published>2005-12-01T23:38:00.001+01:00</published><updated>2006-02-11T22:30:10.513+01:00</updated><title type='text'>Meir om slutningar II – ei enkel utsegnskalkyle</title><content type='html'>I teksten som omhandla lur bruk av logikkpianoet til Jevons såg vi korleis vi kunne undersøkje gyldigheita til ei slutning ved å leite etter moteksempel. Om vi har ei slutning frå &lt;i&gt;P&lt;/i&gt;&lt;sub&gt;1&lt;/sub&gt;, &lt;i&gt;P&lt;/i&gt;&lt;sub&gt;2&lt;/sub&gt;, ..., &lt;i&gt;P&lt;/i&gt;&lt;sub&gt;&lt;i&gt;n&lt;/i&gt;&lt;/sub&gt; til &lt;i&gt;K&lt;/i&gt;, vil alle utsegner &lt;i&gt;M&lt;/i&gt; som er konsistente med mengda {&lt;i&gt;P&lt;/i&gt;&lt;sub&gt;1&lt;/sub&gt;, &lt;i&gt;P&lt;/i&gt;&lt;sub&gt;2&lt;/sub&gt;, ..., &lt;i&gt;P&lt;/i&gt;&lt;sub&gt;&lt;i&gt;n&lt;/i&gt;&lt;/sub&gt;, ¬&lt;i&gt;K&lt;/i&gt;} representere eit moteksempel til slutninga (vi finn moteksempelet ved å gjere &lt;i&gt;M&lt;/i&gt; sann). Om vi ikkje kan finne nokon sånn &lt;i&gt;M&lt;/i&gt;, er slutninga gyldig.&lt;br /&gt;&lt;br /&gt;Det vi skal gjere no er å sjå på ein enkel metode for å undersøkje slutningar etter same prinsippet; gjevi ei slutning, systematisk leite etter moteksempel. Metoden vi skal sjå på kallest gjerne for tremetoden eller sanningstre, og vi skal nytte ein forenkla versjon av metoden sånn Jeffrey presenterer han. Forenklinga går ut på at vi skal late alle utsegnene vere på ei form som kan kallast negasjons normalform (som er enklare enn den disjunktive normalforma vi nytta i førre teksten).&lt;br /&gt;&lt;br /&gt;I negasjons normalform er ei utsegn bygd opp av berre "og" (∧), "eller" (∨) og "ikkje" (¬), og "ikkje" står alltid inst. Det vil seie at "ikkje" alltid står rett føre ei grunnutsegn. Ved hjelp av fire reglar kan alle utsegner skrivast om til negasjons normalform:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;¬¬&lt;i&gt;P&lt;/i&gt; = &lt;i&gt;P&lt;/i&gt;&lt;/li&gt;&lt;li&gt;&lt;i&gt;P&lt;/i&gt; → &lt;i&gt;Q&lt;/i&gt; = ¬&lt;i&gt;P&lt;/i&gt; ∨ &lt;i&gt;Q&lt;/i&gt;&lt;/li&gt;&lt;li&gt;¬(&lt;i&gt;P&lt;/i&gt; ∧ &lt;i&gt;Q&lt;/i&gt;) = ¬&lt;i&gt;P&lt;/i&gt; ∨ ¬&lt;i&gt;Q&lt;/i&gt;&lt;/li&gt;&lt;li&gt;¬(&lt;i&gt;P&lt;/i&gt; ∨ &lt;i&gt;Q&lt;/i&gt;) = ¬&lt;i&gt;P&lt;/i&gt; ∧ ¬&lt;i&gt;Q&lt;/i&gt;&lt;/li&gt;&lt;/ol&gt;Lat oss sjå korleis vi kan gå fram med utsegna (&lt;i&gt;A&lt;/i&gt; ∧ (&lt;i&gt;A&lt;/i&gt; → &lt;i&gt;B&lt;/i&gt;)) → &lt;i&gt;B&lt;/i&gt; (i kolonnen til høgre står nummeret på regelen vi nyttar for kvart steg):&lt;br /&gt;&lt;br /&gt;&lt;table cellspacing="0" cellpadding="3" border="1"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;(&lt;i&gt;A&lt;/i&gt; ∧ (&lt;i&gt;A&lt;/i&gt; → &lt;i&gt;B&lt;/i&gt;)) → &lt;i&gt;B&lt;/i&gt;&lt;/td&gt;&lt;td&gt;2.&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;¬(&lt;i&gt;A&lt;/i&gt; ∧ (&lt;i&gt;A&lt;/i&gt; → &lt;i&gt;B&lt;/i&gt;)) ∨ &lt;i&gt;B&lt;/i&gt;&lt;/td&gt;&lt;td&gt;3.&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;(¬&lt;i&gt;A&lt;/i&gt; ∨ ¬(&lt;i&gt;A&lt;/i&gt; → &lt;i&gt;B&lt;/i&gt;)) ∨ &lt;i&gt;B&lt;/i&gt;&lt;/td&gt;&lt;td&gt;2.&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;(¬&lt;i&gt;A&lt;/i&gt; ∨ ¬(¬&lt;i&gt;A&lt;/i&gt; ∨ &lt;i&gt;B&lt;/i&gt;)) ∨ &lt;i&gt;B&lt;/i&gt;&lt;/td&gt;&lt;td&gt;4.&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;(¬&lt;i&gt;A&lt;/i&gt; ∨ (¬¬&lt;i&gt;A&lt;/i&gt; ∧ ¬&lt;i&gt;B&lt;/i&gt;)) ∨ &lt;i&gt;B&lt;/i&gt;&lt;/td&gt;&lt;td&gt;1.&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;(¬&lt;i&gt;A&lt;/i&gt; ∨ (&lt;i&gt;A&lt;/i&gt; ∧ ¬&lt;i&gt;B&lt;/i&gt;)) ∨ &lt;i&gt;B&lt;/i&gt;&lt;/td&gt;&lt;td&gt;.&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;No kan vi gå laus på sanningstrea. I rota på eit sanningstre har vi ei mengd utsegner vi ønskjer å gjere sanne på ein gong (premissane og negasjonen av konklusjonen til slutninga vi vil undersøkje), og så byggjer vi eit tre kor kvar grein er eit forsøk på å finne ein måte å gjere alle utsegnene sanne på. Måten vi gjer det på er som følgjer: Fyrst finn vi ei utsegn som ikkje er ein literal. Om ho er på forma &lt;i&gt;P&lt;/i&gt; ∧ &lt;i&gt;Q&lt;/i&gt; vert ho sann om både &lt;i&gt;P&lt;/i&gt; og &lt;i&gt;Q&lt;/i&gt; er sanne, så vi vil freiste å gjere &lt;i&gt;P&lt;/i&gt; og &lt;i&gt;Q&lt;/i&gt; sanne i standen for. Vi merkjer av &lt;i&gt;P&lt;/i&gt; ∧ &lt;i&gt;Q&lt;/i&gt; som ferdig og skriv opp &lt;i&gt;P&lt;/i&gt; og &lt;i&gt;Q&lt;/i&gt; under kvarandre i kvar grein som leier frå &lt;i&gt;P&lt;/i&gt; ∧ &lt;i&gt;Q&lt;/i&gt;. Vi kan setje dette opp som ein regel:&lt;pre&gt;     &lt;i&gt;P&lt;/i&gt; ∧ &lt;i&gt;Q&lt;/i&gt; *&lt;br /&gt;       &lt;i&gt;P&lt;/i&gt;&lt;br /&gt;       &lt;i&gt;Q&lt;/i&gt;&lt;/pre&gt;Om utsegna er på forma &lt;i&gt;P&lt;/i&gt; ∨ &lt;i&gt;Q&lt;/i&gt; får vi ei forgreining; éi grein kor vi freistar gjere &lt;i&gt;P&lt;/i&gt; sann og éi grein kor vi freistar gjere &lt;i&gt;Q&lt;/i&gt; sann. (Det finst to måtar å gjere &lt;i&gt;P&lt;/i&gt; ∨ &lt;i&gt;Q&lt;/i&gt; sann på, men berre ein måte å gjere &lt;i&gt;P&lt;/i&gt; ∧ &lt;i&gt;Q&lt;/i&gt; sann.) Denne regelen kan sjå slik ut&lt;pre&gt;     &lt;i&gt;P&lt;/i&gt; ∨ &lt;i&gt;Q&lt;/i&gt; *&lt;br /&gt;     /    \ &lt;span style="color:#ffffff;"&gt;.&lt;/span&gt;&lt;br /&gt;    &lt;i&gt;P&lt;/i&gt;      &lt;i&gt;Q&lt;/i&gt;&lt;/pre&gt;Vi må hugse å forgreine alle greiene som leier frå utsegna. No kan vi finne ei ny utsegn og gjere det same med ho, men berre om ho ikkje er merkt som ferdig.&lt;br /&gt;&lt;br /&gt;Det fine no er at om vi har ei grunnutsegn (til dømes &lt;i&gt;A&lt;/i&gt;) og negasjonen av denne grunnutsegna (¬&lt;i&gt;A&lt;/i&gt;) ein eller annan stad i same grein, er det ikkje mogleg å gjere alle utsegnene i greina sanne til same tid (av di det ikkje er mogleg å gjere &lt;i&gt;A&lt;/i&gt; og ¬&lt;i&gt;A&lt;/i&gt; sanne til same tid.) Ei sånn grein kallar vi lukka, og kryssar ho av som ferdig:&lt;pre&gt;     &lt;i&gt;A&lt;/i&gt;     ¬&lt;i&gt;A&lt;/i&gt;&lt;br /&gt;    ¬&lt;i&gt;A&lt;/i&gt;      &lt;i&gt;A&lt;/i&gt;&lt;br /&gt;     X      X&lt;/pre&gt;Ei grein som ikkje er lukka kallar vi open. Om vi har nytta (og merkt) alle utsegnene i ei grein og ho framleis er open har vi funni ein måte å gjere alle utsegnene i greina sanne på ein gong. Denne finn vi ved å gjere alle literalane i greina sanne. Og sidan dei utsegnene vi starta med er starten på alle greinene i treet har vi funni ein måte å gjere dei sanne på òg. Så om utsegnene vi starta med var ei mengd premissar og negasjonen av ein konklusjon, har vi faktisk funni eit moteksempel til slutninga.&lt;br /&gt;&lt;br /&gt;På tide med eksempel. Lat oss undersøkje slutninga&lt;br /&gt;&lt;br /&gt;&lt;table cellspacing="0" cellpadding="0" width="55" border="0" frame="below"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;¬&lt;i&gt;A&lt;/i&gt; → &lt;i&gt;B&lt;/i&gt;&lt;br /&gt;&lt;hr /&gt;&lt;i&gt;A&lt;/i&gt; ∨ &lt;i&gt;B&lt;/i&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;Fyrst finn vi negasjons normalform av ¬&lt;i&gt;A&lt;/i&gt; → &lt;i&gt;B&lt;/i&gt; og ¬(&lt;i&gt;A&lt;/i&gt; ∨ &lt;i&gt;B&lt;/i&gt;) og set dei opp under kvarandre:&lt;pre&gt;      &lt;i&gt;A&lt;/i&gt; ∨ &lt;i&gt;B&lt;/i&gt;&lt;br /&gt;     ¬&lt;i&gt;A&lt;/i&gt; ∧ ¬&lt;i&gt;B&lt;/i&gt;&lt;/pre&gt;Lat oss byrje med øvste utsegna, og nytte "eller"-regelen på ho. Då får vi&lt;pre&gt;      &lt;i&gt;A&lt;/i&gt; ∨ &lt;i&gt;B&lt;/i&gt; *&lt;br /&gt;     ¬&lt;i&gt;A&lt;/i&gt; ∧ ¬&lt;i&gt;B&lt;/i&gt;&lt;br /&gt;     /     \ &lt;span style="color:#ffffff;"&gt;.&lt;/span&gt;&lt;br /&gt;    &lt;i&gt;A&lt;/i&gt;       &lt;i&gt;B&lt;/i&gt; &lt;/pre&gt;Når vi no nyttar "og"-regelen på utsegn nummer to må vi hugse at vi skal fortsette på alle greinene:&lt;pre&gt;      &lt;i&gt;A&lt;/i&gt; ∨ &lt;i&gt;B&lt;/i&gt; *&lt;br /&gt;     ¬&lt;i&gt;A&lt;/i&gt; ∧ ¬&lt;i&gt;B&lt;/i&gt; *&lt;br /&gt;     /     \ &lt;span style="color:#ffffff;"&gt;.&lt;/span&gt;&lt;br /&gt;    &lt;i&gt;A&lt;/i&gt;       &lt;i&gt;B&lt;/i&gt;&lt;br /&gt;   ¬&lt;i&gt;A&lt;/i&gt;      ¬&lt;i&gt;A&lt;/i&gt;&lt;br /&gt;   ¬&lt;i&gt;B&lt;/i&gt;      ¬&lt;i&gt;B&lt;/i&gt;&lt;br /&gt;    X       X&lt;/pre&gt;Vi ser no at greina til venstre inneheld både &lt;i&gt;A&lt;/i&gt; og ¬&lt;i&gt;A&lt;/i&gt;, og greina til høgre inneheld både &lt;i&gt;B&lt;/i&gt; og ¬&lt;i&gt;B&lt;/i&gt;, så båe greinene lukkar seg og utsegna er gyldig.&lt;br /&gt;&lt;br /&gt;Lat oss no freiste noko større:&lt;br /&gt;&lt;br /&gt;&lt;table cellspacing="0" cellpadding="0" width="90" border="0" frame="below"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;i&gt;A&lt;/i&gt; ∨ (&lt;i&gt;B&lt;/i&gt; ∨ &lt;i&gt;C&lt;/i&gt;)&lt;br /&gt;&lt;i&gt;B&lt;/i&gt; → &lt;i&gt;C&lt;/i&gt;&lt;br /&gt;&lt;hr /&gt;&lt;i&gt;C&lt;/i&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;Sjå om du kan følgje med på kva som skjer&lt;br /&gt;&lt;table cellspacing="15"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;pre&gt;&lt;i&gt;A&lt;/i&gt; ∨ (&lt;i&gt;B&lt;/i&gt; ∨ &lt;i&gt;C&lt;/i&gt;)&lt;br /&gt;  ¬&lt;i&gt;B&lt;/i&gt; ∨ &lt;i&gt;C&lt;/i&gt;&lt;br /&gt;    ¬&lt;i&gt;C&lt;/i&gt;&lt;/pre&gt;&lt;/td&gt;&lt;td valign="top"&gt;⇒&lt;/td&gt;&lt;td valign="top"&gt;&lt;pre&gt; &lt;i&gt;A&lt;/i&gt; ∨ (&lt;i&gt;B&lt;/i&gt; ∨ &lt;i&gt;C&lt;/i&gt;) *&lt;br /&gt;   ¬&lt;i&gt;B&lt;/i&gt; ∨ &lt;i&gt;C&lt;/i&gt;&lt;br /&gt;  __ ¬&lt;i&gt;C&lt;/i&gt; __&lt;br /&gt; /        \ &lt;span style="color:#ffffff;"&gt;.&lt;/span&gt;&lt;br /&gt;&lt;i&gt;A&lt;/i&gt;        &lt;i&gt;B&lt;/i&gt; ∨ &lt;i&gt;C&lt;/i&gt;&lt;/pre&gt;&lt;/td&gt;&lt;td valign="top"&gt;⇒&lt;/td&gt;&lt;td valign="top"&gt;&lt;pre&gt;    &lt;i&gt;A&lt;/i&gt; ∨ (&lt;i&gt;B&lt;/i&gt; ∨ &lt;i&gt;C&lt;/i&gt;) *&lt;br /&gt;      ¬&lt;i&gt;B&lt;/i&gt; ∨ &lt;i&gt;C&lt;/i&gt; *&lt;br /&gt;     __ ¬&lt;i&gt;C&lt;/i&gt; __&lt;br /&gt;    /        \ &lt;span style="color:#ffffff;"&gt;.&lt;/span&gt;&lt;br /&gt;   &lt;i&gt;A&lt;/i&gt;        &lt;i&gt;B&lt;/i&gt; ∨ &lt;i&gt;C&lt;/i&gt;&lt;br /&gt;  / \       /    \&lt;span style="color:#ffffff;"&gt;.&lt;/span&gt;&lt;br /&gt;¬&lt;i&gt;B&lt;/i&gt;  &lt;i&gt;C&lt;/i&gt;     ¬&lt;i&gt;B&lt;/i&gt;     &lt;i&gt;C&lt;/i&gt;&lt;br /&gt;    X            X&lt;/pre&gt;&lt;/td&gt;&lt;td valign="top"&gt;⇒&lt;/td&gt;&lt;td valign="top"&gt;&lt;pre&gt;    &lt;i&gt;A&lt;/i&gt; ∨ (&lt;i&gt;B&lt;/i&gt; ∨ &lt;i&gt;C&lt;/i&gt;) *&lt;br /&gt;      ¬&lt;i&gt;B&lt;/i&gt; ∨ &lt;i&gt;C&lt;/i&gt; *&lt;br /&gt;     __ ¬&lt;i&gt;C&lt;/i&gt; __&lt;br /&gt;    /        \ &lt;span style="color:#ffffff;"&gt;.&lt;/span&gt;&lt;br /&gt;   &lt;i&gt;A&lt;/i&gt;        &lt;i&gt;B&lt;/i&gt; ∨ &lt;i&gt;C&lt;/i&gt; *&lt;br /&gt;  / \       /    \&lt;span style="color:#ffffff;"&gt;.&lt;/span&gt;&lt;br /&gt;¬&lt;i&gt;B&lt;/i&gt;  &lt;i&gt;C&lt;/i&gt;     ¬&lt;i&gt;B&lt;/i&gt;     &lt;i&gt;C&lt;/i&gt;&lt;br /&gt;    X     / \    X&lt;br /&gt;         &lt;i&gt;B&lt;/i&gt;  &lt;i&gt;C&lt;/i&gt;&lt;br /&gt;         X  X&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;No har vi ei open grein, utan fleire utsegner å jobbe med, og det gjev oss eit moteksempel. For å finne moteksempelet samlar vi saman literalane i greina, nemleg &lt;i&gt;A&lt;/i&gt;, ¬&lt;i&gt;B&lt;/i&gt; og ¬&lt;i&gt;C&lt;/i&gt;, og gjer desse sanne. Vi får då &lt;i&gt;A&lt;/i&gt; = &lt;b&gt;S&lt;/b&gt;, &lt;i&gt;B&lt;/i&gt; = &lt;b&gt;U&lt;/b&gt; og &lt;i&gt;C&lt;/i&gt; = &lt;b&gt;U&lt;/b&gt;. (Du kan no skjekke at om vi set dette inn i slutninga finn vi at alle premissane er sanne medan konklusjonen er usann.)&lt;br /&gt;&lt;br /&gt;Kva er motivasjonen for å vise dette? I ein seinare tekst skal vi presentere eit dataprogram for å undersøkje slutningar ved hjelp av denne metoden, og dette dataprogrammet skal vi nytte som eksempel i diskusjonen av logikkmaskina Jevons bygde.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Kjelder&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Richard Jeffrey. Formal logic, its scope and limits, tredje utgåve, McGraw-Hill, 1991.&lt;br /&gt;&lt;br /&gt;Herman Ruge Jervell. Forelesninger i logikk. Universitetet i Oslo, 1993.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18848841-113347674984523048?l=smmse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://smmse.blogspot.com/feeds/113347674984523048/comments/default' title='Legg inn kommentarer'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18848841&amp;postID=113347674984523048' title='0 Kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18848841/posts/default/113347674984523048'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18848841/posts/default/113347674984523048'/><link rel='alternate' type='text/html' href='http://smmse.blogspot.com/2005/12/meir-om-slutningar-ii-ei-enkel_01.html' title='Meir om slutningar II &amp;ndash; ei enkel utsegnskalkyle'/><author><name>SMMSE</name><uri>http://www.blogger.com/profile/05458340589967177945</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18848841.post-113310053025471317</id><published>2005-11-27T15:00:00.000+01:00</published><updated>2005-12-01T23:08:18.666+01:00</updated><title type='text'>Snø</title><content type='html'>Det er ikkje så ofte Enschede er omtalt i norske medium, så vi rettar merksemda mot &lt;a href="http://www.aftenposten.no/nyheter/uriks/article1165334.ece"&gt;ei lita melding.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Her på senteret er vi vane med snø og kom oss greitt gjennom helga, sjølv om eit middagsbesøk måtte utsetjast frå fredag til sundag.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18848841-113310053025471317?l=smmse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://smmse.blogspot.com/feeds/113310053025471317/comments/default' title='Legg inn kommentarer'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18848841&amp;postID=113310053025471317' title='0 Kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18848841/posts/default/113310053025471317'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18848841/posts/default/113310053025471317'/><link rel='alternate' type='text/html' href='http://smmse.blogspot.com/2005/11/sn.html' title='Snø'/><author><name>SMMSE</name><uri>http://www.blogger.com/profile/05458340589967177945</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18848841.post-113227190911567109</id><published>2005-11-18T00:57:00.000+01:00</published><updated>2005-12-01T23:04:12.553+01:00</updated><title type='text'>Meir om slutningar – lur bruk av logikkpianoet til Jevons</title><content type='html'>I del II av teksten om logikkmaskina Jevons bygde hevda vi at ho ikkje gjev oss svar på dei problema vi er interesserte i. Som regel er gyldigheita til ei gjevi utsegn eller slutning det vi ønskje å undersøkje, ikkje kva som er dei moglege konklusjonane frå ei mengd premissar. Men at logikkmaskina ikkje kan hjelpe oss med dei interessante problema er ei sanning med modifikasjonar. I denne teksten skal vi sjå på korleis vi kan løyse dei problema vi er interesserte i ved å nytte logikkmaskina til Jevons på ein lur måte.&lt;br /&gt;&lt;br /&gt;Vi hugsar at ei (gyldig) slutning er ei mengd premissar og ein konklusjon sånn at kvar gong alle premissane er sanne til same tid må òg konklusjonen sann. (Sidan ei utsegn er gyldig (alltid sann) om ho kan sluttast frå null premissar, skal vi halde oss til slutningar.) Vi skal kalle premissane for &lt;i&gt;P&lt;/i&gt;&lt;sub&gt;1&lt;/sub&gt;, &lt;i&gt;P&lt;/i&gt;&lt;sub&gt;2&lt;/sub&gt;,…,&lt;i&gt;P&lt;sub&gt;n&lt;/sub&gt;&lt;/i&gt; og konklusjonen for &lt;i&gt;K&lt;/i&gt;, og skrive ei slutning slik:&lt;br /&gt;&lt;br /&gt;&lt;table cellspacing="0" cellpadding="0" width="25" border="0" frame="below"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;i&gt;P&lt;/i&gt;&lt;sub&gt;1&lt;/sub&gt;&lt;br /&gt;&lt;i&gt;P&lt;/i&gt;&lt;sub&gt;2&lt;/sub&gt;&lt;br /&gt;· · ·&lt;br /&gt;&lt;i&gt;P&lt;sub&gt;n&lt;/sub&gt;&lt;/i&gt;&lt;br /&gt;&lt;hr /&gt;&lt;i&gt;K&lt;/i&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;Kva skjer så om slutning ikkje er gyldig? Då finst det ein måte å gjere alle premissane sanne til same tid som samtidig gjer konklusjonen usann. Dette kallar vi eit moteksempel. Ta til dømes slutninga&lt;br /&gt;&lt;br /&gt;&lt;table cellspacing="0" cellpadding="0" width="45" border="0" frame="below"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;i&gt;A&lt;/i&gt; → &lt;i&gt;B&lt;/i&gt;&lt;br /&gt;&lt;i&gt;B&lt;/i&gt;&lt;br /&gt;&lt;hr /&gt;&lt;i&gt;A&lt;/i&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;Om vi set &lt;i&gt;A&lt;/i&gt; = &lt;b&gt;U&lt;/b&gt; and &lt;i&gt;B&lt;/i&gt; = &lt;b&gt;S&lt;/b&gt; ser vi at båe premissane vert sanne, medan konklusjonen vert usann. Vi har funni eit moteksempel, så slutninga kan ikkje vere gyldig. Så det vi skal gjere er å leite etter moteksempel til ei slutning, og om vi ikkje kan finne nokre tyder det at slutninga er gyldig. Enkelt og greitt, no treng vi berre ein måte å leite etter moteksempel på.&lt;br /&gt;&lt;br /&gt;Vi hugsar at Jenons sitt logikkpiano gjev oss utsegner om er konsistente med ei mengd premissar, og det skal vi utnytte no. Tenk no at eit moteksempel gjer alle premissane sanne og konklusjonen usann; det er det same som å seie at det gjer alle premissane sanne og det motsette av konklusjonen (negasjonen av konklusjonen) sann til same tid. Tenk vidare at eit moteksempel kan uttrykkjast som ei utsegn. Moteksempelet over kan uttrykkjast som ¬&lt;i&gt;A&lt;/i&gt; ∧ &lt;i&gt;B&lt;/i&gt;. Det vil seie at vi finn igjen moteksempelet ved å gjere utsegna ¬&lt;i&gt;A&lt;/i&gt; ∧ &lt;i&gt;B&lt;/i&gt; sann.&lt;br /&gt;&lt;br /&gt;No ser du sikkert kor vi vil hen. Lat oss seie vi har ei slutning frå &lt;i&gt;P&lt;/i&gt;&lt;sub&gt;1&lt;/sub&gt;, &lt;i&gt;P&lt;/i&gt;&lt;sub&gt;2&lt;/sub&gt;,…, &lt;i&gt;P&lt;sub&gt;n&lt;/sub&gt;&lt;/i&gt; til &lt;i&gt;K&lt;/i&gt;, og vi har funni eit moteksempel som vi kan representere med utsegna &lt;i&gt;M&lt;/i&gt;. Sidan moteksempelet representert av &lt;i&gt;M&lt;/i&gt; gjer premissane og negasjonen av konklusjonen sann, er &lt;i&gt;M&lt;/i&gt; konsistent med mengda {&lt;i&gt;P&lt;/i&gt;&lt;sub&gt;1&lt;/sub&gt;, &lt;i&gt;P&lt;/i&gt;&lt;sub&gt;2&lt;/sub&gt;,…, &lt;i&gt;P&lt;sub&gt;n&lt;/sub&gt;&lt;/i&gt;, ¬&lt;i&gt;K&lt;/i&gt;} (det er mogleg å gjere &lt;i&gt;P&lt;/i&gt;&lt;sub&gt;1&lt;/sub&gt;, &lt;i&gt;P&lt;/i&gt;&lt;sub&gt;2&lt;/sub&gt;,…, &lt;i&gt;P&lt;sub&gt;n&lt;/sub&gt;&lt;/i&gt;, ¬&lt;i&gt;K&lt;/i&gt; og &lt;i&gt;M&lt;/i&gt; sanne på ein gong)! Alt vi treng å gjere er å skrive inn mengda {&lt;i&gt;P&lt;/i&gt;&lt;sub&gt;1&lt;/sub&gt;, &lt;i&gt;P&lt;/i&gt;&lt;sub&gt;2&lt;/sub&gt;,…, &lt;i&gt;P&lt;sub&gt;n&lt;/sub&gt;&lt;/i&gt;, ¬&lt;i&gt;K&lt;/i&gt;}, og alle utsegnene vi får tilbake er moteksempel. Om vi ikkje får nokre utsegner tilbake tyder det at det ikkje finst nokre moteksempel og slutninga er gyldig.&lt;br /&gt;&lt;br /&gt;Lat oss ta eit par eksempel. Fyrst eksempelet over. Vi skriv inn &lt;i&gt;A&lt;/i&gt; → &lt;i&gt;B&lt;/i&gt;, &lt;i&gt;B&lt;/i&gt; og ¬&lt;i&gt;A&lt;/i&gt;, og får tilbake&lt;br /&gt;&lt;br /&gt;¬&lt;i&gt;A&lt;/i&gt; ∧ &lt;i&gt;B&lt;/i&gt; ∧ &lt;i&gt;C&lt;/i&gt; ∧ &lt;i&gt;D&lt;/i&gt;&lt;br /&gt;¬&lt;i&gt;A&lt;/i&gt; ∧ &lt;i&gt;B&lt;/i&gt; ∧ &lt;i&gt;C&lt;/i&gt; ∧ ¬&lt;i&gt;D&lt;/i&gt;&lt;br /&gt;¬&lt;i&gt;A&lt;/i&gt; ∧ &lt;i&gt;B&lt;/i&gt; ∧ ¬&lt;i&gt;C&lt;/i&gt; ∧ &lt;i&gt;D&lt;/i&gt;&lt;br /&gt;¬&lt;i&gt;A&lt;/i&gt; ∧ &lt;i&gt;B&lt;/i&gt; ∧ ¬&lt;i&gt;C&lt;/i&gt; ∧ ¬&lt;i&gt;D&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;Med andre ord har vi &lt;i&gt;A&lt;/i&gt; = &lt;b&gt;U&lt;/b&gt;, &lt;i&gt;B&lt;/i&gt; = &lt;b&gt;S&lt;/b&gt;, og kva som helst for &lt;i&gt;C&lt;/i&gt; og &lt;i&gt;D&lt;/i&gt; som moteksempel, akkurat som vi hadde over. Lat oss no freiste slutninga&lt;br /&gt;&lt;br /&gt;&lt;table cellspacing="0" cellpadding="0" width="65" border="0" frame="below"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;¬&lt;i&gt;A&lt;/i&gt; → ¬&lt;i&gt;B&lt;/i&gt;&lt;br /&gt;&lt;i&gt;B&lt;/i&gt;&lt;br /&gt;&lt;hr /&gt;&lt;i&gt;A&lt;/i&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;No skriv vi ¬&lt;i&gt;A&lt;/i&gt; → ¬&lt;i&gt;B&lt;/i&gt;, &lt;i&gt;B&lt;/i&gt; og ¬&lt;i&gt;A&lt;/i&gt;, og denne gongen får vi inga utsegner tilbake. Vi veit då at slutninga er gyldig.&lt;br /&gt;&lt;br /&gt;Dette er vel og bra. No vil vi sjå om (&lt;i&gt;A&lt;/i&gt; ∧ (&lt;i&gt;A&lt;/i&gt; → &lt;i&gt;B&lt;/i&gt;)) → &lt;i&gt;B&lt;/i&gt; er ei gyldig utsegn. Då treng vi berre å skrive ¬((&lt;i&gt;A&lt;/i&gt; ∧ (&lt;i&gt;A&lt;/i&gt; → &lt;i&gt;B&lt;/i&gt;)) → &lt;i&gt;B&lt;/i&gt;) på pianoet. Men det er ikkje berre berre, for utsegna er på feil form og kan ikkje skrivast inn. Kva skal vi då gjere? Det finst ei rekkje regler vi kan nytte til å skrive om utsegna til den ønskte forma. I tabellen under kan du sjå korleis vi gjer dette, med utsegna til venstre og reglane vi nyttar til høgre. (For å overtyde deg sjølv om at reglane stemmer kan du setje opp ein sanningstabell for kvar av dei.)&lt;br /&gt;&lt;br /&gt;&lt;table cellspacing="0" cellpadding="3" border="1"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;¬((&lt;i&gt;A&lt;/i&gt; ∧ (&lt;i&gt;A&lt;/i&gt; → &lt;i&gt;B&lt;/i&gt;)) → &lt;i&gt;B&lt;/i&gt;)&lt;/td&gt;&lt;td&gt;&lt;i&gt;P&lt;/i&gt; → &lt;i&gt;Q&lt;/i&gt; = ¬&lt;i&gt;P&lt;/i&gt; ∨ &lt;i&gt;Q&lt;/i&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;¬((&lt;i&gt;A&lt;/i&gt; ∧ (¬&lt;i&gt;A&lt;/i&gt; ∨ &lt;i&gt;B&lt;/i&gt;)) → &lt;i&gt;B&lt;/i&gt;)&lt;/td&gt;&lt;td&gt;&lt;i&gt;P&lt;/i&gt; → &lt;i&gt;Q&lt;/i&gt; = ¬&lt;i&gt;P&lt;/i&gt; ∨ &lt;i&gt;Q&lt;/i&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;¬(¬(&lt;i&gt;A&lt;/i&gt; ∧ (¬&lt;i&gt;A&lt;/i&gt; ∨ &lt;i&gt;B&lt;/i&gt;)) ∨ &lt;i&gt;B&lt;/i&gt;)&lt;/td&gt;&lt;td&gt;¬(&lt;i&gt;P&lt;/i&gt; ∨ &lt;i&gt;Q&lt;/i&gt;) = ¬&lt;i&gt;P&lt;/i&gt; ∧ ¬&lt;i&gt;Q&lt;/i&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;¬¬(&lt;i&gt;A&lt;/i&gt; ∧ (¬&lt;i&gt;A&lt;/i&gt; ∨ &lt;i&gt;B&lt;/i&gt;)) ∧ ¬&lt;i&gt;B&lt;/i&gt;&lt;/td&gt;&lt;td&gt;¬¬&lt;i&gt;P&lt;/i&gt; = &lt;i&gt;P&lt;/i&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;(&lt;i&gt;A&lt;/i&gt; ∧ (¬&lt;i&gt;A&lt;/i&gt; ∨ &lt;i&gt;B&lt;/i&gt;)) ∧ ¬&lt;i&gt;B&lt;/i&gt;&lt;/td&gt;&lt;td&gt;&lt;i&gt;P&lt;/i&gt; ∧ (&lt;i&gt;Q&lt;/i&gt; ∨ &lt;i&gt;R&lt;/i&gt;) = (&lt;i&gt;P&lt;/i&gt; ∧ &lt;i&gt;Q&lt;/i&gt;) ∨ (&lt;i&gt;P&lt;/i&gt; ∧ &lt;i&gt;R&lt;/i&gt;)&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;((&lt;i&gt;A&lt;/i&gt; ∧ ¬&lt;i&gt;A&lt;/i&gt;) ∨ (&lt;i&gt;A&lt;/i&gt; ∧ &lt;i&gt;B&lt;/i&gt;)) ∧ ¬&lt;i&gt;B&lt;/i&gt;&lt;/td&gt;&lt;td&gt;(&lt;i&gt;P&lt;/i&gt; ∨ &lt;i&gt;Q&lt;/i&gt;) ∧ &lt;i&gt;R&lt;/i&gt; = (&lt;i&gt;P&lt;/i&gt; ∧ &lt;i&gt;R&lt;/i&gt;) ∨ (&lt;i&gt;Q&lt;/i&gt; ∧ &lt;i&gt;R&lt;/i&gt;)&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;((&lt;i&gt;A&lt;/i&gt; ∧ ¬&lt;i&gt;A&lt;/i&gt;) ∧ ¬&lt;i&gt;B&lt;/i&gt;) ∨ ((&lt;i&gt;A&lt;/i&gt; ∧ &lt;i&gt;B&lt;/i&gt;) ∧ ¬&lt;i&gt;B&lt;/i&gt;)&lt;/td&gt;&lt;td&gt;(&lt;i&gt;P&lt;/i&gt; ∧ &lt;i&gt;Q&lt;/i&gt;) ∧ &lt;i&gt;R&lt;/i&gt; = &lt;i&gt;P&lt;/i&gt; ∧ &lt;i&gt;Q&lt;/i&gt; ∧ &lt;i&gt;R&lt;/i&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;(&lt;i&gt;A&lt;/i&gt; ∧ ¬&lt;i&gt;A&lt;/i&gt; ∧ ¬&lt;i&gt;B&lt;/i&gt;) ∨ (&lt;i&gt;A&lt;/i&gt; ∧ &lt;i&gt;B&lt;/i&gt; ∧ ¬&lt;i&gt;B&lt;/i&gt;)&lt;/td&gt;&lt;td&gt;.&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;No, (&lt;i&gt;A&lt;/i&gt; ∧ ¬&lt;i&gt;A&lt;/i&gt; ∧ ¬&lt;i&gt;B&lt;/i&gt;) ∨ (&lt;i&gt;A&lt;/i&gt; ∧ &lt;i&gt;B&lt;/i&gt; ∧ ¬&lt;i&gt;B&lt;/i&gt;) kan vi skrive på pianoet. (Gjer det og sjå kva som skjer.) Denne forma kallest for disjunktiv normalform. Med bruk av desse og nokre reglar til kan faktisk alle utsegner skrivast om til disjunktiv normalform, så med pianoet kan vi skjekke alle utsegner (med inntil fire grunnutsegner) på denne måten.&lt;br /&gt;&lt;br /&gt;Nytta så Jevons pianoet sitt på den måten? Det er vel lite truleg. For det fyrste ser vi at det kan vere ganske mykje jobb å skrive ei utsegn om til disjunktiv normalform, såpass mykje at vi like gjerne kunne gått rett på problemet. For det andre har vi sett at om ei utsegn er på disjunktiv normalform nyttar vi berre tangentane på høgresida av pianoet og då har Cop.IS-tangenten (for implikasjon) inga funksjon. Så viss dette var måten å nytte pianoet på kunne Jevons ha lage ein, om ikkje mykje enklare, så i alle høve mindre konstruksjon.&lt;br /&gt;&lt;br /&gt;I ein seinare tekst skal vi sjå korleis ein kan nytte dei same prinsippa til å lage ein enkel utsegnskalkyle som er lett å mekanisere.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18848841-113227190911567109?l=smmse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://smmse.blogspot.com/feeds/113227190911567109/comments/default' title='Legg inn kommentarer'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18848841&amp;postID=113227190911567109' title='0 Kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18848841/posts/default/113227190911567109'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18848841/posts/default/113227190911567109'/><link rel='alternate' type='text/html' href='http://smmse.blogspot.com/2005/11/meir-om-slutningar-lur-bruk-av.html' title='Meir om slutningar – lur bruk av logikkpianoet til Jevons'/><author><name>SMMSE</name><uri>http://www.blogger.com/profile/05458340589967177945</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18848841.post-113191715323229765</id><published>2005-11-13T22:25:00.000+01:00</published><updated>2005-12-01T23:10:18.766+01:00</updated><title type='text'>Jevons sitt logikkpiano II</title><content type='html'>I del I såg vi på korleis ein opererer logikkmaskina som William Stanley Jevons bygde i 1869. Maskina finst no ved Museum of the History of Science, University of Oxford. Om du vil sjå bilete av ho kan du gå &lt;a href="http://www.mhs.ox.ac.uk/images/index.htm?text"&gt;hit&lt;/a&gt; og søkje etter "jevons". For oss er det no på tide å ta ein titt inni maskina.&lt;br /&gt;&lt;br /&gt;Som vi såg vil pianoet (som det ofte vert kalla) vise alle dei utsegnslogiske formlane på forma&lt;br /&gt;&lt;b&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;A&lt;/b&gt; ∧ &lt;b&gt;B&lt;/b&gt; ∧ &lt;b&gt;C&lt;/b&gt; ∧ &lt;b&gt;D&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;(kor &lt;b&gt;A&lt;/b&gt; er anten &lt;i&gt;A&lt;/i&gt; eller ¬&lt;i&gt;A&lt;/i&gt;, osb., og &lt;i&gt;A&lt;/i&gt;, &lt;i&gt;B&lt;/i&gt;, &lt;i&gt;C&lt;/i&gt; og &lt;i&gt;D&lt;/i&gt; er grunnutsegner) som er konsistente med premissane ein skriv inn. Kvar av desse formlane er inni maskina representert av ein stav som kan verte flytta opp og ned. Langsetter stavane er det seksjonar for alle dei åtte literalane &lt;i&gt;A&lt;/i&gt;, ¬&lt;i&gt;A&lt;/i&gt;, &lt;i&gt;B&lt;/i&gt;, ¬&lt;i&gt;B&lt;/i&gt;, &lt;i&gt;C&lt;/i&gt;, ¬&lt;i&gt;C&lt;/i&gt;, &lt;i&gt;D&lt;/i&gt; og ¬&lt;i&gt;D&lt;/i&gt;, og ein gjevi formel er representert av ein stav med ein pinne i seksjonen for &lt;i&gt;negasjonen&lt;/i&gt; av kvar av literalane i formelen. Til dømes er formelen &lt;i&gt;A&lt;/i&gt; ∧ ¬&lt;i&gt;B&lt;/i&gt; ∧ &lt;i&gt;C&lt;/i&gt; ∧ ¬&lt;i&gt;D&lt;/i&gt; representert med staven:&lt;br /&gt;&lt;br /&gt;&lt;table cellspacing="0" cellpadding="0" width="320" border="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td align="middle" width="40"&gt;&lt;i&gt;A&lt;/i&gt;&lt;/td&gt;&lt;td align="middle" width="40"&gt;¬&lt;i&gt;A&lt;/i&gt;&lt;/td&gt;&lt;td align="middle" width="40"&gt;&lt;i&gt;B&lt;/i&gt;&lt;/td&gt;&lt;td align="middle" width="40"&gt;¬&lt;i&gt;B&lt;/i&gt;&lt;/td&gt;&lt;td align="middle" width="40"&gt;&lt;i&gt;C&lt;/i&gt;&lt;/td&gt;&lt;td align="middle" width="40"&gt;¬&lt;i&gt;C&lt;/i&gt;&lt;/td&gt;&lt;td align="middle" width="40"&gt;&lt;i&gt;D&lt;/i&gt;&lt;/td&gt;&lt;td align="middle" width="40"&gt;¬&lt;i&gt;D&lt;/i&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;table cellspacing="0" cellpadding="0" width="320" frame="box"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td align="middle" width="40"&gt;&lt;/td&gt;&lt;td align="middle" width="40"&gt;•&lt;/td&gt;&lt;td align="middle" width="40"&gt;•&lt;/td&gt;&lt;td align="middle" width="40"&gt;&lt;/td&gt;&lt;td align="middle" width="40"&gt;&lt;/td&gt;&lt;td align="middle" width="40"&gt;•&lt;/td&gt;&lt;td align="middle" width="40"&gt;•&lt;/td&gt;&lt;td align="middle" width="40"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;(Dette er ei lita forenkling; eigentleg er kvar formel representert av to stavar forbundi med ein streng. Men kvar av desse stavane har pinnar i dei same seksjonane, så det er ikkje så viktig for denne presentasjonen). I tillegg har stavane pinnar for kvar av operasjonane OR, Cop. IS, Full Stop og Finis. &lt;/p&gt;&lt;p&gt;Ein stav kan vere i ein av fire posisjonar. Posisjon 1 tydar at formelen representert av staven er konsistent med premissane vi har skrivi inn i pianoet og posisjon 4 tyder at formelen ikkje er konsistent med premissane. Posisjonane 2 og 3 vert nytta til "mellomrekning". På framsida av pianoet er det hòl inn mot stavane og stavane er merka sånn at ein kan sjå formlane gjennom hòla, men berre for dei stavane som er i posisjon 1.&lt;/p&gt;&lt;p&gt;Kvar av tangentane er forbundi med ein hevarm som går på tvers av stavane. Når ein tangent vert pressa ned vil hevarmen lyfte seg. Hevarmen vil då slå borti pinnane og flytte på stavane. På den måten kan posisjonen til ein stav verte endra (du kan sjå Jevons sin illustrasjon av hevarmane &lt;a href="http://www.manhattanrarebooks-science.com/images/jevons%20plate.jpg"&gt;her&lt;/a&gt;). For at vi skal få ei kjensle av korleis dette verkar, skal vi gå gjennom eit lite eksempel. &lt;/p&gt;&lt;p&gt;Vi vil skrive inn premissen &lt;i&gt;A&lt;/i&gt; → &lt;i&gt;B&lt;/i&gt;. I del I såg vi at vi då må skrive&lt;br /&gt;&lt;pre&gt;A Cop.IS B FullStop&lt;/pre&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;på pianoet. I utgangspunktet er alle stavane i posisjon 1. Når vi pressar tangenten &lt;i&gt;A&lt;/i&gt; (på venstresida) vil ein hevarm lyfte seg og slå borti alle stavane som har ein pinne i seksjon &lt;i&gt;A&lt;/i&gt; og flytte dei til posisjon 2. Av di pinnane er plassert i seksjonen for negasjonen til literalane vil det seie at alle formlane som inneheld ¬&lt;i&gt;A&lt;/i&gt; no vil vere i posisjon 2 medan formlane som inneheld &lt;i&gt;A&lt;/i&gt; vil vere igjen i posisjon 1. No pressar vi tangenten Cop.IS, og den bringer alle stavar i posisjon 3 tilbake til posisjon 1. (Men sidan ingen stavar er i posisjon 3 skjer det ingenting; denne tangenten har berre ein funksjon om ein har nytta OR-tangenten. Vi skal ikkje seie noko meir om dette.) Tangenten &lt;i&gt;B&lt;/i&gt; (på høgresida) flyttar alle stavar i posisjon 1 med pinne i seksjon &lt;i&gt;B&lt;/i&gt; (formlar med ¬&lt;i&gt;B&lt;/i&gt;) til posisjon 3, men let stavane i posisjon 2 vere i fred. No har vi altså formlar med &lt;i&gt;A&lt;/i&gt; og &lt;i&gt;B&lt;/i&gt; i posisjon 1, formlar med ¬&lt;i&gt;A&lt;/i&gt; i posisjon 2 og formlar med &lt;i&gt;A&lt;/i&gt; og ¬&lt;i&gt;B&lt;/i&gt; i posisjon 3. Full Stop bringer stavane i posisjon 2 tilbake til posisjon 1 og stavane i posisjon 3 til posisjon 4. Etter Full Stop har vi med andre ord dei formlane med &lt;i&gt;A&lt;/i&gt; og ¬&lt;i&gt;B&lt;/i&gt; i posisjon 4 (og der vert dei verande til vi pressar Finis) og det er akkurat dei formalen som ikkje er konsistente med &lt;i&gt;A&lt;/i&gt; → &lt;i&gt;B&lt;/i&gt;. Resten av formlane er i posisjon 1, og dei er alle konsistente med premissen. &lt;/p&gt;&lt;p&gt;Kva har skjedd? Jo, alle formlar med ¬&lt;i&gt;A&lt;/i&gt; er konsistente med &lt;i&gt;A&lt;/i&gt; → &lt;i&gt;B&lt;/i&gt;. Difor vert dei "gøymt bort" i posisjon 2, sånn at berre formlar med &lt;i&gt;A&lt;/i&gt; kan verte flytta til posisjon 3 (og vidare til posisjon 4) når vi pressar på &lt;i&gt;B&lt;/i&gt;-tangenten. Formlane i posisjon 4 er ute av spelet, så dei vil ikkje verte flytta på om vi skriv inn fleire premissar. På den måten kan vi fjerne fleire og fleire formlar ved å skrive inn fleire premissar. Om vi pressar Finis vert sjølvsagt alle formlane dytta tilbake i posisjon 1, og vi kan starte på nytt.&lt;/p&gt;&lt;p&gt;Vi avslutta del I av denne teksten med å seie at logikkpianoet til Jevons i seg sjølv ikkje er veldig interessant. Kvifor det? For det fyrste (med berre fire grunnutsegner og med dei restriksjonane pianoet har på forma til formlane) kan ein ikkje nytte det til å løyse oppgåver/problem som ein ikkje raskt kan løyse på baksida av ein konvolutt. Jevons sjølv forsvara seg med å seie at hensikta eigentleg ikkje var å løyse kompliserte problem, men at maskina var nyttig når han underviste i logikk. &lt;/p&gt;&lt;p&gt;Kunne ikkje Jevons ha laga ei større maskin med fleire grunnutsegner? Kanskje, men ikkje veldig mange fleir. Til saman utgjer stavane i maskina ein sanningstabell for utsegna &lt;i&gt;A&lt;/i&gt;∧&lt;i&gt;B&lt;/i&gt;∧&lt;i&gt;C&lt;/i&gt;∧&lt;i&gt;D&lt;/i&gt; kor kvar stav representerer ein rad i tabellen. (Prøv å overtyd deg sjølv om at dette stemmer.) Om vi ser på sanningstabellen for utsegna, er han allereie ganske lang&lt;/p&gt;&lt;p&gt;&lt;table cellspacing="0" cellpadding="0" width="160" border="1"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td align="middle" width="25%"&gt;&lt;i&gt;A&lt;/i&gt;&lt;/td&gt;&lt;td align="middle" width="25%"&gt;&lt;i&gt;B&lt;/i&gt;&lt;/td&gt;&lt;td align="middle" width="25%"&gt;&lt;i&gt;C&lt;/i&gt;&lt;/td&gt;&lt;td align="middle" width="25%"&gt;&lt;i&gt;D&lt;/i&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="middle" width="25%"&gt;&lt;b&gt;S&lt;/b&gt;&lt;/td&gt;&lt;td align="middle" width="25%"&gt;&lt;b&gt;S&lt;/b&gt;&lt;/td&gt;&lt;td align="middle" width="25%"&gt;&lt;b&gt;S&lt;/b&gt;&lt;/td&gt;&lt;td align="middle" width="25%"&gt;&lt;b&gt;S&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="middle" width="25%"&gt;&lt;b&gt;S&lt;/b&gt;&lt;/td&gt;&lt;td align="middle" width="25%"&gt;&lt;b&gt;S&lt;/b&gt;&lt;/td&gt;&lt;td align="middle" width="25%"&gt;&lt;b&gt;S&lt;/b&gt;&lt;/td&gt;&lt;td align="middle" width="25%"&gt;&lt;b&gt;U&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="middle" width="25%"&gt;&lt;b&gt;S&lt;/b&gt;&lt;/td&gt;&lt;td align="middle" width="25%"&gt;&lt;b&gt;S&lt;/b&gt;&lt;/td&gt;&lt;td align="middle" width="25%"&gt;&lt;b&gt;U&lt;/b&gt;&lt;/td&gt;&lt;td align="middle" width="25%"&gt;&lt;b&gt;S&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="middle" width="25%"&gt;&lt;b&gt;S&lt;/b&gt;&lt;/td&gt;&lt;td align="middle" width="25%"&gt;&lt;b&gt;S&lt;/b&gt;&lt;/td&gt;&lt;td align="middle" width="25%"&gt;&lt;b&gt;U&lt;/b&gt;&lt;/td&gt;&lt;td align="middle" width="25%"&gt;&lt;b&gt;U&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="middle" width="25%"&gt;&lt;b&gt;S&lt;/b&gt;&lt;/td&gt;&lt;td align="middle" width="25%"&gt;&lt;b&gt;U&lt;/b&gt;&lt;/td&gt;&lt;td align="middle" width="25%"&gt;&lt;b&gt;S&lt;/b&gt;&lt;/td&gt;&lt;td align="middle" width="25%"&gt;&lt;b&gt;S&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="middle" width="25%"&gt;&lt;b&gt;S&lt;/b&gt;&lt;/td&gt;&lt;td align="middle" width="25%"&gt;&lt;b&gt;U&lt;/b&gt;&lt;/td&gt;&lt;td align="middle" width="25%"&gt;&lt;b&gt;S&lt;/b&gt;&lt;/td&gt;&lt;td align="middle" width="25%"&gt;&lt;b&gt;U&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="middle" width="25%"&gt;&lt;b&gt;S&lt;/b&gt;&lt;/td&gt;&lt;td align="middle" width="25%"&gt;&lt;b&gt;U&lt;/b&gt;&lt;/td&gt;&lt;td align="middle" width="25%"&gt;&lt;b&gt;U&lt;/b&gt;&lt;/td&gt;&lt;td align="middle" width="25%"&gt;&lt;b&gt;S&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="middle" width="25%"&gt;&lt;b&gt;S&lt;/b&gt;&lt;/td&gt;&lt;td align="middle" width="25%"&gt;&lt;b&gt;U&lt;/b&gt;&lt;/td&gt;&lt;td align="middle" width="25%"&gt;&lt;b&gt;U&lt;/b&gt;&lt;/td&gt;&lt;td align="middle" width="25%"&gt;&lt;b&gt;U&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="middle" width="25%"&gt;&lt;b&gt;U&lt;/b&gt;&lt;/td&gt;&lt;td align="middle" width="25%"&gt;&lt;b&gt;S&lt;/b&gt;&lt;/td&gt;&lt;td align="middle" width="25%"&gt;&lt;b&gt;S&lt;/b&gt;&lt;/td&gt;&lt;td align="middle" width="25%"&gt;&lt;b&gt;S&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="middle" width="25%"&gt;&lt;b&gt;U&lt;/b&gt;&lt;/td&gt;&lt;td align="middle" width="25%"&gt;&lt;b&gt;S&lt;/b&gt;&lt;/td&gt;&lt;td align="middle" width="25%"&gt;&lt;b&gt;S&lt;/b&gt;&lt;/td&gt;&lt;td align="middle" width="25%"&gt;&lt;b&gt;U&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="middle" width="25%"&gt;&lt;b&gt;U&lt;/b&gt;&lt;/td&gt;&lt;td align="middle" width="25%"&gt;&lt;b&gt;S&lt;/b&gt;&lt;/td&gt;&lt;td align="middle" width="25%"&gt;&lt;b&gt;U&lt;/b&gt;&lt;/td&gt;&lt;td align="middle" width="25%"&gt;&lt;b&gt;S&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="middle" width="25%"&gt;&lt;b&gt;U&lt;/b&gt;&lt;/td&gt;&lt;td align="middle" width="25%"&gt;&lt;b&gt;S&lt;/b&gt;&lt;/td&gt;&lt;td align="middle" width="25%"&gt;&lt;b&gt;U&lt;/b&gt;&lt;/td&gt;&lt;td align="middle" width="25%"&gt;&lt;b&gt;U&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="middle" width="25%"&gt;&lt;b&gt;U&lt;/b&gt;&lt;/td&gt;&lt;td align="middle" width="25%"&gt;&lt;b&gt;U&lt;/b&gt;&lt;/td&gt;&lt;td align="middle" width="25%"&gt;&lt;b&gt;S&lt;/b&gt;&lt;/td&gt;&lt;td align="middle" width="25%"&gt;&lt;b&gt;S&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="middle" width="25%"&gt;&lt;b&gt;U&lt;/b&gt;&lt;/td&gt;&lt;td align="middle" width="25%"&gt;&lt;b&gt;U&lt;/b&gt;&lt;/td&gt;&lt;td align="middle" width="25%"&gt;&lt;b&gt;S&lt;/b&gt;&lt;/td&gt;&lt;td align="middle" width="25%"&gt;&lt;b&gt;U&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="middle" width="25%"&gt;&lt;b&gt;U&lt;/b&gt;&lt;/td&gt;&lt;td align="middle" width="25%"&gt;&lt;b&gt;U&lt;/b&gt;&lt;/td&gt;&lt;td align="middle" width="25%"&gt;&lt;b&gt;U&lt;/b&gt;&lt;/td&gt;&lt;td align="middle" width="25%"&gt;&lt;b&gt;S&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="middle" width="25%"&gt;&lt;b&gt;U&lt;/b&gt;&lt;/td&gt;&lt;td align="middle" width="25%"&gt;&lt;b&gt;U&lt;/b&gt;&lt;/td&gt;&lt;td align="middle" width="25%"&gt;&lt;b&gt;U&lt;/b&gt;&lt;/td&gt;&lt;td align="middle" width="25%"&gt;&lt;b&gt;U&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/p&gt;og for kvar ny grunnutsegn vil lengda verte fordobla. Men andre ord veks lengda av tabellen eksponentielt med talet på grunnutsegner. Sidan maskina er basert på at ho har ein (fysisk) sanningstabell inni seg vil òg storleiken på maskina vekse eksponentielt med talet på grunnutsegner. Det seier då seg sjølv at det er grenser for kor mange grunnutsegner ei sånn maskin kan tillate.&lt;br /&gt;&lt;br /&gt;For det andre løyser ikkje maskina det problemet vi eigentleg er interesserte i. Som regel ønskjer ein ikkje å finne, til dømes, alle moglege konklusjon frå ei mengd med premissar. Det vi heller er interesserte i er å finne ut om ei gjevi utsegn er gyldig (ho er gyldig om ho alltid er sann) eller kva for premissar ho forutset om ho ikkje er gyldig. Difor er dei fleste logikkalkylar og logikkprogram basert på at ein startar med ein mogleg konklusjon og arbeider seg bakover til premissane og aksioma, i motsetnad til maskina til Jevons kor ein startar med nokre premissar og ser kva som skjer. (Vi må hugse at dette var tidleg i historia til den moderne logikken, så Jevons viste ikkje alt det vi veit om logikk.)&lt;br /&gt;&lt;br /&gt;Det er openbert feil, som &lt;a href="http://www.manhattanrarebooks-science.com/jevons.htm"&gt;nokon&lt;/a&gt; vil hevde, at maskina Jevons bygde var ei slags tidleg datamaskin eller noko liknande. Det er ikkje ein gong sikkert at det går ei historisk line frå Jevons til dei datamaskinene vi har i dag. Kvifor hevdar vi då at logikkpianoet har (ein slags) signifikans i historia til den moderne datamaskina?&lt;br /&gt;&lt;br /&gt;Det skal vi kome tilbake til i del III av denne teksten.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Kjelder&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;William Aspray. Logic machines. I, William Asprey (red.), &lt;a href="http://www.computerhistory.org/collections/DocumentArchive/Documents/Books/Computing%20Before%20Computers/CBC.html"&gt;Computing before computers&lt;/a&gt;, side 99-121, Iowa State University Press/Ames, 1990.&lt;br /&gt;&lt;br /&gt;William Stanley Jevons. On the mechanical performance of logical inference. Philosophical Transactions of the Royal Society of London, 160:497-518, 1870.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.mhs.ox.ac.uk/"&gt;Museum of the History of Science, University of Oxford&lt;/a&gt;. (13. november 2005)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18848841-113191715323229765?l=smmse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://smmse.blogspot.com/feeds/113191715323229765/comments/default' title='Legg inn kommentarer'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18848841&amp;postID=113191715323229765' title='0 Kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18848841/posts/default/113191715323229765'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18848841/posts/default/113191715323229765'/><link rel='alternate' type='text/html' href='http://smmse.blogspot.com/2005/11/jevons-sitt-logikkpiano-ii.html' title='Jevons sitt logikkpiano II'/><author><name>SMMSE</name><uri>http://www.blogger.com/profile/05458340589967177945</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18848841.post-113185263580335975</id><published>2005-11-13T04:29:00.000+01:00</published><updated>2005-12-01T23:10:42.546+01:00</updated><title type='text'>Jevons sitt logikkpiano I</title><content type='html'>I januar 1870 presenterte William Stanley Jevons, på den tida professor i politisk økonomi, logikk og mental- og moralfilosofi i Manchester, ei "logikkmaskin" for The Royal Socitety of London. Denne maskina har seinare vorti kalla Jevons sitt logikkpiano på grunn av utsjånaden (du kan sjå eit bilete &lt;a href="http://www.rootenbergbooks.com/images/jevons.gif"&gt;her&lt;/a&gt;). I denne teksten vil vi presentere logikkmaskina til Jevons og bruken av ho. I del II vil vi forklare korleis maskina fungerar på innsida, og kvifor vi meiner ho har ein slags signifikans i historia som leidde fram til den moderne datamaskina. Men fyrst litt om utsegnslogikk.&lt;br /&gt;&lt;br /&gt;I utsegnslogikk har vi utsegner (vi vil kalle dei &lt;i&gt;A&lt;/i&gt;, &lt;i&gt;B&lt;/i&gt;, &lt;i&gt;C&lt;/i&gt; osb.) som kan ha ein av to sanningsverdiar "sann" eller usann"(&lt;b&gt;S&lt;/b&gt; eller &lt;b&gt;U&lt;/b&gt;). Vi skal ikkje bry oss om kva utsegnene står for, men merkje oss at dei kan vere grunnutsegner eller samansette utsegner. Ei samansett utsegn er sett saman av grunnutsegner og konnektiva "ikkje" (negasjon), "og" (konjunksjon), "eller" (disjunksjon) og "viss-så" (implikasjon). Vi skal nytte symbola ¬, ∧, ∨ og → sånn at vi skjønar ¬&lt;i&gt;A&lt;/i&gt; som "ikkje &lt;i&gt;A&lt;/i&gt;", &lt;i&gt;A&lt;/i&gt;∧&lt;i&gt;B&lt;/i&gt; som "&lt;i&gt;A&lt;/i&gt; og &lt;i&gt;B&lt;/i&gt;", &lt;i&gt;A&lt;/i&gt;∨&lt;i&gt;B&lt;/i&gt; som "&lt;i&gt;A&lt;/i&gt; eller &lt;i&gt;B&lt;/i&gt;" og &lt;i&gt;A&lt;/i&gt;→&lt;i&gt;B&lt;/i&gt; som "viss &lt;i&gt;A&lt;/i&gt;, så &lt;i&gt;B&lt;/i&gt;". Det er vanleg å definere konnektiva ved hjelp av sanningstabellar. Sanningstabellen for "ikkje" er&lt;br /&gt;&lt;br /&gt;&lt;table cellspacing="0" cellpadding="0" width="80" border="1"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td align="middle" width="50%"&gt;&lt;i&gt;A&lt;/i&gt;&lt;/td&gt;&lt;td align="middle"&gt;¬&lt;i&gt;A&lt;/i&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="middle" width="50%"&gt;&lt;b&gt;S&lt;/b&gt;&lt;/td&gt;&lt;td align="middle"&gt;&lt;b&gt;U&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="middle" width="50%"&gt;&lt;b&gt;U&lt;/b&gt;&lt;/td&gt;&lt;td align="middle"&gt;&lt;b&gt;S&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;og vi les denne sånn at ¬&lt;i&gt;A&lt;/i&gt; er usann når &lt;i&gt;A&lt;/i&gt; er sann og ¬&lt;i&gt;A&lt;/i&gt; er sann når &lt;i&gt;A&lt;/i&gt; er usann.&lt;br /&gt;&lt;br /&gt;Tilsvarande for "og", "eller" og "viss-så" er&lt;br /&gt;&lt;br /&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table cellspacing="0" cellpadding="0" width="160" border="1"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td align="middle" width="25%"&gt;&lt;i&gt;A&lt;/i&gt;&lt;/td&gt;&lt;td align="middle" width="25%"&gt;&lt;i&gt;B&lt;/i&gt;&lt;/td&gt;&lt;td align="middle"&gt;&lt;i&gt;A&lt;/i&gt;∧&lt;i&gt;B&lt;/i&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="middle"&gt;&lt;b&gt;S&lt;/b&gt;&lt;/td&gt;&lt;td align="middle"&gt;&lt;b&gt;S&lt;/b&gt;&lt;/td&gt;&lt;td align="middle"&gt;&lt;b&gt;S&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="middle"&gt;&lt;b&gt;S&lt;/b&gt;&lt;/td&gt;&lt;td align="middle"&gt;&lt;b&gt;U&lt;/b&gt;&lt;/td&gt;&lt;td align="middle"&gt;&lt;b&gt;U&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="middle"&gt;&lt;b&gt;U&lt;/b&gt;&lt;/td&gt;&lt;td align="middle"&gt;&lt;b&gt;S&lt;/b&gt;&lt;/td&gt;&lt;td align="middle"&gt;&lt;b&gt;U&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="middle"&gt;&lt;b&gt;U&lt;/b&gt;&lt;/td&gt;&lt;td align="middle"&gt;&lt;b&gt;U&lt;/b&gt;&lt;/td&gt;&lt;td align="middle"&gt;&lt;b&gt;U&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;td width="20"&gt;&lt;/td&gt;&lt;td&gt;&lt;table cellspacing="0" cellpadding="0" width="160" border="1"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td align="middle" width="25%"&gt;&lt;i&gt;A&lt;/i&gt;&lt;/td&gt;&lt;td align="middle" width="25%"&gt;&lt;i&gt;B&lt;/i&gt;&lt;/td&gt;&lt;td align="middle"&gt;&lt;i&gt;A&lt;/i&gt;∨&lt;i&gt;B&lt;/i&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="middle"&gt;&lt;b&gt;S&lt;/b&gt;&lt;/td&gt;&lt;td align="middle"&gt;&lt;b&gt;S&lt;/b&gt;&lt;/td&gt;&lt;td align="middle"&gt;&lt;b&gt;S&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="middle"&gt;&lt;b&gt;S&lt;/b&gt;&lt;/td&gt;&lt;td align="middle"&gt;&lt;b&gt;U&lt;/b&gt;&lt;/td&gt;&lt;td align="middle"&gt;&lt;b&gt;S&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="middle"&gt;&lt;b&gt;U&lt;/b&gt;&lt;/td&gt;&lt;td align="middle"&gt;&lt;b&gt;S&lt;/b&gt;&lt;/td&gt;&lt;td align="middle"&gt;&lt;b&gt;S&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="middle"&gt;&lt;b&gt;U&lt;/b&gt;&lt;/td&gt;&lt;td align="middle"&gt;&lt;b&gt;U&lt;/b&gt;&lt;/td&gt;&lt;td align="middle"&gt;&lt;b&gt;U&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;td width="20"&gt;&lt;/td&gt;&lt;td&gt;&lt;table cellspacing="0" cellpadding="0" width="160" border="1"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td align="middle" width="25%"&gt;&lt;i&gt;A&lt;/i&gt;&lt;/td&gt;&lt;td align="middle" width="25%"&gt;&lt;i&gt;B&lt;/i&gt;&lt;/td&gt;&lt;td align="middle"&gt;&lt;i&gt;A&lt;/i&gt;→&lt;i&gt;B&lt;/i&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="middle"&gt;&lt;b&gt;S&lt;/b&gt;&lt;/td&gt;&lt;td align="middle"&gt;&lt;b&gt;S&lt;/b&gt;&lt;/td&gt;&lt;td align="middle"&gt;&lt;b&gt;S&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="middle"&gt;&lt;b&gt;S&lt;/b&gt;&lt;/td&gt;&lt;td align="middle"&gt;&lt;b&gt;U&lt;/b&gt;&lt;/td&gt;&lt;td align="middle"&gt;&lt;b&gt;U&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="middle"&gt;&lt;b&gt;U&lt;/b&gt;&lt;/td&gt;&lt;td align="middle"&gt;&lt;b&gt;S&lt;/b&gt;&lt;/td&gt;&lt;td align="middle"&gt;&lt;b&gt;S&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="middle"&gt;&lt;b&gt;U&lt;/b&gt;&lt;/td&gt;&lt;td align="middle"&gt;&lt;b&gt;U&lt;/b&gt;&lt;/td&gt;&lt;td align="middle"&gt;&lt;b&gt;S&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;td&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;Tabellen for "og" skal vere ganske grei. Når det gjeld "eller" er det verdt å merkje seg at dette er såkalla "inklusive eller" (i motsetnad til "eksklusive eller") og skal tolkast som "og/eller" og ikkje som "anten eller". "Viss-så" er det nokre som har problem med. Kvifor er det sånn at "viss &lt;i&gt;A&lt;/i&gt;, så &lt;i&gt;B&lt;/i&gt;" blir sann når &lt;i&gt;A&lt;/i&gt; er usann og &lt;i&gt;B&lt;/i&gt; er sann? Den enklaste forklaringa er kanskje at vi vil at utsegna "viss &lt;i&gt;A&lt;/i&gt;, så &lt;i&gt;B&lt;/i&gt;" skal kunne vere sann sjølv når &lt;i&gt;A&lt;/i&gt; er usann og difor bryr vi oss ikkje om sanningsverdien til &lt;i&gt;B&lt;/i&gt; i det tilfellet. Ta til dømes utsegna "viss det regnar, så vert det vått på bakken". Då kan vi seie at om det ikkje regnar så bryr vi oss ikkje om resten av utsegna. Eller vi kan tenkje at om vi ser ut av vindauget og oppdagar at det ikkje regnar men likevel er vått på bakken, vert ikkje utsegna mindre sann, det kan jo hende nokon har sett på ein vasspreiar.&lt;/p&gt;&lt;p&gt;Det vi manglar no er omgrepa slutning og konsistens. Ei slutning er ei mengd premissar og ein konklusjon som er sånn at premissane og konklusjonen er utsegner og konklusjonen følgjer logisk frå premissane. "Følgjer logisk" tyder her at kvar gong alle premissane er sanne, må også konklusjonen vere sann. Lat oss ta eit lite eksempel.&lt;/p&gt;&lt;p&gt;&lt;table cellspacing="0" cellpadding="0" width="50" border="0" frame="below"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;i&gt;A&lt;/i&gt; → &lt;i&gt;B&lt;/i&gt;&lt;br /&gt;&lt;i&gt;A&lt;/i&gt;&lt;br /&gt;&lt;hr /&gt;&lt;i&gt;B&lt;/i&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/p&gt;&lt;p&gt;Utsegnene over streken er premissane og utsegna under streken er konklusjonen. Om vi vil gjere begge premissane sanne set vi fyrst &lt;i&gt;A&lt;/i&gt; = &lt;b&gt;S&lt;/b&gt; (dette er jo ein av premissane). For å gjere &lt;i&gt;A&lt;/i&gt; → &lt;i&gt;B&lt;/i&gt; sann til same tid må vi òg setje &lt;i&gt;B&lt;/i&gt; = &lt;b&gt;S&lt;/b&gt; (sjå tabellen for "viss-så"). På grunn av dette vert konklusjonen (som berre er &lt;i&gt;B&lt;/i&gt;) sann, så dette er ei slutning. (Dei som har teki ex.phil. vil kanskje kjenne ho igjen som modus ponens.)&lt;/p&gt;&lt;p&gt;Konsistens er litt meir komplisert. Lat Γ (den greske bokstaven store gamma) vere ei mengd utsegner. Vi seier at Γ er konsistent om det er mogleg å gjere alle utsegnene i Γ sanne samtidig. Til dømes er menga {&lt;i&gt;A&lt;/i&gt;, &lt;i&gt;B&lt;/i&gt;, &lt;i&gt;A&lt;/i&gt; → &lt;i&gt;B&lt;/i&gt;} konsistent medan mengda {&lt;i&gt;A&lt;/i&gt;, ¬&lt;i&gt;B&lt;/i&gt;, &lt;i&gt;A&lt;/i&gt; →&lt;i&gt;B&lt;/i&gt;} er inkonsistent. Vidare seier vi at ei utsegn &lt;i&gt;Q&lt;/i&gt; er konsistent med ei mengd Γ om det er mogleg å gjere alle utsegnene i Γ og &lt;i&gt;Q&lt;/i&gt; sanne på ein gong. Det vil seie at &lt;i&gt;B&lt;/i&gt; er konsistent med mengda {&lt;i&gt;A&lt;/i&gt;, &lt;i&gt;A&lt;/i&gt; → &lt;i&gt;B&lt;/i&gt;} medan ¬&lt;i&gt;B&lt;/i&gt; ikkje er det. (Merk at både &lt;i&gt;B&lt;/i&gt;∧&lt;i&gt;C&lt;/i&gt; og &lt;i&gt;B&lt;/i&gt;∧¬&lt;i&gt;C&lt;/i&gt; er konsistente med {&lt;i&gt;A&lt;/i&gt;, &lt;i&gt;A&lt;/i&gt; → &lt;i&gt;B&lt;/i&gt;}; dette vil få relevans.) &lt;/p&gt;&lt;p&gt;No har vi den bakgrunnen vi treng for å forstå korleis logikkpianoet verkar. &lt;/p&gt;&lt;p&gt;Jevons ønskte å analysere slutningar, men klara ikkje lage ei maskin som kunne slutte ein konklusjonen frå ei mengd premissar. Det logikkpianoet hans gjer i staden er å gje oss alle utsegner på ei bestemt form som er konsistente med ei mengd premissar, kor premissane kan ha inntil fire grunnutsegner. &lt;/p&gt;&lt;p&gt;Til å byrje med viser pianoet oss alle utsegner på forma&lt;/p&gt;&lt;p&gt;&lt;b&gt;A&lt;/b&gt; ∧ &lt;b&gt;B&lt;/b&gt; ∧ &lt;b&gt;C&lt;/b&gt; ∧ &lt;b&gt;D&lt;/b&gt;&lt;/p&gt;&lt;p&gt;kor &lt;strong&gt;A&lt;/strong&gt; er anten &lt;i&gt;A&lt;/i&gt; eller ¬&lt;i&gt;A&lt;/i&gt; (vi kallar dette for literalar), osb.; 16 utsegner i alt. Etter kvart som ein skriv inn premissar, vil dei utsegnene som ikkje er konsistente med det ein skriv inn verte borte. Om ein til dømes skriv inn &lt;i&gt;A&lt;/i&gt;→&lt;i&gt;B&lt;/i&gt; og &lt;i&gt;A&lt;/i&gt; vil ein sitje igjen med&lt;br /&gt;&lt;br /&gt;&lt;i&gt;A&lt;/i&gt; ∧ &lt;i&gt;B&lt;/i&gt; ∧ &lt;i&gt;C&lt;/i&gt; ∧ &lt;i&gt;D&lt;/i&gt;&lt;br /&gt;&lt;i&gt;A&lt;/i&gt; ∧ &lt;i&gt;B&lt;/i&gt; ∧ &lt;i&gt;C&lt;/i&gt; ∧ ¬&lt;i&gt;D&lt;/i&gt;&lt;br /&gt;&lt;i&gt;A&lt;/i&gt; ∧ &lt;i&gt;B&lt;/i&gt; ∧ ¬&lt;i&gt;C&lt;/i&gt; ∧ &lt;i&gt;D&lt;/i&gt;&lt;br /&gt;&lt;i&gt;A&lt;/i&gt; ∧ &lt;i&gt;B&lt;/i&gt; ∧ ¬&lt;i&gt;C&lt;/i&gt; ∧ ¬&lt;i&gt;D&lt;/i&gt; &lt;/p&gt;&lt;p&gt;av di ingen kombinasjonar som inneheld ¬&lt;i&gt;A&lt;/i&gt; eller ¬&lt;i&gt;B&lt;/i&gt; kan vere konsistente med premissane&lt;strong&gt;.&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Premissane må òg skrivast inn på ei bestemt form: Dei må ha nøyaktig ei pil, båe sidene av pila må vere ein disjunksjon med null eller fleire disjunktar, og kvar disjunkt ein konjunksjon av ein eller fleire literalar. Kva tyder så dette? Til dømes kan vi skrive inn &lt;/p&gt;&lt;p&gt;&lt;i&gt;A&lt;/i&gt; ∨ (&lt;i&gt;B&lt;/i&gt; ∧ ¬&lt;i&gt;C&lt;/i&gt;) ∨ &lt;i&gt;D&lt;/i&gt; → ¬&lt;i&gt;D&lt;/i&gt; &lt;/p&gt;&lt;p&gt;Venstresida er ein disjunksjon med dei tre disjunktane &lt;i&gt;A&lt;/i&gt;, &lt;i&gt;B&lt;/i&gt;∧¬&lt;i&gt;C&lt;/i&gt; og &lt;i&gt;D&lt;/i&gt;. &lt;i&gt;A&lt;/i&gt; og &lt;i&gt;D&lt;/i&gt; er konjunksjonar av berre éin literal, medan &lt;i&gt;B&lt;/i&gt; ∧ ¬&lt;i&gt;C&lt;/i&gt; er ein konjunksjon av to literalar. Høgresida av pila er ein disjunksjon med éin disjunkt og denne disjunkten er ein konjunksjon av éin literal. Korleis skal ein då skrive inn til dømes berre &lt;i&gt;A&lt;/i&gt; som i eksempelet? Ein disjunksjon med null disjunktar er det same som sanningsverdien &lt;b&gt;S&lt;/b&gt;. (Prøv å sjølv finne ut kvifor &lt;b&gt;S&lt;/b&gt;→&lt;i&gt;A&lt;/i&gt; er det same som &lt;i&gt;A&lt;/i&gt; og &lt;i&gt;A&lt;/i&gt;→&lt;b&gt;S&lt;/b&gt; er det same som &lt;b&gt;S&lt;/b&gt;.) &lt;/p&gt;&lt;p&gt;Om du no har lyst til å spele på pianoet til Jevons, finn du ein simulator &lt;a href="http://home.chello.no/~massl/logikkpiano/index.html"&gt;her&lt;/a&gt;. Men før du byrjar: denne simulatoren nyttar notasjonen til Jevons, som er annleis enn den vi har nytta i denne teksten. Literalane &lt;i&gt;A&lt;/i&gt;, &lt;i&gt;B&lt;/i&gt;, &lt;i&gt;C&lt;/i&gt; og &lt;i&gt;D&lt;/i&gt; er dei same, men Jenovs nyttar dei små bokstavane &lt;i&gt;a&lt;/i&gt;, &lt;i&gt;b&lt;/i&gt;, &lt;i&gt;c&lt;/i&gt; og &lt;i&gt;d&lt;/i&gt; i staden for ¬&lt;i&gt;A&lt;/i&gt;, ¬&lt;i&gt;B&lt;/i&gt;, ¬&lt;i&gt;C&lt;/i&gt; og ¬&lt;i&gt;D&lt;/i&gt;. I staden for ∨ nyttar han OR, og han har ikkje noko symbol for "og". Det vil seie at i notasjonen til Jevons er &lt;i&gt;AB&lt;/i&gt; det same som &lt;i&gt;A&lt;/i&gt;∧&lt;i&gt;B&lt;/i&gt;. Tangenten i midten, som er merka "Cop. IS", er implikasjonspila. &lt;/p&gt;&lt;p&gt;Vidare er det sånn at tangentane til venstre for Cop. IS er for å skrive inn det før pila og tangentane til høgre for det etter pila. Kvar premiss skal avsluttast med tangenten "Full Stop", og "Finis" bringer deg tilbake til start. Utsegnene vert vist fram ovanfrå og ned, så til å byrje med ser du&lt;br /&gt;&lt;pre&gt;A A A A A A A A a a a a a a a a&lt;br /&gt;B B B B b b b b B B B B b b b b&lt;br /&gt;C C c c C C c c C C c c C C c c&lt;br /&gt;D d D d D d D d D d D d D d D d&lt;/pre&gt;Til dømes vil då kolonnen lengst til venstre representere&lt;br /&gt;&lt;br /&gt;&lt;i&gt;A&lt;/i&gt; ∧ &lt;i&gt;B&lt;/i&gt; ∧ &lt;i&gt;C&lt;/i&gt; ∧ &lt;i&gt;D&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;og kolonnen lengst til høgre representerer&lt;br /&gt;&lt;br /&gt;¬&lt;i&gt;A&lt;/i&gt; ∧ ¬&lt;i&gt;B&lt;/i&gt; ∧ ¬&lt;i&gt;C&lt;/i&gt; ∧ ¬&lt;i&gt;D&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;Om du vil freiste det fyrste eksempelet skriv du:&lt;br /&gt;&lt;pre&gt;A Cop.IS B FullStop&lt;br /&gt;Cop.IS A FullStop&lt;/pre&gt;Resultatet vert då&lt;br /&gt;&lt;pre&gt;A A A A&lt;br /&gt;B B B B&lt;br /&gt;C C c c&lt;br /&gt;D d D d&lt;/pre&gt;I det andre eksempelet skriv du&lt;br /&gt;&lt;pre&gt;A OR B c OR D Cop.IS d FullStop&lt;/pre&gt;(Prøv no å finne ut kvifor vi får dette litt keisame resultatet.)&lt;br /&gt;&lt;br /&gt;I del II av denne teksten skal vi sjå på korleis logikkpianoet fungerar på innsida. Vi skal òg sjå på kvifor logikkpianoet i seg sjølv ikkje er veldig interessant, men likevel kan seiast å ha ein slags signifikans i datamaskina si historie.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Referansar&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;William Aspray. Logic machines. I, William Asprey (red.), &lt;a href="http://www.computerhistory.org/collections/DocumentArchive/Documents/Books/Computing%20Before%20Computers/CBC.html"&gt;Computing before computers&lt;/a&gt;, side 99-121, Iowa State University Press/Ames, 1990.&lt;br /&gt;&lt;br /&gt;William Stanley Jevons. On the mechanical performance of logical inference. Philosophical Transactions of the Royal Society of London, 160:497-518, 1870.&lt;br /&gt;&lt;br /&gt;Wikipedia. &lt;a href="http://en.wikipedia.org/wiki/Jevons"&gt;William Stanley Jevons&lt;/a&gt;. (13. november 2005)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18848841-113185263580335975?l=smmse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://smmse.blogspot.com/feeds/113185263580335975/comments/default' title='Legg inn kommentarer'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18848841&amp;postID=113185263580335975' title='1 Kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18848841/posts/default/113185263580335975'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18848841/posts/default/113185263580335975'/><link rel='alternate' type='text/html' href='http://smmse.blogspot.com/2005/11/jevons-sitt-logikkpiano-i.html' title='Jevons sitt logikkpiano I'/><author><name>SMMSE</name><uri>http://www.blogger.com/profile/05458340589967177945</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18848841.post-113166236709470730</id><published>2005-11-10T23:39:00.000+01:00</published><updated>2005-12-01T23:11:00.936+01:00</updated><title type='text'>Fråsegn</title><content type='html'>Påstandane til ml-LTLD manglar fullstendig truverd inntil formlane vert presentert.&lt;br /&gt;&lt;br /&gt;Senter for Marxistiske og Matematiske Studium, Enschede&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18848841-113166236709470730?l=smmse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://smmse.blogspot.com/feeds/113166236709470730/comments/default' title='Legg inn kommentarer'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18848841&amp;postID=113166236709470730' title='1 Kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18848841/posts/default/113166236709470730'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18848841/posts/default/113166236709470730'/><link rel='alternate' type='text/html' href='http://smmse.blogspot.com/2005/11/frsegn.html' title='Fråsegn'/><author><name>SMMSE</name><uri>http://www.blogger.com/profile/05458340589967177945</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry></feed>
