Inteligencia artificial Se denomina inteligencia artificial (IA) a la rama de las Ciencias de la Computación[1] [2] desarrollo de agentes racionales no vivos. [3] dedicada al Para explicar la definición anterior, entiéndase a un agente como cualquier cosa capaz de percibir su entorno (recibir entradas), procesar tales percepciones y actuar en su entorno (proporcionar salidas), y entiéndase a la [racionalidad] como la característica que posee una elección de ser correcta, más específicamente, de tender a maximizar un resultado esperado (este concepto de racionalidad es más general y por ello más adecuado que inteligencia para definir la naturaleza del objetivo de esta disciplina). Por lo tanto, y de manera más específica la inteligencia artificial es la disciplina que se encarga de construir procesos que al ser ejecutados sobre una arquitectura física producen acciones o resultados que maximizan una medida de rendimiento determinada, basándose en la secuencia de entradas percibidas y en el conocimiento almacenado en tal arquitectura. Existen distintos tipos de conocimiento y medios de representación del conocimiento. El cual puede ser cargado en el agente por su diseñador o puede ser aprendido por el mismo agente utilizando técnicas de aprendizaje. También se distinguen varios tipos de procesos válidos para obtener resultados racionales, que determinan el tipo de agente inteligente. De más simples a más complejos, los cinco principales tipos de procesos son: Ejecución de una respuesta predeterminada por cada entrada (análogas a actos reflejos en seres vivos). Búsqueda del estado requerido en el conjunto de los estados producidos por las acciones posibles. Algoritmos genéticos (análogo al proceso de evolución de las cadenas de ADN). Redes neuronales artificiales (análogo al funcionamiento físico del cerebro de animales y humanos). Razonamiento mediante una lógica formal (análogo al pensamiento abstracto humano). También existen distintos tipos de percepciones y acciones, pueden ser obtenidas y producidas, respectivamente por sensores físicos y sensores mecánicos en máquinas, pulsos eléctricos u ópticos en computadoras, tanto como por entradas y salidas de bits de un software y su entorno software. Varios ejemplos se encuentran en el área de control de sistemas, planificación automática, la habilidad de responder a diagnósticos y a consultas de los consumidores, reconocimiento de escritura, reconocimiento del habla y reconocimiento de patrones. Los sistemas de IA actualmente son parte de la rutina en campos como economía, medicina, ingeniería y la milicia, y se ha usado en gran variedad de aplicaciones de software, juegos de estrategia como ajedrez de computador y otros videojuegos. Influencia de los procesadores actuales. Creado el primer procesador cuántico Abre la puerta a la esperada aplicación de la física cuántica a la informática Un equipo de científicos de la Universidad de Yale ha dado un gran salto tecnológico al crear el primer procesador cuántico. Es la primera implementación funcional de un dispositivo de este tipo. Sólo es capaz de hacer algunos cálculos sencillos, pero es un paso imprescindible para lograr la aplicación de la física cuántica a la informática. Por Rubén Caro. Hace mucho tiempo, desde principios de los ochenta, que se estudia teóricamente la aplicación de la física cuántica a la informática. Las propiedades de la materia a nivel atómico y subatómico permiten la creación de procesadores que funcionan de una manera distinta a los actuales. Utilizan los diferentes estados cuánticos de una partícula para efectuar operaciones lógicas. Los procesadores actuales utilizan como unidad lógica el bit (binary digit). Los diferentes estados cuánticos se representan utilizando una unidad mínima de información ligeramente diferente, llamada qubit (quantum binary digit). Los bits actuales sólo pueden tener dos estados posibles, 0 o 1. El número de posibles combinaciones de 8 bits es de 256(2 elevado a 8) combinaciones distintas. Pero una sola de ellas cada vez. Por contra, los qubits entre otras cosas permiten la simultaneidad de varios estados diferentes. Con 16 qubits se pueden obtener 256 combinaciones distintas a la vez. Paralelismo cuántico Para tener un ejemplo más gráfico. Tenemos un coche que consta de 256 piezas distintas. Pongamos a 8 robots (los bits) que son capaces de poner todas las piezas, pero sólo una a una. Si en poner 1 pieza tardan 1 segundo, entonces son capaces de montar el coche en 256 segundos, unos 4 minutos. Ahora pongamos a otros 8 robots (los qubits) que también son capaces de poner las 256 piezas distintas, y tardan 1 segundo en poner cada pieza, igual que los robots anteriores. La diferencia es que estos son capaces de ponerlas en paralelo, todas a la vez. Si las ponen todas a la vez, tardarán un segundo en ponerlas todas. Los 8 qubits emplearían un sólo segundo frente a 4 minutos que emplearían los 8 bits para hacer la misma tarea. 256 veces más rápido. Además la capacidad de procesamiento crece exponencialmente. Siguiendo con el ejemplo: si hablásemos de 65536 piezas diferentes, 16 qubits tardarían 1 segundo y 16 bits tardarían 18 horas. 65536 veces más rápido. Sólo es un ejemplo, pero en esencia esa es la diferencia teórica de rendimiento entre un procesador actual y un procesador cuántico. Es la capacidad de hacer los cálculos en paralelo, y no el número de combinaciones distintas que pueden representar, lo que le confiere tal potencia al procesamiento cuántico. Es el llamado paralelismo cuántico. QUE ES LA MEMORIA CACHE EN UN PROCESADOR. Una memoria caché es una memoria en la que se almacenas una serie de datos para su rápido acceso. Existen muchas memorias caché (de disco, de sistema, incluso de datos, como es el caso de la caché de Google), pero en este tutorial nos vamos a centrar en la caché de los procesadores. Básicamente, la memoria caché de un procesador es un tipo de memoria volátil (del tipo RAM), pero de una gran velocidad. En la actualidad esta memoria está integrada en el procesador, y su cometido es almacenar una serie de instrucciones y datos a los que el procesador accede continuamente, con la finalidad de que estos accesos sean instantáneos. Estas instrucciones y datos son aquellas a las que el procesador necesita estar accediendo de forma continua, por lo que para el rendimiento del procesador es imprescindible que este acceso sea lo más rápido y fluido posible. Hay Caché tres tipos diferentes de de memoria 1er caché nivel para procesadores: (L1): Esta caché está integrada en el núcleo del procesador, trabajando a la misma velocidad que este. La cantidad de memoria caché L1 varía de un procesador a otro, estando normalmente entra los 64KB y los 256KB. Esta memoria suele a su vez estar dividida en dos partes dedicadas, una para instrucciones y otra para datos. Caché de 2º nivel (L2): Integrada también en el procesador, aunque no directamente en el núcleo de este, tiene las mismas ventajas que la caché L1, aunque es algo más lenta que esta. La caché L2 suele ser mayor que la caché L1, pudiendo llegar a superar los 2MB. A diferencia de la caché L1, esta no está dividida, y su utilización está más encaminada a programas que al sistema. Caché de 3er nivel (L3): Es un tipo de memoria caché más lenta que la L2, muy poco utilizada en la actualidad. En un principio esta caché estaba incorporada a la placa base, no al procesador, y su velocidad de acceso era bastante más lenta que una caché de nivel 2 o 1, ya que si bien sigue siendo una memoria de una gran rapidez (muy superior a la RAM, y mucho más en la época en la que se utilizaba), depende de la comunicación entre el procesador y la placa base. Para hacernos una idea más precisa de esto, imaginemos en un extremo el procesador y en el otro la memoria RAM. Pues bien, entre ambos se encuentra la memoria caché, más rápida cuanto más cerca se encuentre del núcleo del procesador (L1). Las memorias caché son extremadamente rápidas (su velocidad es unas 5 veces superior a la de una RAM de las más rápidas), con la ventaja añadida de no tener latencia, por lo que su acceso no tiene ninguna demora... pero es un tipo de memoria muy cara. Esto, unido a su integración en el procesador (ya sea directamente en el núcleo o no) limita bastante el tamaño, por un lado por lo que encarece al procesador y por otro por el espacio disponible. En cuanto a la utilización de la caché L2 en procesadores multinucleares, existen dos tipos diferentes de tecnologías a aplicar. Por un lado está la habitualmente utilizada por Intel, que consiste en que el total de la caché L2 está accesible para ambos núcleos y por otro está la utilizada por AMD, en la que cada núcleo tiene su propia caché L2 dedicada solo para ese núcleo. La caché L2 apareció por primera vez en los Intel Pentium Pro, siendo incorporada a continuación por los Intel Pentium II, aunque en ese caso no en el encapsulado del procesador, sino externamente (aunque dentro del procesador).