![]() |
|
|
Theory and Algorithm
Algorithms The word “algorithm” itself comes from the name of the Persian Muslim mathematician “Abu Abdullah, Mohammed ibn Musa Al-Khwarizmi”, his work was in the field of using Indian numerals in algebraic concepts; he worked in Bagdad, the centre of scientific studies and trade at the time. Originally the word was used for performing arithmetic with Arabic numerals, and then it expanded to include all ways of solving problems. A modern day definition of algorithms is “a sequence of finite instructions, often used for calculation and data processing”. Algorithms are an essential way of processing computer information; many computers contain algorithms that tell them how to do specific jobs. Expressing Algorithms Algorithms can be expressed in different ways including natural languages, flowcharts, and programming languages. Natural language is to express the algorithm using means of normal verbal communication; this way of expression is rarely used for complex problems. Programming languages are used to express algorithms in a way that can be executed by a computer, they are often used to define or document algorithms. Representation of algorithms is classified into three classes: 1-High level Description… “Used to describe an algorithm ignoring implementation details” 2-Implementation description… “Used to define the way Turing machine uses its head and the way that it stores data on its tape” 3-Formal description… “The most detailed, “lowest level”, gives the Turing machine’s “state table” ” Classification by im plem entation Recursive algorithm This is an algorithm that repeats its self until a certain condition is met; it is common to functional programming. Serial algorithm This is an algorithm that executes one operation at a time. Parallel algorithm This is an algorithm that utilizes the processors ability to multi-task to execute multiple operations at once Distributed algorithm This is an algorithm that divides an operation into numerous even simpler operations and does them together. Determ inistic algorithm This is an algorithm that solves the problem with exact values at every step of the algorithm. Non-determ inistic algorithm This is an algorithm that solves problems by guessing. Divide and Concur This is an algorithm that repeatedly divides each part of the problem into smaller parts until the parts are small enough and easy enough to solve. Dynam ic algorithm This is an algorithm that saves the answers to small operations that are repeated numerous times in the big problem, so it doesn’t have to solve them again, which enables the algorithm to run faster.
My Questions: 1-what does an artificial intelligence algorithm look like ? 2-how does a robot learn to walk ? 3-how long can an algorithm get ? 4-how does a never-ending algorithm look like ? 5-why do we use never ending algorithms ?
Urls:
whatis.techtarget.com/definition/ computer.howstuffworks.com/question717.htm www.cs.sunysb.edu/~algorith/ www.nist.gov/dads/ www.cppreference.com/cppalgorithm/index.html
Summarized and quoted from: http://en.wikipedia.org/wiki/Algorithm
Mohammed I. Janahi End.
|