<?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-2535568363905322898</id><updated>2011-04-21T12:34:47.115-07:00</updated><title type='text'>Algoritma</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://inialgo.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2535568363905322898/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://inialgo.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Andry Septia Nurrahman</name><uri>http://www.blogger.com/profile/11738634130176322155</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_gmV1PiPRWCE/Sckx-3j5xjI/AAAAAAAAABA/oVWoojba14w/S220/Andry+Septia+Nurrahman.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>4</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-2535568363905322898.post-7502270726055426673</id><published>2009-03-21T12:31:00.000-07:00</published><updated>2009-03-21T12:32:20.965-07:00</updated><title type='text'>Algorithm</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: -webkit-sans-serif; font-size: 13px; line-height: 19px; "&gt;&lt;h1 id="firstHeading" class="firstHeading" style="color: black; background-image: none; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: initial; font-weight: normal; margin-top: 0px; margin-right: 0px; margin-left: 0px; padding-top: 0.5em; border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: rgb(170, 170, 170); font-size: 188%; margin-bottom: 0.1em; line-height: 1.2em; padding-bottom: 0px; background-position: initial initial; "&gt;&lt;span class="Apple-style-span" style="font-size: 13px; line-height: 19px; "&gt;&lt;h3 id="siteSub" style="color: black; background-image: none; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: initial; margin-top: 0px; margin-right: 0px; margin-left: 0px; padding-top: 0.5em; padding-bottom: 0.17em; border-bottom-style: none; border-bottom-width: initial; border-bottom-color: initial; display: inline; font-size: 92%; font-weight: normal; margin-bottom: 0.3em; background-position: initial initial; "&gt;From Wikipedia, the free encyclopedia&lt;/h3&gt;&lt;div id="contentSub" style="font-size: 84%; line-height: 1.2em; margin-top: 0px; margin-right: 0px; margin-bottom: 1.4em; margin-left: 1em; color: rgb(125, 125, 125); width: auto; "&gt;&lt;/div&gt;&lt;div class="thumb tright" style="width: auto; clear: right; float: right; border-width: initial; border-color: initial; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; margin-top: 0.5em; margin-right: 0px; margin-bottom: 0.8em; margin-left: 1.4em; background-color: white; "&gt;&lt;div class="thumbinner" style="width: 182px; min-width: 100px; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: rgb(204, 204, 204); border-right-color: rgb(204, 204, 204); border-bottom-color: rgb(204, 204, 204); border-left-color: rgb(204, 204, 204); padding-top: 3px !important; padding-right: 3px !important; padding-bottom: 3px !important; padding-left: 3px !important; background-color: rgb(249, 249, 249); font-size: 94%; text-align: center; overflow-x: hidden; overflow-y: hidden; "&gt;&lt;a href="http://en.wikipedia.org/wiki/File:LampFlowchart.svg" class="image" title="Flowcharts are often used to graphically represent algorithms." style="text-decoration: none; color: rgb(0, 43, 184); background-image: none; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: initial; background-position: initial initial; "&gt;&lt;img alt="" src="http://upload.wikimedia.org/wikipedia/commons/thumb/9/91/LampFlowchart.svg/180px-LampFlowchart.svg.png" width="180" height="246" border="0" class="thumbimage" style="border-width: initial; border-color: initial; vertical-align: middle; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: rgb(204, 204, 204); border-right-color: rgb(204, 204, 204); border-bottom-color: rgb(204, 204, 204); border-left-color: rgb(204, 204, 204); background-color: rgb(255, 255, 255); " /&gt;&lt;/a&gt;&lt;div class="thumbcaption" style="border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; line-height: 1.4em; padding-top: 3px !important; padding-right: 3px !important; padding-bottom: 3px !important; padding-left: 3px !important; font-size: 94%; text-align: left; "&gt;&lt;div class="magnify" style="border-top-style: none !important; border-right-style: none !important; border-bottom-style: none !important; border-left-style: none !important; border-width: initial !important; border-color: initial !important; background-image: none !important; background-repeat: initial !important; background-attachment: initial !important; -webkit-background-clip: initial !important; -webkit-background-origin: initial !important; background-color: initial !important; float: right; background-position: initial initial !important; "&gt;&lt;a href="http://en.wikipedia.org/wiki/File:LampFlowchart.svg" class="internal" title="Enlarge" style="text-decoration: none; color: rgb(0, 43, 184); display: block; border-top-style: none !important; border-right-style: none !important; border-bottom-style: none !important; border-left-style: none !important; border-width: initial !important; border-color: initial !important; background-image: none !important; background-repeat: initial !important; background-attachment: initial !important; -webkit-background-clip: initial !important; -webkit-background-origin: initial !important; background-color: initial !important; background-position: initial initial !important; "&gt;&lt;img src="http://en.wikipedia.org/skins-1.5/common/images/magnify-clip.png" width="15" height="11" alt="" style="border-width: initial; border-color: initial; vertical-align: middle; display: block; border-top-style: none !important; border-right-style: none !important; border-bottom-style: none !important; border-left-style: none !important; border-width: initial !important; border-color: initial !important; background-image: none !important; background-repeat: initial !important; background-attachment: initial !important; -webkit-background-clip: initial !important; -webkit-background-origin: initial !important; background-color: rgb(255, 255, 255); background-position: initial initial !important; " /&gt;&lt;/a&gt;&lt;/div&gt;&lt;a href="http://en.wikipedia.org/wiki/Flowchart" title="Flowchart" style="text-decoration: none; color: rgb(0, 43, 184); background-image: none; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: initial; background-position: initial initial; "&gt;Flowcharts&lt;/a&gt; are often used to graphically represent algorithms.&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style="margin-top: 0.4em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; line-height: 1.5em; "&gt;In &lt;a href="http://en.wikipedia.org/wiki/Mathematics" title="Mathematics" style="text-decoration: none; color: rgb(0, 43, 184); background-image: none; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: initial; background-position: initial initial; "&gt;mathematics&lt;/a&gt;, &lt;a href="http://en.wikipedia.org/wiki/Computing" title="Computing" style="text-decoration: none; color: rgb(0, 43, 184); background-image: none; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: initial; background-position: initial initial; "&gt;computing&lt;/a&gt;, &lt;a href="http://en.wikipedia.org/wiki/Linguistics" title="Linguistics" style="text-decoration: none; color: rgb(0, 43, 184); background-image: none; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: initial; background-position: initial initial; "&gt;linguistics&lt;/a&gt; and related subjects, an &lt;b&gt;algorithm&lt;/b&gt; is a finite sequence of instructions, an explicit, step-by-step procedure for solving a problem, often used for &lt;a href="http://en.wikipedia.org/wiki/Calculation" title="Calculation" style="text-decoration: none; color: rgb(0, 43, 184); background-image: none; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: initial; background-position: initial initial; "&gt;calculation&lt;/a&gt; and &lt;a href="http://en.wikipedia.org/wiki/Data_processing" title="Data processing" class="mw-redirect" style="text-decoration: none; color: rgb(0, 43, 184); background-image: none; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: initial; background-position: initial initial; "&gt;data processing&lt;/a&gt;. It is formally a type of &lt;a href="http://en.wikipedia.org/wiki/Effective_method" title="Effective method" style="text-decoration: none; color: rgb(0, 43, 184); background-image: none; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: initial; background-position: initial initial; "&gt;effective method&lt;/a&gt; in which a list of well-defined instructions for completing a task will, when given an initial state, proceed through a well-defined series of successive states, eventually terminating in an end-state. The transition from one state to the next is not necessarily&lt;a href="http://en.wikipedia.org/wiki/Deterministic" title="Deterministic" class="mw-redirect" style="text-decoration: none; color: rgb(0, 43, 184); background-image: none; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: initial; background-position: initial initial; "&gt;deterministic&lt;/a&gt;; some algorithms, known as &lt;a href="http://en.wikipedia.org/wiki/Probabilistic_algorithms" title="Probabilistic algorithms" class="mw-redirect" style="text-decoration: none; color: rgb(0, 43, 184); background-image: none; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: initial; background-position: initial initial; "&gt;probabilistic algorithms&lt;/a&gt;, incorporate randomness.&lt;/p&gt;&lt;p style="margin-top: 0.4em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; line-height: 1.5em; "&gt;A partial formalization of the concept began with attempts to solve the &lt;a href="http://en.wikipedia.org/wiki/Entscheidungsproblem" title="Entscheidungsproblem" style="text-decoration: none; color: rgb(0, 43, 184); background-image: none; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: initial; background-position: initial initial; "&gt;Entscheidungsproblem&lt;/a&gt; (the "decision problem") posed by &lt;a href="http://en.wikipedia.org/wiki/David_Hilbert" title="David Hilbert" style="text-decoration: none; color: rgb(0, 43, 184); background-image: none; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: initial; background-position: initial initial; "&gt;David Hilbert&lt;/a&gt; in 1928. Subsequent formalizations were framed as attempts to define "&lt;a href="http://en.wikipedia.org/wiki/Effective_calculability" title="Effective calculability" class="mw-redirect" style="text-decoration: none; color: rgb(0, 43, 184); background-image: none; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: initial; background-position: initial initial; "&gt;effective calculability&lt;/a&gt;" (Kleene 1943:274) or "effective method" (Rosser 1939:225); those formalizations included the Gödel-Herbrand-Kleene &lt;a href="http://en.wikipedia.org/wiki/Recursion_(computer_science)" title="Recursion (computer science)" style="text-decoration: none; color: rgb(0, 43, 184); background-image: none; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: initial; background-position: initial initial; "&gt;recursive functions&lt;/a&gt; of 1930, 1934 and 1935, &lt;a href="http://en.wikipedia.org/wiki/Alonzo_Church" title="Alonzo Church" style="text-decoration: none; color: rgb(0, 43, 184); background-image: none; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: initial; background-position: initial initial; "&gt;Alonzo Church&lt;/a&gt;'s &lt;a href="http://en.wikipedia.org/wiki/Lambda_calculus" title="Lambda calculus" style="text-decoration: none; color: rgb(0, 43, 184); background-image: none; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: initial; background-position: initial initial; "&gt;lambda calculus&lt;/a&gt; of 1936, &lt;a href="http://en.wikipedia.org/wiki/Emil_Post" title="Emil Post" class="mw-redirect" style="text-decoration: none; color: rgb(0, 43, 184); background-image: none; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: initial; background-position: initial initial; "&gt;Emil Post&lt;/a&gt;'s "&lt;a href="http://en.wikipedia.org/wiki/Formulation_1" title="Formulation 1" class="mw-redirect" style="text-decoration: none; color: rgb(0, 43, 184); background-image: none; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: initial; background-position: initial initial; "&gt;Formulation 1&lt;/a&gt;" of 1936, and &lt;a href="http://en.wikipedia.org/wiki/Alan_Turing" title="Alan Turing" style="text-decoration: none; color: rgb(0, 43, 184); background-image: none; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: initial; background-position: initial initial; "&gt;Alan Turing&lt;/a&gt;'s &lt;a href="http://en.wikipedia.org/wiki/Turing_machines" title="Turing machines" class="mw-redirect" style="text-decoration: none; color: rgb(0, 43, 184); background-image: none; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: initial; background-position: initial initial; "&gt;Turing machines&lt;/a&gt;of 1936–7 and 1939.&lt;/p&gt;&lt;/span&gt;&lt;/h1&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2535568363905322898-7502270726055426673?l=inialgo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://inialgo.blogspot.com/feeds/7502270726055426673/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://inialgo.blogspot.com/2009/03/algorithm.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2535568363905322898/posts/default/7502270726055426673'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2535568363905322898/posts/default/7502270726055426673'/><link rel='alternate' type='text/html' href='http://inialgo.blogspot.com/2009/03/algorithm.html' title='Algorithm'/><author><name>Andry Septia Nurrahman</name><uri>http://www.blogger.com/profile/11738634130176322155</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_gmV1PiPRWCE/Sckx-3j5xjI/AAAAAAAAABA/oVWoojba14w/S220/Andry+Septia+Nurrahman.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2535568363905322898.post-7858630477328864229</id><published>2009-03-21T12:30:00.001-07:00</published><updated>2009-03-21T12:31:32.379-07:00</updated><title type='text'>Etymology</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: -webkit-sans-serif; font-size: 13px; line-height: 19px; "&gt;&lt;a href="http://en.wikipedia.org/wiki/Al-Khw%C4%81rizm%C4%AB" title="Al-Khwārizmī" style="color: rgb(0, 43, 184); background-image: none; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: initial; text-decoration: underline; background-position: initial initial; "&gt;Al-Khwārizmī&lt;/a&gt;, &lt;a href="http://en.wikipedia.org/wiki/Persian_people" title="Persian people" style="text-decoration: none; color: rgb(0, 43, 184); background-image: none; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: initial; background-position: initial initial; "&gt;Persian&lt;/a&gt; &lt;a href="http://en.wikipedia.org/wiki/Astronomer" title="Astronomer" style="text-decoration: none; color: rgb(0, 43, 184); background-image: none; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: initial; background-position: initial initial; "&gt;astronomer&lt;/a&gt; and &lt;a href="http://en.wikipedia.org/wiki/Mathematician" title="Mathematician" style="text-decoration: none; color: rgb(0, 43, 184); background-image: none; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: initial; background-position: initial initial; "&gt;mathematician&lt;/a&gt;, wrote a &lt;a href="http://en.wikipedia.org/wiki/Treatise" title="Treatise" style="text-decoration: none; color: rgb(0, 43, 184); background-image: none; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: initial; background-position: initial initial; "&gt;treatise&lt;/a&gt; in 825 AD, &lt;i&gt;On Calculation with Hindu Numerals&lt;/i&gt;. (See &lt;a href="http://en.wikipedia.org/wiki/Algorism" title="Algorism" style="text-decoration: none; color: rgb(0, 43, 184); background-image: none; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: initial; background-position: initial initial; "&gt;algorism&lt;/a&gt;). It was translated into &lt;a href="http://en.wikipedia.org/wiki/Latin" title="Latin" style="text-decoration: none; color: rgb(0, 43, 184); background-image: none; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: initial; background-position: initial initial; "&gt;Latin&lt;/a&gt; in the 12th century as &lt;i&gt;Algoritmi de numero Indorum&lt;/i&gt; (al-Daffa 1977), which title was likely intended to mean "Algoritmi on the numbers of the Indians", where "Algoritmi" was the translator's rendition of the author's name; but people misunderstanding the title treated&lt;i&gt;Algoritmi&lt;/i&gt; as a Latin plural and this led to the word "algorithm" (Latin &lt;i&gt;algorismus&lt;/i&gt;) coming to mean "calculation method". The intrusive "th" is most likely due to a &lt;a href="http://en.wikipedia.org/wiki/False_cognate" title="False cognate" style="text-decoration: none; color: rgb(0, 43, 184); background-image: none; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: initial; background-position: initial initial; "&gt;false cognate&lt;/a&gt; with the Greek &lt;span lang="grc" lang="grc" style="font-family: inherit; "&gt;ἀριθμός&lt;/span&gt; (&lt;i&gt;arithmos&lt;/i&gt;) meaning "number"&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2535568363905322898-7858630477328864229?l=inialgo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://inialgo.blogspot.com/feeds/7858630477328864229/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://inialgo.blogspot.com/2009/03/etymology.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2535568363905322898/posts/default/7858630477328864229'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2535568363905322898/posts/default/7858630477328864229'/><link rel='alternate' type='text/html' href='http://inialgo.blogspot.com/2009/03/etymology.html' title='Etymology'/><author><name>Andry Septia Nurrahman</name><uri>http://www.blogger.com/profile/11738634130176322155</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_gmV1PiPRWCE/Sckx-3j5xjI/AAAAAAAAABA/oVWoojba14w/S220/Andry+Septia+Nurrahman.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2535568363905322898.post-282785064596220318</id><published>2009-03-21T12:29:00.000-07:00</published><updated>2009-03-21T12:30:37.645-07:00</updated><title type='text'>Why algorithms are necessary: an informal definition</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: -webkit-sans-serif; font-size: 13px; line-height: 19px; "&gt;&lt;p style="margin-top: 0.4em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; line-height: 1.5em; "&gt;While there is no generally accepted &lt;i&gt;formal&lt;/i&gt; definition of "algorithm", an informal definition could be "an algorithm is a process that performs some sequence of operations." For some people, a program is only an algorithm if it stops eventually. For others, a program is only an algorithm if it stops before a given number of calculation steps.&lt;/p&gt;&lt;p style="margin-top: 0.4em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; line-height: 1.5em; "&gt;A prototypical example of an "algorithm" is Euclid's algorithm to determine the maximum common divisor of two integers greater than one: "subtract the smaller number from the larger one; repeat until you get a zero or a one." This procedure is known to stop always and the number of subtractions needed is always smaller than the larger of the two numbers.&lt;/p&gt;&lt;p style="margin-top: 0.4em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; line-height: 1.5em; "&gt;We can derive clues to the issues involved and an informal meaning of the word from the following quotation from &lt;a href="http://en.wikipedia.org/wiki/Algorithm#CITEREFBoolosJeffrey1974.2C_1999" title="" style="text-decoration: none; color: rgb(0, 43, 184); background-image: none; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: initial; background-position: initial initial; "&gt;Boolos &amp;amp; Jeffrey (1974, 1999)&lt;/a&gt; (boldface added):&lt;/p&gt;&lt;blockquote style="font-size: 93.75%; margin-top: 1em; margin-right: 1.6em; margin-bottom: 1em; margin-left: 1.6em; "&gt;&lt;p style="margin-top: 0.4em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; line-height: inherit; "&gt;No human being can write fast enough or long enough or small enough to list all members of an enumerably infinite set by writing out their names, one after another, in some notation. But humans can do something equally useful, in the case of certain enumerably infinite sets: They can give&lt;b&gt;explicit instructions for determining the nth member of the set&lt;/b&gt;, for arbitrary finite n. Such instructions are to be given quite explicitly, in a form in which &lt;b&gt;they could be followed by a computing machine&lt;/b&gt;, or by a &lt;b&gt;human who is capable of carrying out only very elementary operations on symbols&lt;/b&gt; &lt;cite class="inline" style="font-style: normal; word-wrap: break-word; "&gt;(&lt;a href="http://en.wikipedia.org/wiki/Algorithm#CITEREFBoolosJeffrey1974.2C_1999" title="" style="text-decoration: none; color: rgb(0, 43, 184); background-image: none; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: initial; background-position: initial initial; "&gt;Boolos &amp;amp; Jeffrey 1974, 1999&lt;/a&gt;, p. 19)&lt;/cite&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p style="margin-top: 0.4em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; line-height: 1.5em; "&gt;The words "enumerably infinite" mean "countable using integers perhaps extending to infinity." Thus Boolos and Jeffrey are saying that an algorithm &lt;i&gt;implies&lt;/i&gt; instructions for a process that "creates" output integers from an &lt;i&gt;arbitrary&lt;/i&gt; "input" integer or integers that, in theory, can be chosen from 0 to infinity. Thus we might expect an algorithm to be an algebraic equation such as &lt;b&gt;y = m + n&lt;/b&gt; — two arbitrary "input variables" &lt;b&gt;m&lt;/b&gt;and &lt;b&gt;n&lt;/b&gt; that produce an output &lt;b&gt;y&lt;/b&gt;. As we see in &lt;a href="http://en.wikipedia.org/wiki/Algorithm_characterizations" title="Algorithm characterizations" style="text-decoration: none; color: rgb(0, 43, 184); background-image: none; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: initial; background-position: initial initial; "&gt;Algorithm characterizations&lt;/a&gt; — the word algorithm implies much more than this, something on the order of (for our addition example):&lt;/p&gt;&lt;dl style="margin-top: 0.2em; margin-bottom: 0.5em; "&gt;&lt;dd style="line-height: 1.5em; margin-left: 2em; margin-bottom: 0.1em; "&gt;Precise instructions (in language understood by "the computer") for a "fast, efficient, good" &lt;i&gt;process&lt;/i&gt; that specifies the "moves" of "the computer" (machine or human, equipped with the necessary internally-contained information and capabilities) to find, decode, and then munch arbitrary input integers/symbols &lt;b&gt;m&lt;/b&gt; and &lt;b&gt;n&lt;/b&gt;, symbols &lt;b&gt;+&lt;/b&gt; and &lt;b&gt;=&lt;/b&gt; ... and (reliably, correctly, "effectively") produce, in a "reasonable" &lt;a href="http://en.wikipedia.org/wiki/Time" title="Time" style="text-decoration: none; color: rgb(0, 43, 184); background-image: none; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: initial; background-position: initial initial; "&gt;time&lt;/a&gt;, output-integer &lt;b&gt;y&lt;/b&gt; at a specified place and in a specified format.&lt;/dd&gt;&lt;/dl&gt;&lt;p style="margin-top: 0.4em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; line-height: 1.5em; "&gt;The concept of &lt;i&gt;algorithm&lt;/i&gt; is also used to define the notion of &lt;a href="http://en.wikipedia.org/wiki/Decidability_(logic)" title="Decidability (logic)" style="text-decoration: none; color: rgb(0, 43, 184); background-image: none; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: initial; background-position: initial initial; "&gt;decidability&lt;/a&gt;. That notion is central for explaining how &lt;a href="http://en.wikipedia.org/wiki/Formal_system" title="Formal system" style="text-decoration: none; color: rgb(0, 43, 184); background-image: none; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: initial; background-position: initial initial; "&gt;formal systems&lt;/a&gt; come into being starting from a small set of &lt;a href="http://en.wikipedia.org/wiki/Axiom" title="Axiom" style="text-decoration: none; color: rgb(0, 43, 184); background-image: none; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: initial; background-position: initial initial; "&gt;axioms&lt;/a&gt; and rules. In &lt;a href="http://en.wikipedia.org/wiki/Logic" title="Logic" style="text-decoration: none; color: rgb(0, 43, 184); background-image: none; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: initial; background-position: initial initial; "&gt;logic&lt;/a&gt;, the time that an algorithm requires to complete cannot be measured, as it is not apparently related with our customary physical dimension. From such uncertainties, that characterize ongoing work, stems the unavailability of a definition of &lt;i&gt;algorithm&lt;/i&gt; that suits both concrete (in some sense) and abstract usage of the term.&lt;/p&gt;&lt;dl style="margin-top: 0.2em; margin-bottom: 0.5em; "&gt;&lt;dd style="line-height: 1.5em; margin-left: 2em; margin-bottom: 0.1em; "&gt;&lt;i&gt;For a detailed presentation of the various points of view around the definition of "algorithm" see &lt;a href="http://en.wikipedia.org/wiki/Algorithm_characterizations" title="Algorithm characterizations" style="text-decoration: none; color: rgb(0, 43, 184); background-image: none; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: initial; background-position: initial initial; "&gt;Algorithm characterizations&lt;/a&gt;. For examples of simple addition algorithms specified in the detailed manner described in &lt;a href="http://en.wikipedia.org/wiki/Algorithm_characterizations" title="Algorithm characterizations" style="text-decoration: none; color: rgb(0, 43, 184); background-image: none; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: initial; background-position: initial initial; "&gt;Algorithm characterizations&lt;/a&gt;, see &lt;a href="http://en.wikipedia.org/wiki/Algorithm_examples" title="Algorithm examples" style="text-decoration: none; color: rgb(0, 43, 184); background-image: none; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: initial; background-position: initial initial; "&gt;Algorithm examples&lt;/a&gt;.&lt;/i&gt;&lt;/dd&gt;&lt;/dl&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2535568363905322898-282785064596220318?l=inialgo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://inialgo.blogspot.com/feeds/282785064596220318/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://inialgo.blogspot.com/2009/03/why-algorithms-are-necessary-informal.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2535568363905322898/posts/default/282785064596220318'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2535568363905322898/posts/default/282785064596220318'/><link rel='alternate' type='text/html' href='http://inialgo.blogspot.com/2009/03/why-algorithms-are-necessary-informal.html' title='Why algorithms are necessary: an informal definition'/><author><name>Andry Septia Nurrahman</name><uri>http://www.blogger.com/profile/11738634130176322155</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_gmV1PiPRWCE/Sckx-3j5xjI/AAAAAAAAABA/oVWoojba14w/S220/Andry+Septia+Nurrahman.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2535568363905322898.post-3060084687920528546</id><published>2009-03-21T12:26:00.000-07:00</published><updated>2009-03-21T12:27:47.390-07:00</updated><title type='text'>Formalization of algorithms</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: -webkit-sans-serif; font-size: 13px; line-height: 19px; "&gt;&lt;p style="margin-top: 0.4em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; line-height: 1.5em; "&gt;Algorithms are essential to the way &lt;a href="http://en.wikipedia.org/wiki/Computer" title="Computer" style="text-decoration: none; color: rgb(0, 43, 184); background-image: none; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: initial; background-position: initial initial; "&gt;computers&lt;/a&gt; process information. Many &lt;a href="http://en.wikipedia.org/wiki/Computer_program" title="Computer program" style="text-decoration: none; color: rgb(0, 43, 184); background-image: none; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: initial; background-position: initial initial; "&gt;computer programs&lt;/a&gt; contain algorithms that specify the specific instructions a computer should perform (in a specific order) to carry out a specified task, such as calculating employees’ paychecks or printing students’ report cards. Thus, an algorithm can be considered to be any sequence of operations that can be simulated by a &lt;a href="http://en.wikipedia.org/wiki/Turing_completeness" title="Turing completeness" style="text-decoration: none; color: rgb(0, 43, 184); background-image: none; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: initial; background-position: initial initial; "&gt;Turing-complete&lt;/a&gt;system. Authors who assert this thesis include Savage (1987) and Gurevich (2000):&lt;/p&gt;&lt;blockquote style="font-size: 93.75%; margin-top: 1em; margin-right: 1.6em; margin-bottom: 1em; margin-left: 1.6em; "&gt;&lt;p style="margin-top: 0.4em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; line-height: inherit; "&gt;...Turing's informal argument in favor of his thesis justifies a stronger thesis: every algorithm can be simulated by a Turing machine (Gurevich 2000:1)...according to Savage [1987], an algorithm is a computational process defined by a Turing machine. (Gurevich 2000:3)&lt;/p&gt;&lt;/blockquote&gt;&lt;p style="margin-top: 0.4em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; line-height: 1.5em; "&gt;Typically, when an algorithm is associated with processing information, data is read from an input source, written to an output device, and/or stored for further processing. Stored data is regarded as part of the internal state of the entity performing the algorithm. In practice, the state is stored in one or more &lt;a href="http://en.wikipedia.org/wiki/Data_structure" title="Data structure" style="text-decoration: none; color: rgb(0, 43, 184); background-image: none; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: initial; background-position: initial initial; "&gt;data structures&lt;/a&gt;.&lt;/p&gt;&lt;p style="margin-top: 0.4em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; line-height: 1.5em; "&gt;For any such computational process, the algorithm must be rigorously defined: specified in the way it applies in all possible circumstances that could arise. That is, any conditional steps must be systematically dealt with, case-by-case; the criteria for each case must be clear (and computable).&lt;/p&gt;&lt;p style="margin-top: 0.4em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; line-height: 1.5em; "&gt;Because an algorithm is a precise list of precise steps, the order of computation will always be critical to the functioning of the algorithm. Instructions are usually assumed to be listed explicitly, and are described as starting "from the top" and going "down to the bottom", an idea that is described more formally by &lt;i&gt;&lt;a href="http://en.wikipedia.org/wiki/Control_flow" title="Control flow" style="text-decoration: none; color: rgb(0, 43, 184); background-image: none; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: initial; background-position: initial initial; "&gt;flow of control&lt;/a&gt;&lt;/i&gt;.&lt;/p&gt;&lt;p style="margin-top: 0.4em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; line-height: 1.5em; "&gt;So far, this discussion of the formalization of an algorithm has assumed the premises of &lt;a href="http://en.wikipedia.org/wiki/Imperative_programming" title="Imperative programming" style="text-decoration: none; color: rgb(0, 43, 184); background-image: none; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: initial; background-position: initial initial; "&gt;imperative programming&lt;/a&gt;. This is the most common conception, and it attempts to describe a task in discrete, "mechanical" means. Unique to this conception of formalized algorithms is the&lt;a href="http://en.wikipedia.org/wiki/Assignment_operation" title="Assignment operation" class="mw-redirect" style="text-decoration: none; color: rgb(0, 43, 184); background-image: none; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: initial; background-position: initial initial; "&gt;assignment operation&lt;/a&gt;, setting the value of a variable. It derives from the intuition of "&lt;a href="http://en.wikipedia.org/wiki/Memory" title="Memory" style="text-decoration: none; color: rgb(0, 43, 184); background-image: none; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: initial; background-position: initial initial; "&gt;memory&lt;/a&gt;" as a scratchpad. There is an example below of such an assignment.&lt;/p&gt;&lt;p style="margin-top: 0.4em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; line-height: 1.5em; "&gt;For some alternate conceptions of what constitutes an algorithm see &lt;a href="http://en.wikipedia.org/wiki/Functional_programming" title="Functional programming" style="text-decoration: none; color: rgb(0, 43, 184); background-image: none; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: initial; background-position: initial initial; "&gt;functional programming&lt;/a&gt; and &lt;a href="http://en.wikipedia.org/wiki/Logic_programming" title="Logic programming" style="text-decoration: none; color: rgb(0, 43, 184); background-image: none; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: initial; background-position: initial initial; "&gt;logic programming&lt;/a&gt; .&lt;/p&gt;&lt;p style="margin-top: 0.4em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; line-height: 1.5em; "&gt;&lt;a name="Termination" id="Termination" style="text-decoration: none; color: rgb(0, 43, 184); background-image: none; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: initial; background-position: initial initial; "&gt;&lt;/a&gt;&lt;/p&gt;&lt;h3 style="color: black; background-image: none; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: initial; margin-top: 0px; margin-right: 0px; margin-left: 0px; padding-top: 0.5em; padding-bottom: 0.17em; border-bottom-style: none; border-bottom-width: initial; border-bottom-color: initial; font-weight: bold; font-size: 132%; margin-bottom: 0.3em; background-position: initial initial; "&gt;&lt;span class="mw-headline"&gt;&lt;span class="Apple-style-span" style="font-size: 13px; font-weight: normal;"&gt;&lt;br /&gt;&lt;/span&gt;Termination&lt;/span&gt;&lt;/h3&gt;&lt;p style="margin-top: 0.4em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; line-height: 1.5em; "&gt;Some writers restrict the definition of &lt;i&gt;algorithm&lt;/i&gt; to procedures that eventually finish. In such a category Kleene places the "&lt;i&gt;decision procedure&lt;/i&gt;or &lt;i&gt;decision method&lt;/i&gt; or &lt;i&gt;algorithm&lt;/i&gt; for the question" (Kleene 1952:136). Others, including Kleene, include procedures that could run forever without stopping; such a procedure has been called a "computational method" (Knuth 1997:5) or "&lt;i&gt;calculation procedure&lt;/i&gt; or &lt;i&gt;algorithm&lt;/i&gt;" (Kleene 1952:137); however, Kleene notes that such a method must eventually exhibit "some object" (Kleene 1952:137).&lt;/p&gt;&lt;p style="margin-top: 0.4em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; line-height: 1.5em; "&gt;Minsky makes the pertinent observation, in regards to determining whether an algorithm will eventually terminate (from a particular starting state):&lt;/p&gt;&lt;blockquote style="font-size: 93.75%; margin-top: 1em; margin-right: 1.6em; margin-bottom: 1em; margin-left: 1.6em; "&gt;&lt;p style="margin-top: 0.4em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; line-height: inherit; "&gt;But if the length of the process is not known in advance, then "trying" it may not be decisive, because if the process does go on forever — then at no time will we ever be sure of the answer (Minsky 1967:105).&lt;/p&gt;&lt;/blockquote&gt;&lt;p style="margin-top: 0.4em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; line-height: 1.5em; "&gt;As it happens, no other method can do any better, as was shown by &lt;a href="http://en.wikipedia.org/wiki/Alan_Turing" title="Alan Turing" style="text-decoration: none; color: rgb(0, 43, 184); background-image: none; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: initial; background-position: initial initial; "&gt;Alan Turing&lt;/a&gt; with his celebrated result on the undecidability of the so-called&lt;a href="http://en.wikipedia.org/wiki/Halting_problem" title="Halting problem" style="text-decoration: none; color: rgb(0, 43, 184); background-image: none; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: initial; background-position: initial initial; "&gt;halting problem&lt;/a&gt;. There is no algorithmic procedure for determining of arbitrary algorithms whether or not they terminate from given starting states. The analysis of algorithms for their likelihood of termination is called &lt;a href="http://en.wikipedia.org/wiki/Termination_analysis" title="Termination analysis" style="text-decoration: none; color: rgb(0, 43, 184); background-image: none; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: initial; background-position: initial initial; "&gt;termination analysis&lt;/a&gt;.&lt;/p&gt;&lt;p style="margin-top: 0.4em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; line-height: 1.5em; "&gt;See the examples of (im-)"proper" subtraction at &lt;a href="http://en.wikipedia.org/wiki/Partial_function" title="Partial function" style="text-decoration: none; color: rgb(0, 43, 184); background-image: none; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: initial; background-position: initial initial; "&gt;partial function&lt;/a&gt; for more about what can happen when an algorithm fails for certain of its input numbers — e.g., (i) non-termination, (ii) production of "junk" (output in the wrong format to be considered a number) or no number(s) at all (halt ends the computation with no output), (iii) wrong number(s), or (iv) a combination of these. Kleene proposed that the production of "junk" or failure to produce a number is solved by having the algorithm detect these instances and produce e.g., an error message (he suggested "0"), or preferably, force the algorithm into an endless loop (Kleene 1952:322). Davis does this to his subtraction algorithm — he fixes his algorithm in a second example so that it is proper subtraction (Davis 1958:12-15). Along with the logical outcomes "true" and "false" Kleene also proposes the use of a third logical symbol "u" — undecided (Kleene 1952:326) — thus an algorithm will always produce &lt;i&gt;something&lt;/i&gt; when confronted with a "proposition". The problem of wrong answers must be solved with an independent "proof" of the algorithm e.g., using induction:&lt;/p&gt;&lt;blockquote style="font-size: 93.75%; margin-top: 1em; margin-right: 1.6em; margin-bottom: 1em; margin-left: 1.6em; "&gt;&lt;p style="margin-top: 0.4em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; line-height: inherit; "&gt;We normally require auxiliary evidence for this (that the algorithm correctly defines a &lt;a href="http://en.wikipedia.org/wiki/Mu_recursive_function" title="Mu recursive function" class="mw-redirect" style="text-decoration: none; color: rgb(0, 43, 184); background-image: none; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: initial; background-position: initial initial; "&gt;mu recursive function&lt;/a&gt;), e.g., in the form of an inductive proof that, for each argument value, the computation terminates with a unique value (Minsky 1967:186).&lt;/p&gt;&lt;/blockquote&gt;&lt;p style="margin-top: 0.4em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; line-height: 1.5em; "&gt;&lt;a name="Expressing_algorithms" id="Expressing_algorithms" style="text-decoration: none; color: rgb(0, 43, 184); background-image: none; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: initial; background-position: initial initial; "&gt;&lt;/a&gt;&lt;/p&gt;&lt;h3 style="color: black; background-image: none; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: initial; margin-top: 0px; margin-right: 0px; margin-left: 0px; padding-top: 0.5em; padding-bottom: 0.17em; border-bottom-style: none; border-bottom-width: initial; border-bottom-color: initial; font-weight: bold; font-size: 132%; margin-bottom: 0.3em; background-position: initial initial; "&gt;&lt;span class="mw-headline"&gt;&lt;span class="Apple-style-span" style="font-size: 13px; font-weight: normal;"&gt;&lt;br /&gt;&lt;/span&gt;Expressing algorithms&lt;/span&gt;&lt;/h3&gt;&lt;p style="margin-top: 0.4em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; line-height: 1.5em; "&gt;Algorithms can be expressed in many kinds of notation, including &lt;a href="http://en.wikipedia.org/wiki/Natural_language" title="Natural language" style="text-decoration: none; color: rgb(0, 43, 184); background-image: none; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: initial; background-position: initial initial; "&gt;natural languages&lt;/a&gt;, &lt;a href="http://en.wikipedia.org/wiki/Pseudocode" title="Pseudocode" style="text-decoration: none; color: rgb(0, 43, 184); background-image: none; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: initial; background-position: initial initial; "&gt;pseudocode&lt;/a&gt;, &lt;a href="http://en.wikipedia.org/wiki/Flowchart" title="Flowchart" style="text-decoration: none; color: rgb(0, 43, 184); background-image: none; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: initial; background-position: initial initial; "&gt;flowcharts&lt;/a&gt;, and &lt;a href="http://en.wikipedia.org/wiki/Programming_language" title="Programming language" style="text-decoration: none; color: rgb(0, 43, 184); background-image: none; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: initial; background-position: initial initial; "&gt;programming languages&lt;/a&gt;. Natural language expressions of algorithms tend to be verbose and ambiguous, and are rarely used for complex or technical algorithms. Pseudocode and flowcharts are structured ways to express algorithms that avoid many of the ambiguities common in natural language statements, while remaining independent of a particular implementation language. Programming languages are primarily intended for expressing algorithms in a form that can be executed by a &lt;a href="http://en.wikipedia.org/wiki/Computer" title="Computer" style="text-decoration: none; color: rgb(0, 43, 184); background-image: none; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: initial; background-position: initial initial; "&gt;computer&lt;/a&gt;, but are often used as a way to define or document algorithms.&lt;/p&gt;&lt;p style="margin-top: 0.4em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; line-height: 1.5em; "&gt;There is a wide variety of representations possible and one can express a given &lt;a href="http://en.wikipedia.org/wiki/Turing_machine" title="Turing machine" style="text-decoration: none; color: rgb(0, 43, 184); background-image: none; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: initial; background-position: initial initial; "&gt;Turing machine&lt;/a&gt; program as a sequence of machine tables (see more at &lt;a href="http://en.wikipedia.org/wiki/Finite_state_machine" title="Finite state machine" style="text-decoration: none; color: rgb(0, 43, 184); background-image: none; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: initial; background-position: initial initial; "&gt;finite state machine&lt;/a&gt; and &lt;a href="http://en.wikipedia.org/wiki/State_transition_table" title="State transition table" style="text-decoration: none; color: rgb(0, 43, 184); background-image: none; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: initial; background-position: initial initial; "&gt;state transition table&lt;/a&gt;), as flowcharts (see more at &lt;a href="http://en.wikipedia.org/wiki/State_diagram" title="State diagram" style="text-decoration: none; color: rgb(0, 43, 184); background-image: none; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: initial; background-position: initial initial; "&gt;state diagram&lt;/a&gt;), or as a form of rudimentary &lt;a href="http://en.wikipedia.org/wiki/Machine_code" title="Machine code" style="text-decoration: none; color: rgb(0, 43, 184); background-image: none; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: initial; background-position: initial initial; "&gt;machine code&lt;/a&gt; or &lt;a href="http://en.wikipedia.org/wiki/Assembly_code" title="Assembly code" class="mw-redirect" style="text-decoration: none; color: rgb(0, 43, 184); background-image: none; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: initial; background-position: initial initial; "&gt;assembly code&lt;/a&gt; called "sets of quadruples" (see more at &lt;a href="http://en.wikipedia.org/wiki/Turing_machine" title="Turing machine" style="text-decoration: none; color: rgb(0, 43, 184); background-image: none; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: initial; background-position: initial initial; "&gt;Turing machine&lt;/a&gt;).&lt;/p&gt;&lt;p style="margin-top: 0.4em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; line-height: 1.5em; "&gt;Sometimes it is helpful in the description of an algorithm to supplement small "flow charts" (state diagrams) with natural-language and/or arithmetic expressions written inside "&lt;a href="http://en.wikipedia.org/wiki/Block_diagram" title="Block diagram" style="text-decoration: none; color: rgb(0, 43, 184); background-image: none; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: initial; background-position: initial initial; "&gt;block diagrams&lt;/a&gt;" to summarize what the "flow charts" are accomplishing.&lt;/p&gt;&lt;p style="margin-top: 0.4em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; line-height: 1.5em; "&gt;Representations of algorithms are generally classed into three accepted levels of Turing machine description (Sipser 2006:157):&lt;/p&gt;&lt;ul style="line-height: 1.5em; list-style-type: square; margin-top: 0.3em; margin-right: 0px; margin-bottom: 0px; margin-left: 1.5em; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; list-style-image: url(http://en.wikipedia.org/skins-1.5/monobook/bullet.gif); "&gt;&lt;li style="margin-bottom: 0.1em; "&gt;&lt;b&gt;1 High-level description&lt;/b&gt;:&lt;/li&gt;&lt;/ul&gt;&lt;dl style="margin-top: 0.2em; margin-bottom: 0.5em; "&gt;&lt;dd style="line-height: 1.5em; margin-left: 2em; margin-bottom: 0.1em; "&gt;&lt;dl style="margin-top: 0.2em; margin-bottom: 0.5em; "&gt;&lt;dd style="line-height: 1.5em; margin-left: 2em; margin-bottom: 0.1em; "&gt;"...prose to describe an algorithm, ignoring the implementation details. At this level we do not need to mention how the machine manages its tape or head"&lt;/dd&gt;&lt;/dl&gt;&lt;/dd&gt;&lt;/dl&gt;&lt;ul style="line-height: 1.5em; list-style-type: square; margin-top: 0.3em; margin-right: 0px; margin-bottom: 0px; margin-left: 1.5em; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; list-style-image: url(http://en.wikipedia.org/skins-1.5/monobook/bullet.gif); "&gt;&lt;li style="margin-bottom: 0.1em; "&gt;&lt;b&gt;2 Implementation description&lt;/b&gt;:&lt;/li&gt;&lt;/ul&gt;&lt;dl style="margin-top: 0.2em; margin-bottom: 0.5em; "&gt;&lt;dd style="line-height: 1.5em; margin-left: 2em; margin-bottom: 0.1em; "&gt;&lt;dl style="margin-top: 0.2em; margin-bottom: 0.5em; "&gt;&lt;dd style="line-height: 1.5em; margin-left: 2em; margin-bottom: 0.1em; "&gt;"...prose used to define the way the Turing machine uses its head and the way that it stores data on its tape. At this level we do not give details of states or transition function"&lt;/dd&gt;&lt;/dl&gt;&lt;/dd&gt;&lt;/dl&gt;&lt;ul style="line-height: 1.5em; list-style-type: square; margin-top: 0.3em; margin-right: 0px; margin-bottom: 0px; margin-left: 1.5em; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; list-style-image: url(http://en.wikipedia.org/skins-1.5/monobook/bullet.gif); "&gt;&lt;li style="margin-bottom: 0.1em; "&gt;&lt;b&gt;3 Formal description&lt;/b&gt;:&lt;/li&gt;&lt;/ul&gt;&lt;dl style="margin-top: 0.2em; margin-bottom: 0.5em; "&gt;&lt;dd style="line-height: 1.5em; margin-left: 2em; margin-bottom: 0.1em; "&gt;&lt;dl style="margin-top: 0.2em; margin-bottom: 0.5em; "&gt;&lt;dd style="line-height: 1.5em; margin-left: 2em; margin-bottom: 0.1em; "&gt;Most detailed, "lowest level", gives the Turing machine's "state table".&lt;/dd&gt;&lt;/dl&gt;&lt;/dd&gt;&lt;/dl&gt;&lt;dl style="margin-top: 0.2em; margin-bottom: 0.5em; "&gt;&lt;dd style="line-height: 1.5em; margin-left: 2em; margin-bottom: 0.1em; "&gt;&lt;i&gt;For an example of the simple algorithm "Add m+n" described in all three levels see &lt;a href="http://en.wikipedia.org/wiki/Algorithm_examples" title="Algorithm examples" style="text-decoration: none; color: rgb(0, 43, 184); background-image: none; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: initial; background-position: initial initial; "&gt;Algorithm examples&lt;/a&gt;.&lt;/i&gt;&lt;/dd&gt;&lt;/dl&gt;&lt;p style="margin-top: 0.4em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; line-height: 1.5em; "&gt;&lt;a name="Implementation" id="Implementation" style="text-decoration: none; color: rgb(0, 43, 184); background-image: none; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: initial; background-position: initial initial; "&gt;&lt;/a&gt;&lt;/p&gt;&lt;h3 style="color: black; background-image: none; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: initial; margin-top: 0px; margin-right: 0px; margin-left: 0px; padding-top: 0.5em; padding-bottom: 0.17em; border-bottom-style: none; border-bottom-width: initial; border-bottom-color: initial; font-weight: bold; font-size: 132%; margin-bottom: 0.3em; background-position: initial initial; "&gt;&lt;span class="mw-headline"&gt;&lt;span class="Apple-style-span" style="font-size: 13px; font-weight: normal;"&gt;&lt;br /&gt;&lt;/span&gt;Implementation&lt;/span&gt;&lt;/h3&gt;&lt;p style="margin-top: 0.4em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; line-height: 1.5em; "&gt;Most algorithms are intended to be implemented as &lt;a href="http://en.wikipedia.org/wiki/Computer_programs" title="Computer programs" class="mw-redirect" style="text-decoration: none; color: rgb(0, 43, 184); background-image: none; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: initial; background-position: initial initial; "&gt;computer programs&lt;/a&gt;. However, algorithms are also implemented by other means, such as in a biological &lt;a href="http://en.wikipedia.org/wiki/Neural_network" title="Neural network" style="text-decoration: none; color: rgb(0, 43, 184); background-image: none; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: initial; background-position: initial initial; "&gt;neural network&lt;/a&gt; (for example, the &lt;a href="http://en.wikipedia.org/wiki/Human_brain" title="Human brain" style="text-decoration: none; color: rgb(0, 43, 184); background-image: none; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: initial; background-position: initial initial; "&gt;human brain&lt;/a&gt; implementing &lt;a href="http://en.wikipedia.org/wiki/Arithmetic" title="Arithmetic" style="text-decoration: none; color: rgb(0, 43, 184); background-image: none; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: initial; background-position: initial initial; "&gt;arithmetic&lt;/a&gt; or an insect looking for food), in an &lt;a href="http://en.wikipedia.org/wiki/Electrical_circuit" title="Electrical circuit" class="mw-redirect" style="text-decoration: none; color: rgb(0, 43, 184); background-image: none; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: initial; background-position: initial initial; "&gt;electrical circuit&lt;/a&gt;, or in a mechanical device.&lt;/p&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2535568363905322898-3060084687920528546?l=inialgo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://inialgo.blogspot.com/feeds/3060084687920528546/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://inialgo.blogspot.com/2009/03/formalization-of-algorithms.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2535568363905322898/posts/default/3060084687920528546'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2535568363905322898/posts/default/3060084687920528546'/><link rel='alternate' type='text/html' href='http://inialgo.blogspot.com/2009/03/formalization-of-algorithms.html' title='Formalization of algorithms'/><author><name>Andry Septia Nurrahman</name><uri>http://www.blogger.com/profile/11738634130176322155</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_gmV1PiPRWCE/Sckx-3j5xjI/AAAAAAAAABA/oVWoojba14w/S220/Andry+Septia+Nurrahman.jpg'/></author><thr:total>0</thr:total></entry></feed>
