• Log in with Facebook Log in with Twitter Log In with Google      Sign In    
  • Create Account
  LongeCity
              Advocacy & Research for Unlimited Lifespans


Adverts help to support the work of this non-profit organisation. To go ad-free join as a Member.


Photo

Singularity Speed


  • Please log in to reply
42 replies to this topic

#31 Ghostrider

  • Guest
  • 1,996 posts
  • 56
  • Location:USA

Posted 18 February 2007 - 08:54 PM

Joseph, there are quite a few universities with CS departments researching some aspect of AI. You might do worse than to seek summer research experience at one of these places. It would also get you some good contacts and keep you up to date with what others are doing in the field. (Not saying that you are not up to date already). I just know that others are probably working on or have already considered some of the ideas you encounter in your project.

#32 JohnDoe1234

  • Guest
  • 1,097 posts
  • 154
  • Location:US

Posted 18 February 2007 - 10:11 PM

I'm still in high school right now, and yeah, I'm going to be majoring in CS with a Physics minor, and I was thinking the same thing, if I can start collaberating with a few people in person that would do wonders for the project (there is already one person who I talk with on a weekly basis about my AI designs but it's not as deep as I would like)

It would also get you some good contacts and keep you up to date with what others are doing in the field. (Not saying that you are not up to date already).

lol... I've only been doing personal research for the past 2.5 years in the field and I still have a very long way to go before I can say that I am up to date.


I just know that others are probably working on or have already considered some of the ideas you encounter in your project.

Yup...I have seen several examples of this where I come up with an idea and implement it... and it turns out that there is already a name for it.

Right now I am mainly working on developing a library of systems that I can use kind of like legos to build more complex systems out of such as:

- Different types of object managers
- Physics processing systems
- Planning systems
...etc

sponsored ad

  • Advert

#33 Ghostrider

  • Guest
  • 1,996 posts
  • 56
  • Location:USA

Posted 19 February 2007 - 01:31 AM

Joseph, I admire your dedication. When I was in high school I mostly wasted 4 years of my life...

#34 Athanasios

  • Guest
  • 2,616 posts
  • 163
  • Location:Texas

Posted 19 February 2007 - 02:15 AM

Well known physicist Michio Kaku talking about AI:
http://video.google....253696370060654
(warning: he is very pessimistic about the possibilities)


His reasoning is very weak though. He talks about how moore's law will collapse in 15 years. Then he talks about how our current robots have the intelligence of a retarded cockroach. Just from the small amount of reading I have done on AGI, I see there are loads of false assumptions made when he says these two things mean no AGI for 100 years.

#35 JohnDoe1234

  • Guest
  • 1,097 posts
  • 154
  • Location:US

Posted 19 February 2007 - 03:19 AM

Well, thank you Ghostrider, I appreciate it. Are you working on any AGI related projects?

cnorwood19, I completely agree, I think that it is just because since he is so renown for being such a smart man when it comes to explaining things that people don't understand (mostly physics) they expect him to provide answers on other topics he isn't well versed in...

And the part where he says: "We're the Physicists, we are the one who have to build the thing" just kind of irritates me because... isn't it the computer programmers who have to build and design the AI?

But all of that aside, I really like reading his stuff, and I have a lot of respect for him.

#36 Ghostrider

  • Guest
  • 1,996 posts
  • 56
  • Location:USA

Posted 19 February 2007 - 05:17 AM

Joseph, no, I am not working on an AGI project, but I hope to move more in that direction. I am taking CS courses at the undergrad level, I need to master the basics before I can move beyond that. I completed my undergraduate degree in electrical engineering almost two years ago. I plan to apply to some CS grad programs fall of 2008. I already applied to some bioengineering programs for fall of 2007, but I don't think I will get in anywhere as I have no biology background outside of the one bio course that I took in high school and some college chemistry. That's ok though, I like the CS stuff better and that's the direction I want to go in. That part I am sure of.

#37 JohnDoe1234

  • Guest
  • 1,097 posts
  • 154
  • Location:US

Posted 19 February 2007 - 07:54 PM

Ahh yes... electrical engineering, a favorite of mine, I'm not too advanced in the area, but I love to tinker around with things. I wish you luck with your Bioengineering courses, that would be a tough obstacle for me as well since I have just about as much experience as you in the area, but I think given the type of discussions that occur around here that it would be fairly useful.

#38 apocalypse

  • Guest
  • 134 posts
  • 0
  • Location:Diamond sphere

Posted 20 February 2007 - 01:13 AM

Working on AGI. After giving it some serious thought, I've finally found a way around my moral impasse. In the remote eventuality that an AI somehow attained consciousness, I will imagine that at least some day the last of the ais, the omega ai, will resurrect the fallen ais. And that ais will be forever at man's side, even till the end of time as one of man's progeny, as kin. Children's of the mind.

#39 Normal Dan

  • Topic Starter
  • Guest
  • 112 posts
  • 12
  • Location:Idaho, USA, EARTH, Milky Way, 2006

Posted 22 February 2007 - 05:42 PM

Thank you for helping to keep this thread on track. Please, let us continue to do so.

Man... honestly, what is going on? Nevermind... this thread has derailed and needs to be put back on track...

My next concern is the inability for a program to analyse itself, or any other program for that matter. The more I think about this, the more irrelevant it sounds, but it might be worth mentioning. Take the simple case of loop detection. It is impossible (at least as it's currently understood) to write a computer program capable of looking at any other computer program to determine if it is stuck in an infinite loop. Because of this impossibility, it will be impossible for some advanced AI to analyse itself to determine how it can improve. Yes, it can look at itself externally and improve there, but it won't be able to look at its inner self, so to speak. This could potentially slow down any emerging Singularity.

Thoughts?


Hmm... never really thought there was much of an issue of that sort... but I think that if we did end up in that sort of situation, we could just build two. Have one do what we want, while the second tweaks and slowly improves the first. I mean... if the second one detects that the first is constantly repeating a pattern throughout the entire system (infinite loop) I think that it should have the capacity to knock it back into place and continue its work...

Is that what you were meaning? or did I just miss the point? Because I don't see how it would be that hard to detect an infinite loop in another system, it should be very apparent to the sister system... hopefully [glasses]



You may have miss the point a bit. It's not something most people realize right away. Basically, it's impossible to detect loops in a programs. At first glance it might seem easy, but if you take a good look at it, you'll find out in some programs loops aren't as easy to detect. If you're running a program and you're not sure how long it should take, how do you know if it's in a loop or if it's just taking a long time. A long story short, it's impossible.

If you're really interested in finding out why, it's called the halting problem. Here's a link:
http://en.wikipedia....Halting_problem

#40 JohnDoe1234

  • Guest
  • 1,097 posts
  • 154
  • Location:US

Posted 23 February 2007 - 03:26 AM

Well, If a computer program is going through a loop for the first time, it is most likely new information to the system, the problem arises when you have a *complete* repeat of the states within the machine, so as soon as you detect a *complete* repeat of all the states within a machine... it's time to give it a little nudge.

So basically, there isn't anything wrong with a computer entering a loop for the first time, it will seem like normal operation, so by the time the sister machine detects and repairs the problem, the computer will have only looped once (once because the first doesn't count).

Now, making a setup that allows you to introspect into the machine at a state-level may be a little tricky, but I think that this could be dealt with by having the AI compile a checksum of its most dynamic systems for each loop, have another system check them to make sure they aren't exactly the same, sure there might be an error here and there, but it won't really hurt the system as a whole... All we have to do is make sure that the probability of the checksum being the same for any given amount of loops is lower than the probability of the system actually entering an infinite loop, otherwise we are only fabricating a problem.

Any thoughts?

#41 Normal Dan

  • Topic Starter
  • Guest
  • 112 posts
  • 12
  • Location:Idaho, USA, EARTH, Milky Way, 2006

Posted 23 February 2007 - 05:28 PM

That's not the halting problem.

It's impossible to decide whether any ARBITRARY program will halt or not. For any given specific program, you probably can.

hankconn, you are right, what I stated is not exactly the halting problem. I was attempting to explain the general idea of the halting problem without going into too much detail. The halting problem is not my main point in all of this. It is one example of the fact a program cannot analyze another program. You emphasized the word 'arbitrary'. I do believe in this case, AGI can be considered an arbitrary program. Once we have an AGI, it is no longer arbitrary, however that does not mean we will be able to detect loops. Either way, my point remains. The inability to analyze another program could potentially slow the progress of the Singularity.

Well, If a computer program is going through a loop for the first time, it is most likely new information to the system, the problem arises when you have a *complete* repeat of the states within the machine, so as soon as you detect a *complete* repeat of all the states within a machine... it's time to give it a little nudge.

josephjah, sometimes a complete repeat of the states is not enough to detect a loop. Take for example the following pseudo code:
for (n = 1; n > 0; n++);
This will loop forever without any repeating of states. That is, on an infinite state machine. In the real world, we do not have any infinite state machines, our machines have a finite number of states. This means eventually n will loop back around to zero. Quite honestly, your method of loop detection will <i>technically</i> work for all real world machines. Unfortunately, to analyze a large machine will take an even larger machine capable of keeping track of every one of the previous machine's states. To see what you would potentially need, take the machine you are analysing. Take the number of bits it has. Let's say it has 100 bits. To properly analyse it using your method, you would need a machine with 2^100 bits. Very large programs would need exorbitantly larger machines to analyse them. And that is only for loop detection, other analyses need to be done as well.
In the example above, it is easy to detect the infinite loop. If you want to try a more difficult program, try this:

To "solve" the halting problem means to be able to look at any program and tell whether it halts. It is not enough to be able to look at some programs and decide. Humans may also not be able to solve the halting problem, due to the sheer size of the input (a program with millions of lines of code). Even for short programs, it isn't clear that humans can always tell whether they halt. For example, we might ask if this pseudocode function, which corresponds to a particular Turing machine, ever halts:

function searchForOddPerfectNumber()
    var int n = 1    // arbitrary-precision integer
    loop {
        var int sumOfFactors = 0
        for factor from 1 to n - 1
            if factor is a factor of n
                sumOfFactors = sumOfFactors + factor
        if sumOfFactors = n then
            exit loop
        n = n + 2
    }
    return

This program searches until it finds an odd perfect number, then halts. It halts if and only if such a number exists, which is a major open question in mathematics. So, after centuries of work, mathematicians have yet to discover whether a simple, ten-line program halts. This makes it difficult to see how humans could solve the halting problem.

If you can determine whether the preceding program halts or not, you will make your place in history.

For further reading, you may want to look into the busy beaver problem.

I hope this has cleared up some confusion without leading to even more confusion.

#42 JohnDoe1234

  • Guest
  • 1,097 posts
  • 154
  • Location:US

Posted 23 February 2007 - 11:35 PM

For further reading, you may want to look into the busy beaver problem.

Will do.

I hope this has cleared up some confusion without leading to even more confusion.

Alright, I now see what you mean. I now realize that my method would only account for infinite loops where every state involved in the computation of the loop are periodic, and it would foul up on loops that were not periodic.

while (1)
for(i;i<1+1;i++){}

But in the case of a problem such as the one you listed:

function searchForOddPerfectNumber()
    var int n = 1    // arbitrary-precision integer
    loop {
        var int sumOfFactors = 0
        for factor from 1 to n - 1
            if factor is a factor of n
                sumOfFactors = sumOfFactors + factor
        if sumOfFactors = n then
            exit loop
        n = n + 2
    }
    return

I think you could deal with a loop of that sort (even though it slows it down significantly) by reporting its progress to a higher loop as it cycles, you could build the higher loop to request input from an independent system each time it goes through a cycle itself to make sure that it has fresh (and I will explain 'fresh' in a minute) information to deal with. So, for instance:

SetTasks(input_state n)
{
	if(n == 1)
    {
		NewTask(Odd_Perfect)
    }
	if(n == 2)
    {
		NewTask(Eat_Food)
	}
}

RunTasks(void)
{ 
	// Popped from list (Odd_Perfect)
	Odd_Perfect_Solving_Loop
	{
		Do_Solving_Here
		Report_Progress
	}
}

AnalyzeProgress(void)
{
	if(Progress(Odd_Perfect) < needed_for_alloted_time)
	{
		TerminateProcess(Odd_Perfect)
	}
}

HigherLoop
{
	while(Input(Senses)=n != NULL)
	{
		SetTasks(n);
		RunTasks();
		AnalyzeProgress();
	}
}
With this setup, the system is completely dependent on external input for new operation. So, if you constantly expose it to condition 1 it will always try to solve for odd perfect numbers, but if we keep exposing it to different "fresh" situations we can alter its priorities and create more complex behaviors. Now, Although this does not allow us to determine whether a given process will halt and/or infinitely loop, it will allow a higher loop to monitor the lower loop's progress on a given problem. As most know, this is the same principle behind multitasking programs...

I think that as long as we develop an infrastructure that we can prove will not loop and build a handle into problems we cannot resolve completely, we will be safe because we can always change the system's priorities externally thus altering the processes looping within at any point we desire.

Also, we must make sure that this rule applies to all types of behaviors that the system engages in, that way it cannot construct weird behaviors that infinitely loop from smaller behaviors that do not infinitely loop. So, basically we will have two levels of task-monitoring systems, one will engage in regular mental processing, and one that will make sure that as it is "thinking" and creating new behaviors, it will not end up killing itself.

Task Monitor 1 (influenced by external information)
--Multitasking system 2 (gathers information from level 1)
----Sample_Process1
----Sample_Process2
----Sample_Process3

I think that the only way a system like this can lock up is if you (as soon as you turn it on) keep repeating sensory information over and over and over until it imprints that information into its behavioral structures.

sponsored ad

  • Advert

#43 apocalypse

  • Guest
  • 134 posts
  • 0
  • Location:Diamond sphere

Posted 04 March 2007 - 12:17 PM

That's not the halting problem.


It's impossible to decide whether any ARBITRARY program will halt or not. For any given specific program, you probably can.


I've come up with a virtually non-halting non-crashing program(it self-corrects bugs introduced as it updates itself... yes, good luck [thumb] coming up with that solution on your own, I sure didn't.). It can halt yes, if the computer breaks into a million pieces or some other quantum phenomena quirk gets in the way. But under normal non-physical laws intervening circumstances it is virtually unhalting, people will have to check the proofs to see how this blends in, just as they did with negative refraction and insect flight(mathematically proved impossible, or so they used to say.). The principles are so obvious I'd give it a way if I even gave a slight clue to its workings.

I should add, I' an arm chair poker fan. My skills are untested, so you can't possibly know if it's bluffs or skills that I'm showing off... and that's just part of the game. BTW, I won't actually properly document and publish the code until I've a suitable understanding of molecular machinery, and the knowledge of the physical laws, on which to run this code. An indestructible body for an indestructible mind, or else I'm no go on this.

Any thoughts?


Loops that sometimes are an edge away from infinitely repeating are essential for true general intelligence, that's all I'll say.

PS I should add, even though this program is practically non-halting, it is intrinsically so, and could if explained in plain english be understood by fellow programmers. I too can't personally tell if another arbitrary program of untold complexity will or will not halt after x time, without running it and analyzing it and maybe not even then.

PPS Suffice it to say, my dislike of mathematicians will have finally paid off once I've fully brought a replacement for them all, as a community, into the real world. I guess some will still want human mathematicians to teach them out of pity, such a shame that from such arrogance will be born such humility. You could say such arrogant show-off math teachers pssd me off enough to do what any good student does... get someone else who by their very nature vastly surpasses them!

there exists no automatic method that decides with generality non-trivial questions on the black-box behavior of computer programs.


Sadly a physical proof exists in the heads of every mathematician that seems to go against this very theorem. Now who do I believe actions or talk, I think actions speak louder than words.(by this I mean given enough time, knowledge and resources I doubt it would be impossible for a man to solve any problem, and it is in the mathematicians court to say why exactly it'd be impossible no matter what resources are brought for man to accomplish any specific task.)




1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users