Designing a Language Quantum Compatable

Discussion in 'Programmer's Corner' started by SplitInfinity, Apr 14, 2013.

  1. SplitInfinity

    Thread Starter Member

    Mar 3, 2013
    369
    9
    I was having a discussion with a friend of mine who is a Beyond Brilliant Computer Programmer and he has written custom made software for several of my Family owned Businesses as well as written custom software specific for use in my Recording Studio.

    His name is Mothman. He has also been employed my severalbranches and groups within the U.S. Military and Intell. services.

    I was asking him...What would a Programming Language look like and need for use in a Quantum Computer?

    He thought about it a bit and said...Well a Quantum Computer is more like a Probability Engine and unlike present languages...then he used an old Basic Analogy...it would not be like...if a>10 go to c....it would be more like ?>10 go to ?.

    He told me that such a Computer being built would almost be simpler than creating a language to use it. I asked him...Is this because of the Indeterminate nature in the way it computes as far as a specific value?

    He said...Sort of...there has been many groups attempting to design such a language doing so for many years and this is in preperation for the existance of a Quantum Computer.

    Then he said something that I had heard about but was not certain...He said...One already exists.

    Now has anyone here ever heard about this?

    Split Infinity
     
  2. SplitInfinity

    Thread Starter Member

    Mar 3, 2013
    369
    9
    Also...a Quantum Computation is thought to be the only way a true A.I. system can be created. Those charged with it's development are using the Human Brain as a template in how the brain works, is constructed and the physics of it.

    The Human Brain is basically a Biological Quantum Computer of such great complexity that it achieves sentience. Reguardless of the Religious implications that level of complexity would seem to be the reason behind sentience and self determination.

    Such sentience and self determination does not appear to be achievable using anything other than a Quantum Computer.

    The fear associated with this is at the point sentience is achieved...such a system would begin to write it's own code and evolve without restriction.

    Split Infinity
     
  3. TheComet

    Member

    Mar 11, 2013
    88
    12
  4. joeyd999

    AAC Fanatic!

    Jun 6, 2011
    2,678
    2,737
    I assume we will be enjoying a visit by Mothman shortly, then?

    Edit:

    Split/Plad/Mikado/Mothman...perfect lineup for an 80's retro heavy metal group...
     
    DerStrom8 and shortbus like this.
  5. Markd77

    Senior Member

    Sep 7, 2009
    2,803
    594
    Maybe you are confusing quantum computing with neural networks which as far as I know are unrelated.
    The brain certainly uses neural networks, but there are a lot of neurons and so far there isn't a computer that has enough processing power to simulate that many.
     
  6. vpoko

    Member

    Jan 5, 2012
    258
    47
    A programming language for a quantum computer wouldn't have to be any different from a programming language for a classical computer.

    Think about a classical computer with a physical source of randomness. Now, this isn't the same thing as a quantum computer, and actually probably would have no additional power over a classical computer without a physical source of randomness (this because pseudo-random number generators are thought to be "good enough", what's called the derandomization assumption, though this isn't proven). How would you access this source of randomness? Well, you could declare an object, say Random r, and then do something like r.GetRandomBit() to get a random bit.

    A quantum computer would be similar, but quantum amplitudes are different from classical probabilities in three ways: 1. they can be positive, negative, or even complex numbers (numbers with real and imaginary components), 2. they obey the L2 norm instead of the L1 norm (briefly, the L1 norm for classical probabilities means that the sum of all probabilities equal 1. If there's a 40% chance of rain, then there's a 60% chance of no rain. The L2 norm means that the sum of the squares of the probabilities equal 1) and 3. that seemingly unrelated "random bits" can actually be correlated - also known as entanglement. In other words, quantum amplitudes can interfere - constructively or destructively - with each other. This is where the power of quantum computers comes from.

    So, you'd still use r.GetRandomBit(), but the chance of you getting a 0 or a 1 would depend on the state of the system, including other qubits, a correlation which wouldn't exist with classical computers, where states are never entangled.

    Even though quantum computers don't yet exist, at least not ones capable of running, say, Shor's algorithm (a company called D-Wave claims to have a working quantum computer, but their claims are very dubious, and in any case, they claim it's a "different" kind of quantum computer known as an adiabatic quantum computer), there are quantum computer simulators out there since a classical computer can do anything a quantum computer can do, only (in some cases) much, much slower. Simulators may use different underlying computational models (quantum circuits are the most popular), but there's no reason someone couldn't write a high-level compiler for any of those underlying models. You can find a simulator here: http://jquantum.sourceforge.net/
     
    Last edited: Apr 18, 2013
    Georacer likes this.
  7. vpoko

    Member

    Jan 5, 2012
    258
    47
    Well, nobody's built one, yet (notwithstanding D-Wave's claims, see my above post). It mostly seems to be an engineering challenge at this point, though there are a few respectable skeptics out there who claim they're not possible even in theory. If that turns out to be the case, it would also likely overturn a lot of our theory about quantum mechanics in general.

    To be precise, they're thought (but not proven) to be exponentially faster (in terms of their asymptotic performance) for a very narrow class of problems, for example factoring, calculating discrete logarithms, and a few other things. They're provably, quadratically faster (still nice, but not nearly as dramatic of an improvement as an exponential speedup) for some problems with wider application (see Grover's algorithm). For most other problems, they're not currently known to offer any speedup whatsoever.
     
    Last edited: Apr 18, 2013
  8. SplitInfinity

    Thread Starter Member

    Mar 3, 2013
    369
    9
    I have heard that they are using trapped Ions as...Quibits...which can exist in superposition of two states at the same time. This replaces the use of transistors.

    Split Infinity
     
    Last edited: Apr 21, 2013
  9. SplitInfinity

    Thread Starter Member

    Mar 3, 2013
    369
    9
    Read my above post. Using Quibits allows a Quantum Computer to work beyond just using a 0 or 1.

    Thus the Language must reflect this.

    Split Infinity
     
  10. SplitInfinity

    Thread Starter Member

    Mar 3, 2013
    369
    9
    Found this about the Q-Lisp Project.


    The QLisp Project Development of a Quantum Computer Programming Language QLisp is a project that creates a formal design and implementation of:

    • A computer language for processing data on machines with non-deterministic (probabilistic) and quantum registers;
    • a software simulator that can execute quantum software programs written in the language;
    • the design for a hardware (non-quantum) parallel processing system that can emulate the machine with quantum registers; and
    • using approximate polynomial models for certain quantum calculations.


    [​IMG][​IMG]

    Photo courtesy of D-Wave Systems Inc.
    The motivations for designing and building a quantum programming language (abbreviated as QLisp) are presented in this summary, together with the aimed results of the project. The new language (QLisp) is an extension of the AI language ‘Common Lisp’, and thus is a fully general computing language for digital (classical) computers. Extensions to Common Lisp to add data-types and operators are permitted by the Lisp specification. Extensions to the macro world that implement quantum physics appear to be permitted by the specifications of the universe itself




    Split Infinity
     
  11. SplitInfinity

    Thread Starter Member

    Mar 3, 2013
    369
    9
    More about Q-Lisp.

    What will QLisp Look like?

    Like this: (MEASURE (QBLOCK
    (+ (QCOND
    ((QFN-EQUAL #’F1 #’F2) 0)
    ( T 1))
    (F1 0))))


    where the arithmetic operators like “+” preserve superposed states, QBLOCK is a quantum block marker, QCOND is a quantum conditional, QFN-EQUAL tests whether two quantum operators are equivalent, and the operator (MEASURE x) collapses the quantum state of x into a classical state (5).
    QPLs generally have provided an imperative programming environment that really is not suitable for mathematical manipulation. That is, it is hard to use them to write programs that manipulate other programs. In classical computation, the lambda calculus provides an alternative computational model to the Turing machine, and fully equivalent to it. The lambda calculus was developed especially for the study of logical function theory, and it forms the basis of several computer languages, including Lisp.

    [​IMG][​IMG]
    We do not propose solely to develop a lambda calculus for quantum mechanics. That has already been achieved by several researchers, notably A. Tonder (6). This quantum lambda calculus combines the benefits of both quantum circuits and the quantum Turing machine, and describes functions that may be composed and manipulated algebraically, like quantum circuits. Tonder has also implemented, in Scheme (a dialect of Lisp) a part of his quantum lambda calculus. The calculus has been shown to be Turing equivalent (7). We propose to adopt, with modifications, the quantum lambda calculus of Tonder as the starting point for the formal specification of QLisp. We chose to use Lisp rather than Scheme primarily because of the richer set of debugging and optimization tools available, and because once one has Lisp, it is easy to write Scheme, but the converse is not true.
    Generally, QLisp will look like Lisp. It will have some important differences, including a set of quantum-complete operators, quantum conditionals, and operators to reduce quantum calculations to real numbers (i.e. to “collapse” quantum states).

    Split Infinity
     
  12. SplitInfinity

    Thread Starter Member

    Mar 3, 2013
    369
    9
    Q-Lisp is but one of many projects dedicated to writing a Language compatible with the abilities of a Qauntum Computer.

    As I posted earier in this topic the writing of such Languages began well before such Quantum systems were even existing and whether they exist other than in a few simple constructs...the process of writing such Languages is ongoing and accelerating in an effort to have they available when such a Quantum Computer exists.

    Now Mothman infered that they already exist and not just the simple limited experimental systems. I find this to he highly likely.

    Split Infinity
     
  13. Georacer

    Moderator

    Nov 25, 2009
    5,142
    1,266
    @Split Infinity

    Please provide the link to the content of your last posts, instead of Copy/Pasting it in your posts.

    It's at least the fair thing to do.
     
    Last edited: Apr 21, 2013
  14. SplitInfinity

    Thread Starter Member

    Mar 3, 2013
    369
    9
  15. SplitInfinity

    Thread Starter Member

    Mar 3, 2013
    369
    9
    In my conversation with Mothman as he was telling me that writing such a Language would be more problematic that people thought as well as even though deleloping such a language for use in a Quantum Computer had been going on steady for some time as well as by several groups....none of the groups or people were certain that the languages they will have developed will actually work once a true Quantum Computer is developed.

    The reason for this is that even though programers feel certain the Languages they will have written will work from a Logic and Mathematical point of veiw...THIS IS ALL BUT ON PAPER. And unlike how the designers for anything can use the given needs and data to design and engineer something to fill those needs and design it based upon the data...a Language for a Quantum Computing System is now based upon KNOWNS and the biggest fear is that such a system will present UNKNOWNS and variables and abilities that go far beyond what it is designed for as well as what is thought known.

    When he told me this I asked him...Well how the hell can they not KNOW what the thing can do or how it works and what it needs? He replied that the answer to that is reflected in the very way such a computer works and specifically Indeterminate Values. In effect the same thing that gives such a system such speed and ability also allows it a certain INSTABILITY within any closed system of logic.

    I am just a layman as far as programming and although I understand the issue I have absolutely know idea how they will or are solving it. I understand how a value must collapse but as to writing a language to deal with the unknowns such as how to govern Quantum Duality of Function...I have no idea.

    Split Infinity
     
  16. SplitInfinity

    Thread Starter Member

    Mar 3, 2013
    369
    9
  17. TheComet

    Member

    Mar 11, 2013
    88
    12
    There have been quite a few claims of existing quantum computers. I only skimmed the subject, so perhaps I'm wrong. This is the list I read: http://computer.howstuffworks.com/quantum-computer2.htm
     
  18. vpoko

    Member

    Jan 5, 2012
    258
    47
    A high level language would not need to reflect this, since a quibit, once measured, is just a bit. It's only in superposition when nobody's looking at it, once they do look at it, it takes on a definite 0 or 1 value.

    Obviously someone designing a quantum computer needs to be aware of its quantum nature, ensure that all gates are reversible (i.e., Toffoli gates), allow quibits to entangle, etc. But all of these details can be safely abstracted away in a high-level programming language with absolutely no constructs for quantum computation.
     
  19. vpoko

    Member

    Jan 5, 2012
    258
    47
    So far it's just been toy models with too few quibits to be useful, but enough to serve as a proof-of-concept. To date, a quantum computer has factored 15 into 3x5... with a high degree of confidence!

    Once useful quantum computers are out there (when is anybody's guess, the engineering challenges are not trivial), we'll all be keenly aware of it, because the loud thud we hear will be the RSA cryptosystem being thrown out the window.
     
  20. TheComet

    Member

    Mar 11, 2013
    88
    12
    Fantastic, so my pornography will be safe until I observe it.
     
Loading...