La computación lateral es un enfoque de pensamiento lateral para resolver problemas informáticos . Edward de Bono popularizó el pensamiento lateral . [ 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 computacionales consiste en construir modelos matemáticos o utilizar una estructura IF-THEN-ELSE . Por ejemplo, muchos motores de ajedrez emplean la búsqueda por fuerza bruta [ 2 ] , pero este enfoque es computacionalmente costoso y, en ocasiones, puede generar soluciones deficientes. Es para problemas como este que la computación lateral puede ser útil para encontrar una mejor solución.
Un ejemplo sencillo de maniobra de marcha atrás con un camión puede ilustrar la computación lateral . Esta es una de las tareas más difíciles para las técnicas de computación tradicionales, y se ha resuelto eficazmente mediante la lógica difusa (una técnica de computación lateral). La computación lateral a veces llega a una solución novedosa para un problema de computación específico 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, la evolución de los seres vivos o la mecánica cuántica, entre otros.
Del pensamiento lateral a la computación lateral
El pensamiento lateral es una técnica de pensamiento creativo para la resolución de problemas. [ 1 ] El cerebro, como centro del pensamiento, posee 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 estos patrones para llegar a mejores soluciones a través de nuevas ideas. El uso provocador del procesamiento de la información es el principio subyacente básico del pensamiento lateral.
El operador provocador (OP) es un elemento característico del pensamiento lateral. Su función es generar nuevas ideas mediante la provocación y ofrecer una vía de escape de las ideas preconcebidas. Crea una disposición provisional de la información.
La lógica del agua contrasta con la lógica tradicional o de las rocas . [ 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 rígidos. La lógica del agua, en cierto modo, se asemeja a la lógica difusa .
Transición a la computación lateral
La computación lateral hace un uso provocador del procesamiento de la información, similar al pensamiento lateral. Esto se explica mediante el uso de la computación evolutiva, una técnica muy útil de computación lateral. La evolución se produce mediante el cambio y la selección. Si bien la mutación aleatoria genera el cambio, la selección se realiza mediante la supervivencia del más apto . La mutación aleatoria funciona como un procesamiento de información provocador y proporciona una nueva vía para generar mejores soluciones al problema computacional. El término "Computación Lateral" fue propuesto por primera vez por el Prof. CR SUTHIKSHN Kumar, y el Primer Congreso Mundial sobre Computación Lateral (WCLC 2004) se organizó con participantes internacionales en diciembre de 2004.
La computación lateral toma analogías de ejemplos del mundo real como:
- Cómo el enfriamiento lento del estado gaseoso caliente da como resultado cristales puros ( recocido )
- Cómo las redes neuronales del cerebro resuelven problemas como el reconocimiento facial y del habla.
- Cómo insectos simples como las hormigas y las abejas resuelven algunos problemas complejos.
- Cómo la evolución de los seres humanos a partir de formas de vida moleculares se imita mediante la computación evolutiva.
- Cómo los organismos vivos se defienden de las enfermedades y curan sus heridas.
- Cómo se distribuye la electricidad mediante las redes eléctricas
Factores diferenciadores de la "computación lateral":
- No aborda el problema directamente mediante métodos matemáticos.
- Utiliza modelos indirectos o busca analogías para resolver el problema.
- Es radicalmente diferente de lo que está de moda, como el uso de fotones para la computación óptica. Esto es poco común, ya que la mayoría de las computadoras convencionales utilizan electrones para transmitir señales.
- En ocasiones, las técnicas de computación lateral son sorprendentemente sencillas y ofrecen soluciones de alto rendimiento para problemas muy complejos.
- Algunas técnicas de computación lateral utilizan "saltos inexplicables". Estos saltos pueden parecer ilógicos. Un ejemplo de ello es el uso del operador "Mutación" en los algoritmos genéticos.
Convención – lateral
Resulta muy difícil trazar una línea divisoria clara entre la computación convencional y la lateral. Con el tiempo, algunas técnicas de computación no convencionales se integran a la computación convencional. Por lo tanto, siempre existirá una superposición entre ambas. Clasificar una técnica de computación como convencional o lateral, como se muestra en la figura, será una tarea compleja. Los límites son difusos y se puede abordar el problema mediante conjuntos difusos.
Definición formal
La computación lateral es un conjunto difuso de todas las técnicas de computación que utilizan un enfoque no convencional. Por lo tanto, la computación lateral incluye aquellas técnicas que emplean computación semiconvencional o híbrida. El grado de pertenencia 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 factores diferenciadores importantes para la computación lateral.
- Computación convencional
- El problema y la técnica están directamente correlacionados .
- Aborda el problema con un análisis matemático riguroso.
- Crea modelos matemáticos.
- La técnica de cálculo puede analizarse matemáticamente.
- Computación lateral
- Es posible que el problema no tenga ninguna relación con la técnica de computación utilizada.
- Aborda los problemas mediante analogías como el modelo de procesamiento de información humana, el recocido simulado , etc.
- En ocasiones, la técnica de cálculo no puede analizarse matemáticamente.
Computación lateral y computación paralela
La computación paralela se centra en mejorar el rendimiento de los ordenadores/algoritmos mediante el uso de varios elementos de computación (como elementos de procesamiento). [ 4 ] La velocidad de computación mejora al utilizar varios elementos de computación. 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 utilizando 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 diversas técnicas informáticas que se ajustan al paradigma de la computación lateral. A continuación, se presenta una breve descripción de algunas de estas técnicas:
Inteligencia de enjambre
La inteligencia de enjambre (IE) es la propiedad de un sistema por la cual los comportamientos colectivos de agentes (no sofisticados), que interactúan localmente con su entorno, provocan la aparición de patrones globales funcionales coherentes. [ 5 ] La IE proporciona una base que permite explorar la resolución colectiva (o distribuida) de problemas sin control centralizado ni la provisión de un modelo global.
Una técnica interesante de inteligencia colectiva es el algoritmo de colonia de hormigas : [ 6 ]
- Las hormigas tienen un comportamiento poco sofisticado; en conjunto, realizan tareas complejas. Poseen una comunicación basada en signos altamente desarrollada y sofisticada.
- Las hormigas se comunican mediante feromonas; dejan rastros que otras hormigas pueden seguir.
- Problema de enrutamiento: Las hormigas dejan caer diferentes feromonas que se utilizan para calcular la ruta "más corta" desde el origen hasta el destino o destinos.
Sistemas basados en agentes
Los agentes son sistemas informáticos encapsulados que se ubican en un entorno determinado y son capaces de actuar de forma flexible y autónoma en dicho entorno para cumplir con sus objetivos de diseño. [ 7 ] Se considera que los agentes son autónomos (independientes, no controlables), reactivos (que responden a eventos), proactivos (que inician acciones por voluntad propia) y sociales (que se comunican). 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 necesitan invariablemente interactuar entre sí para gestionar sus interdependencias . Estas interacciones implican que los agentes cooperen, negocien y se coordinen 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. El comportamiento de estos agentes se programa con reglas que describen de forma realista cómo se lleva a cabo un negocio. A medida que los agentes individuales, muy diversos entre sí, interactúan en el modelo, la simulación muestra cómo sus comportamientos colectivos rigen el rendimiento de todo el sistema; por ejemplo, el surgimiento de un producto exitoso o una planificación óptima. Estas simulaciones son herramientas estratégicas poderosas para el análisis de escenarios hipotéticos: cuando los gerentes modifican las características o las "reglas" de los agentes, el impacto del cambio se puede observar fácilmente en los resultados del modelo.
computación en malla
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 en red se encuentran en:
- Diseño de chips, problemas criptográficos , instrumentación médica y supercomputación .
- Las aplicaciones de supercomputación distribuida utilizan redes para agregar recursos computacionales sustanciales con el fin de abordar problemas que no pueden resolverse en un solo sistema.
computación autónoma
El sistema nervioso autónomo regula nuestra frecuencia cardíaca y temperatura corporal, liberando así a nuestro cerebro consciente de la carga de gestionar estas y muchas otras funciones de bajo nivel, pero vitales. La esencia de la computación autónoma es la autogestión, cuyo objetivo es liberar a los administradores de sistemas de los detalles de la operación y el mantenimiento del sistema. [ 9 ]
Cuatro aspectos de la computación autónoma son:
- Autoconfiguración
- Autooptimización
- Autosanación
- Autoprotección
computación óptica
La computación óptica utiliza fotones en lugar de electrones convencionales para realizar cálculos. [ 11 ] Existen numerosos ejemplos de computadoras ópticas y su uso exitoso. Las compuertas lógicas convencionales utilizan semiconductores , que emplean electrones para la transmisión de señales. En el caso de las computadoras ópticas, se utilizan los fotones de un haz de luz para realizar los cálculos.
El uso de dispositivos ópticos para la computación presenta numerosas ventajas, como la inmunidad a las interferencias electromagnéticas , un gran ancho de banda, etc.
computación de ADN
La computación basada en ADN utiliza hebras de ADN para codificar la instancia del problema y manipularlas mediante técnicas comúnmente disponibles en cualquier laboratorio de biología molecular, con el fin de simular operaciones que seleccionen la solución del problema, si esta existe.
Dado que la molécula de ADN también es un código, pero está compuesta por una secuencia de cuatro bases que se emparejan de forma predecible, muchos científicos han considerado la posibilidad de crear una computadora molecular. Estas computadoras se basan en las reacciones mucho más rápidas de los nucleótidos de ADN al unirse con sus complementos, un método de fuerza bruta que encierra 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 veloz de la actualidad. La computación de ADN ha sido aclamada como el "primer ejemplo de verdadera nanotecnología " e incluso como el "inicio de una nueva era", que forja un vínculo sin precedentes entre la informática y las ciencias de la vida.
Ejemplos de aplicaciones de la computación de ADN se encuentran en la solución del problema del camino hamiltoniano , que es un problema NP-completo conocido. El número de operaciones de laboratorio requeridas utilizando ADN crece linealmente con el número de vértices del grafo. [ 12 ] Se ha informado que los algoritmos moleculares resuelven el problema criptográfico en un número polinomial de pasos. Como es sabido, la factorización de 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 cúbit ) no es binaria, sino de naturaleza cuaternaria . [ 13 ] [ 14 ] Esta propiedad del cúbit surge como consecuencia directa de su adhesión a las leyes de la mecánica cuántica, que difieren radicalmente de las leyes de la física clásica. Un cúbit puede existir no solo 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 mezcla o superposición cuántica de estos estados clásicos. En otras palabras, un cúbit puede existir como cero, como 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 los cúbits ejecutando una serie de puertas cuánticas , cada una una transformación unitaria que actúa sobre un solo cúbit o un par de cúbits. Al aplicar estas puertas sucesivamente, una computadora cuántica puede realizar una transformación unitaria compleja a un conjunto de cúbits en algún estado inicial.
Computación reconfigurable
Los arreglos de puertas programables en campo (FPGA) permiten construir computadoras verdaderamente reconfigurables . [ 15 ] La arquitectura de la computadora se transforma mediante la reconfiguración dinámica de los circuitos FPGA. La combinación óptima entre arquitectura y algoritmo mejora el rendimiento de la computadora reconfigurable. La clave reside en 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 tienen un rendimiento varios órdenes de magnitud superior al de las computadoras convencionales. [ 16 ]
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 computacional se rediseña como un ejercicio de recocido simulado y se obtienen las soluciones. El principio de funcionamiento del recocido simulado se toma prestado de la metalurgia: se calienta una pieza de metal (los átomos se someten a agitación térmica) y luego se deja enfriar lentamente. El enfriamiento lento y regular del metal permite que los átomos se deslicen progresivamente hacia sus posiciones más estables ("de mínima energía"). (Un enfriamiento rápido los habría "congelado" en la 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 informático, 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 blanda
Uno de los componentes principales de la "computación lateral" es la computación blanda , que aborda los problemas con el modelo de procesamiento de información humana. [ 18 ] La técnica de computación blanda comprende lógica difusa, neurocomputación, computación evolutiva, aprendizaje automático y computación probabilística-caótica.
Neurocomputación
En lugar de resolver un problema mediante la creación de un modelo de ecuación no lineal, se utiliza la analogía de la red neuronal biológica. [ 19 ] La red neuronal se entrena como un cerebro humano para resolver un problema determinado. Este enfoque ha tenido mucho éxito en la resolución de algunos problemas de reconocimiento de patrones .
computación evolutiva
El algoritmo genético (AG) imita la evolución natural para proporcionar una optimización universal. [ 20 ] Los algoritmos genéticos parten de una población de cromosomas que representan las diversas soluciones. Estas soluciones se evalúan mediante una función de aptitud y un proceso de selección determina cuáles se utilizarán en la competencia. Estos algoritmos son muy eficaces para resolver problemas de búsqueda y optimización. Las nuevas soluciones se crean mediante 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 pertenencia es fundamental para los conjuntos difusos. Estos se diferencian de los conjuntos nítidos en que permiten que un elemento pertenezca a un conjunto en un grado determinado (grado de pertenencia). Este enfoque tiene buenas aplicaciones en problemas de control. [ 22 ] La lógica difusa ha encontrado numerosas aplicaciones y ya tiene 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 computación probabilística, por ejemplo, el uso de modelos gráficos probabilísticos como la red bayesiana . Estas técnicas computacionales se denominan aleatorización y dan lugar a 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 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. [ 24 ]
Fractales
Los fractales computacionales son objetos que muestran autosimilitud 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 se define mediante una fórmula simple. Existen varios tipos de fractales y los conjuntos de Mandelbrot son muy populares.
Los fractales han encontrado aplicaciones en el procesamiento de imágenes, la compresión de imágenes, la generación de música, los videojuegos, etc. El conjunto de Mandelbrot es un fractal que recibe su nombre de su creador. A diferencia de otros fractales, aunque el conjunto de Mandelbrot es autosimilar a escalas ampliadas, los detalles a pequeña escala no son idénticos al conjunto completo. Es decir, el conjunto de Mandelbrot es infinitamente complejo. Sin embargo, el proceso de generación se basa en una ecuación extremadamente simple. El conjunto de Mandelbrot M 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 un 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 ahorrar tiempo de ejecución al inicio del 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 devolver una respuesta correcta. [ 26 ] Las dos categorías de algoritmos aleatorios son:
Consideremos un algoritmo para encontrar el k -ésimo elemento de un arreglo. Un enfoque determinista sería elegir un elemento pivote cerca de la mediana de la lista y particionar la lista alrededor de ese elemento. El enfoque aleatorio para este problema sería elegir un pivote al azar, ahorrando así tiempo al comienzo del proceso. Al igual que los algoritmos de aproximación, se pueden usar para resolver más rápidamente problemas NP-completos difíciles. Sin embargo, una ventaja sobre los algoritmos de aproximación es que un algoritmo aleatorio eventualmente dará 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 proporcionan la capacidad de generalizar a partir de datos de entrenamiento. [ 27 ] Existen dos clases de aprendizaje automático (ML):
- Aprendizaje automático supervisado
- Aprendizaje automático no supervisado
Una de las técnicas de aprendizaje automático más conocidas es el algoritmo de retropropagación. [ 19 ] Este algoritmo imita cómo los humanos aprenden a partir de ejemplos. Los patrones de entrenamiento se presentan repetidamente a la red. El error se retropropaga y los pesos de la red se ajustan mediante el descenso de gradiente. La red converge tras cientos de iteraciones.
Máquinas de vectores de soporte
Esta es otra clase de técnicas de aprendizaje automático muy exitosas aplicadas con éxito a tareas como la clasificación de texto, el reconocimiento de locutores , el reconocimiento de imágenes, etc. [ 28 ]
Ejemplos de aplicaciones
Existen varias aplicaciones exitosas de las técnicas de computación lateral. A continuación, se presenta un pequeño conjunto de aplicaciones que ilustran la computación lateral:
- Ordenación de burbuja : En este método, el problema computacional de la ordenación se aborda mediante una analogía con burbujas que ascienden en el agua. Esto se logra tratando los números como burbujas y dejándolas flotar hasta su posición natural.
- Problema de marcha atrás de un camión: Este es un problema interesante que consiste en dar marcha atrás a un camión y estacionarlo en un lugar determinado. Las técnicas de computación tradicionales han tenido dificultades para resolver este problema. Este problema se ha resuelto con éxito mediante un sistema difuso. [ 22 ]
- Equilibrio de un péndulo invertido: Este problema implica el equilibrio de un péndulo invertido. Este problema se ha resuelto eficientemente mediante redes neuronales y sistemas difusos. [ 22 ]
- Control de volumen inteligente para teléfonos móviles: El control de volumen en los teléfonos móviles depende de los niveles de ruido ambiental, las clases de ruido, el perfil auditivo del usuario y otros parámetros. La medición del nivel de ruido y la sonoridad implican imprecisiones y medidas subjetivas. Los autores han demostrado el uso exitoso de un sistema de lógica difusa para el control de volumen en teléfonos móviles. [ 29 ]
- Optimización mediante algoritmos genéticos y recocido simulado : Se ha demostrado que problemas como el del viajante son problemas NP-completos . [ 30 ] Estos problemas se resuelven mediante algoritmos que se benefician de heurísticas. Algunas de sus aplicaciones se encuentran en el enrutamiento VLSI, la partición, etc. Los algoritmos genéticos y el recocido simulado han tenido éxito en la resolución de este tipo de problemas de optimización. [ 20 ] [ 31 ]
- Programación de lo Inprogramable (PTU) implica la creación automática de programas informáticos para dispositivos informáticos no convencionales como autómatas celulares , sistemas multiagente , sistemas paralelos , matrices de puertas programables en campo , matrices analógicas programables en campo, colonias de hormigas, inteligencia de enjambre , sistemas distribuidos y similares. [ 32 ]
Resumen
Arriba se presenta una revisión de las técnicas de computación lateral. La computación lateral se basa en el pensamiento lateral y aplica técnicas no convencionales para resolver problemas computacionales. Si bien la mayoría de los problemas se resuelven con técnicas convencionales, existen algunos que requieren computación lateral. Esta ofrece ventajas en cuanto a eficiencia computacional, bajo costo de implementación y mejores soluciones en comparación con la computación convencional para diversos problemas. La computación lateral aborda con éxito una clase de problemas aprovechando 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 para resolver numerosos problemas computacionales cuyos modelos matemáticos no están disponibles. Proporciona una forma de desarrollar soluciones innovadoras que dan como resultado sistemas inteligentes con un coeficiente intelectual de máquina muy alto (VHMIQ). Este artículo ha analizado la transición del pensamiento lateral a la computación lateral. Posteriormente, se han descrito varias técnicas de computación lateral y sus aplicaciones. La computación lateral se utiliza para construir inteligencia artificial de nueva generación basada en procesamiento no convencional.
Véase también
Referencias
- 1 2 de Bono, E. (1990). Pensamiento lateral para la gestión: un manual . Penguin Books. ISBN 978-0-07-094233-2.
- ↑ Hsu, FH (2002). Behind Deep Blue: Building the Computer That Defeated the World Chess Champion . Princeton University Press. ISBN 978-0-691-09065-8.
- ^ de Bono, E. (1991). Lógica del agua . Libros de pingüinos. ISBN 978-0-670-84231-5.
- ↑ Hwang, K. (1993). Arquitectura avanzada de computadoras: paralelismo, escalabilidad, programabilidad . McGraw-Hill Book Co., Nueva York. ISBN 978-0-07-031622-5.
- ↑ Bonabeau, E.; Dorigo, M.; THERAULUZ, G. (1999). Inteligencia de enjambre: De los sistemas naturales a los artificiales . Oxford University Press. ISBN 978-0-19-513158-1.
- ↑ Dorigo, M.; DI CARO, G.; Gamberella, LM (1999). Algoritmos de hormigas para optimización discreta, Vida artificial . MIT Press.
- ↑ Bradshaw, JM (1997). Agentes de software . AAAI Press/The MIT Press. ISBN 978-0-262-52234-2.
- ↑ Foster, Ian (1999). "Redes computacionales, Capítulo 2". La red: Plan para una nueva infraestructura informática, Informe técnico .
- ↑ Murch, R. (2004). Computación autónoma . Pearson Publishers. ISBN 978-0-13-144025-8.
- ↑ "Autónomo" . IBM. 2004.
- ↑ Karim, MA; Awwal, AAS (1992). Computación óptica: una introducción . Wiley Publishers. ISBN 978-0-471-52886-9.
- ↑ Pisanti, N. (1997). Un estudio sobre la computación del ADN (Informe técnico). Universidad de Pisa, Italia. TR-97-07.
- ↑ Braunstein, S. (1999). Computación cuántica . Wiley Publishers. ISBN 978-3-527-40284-7.
- ↑ Fortnow, L. (julio de 2003). "Introducción a la computación cuántica desde la perspectiva de la informática y revisión de actividades". NEC Research and Development . 44 (3): 268– 272.
- ↑ Suthikshn, Kumar (año=1996). Neurocomputadoras reconfigurables: Prototipado rápido y síntesis de diseño de redes neuronales artificiales para matrices de puertas programables en campo (Informe técnico). Universidad de Melbourne, Australia. Tesis doctoral.
{{cite tech report}}: CS1 maint: nombres numéricos: lista de autores ( enlace ) - ↑ Compton y Hauck, 2002
- ↑ Arts y Krost, 1997
- ↑ Actas del IEEE, 2001
- 1 2 Masters, T. (1995). Algoritmo neuronal, novedoso e híbrido para la predicción de series temporales . John Wiley and Sons Publishers.
- 1 2 Goldberg, DE (2000). Algoritmos genéticos en búsqueda, optimización y aprendizaje automático . Addison Wesley Publishers. ISBN 978-0-201-15767-3.
- ↑ Ross, 1997
- 1 2 3 Kosko, B. (1997). Redes neuronales y sistemas difusos: Un enfoque de sistemas dinámicos para la inteligencia artificial . Prentice Hall Publishers. ISBN 978-0-13-611435-2.
- ↑ Palem, 2003
- ↑ Gleick, 1998
- ↑ Mandelbrot, 1977
- ^ Motwani y Raghavan, 1995
- ↑ Mitchell, 1997
- ↑ Joachims, 2002
- ↑ SUTHIKSHN, KUMAR (junio de 2003). "Sintonizador de volumen inteligente para teléfonos celulares". IEEE Wireless Communications . 11 (4): 44– 49. doi : 10.1109/MWC.2004.1308949 . S2CID 5711655 .
- ↑ Garey y Johnson, 1979
- ↑ Aarts y Krost, 1997
- ↑ Koza et al., 2003
Fuentes
- Suthikshn Kumar CR(2022), Algoritmos de computación lateral: libro de ejercicios para programadores, Segunda edición, 2022 Libro de algoritmos de computación lateral (último acceso: 28 de noviembre de 2022)
- de Bono, E. (2003). "Edward de Bono" . Archivado del original el 1 de febrero de 2001.
- Actas del IEEE (2001): Número especial sobre innovaciones industriales mediante computación blanda , septiembre.
- T. Ross (2004): Lógica difusa con aplicaciones de ingeniería , McGraw-Hill Inc. Publishers.
- B. Kosko (1994); Pensamiento difuso, Flamingo Publishers.
- E. Aarts y J. Krost (1997); Recocido simulado y máquinas de Boltzmann, John Wiley And Sons Publishers.
- KV Palem (2003); Computación con conciencia energética a través de conmutación probabilística: un estudio de límites , Informe técnico GIT-CC-03-16, mayo de 2003.
- M. Sima, S. Vassiliadis, S. Cotofona, JTJ Van Eijndoven y KA Vissers (2000); Una taxonomía de máquinas informáticas personalizadas, en Actas del taller Progress, octubre.
- J. Gleick (1998); Caos: Creando una nueva ciencia, Vintage Publishers.
- B. Mandelbrot (1997); La geometría fractal de la naturaleza, Freeman Publishers, Nueva York.
- DR Hofstadter (1999); Gödel, Escher, Bach: Una eterna trenza dorada , HarperCollins Publishers.
- RA Aliev y RR Aliev (2001); Computación blanda y sus aplicaciones , World Scientific Publishers.
- Jyh-Shing Roger Jang, Chuen-Tsai Sun y Eiji Mizutani (1997); Neuro-Fuzzy and Soft Computing: A Computational Approach to Learning and Machine Intelligence, Prentice Hall Publishers.
- John R. Koza, Martin A. Keane, Matthew J. Streeter, William Mydlowec, Jessen Yu y Guido Lanza (2003); Programación genética IV: Inteligencia artificial competitiva entre humanos y rutina, Kluwer Academic.
- James Allen (1995); Comprensión del lenguaje natural, 2.ª edición, Pearson Education Publishers.
- R. Herken (1995); Máquina universal de Turing, Springer-Verlag 2.ª edición.
- Harry R. Lewis, Christos H. Papadimtrou (1997); Elementos de la teoría de la computación, 2ª edición, Prentice Hall Publishers.
- M. Garey y D. Johnson (1979); Computadoras e intratabilidad: una teoría de la completitud NP, WH Freeman and Company Publishers.
- M. Sipser (2001); Introducción a la teoría de la computación, Thomson/Brooks/Cole Publishers.
- K. Compton y S. Hauck (2002); Computación reconfigurable: una revisión de sistemas y software, ACM Computing Surveys, vol. 34, n.° 2, junio de 2002, págs. 171–210.
- DW Patterson (1990); Introducción a la inteligencia artificial y los sistemas expertos, Prentice Hall Inc. Publishers.
- E. Charniak y D. McDermott (1999); Introducción a la Inteligencia Artificial, Addison Wesley.
- Hameroff, SR (1997). Ultimate Computing . Elsevier Science Publishers. ISBN 978-0-444-70283-8.
- RL Epstein y WA Carnielli (1989); Computabilidad, funciones computables, lógica y fundamentos de las matemáticas, Wadsworth & Brooks/Cole Advanced Books and Software.
- T. Joachims (2002); Aprendizaje para clasificar texto usando máquinas de vectores de soporte , Kluwer Academic Publishers.
- T. Mitchell (1997); Aprendizaje automático, McGraw Hill Publishers.
- R. Motwani y P. Raghavan (1995); Algoritmos aleatorios , Cambridge International Series in Parallel Computation, Cambridge University Press.
- Sun Microsystems (2003); Introducción a la computación de alto rendimiento, Informe técnico.
Conferencias
- Primer Congreso Mundial sobre Computación Lateral , IISc, Bangalore, India, diciembre de 2004. WCLC 2004.
- Segundo Congreso Mundial sobre Computación Lateral , WCLC 2005, PESIT, Bangalore, India
- Métodos de resolución de problemas
- Ciencia computacional