Sorry your browser is not supported!

You are using an outdated browser that does not support modern web technologies, in order to use this site please update to a new browser.

Browsers supported include Chrome, FireFox, Safari, Opera, Internet Explorer 10+ or Microsoft Edge.

Program Announcements / "Every Image Ever Theory" (I need alot of volunteers)

Author
Message
HyperByte
17
Years of Service
User Offline
Joined: 3rd Jan 2007
Location: in a small kola bear costume
Posted: 15th Oct 2008 05:07
so I made a simple program to help demonstrate an awsome theory (which logicaly makes complete sense). So... lets say an image is 100 pixles high and 100 pixles wide, thats not the best resolution but you can still see what the image is just fine. you might also have the intuitive idea that you can take a picture of anything at all and display it as that 100x100 image, BUT... technicaly (assuming that its 24-bit) you can only have a maximum of ((100^2)^(256^3)) different combinations for that picture or to simplify there literally can only be (10000^16777216) different images on any 100x100 24-bit image. Now I know that thats ALOT but it still isnt an infinite amount like you would just assume without really thinking about it. SO... my project is a simple program that you will just let run for a while and it creates a ton of 20x20 images that have 128^3 colour combinations. the program takse care of everything you just enter in a random number to change the seed value then it automatically saves the images and goes again. Hopefully this experiment will prove that you can randomly produce any image that could ever exist! If you see a 20x20 group of pixles in this that look like a "real" image then upload it here to let us see. I'll attach a 20x20 image of the earth (its extremely low res, but the point is that you can see what it is)
THANKS FOR YOUR HELP!!!

On a scale from one to ten one being very smart and ten being an absolute genius your none of the above

Attachments

Login to view attachments
Virtual Nomad
Moderator
18
Years of Service
User Offline
Joined: 14th Dec 2005
Location: SF Bay Area, USA
Posted: 15th Oct 2008 09:02
a small kola bear once said, "your none of the above"

...and, that's enough for me.

Virtual Nomad
AMD XP 1800+ (~1.6 Ghz) / 1.5 GB RAM
ATI Radeon 8700LE 128 MB / Windows XP
BatVink
Moderator
21
Years of Service
User Offline
Joined: 4th Apr 2003
Location: Gods own County, UK
Posted: 15th Oct 2008 10:56 Edited at: 15th Oct 2008 10:56
We had this discussion before on these forums, many years ago. I think it centred around the reproduction of the Mona Lisa.

What you actually need for this to work is a distributed computing model (or Grid, or whatever the current buzz word is). Each computer is allocated a chunk of work, and nothing is repeated.

sp3ng
18
Years of Service
User Offline
Joined: 15th Jan 2006
Location:
Posted: 15th Oct 2008 13:25
interesting... *strokes beard (if i had one)*

ive never thought of it before but it seems really plausible

anybody here have a Cray super computer for this?


Add Me
BatVink
Moderator
21
Years of Service
User Offline
Joined: 4th Apr 2003
Location: Gods own County, UK
Posted: 15th Oct 2008 15:40
Quote: "anybody here have a Cray super computer for this?"


Three NVIDIA cards running Cuda will probably do the job just as fast.

The problem is finding the recognisable images.

KISTech
16
Years of Service
User Offline
Joined: 8th Feb 2008
Location: Aloha, Oregon
Posted: 15th Oct 2008 18:18
It's an interesting theory. (stroking beard because I'm to lazy to shave..)

Is there any practical purpose for it?

HyperByte
17
Years of Service
User Offline
Joined: 3rd Jan 2007
Location: in a small kola bear costume
Posted: 15th Oct 2008 18:46
I was thinking of creating a database of about a hundred same size images (eg. the earth, elephant, happy face,etc) and then checking them against the random images and then display a percentage of how many pixles matched. (But of course this will take an insanely long timeon a regular computer)

Im also thinking of doing a brute force program that will use less colours and smaller images to go through in order, every combination of pixles.

The main purpose is that, in theory if the image size was even (100x100) or preferably bigger. then technically you could see any image that ever existed or that ever will exist. Ultimately Im puting the "pigeon hole principle" to the test.
http://en.wikipedia.org/wiki/Pigeon_hole_principle


ps. has anyone actually downloaded the program and tried it out?

On a scale from one to ten one being very smart and ten being an absolute genius your none of the above
Rudolpho
18
Years of Service
User Offline
Joined: 28th Dec 2005
Location: Sweden
Posted: 15th Oct 2008 19:04
If you went for 8-bit images and 16x16 px images, you could see how many new fancy smilies you could create

Might be a bit more achievable (will still probably eat up your harddrive though).

"I kören hörs de brummande busarna Björnligan och Gondolen"
BatVink
Moderator
21
Years of Service
User Offline
Joined: 4th Apr 2003
Location: Gods own County, UK
Posted: 15th Oct 2008 19:23
I would describe it as being exactly like the infinite monkey theory, rather than the pigeon-hole theory.

"To be, or not to be, that is the schcrdlmph"

HyperByte
17
Years of Service
User Offline
Joined: 3rd Jan 2007
Location: in a small kola bear costume
Posted: 15th Oct 2008 19:53
@Batvink- your absoulutely correct, this theory is basically the same as that one in every way.


But... I said that it is using the pigeon hole principle because if you took a large enough image say 1024x768 that was 24 bit then there would be (mathematically and according to the pigeon hole principle) a MAXIMUM of: 786432^16777216 many combinations. So you LIETRALY cant produce any more images within that picture than that many. Now thats obviously a HUGE, HUGE amount of images, But... One might argue that you could take a photograph of an infinite amount of things and display them as that image (wrap your mind around the theorecticaly infinite amount of images that exist in the universe/your imagination/movies/anything else) So in theory the 1024x768 image can be ANYTHING, but in reality it should only be one of 786432^16777216 different images.


so, going back to the infinite monkey scenerio, this project could create any frame from any movie, show a picture of anyone, display anything in the world, show images of the distant past or future, (just to name a small few)

(of course this is assuming that the image is big enough)
the 20x20 one in this program is just a proof of concept

On a scale from one to ten one being very smart and ten being an absolute genius your none of the above
Bursar
15
Years of Service
User Offline
Joined: 17th Sep 2008
Location:
Posted: 16th Oct 2008 00:10
All I got were dozens of little boxes with random coloured dots in them. How long did you let it run before you got that picture of Earth?

Is there a suggested value for the random number that you're asked to enter at the start?
HyperByte
17
Years of Service
User Offline
Joined: 3rd Jan 2007
Location: in a small kola bear costume
Posted: 16th Oct 2008 02:14
@Bursar- since its all random your going to get random coloured boxes for almost all of them (99.9999999%) they should look like a "magic eye" picture. that picture of the earth wasnt made in the program through random generation, it was edited in paint just to demonstrate an image that could eventually appear. also there isnt a suggested value, it should just be something that you havent used before to change the random seed value.

On a scale from one to ten one being very smart and ten being an absolute genius your none of the above
AndrewT
17
Years of Service
User Offline
Joined: 11th Feb 2007
Location: MI, USA
Posted: 16th Oct 2008 05:36 Edited at: 16th Oct 2008 05:36
If you're at all interested I just whipped up a little program that will produce a specified amount of random black and white images and see if they match a certain image that you specify at the beginning.



I made a 2px by 3px image, and out of the 5000 images it made only 20 or so matched the original. So making anything with it that is recognizable of any size is almost impossible.

Cloggy
19
Years of Service
User Offline
Joined: 31st Oct 2004
Location: Rayleigh, Essex
Posted: 16th Oct 2008 14:30
If my maths is correct I believe that a 2x3 image that contains only 2 colours has 2^6=64 possible permutations.

A 10x10 image with 16,777,216 possible colours has 16,777,216^100 possible permutaions with equates to 2.9647603478997813412081369410589e+722 permutations.

Maybe I'm wrong, but if not that's one hell of alot of computing power required. Even processing 100 images a second it would still take 1 PC many millions of years to come up with all possible permutations.

HyperByte
17
Years of Service
User Offline
Joined: 3rd Jan 2007
Location: in a small kola bear costume
Posted: 16th Oct 2008 19:48 Edited at: 16th Oct 2008 19:50
@Andrew T- woh! brain wave, I just made a different version thats almost identical to that one, it makes 20x20 but doesnt compare


@Cloggy- actually there are far more combinations then that, its not 16,777,216^100 Im pretty sure that its 100^16,777,216 (I might be wrong but i think its that way)

On a scale from one to ten one being very smart and ten being an absolute genius your none of the above
DB PROgrammer
17
Years of Service
User Offline
Joined: 9th Feb 2007
Location: Nowhere But Everywhere
Posted: 16th Oct 2008 19:49
Interesting... Could you post the source code HyperByte?


DBPro, limited by the programmer.
HyperByte
17
Years of Service
User Offline
Joined: 3rd Jan 2007
Location: in a small kola bear costume
Posted: 16th Oct 2008 20:16
which one: the black/white one or the full one

On a scale from one to ten one being very smart and ten being an absolute genius your none of the above
DB PROgrammer
17
Years of Service
User Offline
Joined: 9th Feb 2007
Location: Nowhere But Everywhere
Posted: 16th Oct 2008 21:03
The full one.


DBPro, limited by the programmer.
HyperByte
17
Years of Service
User Offline
Joined: 3rd Jan 2007
Location: in a small kola bear costume
Posted: 17th Oct 2008 02:34
ok here you go







*note: you will probably have to copy and paste the code inside of the loop a bunch of times to speed it up

On a scale from one to ten one being very smart and ten being an absolute genius your none of the above
Cloggy
19
Years of Service
User Offline
Joined: 31st Oct 2004
Location: Rayleigh, Essex
Posted: 17th Oct 2008 10:49
Hyperbyte,

Typo , I meant 100^16,777,216

Mr Kohlenstoff
17
Years of Service
User Offline
Joined: 7th Jun 2006
Location: Germany
Posted: 17th Oct 2008 15:54
If there are really 100^16,777,216 possibilities of how the image can look, where's the problem? As you mentioned, that's quite a lot. Even if you took all planets, rocks, clouds, objects, animals, insects, surface-textures and whatever you find, taking photographs from, lets say one million differenct camera angles and distances of each of these objects, this would still be an incredibly low percentace of the huge amount of images you can visualize with one image. If I can believe a site I found with google there are round about 10^78 atoms in our universe... so you could even make a picture of every atom and still had by far less than one percent of all possibilities (You'd have one percent if the maximum amount was 10^80, but as you mentioned it's a bit higher ).
So you practically could take a photo of anything, showing it in a 100*100*16-big image, probably without even one collision.
So the problem is not really a problem. It might get a problem if you took e.g. 10^20 photos of an object like a small stone, maybe then there would be two images having exactly the same colors on each pixel (even though I doubt that)... However, it's a quite interesting theme anyway.

Benjamin
21
Years of Service
User Offline
Joined: 24th Nov 2002
Location: France
Posted: 19th Oct 2008 17:27
Quote: "Typo , I meant 100^16,777,216"

No, you were right the first time (after all, we calculate the maximum amount of combinations a bit sequence can have by 2^n, not the other way around).

What you're saying about creating every image ever is technically true, although storing these images and searching through them to find those that look like anything would be impossible. Even for a black and white (1-bit) image of 8x4 pixels you're looking at over 4 billion different images.

Bad Monkey
17
Years of Service
User Offline
Joined: 1st Jan 2007
Location:
Posted: 20th Oct 2008 01:54 Edited at: 20th Oct 2008 01:54
4 billion images should only take 462 days if 100 images are rendered every second.


Visit my website:
http://www.artistsareus.com
BatVink
Moderator
21
Years of Service
User Offline
Joined: 4th Apr 2003
Location: Gods own County, UK
Posted: 21st Oct 2008 10:11
Quote: "4 billion images should only take 462 days if 100 images are rendered every second."


But you can't check 100 images a second for something recognisable

Cloggy
19
Years of Service
User Offline
Joined: 31st Oct 2004
Location: Rayleigh, Essex
Posted: 21st Oct 2008 11:00
I think the thing is here, we all know that the theory is sound. It's just the sheer number of permutations that mean it's an impossible task even with just black and white images.

I would think you would need at least 16x16 in 256 colour in order to produce anything that is vaguely recognisable that 256^256 combinations.

Freddix
AGK Developer
21
Years of Service
User Offline
Joined: 19th Sep 2002
Location: France
Posted: 21st Oct 2008 16:34 Edited at: 21st Oct 2008 16:35
if I'm not wrong ... in fact you're trying to do something that have already be done by some sort of PCX file formats (Super Nintendo).

In that case the image was coded by smal 8x8 pixels tiles in 16 colors and if a tile is used at many parts in the image, it will only take 1 tile memory space ...

but you want to make it use less memory by coding each tile with only the ID of it and the image will be precalculated ...

Gandalf said: "All we have to decide is what to do with the time that is given to us"
Odyssey-Creators - X-Quad Editor - 3DMapEditor
RUCCUS
19
Years of Service
User Offline
Joined: 11th Dec 2004
Location: Canada
Posted: 21st Oct 2008 16:58
You could incorperate some sort of meta-tagging system, where each image is tagged with various data. So for example images that are mostly red are tagged thusly, and in the case of a search for a heart picture, you'd only look in the images that were mostly red.

You could also compress each image and check the compressions against each other instead. That'd speed it up a bit.

Tags could go so far as how many noticably different colour variations there are in the image, or... Im out of ideas.

Then again, this would speed up the searching process but probably lengthen the rendering process quite a bit.

Zotoaster
19
Years of Service
User Offline
Joined: 20th Dec 2004
Location: Scotland
Posted: 23rd Oct 2008 22:55
I say this thread should be locked for theoretically/possibly displaying pornographic images...

... Just kidding.

zenassem
21
Years of Service
User Offline
Joined: 10th Mar 2003
Location: Long Island, NY
Posted: 23rd Oct 2008 23:01
I knew that the chances of producing a recognizeable image were really small but what I didn't expect was that for the most part EVERY image that was created looked basically the same. So perhaps this program is doing too good of a job at randomizing each pixel position. Or perhaps there are too many colors being used.

Did anyone else find it odd that all of the images no matter the seed look like television snow? I would have expected more runs of one color, or even anything that would stand out from the rest.

"When I look at that square... I wish FPSC noobs would stay on their side of the forums and stop polluting these boards." - Benjamin
Satchmo
18
Years of Service
User Offline
Joined: 29th May 2005
Location:
Posted: 24th Oct 2008 15:56
Does it check against the pictures already created? You will get nowhere unless you do.

Master Xilo
17
Years of Service
User Offline
Joined: 8th Sep 2006
Location: Bern, Switzerland
Posted: 24th Oct 2008 20:52 Edited at: 24th Oct 2008 20:59
I've had that idea first too.
I also had the same idea with every possible word, scentence, book, solution of life (42)

Btw, doing it with random will give you the same images over and over again, you'd have to do it with a recursion/iteration combo (but pc stack will overflow)

Rudolpho
18
Years of Service
User Offline
Joined: 28th Dec 2005
Location: Sweden
Posted: 25th Oct 2008 01:44 Edited at: 25th Oct 2008 01:46
Just take the last pixel and increment it's value by 1 each cycle, until you reach the upper limit; then you increase the previous pixel by one and reset the last one.
Repeat for every pixel.
I'm tired, but I don't think this should need to take that much memory to do (of course you would never finish it with even small images, but that's another problem )

I think something like this could work, but again I'm rather tired, so don't take my word for it:


"I kören hörs de brummande busarna Björnligan och Gondolen"
Ravey
Retired TGC Developer
21
Years of Service
User Offline
Joined: 2nd Nov 2002
Location: Southern TGC Nerve Centre
Posted: 25th Oct 2008 03:17
I have thought about the random numbers to make any image possible thing too, infact a bunch of us at the conference recently (lee, mike, gandalf mnem and zero) rambled on (well argued) about it until the early hours.

It's possible in theory but the chances are sooo slim and you are assuming the computer can actually produce all the combinations, which the chances are it can't.

I like to imagine typing in a random number and coming up with a picture of jessica alba stepping out of the shower.. but I don't think it's going to happen, sadly.

Another way to look at it realistically is - grab a big handfull of pebbles and throw them onto the ground and see what picture you get.

Dave Milton
TGC Team
zenassem
21
Years of Service
User Offline
Joined: 10th Mar 2003
Location: Long Island, NY
Posted: 25th Oct 2008 03:51 Edited at: 25th Oct 2008 03:59
I thought of something similar to this, but it was with music. I was looking to have a computer generate randomly pleasing tunes. I thought that if I could supply it with patterns/samples of music i liked, and also teach the program sound patterns/ steps between notes I found not pleasing, that I could teach the program to create original compositions. The next step would be to give the program feedbck of what mood i felt each piece had.I may need to try this again.

On the images path I think it would be interesting excercise would be to either

1)Find out how many pixels in a known given image need to be scrambled before it becomes unrecognizeable

2)Stick with the random colors to create a pallet, and see how closely you could represent a known given image/images with the color pallet.

~zen

"When I look at that square... I wish FPSC noobs would stay on their side of the forums and stop polluting these boards." - Benjamin
Not_Maindric
16
Years of Service
User Offline
Joined: 10th Jul 2007
Location: Omaha, NE
Posted: 31st Oct 2008 03:05
I thought of this a long time ago, but then I realized how long this would take, so I gave up...

paul5147
18
Years of Service
User Offline
Joined: 11th Jan 2006
Location: Hot & Sunny
Posted: 31st Oct 2008 16:38
why not try this with grey scale images and cut down the time it would take,100 x 100 x 256 = 2560000 , doesnt seem as bad to work out, just think that could be all the images a colour blind person has ever seen !
dark coder
21
Years of Service
User Offline
Joined: 6th Oct 2002
Location: Japan
Posted: 31st Oct 2008 17:43 Edited at: 31st Oct 2008 17:43
Because your math fails, it's actually 256 ^ ( 100 * 100 ), which is a bit more than 2560000 images.

Benjamin
21
Years of Service
User Offline
Joined: 24th Nov 2002
Location: France
Posted: 31st Oct 2008 17:45
Allow me to quote myself as people clearly didn't read my post:

Quote: "Even for a black and white (1-bit) image of 8x4 pixels you're looking at over 4 billion different images."


paul5147
18
Years of Service
User Offline
Joined: 11th Jan 2006
Location: Hot & Sunny
Posted: 31st Oct 2008 18:36
Sorry,lack of sleep and a spanish keyboard made my maths a bit wonky , but either way its still a hell of a lot less than 24 bit colour
Opposing force
18
Years of Service
User Offline
Joined: 10th Aug 2005
Location: England
Posted: 31st Oct 2008 23:21
Very interesting. I'll be keeping my eye on this thread. I ran the program for about a minute and I got a square that vaguely resembled a face.

music is like candy - you throw away the rappers

Attachments

Login to view attachments
Satchmo
18
Years of Service
User Offline
Joined: 29th May 2005
Location:
Posted: 2nd Nov 2008 00:35
What about just pure black and white(Pixel with only 2 possibilities)

Benjamin
21
Years of Service
User Offline
Joined: 24th Nov 2002
Location: France
Posted: 2nd Nov 2008 03:27
I think someone covered this already, let me quote them...

Quote: "Even for a black and white (1-bit) image of 8x4 pixels you're looking at over 4 billion different images."




Satchmo
18
Years of Service
User Offline
Joined: 29th May 2005
Location:
Posted: 2nd Nov 2008 03:40 Edited at: 2nd Nov 2008 03:40
4 Billion doesn't seem so much if you utilize CUDA. Only problem then is memory.

David Gervais
Retired Moderator
18
Years of Service
User Offline
Joined: 28th Sep 2005
Location: Montreal, Canada
Posted: 2nd Nov 2008 11:56
Way back when on my Atari 800 computer using a programming language called 'Action", I wrote a small program that was to generate 'every possible combination' of an 8x8 pixel font. each byte=8 bits and on the Atari the font character like 'A' for example was made up of 8 bytes. I ran the program for like 2 days and managed to 'draw' all the combination's for the first 3 bytes in the font.. then I gave up.

Thinking back now, I'm wondering.. if just the first 2 bytes (8x2 pixel images) were generated. Then you use these images and generate all the combination's of those 2 stacked to make a 8x4 pixel size image. would it make things simpler? the answer is NO.. even generating a black and white 8x8 pixel set would take way more computing power than reasonable to make it practical.

But that said, being an artist, I can safely say that to get any recognizable image about half of the pixels would need to be used. Would this make things less demanding and speed things up? probably not, it might even slow it down due to having to calculate 50% of the pixels as opposed to simply running through them sequentially.

Anyways, this is an interesting discussion, something that has been at the back of my mind along time now.. filed under "interesting but improbable"

LoL, cheers.

Benjamin
21
Years of Service
User Offline
Joined: 24th Nov 2002
Location: France
Posted: 2nd Nov 2008 16:33
Quote: "4 Billion doesn't seem so much if you utilize CUDA. Only problem then is memory."

Yes, and then the problem of it taking ages to look through all of them.

Satchmo
18
Years of Service
User Offline
Joined: 29th May 2005
Location:
Posted: 2nd Nov 2008 17:35
Yes, but there has to be a way of sorting them very efficiently.

Benjamin
21
Years of Service
User Offline
Joined: 24th Nov 2002
Location: France
Posted: 2nd Nov 2008 17:53
But how? Only a human knows what something looks like.

Satchmo
18
Years of Service
User Offline
Joined: 29th May 2005
Location:
Posted: 2nd Nov 2008 22:50
I meant pixel by pixel, or maybe some sort of recognition tech?

Hunter H111
16
Years of Service
User Offline
Joined: 29th Jun 2007
Location: United States
Posted: 3rd Nov 2008 23:58
FYI- If you counted to a billion, it would take about 32 years without taking a break. That assumes that every number is a second. It would probably take longer because numbers like 7,125,359 take several seconds to say.
code master
20
Years of Service
User Offline
Joined: 4th Dec 2003
Location: Illinois
Posted: 22nd Nov 2008 20:44
Hyperbyte-

I didn't read the whole thread, so I don't know if this has been suggested, but if your program were designed, for example, to generate new smiles, like someone jokingly suggested, you could set up a simple neural net, and award points to the generations that had a round shape, or a mostly yellow colour, for example. While that would be extremely over complex, I bet over time you'd come up wiht some pretty sweet smilies.

Login to post a reply

Server time is: 2024-04-25 15:08:51
Your offset time is: 2024-04-25 15:08:51