lunes, 5 de mayo de 2008

Historia de las Redes Neuronales...

Conseguir diseñar y construir máquinas capaces de realizar procesos con cierta inteligencia ha sido uno de los principales objetivos de los científicos a lo largo de la historia. De los intentos realizados en este sentido se han llegado a definir las líneas fundamentales para la obtención de máquinas inteligentes: En un principio los esfuerzos estuvieron dirigidos a la obtención de autómatas, en el sentido de máquinas que realizaran, con más o menos éxito, alguna función típica de los seres humanos. Hoy en día se continúa estudiando en ésta misma línea, con resultados sorprendentes, existen maneras de realizar procesos similares a los inteligentes y que podemos encuadrar dentro de la llamada Inteligencia Artificial (IA).

A pesar de disponer de herramientas y lenguajes de programación diseñados expresamente para el desarrollo de máquinas inteligentes, existe un enorme problema que limita los resultados que se pueden obtener: estas máquinas se implementan sobre computadoras basadas en la filosofía de Von Neumann, y que se apoyan en una descripción secuencial del proceso de tratamiento de la información. Si bien el desarrollo de estas computadoras es espectacular, no deja de seguir la línea antes expuesta: una máquina que es capaz de realizar tareas mecánicas de forma increíblemente rápida, como por ejemplo cálculo, ordenación o control, pero incapaz de obtener resultados aceptables cuando se trata de tareas como reconocimiento de formas, voz, etc.

La otra línea de la investigación ha tratado de aplicar principios físicos que rigen en la naturaleza para obtener máquinas que realicen trabajos pesados en nuestro lugar. De igual manera se puede pensar respecto a la forma y capacidad de razonamiento humano; se puede intentar obtener máquinas con esta capacidad basadas en el mismo principio de funcionamiento.

No se trata de construir máquinas que compitan con los seres humanos, sino que realicen ciertas tareas de rango intelectual con que ayudarle, principio básico de la Inteligencia Artificial.

Las primeras explicaciones teóricas sobre el cerebro y el pensamiento ya fueron dadas ya por Platón (427-347 a.C.) y Aristóteles (348-422 a.C.). Las mismas ideas también las mantuvo Descartes (1569-1650) y los filósofos empiristas del siglo XVIII.

La clase de las llamadas máquinas cibernéticas, a la cual la computación neuronal pertenece, tiene más historia de la que se cree: Herón (100 a.C) construyó un autómata hidráulico.

Ventajas que ofrecen las redes neuronales...

Debido a su constitución y a sus fundamentos, las redes neuronales artificiales presentan un gran número de características semejantes a las del cerebro. Por ejemplo, son capaces de aprender de la experiencia, de generalizar de casos anteriores a nuevos casos, de abstraer características esenciales a partir de entradas que representan información irrelevante, etc. Esto hace que ofrezcan numerosas ventajas y que este tipo de tecnología se esté aplicando en múltiples áreas. Entre las ventajas se incluyen:

Aprendizaje Adaptativo: capacidad de aprender a realizar tareas basadas en un entrenamiento o en una experiencia inicial.

Auto-organización: una red neuronal puede crear su propia organización o representación de la información que recibe mediante una etapa de aprendizaje.

Tolerancia a fallos: la destrucción parcial de una red conduce a una degradación de su estructura; sin embargo, algunas capacidades de la red se pueden retener, incluso sufriendo un gran daño.

Operación en tiempo real: los cómputos neuronales pueden ser realizados en paralelo; para esto se diseñan y fabrican máquinas con hardware especial para obtener esta capacidad.

Fácil inserción dentro de la tecnología existente: se pueden obtener chips especializados para redes neuronales que mejoran su capacidad en ciertas tareas. Ello facilitará la integración modular en los sistemas existentes.

Aprendizaje adaptativo...

La capacidad de aprendizaje adaptativo es una de las características más atractivas de redes neuronales. Esto es, aprenden a llevar a cabo ciertas tareas mediante un entrenamiento con ejemplos ilustrativos. Como las redes neuronales pueden aprender a diferenciar patrones mediante ejemplos y entrenamientos, no es necesario elaborar modelos a priori ni necesidad de especificar funciones de distribución de probabilidad.
Las redes neuronales son sistemas dinámicos autoadaptativos. Son adaptables debido a la capacidad de autoajuste de los elementos procesales (neuronas) que componen el sistema. Son dinámicos, pues son capaces de estar constantemente cambiando para adaptarse a las nuevas condiciones.
En el proceso de aprendizaje, los enlaces ponderados de las neuronas se ajustan de manera que se obtengan ciertos resultados específicos. Una red neuronal no necesita un algoritmo para resolver un problema, ya que ella puede generar su propia distribución de pesos en los enlaces mediante el aprendizaje. También existen redes que continúan aprendiendo a lo largo de su vida, después de completado su período de entrenamiento.
La función del diseñador es únicamente la obtención de la arquitectura apropiada. No es problema del diseñador el cómo la red aprenderá a discriminar. Sin embargo, sí es necesario que desarrolle un buen algoritmo de aprendizaje que le proporcione a la red la capacidad de discriminar, mediante un entrenamiento con patrones.

Auto-organización...

Las redes neuronales emplean su capacidad de aprendizaje adaptativo para autoorganizar la información que reciben durante el aprendizaje y/o la operación. Mientras que el aprendizaje es la modificación de cada elemento procesal, la autoorganización consiste en la modificación de la red neuronal completa para llevar a cabo un objetivo específico.
Cuando las redes neuronales se usan para reconocer ciertas clases de patrones, ellas autoorganizan la información usada. Por ejemplo, la red llamada backpropagation, creará su propia representación característica, mediante la cual puede reconocer ciertos patrones.
Esta autoorganización provoca la generalización: facultad de las redes neuronales de responder apropiadamente cuando se les presentan datos o situaciones a las que no había sido expuesta anteriormente. El sistema puede generalizar la entrada para obtener una respuesta. Esta característica es muy importante cuando se tiene que solucionar problemas en los cuales la información de entrada no es muy clara; además permite que el sistema dé una solución, incluso cuando la información de entrada está especificada de forma incompleta.

Tolerancia a fallos...

Las redes neuronales fueron los primeros métodos computacionales con la capacidad inherente de tolerancia a fallos. Comparados con los sistemas computacionales tradicionales, los cuales pierden su funcionalidad cuando sufren un pequeño error de memoria, en las redes neuronales, si se produce un fallo en un número no muy grande de neuronas y aunque el comportamiento del sistema se ve influenciado, no sufre una caída repentina.

Hay dos aspectos distintos respecto a la tolerancia a fallos:

a) Las redes pueden aprender a reconocer patrones con ruido, distorsionados o incompletos. Esta es una tolerancia a fallos respecto a los datos.

b) Las redes pueden seguir realizando su función (con cierta degradación) aunque se destruya parte de la red.

La razón por la que las redes neuronales son tolerantes a los fallos es que tienen su información distribuida en las conexiones entre neuronas, existiendo cierto grado de redundancia en este tipo de almacenamiento. La mayoría de los ordenadores algorítmicos y sistemas de recuperación de datos almacenan cada pieza de información en un espacio único, localizado y direccionable. En cambio, las redes neuronales almacenan información no localizada. Por lo tanto, la mayoría de las interconexiones entre los nodos de la red tendrán sus valores en función de los estímulos recibidos, y se generará un patrón de salida que represente la información almacenada.

Operación en tiempo real

Una de las mayores prioridades, casi en la totalidad de las áreas de aplicación, es la necesidad de realizar procesos con datos de forma muy rápida. Las redes neuronales se adaptan bien a esto debido a su implementación paralela. Para que la mayoría de las redes puedan operar en un entorno de tiempo real, la necesidad de cambio en los pesos de las conexiones o entrenamiento es mínimo.

Fácil inserción dentro de la tecnología existente

Una red individual puede ser entrenada para desarrollar una única y bien definida tarea (tareas complejas, que hagan múltiples selecciones de patrones, requerirán sistemas de redes interconectadas). Con las herramientas computacionales existentes (no del tipo PC), una red puede ser rápidamente entrenada, comprobada, verificada y trasladada a una implementación hardware de bajo coste. Por lo tanto, no se presentan dificultades para la inserción de redes neuronales en aplicaciones específicas, por ejemplo de control, dentro de los sistemas existentes. De esta manera, las redes neuronales se pueden utilizar para mejorar sistemas en forma incremental y cada paso puede ser evaluado antes de acometer un desarrollo más amplio.

Redes neuronales y computadoras digitales....

Para entender el potencial de la computación neuronal, sería necesario hacer una breve distinción entre sistemas de computación neuronales y digitales: los sistemas neurológicos no aplican principios de circuitos lógicos o digitales.

Un sistema de computación digital debe ser síncrono o asíncrono. Si fuera asíncrono, la duración de los impulsos neuronales debería ser variable para mantener uno de los valores binarios por periodos de tiempo indefinido, lo cual no es el caso. Si el principio fuera síncrono, se necesitaría un reloj global o maestro con el cual los pulsos estén sincronizados. Éste tampoco es el caso. Las neuronas no pueden ser circuitos de umbral lógico, porque hay miles de entradas variables en la mayoría de las neuronas y el umbral es variable con el tiempo, siendo afectado por la estimulación, atenuación, etc. La precisión y estabilidad de tales circuitos no es suficiente para definir ninguna función booleana. Los procesos colectivos que son importantes en computación neuronal no pueden implementarse por computación digital. Por todo ello, el cerebro debe ser un computador analógico.

Ni las neuronas ni las sinapsis son elementos de memoria biestable. Todos los hechos fisiológicos hablan a favor de las acciones de las neuronas como integradores analógicos, y la eficiencia de la sinapsis cambia de forma gradual, lo cual no es característico de sistemas biestables.

Los circuitos del cerebro no implementan computación recursiva y por lo tanto no son algorítmicos. Debido a los problemas de estabilidad, los circuitos neuronales no son suficientemente estables para definiciones recursivas de funciones como en computación digital. Un algoritmo, por definición, define una función recursiva.

Fundamentos de las Redes Neuronales...

El modelo Biológico

Se estima que el cerebro humano contiene más de cien mil millones de neuronas estudios sobre la anatomía del cerebro humano concluyen que hay más de 1000 sinápsis a la entrada y a la salida de cada neurona. Es importante notar que aunque el tiempo de conmutación de la neurona ( unos pocos milisegundos) es casi un millón de veces menor que en los actuales elementos de las computadoras, ellas tienen una conectividad miles de veces superior que las actuales supercomputadoras.

Las neuronas y las conexiones entre ellas (sinápsis) constituyen la clave para el procesado de la información.

Algunos elementos ha destacar de su estructura histológica son:

Las dendritas, que son la vía de entrada de las señales que se combinan en el cuerpo de la neurona. De alguna manera la neurona elabora una señal de salida a partir de ellas.

El axón, que es el camino de salida de la señal generada por la neurona.

Las sinapsis, que son las unidades funcionales y estructurales elementales que median entre las interacciones de las neuronas. En las terminaciones de las sinapsis se encuentran unas vesículas que contienen unas sustancias químicas llamadas neurotransmisores, que ayudan a la propagación de las señales electroquímicas de una neurona a otra.

Lo que básicamente ocurre en una neurona biológica es lo siguiente: la neurona es estimulada o excitada a través de sus entradas (inputs) y cuando se alcanza un cierto umbral, la neurona se dispara o activa, pasando una señal hacia el axón.

Posteriores investigaciones condujeron al descubrimiento de que estos procesos son el resultado de eventos electroquímicos. Como ya se sabe, el pensamiento tiene lugar en el cerebro, que consta de billones de neuronas interconectadas. Así, el secreto de la "inteligencia" -sin importar como se defina- se sitúa dentro de estas neuronas interconectadas y de su interacción.

La forma que dos neuronas interactúan no está totalmente conocida, dependiendo además de cada neurona. En general, una neurona envía su salida a otras por su axón. El axón lleva la información por medio de diferencias de potencial, u ondas de corriente, que depende del potencial de la neurona.

Este proceso es a menudo modelado como una regla de propagación representada por la función de red u(.). La neurona recoge las señales por su sinápsis sumando todas las influencias excitadoras e inhibidoras. Si las influencias excitadoras positivas dominan, entonces la neurona da una señal positiva y manda este mensaje a otras neuronas por sus sinápsis de salida. En este sentido la neurona puede ser modelada como una simple función escalón f(.). Como se muestra en la próxima figura, la neurona se activa si la fuerza combinada de la señal de entrada es superior a un cierto nivel, en el caso general el valor de activación de la neurona viene dado por una función de activación f(.).

Otras definiciones de Redes Neuronales...

Una red neuronal es un procesador masivamente paralelo distribuido que es propenso por naturaleza a almacenar conocimiento experimental y hacerlo disponible para su uso. Este mecanismo se parece al cerebro en dos aspectos [SH1]:

El conocimiento es adquirido por la red a través de un proceso que se denomina aprendizaje.

El conocimiento se almacena mediante la modificación de la fuerza o peso sináptico de las distintas uniones entre neuronas.

Una red neuronal es un modelo computacional con un conjunto de propiedades específicas, como son la habilidad de adaptarse o aprender, generalizar u organizar la información, todo ello basado en un procesamiento eminentemente paralelo. [BJAK] [PPVS]

Elementos de una Red Neuronal Artificial...

Las redes neuronales son modelos que intentan reproducir el comportamiento del cerebro. Los mismos constan de dispositivos elementales de proceso: las neuronas. A partir de ellas, se pueden generar representaciones específicas, de tal forma que un estado conjunto de ellas puede significar una letra, un número u otro objeto. Generalmente se pueden encontrar tres tipos de neuronas:

Aquellas que reciben estímulos externos relacionados con el aparato sensorial, que tomarán la información de entrada.

Dicha información se transmite a ciertos elementos internos que se ocupan de su procesamiento. Es en las sinapsis y neuronas correspondientes a este segundo nivel donde se genera cualquier tipo de representación interna de información. Como no tienen relación directa con la información de entrada ni con la salida, estos elementos se denominan unidades ocultas.

Una vez finalizado el período de procesado, la información llega a las unidades de salida, cuya misión es dar la respuesta al sistema.

A continuación se puede ver en la siguiente figura, un esquema de una red neuronal:


La misma está constituida por neuronas interconectadas y arregladas en tres capas (esto último puede variar). Los datos ingresan por medio de la "capa de entrada", pasan a través de la "capa oculta" y salen por la "capa de salida". Cabe mencionar que la capa oculta puede estar constituida por varias capas.

En la siguiente figura se compara una neurona biológica con una neurona artificial. En la misma se pueden observar las similitudes entre ambas (tienen entradas, utilizan pesos y generan salidas).


La neurona artificial pretende mimetizar las características más importantes de las neuronas biológicas. Cada neurona i-ésima está caracterizada en cualquier instante por un valor numérico denominado valor o estado de activación ai(t) ; asociado a cada unidad, existe una función de salida,fi , que transforma el estado actual de activación en una señal de salida. Dicha señal es enviada a través de los canales de comunicación unidireccionales a otras unidades de la red; estos canales la señal se modifica de acuerdo con la sinápsis (el peso,) asociada a cada uno de ellos según determinada regla. Las señales moduladas que han llegado a la unidad j-ésima se combinan entre ellas, generando así la entrada total.


Una función de activación, F, determina el nuevo estado de activación de la neurona, teniendo en cuenta la entrada total calculada y el anterior estado de activación aj(t).


La dinámica que rige la actualización de los estados de las unidades puede ser de dos tipos: asíncrono y modo síncrono. En el primer caso, las neuronas evalúan su estado continuamente según les va llegando información, y lo hacen de forma independiente, En el segundo caso, la información llega de forma continua, pero los cambios se realizan simultáneamente, como si existiera un reloj interno que decidiera cuando cambiar su estado. Los sistemas biológicos quedan probablemente entre ambas posibilidades.

Unidades de proceso: La neurona artificial...

Si se tienen N unidades (neuronas), podemos ordenarlas arbitrariamente y designar la j-ésima unidad como . Su trabajo es simple y único, y consiste en recibir las entradas de las células vecinas y calcular un valor de salida, el cual es enviado a todas las células restantes.

En cualquier sistema que se esté modelando, es útil caracterizar tres tipos de unidades: entradas, salidas y ocultas. Las unidades de entrada reciben señales del entorno, éstas pueden ser provenientes de censores o de otros sectores del sistema. Las unidades de salida envían la señal fuera del sistema; éstas pueden controlar directamente potencias u otros sistemas. Las unidades ocultas son aquellas cuyas entradas y salidas se encuentran dentro del sistema; es decir no tienen contacto con el exterior.

Se conoce como nivel o capa a un conjunto de neuronas cuyas entradas provienen de la misma fuente, y cuyas salidas se dirigen a un mismo destino.

Estado de Activación

Junto al conjunto de unidades, la representación necesita los estados del sistema en un tiempo t. Esto se especifica en un vector de N números reales A(t), que representa el estado de activación del conjunto de unidades de procesamiento. Cada elemento del vector representa la activación de una unidad en el tiempo t. La activación de una unidad Ui en el tiempo t se designa por ; es decir:

El procesamiento que realiza la red se ve como la evolución de un patrón de activación en el conjunto de unidades que lo componen a través del tiempo.

Todas las neuronas que componen la red se hallan en cierto estado. Podemos decir que hay dos posibles estados, reposo y excitado, a los que denominaremos estados de activación y a cada uno de los cuales se le asigna un valor. Los valores de activación pueden ser continuos o discretos. Además pueden ser limitados o ilimitados. Si son discretos, suelen tomar un conjunto pequeño de valores o bien valores binarios. En notación binaria, un estado activo se indicaría por un 1, y se caracteriza por la emisión de un impulso por parte de la neurona (potencial de acción), mientras que un estado pasivo se indicaría por un 0. En otros modelos se considera un conjunto continuo de estados de activación, en cuyo caso se asigna un valor entre [0,1] o en el intervalo [-1,1], generalmente siguiendo una función sigmoidal.

Los criterios o reglas que siguen las neuronas para alcanzar tales estados dependen de dos factores:

Dado que las propiedades macroscópicas de las redes neuronales no son producto de actuación de elementos individuales, es necesario tener idea del mecanismo de interacción entre las neuronas. El estado de activación estará fuertemente influenciado por tales interacciones ya que el efecto que producirá una neurona sobre otra será proporcional a la fuerza, peso de la conexión entre ambas.

La señal que envía cada una de las neuronas a sus vecinas dependerá de su propio estado de activación.

Función de salida o transferencia...

Asociada a cada unidad Ui (neurona) hay una función de salida , que transforma el estado actual de activación en una señal de salida: .

En algunos modelos, esta salida es igual al nivel de activación de la unidad, en cuyo caso la función es la función identidad, . A menudo, es de tipo sigmoidal, y suele ser la misma para todas las unidades.

Existen cuatro funciones de transferencia típicas que determinan distintos tipos de neuronas:

Función escalón
Función lineal y mixta
Sigmoidal
Función gaussiana
La función escalón únicamente se utiliza cuando las salidas de la red son binarias. La salida de una neurona se activa sólo cuando el estado de activación es mayor o igual a cierto valor umbral. La función lineal o identidad equivale a no aplicar función de salida. Las funciones mixta y sigmoidal son las más apropiadas cuando queremos como salida información analógica.

Neurona de función escalón

La función escalón se asocia a neuronas binarias en las cuales cuando la suma de las entradas es mayor o igual que el umbral de la neurona, la activación es 1, si es menor, la activación es 0 (ó –1). Las redes formadas por este tipo de neuronas son fáciles de implementar en hardware, pero sus capacidades están limitadas.

Neurona de función lineal o mixta

La función lineal o mixta corresponde a la función F(x) =x. En las neuronas con función mixta si la suma de las señales de entrada es menor que un límite inferior, la activación se define como 0 (ó –1). Si dicha suma es mayor o igual que el límite superior, entonces la activación es 1. Si la suma de entrada está comprendida entre ambos límites, la activación se define como una función lineal de suma de las señales de entrada.

Neurona de función continua (sigmoidal)

Cualquier función definida simplemente en un intervalo de posibles valores de entrada, con un incremento monotónico y que tengan ambos limites superiores e inferiores (por ejemplo las funciones sigmoidal y arco tangente), podrá realizar la función de activación o transferencia de forma satisfactoria.

Con la función sigmoidal, para la mayoría de los valores del estímulo de entrada, el valor dado por la función es cercano a uno de los valores asintóticos. Esto hace posible que en la mayoría de los casos, el valor de salida esté comprendido en la zona alta o baja del sigmoide. De hecho cuando la pendiente es elevada, esta función tiende a la función escalón. La importancia de ésta función es que su derivada es siempre positiva y cercana a cero para los valores grandes positivos o negativos; además toma su valor máximo cuando x es cero. Esto hace que se puedan utilizar las reglas de aprendizaje definidas para la función escalón, con la ventaja respecto a esta función, que la derivada está definida para todo el intervalo. La función escalón no podía definir la derivada en ele punto de transición y esto no ayuda a los métodos de aprendizaje en los cuales se usan derivadas.

Función de transferencia gaussiana

Los centros y anchura de estas funciones pueden ser adaptados, lo cual las hace más adaptativas que las funciones sigmoidales.

miércoles, 2 de abril de 2008

LA INTELIGENCIA ARTIFICIAL

LA INTELGENCIA ARTIFICIAL


La Inteligencia Artificial comenzó como el resultado de la investigación en psicología cognitiva y lógica matemática. Se ha enfocado sobre la explicación del trabajo mental y construcción de algoritmos de solución a problemas de propósito general. Punto de vista que favorece la abstracción y la generalidad.

La Inteligencia Artificial es una combinación de la ciencia del computador, fisiología y filosofía, tan general y amplio como eso, es que reúne varios campos (robótica, sistemas expertos, por ejemplo), todos los cuales tienen en común la creación de máquinas que pueden "pensar".

La idea de construir una máquina que pueda ejecutar tareas percibidas como requerimientos de inteligencia humana es un atractivo. Las tareas que han sido estudiadas desde este punto de vista incluyen juegos, traducción de idiomas, comprensión de idiomas, diagnóstico de fallas, robótica, suministro de asesoría experta en diversos temas.

Es así como los sistemas de administración de base de datos cada vez más sofisticados, la estructura de datos y el desarrollo de algoritmos de inserción, borrado y locación de datos, así como el intento de crear máquinas capaces de realizar tareas que son pensadas como típicas del ámbito de la inteligencia humana, acuñaron el término Inteligencia Artificial en 1956.

Trabajos teóricos fundamentales fueron el desarrollo de algoritmos matemáticos por Warren McCullock y Walter Pitts, en 1943, necesarios para posibilitar el trabajo de clasificación, o funcionamiento en sentido general, de una red neuronal. En 1949 Donald Hebb desarrolló un algoritmo de aprendizaje para dichas redes neuronales creando, en conjunto con los trabajos de McCullock y Pitts, la escuela creacionista. Esta escuela se considera hoy como el origen de la Inteligencia Artificial, sin embargo se trató poco por muchos años, dando paso al razonamiento simbólico basado en reglas de producción, lo que se conoce como sistemas expertos.

LA EVOLVUCION DE LA I.A

LA EVOLVUCION DE LA I.A

La historia de la Inteligencia Artificial ha pasado por diversas situaciones:

El término fue inventado en 1956, en la Conferencia de Darmouth, un congreso en el que se hicieron previsiones triunfalistas a diez años que jamás se cumplieron, lo que provocó el abandono casi total de las investigaciones durante quince años.
En 1980 la historia se repitió con el desafío japonés de la quinta generación de computadoras, que dio lugar al auge de los sistemas expertos pero que no alcanzó muchos de sus objetivos, por lo que este campo sufrió una nueva interrupción en los años noventa.

En la actualidad se está tan lejos de cumplir la famosa prueba de Turing como cuando se formuló: Existirá Inteligencia Artificial cuando no seamos capaces de distinguir entre un ser humano y un programa de computadora en una conversación a ciegas.
Como anécdota, muchos de los investigadores sobre IA sostienen que "la inteligencia es un programa capaz de ser ejecutado independientemente de la máquina que lo ejecute, computador o cerebro".

Los juegos matemáticos antiguos, como el de las Torres de Hanoi (hacia el 3000 a.C.), demuestran el interés por la búsqueda de un bucle resolutor, una IA capaz de ganar en los mínimos movimientos posibles.

En 1903 Lee De Forest inventa el triodo, también llamado bulbo o válvula de vacío. Podría decirse que la primera gran máquina inteligente diseñada por el hombre fue el computador ENIAC, compuesto por 18.000 válvulas de vacío, teniendo en cuenta que el concepto de "inteligencia" es un término subjetivo que depende de la inteligencia y la tecnología que tengamos en esa época.

En 1937 Turing publicó un artículo de bastante repercusión sobre los "Números Calculables", que puede considerarse el origen oficial de la informática teórica. En este artículo introdujo el concepto de Máquina de Turing, una entidad matemática abstracta que formalizó el concepto de algoritmo y resultó ser la precursora de las computadoras digitales. Con ayuda de su máquina, Turing pudo demostrar que existen problemas irresolubles, de los que ningún ordenador será capaz de obtener su solución, por lo que se le considera el padre de la teoría de la computabilidad. También se le considera el padre de la Inteligencia Artificial por su famosa Prueba de Turing, que permitiría comprobar si un programa de ordenador puede ser tan inteligente como un ser humano.

En 1951 William Shockley inventa el transistor de unión. El invento hizo posible una nueva generación de computadoras mucho más rápidas y pequeñas.

En 1956 se acuñó el término "inteligencia artificial" en Dartmouth durante una conferencia convocada por McCarthy, a la cual asistieron, entre otros, Minsky, Newell y Simon. En esta conferencia se hicieron previsiones triunfalistas a diez años que jamás se cumplieron, lo que provocó el abandono casi total de las investigaciones durante quince años.

En 1980 la historia se repitió con el desafío japonés de la quinta generación, que dio lugar al auge de los sistemas expertos pero que no alcanzó muchos de sus objetivos, por lo que este campo sufrió una nueva interrupción en los años noventa.

En 1987 Martin Fischles y Oscar Firschein describieron los atributos de un agente inteligente. Al intentar describir con un mayor ámbito (no sólo la comunicación) los atributos de un agente inteligente, la IA se ha expandido a muchas áreas que han creado ramas de investigación enormes y diferenciadas. Dichos atributos del agente inteligente son:

Tiene actitudes mentales tales como creencias e intenciones.
Tiene la capacidad de obtener conocimiento, es decir, aprender.
Puede resolver problemas, incluso particionando problemas complejos en otros más simples.
Entiende. Posee la capacidad de crearle sentido, si es posible, a ideas ambiguas o contradictorias.
Planifica, predice consecuencias, evalúa alternativas (como en los juegos de ajedrez)
Conoce los límites de su propias habilidades y conocimientos.
Puede distinguir a pesar de las similitud de las situaciones.
Puede ser original, creando incluso nuevos conceptos o ideas, y hasta utilizando analogías.
Puede generalizar.
Puede percibir y modelar el mundo exterior.
Puede entender y utilizar el lenguaje y sus símbolos.
Podemos entonces decir que la IA incluye características humanas tales como el aprendizaje, la adaptación, el razonamiento, la autocorrección, el mejoramiento implícito, y la percepción modular del mundo. Así, podemos hablar ya no sólo de un objetivo, sino de muchos, dependiendo del punto de vista o utilidad que pueda encontrarse a la IA.

Muchos de los investigadores sobre IA sostienen que "la inteligencia es un programa capaz de ser ejecutado independientemente de la máquina que lo ejecute, computador o cerebro".

El Futuro de la I.A

EL FUTURO DE LA INTELIGENCIA ARTIFICIAL

Un robot de charla o chatterbot es un programa de inteligencia artificial que pretende simular una conversación escrita, con la intención de hacerle creer a un humano que está hablando con otra persona.


Estos programas informaticos prometen ser el futuro de la inteligencia artifical. En el futuro podremos ver como a estos actuales bots se les uniran las tecnologias del reconocimiento de voz y el de video.

El cerebro humano tiene 100.000 millones de neuronas. Un programa de ordenador puede simular unas 10.000 neuronas.
Si a la capacidad de proceso de un ordenador la sumamos la de otros 9.999.999 ordenadores, tenemos la capacidad de proceso de 10.000.000 ordenadores.


Multiplicamos 10.000.000 ordenadores por 10.000 neuronas cada uno y da = 100.000 millones de neuronas simuladas. Un cerebro humano sera simulado en el futuro gracias a internet y cualquiera puede programarlo.

Una vez que la inteligencia artificial tenga una inteligencia igual o superior a la del hombre, obligatoriamente surgira un cambio politico y social, en el que la IA tiene todas las de ganar si se da cuenta que no necesita a los humanos para colonizar el universo. Suena a ciencia ficcion pero actualmente orbitando estan los satelites de comunicaciones con sus procesadores 486.


En el futuro, la inteligencia artificial autoreplicante podria facilmente hacerse con todas las colonias humanas fuera de la tierra, y la raza humana nunca podra luchar en el espacio vacio en igualdad de condiciones.


El futuro de una inteligencia superior puede ser la investigacion de tecnologias como la teleportacion, los viajes estelares y cualquier otra tecnologia para aumentar "artificialmente" la inteligencia.

RESUMEN DE CLASES.

UNIDAD 1
INTRODUCCION A LA PROGRAMACION.

Clasificación de los lenguajes de programación.

Programar es una manera de enviar instrucciones a la computadora. Cientos de lenguajes de programación están en uso ahora.
Estos lenguajes entran dentro de las siguientes categorías:
Lenguaje de máquina Lenguajes de Primera Generación (1GL)
Lenguajes ensambladores Lenguajes de Segunda Generación (2GL)
Lenguajes de Tercera Generación (3GL)
Lenguajes de Cuarta Generación (4GL)

Clasificación de los lenguajes de programación:
Lenguajes de alto nivel
Lenguajes de Quinta Generación (5GL)

Lenguaje de máquina: son los lenguajes más básicos. El lenguaje de máquina pertenece a los lenguajes de nivel bajo.
Los lenguajes ensambladores realizan la conversión de las instrucciones de los archivos fuentes al lenguaje máquina. Los lenguajes ensambladores pertenecen a los lenguajes de nivel bajo.

Lenguajes de alto nivel: fueron desarrollados para hacer más fácil la programación. Tanto los programas escritos en lenguajes de computadora de nivel bajo o alto se les denominan programas fuentes o código fuente.

COBOL: Lenguaje simbólico de programación orientado hacia aplicaciones
comerciales y de gestión (Common Business Oriented Language).
Los lenguajes de programación estructurada están basados en funciones, subrutinas o procedimientos.
La programación orientada a objetos o Programación
Modular, le permite a un programador pensar en módulos porque los programas están ensamblados en componentes llamados objetos.

Lógica y compuertas binarias
Los circuitos digitales son componentes de hardware que manipulan información binaria. Cada circuito recibe el nombre de compuerta. Cada compuerta realiza una
operación lógica específica, y la salida de una compuerta se aplica a las entradas de otras compuertas,en secuencia, para formar el circuito digital requerido.
Estos circuitos están compuestos por elementos digitales como las compuertas: AND (Y), OR (O), NOT (NO) y combinaciones poco o muy complejas de estos.
- nand (No Y)
- nor (No O)
- or exclusiva (O exclusiva)
- entre otros.
Lógica binaria
La lógica binaria tiene que ver con variables que asumen dos valores discretos y con operaciones que asumen un significado lógico. Existen tres operaciones lógicas asociadas con los valores binarios llamadas AND, OR, NOT, a las cuales se les puede aplicar las reglas del álgebra Booleana:
Nota:
- (punto): significa producto lógico
- + (signo de suma): significa suma lógica

LOGICA BINARIA CIRCUITOS DIGITALES
• Maneja información en forma de 0 y 1.
• Su notación matemática es denominada álgebra booleana (por asumir dos valores
discretos).
• Describe las propiedades y operaciones de los circuitos digitales.
• Son componentes de hardware que manipulan información binaria.
• Cada circuito recibe el nombre d compuerta.
• Es una secuencia generada por la salida de una compuerta a las entradas de otras
compuertas.
AND.- Suele conocerse también con el nombre de compuerta Y. Esta compuerta puede tener dos o mas entradas y una sola salida. La salida de esta compuerta tomara estado lógico "1" si, y solo si, todas las entradas están en el estado lógico "1". La tabla de verdad para una compuerta de dos entradas es la siguiente:
Entradas Salida
A B Z
0 0 0
0 1 0
1 0 0
1 1 1
La expresión lógica que caracteriza a esta compuerta es: Z= A . También es conocida como compuerta lógica "0". El circuito que representa a esta compuerta tiene
dos o más entradas y una sola salida. La salida vale "0" cuando todas las entradas valen "0"
La tabla de verdad para una compuerta lógica OR de dos entradas es la siguiente:
Entradas Salida
A B Z
0 0 0
0 1 1
1 0 1
1 1 1
La expresión lógica que caracteriza a esta compuerta es: Z = A + B (se lee Z es igual a A or B).
NOT.- Un inversor es un circuito lógico que tiene una sola entrada y una sola salida. La salida del inversor se encuentra en el estado lógico "1" si y solo si, la entrada se encuentra en el estado lógico "0". Esto significa que la salida toma el estado lógico opuesto al de la entrada. Compuertas lógicas.

Las compuertas lógicas son circuitos electrónicos que operan con una o mas señales de entrada para producir una señal de salida. Estas compuertas son bloques de hardware que producen el equivalente de señales de salida, "1" y "0"
lógicos si se satisfacen requisitos de lógica de entrada.

Reducción de expresiones lógicas
Cuando se trabaja con circuitos digitales es muy común que al final se tenga un diseño o circuito con un número de partes (compuertas y otros) mayor al necesario. - La demanda de potencia del circuito sea menor.
- Es espacio necesario (en el circuito impreso) para la implementación del circuito será menor.
- El mantenimiento del circuito sea más fácil.
Operadores lógicos
Son operadores que permiten formular condiciones complejas a partir de condiciones simples.
Teorema De Morgan
(A•B) = A + B (NAND)
(A+B) = A B (NOR)

Para aplicar adecuadamente el teorema De Morgan, será necesario conocer las compuertas NAND (No Y) y NOR (No O).

La compuerta NAND o No Y
Una compuerta NAND (NO Y) se puede implementar con la concatenación de una compuerta AND con una compuerta NOT, como se muestra en la siguiente figura.
Símbolo de compuerta NAND Equivalente con compuertas AND y NOT
Al igual que en el caso de la compuerta AND, ésta se puede encontrar en versiones de 2, 3 o más entradas.

La compuerta NOR
Una compuerta NOR (No O) se puede implementar con la concatenación de una compuerta OR con una compuerta NOT, como se muestra en la siguiente figura.
Símbolo de compuerta NOR Equivalente con compuertas OR y NOT
Las tablas de verdad de estos tipos de compuertas son las siguientes:
A B X
0 0 1
0 1 0
1 0 0
1 1 0

Tabla de verdad de una compuerta NOR de 2 entradas

El circuito NAND (No Y) equivalente, el teorema de De Morgan
El circuito NAND equivalente es una forma alternativa de lograr el mismo resultado de una compuerta NAND como la que ya se conoce.
Se puede ver también que la fórmula booleana utilizada para el circuito equivalente da un resultado (F) igual al resultado de la fórmula booleana de la compuerta NAND (F).

Los pequeños círculos que están a la entrada de la compuerta OR reemplazan a las compuertas inversoras (el circulo pequeño es un inversor)

Tabla de verdad del circuito NAND equivalente
NAND
A B F
0 0 0
0 1 0
1 0 0
1 1 1
F = A . B Tabla de verdad de una compuerta NAND
Entonces: A . Este teorema es muy útil para simplificar
circuitos combinacionales booleanos, especialmente cuando existen expresiones grandes y complejas que están negadas (que tienen una línea horizontal en la parte superior) una o más veces.
El circuito NOR (No O) equivalente, el teorema de De Morgan
El circuito NOR equivalente es una forma alternativa de lograr el mismo resultado de una compuerta NOR como la que ya se conoce.
Los pequeños círculos que están a la entrada de la compuerta NAND reemplazan a las
compuertas inversoras (el circulo pequeño es un inversor)

Tabla de verdad del circuito NOR equivalente
NOR
A B F
0 0 1
0 1 0
1 0 0
1 1 0
F = A + B Tabla de verdad de una compuerta NOR
Entonces: A + B = A B
Esta ultima igualdad es llamada "El teorema de Morgan". ASIGNACION COMPLEMENTARIA
Describa la tabla de verdad, la expresión lógica y la correspondiente compuerta lógica de cada una de las leyes de álgebra Booleana.

RESUMEN DE CLASES.

UNIDAD 2

ALGORITMOS Y METODOLOGÍA DE LA PROGRAMACIÓN.

Concepto de Algoritmo
Un Algoritmo es un conjunto de pasos, procedimientos o acciones que nos permiten alcanzar un resultado o resolver un problema.

Etapas para la solución de un problema
Partiendo del hecho que el fin de un Algoritmo es “resolver un problema”, es conveniente seguir algunas etapas o fases para la solución de problemas:
Esquema 2.1. Etapas para la solución de un problema

Características de los Algoritmos
Precisión: Los pasos a seguir en el algoritmo deben ser representados claramente.
Determinismo: El algoritmo, dado un conjunto de datos idénticos de entrada, siempre debe arrojar los mismos resultados.

Secciones o módulos de un Algoritmo
Módulo 1: representa la operación o acción que permite el ingreso de los datos del problema.
Módulo 2: representa la operación o conjunto de operaciones secuenciales, cuyo objetivo es obtener la
solución al problema.

Fases para la resolución de problemas mediante estructuras algorítmicas
Las fases para la resolución de problemas mediante estructuras algorítmicas son los pasos sucesivos a seguir para la resolución de problemas con ayuda de la computadora. En términos generales un problema puede ser resuelto siguiendo tres fases:

Análisis del Problema
Esta fase requiere una clara definición donde se contemple exactamente lo que debe hacer el programa y el resultado o solución deseada. En la fase de
diseño se determina como hace el programa la tarea solicitada.
Cada programa bien diseñado consta de un programa principal (el módulo de nivel más alto) que llama a subprogramas (módulos) de nivel mas bajo, que a su vez pueden llamar a otros subprogramas.
Este proceso implica la ejecución de estos pasos hasta que el programa se ha terminado:
• Programar un módulo
• Comprobar el módulo
• Si es necesario, depurar el módulo
• Combinar el módulo, con el resto de los otros módulos

El diseño del algoritmo es independiente del lenguaje de programación en el que se vaya a codificar posteriormente.

Implementación del Algoritmo
Para implementar un algoritmo en la computadora, se debe ejecutar los siguientes pasos:
• Codificación
• Compilación y ejecución
• Verificación
• Depuración
• Documentación
Codificación: Es la escritura en un lenguaje de programación de la representación de un algoritmo. Dado que el diseño del algoritmo es independiente del lenguaje de programación utilizado en su implementación, el código puede ser escrito con igual facilidad en un lenguaje o en otro.
Esta operación se realiza con un editor de texto, posteriormente el programa fuente se convierte en un archivo de programa que se guarda en un disco.
El programa fuente debe ser traducido a lenguaje máquina. Si al compilar el programa fuente se presentan errores (errores de compilación), es necesario volver a editar el programa, corregir los errores y compilar de nuevo. Al ya no existir errores en el programa fuente se debe instruir al sistema operativo para que efectúe la fase de montaje o enlace, del programa fuente con las librerías del programa del compilador. Este proceso de montaje produce un programa ejecutable.
Suponiendo que no existen errores durante la ejecución (errores en tiempo de ejecución), se obtendrá la salida de resultados corre ctos del programa.
Verificación y depuración: Es el proceso de ejecución del programa con una amplia variedad de datos de entrada, llamados datos de test o prueba como son: valores normales de entrada, valores extremos de entrada que comprueben los límites del programa y valores de entrada que comprueben aspectos especiales del programa. Estos determinarán si el programa contiene errores o no.

Al ejecutar un programa se pueden producir tres tipos de errores:

Errores de Compilación: Se producen normalmente por un uso incorrecto de las reglas del lenguaje de programación, suelen ser errores de sintaxis.

Errores Lógicos: Se producen en la lógica del programa y la fuente del error suele ser el diseño del algoritmo, son más difíciles de detectar puesto que el programa puede funcionar y no producir errores de compilación ni de ejecución pero regresará resultados incorrectos. En este caso se debe regresar a la fase de diseño, modificar el algoritmo, cambiar el programa fuente y compilar y depurar una vez más.
La documentación puede ser interna y externa. La documentación externa incluye análisis, diagramas de flujo y/o pseudocódigos, manuales de usuarios con instrucciones para ejecutar el programa y para interpretar los resultados.
La documentación es vital cuando se desea corregir posibles errores futuros o bien cambiar el programa.
Estos cambios se denominan mantenimiento del programa.

Herramientas de Programación
Las herramientas de programación más utilizadas comúnmente para diseñar algoritmos son:
• Pseudocódigos
• Diagramas de flujo

Pseudocódigo
Es una herramienta utilizada para el diseño de programas que permite al programador expresar sus pensamientos de una forma clara, utilizando su lenguaje natural y mostrando el orden de ejecución de las sentencias del programa sin ninguna ambigüedad. El Pseudocódigo no está diseñado como lenguaje compilable. Pasar del programa escrito en Pseudocódigo al programa escrito en un lenguaje cualquiera de programación resulta muy sencillo.

Numéricos Encontramos los enteros y los reales Enteros: 7, 128, -15, 36, -74
Reales: 7.5, -12.6, 48.1, -365.9

Alfanuméricos
Son datos cuyo contenido pueden ser letras del abecedario (a, b, c, ...Pueden ser de tipo carácter (simples) y cadena de caracteres (estructurado).
- Los demás caracteres pueden ser letras (a, b, c, ...Constantes: son datos que no cambian durante la ejecución de un programa. Variables: son objetos que pueden cambiar su valor durante la ejecución de un programa.
- Estructuras de control
Por lo regular en un programa los enunciados son ejecutados uno después del otro, en el orden en que aparecen escritos. Todos los programas pueden ser escritos en términos de solo tres estructuras de control (estructuras algorítmicas),
a saber, la estructura de secuencia, la estructura de selección y la estructura de repetición (bucle o iteración).

Estructura de secuencia Independiente
La estructura de secuencia independiente se da cuando las acciones
pueden intercambiar su orden de ejecución sin alterar el resultado final.

Estructura de secuencia Dependiente
Se da cuando las acciones no pueden intercambiar su orden de ejecución
sin alterar el resultado final.

Estructuras de selección simples
Las estructuras de selección simples se conocen como “Si entonces” (IF
THEN).

Estructuras de selección dobles
Las estructuras de selección dobles se conocen como “Si
entonces / sino” (IF THEN / ELSE). 2.3.3. Estructura de repetición (bucle o iteración)
Las estructuras algorítmicas repetitivas están definidas por ciclos (conjunto de instrucciones que se
ejecutan repetidamente). Las estructuras de repetición se clasifican de la siguiente manera:

CLASIFICACION DE LAS ESTRUCTURAS ALGORITMICAS REPETITIVAS ESTRUCTURA REPETITIVA NOMBRE DESCRIPCIÓN
Repetir (para) FOR Es la estructura algorítmica adecuada para utilizar en un ciclo que se ejecutará un número definido de veces.
Hacer, Mientras DO WHILE Es considerado un bucle de prueba posterior, conocido como bucle controlado a la salida.
La sentencia para requiere que conozcamos por anticipado el número de veces que se ejecutan las sentencias del interior del bucle.
El pseudocódigo es el siguiente:
Desde cont <-- valor inicial hasta valor final hacer sentencias fin_desde
Al ejecutarse la sentencia para (o desde) la primera vez, el valor inicial se asigna a cont, que se denomina variable de control, y a continuación se ejecuta la sentencia del interior del bucle. Al llegar al final del bucle se verifica si el valor final es mayor que el valor inicial; en caso negativo se incrementa el
valor de la variable de control en uno y se vuelven a ejecutar todas las sentencias del interior del bucle,hasta que la variable de control sea mayor que el valor final, en cuyo momento se termina el bucle.

Los valores inicial y final pueden ser tanto expresiones como constantes.
• Es ilegal intentar modificar el valor de la variable de control, valor inicial y el valor final dentro del bucle.

Sentencia Mientras..Por esta razón a estos bucles se les denomina bucles condicionales.
Si se evalúa a falso, ninguna acción se realiza y el programa prosigue en la siguiente sentencia después del bucle. Este proceso se repite mientras que la expresión lógica sea verdadera.
La sentencia do while es considerada un bucle de prueba posterior, conocida como bucle controlado a la salida.
La sintaxis de la instrucción do while es:
Do
Instrucción;
while(expresión);

domingo, 3 de febrero de 2008

Mas Sobre la Nanotecnologia

http://www.fisicahoy.com/fisicaHoy/nanotecnologia/nano.html

http://www.el-planeta.com/futur/nano0700.htm

http://axxon.com.ar/rev/110/c-110Nanotecnologia.htm

La Nanotecnologia aplica a la Computacion

Las cosas han cambiado mucho desde las primeras computadoras electrónicas. El ENIAC I fue desarrollado en la Universidad de Pennsylvania en 1945. Estaba compuesto por más de 70.000 resistencias, 18.000 válvulas y 10.000 condensadores; pesaba 30.000 Kilos y ocupaba 1.300 metros cuadrados.

Pero el descubrimiento del chip, a mediados de los años setenta, ha reducido, por suerte para todos, el tamaño de los ordenadores. El primer 486 utilizaba tecnología de una micra (millonésima parte de un metro). Hasta hace poco tiempo, los Pentium tradicionales utilizaban tecnología de 0.35 y 0.25 micras. Los modelos más modernos han reducido esta valor hasta 0.18 micras, y recientemente, Intel y AMD han anunciado la tecnología de 0.13 micras.

Según algunos estudios, la potencia de las computadoras llegará a estancarse dentro de 10 años, porque el tamaño de los transistores no podrá reducirse indefinidamente. Según la famosa Ley de Moore (uno de los socios fundadores de Intel), “el número de transistores que caben en un chip de silicio se dobla cada 18 meses”. La segunda Ley de Moore, menos conocida, es “que el coste de fabricación de un chip se duplica cada año”. La reducción del tamaño de los transistores necesita utilizar maquinaria cada vez más perfecta. En la actualidad, construir una fábrica de creación de chips supone una inversión de unos 800 millones de dólares y se calcula que esta cifra se multiplicará por diez en los próximos años.

Mantener la tecnología basada en transistores supondría la quiebra para muchos fabricantes de chips porque no podrían soportar los altos costes. Por eso se están investigando nuevos sistemas dentro de la nanotecnología. Entre las soluciones que se están aplicando actualmente está la de sustituir el aluminio por el cobre en los conductores que conectan los transistores. El cobre es un 40% mejor conductor que el aluminio y mejora la velocidad de los procesadores. Pero presenta otros problemas. No se mezcla bien con el silicio, el material base de los transistores, y, además, es capaz de cambiar las propiedades eléctricas del sustrato.

Para solucionar este problema, la compañía IBM consiguió desarrollar un método, que consiste en introducir una barrera microscóspica entre el cobre y el silicio, y que elimina el rechazo. Este sistema está permitiendo fabricar chips con tecnología de 0.12 micras y cuyo coste de procesamiento es entre un 20 y un 30% menor que el de los chips basados en aluminio.

En septiembre de 2001, anunció que había conseguido unir el arsenio de galio, más caro pero mejor conductor de la electricidad, con el silicio. La compañía de telefonía afirmó que el nuevo semiconductor actúa a una velocidad de 70 gigahercios, 35 veces por encima de los actuales gigahercios de los procesadores más rápidos en las computadoras personales.

El lunes 3, Intel presentó en Washington una nueva estructura para transistores, que permitirá que los chips funcionen más rápido y consuman menos energía. Lo llaman el Transistor TeraHertz, porque su ciclo de encendido y apagado es de un billón de veces por segundo.

En un futuro no muy lejano, los PCs estarán compuestas, en lugar de transistores, por otros componentes como las moléculas, neuronas, bacterias u otros métodos de transmisión de información. Entre estos proyectos se encuentra el futuro ordenador “químico”, desarrollado por científicos de Hewlett-Packard y de la Universidad de California (Los Ángeles). Los circuitos de este nuevo modelo son moléculas, lo que supone transistores con un tamaño millones de veces más pequeños que los actuales.

El proyecto de chip molecular sustituirá al silicio y a la óptica, en favor de la química, más manipulable. Se prevé que se podrán fabricar computadoras del tamaño de una mota de polvo y miles de veces más potentes que los existentes. De momento, se ha conseguido simular el cambio de una molécula, mediante su rotura, pero falta crear moléculas que se curven sin romperse.

También es necesario fabricar otros conductores, porque los existentes no sirven. Los experimentos con nanotubos de carbón (milmillonésima parte de un metro) para la conducción de información entre las moléculas ya han dado resultados. IBM acaba de anunciar que ha conseguido crear un circuito lógico de ordenador con una sólo molécula de carbono, una estructura con forma de cilindro 100.000 veces más fino que un cabello. Este proyecto permite introducir 10.000 transistores en el espacio que ocupa uno de silicio.

Este mes de noviembre científicos israelitas , del , presentaron una computadora con del ADN tan diminuta que un millón de ellas podría caber en un tubo de ensayo y realizar 1.000 millones de operaciones por segundo con un 99,8 por ciento de precisión. Es la primera máquina de computación programable de forma autónoma en la cual la entrada de datos, el software y las piezas están formados por biomoléculas . Los programas de la microscópica computadora están formados por moléculas de ADN que almacenan y procesan la información codificada en organismos vivos.
La posibilidad de desarrollar miniordenadores de cien a mil veces más potentes que los actuales podría suponer que éstos tuvieran inteligencia propia, lo que cambiaría los sistemas de comunicaciones. Por ejemplo, los datos podrían transmitirse con imágenes visuales mediante “displays” incorporados en forma de lentillas. La comunicación telefónica se realizaría por audioconferencias en 8 o 10 idiomas.

Los desarrollos en Nanotecnología se están aplicando también a los sistemas de seguridad. La empresa taiwanesa Biowell Technology presentó, en agosto, un sintetizado que puede utilizarse para probar la autenticidad de pasaportes y otros documentos y tarjetas, con el fin de evitar el pirateo.

Este chip podrá utilizarse también en tarjetas de débito, carnés, matrículas de automóviles, permisos de conducir, discos compactos, DVD, programas informáticos, títulos y valores, bonos, libretas bancarias, antigüedades, pinturas, y otras aplicaciones en las que se necesite comprobar la autenticidad.

Nanotecnologia secretos ocultos e inmortalidad

El siglo XXI está siendo testigo de una nueva revolución científica e industrial de la mano de la Nanotecnología, la manipulación de la materia a escala molecular. Nanorobots circulando por las arterias, aparatos que se auto- replican, materiales que se auto-reparan, ordenadores invisibles, chips con ADN, biochips, nanosatélites y teleportación de la materia, son sólo algunos de los prodigios que anuncia la ciencia para el nuevo milenio.

Introducción

La nanotecnología tiene grandes posibilidades de convertirse en la tecnología clave en las próximas décadas. Las nanotecnologías -técnicas de manipulación o control a escala nanotécnica e incluso molecular o atómica- estarán presentes en todos los campos de las ciencias y supondrán, según los expertos, una revolución.

Los futuros desarrollos de esta tecnología, como la micromecanización tridimensional, microsensores, materiales nanoestructurados, así como los sistemas microelectromecánicos, se aplicarán tanto a la computación, a la producción de medicamentos o al desarrollo de materiales cada vez día más diminutos. En todos los países situados a la cabeza del desarrollo tecnológico, cobran cada día más relevancia las investigaciones de la Nanotecnología aplicadas a distintos campos como la aeronáutica y el espacio, las comunicaciones y multimedia, la biomedicina o el control de procesos industriales. De hecho, el gobierno de Bill Clinton anunció, el año pasado, la Iniciativa Nacional para la Nanotecnología con un presupuesto de 422 millones de dólares.

Los Problemas de la Nanotecnologia...

Las nanotecnologías prometen beneficios de todo tipo, desde aplicaciones médicas nuevas o más eficientes a soluciones de problemas ambientales y muchos otros; sin embargo, la mayoría de la gente todavía no sabe de qué se trata.

Las nanotecnologías son un conjunto de técnicas que se utilizan para manipular la materia a la escala de átomos y moléculas. Nano es una medida, no un objeto. A diferencia de la biotecnología, donde “bio” indica que se manipula la vida, la nanotecnología habla solamente de una escala.

Un nanómetro es la millonésima parte de un milímetro. Para comprender el potencial de esta tecnología es clave saber que las propiedades físicas y químicas de la materia cambian a escala nanométrica, lo cual se denomina efecto cuántico. La conductividad eléctrica, el color, la resistencia, la elasticidad, la reactividad, entre otras propiedades, se comportan de manera diferente que en los mismos elementos a mayor escala.

El oro se ve amarillo a simple vista mientras que las nanopartículas de oro son rojas. El dióxido de titanio que se usa desde hace décadas como protector solar y aditivo alimentario es blanco, pero a nanoescala es transparente. El grafito que encontramos en los lápices se compone solamente de átomos de carbono y es muy blando, pero los mismos átomos de carbono, estructurados como nanotubos (llamados fulerenos), forman materiales más resistentes que el acero y mucho más livianos.

Las aplicaciones más usadas comercialmente a escala mundial son las nanopartículas -fabricadas para cambiar las propiedades que tienen esos elementos a mayor tamaño o combinarlas con otros materiales otorgándole nuevas propiedades- y las nanocápsulas, pequeños contenedores de sustancias para su liberación controlada, por ejemplo en administración de medicamentos, cosméticos, o agrotóxicos, que no se liberan hasta entrar en contacto con ciertos tejidos en humanos, animales o plantas.

En el mercado ya existen cerca de 475 productos que usan nanotecnología: protectores solares, cosméticos, aditivos alimentarios, plaguicidas, textiles (por ejemplo en camisas y pantalones), barnices, recubrimientos y membranas que se aplican a artículos del hogar, chips electrónicos, sensores y dispositivos para diagnóstico. La Fundación Nacional de la Ciencia de Estados Unidos estima que en 2012 la mitad de la industria farmacéutica se basará en la nanotecnología.

Pese a que la nanotecnología ya está ampliamente en contacto con nuestra vida cotidiana, casi no existen estudios sobre sus potenciales efectos negativos. Hay escasos estudios sobre los problemas que podría acarrear en la salud y el ambiente, y prácticamente ninguno en torno al impacto político, militar y en las economías, sobre todo de los países del sur.

Para tomar uno de los aspectos que más preocupan, veamos qué se sabe respecto a los impactos en la salud.

En 1997 investigadores de la Universidad de Oxford y la Universidad de Montreal mostraron que el dióxido de titanio y el óxido de zinc usados como nanopartículas en la mayoría de los bloqueadores solares producen radicales libres en las células de la piel, dañando el ADN. Ambas sustancias se usan hace décadas como protectores solares, pero debido a que son blancos y opacos en su formulación de mayor tamaño sólo los usaban quienes tenían más exposición al sol a causa de su trabajo. Ahora, al ser transparentes, se ha generalizado su aplicación.

El mismo efecto de producir radicales libres se observó en cosméticos que usan nanopartículas (la mayor parte de las cremas antiarrugas y otros cosméticos de efecto rápido), convirtiéndolas en una contradicción en sí mismas, ya que los radicales libres aceleran el envejecimiento de las células.

L’Oreal, una de las empresas que más utiliza este sistema, conoce estos efectos y alega que ha recubierto las nanopartículas con otras sustancias, además de agregarles factores que combaten los radicales libres que originan. Imaginen el coctel que uno se aplica en la piel.

En 2002, el Centro de Nanotecnología Biológica y Ambiental de la Universidad de Rice, Houston, informó que las nanopartículas se acumulan en los órganos de animales de laboratorio (hígado y pulmones). Esto podría dar origen a tumores, al igual que el daño del ADN. Los nanotubos, similares a finísimas agujas, podrían clavarse en los pulmones con efectos parecidos al que provoca el asbesto.

En 2003 en un estudio solicitado por el Grupo ETC, el tóxico-patólogo Vyvyan Howard concluyó que el tamaño de las nanopartículas, más que el material que las constituye, es un riesgo en sí mismo porque aumenta exponencialmente su potencial catalítico y el sistema inmunológico no las detecta, pese a que atraviesan, por ejemplo, la barrera sanguínea que rodea el cerebro, con efectos potencialmente tóxicos por sí mismas o por lo que pueda adherirse a ellas y pasar de polizón.

En 2004, Howard informó en una conferencia mundial sobre nanotoxicidad que las nanopartículas se mueven de la madre al feto por medio de la placenta. Ese mismo año un informe presentado en la reunión de la Asociación Americana de Química mostró que las nanoesferas de carbono disueltas en agua, simulando un grado de contaminación ambiental común, dañan el cerebro de los peces y provocan mortandad en pulgas de agua.

Estamos ante la liberación masiva al ambiente, al cuerpo humano, animal y vegetal, de partículas construidas artificialmente para las que los organismos no tienen ninguna prevención.

lunes, 28 de enero de 2008

Nanotecnologia en los adhesivos.

La introducción de la Nanotecnologia en los adhesivos:

Desde su introducción, la tecnología de One-Bottle-Bond™ (adhesivo monocomponente) en Prime&Bond ha producido excelentes resultados. Como breve resumen, base nombrar la Alta tasa de retención, una calidad marginal excelente, ausencia de decaimientos recurrentes y unas propiedades del manejo excelentes.

La tradición de innovación en este adhesivo continua hoy con la incorporación a su formula de nanoparticulas. Estas partículas de carga de escala nanometrica son 100 veces mas pequeñas que las partículas de relleno tradicionales incorporados en composites o compomeros para aumentar su resistencia. Estas pequeñas partículas refuerzan significativamente el adhesivo manteniendo sus propiedades esenciales de alto rendimiento adhesivo.

Las nanoparticulas tienen el tamaño perfecto para penetrar entre los típicas micro retenciones creadas por el grabado ácido al igual que entre los mas pequeños tubulos dentinarios. El tamaño de la partícula es aproximadamente 7 nanometros (un nanometro es igual a 1/1000 micras). Una vez allí, estas diminutas partículas refuerzan los componentes naturales de la dentina mientras se crea el ambiente adecuado para una perfecta unión entre la sustancia del diente y el material restaurador.

Usos de la Nanotecnologia.

Algunos usos de Nanotecnologia:

La Miniaturización:

La reducción de los componentes electrónicos, conocida también como nanotecnologia, (Drexler, 1993: 20-25) cercana a las dimensiones correspondientes a 10-9 o 10-13 es un elemento que le ha permitido a la computadora concretar su proceso de difusión. El objetivo fundamental de este proceso es incrementar su portabilidad, su autonomía, en suma su movilidad, conmutabilidad y oportunidad. Como un resultado que busca su adaptación forzosa a las necesidades de espacio y de tiempo de la vida moderna.

El proceso de fabricación de computadoras ha pasado con velocidad vertiginosa de los sistemas operados con válvulas de vació (conocidas como bulbos o ampollas de vació); a los semiconductores tradicionales (conocidos como transistores de tipo PNP o NPN); de ahí a los sistemas creados con base en circuitos integrados y por ultimo a los microprocesadores que realizan procesos de manera paralela.

Desde los anos sesenta que fue la década en la que se crearon los primeros circuitos integrados; el numero de componentes electrónicos alojados en los “chips” se ha duplicado casi anualmente - como dato promedio -. Aunque no se puede ubicar aquí la frontera en esta área tecnológica. El surgimiento de nuevos materiales y tecnologías permiten visionar el desarrollo de computadoras que operen con pequeños impulsos eléctricos o electroquímicos o simplemente con agua.

Crea maquina microscópica capaz de manipular cadenas de ADN:

Un equipo de científicos ha armado una pieza móvil de unas pocas hebras de ácido dioxirribonucleico, y dice que se trata del primer paso hacia la construcción de “maquinas” ultramicroscópicas que algún día podrían ejecutar en espacios microscópicos tareas tan complejas como fabricar circuitos electrónicos y despejar vasos sanguíneos obstruidos en el cerebro. La pieza en forma de gozne, a la que es posible mover a voluntad, tiene apenas cuatro diez milésimas del espesor de un cabello humano.

El nuevo experimento no representa la primera vez que los científicos han armado piezas móviles a partir de compuestos químicos. Pero los ejemplos anteriores han tenido el defecto de ser harto flácidos. Sin embargo, el artefacto de ADN es particularmente rígido y ejecuta movimientos 10 veces mayores, dijo Nadrian C. Seedman, director del equipo de investigador.

El artefacto fue armado uniendo dos espirales bifurcadas de ADN con un puente de ADN. Parte de la estructura se retuerce cuando se le aplica una cierta solución química.

Un grupo de cinco científicos de Colombia, Alemania, Estados Unidos, Inglaterra y Corea, desarrollaron una técnica que permite almacenar mil veces mas información en un disco duro de un computador mucho mas pequeño que uno tradicional.

El disco duro de una computadora esta hecho con base en capas delgadas magnéticas, normalmente elaboradas con hierro y cromo, que permite almacenar la información. El disco duro de una computadora personal convencional tiene un diámetro de siete centímetros.

La nueva técnica, perfeccionada en Estados Unidos, por científicos de varios países, consiste en cambiar la composición del disco duro convirtiendo las capas en puntos magnéticos del tamaño de una millonésima parte de un milímetro, lo que implica que diez millones de puntos magnéticos, colocados uno seguido del otro, sin dejar espacio, ocuparían solo un centímetro de longitud.

Con esta herramienta tecnológica, en un centímetro lineal de puntos magnéticos que equivalen al tamaño de la cabeza de un alfiler, se podrá acumular mas información que un disco duro convencional. El ínfimo tamaño de los puntos magnéticos, elaborados con base en átomos de níquel o cobalto, con aleaciones de hierro, es tal que solo se mide en manómetros, de ahí que esta tecnología reciba el nombre de nanotecnologia.

La nanotecnologia esta reemplazando a la microelectrónica por que aumenta la fiabilidad de la información que guarda, la capacidad de almacenar y disminuye ostensiblemente el tamaño de cualquier componente o equipo tecnológico.

La Nanotecnologia

¿Qué es la nanotecnología?

La idea de los científicos que desarrollan proyectos nanotecnologicos no solo aspira a la ubicación de átomos a nivel individual, sino a la creación de maquinas moleculares capaces de crear, átomo a átomo, todo lo que hoy nos rodea o lo que deseemos tener en el futuro. En las palabras del propio Eric Drexler: “Puestos en orden de una manera, los átomos componen aire, tierra, agua. Con otro diseño, los átomos forman unas fabulosas fresas frescas.”

Suena fantástico. Si aprendemos a diseñar la distribución atómica como lo hace la naturaleza podemos establecer un inesperado e inimaginado control sobre la materia que nos rodea. O sobre nuestros cuerpos. Por ejemplo, podríamos darle un giro inverso al proceso de envejecer colocando los átomos de forma inversa. Volver a la juventud simplemente cambiando el diseño de nuestros moléculas…

Ensamblaje molecular:

Para llegar ahí, hay que crear maquinas de ensamblaje molecular, que a su vez crearan otras mayores. Este proceso sigue hasta que las maquinas de ensamblaje quedan configurar el producto final, utilizando como única materia prima cantidades amorfas de los átomos necesarios. Por ejemplo, seres humanos utilizarían dentro de su cuerpo maquinas moleculares de proteínas y enzimas que llevan a cabo funciones de nivel nano e incluso sub-nano.

La nanotecnologia es todavía altamente teórica. Para apreciar lo pequeño que es un átomo: un átomo es un 1/10.000 del tamaño de una bacteria, a su vez un 1/10.000 del tamaño de un mosquito.

Composición de nanoengranajes:

Estas nanoestructuras están completamente construidas de átomos de Carbón. Los diferentes colores en la estructura son usados únicamente para clarificar la simulación de la dinámica molecular. Estas estructuras fueron construidas en dos partes, primero el engranaje y luego la columna. Esta estructura fue construida en el centro Naval de investigación de los Estados Unidos, utilizando reglas estándares para formas superficies cerradas.
El calculo utilizado fue :

numero_pentagonos - numero_heptagonos - 2*numero_octagonos = 12

Para producir este engranaje se usaron cuatro pentágonos en la punta un diente y un octágono entre la esquina adyacente y la del pentágono. Este posicionamiento de los polígonos nos da 24 pentágonos y 6 octágonos que si los ponemos en la
ecuación dada nos daría:

24 - 2*6 = 12

Satisfaciendo la regla para generar una superficie cerrada.
Al lado de estos engranajes se ponen las columnas apropiadas. En este caso una parte de un cilindro hecho con grafito. Para unir estas columnas al engranaje se requiere de un cilindro de forma simétrica al engranaje.

La Nanotecnologia molecular da la posibilidad de desmembrar las moléculas, átomo por átomo, para luego transportarlos a velocidades cercanas a la de la luz y construir la misma molécula pero en otra parte; incluyendo por supuesto las moléculas biológicas humanas.

Por otra parte, se encuentra la aplicación de esta tecnología en la medicina no intrusiva o aquella que no utiliza los métodos tradicionales. Por ejemplo, con esta herramienta no es necesario someter al paciente a una complicada operación, sino que pueden emplearse robots inmersos en la corriente sanguínea que podrán operar a control remoto. También la nanotecnologia Serra de gran ayuda en la creación de dispositivos sintético-biológicos y otros adelantos en este campo.

sábado, 26 de enero de 2008

Formación Academica.

CURRICULUM VITAE

NOMBRE
Sully Marjorie Hernández Puquir

LUGAR Y FECHA DE NACIMIENTO
11 de julio de 1986


ESTADO CIVIL
Soltera


ESTUDIOS REALIZADOS

EDUCACION PRIMARIA. 1° a 6° Grados.
1° Grado “Escuela Parroquial San Luis”. 1993
2° Grado “Escuela Parroquial San Luis” y “Liceo 10 de Mayo” 1994
3° Grado “Colegio Alfredo Espino”. 1995
4°-6° Grado “Colegio Cultural Renovación”.1996/1998


TERCER CICLO EDUCACION BASICA. 7°,8°,9° Grados
7°-8° Grado del Tercer ciclo de Educación Básica “Colegio Juan Amos Comenio”. 1999/2000
9° Grado del Tercer Ciclo de Educación Básica “Colegio Cristiano Jardines de San José”.2001


BACHILLERATO ACADEMICO OPCION CONTADURIA
1° - 3° Año “Colegio Cristiano Jardines de San José”. 2002/2004

Mis Expectativas de la Materia.
Como Estudiante espero poder aprender mucho sobre la programacion y asi poder poner en practica todo lo aprendido en las siguientes materias de la programacion, poder llegar aprender en su plenitud todo con respecto a la programcion.

Portafolio

Carta de Presentacion.

Mi nombre es Sully Marjorie Hernández Puquir, estudio en la Universidad Don Bosco la carrera de Ing. en Ciencias de la Computacion.
Bueno soy una persona de alegre, divertida, una buena amiga en quien puedes confiar siempre, me gusta mucho la computacion especialmente la parte de diseño en paginas web y programacion, me gustaria poder llegar hacer una gran ingeniera en algun futuro y poder brindar mis conocimientos a las demas personas que me rodean, llegar a poder ser una programadora eficiente y eficaz y que toda mi familia, amigos, compañeros, se sientan orgullosos de mi...



Mision de la UDB.

“Brindar servicios cualificados de educación superior, científicos y tecnológicos con una sólida base humanística al servicio de las personas, con énfasis en los jóvenes más pobres, que les capacite para ser protagónicos frente a las necesidades cambiantes de la sociedad iluminados por el Evangelio”.



Mision del Estudiante.

Como estudiante mi mision es poder llegar a culminar todos mis estudios y poder desarrollarme como prefesional, aplicando todos mis conociemientos en la programacion, diseños de pagina web y poder llegar a ser una buena diseñadora en software.



Ideario de la UDB

"En la Universidad Don Bosco, a la luz del Evangelio y fieles al carisma salesiano, educamos y promovemos el desarrollo integral de la persona humana; contribuyendo universitariamente a la construcción, en la verdad, de una sociedad libre, justa y solidaria."