2013-08-27 14 views
21

Ho appena letto un articolo che parla di fisica quantistica. Una cosa interessante è che in una vista del programmatore di Haskell ci sono alcune somiglianze tra questi due campi.Haskell è adatto per l'informatica quantistica?

Prima di tutto, la misurazione nel mondo quantico sembra simile alla valutazione pigra in Haskell: se non si misura, non si sa se il gatto è vivo o morto. Se non si valuta, non si sa se il valore è definito o undefined.

In secondo luogo, in quanto abbiamo lo EPR paradox, che può essere spiegato dalle interazioni con velocità superiore alla luce, o equivalentemente, una macchina del tempo. In Haskell, come abbiamo visto in Assembly: Circular Programming with Recursive do -Monad.Reader issue 6, possiamo accedere a un valore che viene dal futuro utilizzando il ricorsivo do.

Infine, in quantum dobbiamo distinguere il mondo osservabile in cui l'entropia non diminuisce mai, e il mondo quantico "puro" in cui il tempo è equivalente in entrambe le direzioni. In Haskell abbiamo il mondo IO() che descrive ciò che effettivamente fa il programma, e il puro mondo funzionale che non ha mai effetti collaterali, ei valori non dipendono mai dall'ordine di valutazione.

Quindi suppongo che i fatti sopra suggeriscano che ci siano alcune interconnessioni tra questi due campi. Questo può avere conseguenze più interessanti? Ad esempio, anche se ho parlato del paradosso EPR, non so come creare un programma Haskell per simularlo: una funzione crea due valori, e la successiva valutazione di uno di essi influenzerà l'altro (penso che quei valori debbano avere i tipi IO() ma non so come metterli insieme).

+3

Un linguaggio informatico composto da più di un concetto teorico. Anche se due concetti sono (o sembrano) simili, non ha necessariamente nulla a che fare con l'uno o l'altro in qualsiasi modo utilizzabile. –

+7

Usando la frase "macchina del tempo" si suggerisce di non aver compreso appieno il paradosso EPR. Per una spiegazione straordinariamente chiara vedi l'articolo di Mermin: http://theorie.physik.uni-konstanz.de/juan/pub/IsTheMoonThere_PhyToday38no4p38.pdf. – idontgetoutmuch

+2

Tutte queste analogie sono ... beh, euristiche e onestamente sbagliate per la maggior parte. Ma questa è ancora una buona domanda. – leftaroundabout

risposta

25

Haskell è stato usato per un po 'come linguaggio di programmazione quantistica.

Il punto di riferimento principale sarebbe il DSL silenzioso in Haskell.

e roba più divertente - http://www.kurzweilai.net/quipper-language-makes-quantum-computers-easier-to-program

+6

Vedi anche Modellazione di Amr Sabry _Quantum Computing in Haskell_ - http://www.cs.indiana.edu/~sabry/papers/quantum.pdf e Jerzy Karczmarczuk's _Structure and Interpretation of Quantum Mechanics_ - https: //karczmarczuk.users.greyc .fr/arpap/hasiqm.pdf. Entrambi sono apparsi al Workshop Haskell del 2003. –

+0

Grazie, puoi spiegare un po 'di più sul semplice programma 'teleport' che appare nel tuo link di riferimento finale? Sembra molto interessante –

Problemi correlati