IBM

Quantum Experience

Un Chip Cuántico, 5 Qubits,
la Nube y unas Quantas horas

Paco Martín

Jorge Carballo

Fran Cabrera

Backend Developer (Python)

Backend Developer (NodeJS)

Frontend Developer (AngularJS)

Paco Martín

Jorge Carballo

Fran Cabrera

Backend Developer (Python)

Backend Developer (NodeJS)

Frontend Developer (AngularJS)

Ismael Faro

The One and Only God

IBM Research Developer Advocate

Unos quanticos desarrolladores

Nueva era cuántica:

La extinción de los Binosaurios

Computación Cuántica

  • La miniaturización de los chips actuales tiene límite

  • Richard Feynman, 1981, Computación cuántica.

 

  • Naturaleza dual partícula/onda de la materia

Computación Cuántica

  • Bit -> Valores discretos
  • Un bit puede tomar dos valores posibles.
  • 2 bit sólo pueden tomar valor entre 4 posibles valores.
  • Qutrits...
  • Qubit -> De naturaleza continua

  • Tres estados: 0, 1 y superposición cuántica

  • 2 qubit pueden tomar 4 valores a la vez

Computación Cuántica

Computación Clásica

Computación Cuántica

Dos partículas correlacionan sus estados cuánticos de forma que el valor de cualquier propiedad, como la polarización o el color de un fotón, es el mismo para ambas partículas

Entanglement

  • Un conjunto de entradas da una salida:

 

 

 

  • Manipula una entrada de superposiciones, rota su probabilidad y produce otra superposición como salida:

 

 

 

Computación Cuántica

Computación Clásica

Puertas Lógicas

0

1

1

0

1

1

0

0

0

1

0

0

1

1

1

Computación Cuántica

Einstein se negó a aceptar la idea de que el universo pudiese comportarse de una manera tan extraña y aparentemente aleatoria

​...comparó sus implicaciones con que Dios jugase a los dados....

Computación Cuántica

2^{300}
23002^{300}

=

Toda la información de las Partículas en el Universo

300 Qubits

=

Computación Cuántica

Para qué no sirve:

Para qué sirve:

Computación Cuántica

Implementación de los Qubits 

IBM Research

  • Charles Benett: Quantum Cryptography, teletransporte cuántico
  • Coherence Time (100 microsegundos)
  • Error correction
  • Chip 5Qubit
  • Equipo New York, Thomas J. Watson Research Center.

Source: http://www.research.ibm.com/quantum/

La revolución de la computación cuántica

What???

No somos científicos ᕕ( ᐛ )ᕗ

Quantum Experience

Computación cuántica en la nube

Un chip cuántico en la web

  • Hoy en día se necesita un equipamiento muy sofisticado para mantener el chip.
  • Cualquiera con acceso a internet puede utilizarlo.
  • Dentro de la propia aplicación hay un tutorial de computación cuántica.

Programación visual

h q[1];
h q[2];
cx q[1], q[2];
cx q[0], q[2];
t q[0];
h q[1];
tdg q[2];
cx q[0], q[2];
measure q[0];
measure q[1];
measure q[2];

Ejecución en el chip

Simuladores

Caché

Units

Caché

Run

Simulate

Resultados

Tutorial

Comunidad

Bocadillo de Quantúm

¿Cómo se hizo?

Con mucho esfuerzo ヽ(ヅ)ノ

Bluemix

Message Bus

Quantum Experience

Back-end

Quantum
Chip

Simulators

DB

Research Labs

Simulators

Simulators

Simulators

Simulators

Quantum Experience

Front-end

Cache

Front-end

Back-end

Message
Bus

Database

AngularJS

Loopback

Redis

Redis

Cloudant

Snap.svg

three.js

Chartist.js

Sass

Node.js

Python

Bluemix

Docker

MQ Light

MongoDB

IBM IoT

ElasticSearch

+50 simuladores
 

10 instancias de aplicaciones y servicios
 

Servicio de monitoring y análisis de los logs propio
 

Detección y bloqueo de posibles ataques
 

Análisis de las estadísticas de usuario y accesos en tiempo real


Caché para agilizar la carga

+50 Simuladores
 

 

FROM ubuntu
MAINTAINER IBM Research

RUN git clone https://hub.jazz.net/git/IBM/QCWI-SIMULATOR /root/pythonAPI
COPY start-simulator.sh /root/start-simulator.sh
ENV PATH /root/pythonAPI/arraySim:$PATH
RUN cd ~/pythonAPI/pythonApp; /bin/bash -c "virtualenv qcwi-venv; 
    source qcwi-venv/bin/activate; pip install -r requirements.txt"
ENV APP_ENVIROMENT PROD
CMD /bin/bash -c "/root/start-simulator.sh"

~ 5 instancias de la aplicación principal

Algunos mixin de Loopback

  • Cache (memoria, redis, ...)
  • Control de Spam
  • Timestamp (creación, modificación, historial de modificaciones, ...)
  • ...

Open source

Caché

Quantum Experience

Back-end

DB

Cache

  • Sesiones de usuario

 

  • Resultados Ejecuciones

 

  • Portada de la Comunidad

 

  • Tutorial

Servicio de monitoring y análisis de los logs propio

const db = new elastic.Client({
    host: elasticUrl,
});

app.use(jlocke-express-middleware(db, {
    geo: true,
    idFunc: utils.loopback.getUserId,
    hide: { path: 'login', field: 'password' },
}));

Análisis de datos recolectados

Detección y bloqueo de posibles ataques

77 reglas o filtros para detectar ataques

{
   "id": "1",
   "rule": "(?:\"[^\"]*[^-]?>)|(?:[^\\w\\s]\\s*\\\/>)|(?:>\")",
   "description": "Finds html breaking injections including whitespace attacks",
   "tags": {
      "tag": [
          "xss",
          "csrf"
       ]
    },
    "impact": "4"
}

IDS (sistema de detección de intrusiones)

Análisis de las estadísticas de usuario y accesos en tiempo real

Estadísticas de usuarios

LIVE DEMO

The show must go on

Quantificando

Stats de la plataforma

En los 2 días tras el lanzamiento +10.000 peticiones de registro (por invitación)

Se han lanzado ejecuciones desde +120 países

Actualmente hay +35.000 usuarios

+215.000 códigos

+235.000 ejecuciones

Lesson learned

IBM Research
Emergent Solutions

Fran Cabrera

Jorge Carballo

Paco Martín

Abdón Rodríguez

Jesús P Rubio

Iván Durán

Toni Martínez

Ismael Faro

Developers, Developers, Developers...

Developers, Developers, Developers...

Developers, Developers, Developers...

Un Chip Cuántico, 5 Qubits, la Nube y unas Quantas horas

Descubre más en

http://www.research.ibm.com/quantum/

IBM

Quantum Experience

Quantum Experience

By Fran Cabrera

Quantum Experience

Codemotion 2016

  • 702