On Wed, 2010-07-14 at 07:48 -0700, Matt Mahoney wrote:
> Actually, Fibonacci numbers can be computed without loops or recursion.
> 
> int fib(int x) {
>   return round(pow((1+sqrt(5))/2, x)/sqrt(5));
> }
;) I know. I was wondering if someone would pick up on it. This won't
prove that brains have loops though, so I wasn't concerned about the
shortcuts. 
> unless you argue that loops are needed to compute sqrt() and pow().
> 
I would find it extremely unlikely that brains have *, /, and even more
unlikely to have sqrt and pow inbuilt. Even more unlikely, even if it
did have them, to figure out how to combine them to round(pow((1
+sqrt(5))/2, x)/sqrt(5)). 

Does this mean we should discount all maths that use any complex
operations ? 

I suspect the brain is full of look-up tables mainly, with some fairly
primitive methods of combining the data. 

eg What's 6 / 3 ?
ans = 2 most people would get that because it's been wrote learnt, a
common problem.

What 3456/6 ?
we don't know, at least not from the top of our head.


> The brain and DNA use redundancy and parallelism and don't use loops because 
> their operations are slow and unreliable. This is not necessarily the best 
> strategy for computers because computers are fast and reliable but don't have 
> a 
> lot of parallelism.

The brains "slow and unreliable" methods I think are the price paid for
generality and innately unreliable hardware. Imagine writing a computer
program that runs for 120 years without crashing and surviving damage
like a brain can. I suspect the perfect AGI program is a rigorous
combination of the 2. 


> 
>  -- Matt Mahoney, matmaho...@yahoo.com
> 
> 
> 
> ----- Original Message ----
> From: Michael Swan <ms...@voyagergaming.com>
> To: agi <agi@v2.listbox.com>
> Sent: Wed, July 14, 2010 12:18:40 AM
> Subject: Re: [agi] What is the smallest set of operations that can 
> potentially  
> define everything and how do you combine them ?
> 
> Brain loops:
> 
> 
> Premise:
> Biological brain code does not contain looping constructs, or the
> ability to creating looping code, (due to the fact they are extremely
> dangerous on unreliable hardware) except for 1 global loop that fires
> about 200 times a second.
> 
> Hypothesis:
> Brains cannot calculate "iterative" problems quickly, where calculations
> in the previous iteration are needed for the next iteration and, where
> brute force operations are the only valid option.
> 
> Proof:
> Take as an example, Fibonacci numbers
> http://en.wikipedia.org/wiki/Fibonacci_number
> 
> What are the first 100 Fibonacci numbers?
> 
> int Fibonacci[102];
> Fibonacci[0] = 0;
> Fibonacci[1] = 1;
> for(int i = 0; i < 100; i++)
> {
>     // Getting the next Fibonacci number relies on the previous values
>     Fibonacci[i+2] = Fibonacci[i] + Fibonacci[i+1];
> }  
> 
> My brain knows the process to solve this problem but it can't directly
> write a looping construct into itself. And so it solves it very slowly
> compared to a computer. 
> 
> The brain probably consists of vast repeating look-up tables. Of course,
> run in parallel these seem fast.
> 
> 
> DNA has vast tracks of repeating data. Why would DNA contain repeating
> data, instead of just having the data once and the number of times it's
> repeated like in a loop? One explanation is that DNA can't do looping
> construct either.
> 
> 
> 
> On Wed, 2010-07-14 at 02:43 +0100, Mike Tintner wrote:
> > Michael: We can't do operations that
> > require 1,000,000 loop iterations.  I wish someone would give me a PHD
> > for discovering this ;) It far better describes our differences than any
> > other theory.
> > 
> > Michael,
> > 
> > This isn't a competitive point - but I think I've made that point several 
> > times (and so of course has Hawkins). Quite obviously, (unless you think 
> > the 
> > brain has fabulous hidden powers), it conducts searches and other 
> > operations 
> > with extremely few limited steps, and nothing remotely like the routine 
> > millions to billions of current computers.  It must therefore work v. 
> > fundamentally differently.
> > 
> > Are you saying anything significantly different to that?
> > 
> > --------------------------------------------------
> > From: "Michael Swan" <ms...@voyagergaming.com>
> > Sent: Wednesday, July 14, 2010 1:34 AM
> > To: "agi" <agi@v2.listbox.com>
> > Subject: Re: [agi] What is the smallest set of operations that can 
> > potentially  define everything and how do you combine them ?
> > 
> > >
> > > On Tue, 2010-07-13 at 07:00 -0400, Ben Goertzel wrote:
> > >> Well, if you want a simple but complete operator set, you can go with
> > >>
> > >> -- Schonfinkel combinator plus two parentheses
> > >>
> > > I'll check this out soon.
> > >> or
> > >>
> > >> -- S and K combinator plus two parentheses
> > >>
> > >> and I suppose you could add
> > >>
> > >> -- input
> > >> -- output
> > >> -- forget
> > >>
> > >> statements to this, but I'm not sure what this gets you...
> > >>
> > >> Actually, adding other operators doesn't necessarily
> > >> increase the search space your AI faces -- rather, it
> > >> **decreases** the search space **if** you choose the right operators, 
> > >> that
> > >> encapsulate regularities in the environment faced by the AI
> > >
> > > Unfortunately, an AGI needs to be absolutely general. You are right that
> > > higher level concepts reduce combinations, however, using them, will
> > > increase combinations for "simpler" operator combinations, and if you
> > > miss a necessary operator, then some concepts will be impossible to
> > > achieve. The smallest set can define higher level concepts, these
> > > concepts can be later integrated as "single" operations, which means
> > > using "operators than can be understood in terms of smaller operators"
> > > in the beginning, will definitely increase you combinations later on.
> > >
> > > The smallest operator set is like absolute zero. It has a defined end. A
> > > defined way of finding out what they are.
> > >
> > >
> > >
> > >>
> > >> Exemplifying this, writing programs doing humanly simple things
> > >> using S and K is a pain and involves piling a lot of S and K and 
> > >> parentheses
> > >> on top of each other, whereas if we introduce loops and conditionals and
> > >> such, these programs get shorter.  Because loops and conditionals happen
> > >> to match the stuff that our human-written programs need to do...
> > > Loops are evil in most situations.
> > >
> > > Let me show you why:
> > > Draw a square using put_pixel(x,y)
> > > // loops are more scalable, but, damage this code anywhere and it can
> > > potentially kill every other process, not just itself. This is why
> > > computers die all the time.
> > >
> > > for (int x = 0; x < 2; x++)
> > > {
> > > for (int y = 0; y < 2; y++)
> > > {
> > > put_pixel(x,y);
> > > }
> > > }
> > >
> > > opposed to
> > > /* The below is faster (even on single step instructions), and can be
> > > run in parallel, damage resistant ( ie destroy  put_pixel(0,1); and the
> > > rest of the code will still run), is less scalable ( more code is
> > > required for larger operations)
> > >
> > > put_pixel(0,0);
> > > put_pixel(0,1);
> > > put_pixel(1,0);
> > > put_pixel(1,1);
> > >
> > > The lack of loops in the brain is a fundamental difference between
> > > computers and brains. Think about it. We can't do operations that
> > > require 1,000,000 loop iterations.  I wish someone would give me a PHD
> > > for discovering this ;) It far better describes our differences than any
> > > other theory.
> > >
> > >
> > >> A better question IMO is what set of operators and structures has the
> > >> property that the compact expressions tend to be the ones that are useful
> > >> for survival and problem-solving in the environments that humans and 
> > >> human-
> > >> like AIs need to cope with...
> > >
> > > For me that is stage 2.
> > >
> > >>
> > >> -- Ben G
> > >>
> > >> On Tue, Jul 13, 2010 at 1:43 AM, Michael Swan <ms...@voyagergaming.com> 
> > >> wrote:
> > >> > Hi,
> > >> >
> > >> > I'm interested in combining the simplest, "most derivable" operations
> > >> > ( eg operations that cannot be defined by other operations) for 
> > >> > creating
> > >> > seed AGI's. The simplest operations combined in a multitude ways can
> > >> > form extremely complex patterns, but the underlying logic may be
> > >> > simple.
> > >> >
> > >> > I wonder if varying combinations of the smallest set of operations:
> > >> >
> > >> > { ">" , memory ("=" for memory assignment), "==", (a logical way to
> > >> > combine them), (input, output), () "brackets"  }
> > >> >
> > >> > can potentially learn and define everything.
> > >> >
> > >> > Assume all input is from numbers.
> > >> >
> > >> > We want the smallest set of elements, because less elements mean less
> > >> > combinations which mean less chance of hitting combinatorial explosion.
> > >> >
> > >> > ">" helps for generalisation, reducing combinations.
> > >> >
> > >> > memory(=) is for hash look ups, what should one remember? What can be
> > >> > discarded?
> > >> >
> > >> > "==" This does a comparison between 2 values x == y is 1 if x and y are
> > >> > exactly the same. Returns 0 if they are not the same.
> > >> >
> > >> > (a logical way to combine them) Any non-narrow algorithm that reduces
> > >> > the raw data into a simpler state will do. Philosophically like
> > >> > Solomonoff Induction. This is the hardest part. What is the most 
> > >> > optimal
> > >> > way of combining the above set of operations?
> > >> >
> > >> > () brackets are used to order operations.
> > >> >
> > >> >
> > >> >
> > >> >
> > >> > Conditionals (only if statements) + memory assignment are the only 
> > >> > valid
> > >> > form of logic - ie no loops. Just repeat code if you want loops.
> > >> >
> > >> >
> > >> > If you think that the set above cannot define everything, then what is
> > >> > the smallest set of operations that can potentially define everything?
> > >> >
> > >> > ------------------------------------------------------------------
> > >> > Some proofs / Thought experiments :
> > >> >
> > >> > 1) Can ">", "==", (), and memory define other logical operations like &
> > >> > ("AND" gate) ?
> > >> >
> > >> > I propose that "x==y==1" defines "x&y"
> > >> >
> > >> > x&y             x==y==1
> > >> > 0&0 = 0         0==0==1 = 0
> > >> > 1&0 = 0         1==0==1 = 0
> > >> > 0&1 = 0         0==1==1 = 0
> > >> > 1&1 = 1         1==1==1 = 1
> > >> >
> > >> > It means "&" can be completely defined using "==" therefore "&" is not
> > >> > one of the smallest possible general concepts. "&" can be potentially
> > >> > "learnt" from "==".
> > >> >
> > >> > -----------------------------------------------------------------
> > >> >
> > >> > 2) Write a algorithm that can define "1" using only >,==, ().
> > >> >
> > >> > Multiple answers
> > >> > a) "discrete 1 could use"
> > >> > x == 1
> > >> >
> > >> > b) "continuous 1.0 could use this rule"
> > >> > For those not familiar with C++, "!" means "not"
> > >> > (x > 0.9) && !(x > 1.1)   expanding gives ( getting rid of "!" and 
> > >> > "&&")
> > >> > (x > 0.9) == ((x > 1.1) == 0) == 1    note "!x" can be defined in terms
> > >> > of "==" like so x == 0.
> > >> >
> > >> > (b) is a generalisation, and expansion of the definition of (a) and can
> > >> > be scaled by changing the values "0.9" and "1.1" to fit what others
> > >> > would generally define as being 1.
> > >> >
> > >> >
> > >> >
> > >> >
> > >> > -------------------------------------------
> > >> > agi
> > >> > Archives: https://www.listbox.com/member/archive/303/=now
> > >> > RSS Feed: https://www.listbox.com/member/archive/rss/303/
> > >> > Modify Your Subscription: https://www.listbox.com/member/?&;
> > >> > Powered by Listbox: http://www.listbox.com
> > >> >
> > >>
> > >>
> > >>
> > >
> > >
> > >
> > > -------------------------------------------
> > > agi
> > > Archives: https://www.listbox.com/member/archive/303/=now
> > > RSS Feed: https://www.listbox.com/member/archive/rss/303/
> > > Modify Your Subscription: 
> > > https://www.listbox.com/member/?&;
> > > Powered by Listbox: http://www.listbox.com 
> > 
> > 
> > 
> > 
> > -------------------------------------------
> > agi
> > Archives: https://www.listbox.com/member/archive/303/=now
> > RSS Feed: https://www.listbox.com/member/archive/rss/303/
> > Modify Your Subscription: https://www.listbox.com/member/?&;
> > Powered by Listbox: http://www.listbox.com
> 
> 
> 
> -------------------------------------------
> agi
> Archives: https://www.listbox.com/member/archive/303/=now
> RSS Feed: https://www.listbox.com/member/archive/rss/303/
> Modify Your Subscription: 
> https://www.listbox.com/member/?&;
> Powered by Listbox: http://www.listbox.com
> 
> 
> 
> -------------------------------------------
> agi
> Archives: https://www.listbox.com/member/archive/303/=now
> RSS Feed: https://www.listbox.com/member/archive/rss/303/
> Modify Your Subscription: https://www.listbox.com/member/?&;
> Powered by Listbox: http://www.listbox.com



-------------------------------------------
agi
Archives: https://www.listbox.com/member/archive/303/=now
RSS Feed: https://www.listbox.com/member/archive/rss/303/
Modify Your Subscription: 
https://www.listbox.com/member/?member_id=8660244&id_secret=8660244-6e7fb59c
Powered by Listbox: http://www.listbox.com

Reply via email to