Proyecto Tecnico en Sistemas

Proyecto Tecnico en Sistemas
Ver

lunes, 23 de febrero de 2009

ALGORITHMS

Publicado por Efrain Carvajal

The importance of an algorithm is to show how to implement processes and solve mathematical problems mechanically or otherwise. As with mathematical functions, algorithms receive input and transform it into an outlet, behaving as a black box. However, not all black box that makes an entry in an output can be considered an algorithm for an algorithm that can be considered as such should be an orderly sequence, finite and defined (formalized their) instructions. This way you can monitor and predict the behavior of the algorithm for any input as possible (except probabilistic algorithms, which usually has a different output) from the monitoring of this sequence of instructions, which is as orderly and defined, does not result in ambiguities and its trace can be followed. The concept of algorithm, but similar and obviously related, not to be confused with the concept of the program. While the first is the specification of a set of steps (operations, instructions, orders ,...) aimed at solving a problem (method), the second is that all operations specified in a particular programming language and a specific computer, capable of being executed (or interpreted or compiled). An algorithm, strictly speaking, can not be executed until it is implemented, either in a programming language, in an electrical circuit, a mechanical device, using paper and pencil, or some other model of computation. Most of the algorithms involve methods of organizing data for computation. These objects are called, so the data structure, and are central objects of study in computer science. In this way, algorithms and data structures will always go hand in hand. Simple algorithms can lead to a complicated data structure and, conversely, complex algorithms can use simple data structures. When using a computer to help solve a problem typically faced with several possible schemes. For small problems, which only matters is what we use, as long as it takes to solve a problem correctly. For large problems (or applications where we need to solve many small problems), however, motivate us to invent methods that use time efficiently, quickly as possible. When a computer program is large or complex, this will be developed with much effort, since they must understand and define the problem to be solved by managing complexity, and break it down into smaller parts that can be solved more easily. Often, many of the algorithms that are needed, after the decomposition are trivial to the instrument. Computer Theory Formally, an algorithm calculates a function. Any finite set is large, and any large group can be expressed in terms of the set of natural numbers (infinite, but many, in fact there is another set which is also a big number), in essence, all algorithm functions calculated defined in natural numbers. At this point, a function is partially or fully defined. A function is partial if there is no natural numbers that belong to your domain (ie, there are natural numbers on which the function is not defined), and is a total function otherwise. If a function is partial, the algorithm calculates that only return a result (ie spends a finite time calculation) for the values on which the function is defined, not by returning a result (the computation time is infinite) for the remainder values. If an algorithm that calculates a function to return a partial result for the values of the function is not defined, then calculated according to that but to another. Similarly, an algorithm that computes a total function always returns a result for any value, and that like partial functions, it must exactly match the value returned by the function that calculates and repeatedly, if Otherwise, this function is not calculated but another. Thus, any algorithm calculates a function defined on natural numbers, whatever the nature. Any function for which there is an algorithm that calculates what is called a computable function (partially or fully computable computable depends of the degree of definition of the function in question), but there are functions that can not be calculated as the Ackermann function, the latter kind of functions are referred to as non-computable functions.



0 comentarios:

Publicar un comentario