martes, 8 de septiembre de 2009

REFERENDO

Apartir del referendo calcular los votos a favor, votos en contra, votos en blanco y total de votos.

SOLUCION:

Objetivos

Determinar la cantidad de votos a favor y en contra del refendo en el congreso colombiano.

Descripción del problema

Desarrollar un algoritmo que permita determina la cantidad de votos a favor, encontrar, votos en blanco, y % de participacion.

Identificación de Los datos

Entrada: voto

Salida: Votos si, Votos no, Votos Blanco, % participación

Procesos

Datos internos:

Acciones Atómicas:

  1. Ingrese el tipo de voto
  2. 1 = si, 2 = no, 3= blanco,
  3. Lea el voto
  4. mientras votos = 100
  5. Cuantos Votos Si =1
  6. Cuantos votos no = 2
  7. Cuantos Votos blanco = 3
  8. Calcule el No. Votos = 1+2+3
  9. Calcule votos si = (1 * No. Votos) / 100
  10. Calcule votos no = (2 * No. Votos) / 100
  11. Calcule votos blanco = (3 * No. Votos) / 100
  12. fin mientras que
  13. muestre
  14. votos si =
  15. Votos No =
  16. Votos Blanco =
  17. % votos si
  18. % votos no
  19. % votos blanco
  20. No. Votos

Curso de Acción: Ingrese voto, calcule No. Votos, Muestre resiltados

Secuenciación: 1,2,3,4,5,6

Estructuras de Control:

Algoritmos


lunes, 7 de septiembre de 2009

Robots Inteligentes

Los Robots Inteligentes Autónomos son la nueva generación
Están situados en su entorno, adoptan comportamientos, razonan, evolucionan y actúan como seres vivos
/noticias.info/ Al menos seis campos de investigación estructuran hoy la robótica avanzada: la que relaciona al robot con su entorno, la conductual, la cognitiva, la epigenética o de desarrollo, la evolutiva y la biorrobótica. Es un gran campo de estudio interdisciplinar que se apoya en la ingeniería mecánica, eléctrica, electrónica e informática, así como en las ciencias física, anatomía, psicología, biología, zoología y etología, entre otras. El fundamento de estas investigaciones es la Ciencia Cognitiva Corporizada y la Nueva Inteligencia Artificial. Su finalidad: alumbrar robots inteligentes y autónomos que razonan, se comportan, evolucionan y actúan como las personas. Por Sergio Moriello. La robótica inteligente autónoma es un enorme campo de estudio multidisciplinario, que se apoya esencialmente sobre la ingeniería (mecánica, eléctrica, electrónica e informática) y las ciencias (física, anatomía, psicología, biología, zoología, etología, etc.). Se refiere a sistemas automáticos de alta complejidad que presentan una estructura mecánica articulada –gobernada por un sistema de control electrónico– y características de autonomía, fiabilidad, versatilidad y movilidad. En esencia, los “robots inteligentes autónomos” son sistemas dinámicos que consisten en un controlador electrónico acoplado a un cuerpo mecánico. Así, estas máquinas necesitan de adecuados sistemas sensoriales (para percibir el entorno en donde se desenvuelven), de una precisa estructura mecánica adaptable (a fin de disponer de una cierta destreza física de locomoción y manipulación), de complejos sistemas efectores (para ejecutar las tareas asignadas) y de sofisticados sistemas de control (para llevar a cabo acciones correctivas cuando sea necesario) [Moriello, 2005, p. 172]. Robótica Situada (Situated Robotics) Este enfoque se ocupa de los robots que están insertos en entornos complejos y, a menudo, dinámicamente cambiantes [Mataric, 2002]. Se basa sobre dos ideas centrales [Florian, 2003] [Muñoz Moreno, 2000] [Innocenti Badano, 2000]: los robots a) “están corporizados” (embodiment), es decir, tienen un cuerpo físico apto para experimentar su entorno de manera directa, en donde sus acciones tienen una realimentación inmediata sobre sus propias percepciones, y b) “están situados” (situatedness), o sea, están inmersos dentro de un entorno; interaccionan con el mundo, el cual influye –de forma directa– sobre su comportamiento. Obviamente, la complejidad del entorno tiene una relación estrecha con la complejidad del sistema de control. En efecto, si el robot tiene que reaccionar rápida e inteligentemente en un ambiente dinámico y desafiante, el problema del control se torna muy difícil. Si el robot, en cambio, no necesita responder de manera rápida, se reduce la complejidad requerida para elaborar el control. Dentro de este paradigma, se encuentran varios subparadigmas: la “robótica basada en el comportamiento”, la “robótica cognitiva”, la “robótica epigenética”, la “robótica evolutiva” y la “robótica biomimética”. Robótica Basada en el Comportamiento o la Conducta (Behaviour-Base Robotics) Este acercamiento emplea el principio conductista: los robots generan un comportamiento sólo cuando se los estimula; es decir, reaccionan ante los cambios de su entorno local (como cuando alguien toca accidentalmente un objeto caliente). Aquí, el diseñador divide las tareas en numerosas y diferentes comportamientos básicos, cada una de los cuales se ejecuta en una capa separada del sistema de control del robot. Típicamente, estos módulos (conductas) pueden ser la de evitar obstáculos, caminar, levantarse, etc. Las funciones inteligentes del sistema, tales como percepción, planificación, modelado, aprendizaje, etc. emergen de la interacción entre los distintos módulos y el entorno físico en donde está inmerso el robot. El sistema de control –totalmente distribuido– se construye de manera incremental, capa por capa, a través de un proceso de ensayo y error, y cada capa es responsable únicamente de una conducta básica [Moriello, 2005, p. 177/8]. Los sistemas basados en la conducta son capaces de reaccionar en tiempo real, ya que calculan las acciones directamente a partir de las percepciones (a través de un conjunto de reglas de correspondencia situación-acción). Es importante observar que el número de capas aumenta con la complejidad del problema. De este modo, una tarea muy compleja puede estar más allá de la capacidad del diseñador (es muy complicado definir todas las capas, sus interrelaciones y dependencias) [Pratihar, 2003]. Otro inconveniente es que, debido a la presencia de varias conductas y a su dinámica individual de interacción con el mundo, muchas veces es difícil decir que una serie de acciones en particular ha sido producto de una conducta particular. Algunas veces varias conductas trabajan simultáneamente, o están intercambiándose rápidamente. Aunque tal vez alcancen la inteligencia del insecto, probablemente los sistemas construidos a partir de este enfoque tengan habilidades limitadas, ya que no tienen representaciones internas [Dawson, 2002]. En efecto, este tipo de robots presentan una gran dificultad para ejecutar tareas complejas y, en las más sencillas, no se garantiza la mejor solución, la óptima. Robótica Cognitiva (Cognitive Robotics) Esta aproximación utiliza técnicas provenientes del campo de las Ciencias Cognitivas. Se ocupa de implementar robots que perciben, razonan y actúan en entornos dinámicos, desconocidos e imprevisibles. Tales robots deben tener funciones cognitivas de muy alto nivel que impliquen razonar, por ejemplo, acerca de las metas, las acciones, el tiempo, los estados cognitivos de otros robots, cuándo y qué percibir, aprender de la experiencia, etc. Para eso, deben poseen un modelo simbólico e interno de su entorno local, y la suficiente capacidad de razonamiento lógico para tomar decisiones y para ejecutar las tareas necesarias a fin de alcanzar sus objetivos. En pocas palabras, esta línea de trabajo se ocupa de implementar características cognitivas en los robots, tales como percepción, formación de conceptos, atención, aprendizaje, memoria a corto y largo plazo, etc. [Bogner, Maletic y Franklin, 2000]. Si se consigue que los robots desarrollen por sí mismos sus capacidades cognitivas, se evitaría el programarlos “a mano” para cada tarea o contingencia concebible [Kovács, 2004]. Asimismo, si se logra que los robots utilicen representaciones y mecanismos de razonamiento similares a la de los humanos, se podría mejorar la interacción hombre-máquina, así como las tareas de colaboración. Sin embargo, se necesita un elevado poder de procesamiento (en especial si el robot cuenta con numerosos sensores y actuadores) y mucha memoria (para representar el espacio de estados). Robótica de Desarrollo o Epigenética Este enfoque se caracteriza porque trata de implementar sistemas de control de propósito general, a través de un prolongado proceso de desarrollo o auto-organización autónoma. Como resultado de la interacción con su entorno, el robot es capaz de desarrollar diferentes –y cada vez más complejas– capacidades perceptuales, cognitivas y comportamentales. Se trata de un área de investigación que integra la neurociencia del desarrollo, la psicología del desarrollo y la robótica situada. Inicialmente el sistema puede estar dotado de un pequeño conjunto de conductas o conocimientos innatos, pero –gracias a la experiencia adquirida– es capaz de crear representaciones y acciones más complejas. En síntesis, se trata de que la máquina desarrolle autónomamente las habilidades adecuadas para un determinado entorno particular transitando por las diferentes fases de su “desarrollo mental autónomo”. La diferencia entre la robótica de desarrollo y la robótica epigenética –a veces agrupadas bajo la denominación de “robótica ontogenética” (ontogenetic robotics)– es algo sutil, ya que se refiere al tipo de entorno. En efecto, mientras la primera hace referencia únicamente al entorno físico, la segunda toma en cuenta también al entorno social. El término epigenético (más allá de lo genético) fue introducido –en la psicología– por el psicólogo suizo Jean Piaget para designar su nuevo campo de estudio que enfatiza la interacción sensomotriz de la persona con el entorno físico, en lugar de tener en cuenta solamente a los genes. Por otra parte, el psicólogo ruso Lev Vygotsky complementó esta idea con la importancia de la interacción social. Robótica Evolutiva (Evolutionary Robotics) Este acercamiento aplica los conocimientos obtenidos de las Ciencias Naturales (biología y etología) y de la Vida Artificial (redes neuronales, técnicas evolutivas y sistemas dinámicos) sobre robots reales, a fin de que desarrollen sus propias habilidades en interacción íntima con el entorno y sin la intervención humana. Mediante un diseño fijo, es difícil lograr que un robot se adapte (se auto-organice) a un entorno dinámico que evoluciona –a menudo– mediante cambios caóticos. De allí que la robótica evolutiva puede proporcionar una adecuada solución a este problema, ya que la máquina puede adquirir automáticamente nuevos comportamientos dependiendo de las situaciones dinámicas que se presentan en el entorno en donde está situada. A través de la utilización de técnicas evolutivas (algoritmos genéticos, programación genética y estrategia evolutiva), se puede decidir evolucionar el sistema de control o algunas características del cuerpo del robot (morfología, sensores, actuadores, etc.) o co-evolucionar ambas. De igual manera, se puede decidir evolucionar físicamente el hardware (los circuitos electrónicos) o el software (los programas o las reglas de control). No obstante, poco hay hecho sobre hardware evolutivo [Fernández León, 2004] y, normalmente, lo que se hace es evolucionar primero el controlador en una simulación por computadora y, sólo después, se lo transfiere a los robots reales. El controlador del robot consiste típicamente en redes neuronales artificiales, y la evolución consiste en modificar los pesos de las conexiones de dicha red. En la actualidad, el principal inconveniente del control evolutivo es su lenta velocidad de convergencia y la considerable cantidad de tiempo que tiene que pasar para llevar a cabo el proceso evolutivo sobre un robot real [Pratihar, 2003]. Asimismo, no es apropiado para resolver problemas de creciente complejidad [Fernández León, 2004]. Robótica Biomimética, Biorrobótica o Robótica Inspirada Biológicamente Esta aproximación se ocupa de diseñar robots que funcionan como los sistemas biológicos, de allí que se basan sobre las Ciencias Naturales (biología, zoología y etología) y la robótica. Dado que los sistemas biológicos realizan muchas tareas de procesamiento complejas con máxima eficiencia, constituyen una buena referencia para implementar sistemas artificiales que ejecuten tareas que los seres vivos realizan de forma natural (interpretación de la información sensorial, aprendizaje de movimientos, coordinación motora, etc.) [Ros, et al, 2002]. Aunque es posible obtener diferentes grados de “inspiración biológica” (desde una vaga semejanza hasta una aceptable réplica), el objetivo último es realizar máquinas y sistemas cada vez más similares al original [Dario, 2005]. La ventaja de construir bio-robots es que, como es posible estudiar todos sus procesos internos, se los puede contrastar con los diferentes órganos del animal del cual se inspira. En la actualidad, los científicos desarrollan langostas, moscas, perros, peces, serpientes y cucarachas robóticas, con el fin de emular –en mayor o mayor medida– la conducta robusta, flexible y adaptable de los animales. No obstante, pocas máquinas se parecen a sus homólogos naturales. Replicar la biología no es fácil y podría pasar bastante tiempo antes de que se puedan fabricar robots biomiméticos que resulten verdaderamente útiles. Otro problema –quizás el principal– es que, aunque se conoce muy bien los diferentes procesos de muchos de estos seres vivos, hay una diferencia abismal con sus equivalentes humanos. En efecto, el modo en el que percibe y actúa el hombre es extremadamente más complejo que como lo hace una langosta, por dar un ejemplo. Sergio Alejandro Moriello es Ingeniero en Electrónica (1989), Postgrado en Periodismo Científico (1996), Postgrado en Administración Empresarial (1997), Especialista en Ingeniería en Sistemas de Información (2005), Cursando Maestría en Sistemas de Información por la UTN-FRBA (terminada la Tesis). Es autor de los libros Inteligencias Sintéticas e Inteligencia Natural y Sintética.

Clase N 4

01 de Septiembre se 2009, en esta clase el profesor explico un ejercicio de programacion en Java Script, en donde nos eseño algunos comando de la programacion de JavaScript, analisamos el ejercicio en forma de problemas y diagramas de flujo.

Se realizo un quiz con la elaboracion de un problemas, pero al parecer ninguno pudo desarrollarlo.

Se programo el parcial para la proxima clase, del curso ON LINE de javaScript.

lunes, 31 de agosto de 2009

Noicia de intere

En Tokio, un numero elevado de usuarios utiliza la bicicleta para desplazarse en su día a día pero el estacionamiento de estas a veces resulta ser un problema. Para solventar el problema del aparcamiento se ha construido un parking subterráneo robotizado de bicicletas que funciona con RFID (identificación por radiofrecuencia). El usuario mediante una tarjeta puede dejar su bicicleta en el parking donde un sistema robotizado de plataforma se encarga de estacionarla. De igual manera, al finalizar el día, podrá retirarla. El servicio cuesta unos 19 dólares al mes y el tiempo que lleva recuperar la bicicleta una vez aparcada es de 10 segundos.

TERCERA CLASE

Estsa clase tuvo lugar el dia 25 de Agosto de 2009, donde se vieron los siguientes temas:

* Se realizo un quiz para sustentar el trabajo escrito sobre el libro de Joyanes.
* Verificacion de los blogs de cada estudiante, para que esten registrados en el blog de la clase.
* Revision de los blogs de los estudiantes por parte del profesor.
* Se planteo la opcion de hacer un computador de una forma muy particular, con materiales y formas, autenticas, sean diseñodos por nosotros.
* Se realizo una breve explicacion por parte del profesor sobre programacion de computadores con el lenguaje Java Scrip.

lunes, 24 de agosto de 2009

ROBOT QUE EVALUA TEJIDOS

18-Septiembre-2008: Robot evalúa capas de tejido con una precisión nanométrica (ver)
El robot NanoZoomer es capaz de mostrar con una resolución extremadamente elevada muestras de tejido en diversos planos para así ayudar a la comprensión del cáncer. Esto permite la evaluación en detalle del efecto producido por los tratamientos contra el cancer en células y tejidos. Este desarrollo es el resultado de la cooperación del instituto de patología médica y de biométrica e informática de la universidad de Heidelberg y la empresa japonesa Hamamatsu Photonics. El doctor Niels Grabe del Instituto Médico de Biometría e informática y director de investigación de TIGA señala que en el futuro los robots serán capaces de determinar de manera totalmente automática cambios en las células y tejidos.