1. COLEGIO DE BACHILLERES DEL
ESTADO DE TLAXCALA
PLANTEL 06 CONTLA
PROFESOR:
RODRIGO PAQUINI HERNANDEZ
INTEGRANTES:
LUIS GERALDO SORIANO BAUTISTA
DAVID ALEJANDRO CABRERA PEREZ
1
3. INTRODUCCION
En matemáticas, ciencias de la computación y disciplinas
relacionadas, un algoritmo (del griego y latín, dixit algorithmus y este a
su vez del matemático persa Al-Juarismi) 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. Dados un estado inicial y
una entrada, siguiendo los pasos sucesivos se llega a un estado final y
se obtiene una solución. Los algoritmos son el objeto de estudio de
la algoritmia.
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 patrón. Algunos
ejemplos en matemática son el algoritmo de la división para calcular el
cociente de dos números, el algoritmo de Euclides para obtener
el máximo común divisor de dos enteros positivos, o el método de 3
Gauss para resolver un sistema lineal de ecuaciones
5. DEFINICION
En general, no existe ningún consenso definitivo en cuanto a la definición formal de algoritmo.
Muchos autores los señalan como listas de instrucciones para resolver un problema abstracto, es
decir, que un número finito de pasos convierten los datos de un problema (entrada) en una
solución (salida).Sin embargo cabe notar que algunos algoritmos no necesariamente tienen que
terminar o resolver un problema en particular. Por ejemplo, una versión modificada de la criba de
Eratóstenes que nunca termine de calcular números primos no deja de ser un algoritmo.7
A lo largo de la historia varios autores han tratado de definir formalmente a los algoritmos
utilizando modelos matemáticos como máquinas de Turing entre otros.Sin embargo, estos
modelos están sujetos a un tipo particular de datos como son números, símbolos
o gráficas mientras que, en general, los algoritmos funcionan sobre una vasta cantidad
de estructuras de datos. En general, la parte común en todas las definiciones se puede resumir en
las siguientes tres propiedades siempre y cuando no consideremos algoritmos paralelos:
Tiempo secuencial. Un algoritmo funciona en tiempo discretizado –paso a paso–, definiendo así
una secuencia de estados "computacionales" por cada entrada válida (la entradason los datos que
se le suministran al algoritmo antes de comenzar).
Estado abstracto. Cada estado computacional puede ser descrito formalmente utilizando
una estructura de primer orden y cada algoritmo es independiente de su implementación (los
algoritmos son objetos abstractos) de manera que en un algoritmo las estructuras de primer orden
son invariantes bajo isomorfismo.
Exploración acotada. La transición de un estado al siguiente queda completamente determinada
por una descripción fija y finita; es decir, entre cada estado y el siguiente solamente se puede
tomar en cuenta una cantidad fija y limitada de términos del estado actual.
5
6. ORIGEN
La palabra Algoritmo es de origen árabe y proviene del inteligente matemático y astrónomo Abu
Abdullah Muhammad Bin Musa, quien tomó como seudónimo Al-Khowarizmi (780-850), lugar
donde había nacido, el estado de Khowarizm , uno de los centros de saber y cultura de Asia
Central en la Edad Media, situado en el curso inferior del Amu Darya, en la actual república de
Uzbiekistán, en la provincia moderna de Khiva. Cuando el califa Al-Mamun (809-833) de Bagdad lo
llamó para integrar la Bayt al-Hikman, "Casa de la sabiduría", una especie de centro superior de
investigaciones científicas de su tiempo, situada en Bagdad, la ciudad de las Mil y una Noches,
adoptó el patronímico Al-Khowarizmi en honor a su patria de origen. En ese lugar trabajaban
sabios judíos y cristianos procedentes de Siria, Irán y Mesopotamia. Su trabajo fue preservar y
difundir el conocimiento que provenía de Grecia y de India. Sus libros eran de fácil comprensión,
de ahí que su principal valor no fuera el de crear nuevos teoremas o nuevas corrientes de
pensamiento, sino el de simplificar las matemáticas a un nivel lo suficientemente bajo para que
pudiera ser comprendido por un amplio público. Señaló muchas virtudes del sistema decimal indio
(en contra de los sistemas tradicionales árabes) y también explicó que, mediante una
especificación clara y concisa de cómo calcular sistemáticamente, se podrían definir algoritmos
que fueran usados en dispositivos mecánicos en vez de las manos (por ejemplo, ábacos). También
estudió la manera de reducir las operaciones que formaban el cálculo. Es por esto que aun no
siendo el creador del primer algoritmo, el concepto lleva aunque no su nombre, sí su pseudónimo.
Al-Khowarizmi también escribió varios libros de astronomía, uno de álgebra y otro sobre aritmética
(traducidos al latín en el s. IX por Adelardo de Bath y Roberto de Chester), en el que hace una
exposición exhaustiva del sistema de numeración hindú. Este sistema se empezó a conocer como
«el de Al-Khowarizmi» y, por las deformaciones que tuvo, bien por transmisión o por traducción,
llegó a la palabra «algorismi», «algorismo» o «algoritmo».
También a Al-Khowarizmi se le debe también un método geométrico de resolución de la ecuación
de segundo grado basado en la formación de cuadrados y que en esencia coincide con el actual
método general. 6
7. TIPOS
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
7
8. 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.
8
9. CARACTERISTICAS
Las características fundamentales que debe cumplir todo algoritmo
son:
·Un algoritmo debe ser preciso e indicar el orden de realización de
cada paso.
·Un algoritmo debe estar definido. Si se sigue un algoritmo dos
veces, se debe obtener el mismo resultado cada vez.
·Un algoritmo debe ser finito. Si se sigue un algoritmo se debe terminar
en algún momento; o sea, debe tener un numero finito de pasos.
La definición de un algoritmo debe definir tres partes: Entrada, Proceso
y Salida. En el algoritmo de receta de cocina citado anteriormente se
tendrá:
Entrada: ingrediente y utensilios empleados.
Proceso: elaboración de la receta en la cocina.
Salida: terminación del plato (por ejemplo, cordero).
Ejemplo de Algoritmo:
Un cliente ejecuta un pedido a una fábrica. Esta examina en su banco
de datos la ficha del cliente; si el cliente es solvente entonces la
empresa acepta el pedido; en caso contrario rechazara el pedido 9
10. INICIO
EJEMPLO
LIMONES
AGUA
AZUCAR
SEMILLA
NO SI
ACIDA
10
FIN
11. CONCLUSION
En conclusion un algoritmo es una serie de pasos
con cierta orden, para poder llegar a la solucion de
un problema.
Cuando un algoritmo resuelve un problema para la
creacion de un sofware decimos que es un algoritmo
computacional.
despues de crear un algoritmo pasamos a la parte
deponer en prueba el algoritmo, resolviendolo en
algun lenguaje de programacion. y al final el
programa va la depuracion.
11