Algoritmos en Nuestras Vidas

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 13

Algoritmos en nuestras vidas

Si miramos la definición de la Real Academia Española, nos dice que la definición de


algoritmo es: “Conjunto ordenado y finito de operaciones que permite hallar la solución de
un problema”.

Si bien los algoritmos generalmente se asocian al ámbito matemático, no necesariamente


implica que sean exclusivos de esta área. Se puede entender un algoritmo como una
secuencia de pasos finitos bien definidos que resuelven un problema. Por ejemplo, la
ejecución de tareas cotidianas tan simples como cepillarse los dientes, lavarse las manos o
seguir el manual de instrucciones de armado de un mueble, se pueden ver como un
algoritmo.

¿Qué son los algoritmos? ¿Cuál es el concepto de algoritmo? ¿Qué es un algoritmo en


programación? Desde el punto de vista informático un algoritmo es cualquier
procedimiento computacional bien definido que parte de un estado inicial y un valor o un
conjunto de valores de entrada, a los cuales se les aplica una secuencia de pasos
computacionales finitos, produciendo una salida o solución. Se puede considerar al
algoritmo como una herramienta para resolver un cálculo computacional bien especificado
[1].

¿Qué tan recientes son los algoritmos?


Los humanos han creado, modificado y utilizado algoritmos a lo largo de la historia. Hace
más de 4500 años los sumerios ilustraron en tablas de arcilla un método repetitivo utilizado
para distribuir de forma equitativa la cosecha de granos entre un número variable de
hombres [2].

Aproximadamente en el año 300 A.C en la Grecia Helenística, el matemático Euclides


escribió “Elementos”, un trabajo que sentaría las bases para la geometría de los próximos
milenios, ese texto incluye su famoso algoritmo para hallar el máximo común divisor.

A mediados del siglo XIX, Augusta Ada Byron (Ada Lovelace) crea lo que se considera el
primer algoritmo diseñado para ser ejecutado por una máquina. Lovelace, sentó las bases
para los lenguajes de programación futuros (como la programación funcional).

Ya en el siglo pasado con la llamada “Revolución Informática” los algoritmos comenzaron


a tener un peso cada vez mayor. A medida que avanzaba la era de la computación estos
adquirieron cada vez más relevancia hasta convertirse en parte de un engranaje vital en los
procesos tecnológicos que afectan nuestro diario vivir.

Características y clasificaciones de los algoritmos


Partes del algoritmo y generalidades

Independientemente de la clasificación y el tipo de algoritmo, básicamente todos están


compuestos de tres partes principales:

 Entrada: Se trata del conjunto de datos que el algoritmo necesita como insumo para
procesar.
 Proceso: Son los pasos necesarios aplicados por el algoritmo a la entrada recibida
para poder llegar a una salida o resolución del problema.
 Salida: Es el resultado producido por el algoritmo a partir del procesamiento de la
entrada una vez terminada la ejecución del proceso.

Además del tipo de algoritmo existen una serie de características comunes a todos, a
continuación, se mencionan alguna de ellas.

 Exactitud: el algoritmo tiene que indicar un orden claro de la ejecución de cada


paso, estos no pueden ser ambiguos (debe existir una confiabilidad).
 Estar definido: si se realiza la ejecución de un mismo algoritmo en distintas
instancias utilizando la misma entrada, debe resultar en la misma salida.
 Completo: en la solución se deben considerar todas las posibilidades del problema.
 Finito: necesariamente un algoritmo debe tener un número finito de pasos.
 Instrucciones entendibles: Las instrucciones que lo describen deben ser claras y
legibles.
 General: debe poder abarcar problemas de un mismo tema soportando las distintas
variantes que se presentan en la definición del problema.

Criterios de clasificación de los algoritmos

Según el criterio utilizado se aplican diferentes clasificaciones a los algoritmos. Por


ejemplo, si usamos la clasificación por el sistema de signos con el cual se describen los
pasos a seguir del algoritmo, podemos diferenciar dos tipos, algoritmos cualitativos:
aquellos que sus pasos son instrucciones verbales y algoritmos cuantitativos: aquellos que
se siguen instrucciones de cálculos numéricos.

Si se clasifican en base a su función se pueden establecer tres grupos principales como son
los algoritmos de búsqueda, algoritmos de ordenamiento y algoritmos de
encaminamiento o enrutamiento.

El tercer criterio que puede usarse para su clasificación es en base a su estrategia para
alcanzar un resultado. En este grupo podemos mencionar a los algoritmos probabilísticos,
heurísticos, voraces, de escalada y deterministas.

 
Un análisis detallado de los principales tipos de algoritmos se estudia durante la carrera de
Ingeniería en Informática de Facultad de Ingeniería de UDE, más precisamente en el curso
de “Análisis de Algoritmos”.

Transparentes y en todas partes


En esta llamada revolución digital, convivimos diariamente con la mayoría de los
algoritmos sin darnos cuenta. Desde las aplicaciones que nos indican la mejor ruta a seguir
hasta las sugerencias a la hora de recibir noticias destacadas en nuestros teléfonos móviles,
todas utilizan algoritmos.

Un número que nos identifica

Los algoritmos también están presentes en el número de nuestra cédula de identidad, el


dígito verificador que aparece a la derecha del guion es calculado a través de una serie de
pasos bien definidos.

A continuación, se mostrará el proceso que sigue el algoritmo para calcular ese dígito,
utilizando como ejemplo el número de cédula: 1.234.567 – X:

 Se enumeran los dígitos del lado izquierdo del guion comenzando por el final.

1 2 3 4 5 6 7
Pos7 Pos6 Pos5 Pos4 Pos3 Pos2 Pos1

 Cada dígito del documento se multiplica por la siguiente serie de números: 2 9 8 7 6


3 4 uno a uno respetando la posición y comenzando por la derecha. Si la cédula que
se desea verificar tiene solamente 6 cifras a la izquierda del guion, no se considerará
el número 2 de la serie para multiplicar quedando 9 8 7 6 3 4 (ya que no existiría un
número en la Pos7 de la cédula a verificar)

1 2 3 4 5 6 7
Pos7 Pos6 Pos5 Pos4 Pos3 Pos2 Pos1
x2 x9 x8 x7 x6 x3 x4
2 18 24 28 30 18 28

 Se suman solamente las unidades de los números obtenidos de las multiplicaciones.

2 18 24 28 30 18 28

2 + 8 + 4 + 8 + 0 + 8+8 = 38

 Al número obtenido se lo divide entre 10 y se obtiene el resto (mod 10).

38 mod 10 = 8
 Si el número obtenido en el paso anterior es 0, ese será el dígito verificador, si es
distinto de 0 se le resta a 10 el número obtenido en el paso anterior y se obtiene la
salida del algoritmo.

10- 8 = 2

Es fácil que el lector caiga en la tentación de comprobar el algoritmo con su propio


número de cédula y verificar que el dígito obtenido es el correcto.

Algoritmos en las redes sociales

Según el reporte publicado por Datareportal en abril 2021, referente al uso de plataformas
de redes sociales a nivel mundial, Facebook encabeza la lista con casi 2800 millones de
usuarios, seguida por YouTube con 2300 millones. Gran parte del contenido que los
usuarios consumen en estas plataformas, son sugeridos mediante procesos que utilizan
distintos algoritmos que trabajan en el marketing digital.

Una muestra de ello es el algoritmo de Facebook utilizado para la sección de noticias (Feed
News), el cual controla el orden y presentación de las publicaciones que se muestran al
usuario (muy relevante para un community manager).  Sin embargo, muchos usuarios
desconocen que realmente existen algoritmos involucrados en la selección de publicaciones
que aparecen en sus pantallas. Un estudio publicado en 2015 [3], realizado sobre un grupo
de usuarios de Facebook, cuyo objetivo era el de examinar la percepción que tenían estos
acerca del algoritmo de selección de noticias, halló que un 62,5% del total muestreado
desconocía totalmente su existencia.

Los algoritmos seguirán avanzando con nosotros


Tal como se mencionó a lo largo del artículo, los algoritmos han acompañado a la
humanidad desde las primeras civilizaciones. Dada su importancia, sus aplicaciones
prácticas y su omnipresencia en un mundo dominado por las tecnologías. Es de esperar que
continuemos fuertemente ligados a los algoritmos que hemos creado y su importancia
continúe en aumento en las próximas décadas acoplados a los avances tecnológicos. Incluso
ya tenemos inteligencia artificial para escribir textos.

¿Qué es un diagrama de flujo?


Un diagrama de flujo es un diagrama que describe un proceso, sistema o algoritmo
informático. Se usan ampliamente en numerosos campos para documentar, estudiar,
planificar, mejorar y comunicar procesos que suelen ser complejos en diagramas claros y
fáciles de comprender. Los diagramas de flujo emplean rectángulos, óvalos, diamantes y
otras numerosas figuras para definir el tipo de paso, junto con flechas conectoras que
establecen el flujo y la secuencia. Pueden variar desde diagramas simples y dibujados a
mano hasta diagramas exhaustivos creados por computadora que describen múltiples pasos
y rutas. Si tomamos en cuenta todas las diversas figuras de los diagramas de flujo, son uno
de los diagramas más comunes del mundo, usados por personas con y sin conocimiento
técnico en una variedad de campos. Los diagramas de flujo a veces se denominan con
nombres más especializados, como "diagrama de flujo de procesos", "mapa de procesos",
"diagrama de flujo funcional", "mapa de procesos de negocios", "notación y modelado de
procesos de negocio (BPMN)" o "diagrama de flujo de procesos (PFD)". Están
relacionados con otros diagramas populares, como los diagramas de flujo de datos (DFD) y
los diagramas de actividad de lenguaje unificado de modelado (UML).

          

Historia
El uso de los diagramas de flujo para documentar procesos de negocios se inició entre las
décadas de 1920 y 1930. En 1921, los ingenieros industriales Frank y Lillian Gilbreth
presentaron el "diagrama de flujo de procesos" en la Sociedad Americana de Ingenieros
Mecánicos (ASME – American Society of Mechanical Engineers).  A principios de la
década de 1930, el ingeniero industrial Allan H. Morgensen empleó las herramientas de
Gilbreth para presentar conferencias sobre cómo aumentar la eficiencia en el trabajo a
personas de negocios en su empresa.  En la década de 1940, dos estudiantes de Morgensen,
Art Spinanger y Ben S. Graham, difundieron los métodos más ampliamente. Spinanger
introdujo los métodos de simplificación del trabajo en Procter & Gamble. Graham, director
de Standard Register Industrial, adaptó los diagramas de flujo de procesos al procesamiento
de información. En 1947, ASME adoptó un sistema de símbolos para los diagramas de flujo
de procesos derivado del trabajo original de Gilbreth.

        

Además, a fines de la década de 1940, Herman Goldstine y John Van Neumann usaron
diagramas de flujo para desarrollar programas informáticos. Pronto la creación de
diagramas se volvió cada vez más popular para los programas informáticos y algoritmos de
todo tipo. Los diagramas de flujo se continúan usando para la programación hoy en día. Sin
embargo, el pseudocódigo, una combinación de palabras y lenguaje de codificación
pensado para lectura humana, a menudo se usa para representar niveles más específicos de
detalle y para tener una versión más cercana al producto final.
      

En Japón, Kaoru Ishikawa (1915-1989), una personalidad clave en las iniciativas de calidad
en manufactura, afirmó que los diagramas de flujo eran una de las herramientas
fundamentales en el área de control de calidad, junto a otras complementarias, como el
histograma, la ficha de control y el diagrama de causa-efecto, también llamado Diagrama
de Ishikawa.

Símbolos de diagramas de flujo


A continuación, te enseñaremos algunos de los símbolos de diagramas de flujo más
comunes. Para obtener una lista más exhaustiva, accede a nuestra completa página de
símbolos de diagramas de flujo.

Terminal/Terminador

Proceso

Documento

Decisión

Datos o entrada/salida

Datos almacenados

Flecha de flujo

Comentario o anotación

Proceso predefinido

Referencia/conector dentro de la página

Referencia/conector fuera de la página 

Crear diagramas es rápido y sencillo con Lucidchart. Inicia una prueba gratuita hoy mismo
para empezar a crear y colaborar.

Genera un diagrama de flujo

Diagramas de flujo para algoritmos/programación


informática
Como una representación visual del flujo de datos, los diagramas de flujo son útiles para
escribir un programa o algoritmo y explicárselo a otros o colaborar con otros en el mismo.
Puedes usar un diagrama de flujo para explicar detalladamente la lógica detrás de un
programa antes de empezar a codificar el proceso automatizado. Puede ayudar a
organizar una perspectiva general y ofrecer una guía cuando llega el momento de codificar.
Más específicamente, los diagramas de flujo pueden:

 Demostrar cómo el código está organizado.


 Visualizar la ejecución de un código dentro de un programa.
 Mostrar la estructura de un sitio web o aplicación.
 Comprender cómo los usuarios navegan por un sitio web o programa.

A menudo, los programadores pueden escribir un pseudocódigo, una combinación de


lenguaje natural y lenguaje informático que puede ser leído por personas. Esto puede
permitir más detalle que el diagrama de flujo y servir como reemplazo del diagrama de
flujo o como el próximo paso del código mismo.

Los diagramas relacionados que se emplean en el software informático incluyen:

 Lenguaje unificado de modelado (UML): este es el lenguaje de propósito general


usado en la ingeniería de software para el modelado.
 Diagramas Nassi-Shneiderman (NSD): usados para la programación informática
estructurada. Llevan el nombre de sus creadores: Isaac Nassi y Ben Shneiderman,
quienes los desarrollaron en 1972 en la Universidad Estatal de Nueva York en
Stony Brook. También se denominan "estructogramas".
 Diagramas DRAKON: DRAKON es un lenguaje de programación visual de
algoritmos empleado para crear diagramas de flujo.

Cómo se usan los diagramas de flujo en muchos otros


campos
Más allá de la programación informática, los diagramas de flujo pueden tener muchos usos
en diversos campos.

En cualquier campo pueden:

 Documentar y analizar un proceso.


 Estandarizar un proceso para obtener eficiencia y calidad.
 Comunicar un proceso para capacitar a otros sectores de la organización o lograr el
entendimiento de su parte.
 Identificar cuellos de botellas, redundancias y pasos innecesarios en un proceso y
mejorarlo.

Educación:
 Planificar los requisitos académicos y las tareas del curso.
 Crear una presentación oral o un plan de clase.
 Organizar un proyecto grupal o individual.
 Mostrar un proceso civil o legal, como el registro de votantes.
 Planificar y estructurar la escritura creativa, como poesía o poesía lírica.
 Demostrar el desarrollo de un personaje en la literatura y el cine.
 Representar el flujo de algoritmos o acertijos lógicos.
 Comprender un proceso científico, como el ciclo de Krebs.
 Dibujar un proceso anatómico, como la digestión.
 Trazar síntomas y tratamientos para enfermedades o trastornos.
 Comunicar hipótesis y teorías, como la pirámide de Maslow o jerarquía de las
necesidades humanas.

Ventas y marketing:

 Trazar el flujo de una encuesta.


 Dibujar un proceso de ventas.
 Planificar estrategias de investigación.
 Mostrar flujos de registro.
 Difundir políticas de comunicación, como un plan de R.R. P.P. de emergencia.

Negocios:

 Comprender procesos de pedidos y compras.


 Representar la rutina diaria o las tareas de un empleado.
 Comprender las rutas que toman los usuarios en un sitio web o en una tienda.
 Desarrollar un plan de negocio o un plan de desarrollo de un producto.
 Documentar un proceso en preparación para una auditoría, incluido el cumplimiento
normativo, por ejemplo, en virtud de la Ley Sarbanes-Oxley.
 Documentar un proceso en preparación para una venta o consolidación.

Manufactura:

 Indicar la composición química o física de un producto.


 Ilustrar el proceso de manufactura de principio a fin.
 Descubrir y resolver ineficiencias en un proceso de manufactura o adquisición.

Ingeniería:

 Representar flujos de proceso o de sistema.


 Diseñar y actualizar procesos químicos y de planta.
 Evaluar el ciclo de vida de una estructura.
 Diagramar un flujo de ingeniería inversa.
 Demostrar la fase de prototipo y diseño de una estructura o producto nuevos.

Tipos de diagramas de flujo


Distintos autores describen numerosos tipos de diagramas de flujo en diferentes términos.
Estas personas incluyen a expertos publicados, como Alan B. Sterneckert, Andrew Veronis,
Marilyn Bohl y Mark A. Fryman.

Sterneckert, en su libro escrito en 2003 Critical Incident Management, mencionó cuatro


tipos de diagramas de flujo populares, enmarcados en el concepto de controles de flujos en
vez del flujo en sí mismo:

 Diagramas de flujo de documentos: Estos "tienen el propósito de mostrar los


controles existentes en el flujo de documentos a través de los componentes de un
sistema. (...) El diagrama se lee de izquierda a derecha y detalla el flujo de
documentos a través de numerosas unidades de negocio".
 Diagramas de flujo de datos: Estos indican "los controles que rigen los flujos de
datos en un sistema. (...) Los diagramas de flujo de datos se usan principalmente
para mostrar los canales donde se transmiten los datos a través del sistema en lugar
de cómo se controla el flujo".
 Diagramas de flujo de sistemas: Estos "indican el flujo de datos que pasa hacia los
componentes principales de un sistema, o a través de ellos, tales como entrada de
datos, programas, medios de almacenamiento, procesadores y redes de
comunicación".
 Diagramas de flujo de programas: Estos muestran "los controles ubicados
internamente en un programa dentro de un sistema".

Veronis , en su libro escrito en 1978, Microprocessors: Design and Applications, describió


tres tipos de diagramas de flujo en función del alcance y nivel de detalle:

 Diagrama de flujo de sistema: identifica los dispositivos que se emplearán.


 Diagrama de flujo general: vista general.
 Diagrama de flujo detallado: más detalles.

Bohl, en su libro escrito en 1978 llamado A Guide for Programmers, enumera solo dos:

 Diagrama de flujo de sistemas.


 Diagrama de flujo de programas.

But Fryman, en su libro escrito en 2001 titulado Quality and Process Improvement,
distinguió los tipos de muchas maneras, más desde una perspectiva orientada a los negocios
que a la informática:

 Diagrama de flujo de decisiones.


 Diagrama de flujo lógico.
 Diagrama de flujo de sistemas.
 Diagrama de flujo de productos.
 Diagrama de flujo de procesos.

Otros tipos de diagramas de flujo definidos por otros incluyen:

 Diagrama de carriles, también conocido como "diagrama de flujo de carriles":


detalla los roles de cada participante en procesos que se realizan entre equipos.
 Diagrama de flujo de trabajo: documenta flujos de trabajo, a menudo involucra
tareas, documentos e información en las oficinas.
 Diagrama de cadena de procesos impulsada por eventos (EPC): documenta o
planifica un proceso de negocio.
 Diagrama de flujo de lenguaje de descripción y especificación (SDL): realiza un
lluvia de ideas sobre los algoritmos informáticos mediante tres componentes
básicos: proceso, bloqueo y definición de sistema.

Estos diagramas relacionados también se piensan, a veces, como tipos de diagramas de


flujo:

 Diagrama de flujo de datos (DFD): traza el flujo de información de cualquier


sistema o proceso.
 Diagrama de flujo de procesos (PFD), también conocido como "gráfico de flujo
de procesos": ilustra las relaciones entre los principales componentes de una planta
industrial.
 Modelo y notación de procesos de negocio (BPMN 2.0): modela los pasos de un
proceso de negocio planificado.

Cómo planificar y dibujar un diagrama de flujo básico


1. Define tu propósito y alcance.. ¿Qué deseas lograr? ¿Estás considerando las cosas
correctas con un punto inicial y final apropiados para alcanzar ese propósito?
Realiza una investigación lo suficientemente detallada, pero lo suficientemente
simple a la hora de crear tus diagramas para comunicarte con tu audiencia.
2. Identifica las tareas en orden cronológico. Esto puede involucrar las
conversaciones con los participantes, la observación de un proceso o la revisión de
cualquier documentación existente. Puedes escribir los pasos en forma de notas o
comenzar con un diagrama en versión borrador.
3. Organízalos por tipo y figura correspondiente, como procesos, decisiones, datos,
entradas o salidas.
4. Crea tu diagrama, ya sea dibujándolo a mano o usando un programa como
Lucidchart.
5. Confirma tu diagrama de flujo, verificando todos los pasos con las personas que
participan en el proceso. Observa el proceso para asegurarte de no dejar de lado
nada que sea importante para tu propósito.

Recursos útiles
 Simbología de diagrama de flujo
 Cómo crear un diagrama de flujo en Word
 Plantilla de diagrama de flujo para Word
 Cómo hacer un diagrama de flujo en Excel
 Cómo crear un diagrama de flujo en PowerPoint
 Cómo hacer un diagrama de flujo
 Ejemplos y Plantillas de Diagramas de Flujo

Crear diagramas de flujo en Lucidchart es fácil e intuitivo. Simplemente debes arrastrar las
figuras en el lienzo y dibujar las líneas que las conectan. Si no sabes bien por dónde
empezar, echa un vistazo a nuestro tutorial sobre recomendaciones acerca de cómo dibujar
un diagrama de flujo.

¿Deseas crear tu propio diagrama de flujo? Prueba Lucidchart. Es rápido, sencillo y


totalmente gratis.

Genera un diagrama de flujo

El pseudocódigo es una forma de expresar los distintos pasos que va a realizar un programa, de la
forma más parecida a un lenguaje de programación. Su principal función es la de representar por
pasos la solución a un problema o algoritmo, de la forma más detallada posible, utilizando un
lenguaje cercano al de programación. El pseudocódigo no puede ejecutarse en un ordenador ya
que entonces dejaría de ser pseudocódigo, como su propio nombre indica, se trata de un código
falso (pseudo = falso), es un código escrito para que lo entienda el ser humano y no la máquina.
e que es un sistema de toma de decisiones involucra el manejo de datos y patrones para la
generación, la estimación, la valoración y la comparación sistemática de alternativas.

Una decisión es el resultado de un proceso por el cual se elige entre distintas opciones, es
decir, de un sistema de apoyo a las decisiones, conocido también como DSS por sus siglas
en inglés, Decisión Support System. Este es un sistema informático o software que sustenta
el proceso de toma de decisiones. De esta manera, este proceso induce a que los
comprometidos en el proyecto, se reúnan para diagramar y crear opciones para proceder a
tomar una decisión de importancia.

Los DSS constituyen un instrumento para tomar decisiones permitidas, con desiguales
puntos de vista y en un profundo grado de actividades.

Características de los sistemas de tomas de decisiones

o Consiste en sacar y manejar información de una forma accesible.


o Apoya en decisiones estratégicas no ordenadas.
o Deja que el usuario defina interactivamente qué información solicita y cómo
modificarla.
o Su primordial característica es la capacidad de investigación y análisis
multidimensional, que consiente en indagar la información hasta obtener un agudo
nivel de detalle.
o En este sentido, lo que es un sistema de toma de decisiones analiza datos desde
distintas perspectivas.
o Ejecuta proyecciones de información para anunciar lo que puede acontecer más
adelante.  
o Un un sistema de decisiones DSS proporciona un soporte a los usuarios que
necesitan tomar decisiones en algún lugar de gestión empresarial.
o Ofrece socorro en todos los períodos de tiempo para el esbozo, elección, e
implementación de métodos y maneras de tomar una decisión.
o Es flexible y adaptable por el usuario.
o Forma aprendizaje.
o Generalmente utiliza patrones cuantitativos.
o Los DSS mejorados están proveídos con un componente de administración del
conocimiento que consiente una solución vigorosa y eficaz de problemas muy
complicados.
o Puede ser establecido para su uso en Web, en ambientes de bufete o en dispositivos
móviles.

Lo que es un sistema de toma de decisiones es un método informático manejado para


ofrecer apoyo, más que automatizar, el proceso de las tomas de decisiones. La decisión
supone una elección entre alternativas apoyadas en apreciaciones de los valores de esas
alternativas. Mientras que el apoyo a una decisión, representa el auxilio a los individuos
que trabajan en crear soluciones.

También podría gustarte