La computación lateral es un enfoque de pensamiento lateral para resolver problemas de computación . 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 de computación es construir modelos matemáticos o tener una estructura SI-ENTONCES-ELSE . Por ejemplo, una búsqueda de fuerza bruta se usa en muchos motores de ajedrez , [2] pero este enfoque es computacionalmente costoso y, a veces, puede llegar a soluciones deficientes. Es para problemas como este que la computación lateral puede ser útil para formar una mejor solución.
Se puede usar un problema simple de respaldo de camión para ilustrar la computación lateral [ aclaración necesaria ] . [ cita requerida ] Esta es una de las tareas difíciles para las técnicas de computación tradicionales, y ha sido resuelta de manera eficiente mediante el uso de lógica difusa (que es una técnica de computación lateral). [ cita requerida ] La computación lateral a veces llega a una solución novedosa para un problema de computación particular mediante el uso del modelo de cómo los seres vivos, como la forma en que los humanos, las hormigas y las abejas, resuelven un problema; cómo se forman los cristales puros por recocido, o la evolución de los seres vivos o la 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 usa 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 provocador del procesamiento de la información es el principio básico subyacente del pensamiento lateral,
El operador provocador (PO) es algo que caracteriza al pensamiento lateral. Su función es generar nuevas ideas mediante la provocación y proporcionar una vía de escape a las viejas ideas. Crea una disposición provisional de información.
La lógica del agua contrasta con la lógica tradicional o de roca . [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, de alguna manera, se parece 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 con el uso de la computación evolutiva, que es una técnica de computación lateral muy útil. La evolución procede 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 procesamiento de información provocador y proporciona una nueva vía para generar mejores soluciones para el problema informático. El término "Computación lateral" fue propuesto por primera vez por el profesor CR SUTHIKSHN Kumar y el Primer Congreso Mundial de Computación Lateral WCLC 2004 se organizó con participantes internacionales durante diciembre de 2004.
La computación lateral toma las 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 de voz
- Cómo los insectos simples como las hormigas y las abejas resuelven algunos problemas sofisticados
- Cómo la computación evolutiva imita la evolución de los seres humanos a partir de formas de vida moleculares
- Cómo los organismos vivos se defienden de las enfermedades y curan sus heridas
- Cómo se distribuye la electricidad por redes
Factores diferenciadores de la "computación lateral":
- No aborda directamente el problema por medios matemáticos.
- Utiliza modelos indirectos o busca analogías para resolver el problema.
- Radicalmente diferente de lo que está de moda, como el uso de "fotones" para la computación en la computación óptica. Esto es raro ya que la mayoría de las computadoras convencionales usan electrones para transportar señales.
- A veces, las técnicas de Computación lateral son sorprendentemente simples y ofrecen soluciones de alto rendimiento para problemas muy complejos.
- Algunas de las técnicas de computación lateral utilizan "saltos inexplicables". Es posible que estos saltos no parezcan lógicos. El ejemplo es el uso del operador "Mutación" en algoritmos genéticos.
Convención - lateral
Es muy difícil trazar un límite claro entre la computación convencional y la lateral. Durante un período de tiempo, algunas técnicas de computación no convencionales se convierten en parte integral de la computación convencional. Por lo 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 difusos y uno puede acercarse con conjuntos difusos.
Definicion formal
La computación lateral es un conjunto difuso de todas las técnicas de computación que utilizan un enfoque de computación no convencional. Por lo tanto, la computación lateral incluye aquellas técnicas que utilizan computación híbrida o semi-convencional. El grado de pertenencia a 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
- El problema y la técnica están directamente relacionados .
- Trata el problema con un análisis matemático riguroso.
- Crea modelos matemáticos.
- La técnica informática se puede analizar matemáticamente.
- Computación lateral
- El problema difícilmente puede tener relación con la técnica informática utilizada.
- Aborda los problemas mediante analogías como el modelo de procesamiento de información humana, el recocido , etc.
- A veces, la técnica informática no se puede analizar matemáticamente.
Computación lateral y computación paralela
La computación paralela se enfoca en mejorar el rendimiento de las computadoras / algoritmos mediante el uso de varios elementos de computación (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 utilizando un procesamiento de información no convencional, ya sea usando una computación secuencial o paralela.
Una revisión de las técnicas de computación lateral
Hay varias técnicas de computación que se ajustan al paradigma de computación lateral. Aquí hay una breve descripción de algunas de las técnicas de Computación lateral:
Inteligencia de enjambre
La inteligencia de enjambre (IS) es la propiedad de un sistema mediante el cual los comportamientos colectivos de agentes (no sofisticados), que interactúan localmente con su entorno, hacen que emerjan patrones globales funcionales coherentes. [ aclaración necesaria ] [5] SI proporciona una base con la que es posible explorar la resolución de problemas colectiva (o distribuida) sin un control centralizado o la provisión de un modelo global.
Una técnica inteligente de enjambre interesante es el algoritmo Ant Colony : [6]
- Las hormigas son poco sofisticadas en cuanto al comportamiento; colectivamente realizan tareas complejas. Las hormigas han desarrollado una comunicación sofisticada basada en signos.
- Las hormigas se comunican mediante feromonas; se establecen senderos que pueden ser seguidos por otras hormigas.
- Problema de enrutamiento Las hormigas sueltan diferentes feromonas que se utilizan para calcular la ruta "más corta" desde el origen hasta el (los) destino (s).
Sistemas basados en agentes
Los agentes son sistemas informáticos encapsulados que están situados en algún entorno y son capaces de actuar de forma flexible y autónoma en ese entorno para cumplir sus objetivos de diseño. [ aclaración necesaria ] [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 habilidades: pueden ser estáticos o móviles, o pueden ser inteligentes o no. Cada agente puede tener su propia tarea y / o función. Los agentes y los sistemas multiagente se utilizan como metáfora para modelar procesos distribuidos complejos. Dichos agentes invariablemente necesitan interactuar entre sí para gestionar sus interdependencias . Estas interacciones involucran a agentes que cooperan, negocian y coordinan entre sí.
Los sistemas basados en agentes son programas de computadora que intentan simular varios fenómenos complejos a través de "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 llevan a cabo los negocios. A medida que los 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 programa óptimo. Estas simulaciones son herramientas estratégicas poderosas para el análisis de escenarios "qué pasaría si": a medida que los gerentes cambian las características o las "reglas" de los agentes, el impacto del cambio se puede ver fácilmente en el resultado del modelo.
Computación en cuadrícula
Por analogía , una cuadrícula computacional es una infraestructura de hardware y software que proporciona acceso confiable, consistente, generalizado y económico a capacidades computacionales de alta gama. [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 cuadrículas para agregar recursos computacionales sustanciales con el fin de abordar problemas que no se pueden resolver en un solo sistema.
Computación autónoma
El sistema nervioso autónomo gobierna nuestra frecuencia cardíaca y temperatura corporal, liberando así nuestro cerebro consciente de la carga de lidiar con estas y muchas otras funciones de bajo nivel, pero vitales. La esencia de la computación autónoma es la autogestión, cuya intención es liberar a los administradores de sistemas de los detalles del funcionamiento y mantenimiento del sistema. [9]
Cuatro aspectos de la computación autónoma son:
- Autoconfiguración
- Autooptimización
- Autocuración
- Protección personal
Este es un gran desafío promovido 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 casos de computadoras ópticas y su uso exitoso. [ aclaración necesaria ] 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 de 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 de ADN usa hebras de ADN para codificar la instancia del problema y manipularlas usando 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 en cambio está formada por una secuencia de cuatro bases que se emparejan de manera predecible, muchos científicos han pensado en la posibilidad de crear una computadora molecular. [ aclaración necesaria ] Estas computadoras dependen de reacciones mucho más rápidas de los nucleótidos de ADN que se unen con sus complementos, un método de fuerza bruta que tiene un enorme potencial para crear una nueva generación de computadoras que sería 100 mil millones de veces más rápida que la PC más rápida de hoy. La computación del ADN ha sido anunciada como el "primer ejemplo de verdadera nanotecnología ", [ cita requerida ] e incluso el "comienzo de una nueva era", [ cita requerida ] que forja un vínculo sin precedentes entre la informática y las ciencias de la vida.
Las aplicaciones de ejemplo de la computación del ADN están en solución para el problema de la ruta de Hamilton, que es un NP conocido [ aclaración necesaria ] completo. El número de operaciones de laboratorio necesarias que utilizan ADN crece linealmente con el número de vértices del gráfico. [ aclaración necesaria ] [12] Se ha informado de algoritmos moleculares que resuelven el problema criptográfico en un número polinomial 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 binaria, sino de naturaleza más cuaternaria . [13] [14] Esta propiedad del qubit 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 qubit 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 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 para cada estado. Una computadora cuántica manipula los 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 par de qubits. Al aplicar estas puertas en sucesión, una computadora cuántica puede realizar una complicada transformación unitaria a un conjunto de qubits en algún estado inicial.
Computación reconfigurable
Los arreglos de puertas programables en campo (FPGA) están haciendo posible construir 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 mejor en varios órdenes de magnitud 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 de computación 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 en sus posiciones más estables ("energía mínima"). (El enfriamiento rápido los habría "congelado" en cualquier posición en la que estuvieran en ese momento). La estructura resultante del metal es más fuerte y más estable. Simulando 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 del modelo de procesamiento de la información humana. [18] La técnica de Soft Computing comprende la lógica difusa, la neurocomputación, la informática evolutiva, el aprendizaje automático y la informática probabilística 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 dado. Este enfoque ha tenido un gran éxito en la resolució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 diversas 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 competición. Estos algoritmos tienen un gran é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 pertenencia es fundamental para los conjuntos difusos. Los conjuntos difusos se diferencian de los conjuntos nítidos porque permiten que un elemento pertenezca a un conjunto en cierto grado (grado de pertenencia). Este enfoque encuentra buenas aplicaciones para problemas de control. [22] La lógica difusa ha encontrado aplicaciones enormes 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 computación probabilística, por ejemplo, uso de modelo gráfico probabilístico como la red bayesiana . Estas técnicas computacionales se denominan aleatorización, lo que produce algoritmos probabilísticos. Cuando se interpretan como un fenómeno físico mediante 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 de cálculo primitivo es correcto (o equivalentemente a la probabilidad de error, (1 – p). [23] Chaotic Computing se basa en la teoría del caos. [24]
Fractales
La Computación fractal son objetos que muestran auto-semejanza 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 auto-similar 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 los converge ecuación para elegido Z , entonces Z pertenece a M . Ecuación de Mandelbrot:
Algoritmo aleatorizado
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 ocurra 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:
- Algoritmo de Montecarlo
- Algoritmo de Las Vegas
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 de 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 utilizar para resolver más rápidamente problemas complejos 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):
- ML supervisado
- AA no supervisado
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 el descenso de gradiente. La red converge a través de varios cientos de cálculos iterativos.
Máquinas de vectores de apoyo [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
Hay varias aplicaciones exitosas de técnicas de computación lateral. Aquí hay un pequeño conjunto de aplicaciones que ilustra la computación lateral:
- Clasificación de burbujas : aquí el problema informático de clasificación se aborda con una analogía de burbujas que se elevan en el agua. Esto es tratando los números como burbujas y flotando a su posición natural.
- Problema de retroceso del camión: este es un problema interesante de dar marcha atrás a un camión y estacionarlo en una ubicación particular. Las técnicas informáticas tradicionales han tenido dificultades para resolver este problema. Esto ha sido resuelto con éxito por el sistema Fuzzy. [22]
- Equilibrio de un péndulo invertido: este problema implica el equilibrio y el péndulo invertido. Este problema se ha resuelto de forma eficaz 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 de fondo, las clases de ruido, el perfil auditivo del usuario y otros parámetros. La medición del nivel de ruido y el nivel de sonoridad implican imprecisiones y medidas subjetivas. Los autores han demostrado el uso exitoso del 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 de comercio son problemas NP completos . [30] Estos problemas se resuelven utilizando algoritmos que se benefician de la heurística. Algunas de las aplicaciones están en enrutamiento VLSI, particiones, etc. Los algoritmos genéticos y el recocido simulado han tenido éxito en la resolución de estos problemas de optimización. [20] [31]
- Programación La Unprogrammable (PTU) que implica la creación automática de programas de ordenador para dispositivos de computación no convencionales tales como los autómatas celulares , sistemas multi-agente , sistemas paralelos , matrices de puertas programables en campo , las matrices analógicas programables en campo, las colonias de hormigas, la inteligencia de enjambre sistemas, distribuidos , y similares. [32]
Resumen
Arriba hay una revisión de las técnicas de computación lateral. La computación lateral se basa en el enfoque de pensamiento lateral y aplica técnicas no convencionales para resolver problemas de computación. Si bien la mayoría de los problemas se resuelven con técnicas convencionales, existen problemas que requieren computación lateral. La computación lateral proporciona la ventaja de la eficiencia computacional, el bajo costo de implementación, mejores soluciones en comparación con la computación convencional para varios problemas. La computación lateral aborda con éxito una clase de problemas al explotar la tolerancia a la imprecisión, la incertidumbre y la verdad parcial para lograr manejabilidad, robustez y 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 al resolver numerosos problemas de computación cuyos modelos matemáticos no están disponibles. [ cita requerida ] 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. Luego se han descrito varias técnicas de computación lateral seguidas de sus aplicaciones. La computación lateral es para construir inteligencia artificial de nueva generación basada en procesamiento no convencional.
Ver también
- Cálculo
- Informática
- Computacionalismo
- Computación real
- Computación reversible
- Hipercomputación
- Cálculo
- Problema computacional
- Computación no convencional
Referencias
- ↑ a b de Bono, E. (1990). Pensamiento lateral para la gestión: un manual . Libros de pingüinos. ISBN 978-0-07-094233-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.
- ^ de Bono, E. (1991). Lógica del agua . Libros de pingüinos. ISBN 978-0-670-84231-5.
- ^ Hwang, K. (1993). Arquitectura informática avanzada: 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 sistemas naturales a artificiales . Prensa de la Universidad de Oxford. ISBN 978-0-19-513158-1.
- ^ Dorigo, M .; DI CARO, G .; Gamberella, LM (1999). Algoritmos de hormigas para optimización discreta, vida artificial . Prensa del MIT.
- ^ Bradshaw, JM (1997). Agentes de software . AAAI Press / The MIT Press. ISBN 978-0-262-52234-2.
- ^ Foster, Ian (1999). "Cuadrículas computacionales, capítulo 2". The Grid: Blueprint for a New Computing Infrastructure, Technical Report .
- ^ Murch, R. (2004). Computación autónoma . Editores Pearson. ISBN 978-0-13-144025-8.
- ^ "Autonómico" . IBM. 2004.
- ^ Karim, MA; Awwal, AAS (1992). Computación óptica: una introducción . Editores Wiley. ISBN 978-0-471-52886-9.
- ^ Pisanti, N. (1997). A Survey of DNA Computing (informe técnico). Universidad de Pisa, Italia. TR-97-07.
- ^ Braunstein, S. (1999). Computación cuántica . Editores Wiley. 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 actividades de revisión". Investigación y desarrollo de NEC . 44 (3): 268-272.
- ^ Suthikshn, Kumaryear = 1996. Neurocomputadores reconfigurables: síntesis rápida de prototipos y diseño de redes neuronales artificiales para matrices de puertas programables en campo (informe técnico). Universidad de Melbourne, Australia. Tesis doctoral.
- ^ Compton y Hauck, 2002
- ^ Artes y Krost, 1997
- ^ Proc IEEE, 2001
- ^ a b Masters, T. (1995). Algoritmo neuronal, novedoso e híbrido para la predicción de series temporales . John Wiley and Sons Publishers.
- ^ a b Goldberg, DE (2000). Algoritmos genéticos en búsqueda, optimización y Machine Learning . Editores de Addison Wesley. ISBN 978-0-201-15767-3.
- ^ Ross, 1997
- ^ a b c 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.
- ^ 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 móviles". Revista de comunicaciones inalámbricas IEEE . 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
- de Bono, E. (2003). "Edward de Bono" . Archivado desde el original el 1 de febrero de 2001.
- Actas de IEEE (2001): Número especial sobre innovaciones industriales que utilizan Soft Computing , 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 Boltzmann, John Wiley And Sons Publishers.
- KV Palem (2003); Computación consciente de la energía a través de la conmutación probabilística: un estudio de límites, Informe técnico GIT-CC-03-16 de mayo de 2003.
- M. Sima, S. Vassiliadis, S. Cotofona, JTJ Van Eijndoven y KA Vissers (2000); Una taxonomía de las máquinas informáticas personalizadas, en el taller Proceedings of the Progress, octubre.
- J. Gleick (1998); Choas: Making a New Science, Vintage Publishers.
- B. Mandelbrot (1997); La geometría fractal de la naturaleza, Freeman Publishers, Nueva York.
- DR Hofstadter (1999); Godel, Escher, Bach: An Eternal Golden Braid, Harper Collins Publishers.
- RA Aliev y RR Aliev (2001); Soft Computing y sus aplicaciones, World Scientific Publishers.
- Jyh-Shing Roger Jang, Chuen-Tsai Sun y Eiji Mizutani (1997); Neuro-Fuzzy and Soft Computing: un enfoque computacional para el aprendizaje y la inteligencia artificial, 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 de máquina competitiva humana de rutina, Kluwer Academic.
- James Allen (1995); Comprensión del lenguaje natural, segunda edición, Pearson Education Publishers.
- R. Herken (1995); Universal Turing Machine, Springer-Verlag 2nd Edition.
- Harry R. Lewis, Christos H. Papadimtrou (1997); Elementos de 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 NP Completeness, 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 encuesta de sistemas y software, encuestas de computación de ACM, Vo. 34, No 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). Computación definitiva . Editores de ciencia de Elsevier. ISBN 978-0-444-70283-8.
- RL Epstein y WA Carnielli (1989); Computabilidad, funciones computables, lógica y los fundamentos de las matemáticas, libros y software avanzados de Wadsworth & Brooks / Cole.
- T. Joachims (2002); Aprendiendo a clasificar texto usando Support Vector Machines , 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 Rendimiento, Informe técnico.
Conferencias
- Primer Congreso Mundial de Computación Lateral , IISc, Bangalore India, diciembre de 2004 WCLC 2004
- Segundo Congreso Mundial de Computación Lateral , WCLC 2005, PESIT, Bangalore, India