instituto politécnico nacional universidad autónoma...
TRANSCRIPT
ALCANCES DE LA COMPUTACIÓN CUÁNTICA EN EL RECONOCIMIENTO DE VOZ
Armando Jiménez Flores Maximino Peña Guerrero
15º CONGRESO INTERNACIONAL MEXICANO DE ACÚSTICA
Octubre de 2008
Instituto Politécnico Nacional
Universidad Autónoma Metropolitana-Azc
Explorar el potencial de la computación cuántica en el desarrollo de algoritmos para reconocimiento de voz, en tiempo real, con características de alta precisión y velocidad.
OBJETIVO
Recientes desarrollos de sistemas de reconocimiento de voz han permitido incrementar su precisión a expensas de una menor velocidad en el proceso, debido a que demandan un mayor número de ciclos de reloj.
Desafortunadamente, las técnicas y algoritmos más rápidos implican aproximaciones que reducen la precisión del reconocimiento.
La disyuntiva para los diseñadores se presenta entre la velocidad y la precisión.
PROBLEMÁTICA
Durante la última década se han desarrollado lenguajes cuánticos, tales como: QPL (Quantum Programming Language), QML (Quantum ML), QHaskell y QCL (Quantum Computation Language), pensados para programar y simular computadoras cuánticas.
La posibilidad de simular operaciones booleanas fundamentales, comunes en computadoras clásicas, hace viable la idea de emular dispositivos cuánticos mediante dispositivos FPGA.
INTRODUCCIÓN
INTERFASE QCL
CÁLCULO DE PARIDAD
// qufunct parity –Calcular la paridad de x y almacenarla en y
qufunct parity(quconst x, quvoid y) {
int i;
for i=0 to #x-1 {
CNot (y,x[i]);
}
}
IMPLEMENTACIÓN A LA MEDIDA DEL FANOUT
Extern qufunct Cnot(qureg q, quconst c);
qufunct Fanout(quconst a, quvoid b) {
int i;
if #a !=#b {exit “Fanout: los argumentos deben ser de igual tamaño”; }
for i=0 to #a-1 {
CNot (b[i], a[i]);
}
}
FUNCIÓN “COMPARACIÓN DE BIT” qufunct bitcmp(quconst x1, quconst x2, quvoid y) {
const n=ceil(log(max(#x1,#x2) +1,2));
int i;
quscratch j[n];
for i=0 to #x1-1 {
cinc(j, x1[i]);
}
Not(j);
for i=0 to #x2-1 {
cinc(j, x2[i]);//incrementar j si el bit i de x1 esta puesto
}
CNot(y,j);
}
Emulación de Dispositivos Cuánticos con FPGAs
DESARROLLO DE DISPOSITIVOS EN SILICIO
PROGRAMA EN VHDL QUE
DESCRIBE A UNA MÁQUINA
FASE DE
COMPILACIÓN VHDL
PROCESO DE
MANUFACTURA EN SILICIO
GENERACIÓN DE UNA COMPUTADORA CUÁNTICA
PROGRAMA QUE DESCRIBE
A UNA MÁQUINA CUÁNTICA
FASE DE
COMPILACIÓN
MANUFACTURA DE UNA
COMPUTADORA CUÁNTICA
EMULADOR FPGA DE COMPUTADORA CUÁNTICA
DESCRIPCIÓN VHDL DE UN
EMULADOR DE MÁQUINA CUÁNTICA
FASE DE
COMPILACIÓN VHDL
DESARROLLO DE UN EMULADOR
FPGA DE COMPUTADORA
CUÁNTICA
TARJETA DE DESARROLLO FPGA
TARJETA DE DESARROLLO FPGA
TARJETA DE DESARROLLO FPGA
TARJETA DE DESARROLLO FPGA
TARJETA DE DESARROLLO FPGA
Cray-1
Cray-CX1 Intel Xeon
IBM-Roadrunner
IBM Roadrunner 1.7 Petaflops
Supercómputo con clusters
CONCLUSIONES
Hemos analizado algunos de los requerimientos de cálculo que exigen los modernos sistemas de reconocimiento de patrones de voz.
Ante la necesidad de alcanzar una mayor precisión y velocidad, el paradigma de la computación cuántica sugiere la posibilidad de ser aplicada en el proceso de habla continua en tiempo real.
Se ha explorado la viabilidad de emular circuitos cuánticos mediante circuitos FPGA’s y pensamos que es posible emular el paralelismo presente en las computadoras cuánticas, mediante la configuración de trayectorias paralelas para cada bit cuántico.
Una emulación de este tipo permitiría la construcción de circuitos cuánticos complejos, a partir de una biblioteca de componentes, de una manera sencilla.
Tenemos planeado desarrollar un emulador FPGA que nos permita probar algoritmos de computación cuántica, mientras que se construye, en el futuro, una computadora de control numérico cuántica.