Welcome, Guest. Please login or register.

Login with username, password and session length

 
Advanced search

1411421 Posts in 69363 Topics- by 58416 Members - Latest Member: timothy feriandy

April 18, 2024, 06:28:22 AM

Need hosting? Check out Digital Ocean
(more details in this thread)
TIGSource ForumsDeveloperDesignSome scientific experiments to take computing to the max.
Pages: [1]
Print
Author Topic: Some scientific experiments to take computing to the max.  (Read 5705 times)
antymattar
Level 5
*****


Has earned the contemporary *Banned* medal


View Profile
« on: October 28, 2010, 03:09:11 AM »

So hi. I am a 14 year old science dude ( Durr...?... Facepalm) who likes to tink so much his mom has to tell him to stop bothering her. I have had some ideas of what science could do with computers and some ideas that pc's will never be able to do(But still are cool). Ok so here goes!

===PIXEL-ALL===
[/size]

The idea is that there is a X*X space of pixels and a certain amount of possible colors.
The computer starts at the left top. It colors the pixel into any of the given colors. When the pixel is done, the computer moves on to the next and shifts it to the next given color and the previous pixel goes through the cycle again. Only when all the previous pixels have changed all their possible colors then the next one can change. This way you could LITERALLY get the computer to draw any image possible. ANY IMAGE(With the given colors that is.) Even the face of God(That was stupid, I know, but think about it.). The averige time for the program to finish would be Delta_Time*X*Y*Color_Amount/Pc_Speed
Quote
possible colorswidth*height/PC speed.
.

===Good Procedural music===
[/size]

I know that it has already been done but usually, most I hear is three or four samples being played in different sequences and tones. The idea here is that the code given would set up a mood(Happy, sad, angry, dramatic, power, EPIC) and set up the base chords for the beginning(Like the ones in smoke on the watter), then set up a corresponding upper tune that would play, repeat, change, call back, invert and step through the octaves corresponding to the lower tune(Or this might be otherwise and the lower tune will be the general track). Then the pc may add drums depending on the mood(Sad mood might have drums in the parts where there is a gust of anger. EPIC BATTLE moods would normally have drums would play always but maneuver louder-quieter, Organized-Chaotic). This is literally the basics but since I have yet to see an engine that does this in a good way I shall leave it as is. In a second version it could also be possible to define the Theme(Like those epic choirs that you hear in WH40K or StarCraft in contrast to a jazz theme or a heavy metal theme). Another option would be to ad instrumental change, assistance and/or background at certain points.


I will update these more. That's all for now. If you have any more ideas of what would be a cool experiment on a pc then please post it here. Bye.
« Last Edit: October 28, 2010, 09:50:42 AM by antymattar » Logged

genericuser
Guest
« Reply #1 on: October 28, 2010, 03:58:19 AM »

What you're describing is the infinite monkey theorem - the idea that you can generate every possible work of art randomly with enough time.

The problem here is having enough time.

The equation you're describing is not entirely correct- it's actually possible colorswidth*height/PC speed.

If you were to make a 16*16 picture, with 4 possible colors, you can make possible colorswidth*height -> 4(16*16)=256 = (roughly) 1340000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000
possible pictures.

Even with a way to find interesting bits from a billion images at a rate of billions per second, this will still take a long time.

You could do this experiment with 8x8 black and white images, which would only give you 18446744073709551616 possibilities - in the end, however, it tends to take less time to make interesting pictures by hand  Tongue
Logged
antymattar
Level 5
*****


Has earned the contemporary *Banned* medal


View Profile
« Reply #2 on: October 28, 2010, 07:32:35 AM »

The idea is not to make the pc draw something that I would want to draw but hoping that it takes less time. The idea is that you will get any picture possible and I'm not talking abot something predictable. You could just have 2 colors and still come up with a Mona Lisa that fits a 32*64 piece. I think that this would not take much time if the color limitations were not photoshop-ish
Logged

genericuser
Guest
« Reply #3 on: October 28, 2010, 08:06:21 AM »

I was joking about the "doing things by hand" part - my point was simply that the more complexity you want in your pictures, the more possibilities you have to go through.
Logged
antymattar
Level 5
*****


Has earned the contemporary *Banned* medal


View Profile
« Reply #4 on: October 28, 2010, 09:20:05 AM »

I don't think that colorful complexity would be a good idea in that case.

Compare these two colors: A A
Logged

Zaratustra
Level 7
**



View Profile WWW
« Reply #5 on: October 28, 2010, 09:37:11 AM »

You could just have 2 colors and still come up with a Mona Lisa that fits a 32*64 piece. I think that this would not take much time if the color limitations were not photoshop-ish

You're right! It would only take 2^2048 operations. If each image was displayed for one nanosecond, it would take roughly 10^500 times the age of the universe to see each one. Better sharpen your sight if you want to find that Mona Lisa.
Logged

antymattar
Level 5
*****


Has earned the contemporary *Banned* medal


View Profile
« Reply #6 on: October 28, 2010, 09:52:43 AM »

Th joy would not be seeing that one mona lisa but all the cripples around her!  Facepalm
Logged

SirNiko
Level 10
*****



View Profile
« Reply #7 on: October 28, 2010, 04:21:49 PM »

I had this same idea before, but instead my plan would be to copyright all the images. I'd own every work of art that exists.

This is a cool theory, but highly impractical. The time required to create the images and then sort through them would render any practical purpose totally impractical.

Now what could be cool is if you made a program that you can input any image and then it calculates the amount of time it would take to generate that particular image if you started with all one color and went pixel by pixel through every configuration to reach that configuration.
Logged
LemonScented
Level 7
**



View Profile
« Reply #8 on: October 28, 2010, 05:18:54 PM »

Naive algorithm is naive. Genetic algorithms are your friend:

http://rogeralsing.com/2008/12/07/genetic-programming-evolution-of-mona-lisa/
Logged

antymattar
Level 5
*****


Has earned the contemporary *Banned* medal


View Profile
« Reply #9 on: October 29, 2010, 12:26:32 AM »

@LemonScience- My original idea was to have a screen that just stands there and constantly shows what it's status is and then people just walk by. And when something appears, the people will go  WTF WTF WTF... Addicted... Well, hello there!... Tears of Joy... Corny Laugh... Wink.
Plus the Problem is that all those poligons in the sample used random instead of procedural code
Quote
4) If the new painting looks more like the source image than the previous painting did, then overwrite the current DNA with the new DNA
That should not be random. If it was procedural, say, Mutate the image in only this direction and in only these values because that is what is closest to the image and if not then change the directions. That would work better.

@SirNiko- I don't think that patenting every image would be worth while.
Logged

Ben_Hurr
Level 10
*****


nom nom nom


View Profile
« Reply #10 on: October 29, 2010, 06:34:15 AM »

Naive algorithm is naive. Genetic algorithms are your friend:

http://rogeralsing.com/2008/12/07/genetic-programming-evolution-of-mona-lisa/


That is so goddamn cool.  Tears of Joy
Shame it only copies source images.
Logged
LemonScented
Level 7
**



View Profile
« Reply #11 on: October 30, 2010, 10:27:16 AM »

@antymattar: just because something makes use of pseudorandom numbers, doesn't mean it isn't procedural. Pseudorandom numbers are generated procedurally, of course, because deterministic, procedural generation is all computers know how to do. The interesting part of that algorithm is not the randomness but the way it converges on an ideal state by procedurally filtering the randomness through a function which selects the best-fitting mutations. Kinda like evolution. It would be interesting to change the algorithm to only make mutations in the desired direction but I suspect the end result would be that it would seem to converge faster on the target image to begin with, but then probably get stuck at a local maxima (http://en.wikipedia.org/wiki/Hill-climbing_algorithm#Local_maxima) more easily and so not do as well in the long-term as the pseudorandom version. Genetic algorithms (and a lot of procedural generation in general) need a bit of chaos to keep them working properly.

I suppose my point is that whilst your suggestion could theoretically achieve its goal of producing every possible image in a given resolution, in practical terms it would need to run for longer than the age of the universe, and as such isn't a very useful (or even particularly beatiful to look at, most of the time) algorithm or use of a computer. Computer science tends to be about trying to be a bit more wily and wise at stating goals and coming up with efficient ways to meet those goals. The algorithm I linked to won't generate every possible image, but it can get close to generating one selected image in a (relatively) short amount of time, and does it in an interesting way.

@Ben_Hurr: It's a pretty basic genetic algorithm (or a hill-climbing algorithm if you're not feeling so generous), just one that happens to have "visual similarity to a source image" as a fitness function. You could change the fitness function pretty easily so that it does something other than copying source images, but it takes a bit of imagination to work out what to change the fitness function to. I'd love to write something that automatically generates images which are as beautiful as possible, but it's extremely difficult to get a computer to know how to recognise beauty...
Logged

slembcke
Level 3
***



View Profile WWW
« Reply #12 on: October 30, 2010, 10:42:38 AM »

This thread needs more Arthur C. Clarke references: http://en.wikipedia.org/wiki/The_Nine_Billion_Names_of_God
Logged

Scott - Howling Moon Software Chipmunk Physics Library - A fast and lightweight 2D physics engine.
moi
Level 10
*****


DILF SANTA


View Profile WWW
« Reply #13 on: October 30, 2010, 11:56:23 AM »

The freaky part is that there would be one perfect mona lisa and several millions almost mona-lisas
Logged

subsystems   subsystems   subsystems
Tycho Brahe
Level 10
*****

λx.x


View Profile
« Reply #14 on: November 01, 2010, 03:24:15 PM »

This thread needs more Arthur C. Clarke references: http://en.wikipedia.org/wiki/The_Nine_Billion_Names_of_God
If you write this program, you'll put the stars out: do you want that?
Logged
LazyWaffle
Guest
« Reply #15 on: November 02, 2010, 01:23:52 PM »

This is painfully simple. It's not really anything special, it's just a portrayal of the infinite monkey theory.
Logged
Pages: [1]
Print
Jump to:  

Theme orange-lt created by panic