PDA

View Full Version : Alien Computer



Mr. Mask
2016-06-08, 07:00 AM
Imagine we found an alien computer, preserved in an alien ship on Mars. The computer and the rest of the ship are recovered. From what you can estimate, the alien civilization appears to be advanced well beyond Earth, maybe as little as a thousand years.

The question is, once you get the computer working, and start pulling it apart and fiddling with it... how does it work?


What sort of coding language would you expect from an advanced alien species? Say they have no concerns about friendly UI, their engineers are expected to read raw data and process it. What would you say is the most efficient form of coding, from that perspective?

Secondarily, what is the most alien system of code you can think of? A system that would be very difficult to decrypt and grok for the researchers.

What steps would you want to take in analyzing a few of these computers? I expect keep one or more of them intact and take apart the others.



I got interested in this scenario, and wanted to get a feeling for what it would be like. It seems like, to my present understanding, it is hard for mathematical code to be non-universal, that is hard to translate. But I could be wrong on that, and researchers might have trouble getting the computer to process simple calculations, despite being highly superior.

Grinner
2016-06-08, 07:38 AM
You should look into APL (https://en.wikipedia.org/wiki/APL_%28programming_language%29).

Hamste
2016-06-08, 07:49 AM
How would we get it to work? Imagine if someone 1000 years ago found a computer from today. They wouldn't be able to power it let alone fix it. Or even just when electricity was starting to become a thing. Presumably with the alien's considerably better power systems we simply could not power said machine. What I expect to happen is we take apart the alien ship, spend a lot of years figuring out all the technology in that and then maybe we figure out how to power the computer (might be able to do that earlier but I expect it would take a whole lot of power to power it and we would probably need to take it apart just to figure out the right amount of power for it).

ace rooster
2016-06-08, 08:06 AM
Imagine we found an alien computer, preserved in an alien ship on Mars. The computer and the rest of the ship are recovered. From what you can estimate, the alien civilization appears to be advanced well beyond Earth, maybe as little as a thousand years.

The question is, once you get the computer working, and start pulling it apart and fiddling with it... how does it work?


What sort of coding language would you expect from an advanced alien species? Say they have no concerns about friendly UI, their engineers are expected to read raw data and process it. What would you say is the most efficient form of coding, from that perspective?

Secondarily, what is the most alien system of code you can think of? A system that would be very difficult to decrypt and grok for the researchers.

What steps would you want to take in analyzing a few of these computers? I expect keep one or more of them intact and take apart the others.



I got interested in this scenario, and wanted to get a feeling for what it would be like. It seems like, to my present understanding, it is hard for mathematical code to be non-universal, that is hard to translate. But I could be wrong on that, and researchers might have trouble getting the computer to process simple calculations, despite being highly superior.

If you expect engineers to process raw data what is the point of a computer? :smalltongue:

Seriously though, the more advanced computers get the more UI and ease of coding become the bottleneck. Who would spend an extra 10 hours writing code to be efficient if it will only save 100 hours processing time throughout the life of the program? Computing time is cheap, Programmers are not.

As for what the programming language looks like, I would expect it to not be a language as such. I would expect an AI compiler that can take a specification in multiple formats and build a program to match the specification together with thorough documentation of what it does as well as test cases for the programmer to check they have been understood. In to this would have to be built a database of pre existing functionality that could be searched easily, and a rapid partial simulation framework for ease of testing.

That said, one of two things could happen. Firstly, we push the switch and it turns on. There is little to no security to the basic operating system access, because it is for general use of the crew, and we gain access to the programming AI. We can (with a whole heap of work on alien language) provide this AI with a data format of our choosing, and ask it to port all available data to our computers. Additionally we can ask it to construct an AI translation layer between us, so that we can work in more familiar language. Most importantly, we could ask it to port itself to a extent to our computers, and from there we could it could iteratively refine our computer design and optimise itself for them.

The alternative is that either it fails to turn on, or we hit a security roadblock. Even if perfectly emulate it, and are able to virtually repair it (which would be slow, but might be possible), we may still hit the security. Chances are that the security would be robust enough that we have neglegable chance of breaking through it, so this is not that helpful. The hardware would be designed by computer to work with hyper advanced compilers, so there is a good chance we would not even understand the architecture. The basic elements would be hugely informative though, even if we could not yet fabricate them.

Dodom
2016-06-08, 09:33 AM
The hardest to read type of system I could think of would be synthetic brains, such as this:
https://www.sciencedaily.com/releases/2004/10/041022104658.htm
The software can't be translated into code at all, it's written into the hardware's structure as the neurons connect themselves.

khadgar567
2016-06-08, 10:13 AM
well from some one who learns kernel programming if it has some sort of binary code we can translated by the way be careful giving him super computer chat buddies it probably don't end well because we may have delinquent AI so he may slave the super computer chat buddy and well done we have a brainiac in our hand with enough power to launch nuclear strikes to any where and probably have plans for creating robot mobile platforms to escape

NichG
2016-06-08, 10:26 AM
There's all sorts of annoying possibilities. They could be using some kind of physical system with universality properties as a general computational device; for example, rearrangements of defects in a giant heated glass cube (which then maps onto a spin glass, which in turn can be mapped onto NP problems). Trying to figure out how a giant microphone, laser heater, and customized glass cube is doing a particular calculation would be pretty annoying unless you were the one who prepared the cube (and cutting into it could destroy the entire computation). Worse, they could be using something that serves multiple purposes for this such as the ship's hull. We've gone through some crazy phases like that in the past - there's projects using slime molds to solve Travelling Salesman and things like that.

The more exotic possibility is that they figured out a way to produce certain kinds of oracles for problems we consider impossible. An oracle is a black box that just answers the extremely difficult or impossible computational problem in a single step. For example, if you have a black box that will tell you whether or not a given program will eventually halt, you can build all sorts of stuff based on using that black box as a CPU. The result won't behave or be structured like anything from our computer science, because it would all be built around making use of that oracle. This also isn't unheard of in our own computer science - think about the difference between programming a sequential procedural language, and programming something with actual infinite parallelism but relatively high latency/slow clock speed. Adding N unknown numbers together is at best O(N) for a sequential computer because you have to access each number, but its O(log(N)) for an infinitely parallel computer. Similarly, we make an assumption about deterministic computation for most of our computer science - and in cases where there's noise, we build a lot of theoretical frameworks about how to make that noise go completely away in the right infinite limit. But you could also build a computer science around fully embracing non-deterministic programming (with the result probably looking a lot more like biology or neuroscience...). There's also changes in fundamental assumptions when you say 'I don't actually need the exact output, just an approximate one'. For example, there are results on stochastic evaluation of Fourier transforms where you can approximate the Fourier transform of a signal of length N in less than O(N) on a serial computer. That's all stuff we know about already, but you could go further than that.

For example, what if they have a version of quantum computing that lets them apply boundary conditions on future events? The result would be a computer whose computational power scales with the future lifespan of the device - all calculations are instantaneous, but eventually the computer just gets used up.

Spojaz
2016-06-08, 11:59 AM
The computer might be entirely biological. Growing things is cheaper than building them, but that is unlikely to be preserved very well.

The most alien form of code I can think of would use base 1 counting. Maybe they have unlimited perfect mental storage, or never hit upon making numbers get bigger as you have more of them or something. To count to a thousand they have a thousand totally unique numbers. I'm not sure how you could use anything like a computer to do their math, but imagine them trying to figure out how our ALU works. "They think 1+1=10??? How could that...what kind of savages are we dealing with???"

georgie_leech
2016-06-08, 01:25 PM
The computer might be entirely biological. Growing things is cheaper than building them, but that is unlikely to be preserved very well.

The most alien form of code I can think of would use base 1 counting. Maybe they have unlimited perfect mental storage, or never hit upon making numbers get bigger as you have more of them or something. To count to a thousand they have a thousand totally unique numbers. I'm not sure how you could use anything like a computer to do their math, but imagine them trying to figure out how our ALU works. "They think 1+1=10??? How could that...what kind of savages are we dealing with???"

That's not really how bases work. 2 is pretty much the lowest you can go, as the existence of 'thing' also gives us 'not thing.'

Spojaz
2016-06-08, 02:40 PM
That's not really how bases work. 2 is pretty much the lowest you can go, as the existence of 'thing' also gives us 'not thing.'

That's the alien-ness of it. My hypothetical aliens have no concept of "base", so they are expecting 1+1=2 and what they are getting is 1+1 = 1 and 0. Which is obviously untrue.

There are certainly other possible methods of counting than "this number is worth x times more than the number to it's right, so when you count to x you carry one to the left and start over" but it's so built into our expectations we can hardly imagine not using a base.

blunk
2016-06-08, 03:18 PM
That's not really how bases work. 2 is pretty much the lowest you can go, as the existence of 'thing' also gives us 'not thing.'0: null (or maybe (1 - 1) if you needed a placeholder)
1: 1
2: 11
3: 111
etc.

As for the main question, I think the best "programming language" is a conversation, in natural communication (including natural language, drawings, gestures, etc.), between programmer and programmed. So unless we could think and communicate like the aliens could, we wouldn't be able to program it... and the programming of the "conversation engine" would be so complex, fine-tuned, and probably behavior-emergent that it would be very hard for us to unravel it.

KillingAScarab
2016-06-08, 06:07 PM
The first thing I would do is bring in Jeff Goldblum's (http://www.wired.com/2008/06/the-five-most-p/) magic Powerbook (https://www.youtube.com/watch?v=jhfZfUsEtQI). :smallamused:


That's the alien-ness of it. My hypothetical aliens have no concept of "base", so they are expecting 1+1=2 and what they are getting is 1+1 = 1 and 0. Which is obviously untrue.You're describing something closer to quantum computing (https://en.wikipedia.org/wiki/Quantum_computing), rather than classical computing. Classical computing relies upon components with only two fixed states.

Our understanding of physical laws is actually what I would put as the roadblock to understanding alien computing machinery. Suppose it was derived from a society which had found a way to integrate relativistic and quantum principles. We're barely getting our heads around everything quantum physics proposes. That changes what you can use to build the machine. Look at the difference in our electronics ever since vacuum tubes were replaced by transistors. Before magnetic media were refined, there were computer designs which used waves traveling through a pool of mercury as a storage device (https://en.wikipedia.org/wiki/Delay_line_memory).

veti
2016-06-08, 09:59 PM
That's the alien-ness of it. My hypothetical aliens have no concept of "base", so they are expecting 1+1=2 and what they are getting is 1+1 = 1 and 0. Which is obviously untrue.

There are certainly other possible methods of counting than "this number is worth x times more than the number to it's right, so when you count to x you carry one to the left and start over" but it's so built into our expectations we can hardly imagine not using a base.

I think we would call that "base infinity", rather than "base 1".

aspi
2016-06-09, 11:37 AM
0: null (or maybe (1 - 1) if you needed a placeholder)
1: 1
2: 11
3: 111
etc.

As for the main question, I think the best "programming language" is a conversation, in natural communication (including natural language, drawings, gestures, etc.), between programmer and programmed. So unless we could think and communicate like the aliens could, we wouldn't be able to program it... and the programming of the "conversation engine" would be so complex, fine-tuned, and probably behavior-emergent that it would be very hard for us to unravel it.
That is essentially the unary system (https://en.wikipedia.org/wiki/Unary_numeral_system), which can be used for computations but has some really nasty qualities. It effectively makes computations more complex than they would be for any other base, which is a very basic finding of complexity theory and there is nothing that can be done to circumvent this. Any sufficiently advanced alien civilization would know to avoid this system like the plague.

blunk
2016-06-09, 01:09 PM
That is essentially the unary system (https://en.wikipedia.org/wiki/Unary_numeral_system), which can be used for computations but has some really nasty qualities. It effectively makes computations more complex than they would be for any other base, which is a very basic finding of complexity theory and there is nothing that can be done to circumvent this. Any sufficiently advanced alien civilization would know to avoid this system like the plague.Yup, that was just a "the more you know" response to "base-2 is basically the lowest you can go".

As an aside, non-integer radices (https://en.wikipedia.org/wiki/Non-integer_representation) make my head hurt and I'm afraid to google "imaginary radix" :smalltongue:

Carlobrand
2016-06-10, 06:45 PM
... From what you can estimate, the alien civilization appears to be advanced well beyond Earth, maybe as little as a thousand years. ...

I'd bet you wouldn't recognize it as a computer. If built up using nanobots, the whole ship might look like a seamless construct without obvious connections or divisions. The "computer" is likely to be dispersed, with dedicated processors, memory and such serving specific machinery and the central unit doing little more than supervision and coordination. Identifying the processors in such a construct might be next to impossible. It's likely to communicate with its organic controller by direct interface with that controller's brain - there may not be any "coding language," no more than there's a "coding language" for your brain to control your arms and legs.

Lvl 2 Expert
2016-07-13, 06:56 AM
Maybe we don't need to take the computer apart to get information. If we can get it to work its processing power and programming might be much better at finding ways to communicate with us than the other way around.

Frozen_Feet
2016-07-13, 12:14 PM
Remember Clarke's third law. If the computer is non-functional, we most likely wouldn't even realize what we're looking at *). Our only hope of getting anything out of this is if the computer is at least partly functional and it reacts to human presence somehow (unexplainable voices, lights etc.). Even then it would likely take decades of dedicated research to find out what is happening, nevermind how. Black boxes have poor prospects of being reverse-engineered.

*) Imagine a person from 1200 stumbling upon an AK-47 that's out of bullets. How, exactly, would such a person realize what it's for? That's the technological gap we're looking at here. Or, think of someone from 1950 finding a touch-screen smartphone that's out of battery.