Archives for the month of: June, 2014

Existen diferentes estrategias para ludificar una actividad, algunas simples y otras más complejas. Una de las que podríamos llamar “de toda la vida” pero a menudo bastante efectiva es crear una competición por equipos. De este modo, se intenta “picar” a los participantes para que lleven a cabo aquellas acciones que queremos incentivar, en una especie de escalada militar. Normalmente, este tipo de aproximaciones solo tienen un efecto agudo en los jugadores más competitivos, que pueden ser solo unos pocos, pero añadir el factor equipo y la idea de “la unión hace la fuerza” puede servir para captar la atención de otros jugadores menos competitivos, que participan a menor nivel, a rebufo de los más. Pero participan, que es lo que realmente interesa a fin de cuentas.

Seguidme, que yo abro camino. Imagen de TomK32 bajo licencia CC BY-SA 2.0 FR.

Con la llegada del verano, la plataforma de distribución digital de videojuegos Steam ha dado una vuelta de tuerca más a su entorno ludificado (niveles, trofeos, colección de cartas, creación de contenidos, etc.) lanzando recientemente una competición por equipos. Todos los usuarios que querían formar parte eran incluidos en un equipo al azar y, al final de cada día (del 19 al 30 de Junio), entre la gente que había contribuido realmente a la victoria marcando puntos por el equipo ganador, se elegía a un conjunto de afortunados a los que se les regalaban juegos. No valía vivir de rentas de tus compañeros de equipo.

Hay que decir que las posibilidades de ganar algo estaban a la altura de comprar un boleto de lotería y comprar el juego tú mismo con el dinero que te tocara. De entre todos los jugadores del equipo ganador, solo se elegía a 30 afortunados. Si al inicio del 2014 el número de usuarios activos superaba los 75 millones, haced los cálculos vosotros mismos. Sin embargo, esto no impidió que mucha gente se organizara a través de redes sociales o los propios foros de Steam para contribuir conjuntamente por la causa de sus equipos y organizar esfuerzos. Ya era una cuestión pura y dura de camaradería, sensación de pertenecer a una comunidad y derecho a fardar (“bragging rights“). Los premios “tangibles” son lo de menos, lo que importa es el status.

Evidentemente, Steam no realiza esta competición por amor al arte, el objetivo era hacer un dinero extra. Para poder ganar puntos, es necesario llevar a cabo ciertas transacciones, las cuales conllevan un cierto beneficio económico para ellos. Más allá de simplemente comprar juegos, por ejemplo, es posible intercambiar o vender ciertas cartas coleccionables. En cada transacción Steam se queda unos céntimos como intermediario.  Así pues, si “picaba” correctamente a los jugadores, el resultado final era que solo había un ganador, pero ellos se quedan con el dinero invertido por todos los equipos en la competición. Hasta aquí todo correcto, claro. Una aplicación de manual de ludificación para el beneficio económico.

El caso curioso es: ¿y qué pasa si la gente no se pica? Peor aún (para ellos), ¿qué sucede si los jugadores competitivos, nuestros entrañables “killers”, deciden cambiar los términos de la competición y transformar el reto de “ganar siempre” en el de “ser capaces de hacer que cada día gane un equipo distinto, equitativamente, que tiene más gracia”? A fin de cuentas, invertir dinero y perder la competición diaria es un desperdicio. Quizá mejor repartirse la victoria como buenos amigos. O un (si modificamos un poco la frase mítica de la película Juegos de Guerra): “El único movimiento para ganar es no competir“.

Pues solo hacer falta ver lo que sucedió los primeros cinco días (hay cinco equipos). Es interesante fijarse también en la diferencia de puntos. Los equipos perdedores, claro está, tienen algunos valores residuales de la gente fuera de la conspiración, o que simplemente por llevar a cabo ciertas acciones habituales contribuían a la puntuación de su equipo. Pero cada día se alternó un claro ganador.

Síiiii, competid chiqitines…¡Eh, un momento!

Evidentemente, a Steam no le hizo mucha gracia y modificó los términos de la competición para tentar un poco más a los jugadores: premios extra para la el segundo y tercer clasificado. Unido al hecho de que algunos jugadores todavía más competitivos decidieron romper el pacto no escrito e ir a por todas aprovechando el despiste, al final el experimento sociológico pasó a la historia, para mayor regocijo de Steam. Como si quedas con otro corredor en entrar juntos a la meta y cuando quedan 3 metros te pones a correr. El día 7 ganaba el equipo rojo (casualmente, el mio, jeje 😉 ) fuera de turno y el día 10 la competición llegó justo dónde Steam quería. Todos los equipos quemando recursos a por todas.

Gamification wins“. O al menos un poco, a falta de dos días para acabar.

PD: Por cierto, a ver si alguien explica a los de Steam el concepto de proporcionalidad y cómo se dibuja correctamente un diagrama de barras. Que no digo que no sea a propósito para jugar con la percepción de los jugadores y “picarlos” más, pero duele a la vista.

Joan Arnedo Moreno es profesor de los estudios de Informática, Multimedia y Telecomunicaciones en la UOC. Coordinador de las asignaturas de la rama de seguridad y director académico del postgrado de Cisco Networking Technologies, también cuenta con más de 30 años de experiencia jugando a videojuegos.

via iNFoRMáTiCa++ http://ift.tt/1x3KKBL

Háblese con un informático de informáticos en el cine y es casi seguro que se sienta tremendamente maltratado: Hollywood presenta una colección de estereotipos sobre la profesión que ni por casualidad responden a la realidad: los informáticos no son una colección de gafotas sin ningún tipo de habilidades sociales, alérgicos a la luz del sol y de paupérrima higiene personal (o, al menos, no todos lo son ;-)).

Vamos a obviar el hecho de que no debe haber ninguna profesión que no se sienta maltratada por la visión que de ella dan las películas. Y vamos a centrarnos en una película que, de hecho, pinta un cuadro bastante realista del informático (en este caso, hacker)… ¿Quién no ha visto Juegos de Guerra?

Póster del clásico "Juegos de Guerra"

Póster del clásico “Juegos de Guerra”

WarGames es una película de 1983 en la que David Lightman, un adolescente interpretado por Matthew Broderick acaba infiltrándose por error en los ordenadores del NORAD (el centro de defensa aeroespacial de Estados Unidos y Canadá) y está a punto de montarla bastante gorda (espero no se me acuse de spoilers por una peli que tiene ya más de treinta años, pero el que no quiera spoilers debería dejar de leer ahora, ver la película y volver dentro de un rato).

  • David es un chaval normal. Cierto que hace campana para jugar al Galaga y al Galaxians y que tiene un ordenador con módem en casa, pero se trata del adolescente típico: ni es el empollón de la clase ni es antisocial (David, eso sí, tiene un par de amigos de lo más “friqui”, que responden a todos los estereotipos; pero todo el mundo tiene un amigo informático “friqui”).
  • David no es un “malo de película”. Sí, se acaba infiltrando en una red militar, pero él lo que quería era bajarse un juego antes de que salga al mercado.
  • La seguridad informática es un problema de personas, no de algoritmos. Cuando David tiene que encontrar el punto débil para irrumpir en la máquina, no lo hace a base de informática, sino de empaparse de la vida del creador del sistema hasta que encuentra la contraseña, que no es el nombre de la novia, pero casi…
  • Fuegos artificiales, los justos. Si de algo adolecen las películas “informáticas” es de efectos visuales exagerados y absolutamente increíbles. Juegos de Guerra no carece de ellos pero, comparado con lo que corre por ahí, son de lo más digno y discreto.

La película, además, es un buen recordatorio de cómo era la informática doméstica de hace treinta años. El ordenador de David es un IMSAI 8080 de 1975, un clon del famoso Altair 8800, con un procesador de 8 bits que corría a unos 5 megahercios, venía de salida con 4 kilobytes de memoria, usaba diskettes de 8″ (capaces de almacenar algo menos de un megabyte) y se podía conectar con otros ordenadores gracias a un módem a la elevadísima velocidad de 1200 baudios (el adaptador para el teléfono que se ve en la película, por cierto, es falso: para aquella época los módems ya se podían conectar directamente a la red telefónica).

Juegos de Guerra se pasa con una cierta frecuencia en algunos canales de televisión, pero si estáis en Barcelona podéis recuperarla el próximo domingo, 6 de julio, en la Filmoteca como parte de un miniciclo coorganizado con Gamelab 2014, la X Feria Internacional del Videojuego y el Ocio Interactivo, en la que están presentes los Estudios de Informática, Multimedia y Telecomunicaciones.

via iNFoRMáTiCa++ http://ift.tt/1lriR32

En un conjunto de entradas anteriores hablamos de la necesidad que a veces sentimos de adaptar un juego a nuestras necesidades. Muchas veces la palabra “adaptar” no es más que un eufemismo de lo que llamamos “hacer trampas” (no siempre, eso sí). Simplemente, tomar un atajo al objetivo, por el motivo que sea: ver de una vez por todas el final, o ahorrarnos algunas frustraciones sin sentido. Sin embargo, en su momento me olvidé de una cuarta categoría, una extensión del modelo en el que el desarrollador ya directamente te da las herramientas para modificar las reglas del juego, obviando el trabajo de ingeniería inversa, de modo que esta posibilidad está al alcance de todo el mundo. Se trata de institucionalizar “hacer trampas” como una parte más del juego, del mismo modo que uno puede seleccionar el nivel de dificultad “fácil” en vez de “pesadilla”, pero cobrar por ello. Se trata del modelo Pay to Win (P2W), comprar un libro de crucigramas y pagar un extra si lo quieres con algunas de las soluciones, o ya medio resuelto.

Hay que decir que, a estas alturas, es bastante complicado ser original e inventar algo que no existiera ya. Otra cosa es que el sistema fuera más o menos popular, o la implementación de entonces menos eficiente que la actual. Pero en ese sentido, si miramos algo más de dos décadas atrás, que se dice pronto, ya existía el modelo en el que llamando a un teléfono de tarificación especial de la misma compañía te daban pistas para acabar sus juegos si te quedabas encallado. Nos referimos a las hint lines de compañías como Sierra Online o Lucas Arts. Quizá esta no era la vía principal de ingresos, que era el precio del juego, pero ahí estaban esos servicios. Y supongo que no era casualidad que los implantaran en aventuras gráficas con rompecabezas endiabladamente complicados, cuando no simplemente absurdos.

"¿Una ayudita para el clásico Monkey Island?"

“¿Una ayudita para el clásico Monkey Island?”

Pero una vez más, añadiendo a un sistema ya existente la coletilla “por Internet”, su potencial se multiplica. Con la irrupción de las plataformas digitales de contenidos que facilitan la gestión de micropagos (hablamos de pocos euros o incluso céntimos) es posible desplegar este modelo de negocio a gran escala como una vía importante, cuando no la principal, de ingresos. Y ahí está el quid de la cuestión. Una cosa es crear un juego con situaciones frustrantes, ya sea por su dificultad mal calculada o por ser un absoluto ejemplo de “jobification”, debido a un error en el diseño. Otra es hacerlo adrede, con un equipo de expertos en psicología y una caja de Skinner, buscando la fórmula que maximice los beneficios económicos cual máquina tragaperras. Se debe tener en cuenta que cómo enganchar a un jugador está perfectamente estudiado, no es un proceso que se hace “a ojo” o cuestión de suerte.

La tentación está ahí, y poderoso caballero es don dinero. Y en juegos Free-to-Play (F2P), ya no es una tentación, sino casi una necesidad…

La verdad es que, en la vertiente de extras en juegos de un solo jugador, este tipo de mecanismos es como pagar a alguien que te ponga los “pokes y cargadores”. Antes comprabas la revista dónde aparecía, y ahora pagas a los creadores del juego directamente. A partir de aquí, ya es una decisión individual afrontar el reto que representa el juego tal como se plantea, o tomar esos atajos. Allá tu y tu conciencia si das un vistazo a la página de soluciones de la sopa de letras del periódico. Si el desarrollador lo diseña bien y el juego en si mismo es totalmente satisfactorio, de modo que el modelo P2W son solo extras claramente opcionales, incluso pueden convertirse en un valor añadido.

"¿Una ayudita para el nuevo Thief?"

“¿Una ayudita para el nuevo Thief?”

El problema, claro está, lo encontramos cuando entramos en juegos multijugador, o incluso juegos de un solo jugador pero con una clara componente social o de “status” (tipo XBox o Steam Achievements). Y es que quizá uno de los aspectos importante de la gran mayoría de juegos, y por extensión, de los videojuegos, es su capacidad de ser grandes ecualizadores. Al tratarse de una interacción en una caja de arena disociada del mundo real, en gran medida no importa tu dinero o tu status. Solo vale tu habilidad. Si miramos la afirmación con lupa, claro está, tiene sus defectos. Si por circunstancia personales te resulta difícil mantener las viejas costumbres de tirarte 48 horas seguidas jugando un fin de semana (ergo, practicando tu habilidad), nunca serás mejor que alguien que sí que disponga dicho tiempo. Pero creo que el espíritu de la idea aplica y podemos estar de acuerdo. Normalmente consideramos que la constancia en la práctica y el talento o aptitud deberían ser los factores principales hacia la maestría. P2W simplemente dinamita directamente este aspecto en entornos de este tipo.

¿Vale lo mismo un achievement a golpe de talonario que el mismo obtenido a base de maestría pura y dura del juego? Es una pregunta para la reflexión, que puede tener diferentes respuestas, totalmente opuestas. Pero lo que está claro es que P2W y los juegos con estos componentes sociales y competitivos han llegado para quedarse. Deberán coexistir en armonía.

Joan Arnedo Moreno es profesor de los estudios de Informática, Multimedia y Telecomunicaciones en la UOC. Coordinador de las asignaturas de la rama de seguridad y director académico del postgrado de Cisco Networking Technologies, también cuenta con más de 30 años de experiencia jugando a videojuegos.

via iNFoRMáTiCa++ http://ift.tt/1m3MsLb

La respuesta es que nadie lo sabe o, dicho de otra manera, lo que el Consejo de Administración de la empresa decida gastar. De hecho, ésta es una de las decisiones más importantes del gobierno corporativo de la informática, del que hemos hablado aquí algunas veces. Algunas empresas lo colocan al principio de sus principios (de IT). Por ejemplo: “No gastaremos más del 1% de nuestros ingresos en IT”, dice un colega de una multinacional de consumo (claro y conciso).

Gartner Asset

Gartner. “IT Metrics Data” (G00258818). 16 Diciembre de 2013. Gasto en IT por sectores como porcentaje de los ingresos. (c) Gartner, usado con autorización.

En Informática, como en marketing, la gente suele 1) no gastar menos de lo que ya ha gastado y 2) no gastar menos de lo que gasta el de al lado. La diferencia es que en Informática cada inversión genera un gasto recurrente de licencias, mantenimiento, cambios de versión, mejoras y otros ligados a las propia política de los proveedores, que deciden sin muchos miramientos cuando algo deja de existir y hay que cambiarlo. En la informática, como en la medicina, la oferta genera su propia demanda, el prescriptor decide sobre el gasto y las soluciones se superponen en vez de eliminarse. Esto hace que en medicina y en informática, la crisis se haya soportado razonablemente bien, pero no así en marketing y comunicación.

Uno diría que hay que gastar en informática aquéllo que nos devuelva la inversión y el coste a largo plazo (o sea, que aumente el valor para el accionista, la productividad, eleve los ingresos, reduzca los gastos, etc.), pero todo eso es complicado de medir y de explicar.

Mientras vamos construyendo y compartiendo estas métricas, la más común es el gasto por volumen de ingresos o por presupuesto, que es algo que suelen entender los CEOs y los directores financieros. Aún así, este ratio no es obvio, porque con la complejidad actual cada vez más cosas son informática (el gasto en comunicaciones o la automatización de las líneas de producción) y porque cada vez hay una mayor proporción de coste que no controla el departamento de informática (dicen que hasta el 35%, y va creciendo). Digamos que las compañías gastan como media un poco más del 3% de sus ingresos, que puede llegar al 6% o 7% en sectores muy intensivos en información, como en las empresas de internet o el mundo financiero. Así que si dices que la respuesta correcta es un 3% no te equivocas, jeje.

Los analistas, académicos y consultores han ido inventando otros indicadores, que ayudan a entender un poco mejor el indicador general: comparar inversión (CAPEX) contra inversión o coste (OPEX) contra coste; analizar el coste por empleado o el coste por usuario o cliente servido. Muchas de estas métricas están disponibles en las comparativas públicas o de pago de compañías como Gartner, IDC o Computer Economicsque realizan también benchmarkings por encargo (o sea, para evitar comparar peras y manzanas, se asegura que todos los participantes llaman pera a la pera y la pesan del mismo modo).

Todo esto mide recursos dedicados, pero poca cosa más. Indicadores más sofisticados relacionan el nivel de gasto en IT con el crecimiento de la compañía o con el resultado de explotación. Esto se parece más al valor y, en líneas generales y con muchos matices, parece que hay una correlación positiva entre el gasto en IT y el margen operativo.

La investigación académica de Brynjolffson y otros autores, de la que hemos hablado aquí y aquí viene a decir que para que la inversión en informática produzca valor ha de ser sostenida en el tiempo y debe ir unida a una inversión alineada y mucho mayor en mejora de los procesos, capital humano y gestión de la información. O sea, que si sólo medimos el gasto en informática, no podemos explicar muchas cosas.

Actualmente, la gente que estudia el coste y el valor de la informática propone que es más importante saber en qué y cómo se gasta (la distribución y la eficiencia) que la cifra bruta de gasto. Por ejemplo, la relación entre gasto operativo (subir la persiana cada mañana) y gasto de capital (nuevas aplicaciones  e infraestructura) o la relación entre el gasto en infraestructura técnica y el de desarrollo.

Si bajamos un escalón más, podemos asignar el portafolio de nuestros activos informáticos a los procesos y objetivos de negocio que nos ayudan a crecer e innovar más deprisa frente a los que nos permiten asegurar que el negocio funciona (que, a lo mejor, la función de “aseguramiento”, es lo más importante que le pedimos a la IT, y eso no es malo). Un artículo reciente del McKinsey Quarterly habla de una informática “de dos velocidades”.

Y con todo ésto, la dirección va teniendo un mejor conocimiento de la aportación que la IT hace o deja de hacer al negocio y puede tomar mejores decisiones, en lugar de enviarnos al financiero para ver “en qué podemos recortar”.

via iNFoRMáTiCa++ http://ift.tt/1lqUayH

En esta entrada presentamos en detalle el itinerario de Ingeniería de Computadores dentro del Grado en Ingeniería Informática adaptado al EEES. En inglés, esta subdisciplina se denomina Computer Engineering, según las guías curriculares de la ACM (Association for Computer Machinery).

Hoy en día la tecnología impregna nuestras vidas y presenta nuevas oportunidades y retos a los cuales tenemos que hacer frente a través de conocimientos y adelantos tecnológicos que evolucionan constantemente. Por ejemplo, la evolución de los ordenadores personales, los dispositivos de movilidad (como tablets, y smartphones), y las tecnologías de comunicación, tanto las redes alámbricas como las inalámbricas. Pero también tenemos desde sistemas de cómputo hechos a medida para ser empotrados, por ejemplo en electrodomésticos o automóviles, hasta grandes supercomputadores, que mediante técnicas de computación de altas prestaciones (HPC, high performance computing), simulan la evolución del clima, de las galaxias, o nos permiten analizar el genoma de los animales, las plantas y el humano para determinar tratamientos y diseño de nuevos fármacos para diversas enfermedades. Por estos motivos actualmente la Ingeniería de Computadores está siendo el foco de gran atención y expectación dentro de las disciplinas relacionadas con la Ingeniería Informática.

Consecuentemente, la Ingeniería de Computadores nace dentro de un marco en el cual se estudia el diseño y la aplicación de los computadores para dar soluciones a los problemas cotidianos y no cotidianos de la sociedad. Los computadores como principal actor de este marco enlazan ámbitos relacionados con los equipos electrónicos (hardware), la programación (software) y las telecomunicaciones. Esta potente combinación de ámbitos controla una parte significativa de nuestras tareas diarias impactante de forma positiva en la economía, progreso, seguridad y bienestar de la sociedad.

Concretando algo más su influencia y repercusión, por un lado los procesadores (CPU) son cada vez más potentes incorporando multitud de núcleos (o cores) de procesamiento dando lugar a potencias de cómputo, dentro de una única máquina (que hoy en día podemos tener en nuestro escritorio), que hace unos años no lograban ni los supercomputadores más potentes. En la computación de altas prestaciones, se combinan estas arquitecturas avanzadas, las CPU multicore, combinándolas en múltiples nodos para formar estructuras de computación en Cloud Grid o Clúster, permitiendo escalar así la computación a múltiples nodos. Existe, también, la posibilidad de combinar diversas y nuevas formas de computación, como las basadas en computación gráfica (GPU: Graphic Processing Unit) con las clásicas por procesador central. Es por todo ello que con este complejo conjunto de nuevas tecnologías y desarrollos hardware podremos afrontar problemas anteriormente irresolubles en tiempos aceptables, y permitiendo escalar en varios factores de magnitud (x100, x1000, o incluso mayores) el rendimiento de algoritmos científicos comunes usados en múltiples campos.

Por otro lado, nos encontramos en un mundo totalmente conectado y globalizado en el que disponemos de servicios de almacenamiento y procesamiento completamente distribuidos (denominado cómputo o almacenamiento en la nube).

La Ingeniería de Computadores ofrece un abanico de posibilidades muy amplio para dar soluciones a los problemas expuestos: desde los más pequeños pensados para resolver un problema específico/cotidiano (gestión interna de funciones un electrodoméstico, móvil, coche, videojuegos,  etc.) hasta las grandes infraestructuras distribuidas que tienen que gestionarse de forma eficiente (redes de telecomunicaciones, bases de datos, cómputo científico, etc.).

Temas clave en Ingeniería de Computadores

Temas clave en Ingeniería de Computadores

Podemos distinguir diferentes ámbitos de referencia dentro de este itinerario:

  • Administración de sistemas y redes de computadores: Administración y configuración de un sistema informático: desde los sistemas operativos, hasta las redes de computadores, y la gestión de la seguridad del entorno.
  • Arquitectura de computadores: Análisis de los elementos comunes y estructura de las principales arquitecturas. Análisis de arquitecturas paralelas, multicore, basadas en computación gráfica (GPUs), multiprocesadores, y  multicomputadores.  Análisis de rendimiento de algoritmos científicos, y adecuación (/sintonización) de éstos para arquitecturas particulares.
  • Sistemas operativos: Componentes y gestión del sistema operativo, modificación de las funcionalidades de un kernel, del sistema de ficheros, de la entrada/salida. Concurrencia. Diseño de componentes de un sistema operativo.
  • Sistemas empotrados (embedded): Componentes software y hardware del sistema, sistema operativo para entornos empotrados, programación de funcionalidades, test y evaluación del sistema.

Para acceder a este itinerario se recomienda una buena base de programación, tanto a alto nivel (C por ejemplo), como en bajo nivel (ensamblador). También se recomienda tener una buena base sobre: componentes básicos de un ordenador, el funcionamiento de los sistemas operativos y la configuración básica de los componentes de una red.

Los trabajos finales de itinerario tienden a aplicar los conocimientos adquiridos dentro del itinerario. Dejamos a continuación algunos ejemplos de proyectos :

Respecto a las salidas profesionales, la mayoría de los perfiles de este itinerario están muy valorados dentro de las empresas (p.e. casos administrador, hardware) ya que en gran medida dependen de él la buena operación de todos los componentes de un sistema informático, así como el diseño y test de nuevos productos o servicios. A continuación describimos posibles salidas profesionales:

  • El análisis, diseño, desarrollo, implantación, pruebas y mantenimiento de aspectos relacionados con los equipos electrónicos (hardware), la programación (software) y las telecomunicaciones.
  • Mantenimiento y configuración de sistemas de computadores a gran escala (mainframe systems).
  • Diseño de sistemas de redes (LAN y WAN) para la transmisión de voz, datos, video,… a través de medios tanto alámbricos (Ethernet, fibra óptica) como inalámbricos  (tecnologías WiFi) teniendo en cuenta aspectos de rendimiento y seguridad.
  • Subsistemas digitales integrados en otros equipos (embedded systems)
  • Diseño de sistemas y aplicaciones específicos: Dispositivos móviles, industriales, domótica, …
  • Diseño de sistemas, middleware y aplicaciones distribuidas: redes de computadores, sistemas Grid y sistemas Cloud.
  • Diseño y optimización de algoritmos para aplicaciones de altas prestaciones: Desde juegos hasta cómputo científico.

Finalmente, este itinerario también permite realizar actividades de investigación dentro de los ámbitos de referencia. Como ejemplo de dichos ámbitos podemos mencionar: diseño de nuevas arquitecturas de microprocesadores; arquitecturas paralelas y/o distribuidas; adecuación de algoritmos a computación gráfica (mediante GPUs); diseño de nuevos algoritmos para diversos campos científicos mediante métodos de HPC (computación de altas prestaciones); diseño de herramientas de análisis y sintonización de rendimiento para aplicaciones paralelas y distribuidas en entornos multicore, GPU, o computación en Cluster, Grid y Cloud.

via iNFoRMáTiCa++ http://ift.tt/1pn4NKo

Esta semana pasada, muchos medios TIC han publicado la noticia de un avance tecnológico sin precedentes: un superordenador ha superado el test de Turing.

Alan Turing, en su artículo “Computing Machinery and Intelligence“ del año 1950, propuso una posible forma de decidir si un sistema era inteligente o no. Este test se basaba en hacer conversar a dicho sistema con un entrevistador de forma ciega, es decir, el entrevistador sólo tendría acceso a sus mensajes y respuestas. A través de ellos, debería decidir si estaba interactuando con otra persona o una máquina. Un sistema realmente inteligente debería ser capaz de convencer a su interlocutor que no es un programa, demostrando su comprensión del lenguaje, capacidad comunicativa, conocimiento del mundo, sentido común, memoria, etc.

Test de Turing: El entrevistador C debe decidir quién es el ordenador, A o B. Fuente: Wikipedia - Licencia: Dominio público.

Test de Turing: El entrevistador C debe decidir quién es el ordenador, A o B. Fuente: Wikipedia – Licencia: Dominio público.

La noticia no podía llegar en un momento más propicio: el 7 de junio se cumplían 60 años del suicidio de Alan Turing. Sin embargo, a medida que se ha ampliando la información, han ido apareciendo dudas:  ¿Por qué la fuente de la noticia es una nota de prensa y no un artículo científico? ¿Cómo se ha fijado la frontera del 30% de éxito como límite para superar el test? ¿Se trata realmente de un superordenador o es sólo un chatbot que analiza las frases y aplica un conjunto reducido de reglas?

Hay algunos atajos que un entrevistador puede usar para detectar si su interlocutor es un programa, centrándose en su humanidad más que en su inteligencia. Preguntas como “¿En qué año naciste?”, “¿Cómo se llama tu madre?”, “¿Qué cenaste ayer?” o “¿Cuántos brazos tienes?” podrían revelar la naturaleza de nuestro interlocutor. Es por ello que, para superar un test de Turing, además de ser inteligente un programa debe ser capaz de asumir un papel “humano” y mentir de forma coherente y convincente.

También existen atajos desde la perspectiva de los programas “imitadores de humanos”. Algunos programas pretenden superar el test intentando única y exclusivamente crear una duda razonable en el entrevistador, sin que haya una IA profunda como base. Es como el mal estudiante que sólo quiere aprobar el examen, aunque no tenga ni idea de los contenidos. El ejemplo paradigmático, Eliza, se hace pasar por un psicólogo que desvía las preguntas del entrevistador devolviéndolas al más puro estilo del psicoanálisis  “¿Por qué me haces esta pregunta?”, “¿Cómo te sientes acerca de este tema?”, … Ello no les resta complejidad y algunos son obras maestras de la programación y de la psicología humana. Sin embargo, no representan una revolución en el campo de la IA.

En esta ocasión el programa se hace llamar Eugene Goostman y se presenta como un niño ucraniano de 13 años. El tema de la edad no es baladí, ya que se utiliza como excusa para justificar los errores del programa o su curiosidad por el interlocutor (pregunta continuamente para ganar tiempo y desviar la atención sobre sí mismo). Vaya, que Eugene es un campeón en el ámbito de mentir de forma convincente. Sin embargo, aunque Eugene sabe bastantes cosas, parece tener problemas relacionados con su conocimiento del mundo. Por ejemplo, conoce a Alan Turing o a Eliza (y tiene un buen concepto de ella). Pero es incapaz de responder preguntas como “¿Cuántas patas tiene un camello? ¿Y un milpiés?” y en otros casos simplemente evita responder, dado que no comprende la pregunta. Viendo esto, aunque haya conseguido convencer a 1 de cada 3 entrevistadores que era humano, quizás sea pronto para lanzar grandes titulares sobre el progreso de la IA.

Algún día, los avances de la IA permitirán que un programa mantenga una conversación con un humano sin que éste lo perciba. De momento, colguemos un cartel de “Próximamente”.

via iNFoRMáTiCa++ http://ift.tt/1oHXueo

En la situación actual, muchos de nuestros titulados y tituladas en informática, que por cierto, están muy bien valorados en Europa, deciden emigrar. Sus motivos son variados, desde profundizar en el conocimiento de alguna lengua (principalmente el inglés), acceder a oportunidades profesionales mejor remuneradas, o incluso, vivir una experiencia enriquecedora tanto profesional como personal.

En estos casos, cada vez es más frecuente solicitar a los candidatos para un proceso de selección de personal en una empresa u organismo, que indiquen el nivel EQF de su titulación. Pero, ¿qué es el nivel EQF? Aquí siempre hemos hablado de diplomaturas, licenciaturas, ingenierías técnicas, ingenierías, másteres, doctorados, y más recientemente, de grados o bachelors. Y en el resto de países europeos, nos encontramos con otras denominaciones diferentes para estas mismas titulaciones, o sus equivalentes. Por esta razón, EQF (European Qualifications Framework) adquiere valor y relevancia, ya que ha de facilitar una primera aproximación objetiva y sin generar confusiones a cualquiera de las partes respecto al nivel profesional requerido.

El Marco Europeo de Cualificaciones (EQF) es la referencia común que permite a los países europeos comparar las cualificaciones profesionales. ¿Para qué sirve? Para facilitar la transparencia, la posibilidad de comparación y la transferibilidad de las cualificaciones de los profesionales entre los diversos estados de Europa. Este marco ayuda tanto a candidatos como a empresas.

Curriculum Vitae. Imagen de desiitali con licencia CC BY 2.0

Curriculum Vitae. Imagen de desiitali con licencia CC BY 2.0

Cabe destacar que EQF marca niveles de cualificación profesional, que en esta entrada intentaremos relacionar con las titulaciones o niveles académicos. Para ello, partimos del hecho que un titulado en unos estudios universitarios ha adquirido unos conocimientos, habilidades y competencias profesionales determinadas, que están perfectamente definidas en la correspondiente memoria de su titulación. Y ello, obviamente, le confiere también unas cualificaciones profesionales, además de las propiamente académicas que comporta la titulación.

Realmente, aquí se nos hace extraño que se establezcan unos niveles de cualificaciones profesionales a parte de los niveles académicos de las titulaciones. Pero esto es así porque en otros países europeos ya existían estos marcos de cualificaciones profesionales, que coexistían, en paralelo y relacionados, con los marcos de cualificaciones académicas, lo cual ahora se ha estandarizado y generalizado en Europa mediante EQF.

Esto explica, por una parte, que en el EEES (Bologna Process) se haya enfatizado la definición de las titulaciones en cuanto a competencias y habilidades. Y por otra, se reconoce la posibilidad que una persona con suficiente experiencia en un ámbito concreto, pueda “escalar” niveles de cualificación profesional en dicho ámbito respecto al de partida, que estaba basado únicamente en su acreditación académica.

Consecuentemente, podemos apreciar que EQF es un marco amplio, en el que se recoge no sólo la cualificación adquirida por la vía formal (la académica), sino también la adquirida por la vía no-formal (las formaciones profesionalizadoras), y por supuesto, la adquirida por la vía informal (la experiencia profesional). Los niveles de cualificación EQF se establecen en base a criterios de tres descriptores: conocimientos, habilidades y competencias.

Por tanto, EQF nos ofrece un marco de gradación de niveles de cualificación profesional, aplicables a cualquier ámbito profesional, en el que se puede objetivar la competencia o cualificación profesional adquirida a “lo largo y ancho” del desarrollo profesional de una persona. A partir de lo anterior, se puede apreciar que no hay una relación rígida y unívoca entre titulaciones y niveles EQF.

En cuanto a la comparativa de titulaciones, o cualificaciones estrictamente académicas, el desarrollo del proceso EEES estableció el marco de referencia académico FQ-EHEA (The Framework for Qualifications of the European Higher Education Area). Este marco ha de servir para poder determinar claramente el nivel de las diferentes cualificaciones académicas superiores (universitarias) en Europa. En España, dicho marco de referencia académico para estudios superiores se implementó bajo la denominación MECES. Hay que destacar que, a diferencia de EQF, FQ-EHEA sí sirve para asociar de manera estricta niveles con titulaciones.

Por otra parte, también se estableció una correspondencia (que no equivalencia por ser enfoques diferentes) entre FQ-EHEA y EQF. De tal manera, se constata que un nivel académico determinado (FQ-EHEA) acredita para ejercer directamente en un determinado nivel profesional (EQF), obviamente, dentro del ámbito de la titulación y sin considerar las posibles reservas de actividad. Esta correspondencia es la indicada para los 4 niveles superiores del EQF en la siguiente tabla:

(*) Anexo 8 del Background Report FQ-EHEA

(*) Anexo 8 del Background Report FQ-EHEA

En la tabla de correspondencias ampliada se pueden consultar los descriptores generales de cada nivel EQF. Además del cumplimiento de finalización de ciclo (titulación universitaria) y del creditaje asociado, en este detalle de los descriptores, podemos apreciar la alineación tanto con los estudios universitarios anteriores (LRU) de primer ciclo, segundo, largos (300 o más créditos) y tercero, como con los actuales (EEES) en informática del sistema universitario español.

Se considera importante destacar que la correspondencia de diversos títulos con un determinado nivel FQ-EHEA, no implica equivalencias entre los mismos, y menos todavía homologaciones. Por ejemplo, una Ingeniería Técnica en Informática (LRU), el Grado en Ingeniería Informática (EEES), el Bachelor’s programme in Information and Comunication Technology (Suecia), etc, tienen equivalencia con un primer ciclo del FQ-EHEA, pero esto no supone ninguna equivalencia entre ellos, y menos todavía homologación, simplemente porque son programas diferentes.

La virtud del FQ-EHEA reside precisamente en que es un marco suficientemente flexible para poder establecer equivalencias con cualquier titulación superior (universitaria) del área Europa, sin que ello comporte necesariamente equivalencias o homologaciones entre las mismas. Y de esta manera, poder determinar claramente el nivel académico de los estudios referenciados, y consecuentemente, su correspondencia con los niveles EQF.

Finalmente, sirva este artículo para clarificar y justificar que:

  • Las titulaciones en informática de primer ciclo actuales (Grados) y anteriores (Ingenierías Técnicas), tienen correspondencia con el nivel EQF 6.
  • Del mismo modo, las titulaciones en informática de segundo ciclo actuales (Másteres), así como las anteriores de segundo ciclo o de ciclo largo (Ingenierías), tienen correspondencia con el nivel EQF 7.
  • Y por último, las titulaciones en informática de tercer ciclo anteriores y actuales (doctorados en ambos casos), tienen correspondencia con el nivel EQF 8.

Javier Martí Pintanel es Ingeniero en Informática, Vice-decano de Ordenación Profesional del COETIC, Tutor del Grado en Ingeniería Informática de la UOC y miembro de diversas comisiones y comités de diferentes instituciones y organismos (COETIC, CONCITI, ITSCOOL, ACTIC, AENOR, ANECA), relacionados con la profesionalidad informática.

via iNFoRMáTiCa++ http://ift.tt/Ue2BYU

En la mayoría de juegos de ordenador, el jugador controla a un avatar dentro del mundo del juego. Hay diferentes mecanismos para dar órdenes a nuestro avatar: controladores con botones y/o joysticks, interfaces táctiles… o incluso el movimiento corporal, con tecnologías como Kinect.

Sin embargo, hay una familia de juegos  con un interfaz muy peculiar: el jugador define a priori las instrucciones que debe realizar su avatar y, a partir de este punto, el avatar las sigue de forma autónoma sin más participación por parte del jugador. La gracia del juego está descubrir cuáles son las instrucciones idóneas y saber describirlas utilizando el lenguaje del juego (que puede ser, o no, un lenguaje de programación). Y es que, en efecto, estamos hablando de juegos de programación.

Un juego de programación clásico: Core War - Fuente: Wikipedia. Licencia: GPL 2.0

Un juego de programación clásico: Core War, programas enfrentados en la memoria de un ordenador – Fuente: Wikipedia. Licencia: GPL 2.0

En este blog hemos hablado anteriormente de algunos temas relacionados: los juegos cuyo objetivo es crackear la seguridad de un sistema informático y Scratch, un lenguaje de programación visual y sencillo que permite a los niños adentrarse en el mundo de la programación creando sus propios juegos y animaciones sencillos. Aquí hablamos de algo diferente: videojuegos cuyo control se realiza exclusivamente mediante un programa,  orientados a un público más adulto, que quizás ya sabe programar y participa en el juego “just for fun”.

Existen dos variantes de los juegos de programación:

  1. El juego presenta un reto al jugador, que debe crear un programa que permita a su avatar resolver el problema. Normalmente este tipo de juegos suelen ser tipo puzzle o estar orientados a aprender a utilizar un lenguaje de programación, planteando retos de dificultad creciente.
  2. El juego permite interactuar a los avatares de diversos jugadores, cada uno siguiendo su propio programa de instrucciones. La interacción suele ser competitiva (una carrera, un combate, un partido) y hay una forma de elegir al vencedor o asignar puntuaciones a los participantes. Aquí la gracia está en ser más listos que el rival, programando en nuestro avatar la estrategia que le permita tomar decisiones inteligentes y adaptarse a las acciones de los oponentes para superarlos.

Alguien puede pensar que me refiero sólo a escribir bots que juegan al ajedrez, las damas o algún otro juego de tablero y enfrentarlos entre sí. Pero el mundo de los juegos de programación es mucho más rico: combates de robots, carreras de coches, subastas, programas que compiten por los recursos disponibles en procesador, partidos de futbol, etc. Y la programación se vuelve mucho más interesante cuando es en tiempo real y no dispones de la comodidad de un “turno” durante el que el programa puede ir meditando tranquilamente.

La wiki Programming Games presenta una amplia colección de juegos para que afinéis vuestras aptitudes pasando un buen rato. De la colección de juegos disponibles, destacamos Core War, que ha cumplido 30 años este mes de mayo. En este juego, cada jugador escribe un programa en un lenguaje tipo assembler (Redcode). El objetivo de este programa, al puro estilo “sólo puede quedar uno”, es conseguir que los programas del resto de jugadores “peten”.

Estos juegos proporcionan una forma divertida de aprender a programar. En mi caso, recuerdo con cariño una práctica realizada durante la carrera en un asignatura de Inteligencia Artificial: programar un agente en una casa de subastas virtuales de pescado llamada FishMarket. El objetivo era conseguir el mayor beneficio con los lotes de pescado comprados, teniendo en cuenta que el presupuesto era limitado y que todos los agentes compartían el mismo objetivo y la misma información. A parte de nuestros dolores de cabeza para enseñar al agente a tomar decisiones inteligentes, otra lección aprendida fue lo provechosa que puede llegar a ser una subasta cuando el resto de competidores se ha quedado sin dinero y controlamos el precio de venta. Eso sí que es una lección de economía para la vida real: el monopolio es muy lucrativo.

Y lo mejor todavía está por venir. Los niños y niñas del futuro tendrán a su disposición juegos de programación todavía más complejos y estimulantes gracias a… los robots. Sirva como muestra la RoboCup, la competición de futbol entre robots donde los jugadores humanos programan el comportamiento sus avatares. O consideremos este otro concurso, los DroneGames, donde los participantes controlan el comportamiento de robots voladores autónomos mediante un conjunto de librerías Javascript. Y tampoco hace falta irse a una competición: pequeños kits de robots programables, como los Lego Mindstorms, permiten poner a prueba la imaginación de forma autónoma. Sí, sí, los más viejos del lugar iremos repitiendo que “nosotros sabíamos divertirnos sin tantos artilugios“, pero seguro que la juventud del mañana (y de hoy) se lo pasará en grande.

via iNFoRMáTiCa++ http://ift.tt/1rBkgZ0