• Quick note - the problem with Youtube videos not embedding on the forum appears to have been fixed, thanks to ZiprHead. If you do still see problems let me know.

Franko's "Universe as a Computer Program" Debunked

Code:
/* The Universe v. 1.0.2 – by Joshua Korosi */
/* Ported to ANSI C, with DOS/windows console conio extension by evildave */

/* we’ll begin this universe the same as the other one, by making a law of physics that says “all observable events will be printed to your screen” */
#include < stdio.h >
#include < ctype.h >
#include < conio.h >

int main(void)
{
	/* what’s this? what I’ve done is establish another law of physics that allows our conscious entity to commit an action (the action is called “answer”) that has an effect on the universe, and can have real consequences */
	puts( 
		"Jeffrey is born!\n"
		"Jeffrey must decide whether or not he believes in Joshua. Does he?\n"
		"\n"
		"Type Y if Jeffrey believes in Joshua; type anything else if he doesn't:"
		);

	/* in this event, Jeffrey must decide (as the event states) whether he believes in God (me). As God, I have decided that Jeffrey’s afterlife will be decided by how he answers this question */
	/* the universe waits in awe while Jeffrey ponders my existence. now he has the opportunity to take an action – answer the question. */
	if( tolower(getch()) == 'y' )
	{
		puts( "\nJeffrey advances to a Higher Existence!\n" );
	}
	else
	{
		puts( "\nJeffrey is sent to the Abyss!\n" );
	}

	/* hey, stop looking so confused! let me explain before you give up. what I’ve done is give Jeffrey an option. he can answer the question any way he wants. however, the only way Jeffrey can get to the Higher Existence is by giving “yes” as the answer to the question. Any other answer will see him sent to the Abyss for his heresy. */

    
	/* The universe ends, as normal, with a non-error result. */
	return 0;
}

I could give it to you in Windows, if you like... but then it would be a truly EVIL universe.
 
evildave said:

I could give it to you in Windows, if you like... but then it would be a truly EVIL universe.

Has the point of the program changed at all? If not, then...

:confused:
 
Joshua Korosi said:


Has the point of the program changed at all? If not, then...

:confused:

No, it hasn't. You can just press a more friendly 'Y' instead of pressing '1', and then pressing 'Enter'.

I halved the number of steps involved. Dozens of people will only conveniently have to press one key to damn or save all the Jeffreys they like. Indeed, we could even put it in a loop and you can "save" all the Jeffreys you like by wedging the 'Y' key down. Or callously damn all the Jeffreys you like by letting the cat walk on the keyboard.

My post also doesn't chew up the #include directives, and displays in a monospace font. Because it's "magic".
 
evildave said:




My post also doesn't chew up the #include directives, and displays in a monospace font. Because it's "magic".

Oh, well aren't we all special and lucky. What do you want, a gold star or something?

Damn dirty A-Theist!

:D
 
[computer bugs …]Makes no sense, because you posted it with no context. Explain it, please? My programs are not flawed. A "Logical" god or goddess would not create such a flawed program. And a program couldn't feel "pain" when it crashed, even in theory, because it will have stopped functioning instantaneously, allowing no time for any "pain", as an event, to occur

Obviously you don’t know as much about computer programming as you claim. Every program has bugs in it.

And as for a programming “crashing”, I am making an analogy to “death”, you obtuse moron.

Again, my "algorithm" only proves that a universe cannot be deterministic and involve consequences at the same time...because the only reason anything happens in a predetermined universe is the fact that it was predetermined - events are not dependent upon each other. You say I am "wrong", but you don't point out the flaw in my program. Where is it?

Your utter lack of knowledge about Determinism is equivalent to someone who doesn’t know the multiplication tables asking me to explain Calculus to them. I’ll tell you the same thing I told whitefork when he asked me to prove that Humans are made of Atoms … I’m not here to instruct imbeciles in the basics.
 
I'm just explaining what my programs illustrate, Franko. Are you saying the programs are illogical?

Again, if every program has a bug in it, find the bug in mine.
 
I'm just explaining what my programs illustrate …

Aside from illustrating your utter naivety what exactly do you think it illustrates?

Franko. Are you saying the programs are illogical?

No programs are entirely logical – at least on one level they are.

Again, if every program has a bug in it, find the bug in mine.

Ohh, I’ve already found lots of bugs in your program Graviton.

But you seem very attached to your bugs ...
 
1) You believe that you possess magical "free will" powers which you are unable to provide any evidence for, or even explain what you mean by the term.
 
Franko said:
1) You believe that you possess magical "free will" powers which you are unable to provide any evidence for, or even explain what you mean by the term.

Curious. Please explain where, in the programs I wrote, I have referred to "free will" and how, if such references exist, they constitute "bugs".
 
Curious. Please explain where, in the programs I wrote, I have referred to "free will" and how, if such references exist, they constitute "bugs".

That's my point, the programs you wrote DON'T HAVE "free will", and neither do you. But at least your program is "smart" enough not to pretend that it has "free will".
 
I just noticed how similar the name evildave is to the word evidence. It really messes up my speed-reading. Weird.


evildave
evidence
 
Franko said:


That's my point, the programs you wrote DON'T HAVE "free will", and neither do you. But at least your program is "smart" enough not to pretend that it has "free will".

Yet, Franko, the second program is still completely logical, but also allows somebody to make a decision within it, and I have absolutely no control over that decision - even though I'm the person who wrote the program! That means whomever makes that decision has "free will" to make said decision, without me knowing which option they'll choose.
 
Yet, Franko, the second program is still completely logical, but also allows somebody to make a decision within it, and I have absolutely no control over that decision - even though I'm the person who wrote the program! That means whomever makes that decision has "free will" to make said decision, without me knowing which option they'll choose.

I haven’t bothered to read your programs, but I am assuming you are referring to a program that requires an input.

SO what? What does that have to do with anything. In reality you occasionally require inputs as well, and where do those inputs come from??? They come from other programs (other algorithms, other gravitons).

So you run your little program, and it gets to the point where it needs an input, lets say a number value between 10 and 30. So then you run another program that does nothing but generate numbers from 10 to 30 (and this program may require inputs from yet another program). And then you take that output, and feed it into the original program as the input.

So where’s the “free will”? I just see a bunch of programs interacting in an entirely deterministic manner. Where is the magic part you keep referring to?
 
Franko said:


I haven’t bothered to read your programs, but I am assuming you are referring to a program that requires an input.

That's great...you respond to a thread about my computer programs by saying you've found "flaws" in them, when in fact you haven't even bothered to read them in the first place. Tell me how Logical that is. Anyway...

Franko said:
So you run your little program, and it gets to the point where it needs an input, lets say a number value between 10 and 30. So then you run another program that does nothing but generate numbers from 10 to 30 (and this program may require inputs from yet another program). And then you take that output, and feed it into the original program as the input.

But what if you think of the number yourself, without "running another program that does nothing but generate numbers" to do the input function for you? Saying that my "thinking of a number is really just me running a program in my head" is begging the question. But if you don't believe this, then...

How about this? Suppose the program I "run" to input the number into my first program is a true random number generator, and doesn't require any input at all? Then your deterministic chain is broken, and we're left with something that is completely unpredictable.
 
How about this? Suppose the program I "run" to input the number into my first program is a true random number generator, and doesn't require any input at all? Then your deterministic chain is broken, and we're left with something that is completely unpredictable.

Except what you are asserting (a true random number generator) doesn't exist in reality. If it did, thenyou'd have something magical.

I have pointed it out more times then I can count, that random number generator programs are NOT TRULY RANDOM. They are programs! They are logical and deterministic by nature!

A Random number generator typically does rely on an external input, it just hides this fact. Many random number generators simply read an area of memory that is constantly in flux (like the area where the time from a clock is stored). But this is no difference then one program calling another like in my previos example.

You can also generate pseudo-random numbers by complex functions (typically using a mod function). But once again the functions can be traced, so the "random" result could be predetermined if you made the effort.

So you still have no evidence that computer programs have "free will".
 
BTW, you choice of title for this thread (... DeBunked) shows what a non-skeptc you really are. You already had you mind made up before you even got started.

Very "scientific" of you Religious Fanatic.
 
Code:
/* The obfuscated universe v. 0.0.1 – by evildave */
#include < cstdlib >
#include < iostream >
#include < cstring >
#include < ctime >
#include < list >
using namespace std;

// Gimme kbhit & getch
#include < conio.h >

// Return index of a variation of a found argument if it's there, else 0 (same as command line executable)
// argc, argv from main
// szzarg, a nul terminated list of nul terminated strings
int FindArgs( int argc, const char** argv, const char* szzarg )
{
	while( *szzarg )
	{
		const char** pargv = argv + argc;
		int curr = argc;
		while( --curr )
		{
			if( !strcmp( *--pargv, szzarg ) )
				return curr;
		}
		szzarg += strlen(szzarg)+1;
	}
	return 0;
}


// Something to generate phases from
#define EDEF_GENERATION(edef) \
	edef(BORN)\
	edef(INFANT)\
	edef(CHILDHOOD)\
	edef(ADOLESCENCE)\
	edef(ADULTHOOD)\
	edef(MIDDLEAGE)\
	edef(SENIOR)\
	edef(ELDERLY)\
	edef(OLDAGE)\

#define EDEF_ENUM(e)	e,
#define EDEF_STRING(e)	#e,
#define EDEF_VNAME(e)	mf_ ## e
#define EDEF_VTAB(e)	EDEF_VNAME(e),
#define EDEF_DFUNC(e)	void EDEF_VNAME(e)();
#define EDEF_IFUNC(e)	void Life::EDEF_VNAME(e)()
#define EDEF_CASE(e)	case e: EDEF_VNAME(e)(); break;

class Life
{
	time_t born;
	time_t laststage;
	static time_t lifestagetime;
	static list<Life*> population;
	static list<Life*> killed;
	friend void fnatexit(void);
	friend int main(int argc, const char** argv );
	enum LifeStage
	{
		EDEF_GENERATION(EDEF_ENUM)
	}	phase;
	static const char* szLifeStage[];
	EDEF_GENERATION(EDEF_DFUNC);
public:
	char name[16];

		Life();
		~Life();

	void Die();
	void Live();
	void Stage();
};
list<Life*> Life::population;
list<Life*> Life::killed;
time_t Life::lifestagetime = 1;

const char* Life::szLifeStage[] = { EDEF_GENERATION(EDEF_STRING) };

Life::Life()
{
	laststage = born = time(NULL);
	phase = BORN;
	population.push_back( this );

	const char vowel[5] = { 'a','e','i','o','u' };
	const char consonant[21] = { 'b','c','d','f','g','h','j','k','l','m','n','p','q','r','s','t','v','w','x','y','z' };
	name[0] = toupper(consonant[rand()%sizeof consonant]);
	int nsyl = 1 + (rand()%5);
	char *p = name+1;
	while( nsyl-- )
	{
		*p++ = vowel[rand() % sizeof vowel];
		*p++ = consonant[rand() % sizeof consonant];
	}
	*p++ = 0;
	cout << name << ": " << "Waah!\n";
}
Life::~Life()
{
	cout << name << ": " << "Taco! (lived " << laststage - born << " second" << (laststage - born == 1 ? "" : "s" ) << " and died while in stage: " << szLifeStage[phase] << ")\n";
}
void Life::Die()
{
	killed.push_back(this);
}
void Life::Live()
{
	time_t curr = time(NULL);
	if( curr - laststage >= lifestagetime )
	{
		laststage = time(NULL);
		phase = (LifeStage)(1 + phase);
		Stage();
	}
}
void Life::Stage()
{
	switch( phase )
	{
		EDEF_GENERATION(EDEF_CASE)
	}
}

EDEF_IFUNC(BORN)
{
	// Might die at birth
	cout << name << ": " << "Waah!\n";
	if( (rand() & 15) == 1 )
		Die();
}
EDEF_IFUNC(INFANT)
{
	cout << name << ": " << "Goo...\n";
	
	// Might die
	if( (rand() & 15) == 1 )
		Die();
}
EDEF_IFUNC(CHILDHOOD)
{
	// Might die
	cout << name << ": " << "I believe in Santa Claus!\n";
	if( (rand() & 15) == 1 )
		Die();
}
EDEF_IFUNC(ADOLESCENCE)
{
	// Might have a baby
	if( (rand() & 15) > 12 )
		new Life();

	cout << name << ": " << "I believe in God!\n";
	
	// Might die
	if( (rand() & 15) == 1 )
		Die();
}
EDEF_IFUNC(ADULTHOOD)
{
	// Might have a baby
	if( (rand() & 15) > 5 )
		new Life();

	cout << name << ": " << "I believe I'd better get to work.\n";
	
	// Might die
	if( (rand() & 15) < 2 )
		Die();
}
EDEF_IFUNC(MIDDLEAGE)
{
	// Might have a baby
	if( rand() & 1 )
		new Life();

	cout << name << ": " << "I believe I'll have another donut.\n";

	// Might die
	if( (rand() & 15) < 4 )
		Die();
}
EDEF_IFUNC(SENIOR)
{
	cout << name << ": " << "I believe I'll sit down.\n";
	
	// Might die
	if( (rand() & 15) < 5 )
		Die();
}
EDEF_IFUNC(ELDERLY)
{
	cout << name << ": " << "I believe I broke my hip.\n";
	
	// Might die
	if( (rand() & 15) < 7 )
		Die();
}

EDEF_IFUNC(OLDAGE)
{
	// Just dies
	Die();
}

void fnatexit(void)
{
	cout << "That's the end of the universe.\n";
	cout.flush();
	getch();
}


int main( int argc, const char** argv )
{
	if( FindArgs( argc, argv, "-?\0/?\0-h\0-H\0/h\0/H\0" )  )
	{
		cout << *argv << "\n\t-l span between life phases\n";
		return 0;
	}
	atexit( fnatexit );
	int il = FindArgs( argc, argv, "-l\0-L\0" );
	Life::lifestagetime = (il && il < argc-1) ? atoi(argv[1+il]) : 1;

	srand(time(NULL));
	
	cout << "Building generations that live for " << Life::lifestagetime << " seconds." << "\n";

	int seedPop;
	for( seedPop = 0; seedPop < 10; ++seedPop )
	{
		new Life();
	}
        // Keep the world going as long as there're people in it
	while( Life::population.size() )
	{
		time_t stamp = time(NULL);

		// Give everyone a life
		list<Life*>::iterator iterate;
		for( iterate = Life::population.begin(); iterate != Life::population.end(); iterate++ )
			(*iterate)->Live();

		// Clear up the dead people
		while( Life::killed.size() )
		{
			Life* curr = Life::killed.front();
			Life::population.remove(curr);
			Life::killed.remove(curr);
			delete curr;
		}

		if( kbhit() )
		{
			getch();
			cout << "Doomsday for " << Life::population.size() << " people!!!\n";
			while( Life::population.size() )
			{
				delete Life::population.front();
				Life::population.pop_front();
			}
			return 0;
		}
	}
	return 0;
}
 
Franko:
Except what you are asserting (a true random number generator) doesn't exist in reality. If it did, thenyou'd have something magical.

I have pointed it out more times then I can count, that random number generator programs are NOT TRULY RANDOM. They are programs! They are logical and deterministic by nature!
Frank, NOTHING becomes true simply by you pointing it out repeatedly. A Pseudo Random Number Generator is deterministic, but it is possible to build a true random generator, as a hardware device that feeds a random sequence to a computer. They typically tap some noise source (no magic).

Hans
 

Back
Top Bottom