Jump to content

Predicting future by probabilistic analysis of randomised images

- - - - -

This topic has been archived. This means that you cannot reply to this topic.
12 replies to this topic

#1
Walle

Walle

    Learning Programmer

  • Members
  • PipPipPip
  • 75 posts
The topic sounds a bit far out there, doesn't it?

Well, it's not all that serious I might add, but the discussion is however interesting. You've probably already heard it sometime.

An image of a certain size w,h, and color depth d can hold w^h^d combinations of pixels/colors. For a 400x400 8-bit grayscale image, that is http://www1.wolframa...=image/gif&s=13 possible combinations. (That's an insanely huge number. As a comparison the earth is estimated to contain 1x10^50 atoms. The entire universe is estimated to contain about 1x10^80 atoms).

Within that insanely large number of images, there will be images of every single possible and unpossible object/event covering every single possible angle from every single possible perspective at any single moment in time, past, present and future. In other words, within that huge mass of pictures there will be detailed pictures of president Kennedy being shot, for example. But also of Aliens and real-life cartoon figures..

There will be pictures from every single possible angle at any single possible place without the whole universe, and some of those pictures will be in the area of where Kennedy got shot. The problem is, there will be pictures of all different thinkable scenarios. In some of the pictures, Elvis Priesley will be the killer, in some Queen Elizabeth, and in some Roger Rabbit. In some of the pictures, titanic will be falling through the sky of mars, while a blue polar bear is playing chess with two penguins dressed in tail-coats, right beside the parked starship U.S.S. Enterprise.

So, the problem is finding out what pictures contain probable data, and what pictures contain improbable data.

If we contract the scope a tad bit to a 10x10 one-bit image, we get 10^10^2 which is 1x10^100, that is 101 decimal digits. Still a very large number, but way more within our scope of logical thinking :)

So what possible "useful" information could a 10x10 one-bit image hold? Well, simpler symbols for example. Which could be useful for proving the theory, since it's simple to apply pattern recognition to distinguish noise from "useful" patterns.

The steps would possibly be:

  • Generate all possible combinations of pixels.
  • Apply algorithm to eliminate pictures with low probability of containing useful data (I.e. too much noise, too few different pixels, e.t.c.).
  • Apply algorithm to eliminate pictures that doesn't seem to contain usable patterns.
  • Manual survey.

But we could probably vastly improve efficiency by reducing "bad" output from the generation stage. To start with, we could skip all generations that contains less than say 10% different pixels. We could also probably apply a noise reduction step here also.

Could it be possible to create a "rand" function that isn't random, but instead "randomizes" pixels in such a manner that there is a higher probability for a useful outcome?

Could it in the future, with vastly improved computational power and a vastly improved A.I. be possible to actually produce some meaningful output from such a thought experiment?

Edited by Walle, 10 January 2010 - 05:03 AM.
Added some clarification

________________________________________________
"I'm not young enough to know everything." - Oscar Wilde

#2
Guest

Guest

    Writes binary right handed and hex left handed

  • Members
  • PipPipPipPipPipPipPipPipPip
  • 3,414 posts
Even if you were able to successfully produce useful output, there is no way you could predict the future. You might see some interesting fantasies, but you would never know if, where and when those would become future events. If you want to see random things that have meaning, it's all over the Internet. :D The best algorithm for doing this is in the human mind, and it's called imagination. ;)
Root Beer == System Administrator's Beer
Download the new operating system programming kit! (some assembly required)

#3
WingedPanther

WingedPanther

    A spammer's worst nightmare

  • Moderators
  • 16,831 posts
Your formula for the number of possibilities is incorrect. It's actually ((2^d)^(h*w)). That means a 10x10 1 bit image can hold 2^100 or 1267650600228229401496703205376 possible images. Now, Given that number of possible images, and the fact that each requires 100 bits, we get 15,845,632,502,852,867,518,708,790,067,200 bytes of data. I hope you have a large hard drive.
Programming is a branch of mathematics.
My CodeCall Blog | My Personal Blog

#4
Walle

Walle

    Learning Programmer

  • Members
  • PipPipPip
  • 75 posts
Panther, you're completely right! That alters the numbers a bit, the number of possible images for a 400x400 8 bit monochrome image would then be http://www4c.wolfram...=image/gif&s=33 if I'm not mistaken :) That is http://www1.wolframa...=image/gif&s=55 times the number of atoms in the universe. Quite a large number indeed!

I'm thinking outside the box here. I'm not talking about what's possible today, or even what might be possible tomorrow, but basicly what's theoretically or imaginary possible. Say we invent this amazing seeding algorithm that eliminates 99% of the noise images. Then we invent this amazing self-aware AI that could help us sort the images. During all this time, the computers have evolved to some highly advanced quantum-computers with a computational power of 10^1000? times todays. Storage has evolved in the same manner. Then we configure a super-cluster of 50.000.000 of those quantum-computers using internet 3.0 (:lol:). Say that we today could "process" 1000 images per second. Given the variables above, using that super-cluster we could proccess http://www1.wolframa...=image/gif&s=34 every year, so it still clearly would take "some" time ;) (about http://www4c.wolfram...e=image/gif&s=3 years. That is http://www4c.wolfram...=image/gif&s=43 times the age of the universe since the big bang ;))

Ok, now my head is frying, I'll go back to simple particle systems :D
________________________________________________
"I'm not young enough to know everything." - Oscar Wilde

#5
foedan

foedan

    Newbie

  • Members
  • PipPip
  • 29 posts

Guest said:

Even if you were able to successfully produce useful output, there is no way you could predict the future. You might see some interesting fantasies, but you would never know if, where and when those would become future events.

I agree, I would definitely not be inclined to think that this method could predict the future. It is, however, quite an interesting concept. It makes me think that this technique could be used to create some interesting visual art.

#6
James.H

James.H

    Programming God

  • Members
  • PipPipPipPipPipPipPip
  • 866 posts
Interesting concept would like to see the resulting images on this.

#7
Walle

Walle

    Learning Programmer

  • Members
  • PipPipPip
  • 75 posts
I went to the pub for a couple of beers a little earlier, and just couldn't stop thinking about this, despite the fried head. :)

Although practically impossible, the concept really is stunning. Given the appropriate AI filter algorithms based on probability, some stunning results could be achieved.
________________________________________________
"I'm not young enough to know everything." - Oscar Wilde

#8
Guest

Guest

    Writes binary right handed and hex left handed

  • Members
  • PipPipPipPipPipPipPipPipPip
  • 3,414 posts
You know, if we generated an large amounts of random characters, we could find stories in there. :) Even better, give a computer a dictionary and have it recognize parts of a sentence and see what it comes up with. I could probably try that right now. :D
Root Beer == System Administrator's Beer
Download the new operating system programming kit! (some assembly required)

#9
Guest

Guest

    Writes binary right handed and hex left handed

  • Members
  • PipPipPipPipPipPipPipPipPip
  • 3,414 posts
Well, I actually made a program that uses a word list with parts of speech to make sentences. Here is the output:

Quote

The mazzard ripples.
The antidiphtheritic misbecomes.
The hamperedness pilfers.
The Westminster poseers.
The ann diets.
The underthief signals.
The labefaction whittlets.
The fuliginousness overindustrialized.
The existentialist tingled.
The fylfot reimports.
The anti-Romanist folk dances.
The subantiqueness seeks.

It doesn't really make any sense, but it's pretty funny. I need to get my hands on a simple word list, and improve my program so it spits out more complex sentences.
Root Beer == System Administrator's Beer
Download the new operating system programming kit! (some assembly required)

#10
tate

tate

    Learning Programmer

  • Members
  • PipPipPip
  • 90 posts
I haven't thought about the technical aspects of this but it would be cool to have a program that would generate the images starting from any given point wanted and then have it generate images sequentially to display like a video. Or like a scroll bar to scroll through images in large jumps with control over how many pics each jump is.
twas brillig

#11
semprance

semprance

    Programmer

  • Members
  • PipPipPipPip
  • 126 posts

Walle said:

Given the appropriate AI filter algorithms based on probability, some stunning results could be achieved.

Good luck with those algorithms! :D

#12
plypencil

plypencil

    Newbie

  • Members
  • Pip
  • 7 posts

WingedPanther said:

Your formula for the number of possibilities is incorrect. It's actually ((2^d)^(h*w)). That means a 10x10 1 bit image can hold 2^100 or 1267650600228229401496703205376 possible images. Now, Given that number of possible images, and the fact that each requires 100 bits, we get 15,845,632,502,852,867,518,708,790,067,200 bytes of data. I hope you have a large hard drive.

What about active processing? Generate the image, process the image, delete if not needed, repeat.
Instead of block production. Generate all images, process all images, delete all images (well almost)