Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Alumno:
Profesor:
Ingeniería de Sistemas
Tunja
2024
Introducción
En el mundo en el que vivimos, nos vemos rodeados de tecnología, hoy en día esa tecnología
para que funcione de manera rápida y eficaz requiere de un algoritmo, y un algoritmo es un papel
fundamental para la tecnología, pero no solo para esta, sino para nuestra vida cotidiana ya que un
algoritmo es una serie de pasos o instrucciones que se deben seguir para poder completar una
tarea.
Este informe tiene como objetivo explorar o estudiar el mundo de los algoritmos, partiendo desde
la antigüedad con la construcción de pirámides, con la aparición de los procesos matemáticos (ya
actual y también viendo como estos han evolucionado con el pasar de los años y siendo una
Analizar los puntos clave de la evolución de los algoritmos con el paso del tiempo
En el mundo de la informática, la base de los programas creados son los algoritmos sobre los
siguiendo una serie detallada de pasos para poder lograr o llegar a la solución del problema hasta la
mensajes. A su vez la página web (DataScientest) “Un algoritmo es en realidad un procedimiento por
etapas. Es un conjunto de reglas que hay que seguir para realizar una tarea o resolver un problema.”.
como se mencionaba anteriormente los algoritmos están desde hace millones de años, los seres humanos
utilizábamos algoritmos pero no en la forma en que los conocemos hoy en día, en la antigüedad un
algoritmo como se mencionaba anteriormente puede ser en resolver un ejercicio matemático (esto
tomando en cuenta que la mayoría de algoritmos creados hoy en día son de forma matemática ) se requiere
hacer una serie de pasos para poder llegar a una solución. Entre más simplificado y menos pasos tenga el
aspectos de la cotidianidad y la vida humana como lo son la resolución de problemas. Según la pagina
web (CES LOPE DE VEGA)” El algoritmo permite estudiar las necesidades del problema para después
crear una lista de pasos que deberán ser seguidos y alcanzar así la solución deseada” En base a lo
anterior los algoritmos permiten automatizar procesos y tareas repetitivas, lo que no ahorraría tiempo y
esfuerzo. Los algoritmos también tienen un enfoque sistemático para la toma de decisiones, los algoritmos
de optimización y análisis de datos nos ayudan a evaluar opciones, predecir resultados y también para la
como conjuntos de instrucciones o reglas precisas diseñadas para resolver un problema o tarea en
Precisión: Los algoritmos deben ser precisos y definir claramente los pasos necesarios para poder
alcanzar el resultado deseado. Cada paso debe ser muy especifico y no ambiguo, para evitar cualquier
interpretación errónea
Finitud: Un algoritmo debe ser ordenado y finito, esto significa que debe tener numero finitos de
pasos para completarse. Los algoritmos no pueden ser infinito ni entrar en bucles infinitos.
Efectividad: Cada algoritmo creado debe ser efectivo, lo que significa que debe ser capaz de
resolver el problema para el que diseñado en un determinado tiempo (entre menos sea el tiempo de
Concretos: Deben ofrecer una solución determinada para la situación o problemas planteados
(por eso antes de empezar a desarrollar un algoritmo tenemos que tener en cuenta y definir muy bien el
Adaptabilidad: Es muy importante que un algoritmo sea adaptable o flexible para manejar
diferentes situaciones o condiciones. Esto implica la capacidad del algoritmo a ajustarse a diferentes
abordar una amplia gama de problemas. Como se menciona anteriormente cada tipo de algoritmo tiene su
propia estructura, comportamiento y aplicación única. Al comprender estos algoritmos, se puede elegir la
mejor herramienta para resolver un problema particular, teniendo en cuenta factores como la eficiencia, la
complejidad y los requerimientos que este necesita. Algunos tipos de algoritmos son:
Algoritmos de búsqueda
función es encontrar un valor en especifico dentro de un arreglo, este algortimo recorre cada elemento de
la lista secuencialmente, desde el principio el final, comparando cada elemento con el valor que se esta
buscando.
Búsqueda Binaria: Este algoritmo de búsqueda binaria es un algoritmo de búsqueda eficiente que
se utiliza para encontrar un elemento en una lista ordenada. La clave de la eficiencia de este algoritmo
recorrer o buscar estructuras de datos como grafos o árboles. Primero comienza con un nodo inicial y lo
marca como visitado, después explora los nodos adyacentes no visitados, este va repitiendo el proceso
recursivamente desde ese nodo no visitado y finalmente el algoritmo termina cuando no hay mas nodos
adyacentes por explorar desde el nodo actual, retrocede al nodo anterior y continúa explorando desde ese
nodo. La DFS es implementada utilizando una pila esto para mantener un seguimiento de los nodos que
deben ser explorados, a medida que se van explorando los nodos se van marcando para evitar ciclos
finitos.
Algoritmos de ordenación
en el orden incorrecto. Este proceso se repite hasta que no se requieran más intercambios.
Ordenamiento por inserción: Este algoritmo de ordenamiento recorre una lista de elementos y
en cada paso toma un elemento y lo inserta en la posición correcta dentro de la parte ya ordenada de la
lista, este tipo de algoritmo es muy simple y eficiente que funciona de manera similar a las cartas. Primero
comienza con una lista de elementos desordenado, después este algoritmo inicia un bucle que recorre
dicha lista comenzando desde el segundo elemento hasta el final, en cada interacción del bucle se
selecciona un elemento en orden descendente hasta encontrar la posición correcta en la lista ordenada y
este proceso se repite hasta que la lista quede ordenada, ahí ya acabaría nuestro bucle.
el elemento mas pequeño o mas grande dependiendo del ordenamiento que se desee hacer de una lista no
Quicksorft: Este es uno de los algoritmos de ordenamiento mas eficientes y mas utilizados en la
actualidad. Fue desarrollado por Tony Hoare en 1960 y es que básicamente este algoritmo divide una lista
no ordenada en dos sub-listas hasta que todas las sub-listas sean de longitud uno o cero lo que indicaría
que la lista ya esta ordena. Para poder lograr este proceso, el proceso de este algoritmo es elegir un
elemento de la lista llamado pivote (comúnmente se elige el primer elemento), después se reorganiza la
lista de manera que todos los elementos con valores menores que el pivote estén a su izquierda y todos los
elementos con valores mayores que el pivote estén a su derecha. Luego se repite el proceso de partición
recursivamente en las sublistas a la izquierda y derecha del pivote hasta que todas las sublistas sean de la
Algoritmo de grafos
ponderados, fue diseñado por Robert Floyd y Stephen Warshall en la década de los 60s. este algoritmo
encuentra los caminos mas cortos entre todas las partes de vértices de un grafo, incluso si hay aristas de
peso negativo, siempre con la condición de que no haya ciclos negativos accesibles desde el vertice de
inicio.
Algoritmo de Kruskal: Este algoritmo se utiliza para encontrar el árbol de expansión mínimo de
un grafo ponderado y no dirigido. Este árbol de expansión mínimo es un subconjunto de aristas del grafo
que conecta todos los arboles con el costo mínimo posible sin formar algún ciclo.
Algoritmo de Dijkstra: Fue desarrollado por el científico informático holandés Edsger “.Dijkstra
en 1956 y se basa en la búsqueda de caminos mas cortos que se utiliza para poder encontrar el camino
menos tedioso de un nodo fuente dado a todos los demás nodos de un grafo dirigido ponderado con pesos
no negativos.
Estos son algunos ejemplos de los algoritmos mas famosos o mas usados hoy en día ya que hay
Como se ha podido evidenciar, los algoritmos tienen una gran importancia desde la antigüedad y
con el paso del tiempo han tenido una amplia gama de aplicaciones en diversos campos no solo en la
informática, en la ciencia, la ingeniería, finanzas, medicina entre otros, pero los más comunes son en el
campo de la criptografía se les conoce como algoritmos criptográficos, “En criptografía, un algoritmo
criptográfico es un algoritmo que puede encriptar texto en lenguaje natura) para hacerlo ilegible, y para
que sea desencriptado con el fin de recuperar el texto original.” (mdn web docs, s/f). Los algoritmos de
cifrado pueden clasificarse en dos categorías principales que son los siguientes:
Cifrado Simétrico: Este tipo de cifrado, se utiliza la misma clave tanto para cifrar como para
Cifrado Asimétrico (clave publica): En este tipo de cifrado se utilizan dos claves diferentes, una
clave publica y una privada. La clave publica se utiliza para cifrar datos, mientras que la clave privada se
utiliza para descifrarlos. Esto nos permite que cualquier persona pueda cifrar datos utilizando la clave
Los algoritmos también tienen un gran impacto en el mundo del Machine Learning ya que estos
algoritmos son como redes neuronales, arboles de decisión y algoritmos de agrupamiento se utilizan para
extraer información de conjuntos de datos grandes y complejos lo que nos va a permitir hacer
predicciones, detectar patrones y tomar decisiones automaticas. Esto lo afirma la pagina web
“Los algoritmos de machine learning son el alma que mueven los procesos de aprendizaje. Gracias a
ellos podemos obtener la información que necesitamos para tomar decisiones o predecir el
comportamiento de los datos.” (GRAPH, s/f). hay una gran variedad de algoritmos y técnicas que se
utilizan en diferentes situaciones y para resolver una variedad de problemas. La elección del algoritmo
adecuado depende de la naturaleza de los datos, el tipo de problema a resolver y los objetivos específicos
del proyecto.
También están los algoritmos para el análisis de redes sociales son herramientas fundamentales
para comprender la estructura, dinámica y comportamiento de las redes sociales en línea. Estos algoritmos
permiten extraer información valiosa sobre las interacciones entre individuos, comunidades,
influenciadores y tendencias dentro de una red social. Los algoritmos pueden varias según la red social
que se este utilizando, por ejemplo tenemos a la red social Instagram, según “ detalla Vilma, que
el algoritmo de Instagram evalúa mucho las acciones de cada usuario, la localización de cada
perfil, los hashtags que se utilicen, las interacciones con la audiencia y sobre todo la calidad
del contenido que publicas. La publicidad cada vez juega un papel más importante, ya que
ayuda al posicionamiento de marca, a atraer más clientes y a dar a conocer los beneficios de los
productos o servicios. A medida que pasa el tiempo, las marcas consiguen crear experiencias
más personalizadas para sus clientes a través de esta red social.” (CE ComunidadEmpresas, s/f).
también haciendo énfasis en otros aspectos como el análisis de emojis y emoticones, análisis de opiniones,
Varios algoritmos novedosos han cambiado significativamente el mundo y han tenido un impacto
profundo en diversas áreas como lo es el PageRank que fue desarrollado por Larry Page y Sergey Brin,
este algoritmo revolucionó la búsqueda en línea al permitir a Google clasificar páginas web en función de
su importancia relativa en lugar de simplemente contar la cantidad de veces que se mencionaba una
de Turing es un modelo teórico de un dispositivo que manipula símbolos en una cinta de manera
determinista siguiendo un conjunto de reglas predefinidas. Esta maquina sento las bases para la
9 Conclusiones
abarca desde los primeros intentos humanos por resolver problemas matemáticos hasta la era de
la computación moderna, estos algoritmos han sido pieza fundamental en diversas áreas. Su
algoritmo
algoritmos/#:~:text=El%20algoritmo%20permite%20estudiar%20las,pueden%20crear
%20sus%20primeros%20algoritmos.
https://developer.mozilla.org/es/docs/Glossary/Cipher
GraphEverywhere.
https://www.grapheverywhere.com/algoritmos-de-machine-learning/#:~:text=Los
%20algoritmos%20de%20machine%20learning,el%20comportamiento%20de%20los
%20datos.
Cómo funcionan los algoritmos en las redes sociales. (s. f.). Entel Comunidad Empresas.
https://ce.entel.cl/articulos/sepa-como-funcionan-los-algoritmos-en-las-redes-sociales/
Anexos