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

No, it took me about 10 or 20 seconds to get 576. Starting with the first 
digit, 
3/6 = 1/2 (from long term memory) and 3 is in the thousands place, so 1/2 of 
1000 is 500 (1/2 = .5 from LTM). I write 500 into short term memory (STM), 
which 
only has enough space to hold about 7 digits. Then to divide 45/6 I get 42/6 = 
7 
with a remainder of 3, or 7.5, but since this is in the tens place I get 75. I 
put 75 in STM, add to 500 to get 575, put the result back in STM replacing 500 
and 75 for which there is no longer room. Finally, 6/6 = 1, which I add to 575 
to get 576. I hold this number in STM long enough to check with a calculator.

One could argue that this calculation in my head uses a loop iterator (in STM) 
to keep track of which digit I am working on. It definitely involves a sequence 
of instructions with intermediate results being stored temporarily. The brain 
can only execute 2 or 3 sequential instructions per second and has very limited 
short term memory, so it needs to draw from a large database of rules to 
perform 
calculations like this. A calculator, being faster and having more RAM, is able 
to use simpler but more tedious algorithms such as converting to binary, 
division by shift and subtract, and converting back to decimal. Doing this with 
a carbon based computer would require pencil and paper to make up for lack of 
STM, and it would require enough steps to have a high probability of making a 
mistake.

Intelligence = knowledge + computing power. The human brain has a lot of 
knowledge. The calculator has less knowledge, but makes up for it in speed and 
memory.

 -- Matt Mahoney, matmaho...@yahoo.com



----- Original Message ----
From: Michael Swan <ms...@voyagergaming.com>
To: agi <agi@v2.listbox.com>
Sent: Wed, July 14, 2010 7:53:33 PM
Subject: Re: [agi] What is the smallest set of operations that can potentially  
define everything and how do you combine them ?

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/?&;
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