stringtranslate.com

Computación lateral

La computación lateral es un enfoque de pensamiento lateral para resolver problemas informáticos. El pensamiento lateral ha sido popularizado por Edward de Bono . [1] Esta técnica de pensamiento se aplica para generar ideas creativas y resolver problemas. De manera similar, al aplicar técnicas de computación lateral a un problema, puede resultar mucho más fácil llegar a una solución computacionalmente económica, fácil de implementar, eficiente, innovadora o no convencional.

El enfoque tradicional o convencional para resolver problemas informáticos es construir modelos matemáticos o tener una estructura SI-ENTONCES-ELSE . Por ejemplo, en muchos motores de ajedrez se utiliza una búsqueda de fuerza bruta , [2] pero este enfoque es computacionalmente costoso y, en ocasiones, puede llegar a soluciones deficientes. Es para problemas como este que la computación lateral puede resultar útil para encontrar una mejor solución.

Se puede utilizar un problema sencillo de marcha atrás de un camión para ilustrar el cálculo lateral [ se necesita aclaración ] . [ cita necesaria ] Esta es una de las tareas difíciles para las técnicas informáticas tradicionales y se ha resuelto de manera eficiente mediante el uso de lógica difusa (que es una técnica de computación lateral). [ cita necesaria ] La computación lateral a veces llega a una solución novedosa para un problema informático particular utilizando el modelo de cómo los seres vivos, como los humanos, las hormigas y las abejas, resuelven un problema; cómo se forman los cristales puros mediante recocido, evolución de seres vivos o mecánica cuántica, etc. [ aclaración necesaria ]

Del pensamiento lateral a la computación lateral

El pensamiento lateral es una técnica de pensamiento creativo para resolver problemas. [1] El cerebro como centro del pensamiento tiene un sistema de información autoorganizado. Tiende a crear patrones y el proceso de pensamiento tradicional los utiliza para resolver problemas. La técnica del pensamiento lateral propone escapar de este patrón para llegar a mejores soluciones a través de nuevas ideas. El uso provocativo del procesamiento de la información es el principio básico subyacente del pensamiento lateral,

El operador provocativo (PO) es algo que caracteriza el pensamiento lateral. Su función es generar nuevas ideas mediante provocación y proporcionar una vía de escape a las viejas ideas. Crea una disposición provisional de la información.

La lógica del agua se contrapone a la lógica tradicional o del rock. [3] La lógica del agua tiene límites que dependen de las circunstancias y condiciones, mientras que la lógica de las rocas tiene límites estrictos. La lógica del agua, en cierto modo, se parece a la lógica difusa .

Transición a la computación lateral

La computación lateral hace un uso provocativo del procesamiento de información similar al pensamiento lateral. Esto se explica con el uso de la computación evolutiva, que es una técnica de computación lateral muy útil. La evolución se produce por cambio y selección. Si bien la mutación aleatoria proporciona cambios, la selección se realiza mediante la supervivencia del más apto . La mutación aleatoria funciona como un provocativo procesamiento de información y proporciona una nueva vía para generar mejores soluciones al problema informático. El término "Computación lateral" fue propuesto por primera vez por el profesor CR SUTHIKSHN Kumar y en diciembre de 2004 se organizó el Primer Congreso Mundial sobre Computación Lateral WCLC 2004 con participantes internacionales.

La computación lateral toma analogías de ejemplos del mundo real como:

Factores diferenciadores de la "computación lateral":

Convención – lateral

Es muy difícil trazar una frontera clara entre la computación convencional y la lateral. Con el tiempo, algunas técnicas informáticas no convencionales se convierten en parte integral de la informática convencional. Por tanto, siempre habrá una superposición entre la computación convencional y la lateral. Será una tarea difícil clasificar una técnica de computación como técnica de computación convencional o lateral, como se muestra en la figura. Los límites son borrosos y uno puede acercarse con conjuntos borrosos.

Definicion formal

La computación lateral es un conjunto difuso de todas las técnicas informáticas que utilizan un enfoque informático no convencional. Por tanto, la computación lateral incluye aquellas técnicas que utilizan computación semiconvencional o híbrida. El grado de membresía de las técnicas de computación lateral es mayor que 0 en el conjunto difuso de técnicas de computación no convencionales.

A continuación se destacan algunos diferenciadores importantes para la computación lateral.

Computación convencional
Computación lateral

Computación lateral y computación paralela

La computación paralela se centra en mejorar el rendimiento de las computadoras/algoritmos mediante el uso de varios elementos informáticos (como elementos de procesamiento). [4] La velocidad de cálculo se mejora mediante el uso de varios elementos informáticos. La computación paralela es una extensión de la computación secuencial convencional. Sin embargo, en la computación lateral, el problema se resuelve mediante un procesamiento de información no convencional, ya sea mediante computación secuencial o paralela.

Una revisión de las técnicas de computación lateral.

Existen varias técnicas informáticas que se ajustan al paradigma de informática lateral. A continuación se ofrece una breve descripción de algunas de las técnicas de Computación Lateral:

Inteligencia de enjambre

La inteligencia de enjambre (IS) es propiedad de un sistema mediante el cual los comportamientos colectivos de agentes (poco sofisticados), que interactúan localmente con su entorno, provocan que surjan patrones globales funcionales coherentes. [ se necesita aclaración ] [5] SI proporciona una base con la que es posible explorar la resolución colectiva (o distribuida) de problemas sin control centralizado o la provisión de un modelo global.

Una técnica inteligente de enjambre interesante es el algoritmo Ant Colony : [6]

Sistemas basados ​​en agentes

Los agentes son sistemas informáticos encapsulados que están situados en algún entorno y son capaces de realizar acciones flexibles y autónomas en ese entorno para cumplir sus objetivos de diseño. [ se necesita aclaración ] [7] Los agentes se consideran autónomos (independientes, no controlables), reactivos (respondiendo a eventos), proactivos (iniciando acciones por su propia voluntad) y sociales (comunicativos). Los agentes varían en sus capacidades: pueden ser estáticos o móviles, o pueden ser inteligentes o no. Cada agente puede tener su propia tarea y/o rol. Los agentes y los sistemas multiagente se utilizan como metáfora para modelar procesos distribuidos complejos. Estos agentes invariablemente necesitan interactuar entre sí para gestionar sus interdependencias . Estas interacciones involucran agentes que cooperan, negocian y coordinan entre sí.

Los sistemas basados ​​en agentes son programas informáticos que intentan simular diversos fenómenos complejos mediante "agentes" virtuales que representan los componentes de un sistema empresarial. Los comportamientos de estos agentes están programados con reglas que describen de manera realista cómo se realizan los negocios. A medida que agentes individuales muy variados interactúan en el modelo, la simulación muestra cómo sus comportamientos colectivos gobiernan el desempeño de todo el sistema; por ejemplo, la aparición de un producto exitoso o un cronograma óptimo. Estas simulaciones son poderosas herramientas estratégicas para el análisis de escenarios hipotéticos: a medida que los gerentes cambian las características o “reglas” de los agentes, el impacto del cambio se puede ver fácilmente en el resultado del modelo.

Computación grid

Por analogía , una red computacional es una infraestructura de hardware y software que proporciona acceso confiable, consistente, generalizado y económico a capacidades computacionales de alto nivel. [8] Las aplicaciones de la computación grid se encuentran en:

Computación autónoma

El sistema nervioso autónomo gobierna nuestro ritmo cardíaco y temperatura corporal, liberando así a nuestro cerebro consciente de la carga de lidiar con estas y muchas otras funciones de bajo nivel, pero vitales. La esencia de la informática autónoma es la autogestión, cuyo objetivo es liberar a los administradores del sistema de los detalles de la operación y el mantenimiento del sistema. [9]

Cuatro aspectos de la computación autónoma son:

Este es un gran desafío impulsado por IBM . [10]

Computación óptica

La computación óptica consiste en utilizar fotones en lugar de electrones convencionales para la computación. [11] Hay bastantes ejemplos de computadoras ópticas y su uso exitoso. [ se necesita aclaración ] Las puertas lógicas convencionales utilizan semiconductores , que utilizan electrones para transportar las señales. En el caso de las computadoras ópticas, los fotones de un haz de luz se utilizan para realizar cálculos.

Existen numerosas ventajas al utilizar dispositivos ópticos para la informática, como inmunidad a interferencias electromagnéticas , gran ancho de banda, etc.

computación de ADN

La computación del ADN utiliza hebras de ADN para codificar la instancia del problema y manipularlas utilizando técnicas comúnmente disponibles en cualquier laboratorio de biología molecular para simular operaciones que seleccionan la solución del problema, si existe.

Dado que la molécula de ADN también es un código, pero está formada por una secuencia de cuatro bases que se emparejan de forma predecible, muchos científicos han pensado en la posibilidad de crear un ordenador molecular. [ se necesita aclaración ] Estas computadoras dependen de reacciones mucho más rápidas de los nucleótidos del ADN que se unen a sus complementos, un método de fuerza bruta que tiene un enorme potencial para crear una nueva generación de computadoras que serían 100 mil millones de veces más rápidas que la PC más rápida de la actualidad. La computación del ADN ha sido anunciada como el "primer ejemplo de verdadera nanotecnología ", [ cita necesaria ] e incluso el "comienzo de una nueva era", [ cita necesaria ] que forja un vínculo sin precedentes entre las ciencias de la computación y las ciencias de la vida.

Aplicaciones de ejemplo de la computación del ADN son una solución para el problema de la ruta hamiltoniana , que es un NP conocido [ se necesita aclaración ] completo. El número de operaciones de laboratorio necesarias que utilizan ADN crece linealmente con el número de vértices del gráfico. [ se necesita aclaración ] [12] Se han informado algoritmos moleculares que resuelven el problema criptográfico en un número polinómico de pasos. Como se sabe, factorizar números grandes es un problema relevante en muchas aplicaciones criptográficas.

Computación cuántica

En una computadora cuántica , la unidad fundamental de información (llamada bit cuántico o qubit ), no es de naturaleza binaria sino más bien cuaternaria . [13] [14] Esta propiedad del qubit surge como consecuencia directa de su adherencia a las leyes de la mecánica cuántica, que difieren radicalmente de las leyes de la física clásica. Un qubit puede existir no sólo en un estado correspondiente al estado lógico 0 o 1 como en un bit clásico, sino también en estados correspondientes a una combinación o superposición cuántica de estos estados clásicos. En otras palabras, un qubit puede existir como cero, uno o simultáneamente como 0 y 1, con un coeficiente numérico que representa la probabilidad de cada estado. Una computadora cuántica manipula qubits ejecutando una serie de puertas cuánticas , cada una de las cuales es una transformación unitaria que actúa sobre un solo qubit o un par de qubits. Al aplicar estas puertas en sucesión, una computadora cuántica puede realizar una complicada transformación unitaria en un conjunto de qubits en algún estado inicial.

Computación reconfigurable

Los conjuntos de puertas programables en campo (FPGA) están haciendo posible la construcción de computadoras verdaderamente reconfigurables . [15] La arquitectura de la computadora se transforma mediante la reconfiguración sobre la marcha de los circuitos FPGA. La combinación óptima entre arquitectura y algoritmo mejora el rendimiento de la computadora reconfigurable. La característica clave es el rendimiento del hardware y la flexibilidad del software.

Para varias aplicaciones, como la comparación de huellas dactilares, la comparación de secuencias de ADN, etc., se ha demostrado que las computadoras reconfigurables funcionan varios órdenes de magnitud mejor que las computadoras convencionales. [dieciséis]

Recocido simulado

El algoritmo de recocido simulado se diseña observando cómo se forman los cristales puros a partir de un estado gaseoso calentado mientras el sistema se enfría lentamente. [17] El problema informático se rediseña como un ejercicio de recocido simulado y se llega a las soluciones. El principio de funcionamiento del recocido simulado se toma prestado de la metalurgia: se calienta una pieza de metal (los átomos reciben agitación térmica) y luego se deja que el metal se enfríe lentamente. El enfriamiento lento y regular del metal permite que los átomos se deslicen progresivamente hasta sus posiciones más estables ("mínima energía"). (Un enfriamiento rápido los habría "congelado" en cualquier posición en la que se encontraran en ese momento). La estructura resultante del metal es más fuerte y estable. Al simular el proceso de recocido dentro de un programa de computadora, es posible encontrar respuestas a problemas difíciles y muy complejos. En lugar de minimizar la energía de un bloque de metal o maximizar su resistencia, el programa minimiza o maximiza algún objetivo relevante para el problema en cuestión.

Computación suave

Uno de los componentes principales de la "computación lateral" es la computación blanda , que aborda problemas con el modelo de procesamiento de información humana. [18] La técnica Soft Computing comprende lógica difusa, neurocomputación, computación evolutiva, aprendizaje automático y computación probabilístico-caótica.

Neurocomputación

En lugar de resolver un problema creando un modelo de ecuación no lineal del mismo, se utiliza la analogía de la red neuronal biológica para resolver el problema. [19] La red neuronal está entrenada como un cerebro humano para resolver un problema determinado. Este enfoque ha resultado muy exitoso en la solución de algunos de los problemas de reconocimiento de patrones .

Computación evolutiva

El algoritmo genético (GA) se asemeja a la evolución natural para proporcionar una optimización universal. [20] Los algoritmos genéticos comienzan con una población de cromosomas que representan las distintas soluciones. Las soluciones se evalúan utilizando una función de aptitud y un proceso de selección determina qué soluciones se utilizarán para el proceso de competencia. Estos algoritmos tienen mucho éxito en la resolución de problemas de búsqueda y optimización. Las nuevas soluciones se crean utilizando principios evolutivos como la mutación y el cruce.

Lógica difusa

La lógica difusa se basa en los conceptos de conjuntos difusos propuestos por Lotfi Zadeh . [21] El concepto de grado de membresía es fundamental para los conjuntos difusos. Los conjuntos difusos se diferencian de los conjuntos nítidos en que permiten que un elemento pertenezca a un conjunto hasta cierto punto (grado de pertenencia). Este enfoque encuentra buenas aplicaciones para problemas de control. [22] La lógica difusa ha encontrado enormes aplicaciones y ya ha encontrado una gran presencia en el mercado de la electrónica de consumo, como lavadoras, microondas, teléfonos móviles, televisores, videocámaras, etc.

Computación probabilística/caótica

Motores de cálculo probabilístico, por ejemplo, uso de modelos gráficos probabilísticos como la red bayesiana . Estas técnicas computacionales se denominan aleatorización y producen algoritmos probabilísticos. Cuando se interpretan como un fenómeno físico a través de la termodinámica estadística clásica, estas técnicas conducen a ahorros de energía que son proporcionales a la probabilidad p con la que se garantiza que cada paso computacional primitivo sea correcto (o equivalentemente a la probabilidad de error, (1 – p). [23] La Computación Caótica se basa en la teoría del caos.

Fractales

Fractal Computing son objetos que muestran autosemejanza a diferentes escalas. [25] La generación de fractales implica pequeños algoritmos iterativos. Los fractales tienen dimensiones mayores que sus dimensiones topológicas. La longitud del fractal es infinita y su tamaño no se puede medir. Se describe mediante un algoritmo iterativo a diferencia de una forma euclidiana que viene dada por una fórmula simple. Hay varios tipos de fractales y los conjuntos de Mandelbrot son muy populares.

Los fractales han encontrado aplicaciones en el procesamiento de imágenes, compresión de imágenes, generación de música, juegos de computadora, etc. El conjunto de Mandelbrot es un fractal que lleva el nombre de su creador. A diferencia de los otros fractales, aunque el conjunto de Mandelbrot es autosimilar a escalas ampliadas, los detalles a pequeña escala no son idénticos al conjunto. Es decir, el conjunto de Mandelbrot es infinitamente complejo. Pero el proceso de generarlo se basa en una ecuación extremadamente simple. El conjunto M de Mandelbrot es una colección de números complejos. Los números Z que pertenecen a M se calculan probando iterativamente la ecuación de Mandelbrot. C es una constante. Si la ecuación converge para Z elegido , entonces Z pertenece a M. Ecuación de Mandelbrot:

Algoritmo aleatorio

Un algoritmo aleatorio toma decisiones arbitrarias durante su ejecución. Esto permite un ahorro en el tiempo de ejecución al inicio de un programa. La desventaja de este método es la posibilidad de que se produzca una solución incorrecta. Un algoritmo aleatorio bien diseñado tendrá una probabilidad muy alta de arrojar una respuesta correcta. [26] Las dos categorías de algoritmos aleatorios son:

Considere un algoritmo para encontrar el késimo elemento de una matriz. Un enfoque determinista sería elegir un elemento pivote cerca de la mediana de la lista y dividir la lista alrededor de ese elemento. El enfoque aleatorio para este problema sería elegir un pivote al azar, ahorrando así tiempo al inicio del proceso. Al igual que los algoritmos de aproximación, se pueden utilizar para resolver más rápidamente problemas difíciles de NP-completo. Sin embargo, una ventaja sobre los algoritmos de aproximación es que un algoritmo aleatorio eventualmente producirá una respuesta exacta si se ejecuta suficientes veces.

Aprendizaje automático

Los seres humanos/animales aprenden nuevas habilidades, lenguajes/conceptos. De manera similar, los algoritmos de aprendizaje automático brindan la capacidad de generalizar a partir de datos de entrenamiento. [27] Hay dos clases de aprendizaje automático (ML):

Una de las técnicas de aprendizaje automático más conocidas es el algoritmo de propagación hacia atrás. [19] Esto imita cómo los humanos aprenden de los ejemplos. Los patrones de entrenamiento se presentan repetidamente a la red. El error se propaga hacia atrás y los pesos de la red se ajustan mediante un descenso de gradiente. La red converge a través de varios cientos de cálculos iterativos.

Máquinas de vectores de soporte[28]

Esta es otra clase de técnicas de aprendizaje automático de gran éxito aplicadas con éxito a tareas como clasificación de texto, reconocimiento de locutor , reconocimiento de imágenes, etc.

Aplicaciones de ejemplo

Existen varias aplicaciones exitosas de técnicas de computación lateral. Aquí hay un pequeño conjunto de aplicaciones que ilustran la computación lateral:

Resumen

Arriba hay una revisión de las técnicas de computación lateral. La computación lateral se basa en el enfoque del pensamiento lateral y aplica técnicas no convencionales para resolver problemas informáticos. Si bien la mayoría de los problemas se resuelven con técnicas convencionales, hay problemas que requieren computación lateral. La computación lateral proporciona ventajas de eficiencia computacional, bajo costo de implementación y mejores soluciones en comparación con la computación convencional para varios problemas. La computación lateral aborda con éxito una clase de problemas explotando la tolerancia a la imprecisión, la incertidumbre y la verdad parcial para lograr manejabilidad, robustez y un bajo costo de solución. Las técnicas de computación lateral que utilizan modelos de procesamiento de información similares a los humanos se han clasificado como "Computación blanda" en la literatura.

La computación lateral es valiosa a la vez que resuelve numerosos problemas informáticos cuyos modelos matemáticos no están disponibles. [ cita necesaria ] Proporcionan una forma de desarrollar soluciones innovadoras que dan como resultado sistemas inteligentes con Very High Machine IQ (VHMIQ). Este artículo ha rastreado la transición del pensamiento lateral a la computación lateral. A continuación se describen varias técnicas de computación lateral seguidas de sus aplicaciones. La computación lateral sirve para construir inteligencia artificial de nueva generación basada en un procesamiento no convencional.

Ver también

Referencias

  1. ^ ab de Bono, E. (1990). Pensamiento lateral para la gestión: un manual . Libros de pingüinos. ISBN 978-0-07-094233-2.
  2. ^ Hsu, FH (2002). Detrás de Deep Blue: construyendo la computadora que derrotó al campeón mundial de ajedrez . Prensa de la Universidad de Princeton. ISBN 978-0-691-09065-8.
  3. ^ de Bono, E. (1991). Lógica del agua. Libros de pingüinos. ISBN 978-0-670-84231-5.
  4. ^ Hwang, K. (1993). Arquitectura informática avanzada: paralelismo, escalabilidad, programabilidad . McGraw-Hill Book Co., Nueva York. ISBN 978-0-07-031622-5.
  5. ^ Bonabeau, E.; Dorigo, M.; TERAULUZ, G. (1999). Inteligencia de enjambre: de los sistemas naturales a los artificiales. Prensa de la Universidad de Oxford. ISBN 978-0-19-513158-1.
  6. ^ Dorigo, M.; DI CARO, G.; Gamberella, LM (1999). Algoritmos de hormigas para optimización discreta, vida artificial . Prensa del MIT.
  7. ^ Bradshaw, JM (1997). Agentes informáticos. Prensa AAAI / Prensa MIT. ISBN 978-0-262-52234-2.
  8. ^ Fomentar, Ian (1999). "Rejillas computacionales, Capítulo 2". The Grid: Plan para una nueva infraestructura informática, Informe técnico .
  9. ^ Murch, R. (2004). Computación Autonómica . Editores Pearson. ISBN 978-0-13-144025-8.
  10. ^ "Autonómico". IBM. 2004.
  11. ^ Karim, MA; Awwal, AAS (1992). Computación óptica: una introducción . Editores Wiley. ISBN 978-0-471-52886-9.
  12. ^ Pisanti, N. (1997). Un estudio sobre la informática del ADN (informe técnico). Universidad de Pisa, Italia. TR-97-07.
  13. ^ Braunstein, S. (1999). Computación cuántica . Editores Wiley. ISBN 978-3-527-40284-7.
  14. ^ Fortnow, L. (julio de 2003). "Introducción a la Computación Cuántica desde la perspectiva informática y actividades de revisión". Investigación y desarrollo de NEC . 44 (3): 268–272.
  15. ^ Suthikshn, Kumaryear = 1996. Neurocomputadoras reconfigurables: creación rápida de prototipos y síntesis de diseño de redes neuronales artificiales para matrices de puertas programables de campo (informe técnico). Universidad de Melbourne, Australia. Tesis doctoral.{{cite tech report}}: Mantenimiento CS1: nombres numéricos: lista de autores ( enlace )
  16. ^ Compton y Hauck, 2002
  17. ^ Artes y Krost, 1997
  18. ^ Procedimiento IEEE, 2001
  19. ^ ab Masters, T. (1995). Algoritmo neuronal, novedoso e híbrido para la predicción de series temporales . Editores John Wiley and Sons.
  20. ^ ab Goldberg, DE (2000). Algoritmos Genéticos en búsqueda, optimización y Machine Learning . Editores de Addison Wesley. ISBN 978-0-201-15767-3.
  21. ^ Ross, 1997
  22. ^ abc Kosko, B. (1997). Redes neuronales y sistemas difusos: un enfoque de sistemas dinámicos para la inteligencia artificial . Editores de Prentice Hall. ISBN 978-0-13-611435-2.
  23. ^ Palem, 2003
  24. ^ Gleick, 1998
  25. ^ Mandelbrot, 1977
  26. ^ Motwani y Raghavan, 1995
  27. ^ Mitchell, 1997
  28. ^ Joaquín, 2002
  29. ^ SUTHIKSHN, KUMAR (junio de 2003). "Sintonizador de volumen inteligente para teléfonos móviles". Comunicaciones inalámbricas IEEE . 11 (4): 44–49. doi :10.1109/MWC.2004.1308949. S2CID  5711655.
  30. ^ Garey y Johnson, 1979
  31. ^ Aarts y Krost, 1997
  32. ^ Koza y otros, 2003

Fuentes

Conferencias