A FONDO

¿Cuáles son los nuevos modelos de computación?



Dirección copiada

En los últimos años, otros modelos de computación han alcanzado notoriedad y éxito, como el aprendizaje automático o las redes neuronales, mientras ahora son otros, como la computación cuántica, los que comienzan a mostrar avances significativos

Actualizado el 17 abr 2024



Computación

Hace más de cuatro décadas que comenzamos a desarrollar software masivamente utilizando el modelo de computación algorítmico. En los últimos años, otros modelos de computación han alcanzado notoriedad y éxito, como el aprendizaje automático o las redes neuronales, mientras ahora son otros, como la computación cuántica, los que comienzan a mostrar avances significativos. Cada uno tiene sus desafíos y su marco de aplicación.

Tipos de modelos de computación

Existen varios tipos de modelos de computación, cada uno diseñado para resolver diferentes tipos de problemas o simular diferentes aspectos del mundo real. Entre los distintos tipos de modelos están:

Modelos deterministas

Estos modelos producen resultados predecibles basados en entradas específicas y reglas bien definidas. No hay aleatoriedad en su comportamiento.

Modelos estocásticos

A diferencia de los modelos deterministas, los modelos estocásticos incorporan elementos aleatorios en su estructura o en las entradas. Esto los hace útiles para simular sistemas que tienen un componente de incertidumbre o aleatoriedad.

Modelos de simulación

Estos modelos se utilizan para imitar el comportamiento de sistemas complejos a lo largo del tiempo. Pueden ser utilizados en una variedad de campos, desde la física hasta la economía, para entender mejor cómo se comportan los sistemas en diferentes condiciones.

Modelos matemáticos

Utilizan ecuaciones y fórmulas matemáticas para describir y predecir el comportamiento de un sistema. Pueden ser deterministas o estocásticos según la naturaleza del sistema y las variables involucradas.

Modelos basados en agentes

Estos modelos representan entidades individuales (llamadas agentes) que interactúan entre sí y con su entorno según reglas específicas. Son útiles para simular fenómenos sociales, biológicos y económicos donde el comportamiento individual afecta al sistema en su conjunto.

Modelos de redes neuronales artificiales (ANN)

Estos modelos se inspiran en la estructura y el funcionamiento del cerebro humano para realizar tareas de aprendizaje y reconocimiento de patrones. Son ampliamente utilizados en el campo del aprendizaje automático y la inteligencia artificial.

Modelos de optimización

Estos modelos buscan encontrar la mejor solución posible para un problema dado dentro de un conjunto de restricciones. Se utilizan en una amplia gama de aplicaciones, como la planificación de rutas, la asignación de recursos y la programación de la producción.

Ejemplos de modelos de computación

Máquinas de Turing

Propuestas por Alan Turing en 1936, las máquinas de Turing son un modelo teórico de un dispositivo que manipula símbolos en una cinta de acuerdo con un conjunto de reglas. Son fundamentales en la teoría de la computabilidad y ayudan a comprender los límites de lo que puede ser computado.

Autómatas finitos

Son modelos matemáticos de sistemas que pueden estar en uno de un número finito de estados en un momento dado. Se utilizan en el diseño y análisis de circuitos, en la teoría de lenguajes formales y en la construcción de compiladores.

Redes neuronales artificiales

Inspiradas en el funcionamiento del cerebro humano, las redes neuronales artificiales son modelos de computación que consisten en nodos interconectados que imitan las neuronas biológicas. Se utilizan para tareas de aprendizaje automático, reconocimiento de patrones, procesamiento de lenguaje natural y más.

Computación
Artificial intelligence, machine learning, ai, data deep learning for future technology artwork, mining, isometric, neural network, machine programming and Responsive web banner. vector.

Modelos de autómatas celulares

Estos son modelos discretos utilizados en la simulación de sistemas dinámicos, donde cada celda de una cuadrícula tiene un estado que evoluciona en función del estado de sus vecinos. Se utilizan en campos como la física, la biología y la informática.

Modelos de agentes

Representan entidades individuales que interactúan entre sí y con su entorno según reglas específicas. Se utilizan en la simulación de fenómenos sociales, económicos y biológicos, así como en la inteligencia artificial.

Modelos de ecuaciones diferenciales

Utilizados en física, ingeniería y otros campos científicos, estos modelos describen cómo cambian las variables en función de su tasa de cambio. Se utilizan para predecir el comportamiento de sistemas dinámicos.

Modelos de simulación por computadora

Utilizan algoritmos para imitar el comportamiento de sistemas complejos en el tiempo. Se utilizan en una variedad de campos, incluidos los negocios, la ciencia, la ingeniería y la medicina, para comprender y predecir el comportamiento de sistemas reales.

Estos son solo algunos ejemplos de modelos de computación, y hay muchos otros que se utilizan en diversos campos para resolver una amplia gama de problemas.

Aprendizaje automático e inteligencia artificial

Aunque ahora sea trending topic, -sobre todo con el surgimiento de la IA Generativa-, las primeras nociones de aprendizaje automatizado, o machine learning, y de inteligencia artificial (IA) surgieron hace más de 70 años, aunque ha sido durante los últimos cinco años cuando la IA ha despuntado debido a la potencia de cálculo y almacenamiento, al descubrimiento de nuevos modelos como los Convolutional Neural Networks, que revolucionaron la identificación de objetos en las imágenes; y a las nuevas formas de entrenamiento, como las Controversial Neural Networks, utilizadas por Google en Alphazero para auto-aprender a jugar.

El principio de desarrollo en IA se basa en entrenar un modelo a partir de algunos datos y resultados para conseguir que luego pueda resolver otros escenarios no entrenados. El proceso de entrenamiento es muy intensivo en cómputo e intervención humana para ajustar los parámetros del modelo hasta conseguir la fiabilidad y eficiencia deseada. Otra ventaja de la IA es que, tanto el almacenamiento como la computación, son perfectamente predecibles y estables en el tiempo.

En cuanto a los datos, requiere que sean reales, por lo que surgen desafíos relacionados con cómo definir operaciones seguras para realizar entrenamientos y ajustes sin comprometer la confidencialidad. También surgen otros desafíos como asegurar que los datos no son reversibles desde el modelo entrenado, el testing para garantizar la fiabilidad y la optimización para reducir el tamaño del modelo y su cómputo.

La IA permite resolver problemas donde el número de reglas asciende a una escala que no es gestionable desde los modelos antes descritos, como por ejemplo, el reconocimiento de imágenes, de voz o de contenidos. También está triunfando para aplicaciones como la conducción autónoma, la ciberseguridad, etc.

Computación algorítmica

La computación algorítmica tradicional se basa en aplicar secuencias de operaciones a datos para conseguir resultados, ya sea a través de un lenguaje procedural, orientado a objetos o funcional. En los tres casos cuentan con una base matemática desarrollada en los años 50, o incluso antes, pero es durante los últimos 30 años cuando han evolucionado significativamente para afrontar el desarrollo de sistemas con mayor escala, criticidad y rendimiento. Han evolucionado desde ejecutarse en sistemas centralizados a distribuidos y multi-plataforma y, sus procesos de desarrollo han avanzado hacia el TDD y BDD.

En el caso del lenguaje procedural, cambia la forma de desarrollo: se construye un test unitario antes, luego el código que lo satisfaga y después se mejora. El lenguaje orientado a objetivos permite definir las pruebas funcionales en lenguaje casi natural y paralelamente a la definición de los requisitos, lo cual les retroalimenta.

Respecto a los datos, fácilmente pueden separarse en entornos de ejecución diferentes a aquellos que se utilizan durante el desarrollo de los que se utilizan en producción real para asegurar su confidencialidad y evitar su corrupción. El marco de aplicación es quizás el más amplio de todos. Ejemplo de ello son los servicios digitales provistos por los bancos, las aseguradoras y los gigantes tecnológicos; donde los desafíos siguen siendo la escalabilidad funcional y la fiabilidad.

Computación cuántica

Si bien la computación cuántica se encuentra aún en fases experimentales, ya es posible programar y ejecutar algoritmos en ordenadores cuánticos disponibles como servicio. Recientemente, Google y NASA han declarado conseguir ejecutar un algoritmo en 200 segundos cuando en el superordenador más potente se hubiese necesitado más de 10.000 años.

La computación cuántica se basa en ejecutar un algoritmo en un procesador cuántico donde todos los estados posibles son evaluados simultáneamente para encontrar resultados. El proceso de desarrollo y pruebas requiere de lenguajes de programación y librerías que aún están evolucionando. Puede requerir utilizar configuraciones que involucren datos con cierto nivel de confidencialidad, así como los propios resultados. En este sentido, los proveedores de servicios de computación cuántica ofrecen diferentes mecanismos criptográficos para garantizar la privacidad.

El ámbito de aplicación va desde la resolución de modelos químicos y físicos, a seguridad u optimización de tráfico de vehículos. En el sector financiero, puede aplicarse a la mejora de estrategias comerciales, a la optimización de cartera, a la fijación de precios de activos y al análisis de riesgos.

En definitiva, estos modelos de computación tienen ámbitos de aplicación claramente especializados. En IA ya estamos consiguiendo resultados asombrosos para resolver escenarios donde la algoritmia tradicional no puede escalar. En computación cuántica, veremos avances muy significativos en los próximos años, pero estamos en un buen momento para comenzar a explorar y estar bien preparados.

Todos requieren de especialistas para desarrollarlos, gestionar sus operaciones y mantenerlos. Son modelos complementarios que deben convivir integrándose en soluciones compuestas. Su adopción como capacidad corporativa requiere de una gestión del cambio. Este puede comenzar por un centro de competencias que resuelva los primeros proyectos y habilite las infraestructuras y operaciones requeridas, consolidando el conocimiento en un equipo. Una vez conseguido un nivel de madurez adecuado y acorde al incremento de la demanda, este equipo puede escalar su capacidad a través de ayudar a que otros equipos consigan adoptarla.

Artículos relacionados

Artículo 1 de 5