jueves, 14 de julio de 2011

ALGORITMOS

QUE TIPOS DE ALGORITMOS EXISTEN??

La mayoría de los sistemas expertos utilizan algoritmos para el razonamiento. Este planteamiento tiene una limitación importante: el sistema es capaz de resolver solamente las situaciones previstas por quien ha diseñado el algoritmo. Por este motivo nadie califica de "inteligente" a un sistema de estas características. Existen distintos tipos de algoritmos de razonamiento:

Algoritmos estáticos, es decir, algoritmos que funcionan siempre igual, independientemente del tipo de problema tratado. Por ejemplo, los sistemas basados en el método de resolución.

Algoritmos probabilísticos, es decir, algoritmos que no utilizan valores de verdad booleanos sino continuos. Por ejemplo, los sistemas basados en lógica difusa.

Algoritmos adaptativos, es decir, algoritmos con cierta capacidad de aprendizaje. Por ejemplo, los sistemas basados en redes neuronales.

Los Algorítmos permiten resolver problemas computacionales mediante lenguajes de programación. Como Ejemplo podemos poner dos de los más usuales:

Divide y Vencerás: Consiste en descomponer un problema en subproblemas, resolver cada subproblema y combinar las soluciones. El resultado, es la solución del problema original. Si los subproblemas son todavía demasiado grandes, se utiliza la misma táctica con ellos, esto es, dividirlos a ellos también, utilizando un algoritmo recursivo que vaya dividiendo más el sub-problema hasta que su solución sea trivial

Backtracking: El Backtracking o esquema de vuelta atrás, es un esquema que de forma sistemática y organizada, genera y recorre un espacio que contiene todas las posibles secuencias de decisiones. Este espacio se denomina el espacio de búsqueda del problema, y se representa como un árbol sobre el que el algoritmo hace un recorrido en profundidad partiendo de la raíz. Se conoce de antemano el orden en que se van a generar y recorrer sus nodos, y se continúa recorriendo el árbol mientras se cumplan las restricciones. Éste método tiene tres posibles esquemas: encontrar una solución factible, encontrar todas las soluciones factibles, encontrar la mejor solución factible.

Un algoritmo pueden además ser:
Deterministico, sí en cada paso del algoritmo, es posible predecir la salida para una entrada dada.
No determinísticos, sí existe uno ó más pasos en el algoritmo, para el cual es posible predecir cual será la salida.

Por esa razón se tienen los siguiente tipos de problemas:

I) Polinomial: Existe al menos un algoritmo polinomial determinístico que lo resuelve.
II) No -Polinomiales: Solo existen algoritmos polinomiales del tipo no deterministico que los resuelven

 
 En qué otras ciencias se apoya la algoritmia para producir soluciones ingeniosas? 

  1. Ciencias de la Computación.
  2. Matemáticas.  
  3. Ciencias Sociales.
  4. Ciencias Políticas.             


Como podemos determinar la complejidad de un algoritmo??
Es posible realizar el estudio de la complejidad de un algoritmo sólo en base a unconjunto reducido de sentencias, aquellas que caracterizan que el algoritmo sea lentoo rápido en el sentido que nos interesa. También es posible distinguir entre lostiempos de ejecución de las diferentes operaciones elementales, lo cual es necesario aveces por las características específicas del ordenador (por ejemplo, se podríaconsiderar que las operaciones + y ÷ presentan complejidades diferentes debido a suimplementación). Sin embargo, en este texto tendremos en cuenta, a menos que se indique lo contrario, todas las operaciones elementales del lenguaje, y supondremosque sus tiempos de ejecución son todos iguales.


No hay comentarios:

Publicar un comentario