• Lunes 29 de Abril de 2024, 23:31

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Temas - cluster

Páginas: 1 [2] 3 4
26
XSL / Imprimir
« en: Jueves 22 de Junio de 2006, 01:03 »
Necesito imprimir en el pie de un listado algo asi como "Pagina 1 de 5" un ejemplo que tengan imprimiendo el  total tambien gracias.

27
Matlab / Graficar
« en: Jueves 22 de Junio de 2006, 00:50 »
necesito graficar en matlab  curvas de beizer y splines pero no se las funciones,me podrian ayudar

28
Matlab / Imagen Gui
« en: Jueves 22 de Junio de 2006, 00:47 »
me gustaría saber cómo puedo incluir una imagen en una GUI.

Gracias.

29
XML / Generar Xml
« en: Jueves 22 de Junio de 2006, 00:07 »
Me gustaría saber como puedo generar un documento XML a partir de datos.

30
Dudas informáticas / Atacar Firewall
« en: Martes 6 de Junio de 2006, 23:02 »
hola, estoy montando un firewall en linux red hat 9 y quisiera saber como hacerle pruebas, conocer todo lo del bajo mundo tratar de hacerlo caer. gracias.

31
Dudas informáticas / Traductores
« en: Lunes 5 de Junio de 2006, 19:14 »
porque los traductores por ejemplo de ingles a español no hacen una traducduccion 100% confiable, sera que las metodologias utilizadas en estos traductores no son las adecuadas o por la falta de IA al momento de traduccir, o sera que no entienden la sintaxis o el significado que uno escribe. cual creen ustedes que puede ser el motivo y cual una aperente solucion?

32
GNU/Linux / Licencia Gpl
« en: Lunes 5 de Junio de 2006, 18:52 »
como hago para que el software que realizo tenga licencia gpl, en donde hay que registrarlo y cual es el procedimiento.
gracias.

33
Dudas informáticas / Contraseñas En Wxp
« en: Viernes 2 de Junio de 2006, 21:53 »
hola, algien me podria decir en donde se guardan las contraseñas en windows xp cuando las recuerda porejemplo al ingresar a al correo, en que parte las guarda y que tipo de encriptacion tienen.

34
La taberna del BIT / La Evolucion De Un Programador
« en: Martes 30 de Mayo de 2006, 00:47 »
Código: Text
  1.  
  2. The Evolution of a Programmer
  3. ----------------------------------------------------------------------------
  4.  
  5. High School/Jr.High
  6.  
  7.   10 PRINT "HELLO WORLD"
  8.   20 END
  9.  
  10. First year in College
  11.  
  12.   program Hello(input, output)
  13.     begin
  14.       writeln('Hello World')
  15.     end.
  16.  
  17. Senior year in College
  18.  
  19.   (defun hello
  20.     (print
  21.       (cons 'Hello (list 'World))))
  22.  
  23. New professional
  24.  
  25.   #include
  26.   void main(void)
  27.   {
  28.     char *message[] = {"Hello ", "World"};
  29.     int i;
  30.  
  31.     for(i = 0; i < 2; ++i)
  32.       printf("%s", message[i]);
  33.     printf("\n");
  34.   }
  35.  
  36. Seasoned professional
  37.  
  38.   #include
  39.   #include
  40.  
  41.   class string
  42.   {
  43.   private:
  44.     int size;
  45.     char *ptr;
  46.  
  47.   public:
  48.     string() : size(0), ptr(new char('\0')) {}
  49.  
  50.     string(const string &s) : size(s.size)
  51.     {
  52.       ptr = new char[size + 1];
  53.       strcpy(ptr, s.ptr);
  54.     }
  55.  
  56.     ~string()
  57.     {
  58.       delete [] ptr;
  59.     }
  60.  
  61.     friend ostream &operator <<(ostream &, const string &);
  62.     string &operator=(const char *);
  63.   };
  64.  
  65.   ostream &operator<<(ostream &stream, const string &s)
  66.   {
  67.     return(stream << s.ptr);
  68.   }
  69.  
  70.   string &string::operator=(const char *chrs)
  71.   {
  72.     if (this != &chrs)
  73.     {
  74.       delete [] ptr;
  75.      size = strlen(chrs);
  76.       ptr = new char[size + 1];
  77.       strcpy(ptr, chrs);
  78.     }
  79.     return(*this);
  80.   }
  81.  
  82.   int main()
  83.   {
  84.     string str;
  85.  
  86.     str = "Hello World";
  87.     cout << str << endl;
  88.  
  89.     return(0);
  90.   }
  91.  
  92. Master Programmer
  93.  
  94.   [
  95.   uuid(2573F8F4-CFEE-101A-9A9F-00AA00342820)
  96.   ]
  97.   library LHello
  98.   {
  99.       // bring in the master library
  100.       importlib("actimp.tlb");
  101.       importlib("actexp.tlb");
  102.  
  103.       // bring in my interfaces
  104.       #include "pshlo.idl"
  105.  
  106.       [
  107.       uuid(2573F8F5-CFEE-101A-9A9F-00AA00342820)
  108.       ]
  109.       cotype THello
  110.    {
  111.    interface IHello;
  112.    interface IPersistFile;
  113.    };
  114.   };
  115.  
  116.   [
  117.   exe,
  118.   uuid(2573F890-CFEE-101A-9A9F-00AA00342820)
  119.   ]
  120.   module CHelloLib
  121.   {
  122.  
  123.       // some code related header files
  124.       importheader();
  125.       importheader();
  126.       importheader();
  127.       importheader("pshlo.h");
  128.       importheader("shlo.hxx");
  129.       importheader("mycls.hxx");
  130.  
  131.       // needed typelibs
  132.       importlib("actimp.tlb");
  133.       importlib("actexp.tlb");
  134.       importlib("thlo.tlb");
  135.  
  136.       [
  137.       uuid(2573F891-CFEE-101A-9A9F-00AA00342820),
  138.       aggregatable
  139.       ]
  140.       coclass CHello
  141.    {
  142.    cotype THello;
  143.    };
  144.   };
  145.  
  146.   #include "ipfix.hxx"
  147.  
  148.   extern HANDLE hEvent;
  149.  
  150.   class CHello : public CHelloBase
  151.   {
  152.   public:
  153.       IPFIX(CLSID_CHello);
  154.  
  155.       CHello(IUnknown *pUnk);
  156.       ~CHello();
  157.  
  158.       HRESULT  __stdcall PrintSz(LPWSTR pwszString);
  159.  
  160.   private:
  161.       static int cObjRef;
  162.   };
  163.  
  164.   #include
  165.   #include
  166.   #include
  167.   #include
  168.   #include "thlo.h"
  169.   #include "pshlo.h"
  170.   #include "shlo.hxx"
  171.   #include "mycls.hxx"
  172.  
  173.   int CHello::cObjRef = 0;
  174.  
  175.   CHello::CHello(IUnknown *pUnk) : CHelloBase(pUnk)
  176.   {
  177.       cObjRef++;
  178.       return;
  179.   }
  180.  
  181.   HRESULT  __stdcall  CHello::PrintSz(LPWSTR pwszString)
  182.   {
  183.       printf("%ws\n", pwszString);
  184.       return(ResultFromScode(S_OK));
  185.   }
  186.  
  187.   CHello::~CHello(void)
  188.   {
  189.  
  190.   // when the object count goes to zero, stop the server
  191.   cObjRef--;
  192.   if( cObjRef == 0 )
  193.       PulseEvent(hEvent);
  194.  
  195.   return;
  196.   }
  197.  
  198.   #include
  199.   #include
  200.   #include "pshlo.h"
  201.   #include "shlo.hxx"
  202.   #include "mycls.hxx"
  203.  
  204.   HANDLE hEvent;
  205.  
  206.    int _cdecl main(
  207.   int argc,
  208.   char * argv[]
  209.   ) {
  210.   ULONG ulRef;
  211.   DWORD dwRegistration;
  212.   CHelloCF *pCF = new CHelloCF();
  213.  
  214.   hEvent = CreateEvent(NULL, FALSE, FALSE, NULL);
  215.  
  216.   // Initialize the OLE libraries
  217.   CoInitializeEx(NULL, COINIT_MULTITHREADED);
  218.  
  219.   CoRegisterClassObject(CLSID_CHello, pCF, CLSCTX_LOCAL_SERVER,
  220.       REGCLS_MULTIPLEUSE, &dwRegistration);
  221.  
  222.   // wait on an event to stop
  223.   WaitForSingleObject(hEvent, INFINITE);
  224.  
  225.   // revoke and release the class object
  226.   CoRevokeClassObject(dwRegistration);
  227.   ulRef = pCF->Release();
  228.  
  229.   // Tell OLE we are going away.
  230.   CoUninitialize();
  231.  
  232.   return(0); }
  233.  
  234.   extern CLSID CLSID_CHello;
  235.   extern UUID LIBID_CHelloLib;
  236.  
  237.   CLSID CLSID_CHello = { /* 2573F891-CFEE-101A-9A9F-00AA00342820 */
  238.       0x2573F891,
  239.       0xCFEE,
  240.       0x101A,
  241.       { 0x9A, 0x9F, 0x00, 0xAA, 0x00, 0x34, 0x28, 0x20 }
  242.   };
  243.  
  244.   UUID LIBID_CHelloLib = { /* 2573F890-CFEE-101A-9A9F-00AA00342820 */
  245.       0x2573F890,
  246.       0xCFEE,
  247.       0x101A,
  248.       { 0x9A, 0x9F, 0x00, 0xAA, 0x00, 0x34, 0x28, 0x20 }
  249.   };
  250.  
  251.   #include
  252.   #include
  253.   #include
  254.   #include
  255.   #include
  256.   #include "pshlo.h"
  257.   #include "shlo.hxx"
  258.   #include "clsid.h"
  259.  
  260.   int _cdecl main(
  261.   int argc,
  262.   char * argv[]
  263.   ) {
  264.   HRESULT  hRslt;
  265.   IHello        *pHello;
  266.   ULONG  ulCnt;
  267.   IMoniker * pmk;
  268.   WCHAR  wcsT[_MAX_PATH];
  269.   WCHAR  wcsPath[2 * _MAX_PATH];
  270.  
  271.   // get object path
  272.   wcsPath[0] = '\0';
  273.   wcsT[0] = '\0';
  274.   if( argc > 1) {
  275.       mbstowcs(wcsPath, argv[1], strlen(argv[1]) + 1);
  276.       wcsupr(wcsPath);
  277.       }
  278.   else {
  279.       fprintf(stderr, "Object path must be specified\n");
  280.       return(1);
  281.       }
  282.  
  283.   // get print string
  284.   if(argc > 2)
  285.       mbstowcs(wcsT, argv[2], strlen(argv[2]) + 1);
  286.   else
  287.       wcscpy(wcsT, L"Hello World");
  288.  
  289.   printf("Linking to object %ws\n", wcsPath);
  290.   printf("Text String %ws\n", wcsT);
  291.  
  292.   // Initialize the OLE libraries
  293.   hRslt = CoInitializeEx(NULL, COINIT_MULTITHREADED);
  294.  
  295.   if(SUCCEEDED(hRslt)) {
  296.  
  297.       hRslt = CreateFileMoniker(wcsPath, &pmk);
  298.       if(SUCCEEDED(hRslt))
  299.    hRslt = BindMoniker(pmk, 0, IID_IHello, (void **)&pHello);
  300.  
  301.       if(SUCCEEDED(hRslt)) {
  302.  
  303.    // print a string out
  304.    pHello->PrintSz(wcsT);
  305.  
  306.    Sleep(2000);
  307.    ulCnt = pHello->Release();
  308.    }
  309.       else
  310.    printf("Failure to connect, status: %lx", hRslt);
  311.  
  312.       // Tell OLE we are going away.
  313.       CoUninitialize();
  314.       }
  315.  
  316.   return(0);
  317.   }
  318.  
  319. Apprentice Hacker
  320.  
  321.   #!/usr/local/bin/perl
  322.   $msg="Hello, world.\n";
  323.   if ($#ARGV >= 0) {
  324.     while(defined($arg=shift(@ARGV))) {
  325.       $outfilename = $arg;
  326.       open(FILE, ">" . $outfilename) || die "Can't write $arg: $!\n";
  327.       print (FILE $msg);
  328.       close(FILE) || die "Can't close $arg: $!\n";
  329.     }
  330.   } else {
  331.     print ($msg);
  332.   }
  333.   1;
  334.  
  335. Experienced Hacker
  336.  
  337.   #include
  338.   #define S "Hello, World\n"
  339.   main(){exit(printf(S) == strlen(S) ? 0 : 1);}
  340.  
  341. Seasoned Hacker
  342.  
  343.   % cc -o a.out ~/src/misc/hw/hw.c
  344.   % a.out
  345.  
  346. Guru Hacker
  347.  
  348.   % cat
  349.   Hello, world.
  350.   ^D
  351.  
  352. New Manager
  353.  
  354.   10 PRINT "HELLO WORLD"
  355.   20 END
  356.  
  357. Middle Manager
  358.  
  359.   mail -s "Hello, world." bob@b12
  360.   Bob, could you please write me a program that prints "Hello,
  361.  world."?
  362.   I need it by tomorrow.
  363.   ^D
  364.  
  365. Senior Manager
  366.  
  367.   % zmail jim
  368.   I need a "Hello, world." program by this afternoon.
  369.  
  370. Chief Executive
  371.  
  372.   % letter
  373.   letter: Command not found.
  374.   % mail
  375.   To: ^X ^F ^C
  376.   % help mail
  377.   help: Command not found.
  378.   % damn!
  379.   !: Event unrecognized
  380.   % logout
  381.  
  382.  
  383.  
  384.  

35
Sobre los Foros de SoloCodigo / Minicursos
« en: Domingo 21 de Mayo de 2006, 18:45 »
hola, exite la posibilidad de hacer un foro de minicursos haber me explico como mas o menos seria:
los moderadores de los foros atraves de su conocimineto a lo largo de su trabajo en solocodigo  y el de su profesion podrian plasmar en un micursos ya sea que hayan creado un video juego que herramientas han utilizado, pero sobre todo las experiencias que han tenido que es lo mas importante y no la teoria que eso uno se lo encuentra con un buscador,
esto se podria mostrar en una pagina wed que solocodigo suministraria a cada moderador.

36
La taberna del BIT / Szyovnlh Wvo Xlwrtl Wzermxr
« en: Miércoles 17 de Mayo de 2006, 17:21 »
vnkvxvnlh xlm vo xlwrtl zgyzhs.

37
Programación de Videojuegos / Cual Herramienta De Diseño
« en: Miércoles 10 de Mayo de 2006, 18:28 »
hola, me gustaria saber cual herramienta de diseño utilizan para hacer animacines en 3d, estube buscando el 3D STUDIO MAX pero no lo encuentro en algunos lados me piden contraseña y en otros ya los han borrado.
que herramientas me permiten importar archivos en .x y manipularlos de manera grafica.
gracias

38
GNU/Linux / Chat
« en: Jueves 4 de Mayo de 2006, 02:07 »
hola a todos tengo el gaim q trae por defecto el red'hat '9 dice q sirve para acceder a msn y yahoo y otros pero como lo utilizo ya le di mi direccion de correo y el password y no se conecta me dice q error de conexion fallo la autorizacion,  descarge la ultima version pero el al instalar el rpm me dice q no ha encontrado el paquete libgtkspell.so.0.
gracias por su ayuda.

39
GNU/Linux / Configurar
« en: Jueves 4 de Mayo de 2006, 01:59 »
hola tengo q configurar un firewall en redhat ya descarge el webmin y tengo las opciones de firewall linux y firewall Shorewall pero no tengo ni idea que es lo que toca configurar y para que sirven un poco de cosas que estan hay algien q me de una manito con eso.

40
GNU/Linux / Detectar S.o
« en: Miércoles 3 de Mayo de 2006, 17:13 »
Hola compañeros del foros tengo un problema al colocar un disco duro con sistema operativo win98 el gestor de arranque no me lo detecta, el gestor de arranque es el group y quisiera saber como hago para q aparesca el otro sistema operativo junto con los otros q tengo al iniciar y haci amedida q coloque otro disco duro con otro sistema operativo,
gracias por su atencion.

41
Dudas informáticas / Como Hacen Los Asistentes
« en: Viernes 28 de Abril de 2006, 17:21 »
estos asistentes como el merlin del office como los hacen.

42
La taberna del BIT / Cual Es El Mejor Algoritmo De Busqueda
« en: Domingo 23 de Abril de 2006, 03:33 »
cual es mejor metodo de busqueda que utilizan las bases de datos robustas como oracle.

43
Dudas informáticas / Donde Veo Los Errores En Winxp
« en: Domingo 23 de Abril de 2006, 02:18 »
algien me podria decir donde veo los errores que por ejemplo produce el hardware o mejor dicho donde se guarda la auditoria del sistema en win xp

44
Dudas informáticas / Win 95 Instalador
« en: Miércoles 19 de Abril de 2006, 01:49 »
estoy buscado y buscando y no encuentro el instalador de win 95 quien sabe donde esta.

45
La taberna del BIT / Software Cuantico
« en: Miércoles 12 de Abril de 2006, 21:12 »
2020, la odisea cuántica


En 2020 la información no tendrá que recorrer distancia alguna para llegar del emisor al receptor porque los ordenadores se basarán en la mecánica cuántica, que describe aquellos estados de la materia en los que las partículas se comportan como si no existiera el espacio.
El ordenador ha acompañado al hombre a lo largo de la historia. Las máquinas de cálculo se han ido complicando a la vez que se hacían más versátiles, desde el ábaco pasando por las calculadoras de Pascal hasta llegar al primer ordenador el “Electronic Numerical Integrator and Computer” o ENIAC, construido en la Universidad de Pensilvania para los Balistic Research Laboratories, hacia 1946. El ENIAC constaba de 17.468 tubos de vacío, pesaba 27.000 kilos, ocupaba toda una habitación de 460 m3 y realizaba 5.000 operaciones por segundo.
A medida que los ordenadores aumentan su velocidad de funcionamiento, su tamaño disminuye. La miniaturización ha llevado de los relés, válvulas y transistores hasta los actuales circuitos integrados..., pero ¿dónde está el límite? Según la primera ley de Moore, “el número de transistores que se pueden introducir en un chip, se incrementa de forma exponencial (cada 3.4 años, este número se multiplica por cuatro)”. Parece que el próximo nivel será el molecular. A este nivel no sólo hay que tener en cuenta la Mecánica Cuántica (MC) para conseguir que los dispositivos funcionen correctamente, sino que la MC participa activamente en el comportamiento global.

Ordenadores clásicos

La teoría de la computación moderna nace de un problema planteado por David Hilbert en 1900. Turing se enfrentó a este desafío e introdujo el concepto de Máquina de Turing (MT) como herramienta para estudiar la computación desde dos puntos de vista básicos:
a) Posibilidad de computar ciertas funciones, estableciendo que "cualquier función que sea computable, se puede computar mediante una máquina de Turing constituida por un dispositivo físico razonable".
b ) Eficiencia: La eficiencia se establece clasificando los algoritmos en determinadas Clases de Complejidad, en función de cómo escalan los recursos de un cálculo con el tamaño de los datos. Durante mucho tiempo se creyó que este tipo de clasificación no tenía ninguna relación con el tratamiento físico de la información, por lo que se podía estudiar completamente la teoría de ordenadores sin referencia a su implementación física. La situación había de cambiar con la computación cuántica.

Limitaciones del proceso de cómputo

Hacia el inicio de la década de los 60, Rolf Landauer comenzó a preguntarse si las leyes físicas imponían limitaciones al proceso de cómputo. En concreto se preguntaba sobre el origen del calor disipado por los ordenadores, y si este calor era algo inherente a las leyes de la física o se debía a la falta de eficiencia de la tecnología disponible. La pregunta era: ¿será posible idear una puerta que funcione de forma reversible, y que por tanto no disipe energía? La respuesta no estaba clara, ya que la lógica clásica estaba basada en puertas no reversibles. La idea de computación clásica reversible la introdujo matemáticamente Yves Lecerf en 1963 y la desarrolló Bennett en 1973, demostrando que, desde un punto de vista teórico, es posible la existencia de una máquina de Turing (y por tanto un ordenador) reversible. Este hecho nos indica que, teóricamente, no hay una cantidad mínima de energía que necesariamente haya que poner en juego para efectuar un cómputo concreto.

Computación y física

La teoría clásica de la computación no hacía referencia a la física del dispositivo. Se suponía que los fundamentos de tal teoría eran independientes de la realización física de los mismos. Hubieron de pasar 20 años hasta que Deutsch, Feynman y otros pusieran de manifiesto que esta idea es falsa, mostrando la conexión entre las leyes de la física y la información, y en concreto con la computación. A partir de aquí se produjo una de tantas uniones entre ideas distintas que han aparecido en la física: computación y MC. De esta unión surgió la Computación Cuántica.
De forma general se puede decir que la computación es la creación de conjuntos de símbolos (resultados) a partir de ciertos conjuntos de símbolos iniciales (o datos). Si interpretamos a los símbolos como objetos físicos, la computación correspondería a la evolución de sus estados. Si la evolución es cuántica, tenemos la computación cuántica.
Dado que la MC permitía nuevas formas de evolución a través de estados que son superposición de otros, las MT cuánticas eran distintas de las clásicas. La posibilidad de que una máquina de Turing cuántica pudiera hacer algo genuinamente cuántico fue propuesto por Richard Feynman en 1982.
Mostró que ninguna máquina de Turing clásica podía simular algunos comportamientos cuánticos sin incurrir en una ralentización exponencial. Sin embargo, una máquina de Turing cuántica sí podía hacer una simulación efectiva. No es difícil comprender por qué, si notamos que la dimensión del espacio de Hilbert accesible al sistema que evoluciona, aumenta de forma exponencial (2 elevado a n, en una representación binaria) con el número de amplitudes (n) a manejar y guardar. Feynman describió un “simulador cuántico universal” que simulaba el comportamiento de cualquier sistema físico finito. Desafortunadamente, Feynman no diseñó este simulador y su idea tuvo poco impacto en su época.
El siguiente paso se dio en 1985, cuando David Deutsch describió la primera máquina de Turing cuántica (MTC) que establecía la posibilidad de construir un ordenador universal que puede programarse para simular cualquier sistema físico finito operando con unos recursos limitados.
Estas MT cuánticas usan una representación de la información algo distinta de la clásica. El fragmento de información clásica fundamental es el bit, entendiéndose como tal un sistema material que puede adoptar uno de los dos posibles estados distintos que representan dos valores lógicos (0 y 1 o sí y no, verdadero y falso, etc.).
Si la codificación de la información es cuántica, y se hace a través de dos estados de un sistema microscópico, que por analogía al caso clásico podemos representar por los kets cuánticos (0) y (1), ahora también es posible un estado del sistema que sea una superposición coherente del tipo Q = a (0) + b (1), denominado quantum-bit o qubit.
Un átomo en una de tales superposiciones estaría en “ambos estados a la vez”, no siendo ni un 0 ni un 1 clásicos. La existencia de estos estados “esquizofrénicos” nos indica que el ordenador cuántico tiene que poder tratarlos: generarlos y trabajar con ellos. Notemos que debido a que no existen restricciones acerca de los posibles valores de estos coeficientes a y b (salvo quizás la condición de normalización), en un solo qubit podríamos codificar una cantidad de información "infinita”.
Esto no representa un problema conceptual, pues esta información no está accesible, ya que para extraerla necesitaríamos medir sobre el qubit, lo que implicaría su colapso (Postulado de Proyección) en uno de los dos estados (0) ó (1), perdiéndose la información acerca de los coeficientes. Esto causa una complicación adicional en el planteamiento de la extracción de la información en los algoritmos cuánticos, que habrá que resolver.

Tres características cuánticas

Existen tres características cuánticas que son las que proporcionan la potencia de los ordenadores cuánticos:

1.- Estados "entangled": La posibilidad de usar estados "entangled" (que se podría traducir por "embrollados") no es una característica de la MC, sino que (como diría el propio Schrödinger) es la característica de la MC. Supongamos que un sistema S está formado por dos subsistemas A y B. Si su estado (S) no se puede expresar como un producto tensorial del tipo (A)x(b.), se trata de un estado embrollado de los subsistemas A y B, existiendo entre ellos correlaciones típicamente cuánticas no-locales, tal como pusieron de manifiesto Einstein, Podolsky y Rosen (EPR) en 1935.
2.- Paralelismo: La MC es una teoría lineal y existe la posibilidad de usar superposiciones coherentes de qubits para realizar los cálculos. Por ejemplo, desde un punto de vista clásico, si necesitamos evaluar los valores de una función f(x) para los 4 valores desde x = 0,..,3, haríamos 4 cálculos, obteniendo f(0),...,f(3). En un ordenador cuántico, podríamos preparar una superposición de todos los registros clásicos representando los valores de x, en un solo estado y realizar el cálculo aplicándole una sola puerta cuántica, transformando el estado en una superposición de todos los resultados de los valores de f(x).
Ahora nos encontramos con el problema de extraer la información codificada en el estado final. Si medimos sobre este estado, obtendremos cualquiera de los resultados posibles con la misma probabilidad (1/4), colapsando el estado y obteniendo un solo resultado.
Sin embargo, existen otras formas más sutiles de obtener información usando alguna propiedad global de los valores de f(x), por ejemplo su periodicidad. En este sentido podemos decir que la potencia de la computación cuántica no reside en la rapidez de aplicación de las puertas cuánticas, sino más bien en que debe de usarse un número exponencialmente menor que las necesarias en el caso clásico, para realizar la misma tarea.
Entonces ¿cuál es la diferencia entre un ordenador cuántico y uno clásico con muchos procesadores actuando en paralelo? La diferencia es que existen tareas que ningún ordenador clásico puede hacer, concretamente generar, manejar y calcular usando superposiciones de bits, lo que abre múltiples posibilidades.
3.- Interferencia. Dos ondas clásicas pueden superponerse para producir un diagrama de interferencia, mostrando máximos y mínimos. De igual forma en un ordenador cuántico es posible producir una interferencia controlada con el objetivo de que los resultados buscados aparezcan como los máximos de la interferencia, mientras que los no deseados se anulen (o minimicen) por interferencia destructiva.

Software cuántico

Dado que el tratamiento de la información cuántica es notablemente distinto del de la clásica, necesitamos algunas herramientas para construir los programas cuánticos. Se necesitan tres ingredientes básicos en el software cuántico. En primer lugar un conjunto apropiado de puertas.
Análogamente a los ordenadores clásicos, podemos representar la evolución de los cuánticos mediante circuitos formados por puertas cuánticas que realizan las operaciones sobre los qubits. En 1989 Deutsch describió los circuitos cuánticos como formados por puertas cuánticas conectadas mediante hilos, demostrando que existía una puerta cuántica universal y reversible análoga a la de Toffoli clásica.
Una forma de obtener puertas cuánticas es la cuantización de las puertas clásicas, que pasa por reinterpretar los bits como qubits. El propósito de los hilos es transmitir estados cuánticos de una a otra puerta y su forma concreta dependerá de las realizaciones tecnológicas concretas de los qubits.
Se puede demostrar que el conjunto de puertas cuánticas que afectan a un sólo qubit, conjuntamente con las puertas llamadas control-not (que afectan a dos qubits), forman un conjunto universal con las que se puede construir cualquier programa cuántico.
El segundo ingrediente para el software cuántico son los algoritmos. A pesar del esfuerzo que se ha dedicado a la obtención de algoritmos que aprovechen el comportamiento cuántico, en la actualidad, su número es reducido.
Ya se ha mencionado que aunque mediante superposiciones apropiadas, es posible manejar un número exponencial de estados, eso no supone que esta información esté disponible. Para acceder a esa información debemos medir sobre el estado colapsándolo, y la información se pierde casi en su totalidad. Para aprovechar los aspectos cuánticos, debemos combinar la posibilidad del paralelismo cuántico con la interferencia.
En 1994 Peter Shor puso a punto el primer algoritmo de interés práctico, ya que logró plantear un algoritmo eficaz para la factorización usando los recursos de un ordenador cuántico. La importancia de esta posibilidad radica en que la dificultad de la factorización está en la base de los códigos criptográficos actuales muy usados en todo tipo de transacciones bancarias o en secretos militares.
Romper estos códigos significaría acceder a una gran cantidad de información, al mismo tiempo que destrozar estas claves. Hughes ha analizado las previsiones de factorización de números, comparando los resultados de un conjunto de 1.000 estaciones de trabajo con los de un ordenador cuántico. Por ejemplo para factorizar un número de 1.024 bits se tardarían unos 100.000 años (en el año 2006) mientras que en un ordenador cuántico se tardarían ¡4.5minutos!   :kicking:
El tercer ingrediente del software cuántico es disponer de métodos apropiados para controlar los posibles errores. Quizás es éste uno de los mayores problemas a la hora de construir un ordenador. Estos errores provienen de la inexorable interacción del ordenador con su entorno, proceso denominado decoherencia.
Durante algún tiempo se pensó que no podían existir métodos para el control de errores cuánticos, debido a varios hechos: a que los errores cuánticos son analógicos; no se pueden usar métodos típicamente clásicos en su corrección y a que cualquier medida conduce a una pérdida irreversible de información.
Afortunadamente, dos contribuciones en 1995 (ahora ya clásicas) debidas a Shor y a Steane, han cambiado este panorama. Estos autores han mostrado cómo es posible contener los errores mediante códigos cuánticos correctores de errores. Estos códigos, detectan y corrigen estos errores, usando sofisticadas técnicas cuánticas.


Hardware cuántico

Uno de los desafíos actuales más importantes es la construcción de un hardware cuántico apropiado, siendo el cuello de botella de los ordenadores cuánticos. Debido a los problemas de la creación, control y corrección de errores en las superposiciones coherentes de estados cuánticos, la tecnología actual que implementa puertas y circuitos cuánticos, está sólo en su infancia.
A pesar de todo se han construido puertas experimentales control-not de dos qubits, y se han usado algunas técnicas simples de corrección de errores. Para construir un ordenador cuántico se necesita solventar varios problemas: elección de los sistemas físicos que representan los qubits, control de las puertas cuánticas, control de los errores y posibilidad de escalar el ordenador para tratar problemas de distinto tamaño. Con estos requerimientos, se están estudiando diferentes sistemas físicos que se pueden clasificar dependiendo de sus características o de su interacción.
Entre los más prometedores están los siguientes:
1.- Dipolos magnéticos en moléculas, controlados mediante técnicas de resonancia magnética nuclear. Con estos sistemas se han logrado los mayores progresos desde el punto de vista experimental. Se ha implementado el algoritmo de Deutsch (por Jones y Mosca en 1998) y un algoritmo de búsqueda (por Chuang et al en 1998). Cory et al (1998), ha podido implementar un método para corregir errores de fase debidos a fluctuaciones de un campo magnético externo, usando como sistemas de tres qubits la alanina (tres Carbonos-13) y el tricloroetileno (un H y dos Carbonos-13). D. Wei et al. en el 2001, han implementado puertas control-not y control-raizcuadrada-not, usando 7 qubits representados por los 4 carbonos y 3 hidrógenos del ácido crotónico.
2.- Sistemas de iones ultrafrios atrapados en trampas iónicas y controlados mediante haces láser. Mediante esta técnica se construyó la primera puerta CNOT cuántica en el National Institute of Standards and Technology (Colorado). En los experimentos se usaron dos niveles hiperfinos del estado fundamental del ion Be+ como qubit imagen, mientras que los dos primeros modos de vibración (fonones) simulan el qubit de control. Ambos qubits de la puerta CNOT están en distintos grados de libertad del mismo sistema. Monroe et al (1995) obtienen un funcionamiento correcto de la puerta en un 90%. Cirac (científico español) y Zoller propusieron en 1995 el uso trampas de iones lineales lo cual eliminaría el problema de escala. Hasta el momento y a pesar del gran esfuerzo dedicado, no se ha implementado ninguna puerta CNOT mediante estos sistemas, aunque existen trampas (Nägerl et al 1998) para controlar conjuntos de iones como los de Ca+.
3.- Polarización de los fotones, o bien algún tipo de proceso que permita introducir fases globales. Existen dos métodos principales: el método de los "qubits voladores" del grupo de Kimble en Caltech (Turchette et al 1995), y el montaje de Haroche (Domokos et al 1995) de la École Normale Supérieure de París.
4.- Sistemas en fase sólida, basados en las características de coherencia macroscópica de los pares de Cooper a través de una heterounión Josephson para implementar una lógica cuántica.
Aunque se han construido puertas experimentales CNOT que involucran dos qubits, y se han usado algunas técnicas simples de corrección de errores, no se espera que existan ordenadores cuánticos de forma inminente que hagan tareas de cierta importancia.

Teleportación cuántica y códigos densos

Existen otros comportamientos que están directamente relacionados con el tratamiento cuántico de la información, y con los ordenadores cuánticos, concretamente la teleportación y los códigos densos. La idea de la teleportación es usar las correlaciones no locales que existen en un par de partículas "entangled" EPR (también llamado ebit) , para preparar un sistema cuántico en un estado que es una réplica exacta del de otro sistema situado a cualquier distancia del primero (en realidad el proceso no “copia” el estado, pues el estado inicial, desconocido, se destruye). Para conseguir una teleportación completa es necesario realizar una medida que distinga entre los cuatro estados de Bell de dos partículas.
La primera realización práctica de la teleportación la llevó a cabo el grupo de Anton Zeilinger en 1997 (Universidad de Innsbruck), consiguiendo la teleportación del estado de polarización de un fotón a lo largo de 1 m de distancia. Usando un montaje basado en analizadores ópticos, sólo se identificó uno de los cuatro estados de Bell y la teleportación se producía en un 25% de los casos (como máximo). A partir de aquí se han realizado multitud de experimentos relacionados con la teleportación.
En 1998 ,en Los Álamos, se consiguió una teleportación intramolecular completa. Se teleportó un estado de spin nuclear de un carbono (Carbono-13 más alejado) al hidrógeno del tricloroetileno, usando técnicas RMN. También en la Universidad de Maryland (en 2000) se realizó la teleportación del estado de polarización de un fotón, realizando una medida de Bell completa.
Bouwmeester en 1998 consiguió una teleportación del "entanglement", para lo cual se usan dos pares EPR (1,2) y (3,4). Haciendo una medida de Bell sobre el par (2,3), se proyecta el estado de las partículas (1,4) (que no han interactuado nunca) en un estado "entangled".
En 1998 el grupo de Kimble en Caltech teleportó variables continuas (análogas a posición y momento) usando sofisticadas técnicas que implican la generación de estados comprimidos ("squeezed"). Todas estas técnicas sólo usan estados de unas pocas partículas. En septiembre del 2001 (en la Universidad de Aarhus, Dinamarca) se ha conseguido el "entanglement" entre los spines totales de dos nubes que contienen trillones de átomos de cesio. A pesar de la corta vida de este estado, el experimento demuestra que es posible crear estos estados en sistemas macroscópicos. La teleportación al estilo "Star Trek" está aún lejos, pero estamos en el camino.
En los códigos densos se aprovecha la compartición previa de un ebit entre dos interlocutores para enviar dos bits clásicos usando sólo un qubit, que es más de lo que clásicamente se puede hacer. El esquema teórico fue propuesto por Bennett y Wiesner en 1992 y la realización práctica se consiguió en 1996 por el grupo de Zeilinger.

Conclusión

Estamos ante otra de esas revoluciones interdisciplinares que producen nuevas relaciones entre campos inicialmente casi inconexos. La teoría cuántica está alcanzando también a la información, no sólo en sus métodos de procesado, sino entrando en su propia concepción. La posibilidad de construir ordenadores cuánticos permitirá estudiar novedosas formas de tratar la información hasta ahora insospechadas, además de poner de manifiesto ciertos comportamientos cuánticos fundamentales, de momento sólo plasmados como experimentos mentales en los libros de texto. El ingenio de los investigadores y los recursos económicos puestos en juego, nos inducen a pensar que unos 20 ó 30 años se pueda disponer de un prototipo de ordenador cuántico que permita realizar alguna tarea de interés. Si la situación actual es análoga a la que existía en los años 40, cuando se construyó el primer ordenador, el futuro cercano nos depara todavía muchas sorpresas.

46
Hardware / Procesadores Cuanticos
« en: Miércoles 12 de Abril de 2006, 21:01 »
Un circuito electrónico basado en los principios de la física cuántica, capaz de almacenar datos en estado de superposición, va a ser probado este año y será utilizado para la fabricación de procesadores cuánticos, lo que multiplicará casi hasta el infinito la potencia de los ordenadores actuales.

Un componente electrónico potencialmente capaz de servir a la realización de un procesador cuántico ha sido elaborado por el Grupo Quantrónico, del Servicio de Física del Estado Condensado del Comisariado francés de la Energía Atómica.

El Quantronium es un circuito electrónico compuesto de un único bucle de aluminio supraconductor que constituye un “qubit” de características fabulosas. Un qubit es el equivalente cuántico del bit.

La diferencia entre ambos es que, mientras que el bit almacena un solo elemento, bien un 0 o un 1, el qubit puede almacenar una superposición de ceros y unos gracias a las propiedades de la física cuántica, lo que abriga la esperanza de multiplicar casi hasta el infinito la potencia teórica de los futuros ordenadores.

Aunque todavía no existe ningún procesador cuántico, numerosos investigadores han demostrado la validez del concepto de cálculo cuántico a través de experiencias que han utilizado bits cuánticos de objetos microscópicos, como los iones o los spins nucleares, que adolecen de la capacidad de los circuitos electrónicos, que son integrables e interconectables a cualquier escala.

Crear superposición

El Quantronium es un componente electrónico completo conectado a un dispositivo externo sin perder por ello ninguna de sus propiedades cuánticas. La ventaja del Quantronium es que, aunque está separado del circuito exterior, permanece conectado y es medible en cualquier momento.

De ahí la importancia del bit cuántico explotable en un circuito electrónico, que es el Quantronium, porque el carácter cuántico de un sistema es más difícil de mantener cuanto mayor es su tamaño. Los átomos son cuánticos por naturaleza, pero los dispositivos electrónicos, que acumulan miles de millones de átomos y tienen conexiones con el exterior, no actúan cuánticamente.

El Quantronium resuelve esta dificultad, ya que consigue crear y mantener un estado cuántico en un circuito electrónico, lo que le ha permitido reproducir a mayor escala el estado de los átomos y abrir el camino para la construcción de procesadores cuánticos, el sueño de la industria informática.

Más decoherencia

El Quantronium consigue también un tiempo de decoherencia, es decir, de superposición de estados cuánticos, en este caso de unos y ceros, suficientemente largo para asegurar la fabricación de circuitos que posean muchos qubits acoplados en un mismo chip, lo que permitirá conseguir la computación lógico-cuántica.

Por ello, el Quantronium puede considerarse una etapa importante en el camino que conduce a la fabricación de ordenadores cuánticos, ya que alumbrará circuitos más sofisticados que los actuales y permitirá la realización de todas las operaciones lógicas necesarias para elaborar un procesador cuántico.

Eso no quiere decir que la fabricación del ordenador cuántico esté a la vuelta de la esquina, si bien los investigadores del Grupo Quantrónico esperan realizar una demostración de una puerta lógica de dos qubits este año, a una temperatura cercana al cero absoluto (-273ºC).

Información cuántica

La información cuántica es un nuevo campo de investigación cuto objetivo es aprovechar las posibilidades ofertadas por la mecánica cuántica para tratar la información de manera más eficaz.

Los dos componentes básicos de este campo de investigación son, por un lado, la criptografía cuántica, que aporta una seguridad mucho mayor que la de la criptografía clásica, y por otro lado, el cálculo cuántico, que permite reducir radicalmente el tiempo necesario para el cálculo matemático merced a la utilización de nuevos algoritmos basados en los principios de la mecánica cuántica.

Diversas disciplinas están implicadas en la información cuántica, desde la algoritmia cuántica a la óptica cuántica y la nanotecnología, pasando por la física de la materia condensada.

47
Programación de Videojuegos / Opengl O Dx
« en: Miércoles 12 de Abril de 2006, 18:44 »
esto trabajando con dx pero quisiera saber si toca pagar por trabajar con esas librerias, y si es mejor trabajar con opengl, si el dx10 corre solo en win vista con procesador de 64bits?, q caracteristicas de hardware necesito para correr estas aplicaciones por esta demasiado lento trabajar dx9 con visual stdio 2003.

48
Dudas informáticas / Cerrar Puertos
« en: Miércoles 12 de Abril de 2006, 18:32 »
como le hago para cerrar algunos puertos, q comando existe para cerrarlo y abrirlo en winxp escaneo de puertos desde consola.

49
Sobre los Foros de SoloCodigo / Foro De Genexus
« en: Jueves 6 de Abril de 2006, 23:57 »
sugiero un foro de genexus, algun uruguayo que trabaje en Artech que nos colabore.

50
GNU/Linux / Se Me Cierran Las Ventas
« en: Jueves 6 de Abril de 2006, 18:52 »
se me cierran las ventas solas en Red Hat?

Páginas: 1 [2] 3 4