Grafeno: electrónica cuántica en la punta de un lápiz

(nota: algunos enlaces apuntan a la versión en inglés de la Wikipedia porque los conceptos están mejor explicados allí)

Conferencia de Pablo Jarillo-Herrero en la UPV que lleva por título «Grafeno: electrónica cuántica en la punta de un lápiz». La conferencia trata de las propiedades nanofísicas de este material, el grafeno, descubiertas hace apenas 5 años, y de sus posibilidades. El grafeno no es más que una lámina de grafito compuesta por átomos de carbono dispuestos en una sola capa.

Un minipunto menos ¡transparencias en powerpoint y encima usando  Comic Sans! :-D

Empezamos para ver la escala de la que estamos hablando: milímetros, micrómetross (micras) y nanómetros. Elementos típicos de esta dimensión son los virus o el diámetro de una secuencia de ADN. Un nanómetro equivale a 10 átomos de hidrógeno. Y aunque parece imposible, ya se producen elementos a esta escala de forma artificial (cinta geckover video– o en puertas lógicas en transistores, por ejemplo). Trabajar con átomos individuales es algo habitual. Pero en esta escala es necesario un enfoque multidisciplinar (física, química, biología e ingeniería).

El grafeno es una lámina formada por átomos de carbono. Dependiendo de cómo se organicen los átomos, podemos formar «esferas» llamadas fulerenos (0D), nanotubos (1D) o láminas (2D), que reciben el nombre de grafeno. Es el material más fino que existe (monoatómico) : 1 millón de veces más fino que una hoja de papel. Pero a pesar de su grosor, las láminas (y los tubos) pueden tener una dimensión de varios centímetros. La forma de crear la muestras es realmente simple (exfoliación): basta con coger polvo de grafito de la mina de un lápiz, se esparce sobre una cinta de celo; se pega y despega varias veces para separar las láminas. Esta cinta se coloca sobre una placa de sicilio y con un microscopio óptico (200x) puede verse directamente.

El carbono es un metal: es el más ligero y el más fuerte y al ser realmente un semimetal conduce mejor que que los mejores metales (incluso el oro) y no hay otro material con una movilidad electrónica más alta a temperatura ambiente. También es un buen conductor térmico y soporta densidades de corriente muy altas.

Pero tiene otras propiedades interesantes: es un material ambipolar y su estructura (bandas, distribución de electrones/huecos) puede controlarse aplicando campos electromagnéticos (ver una explicación en el programa de televisión «Placebus ¿ciencia o magia?»).

Todo comenzó en 2004, cuando se vio que podría hacerse litografías (imprimirse circuitos) sobre una placa de grafeno (Novoselov, 2004). Pero al año siguiente se descubrió también que los electrones se comportaban de forma distinta al resto de materiales (Novoselov, 2005). De hecho, su interacción sigue las ecuaciones de Dirac y no las ecuaciones de Schrödinger (se comportan como fermiones = partículas sin masa) y esto desató la «fiebre» del grafeno.

El grafeno son átomos de carbono en una red bidimensional hexagonal y su estructura cristalina forman una red triangular con una base de dos átomos. Y al calcular su estructura de bandas, es un semimetal y su superficie de Fermi se reduce a 6 puntos (viene dada por un cono -> cero gap-> punto de Dirac)

NOTA: dice que esto es una aproximación para bebés y a mi me cuesta entenderlo ¿tengo que preocuparme?

En la mecánica clásica y en la mecánica cuántica a bajas velocidades, la relación energía/momento es parabólica (ecuaciones de Newton y Schrödinger respectivamente). Pero cuando los objetos se mueven a velocidades próximas a la velocidad de la luz (mecánica cuántica relativista) las propiedades se rigen por la ecuación de Dirac y la relación entre energía/momento ya no es parabólica, sino lineal. Pero sólo se pueden estudiar a altas energías (acelerador de partículas en el CERN). El grafeno presenta estas mismas propiedades, pero a bajas energías (se mueven despacio). Así tenemos una nueva partícula sin masa (como los fotones y los fermiones): los electrones del grafeno.

Pablo está explicando un montón de estructuras que se pueden hacer con grafeno y sus propiedades. Toda esta nueva física puede dar lugar a anuevos dispositivos. Algunas aplicaciones inmediatas son la construcción de transistores, estructuras nanomecánicas (como resonadores y membranas) o nanosensores (detecta moléculas individuales). En el futuro un poco más lejano, puntos cuánticos (para qbits y computación cuántica sin que se produzca decoherencia tan rápidamente). Es una lámina completamente impermeable perfecta o permite también diseñar circuitos a nivel atómico.

Todavía no está disponible en vídeo de la conferencia (y no sé si estará). Mientras tanto, te dejo la entrevista que le hizo Adolfo Plasencia para su programa Tecnólopis. Para verla, pincha sobre la imagen (o descárgala usando el botón derecho del ratón)

Pablo-Jarillo-Herrero en Tecnópolis
Pablo-Jarillo-Herrero en Tecnópolis

Referencias a los artículos originales

K.S. Novoselov et al.: Electric Field Effect in Atomically Thin Carbon Films.- En Science, vol. 306, núm. 5696, págs.: 666-669.- Octubre 2004.

K.S. Novoselov et al.: Two-Dimensional Gas of Massless Dirac Fermions in Graphene.- En Nature vol. 438, págs. 197-200.- Noviembre 2005.

The Temporal Logic of Rewriting

Charla invitada de José Meseguer en el DSIC. Puede que sea útil para la formalización que queremos hacer de los servicios semánticos para Thomas incluyendo aspectos normativos. Como aún no ha empezado, os dejo el resumen.

In this talk, we present the temporal logic of rewriting TLR*. Syntactically, TLR* is a very simple extension of CTL* which just adds action atoms, in the form of spatial action patterns, to CTL*. Semantically and pragmatically, however, when used together with rewriting logic as a «tandem» of system specification and property specification logics, it has substantially more expressive power than purely state-based logics like CTL* , or purely action-based logics like A-CTL*. Furthermore, it avoids the system/property mismatch problem experienced in state-based or action-based logics, which makes many useful properties inexpressible in those frameworks without unnatural changes to a system’s specification. The advantages in expresiveness of TLR* are gained without losing the ability to use existing tools and algorithms to model check its properties: a faithful translation of models and formulas is given that allows verifying TLR* properties with CTL* model checkers.

El model checking se ha usado con éxito sobre lógicas modales (LTL, CTL y CTL*) basadas en estados. Por otro lado, las lógicas de acción como HML ó A-CTL* permiten superar algunas de sus limitaciones, pero sin poder expresar propiedades sobre estados.

Las especificaciones formales tienen dos tareas:

  1. especificación del sistema
  2. especificación de las propiedades

Y la verificación trata de demostrar que una especificación satisface una determinada propiedad \(\mathcal{S} \models \varphi\). El problema es que las lógicas usadas en cada parte no «encajan» bien, de forma que en ocasiones es necesario inventarse unas especificaciones y unas fórmulas distintas. Por ejemplo, en una lógica basada en estados como CTL no se puede hablar de acciones, por lo que es necesario añadir artificialmente variables con historia para realizar una traza de las acciones que se han aplicado. Los tandems de lógicas, como Kripke/CTL*, ó LTS/HML son muy utilizados pero adolecen de este problema. Se busca un tandem \(\mathcal{L}/ \mathcal{L}\)’ más expresivo que permita en ambos casos expresar propiedades basadas en estados y en acciones. La propuesta es usar un tandem RewritingLogic/TLR*. Con una teoría de reescritura \(\mathcal{R}=(\Sigma, E, R)\) que generaliza la representación de estados y acciones además de concurrencia real. Y por otra parte TRL* es una generalización de CTL* y A-CTL*.

TRL* es una lógica muy sencilla y muy semejante a CTL*. Simplemente añade una acción espacial \(\delta\) que indica cómo y donde se aplican las reglas (reglas de reescritura etiquetadas) \(l:t(x_1,\ldots,x_n) \rightarrow t\)’\((x_1,\ldots,x_n)\).

Los modelos de TRL* se interpretan sobre una teoría de reescritura \(\mathcal{R}\). Las fórmulas de camino se interpretan sobre computaciones \((\pi,\gamma)\) de la forma

\(\pi(0) \xrightarrow{\gamma(0)_1} \pi(1) \xrightarrow{\gamma(1)_1}\pi(2)\) \(\ldots \pi(n) \xrightarrow{\gamma(n)_1} \pi(n+1)\) \(\ldots\)

La semántica de nuevo es la misma que CTL*, añadiendo la interpretación de la nueva primitiva \(\delta\). La expresividad se muestra con un ejemplo simple: un protocolo cliente-servidor con paso de mensajes asíncrono y tolerante a fallos. Por ejemplo, con una lógica como CTL* no se puede demostrar una propiedad de equidad (fairness) como que eventualmente un cliente b va a recibir un mensaje de confirmación del servidor a. Con lógicas basadas en estados no podemos hablar de qué reglas se han aplicado para llegar hasta allí (de forma directa).

Pero el model checking sobre CTL* es muy eficiente, así que es interesante poder reducir automáticamente las propiedades en TRL* a una lógica temporal basada en estados. Muestra de nuevo el ejemplo anterior, adaptado al nuevo sistema de reescritura. Lo interesante es cómo añade una componente con «memoria» que indica quién ha realizado la última acción.

\(\mathcal{R},t \models \varphi\) \(\iff\) \(\mathcal{R}_w, (t,\delta) \models \) \(\widetilde{\varphi}\)

Básicamente, lo que hace es sustituir las acciones por un \(\bigcirc\) (next) con un predicado del mismo nombre que se considera no como la ejecución de la acción, sino como una comprobación de que la acción se ha ejecutado. Este sistema genera estados infinitos, pero puede solucionarse mediante una abstracción ecuacional que lo reduzca a un sistema de estados finitos (eliminando la «recursividad»). Pero esto puede hacer que el sistema colapse determinados estados que hagan que el sistema ya no sea coherente, por lo que será necesario añadir manualmente algunas reglas (en el ejemplo, acerca de la posible pérdida de los mensajes.

Esta no es la única aproximación que permite integrar estados y acciones. Nombra

  • modal \(\mu\)-calculus
  • extensiones de A-CTL* (Fantechi y también Pecheur y Raimondi)
  • Propositional dynamic logic
  • VLRL
  • Spacial logic for concurrency (Caires y Cardelli)
  • Temporal Action Logic (Lamport)

Uno de los trabajos pendientes es poder comprobar las propiedades directamente sobre TRL*. Con eso se eliminarían las etiquetas que ahora es necesario incluir en los estados de CTL*. Además, sería mucho más eficiente y se podrían eliminar también los problemas/transformaciones necesarias para tratar con los estados infinitos. Por cierto, que los demostradores están escritos en C++.

Después de oirlo (y de recordar muchas cosas que casi se me habían olvidado), se me ocurren muchas cosas, y no todas aplicables a la especificación de servicios.

Una de ellas es ver cómo «casa» esta forma de especificar los problemas con la TBox y la ABox de las lógicas DL. Posiblemente sea suficiente con usar LTL como extensión temporal. ¿Y qué tal un sistema de reescritura que pase de TRL al formalismo de SWRL-Tab?

Para saber más…

J. Meseguer: The Temporal Logic of Rewriting.- Tech. Report UIUCDCS-R-2007-2815. Dept of Computer Science. Univ. Illinois. Feb.  2007: Urbana-Champaign

Sistemas Multiagente Normativos

Natalia nos va a contar cosas sobre agentes y normas.

La base lógica de las normas son lógicas deónticas, que permite abordar conceptos normativos: básicamente obligaciones, permisos y prohibiciones.

Los SMA normativos aparecen de la intersección de SMA con sistemas normativos que vienen de teorías legales. En primer lugar, debe definirse un modelo normativo, a partir del cual se definen los estados por los que pueden pasar las normas y las relaciones que existen entre distintas normas.

Una de las propuestas más recientes son la metáfora de agente: ver el sistema como un agente que tiene como objetivo el definir y vigilar el cumplimiento de las normas.

Basado en estos sistemas, se detecta la necesidad de definir un lenguaje normativo, que debe ser suficientemente general para representar los mecanismos básicos y lo suficientemente concreto para que sea ejecutable.

Cuestiones abiertas:

  1. desarrollo de un lenguaje computacional para especificar sistemas normativos
  2. razonamiento normativo individual (incorporar razonamiento sobre normas)
  3. herramientas para la implementación de SMA normativos

Ahora empieza lo interesante: uso en una arquitectura para sistemas multiagente abiertos a gran escala para el modelado de organizaciones virtuales. Se basa en SOA.

Las normas definen los 3 conceptos deónticos básicos, extendidos con restricciones temporales (basadas en intervalos -before, after….-) y con la posibilidad de definir sanciones y recompensas.

Las normas están clasificadas en dos grandes grupos:

  1. normas organizacionales, relacionadas con los servicios ofrecidos por la arquitectura (p. ej., cardinalidad)
  2. normas funcionales, definidas dentro el dominio de aplicación y soportadas por los agentes.

Disponemos de un sistema que permite traducir las normas a sintaxis BFN y se inserta en una base de hechos (utilizando Jess como motor de razonamiento). Aunque ha comentado que las reglas tienen dos partes (LHS y RHS), realmente tienen 3 (evento, condición, acción) e incluso cuatro (añadiendo una sanción/recompensa).

Con esto (muy resumido) se ofrece un lenguaje normativo para regular organizaciones virtuales, centrada en el acceso a servicios. Os dejaré una referencia para que os enteréis con más detalle de qué va.

El problema que le veo es que la base formal es un poco débil. Para la inclusión de los servicios y de restricciones temporales habría que usar directamente mecanismos más complejos, basados en lógicas modales o lógicas de acción, que ofrecen las abstracciones necesarias para razonar ton los conceptos deónticos, con los servicios (modelados con acciones) y con restricciones temporales. Particularmente, creo que con TLA (Temporal Logic of Actions –PDF-) podríamos hacer casi todo lo que necesitamos, incluyendo además de las normas la gestión de servicios con un único formalismo y también un lenguaje único, que facilitaría los desarrollos.