My Own Experiments

Inspired by the Global Consciousness Project and the results they got I decided to do my own experiments in this area. Would it be possible to influence a true random generator myself? How to do that? Does it require a special state of mind or something like that? And if I were able to alter a stream of random bits, how to detect that? What properties in the bit stream should I look for that were changing due to my influence?

I started in november 2005 with buying a true random generator from Araneus in Finland. They sell a true random generator that simply plugs into an USB port for about 200 euro. It produces a data stream of 100 kbits per second, which is fast enough for my experiments.

Then I started programming. I had bought Microsoft Visual Basic .NET for about 100 euro because Visual Basic is an relative easy programming language to use. My first approach was to program a neural network that would somehow learn to find anomalies in the bitstream from the random generator. But that didn't work, because a such a neural network doesn't know by itself what anomalies to look for. It has to learn that from a set of data with the anomalies in it. And that was impossible, as I didn't know wich anomalies I would cause (if any) when trying to influence the random generator.

My second approach was more down to earth. I wrote a program that showed a graph of the output of the random generator. The program runs trials continously. In every trial it reads 200 bits from the random generator and counts the number of ones. There should be 100 ones on average in a trial. The random generator produces a stream of 100,000 bits per second, so the program does 500 trials per second. Every second the average of these 500 trials is displayed as one dot on a graph.

Then I needed a method to test if I could actually influence the random generator. So I designed targets. The program makes a target every 30 seconds, which is either above or below 100, depending on a random source. The goal for the operator (myself, in this case) is to get the graph through the target. In other words: to get the average number of ones above or below 100, indicated by the target. When the program is running it looks like this:

The black line indicates exactly 100. The red line shows the changing average number of ones in the bitstream of the random generator. The green and grey vertical lines are the targets. A target is green at first, then it becomes grey when it is missed or stays green when it is hit. In this example I have hit the first target and missed the second one. The time for one run is 600 seconds, so there are 20 targets per run and one would expect to hit 10 targets on average by chance alone. Hitting a higher number of targets repeatedly would indicate that the operator does influence the random generator.

So now I had my setup ready and I started experimenting. Trying to get the red graph through the green targets by using nothing else but my mind. Usually I would hit about 10 targets. Sometimes I would hit more, but I was never able to repeat it. I didn't know whether it was my influence or just chance that caused more targets to be hit. And if it was my influence I didn't know how I did it.

In februari 2006 something unusual happened after trying several runs without much succes. For no appearant reason everything 'clicked' in my mind and I had a very high score: 17 out of 19. And the 2 missed targets were nearly hit. It was almost a 19 out of 19 score. See the figure below:

A score of 17 out of 19 is unlikely to happen by chance. Also, I had a special feeling during this run. For these 2 reasons I believe this high score was caused by myself. Unfortunately I don't know exactly how I did it and I cannot repeat it. I tried many times, over and over again. But I never got that special feeling back and I never got such a high score again.

Then I worked out a third approach. Since I don't know what anomalies might occur in the bitstream I should use a method that was indifferent tot the type of anomalies. I had to use something that would show any kind of repetitions in the data. No matter what kind of repetitions, as long as there were any it should show that somehow. Now, a truly random data stream has no repetitions, it has maximum entropy and cannot be compressed (compression ratio = zero). Any outside influence on this data stream would give it some kind of structure and make it compressable (compression ratio > zero). So I wrote a program that reads 100,000 bits of data from the random generator and tries to compress it. Then it draws one point of a graph, the position of that point is related to the compression ratio. It looks like this:

The red line is going up and up somewhat, but it averages around the upper black line. Any kind of influence on the random generator would decrease the entropy of the random data (make it less random) and the red line would go down. In spite of many tries I have not been succesfull in making the red line go down. But I think the idea is sound and I will keep on trying.