Está en la página 1de 4

Algoritmo

Los diagramas de flujo sirven para representar algoritmos de manera grfica.

En matemticas, ciencias de la computacin y disciplinas relacionadas, un algoritmo (del griego y latn, dixit algorithmus y ste a su vez del matemtico persa Al Juarismi1 ) es un conjunto preescrito de instrucciones o reglas bien definidas, ordenadas y finitas que permite realizar una actividad mediante pasos sucesivos que no generen dudas a quien deba realizar dicha actividad. 2 Dados un estado inicial y una entrada, siguiendo los pasos sucesivos se llega a un estado final y se obtiene una solucin. Los algoritmos son el objeto de estudio de la algoritmia.1 En la vida cotidiana, se emplean algoritmos frecuentemente para resolver problemas. Algunos ejemplos son los manuales de usuario, que muestran algoritmos para usar un aparato, o las instrucciones que recibe un trabajador por parte de su patrn. Algunos ejemplos enmatemtica son el algoritmo de la divisin para calcular el cociente de dos nmeros, el algoritmo de Euclides para obtener el mximo comn divisor de dos enteros positivos, o el mtodo de Gauss para resolver un sistema lineal de ecuaciones.

La mayora de los sistemas expertos utilizan algoritmos para el razonamiento. Este planteamiento tiene una limitacin importante: el sistema es capaz de resolver solamente las situaciones previstas por quien ha diseado el algoritmo. Por este motivo nadie califica de "inteligente" a un sistema de estas caractersticas. Existen distintos tipos de algoritmos de razonamiento: Algoritmos estticos, es decir, algoritmos que funcionan siempre igual, independientemente del tipo de problema tratado. Por ejemplo, los sistemas basados en el mtodo de resolucin. Algoritmos probabilsticos, es decir, algoritmos que no utilizan valores de verdad booleanos sino continuos. Por ejemplo, los sistemas basados en lgica difusa. Algoritmos adaptativos, es decir, algoritmos con cierta capacidad de aprendizaje. Por ejemplo, los sistemas basados en redes neuronales. Los Algortmos permiten resolver problemas computacionales mediante lenguajes de programacin. Como Ejemplo podemos poner dos de los ms usuales: Divide y Vencers: Consiste en descomponer un problema en subproblemas, resolver cada subproblema y combinar las soluciones. El resultado, es la solucin del problema original. Si los subproblemas son todava demasiado grandes, se utiliza la misma tctica con ellos, esto es, dividirlos a ellos tambin, utilizando un algoritmo recursivo que vaya dividiendo ms el subproblema hasta que su solucin sea trivial Backtracking: El Backtracking o esquema de vuelta atrs, es un esquema que de forma sistemtica y organizada, genera y recorre un espacio que contiene todas las posibles secuencias de decisiones. Este espacio se denomina el espacio de bsqueda del problema, y se representa como un rbol sobre el que el algoritmo hace un recorrido en profundidad partiendo de la raz. Se conoce de antemano el orden en que se van a generar y recorrer sus nodos, y se contina recorriendo el rbol mientras se cumplan las restricciones. ste mtodo tiene tres posibles esquemas: encontrar una solucin factible, encontrar todas las soluciones factibles, encontrar la mejor solucin factible. Un algoritmo pueden adems ser: Deterministico, s en cada paso del algoritmo, es posible predecir la salida para una entrada dada.

No determinsticos, s existe uno ms pasos en el algoritmo, para el cual es posible predecir cual ser la salida. Por esa razn se tienen los siguiente tipos de problemas: I) Polinomial: Existe al menos un algoritmo polinomial determinstico que lo resuelve. II) No -Polinomiales: Solo existen algoritmos polinomiales del tipo no deterministico que los resuelven.

También podría gustarte