La computación blanda es un término general que se utiliza para describir los tipos de algoritmos que producen soluciones aproximadas a problemas de alto nivel irresolubles en la ciencia informática. Por lo general, los algoritmos tradicionales de computación dura se basan en gran medida en datos concretos y modelos matemáticos para producir soluciones a los problemas. La computación blanda se acuñó a fines del siglo XX. [1] Durante este período, la investigación revolucionaria en tres campos tuvo un gran impacto en la computación blanda. La lógica difusa es un paradigma computacional que considera las incertidumbres en los datos mediante el uso de niveles de verdad en lugar de 0 y 1 rígidos en binario. A continuación, las redes neuronales, que son modelos computacionales influenciados por las funciones del cerebro humano. Finalmente, la computación evolutiva es un término para describir grupos de algoritmos que imitan procesos naturales como la evolución y la selección natural.
En el contexto de la inteligencia artificial y el aprendizaje automático , la computación blanda proporciona herramientas para manejar las incertidumbres del mundo real. Sus métodos complementan los métodos preexistentes para obtener mejores soluciones. Hoy en día, la combinación con la inteligencia artificial ha dado lugar a sistemas de inteligencia híbridos que fusionan varios algoritmos computacionales. Al ampliar las aplicaciones de la inteligencia artificial, la computación blanda conduce a soluciones robustas. Los puntos clave incluyen abordar la ambigüedad, el aprendizaje flexible, la comprensión de datos intrincados, las aplicaciones del mundo real y la inteligencia artificial ética . [2] [3]
El desarrollo de la computación blanda se remonta a finales del siglo XX. En 1965, Lotfi Zadeh introdujo la lógica difusa, que sentó las bases matemáticas para la computación blanda. Entre los años 1960 y 1970, comenzó a surgir la computación evolutiva, el desarrollo de algoritmos genéticos que imitaban los procesos biológicos. Estos modelos abrieron el camino para que los modelos comenzaran a manejar la incertidumbre. Aunque la investigación de redes neuronales comenzó en los años 1940 y 1950, hubo una nueva demanda de investigación en la década de 1980. Los investigadores invirtieron tiempo para desarrollar modelos para el reconocimiento de patrones . Entre los años 1980 y 1990, los sistemas de inteligencia híbrida fusionaron la lógica difusa, las redes neuronales y la computación evolutiva que resolvieron problemas complicados rápidamente. Desde la década de 1990 hasta la actualidad, los modelos han sido fundamentales y afectan a múltiples campos que manejan big data , incluida la ingeniería, la medicina, las ciencias sociales y las finanzas. [4] [5]
La lógica difusa es un aspecto de la informática que maneja el razonamiento aproximado. Normalmente, la lógica binaria permite a las computadoras tomar decisiones sobre razones verdaderas o falsas (0 y 1); sin embargo, la introducción de la lógica difusa permite que los sistemas manejen las incógnitas entre 0 y 1. [2] [6]
A diferencia de los conjuntos clásicos que permiten que los miembros estén completamente dentro o fuera, los conjuntos difusos permiten una pertenencia parcial al incorporar una "graduación" entre conjuntos. Las operaciones de lógica difusa incluyen la negación , la conjunción y la disyunción , que manejan la pertenencia entre conjuntos de datos. [5]
Las reglas difusas son enunciados lógicos que trazan la correlación entre los parámetros de entrada y salida. Establecen las reglas necesarias para rastrear las relaciones entre las variables lingüísticamente, y no serían posibles sin las variables lingüísticas . Las variables lingüísticas representan valores que normalmente no son cuantificables, lo que permite incertidumbres. [7]
Las redes neuronales son modelos computacionales que intentan imitar la estructura y el funcionamiento del cerebro humano . Mientras que las computadoras suelen utilizar lógica binaria para resolver problemas, las redes neuronales intentan brindar soluciones a problemas complicados al permitir que los sistemas piensen como los humanos, lo cual es esencial para la computación blanda. [8]
Las redes neuronales giran en torno a los perceptrones , que son neuronas artificiales estructuradas en capas. Al igual que el cerebro humano, estos nodos interconectados procesan la información mediante operaciones matemáticas complicadas. [9]
Mediante el entrenamiento, la red maneja los flujos de datos de entrada y salida y ajusta los parámetros de acuerdo con la información proporcionada. Las redes neuronales ayudan a que la computación blanda sea extraordinariamente flexible y capaz de manejar problemas de alto nivel.
En la informática blanda, las redes neuronales ayudan en el reconocimiento de patrones, el modelado predictivo y el análisis de datos. También se utilizan en el reconocimiento de imágenes , el procesamiento del lenguaje natural , el reconocimiento de voz y los sistemas . [3] [10]
La computación evolutiva es un campo de la computación blanda que utiliza los principios de la selección natural y la evolución para resolver problemas complejos. Promueve el descubrimiento de diversas soluciones dentro de un espacio de soluciones, fomentando soluciones casi perfectas. Encuentra soluciones satisfactorias mediante el uso de modelos computacionales y tipos de algoritmos evolutivos. La computación evolutiva consiste en algoritmos que imitan la selección natural, como los algoritmos genéticos , la programación genética y la programación evolutiva . Estos algoritmos utilizan el cruce , la mutación y la selección . [11]
El cruce o recombinación intercambia datos entre nodos para diversificarlos y manejar más resultados. La mutación es una técnica genética que ayuda a prevenir la conclusión prematura de una solución subóptima al diversificar toda una gama de soluciones. Ayuda a encontrar nuevas soluciones óptimas en conjuntos de soluciones que ayudan al proceso de optimización general. La selección es un operador que elige qué solución de una población actual se ajusta lo suficiente para pasar a la siguiente fase. Estos impulsan la programación genética para encontrar soluciones óptimas al garantizar la supervivencia solo de las soluciones más aptas en un conjunto.
En la computación blanda, la computación evolutiva ayuda a las aplicaciones de minería de datos (utilizando grandes conjuntos de datos para encontrar patrones), robótica , optimización y métodos de ingeniería. [3] [5]
Los sistemas de inteligencia híbrida combinan las fortalezas de los componentes de computación blanda para crear modelos computacionales integrados. Las técnicas artificiales como la lógica difusa, las redes neuronales y la computación evolutiva se combinan para resolver problemas de manera eficiente. Estos sistemas mejoran el juicio, la resolución de problemas y el análisis de datos . Los sistemas de inteligencia híbrida ayudan a superar las limitaciones de los enfoques de IA individuales para mejorar el rendimiento, la precisión y la adaptabilidad para abordar problemas dinámicos . Avanza las capacidades de computación blanda en el análisis de datos, el reconocimiento de patrones y los sistemas. [12]
Debido a su versatilidad dinámica, los modelos de soft computing son herramientas valiosas para afrontar problemas complejos del mundo real. Son aplicables en numerosos sectores y campos de investigación:
La lógica difusa y las redes neuronales de la computación blanda ayudan con el reconocimiento de patrones, el procesamiento de imágenes y la visión artificial. Su versatilidad es vital en el procesamiento del lenguaje natural , ya que ayuda a descifrar las emociones y el lenguaje humanos. También ayudan en la minería de datos y el análisis predictivo al obtener información invaluable de enormes conjuntos de datos. La computación blanda ayuda a optimizar soluciones en los ámbitos de la energía, las previsiones financieras , el modelado de datos ambientales y biológicos y cualquier cosa que tenga que ver con modelos o los requiera. [12] [13]
Dentro del ámbito médico, el soft computing está revolucionando la detección de enfermedades, creando planes para tratar a los pacientes y modelos de atención sanitaria . [10]
Los métodos de computación blanda, como las redes neuronales y los modelos difusos, son complicados y pueden necesitar una aclaración. A veces, es necesario un esfuerzo para comprender la lógica detrás de las decisiones de los algoritmos de redes neuronales, lo que dificulta que un usuario los adopte. Además, se necesitan recursos valiosos y costosos para alimentar los modelos con conjuntos de datos extensos y, a veces, es imposible adquirir los recursos computacionales necesarios. También existen importantes limitaciones de hardware que limitan la potencia computacional. [8]