Electronic Schematics (alt.binaries.schematics.electronic) A place to show and share your electronics schematic drawings.

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to alt.binaries.schematics.electronic,sci.electronics.design
external usenet poster
 
Posts: 272
Default Turing complete


Just casually reading about old computers, it seems that both ENIAC and the
Z3 were Turing complete, but neither had conditional branching. How can
that be? A Turing Machine has to decide which way to move.


--

Reply in group, but if emailing add one more
zero, and remove the last word.


  #2   Report Post  
Posted to alt.binaries.schematics.electronic,sci.electronics.design
external usenet poster
 
Posts: 1,001
Default Turing complete

Tom Del Rosso wrote:

Just casually reading about old computers, it seems that both ENIAC and the
Z3 were Turing complete, but neither had conditional branching. How can
that be? A Turing Machine has to decide which way to move.


Not sure about that how ever, there are architecture that does do
lets say a compare on something and if false, it'll skip the following
instruction and go to the next after that. The next instruction would be
like a jmp to an address you assign.. so, no JEQ, JNL, etc..Just a jmp
and a skip around that jump...


Later on, the branches came which made things lovely...

  #3   Report Post  
Posted to alt.binaries.schematics.electronic,sci.electronics.design
external usenet poster
 
Posts: 488
Default Turing complete

Jamie wrote:
Tom Del Rosso wrote:

Just casually reading about old computers, it seems that both ENIAC
and the
Z3 were Turing complete, but neither had conditional branching. How can
that be? A Turing Machine has to decide which way to move.


Not sure about that how ever, there are architecture that does do
lets say a compare on something and if false, it'll skip the following
instruction and go to the next after that. The next instruction would be
like a jmp to an address you assign.. so, no JEQ, JNL, etc..Just a jmp
and a skip around that jump...


Later on, the branches came which made things lovely...

Then again, there were computers where that logic was "programmed" in
using a patch panel.
  #4   Report Post  
Posted to alt.binaries.schematics.electronic,sci.electronics.design
external usenet poster
 
Posts: 2,701
Default Turing complete

On 04/10/2010 01:19, Tom Del Rosso wrote:
Just casually reading about old computers, it seems that both ENIAC and the
Z3 were Turing complete, but neither had conditional branching. How can
that be? A Turing Machine has to decide which way to move.


A bit of native cunning by coding a simulation of the Turing machine on
the bare hardware - see the paper by Rojas about the Z3 implementation
in Annals Hist Comp IEEE abstract he

http://ieeexplore.ieee.org/xpl/freea...rnumber=707574

(need membership or peering deal to see full text)

There is a copy of the paper outside IEEE control online at:
http://www.zib.de/zuse/Inhalt/Kommen...niversal2.html

Regards,
Martin Brown
  #5   Report Post  
Posted to alt.binaries.schematics.electronic,sci.electronics.design
external usenet poster
 
Posts: 1,247
Default Turing complete

On Sun, 03 Oct 2010 20:49:11 -0400, Jamie
t wrote:

Tom Del Rosso wrote:

Just casually reading about old computers, it seems that both ENIAC and the
Z3 were Turing complete, but neither had conditional branching. How can
that be? A Turing Machine has to decide which way to move.


Not sure about that how ever, there are architecture that does do
lets say a compare on something and if false, it'll skip the following
instruction and go to the next after that. The next instruction would be
like a jmp to an address you assign.. so, no JEQ, JNL, etc..Just a jmp
and a skip around that jump...


I've programmed computers like that. Not difficult once you get used
to it.



Later on, the branches came which made things lovely...



  #6   Report Post  
Posted to alt.binaries.schematics.electronic,sci.electronics.design
external usenet poster
 
Posts: 8
Default Turing complete



"Tom Del Rosso" wrote in message
...

Just casually reading about old computers, it seems that both ENIAC and
the
Z3 were Turing complete, but neither had conditional branching. How can
that be? A Turing Machine has to decide which way to move.



Of course they had conditional branching. Computing would be useless if that
wern't the case. It may not be specified in the way you would like but it
definitey existed.

  #7   Report Post  
Posted to alt.binaries.schematics.electronic,sci.electronics.design
external usenet poster
 
Posts: 2,701
Default Turing complete

On 05/10/2010 11:00, Jeff Johnson wrote:


"Tom Del Rosso" wrote in message
...

Just casually reading about old computers, it seems that both ENIAC
and the
Z3 were Turing complete, but neither had conditional branching. How can
that be? A Turing Machine has to decide which way to move.


Of course they had conditional branching. Computing would be useless if
that wern't the case. It may not be specified in the way you would like
but it definitey existed.


No it didn't - at least not in the Z3 hardware instruction set.

It was much later proved to be Turing complete by showing that a loop
construct could be made that would emulate conditional branching by
representing it in the machines internal state and allow any finite size
Turing machine program to be executed (subject to available memory). The
execution time would have been abysmal.

We are talking very very early barely programmable machines here that
were built to do certain specific types of aerodynamics calculation for
the Z3 and ballistics tables in the case of ENIAC. ENIAC was Turing
complete by design. The Z3 has only fairly recently been shown to be so.

The proof is a bit like Conway's proof of Life being Turing complete.

http://en.wikipedia.org/wiki/Conway%27s_Game_of_Life

Regards,
Martin Brown
  #8   Report Post  
Posted to alt.binaries.schematics.electronic,sci.electronics.design
external usenet poster
 
Posts: 8
Default Turing complete



"Martin Brown" wrote in message
...
On 05/10/2010 11:00, Jeff Johnson wrote:


"Tom Del Rosso" wrote in message
...

Just casually reading about old computers, it seems that both ENIAC
and the
Z3 were Turing complete, but neither had conditional branching. How can
that be? A Turing Machine has to decide which way to move.


Of course they had conditional branching. Computing would be useless if
that wern't the case. It may not be specified in the way you would like
but it definitey existed.


No it didn't - at least not in the Z3 hardware instruction set.

It was much later proved to be Turing complete by showing that a loop
construct could be made that would emulate conditional branching by
representing it in the machines internal state and allow any finite size
Turing machine program to be executed (subject to available memory). The
execution time would have been abysmal.

We are talking very very early barely programmable machines here that were
built to do certain specific types of aerodynamics calculation for the Z3
and ballistics tables in the case of ENIAC. ENIAC was Turing complete by
design. The Z3 has only fairly recently been shown to be so.

The proof is a bit like Conway's proof of Life being Turing complete.

http://en.wikipedia.org/wiki/Conway%27s_Game_of_Life

Regards,
Martin Brown


Obviously you don't understand the sentence "It may not be specified in the
way you would like
but it definitey existed." Maybe reread it a few times until it sinks in.


  #9   Report Post  
Posted to alt.binaries.schematics.electronic,sci.electronics.design
external usenet poster
 
Posts: 2,701
Default Turing complete

On 06/10/2010 09:10, Jeff Johnson wrote:


"Martin Brown" wrote in message
...
On 05/10/2010 11:00, Jeff Johnson wrote:


"Tom Del Rosso" wrote in message
...

Just casually reading about old computers, it seems that both ENIAC
and the
Z3 were Turing complete, but neither had conditional branching. How can
that be? A Turing Machine has to decide which way to move.

Of course they had conditional branching. Computing would be useless if
that wern't the case. It may not be specified in the way you would like
but it definitey existed.


No it didn't - at least not in the Z3 hardware instruction set.

It was much later proved to be Turing complete by showing that a loop
construct could be made that would emulate conditional branching by
representing it in the machines internal state and allow any finite
size Turing machine program to be executed (subject to available
memory). The execution time would have been abysmal.

We are talking very very early barely programmable machines here that
were built to do certain specific types of aerodynamics calculation
for the Z3 and ballistics tables in the case of ENIAC. ENIAC was
Turing complete by design. The Z3 has only fairly recently been shown
to be so.

The proof is a bit like Conway's proof of Life being Turing complete.

http://en.wikipedia.org/wiki/Conway%27s_Game_of_Life

Regards,
Martin Brown


Obviously you don't understand the sentence "It may not be specified in
the way you would like
but it definitey existed." Maybe reread it a few times until it sinks in.


You are dumb as a rock. It was so *obvious* that the Zuse's Z3 was
Turing complete that it took until 1998 for someone to show how it was
possible using purely arithmetical means and publish a formal proof.

http://ieeexplore.ieee.org/xpl/freea...rnumber=707574

The Z3 had no need of conditional branches for the work that it was
designed to do.

Regards,
Martin Brown
  #10   Report Post  
Posted to alt.binaries.schematics.electronic,sci.electronics.design
external usenet poster
 
Posts: 8
Default Turing complete



"Martin Brown" wrote in message
...
On 06/10/2010 09:10, Jeff Johnson wrote:


"Martin Brown" wrote in message
...
On 05/10/2010 11:00, Jeff Johnson wrote:


"Tom Del Rosso" wrote in message
...

Just casually reading about old computers, it seems that both ENIAC
and the
Z3 were Turing complete, but neither had conditional branching. How
can
that be? A Turing Machine has to decide which way to move.

Of course they had conditional branching. Computing would be useless if
that wern't the case. It may not be specified in the way you would like
but it definitey existed.

No it didn't - at least not in the Z3 hardware instruction set.

It was much later proved to be Turing complete by showing that a loop
construct could be made that would emulate conditional branching by
representing it in the machines internal state and allow any finite
size Turing machine program to be executed (subject to available
memory). The execution time would have been abysmal.

We are talking very very early barely programmable machines here that
were built to do certain specific types of aerodynamics calculation
for the Z3 and ballistics tables in the case of ENIAC. ENIAC was
Turing complete by design. The Z3 has only fairly recently been shown
to be so.

The proof is a bit like Conway's proof of Life being Turing complete.

http://en.wikipedia.org/wiki/Conway%27s_Game_of_Life

Regards,
Martin Brown


Obviously you don't understand the sentence "It may not be specified in
the way you would like
but it definitey existed." Maybe reread it a few times until it sinks in.


You are dumb as a rock. It was so *obvious* that the Zuse's Z3 was Turing
complete that it took until 1998 for someone to show how it was possible
using purely arithmetical means and publish a formal proof.

http://ieeexplore.ieee.org/xpl/freea...rnumber=707574

The Z3 had no need of conditional branches for the work that it was
designed to do.


lol, A rock huh? You sure? If you really believe that then what does that
make you dumb as?

Even a human sitting at a patch desk is a "conditional branch". If anything
you don't understand much about computation theory.

"This is done by simulating conditional branching and indirect addressing by
purely arithmetical means."

Which you obviously misinterpret, no doubt due to your lack of intelligence.
The Z3 was not purely arithmetical. The statement is refering to the
mechanics of the proof. It treated conditional branches and indirect
addressing as arithemetic operations to prove what it needed to prove. It is
not talking about the Z3.

http://en.wikipedia.org/wiki/Z3_%28computer%29

"It was possible to construct loops on the Z3, but there was no conditional
branch instruction."

"He proposes that the tape program would have to be long enough to execute
every possible path through both sides of every branch."

hmm, so if hte Z3 cannot do conditional branching then why would it say
"execute ever possible path through both sides of every branch."?

Just because the Z3 does not support conditional branching directly(through
an instruction, does not mean there is not an indirect way to do is. This is
where you are a complete failure because you cannot comprehend the abstract
concept of conditional branching.

Now, if you would have said "conditional branch instruction" then things
would have been different... but again, this is where you are an utter
pathetic failure.




  #11   Report Post  
Posted to alt.binaries.schematics.electronic,sci.electronics.design
external usenet poster
 
Posts: 2,701
Default Turing complete

On 06/10/2010 11:58, Jeff Johnson wrote:


"Martin Brown" wrote in message
...
On 06/10/2010 09:10, Jeff Johnson wrote:


"Martin Brown" wrote in message
...
On 05/10/2010 11:00, Jeff Johnson wrote:


"Tom Del Rosso" wrote in message
...

Just casually reading about old computers, it seems that both ENIAC
and the
Z3 were Turing complete, but neither had conditional branching.
How can
that be? A Turing Machine has to decide which way to move.

Of course they had conditional branching. Computing would be
useless if
that wern't the case. It may not be specified in the way you would
like
but it definitey existed.

No it didn't - at least not in the Z3 hardware instruction set.

It was much later proved to be Turing complete by showing that a loop
construct could be made that would emulate conditional branching by
representing it in the machines internal state and allow any finite
size Turing machine program to be executed (subject to available
memory). The execution time would have been abysmal.

We are talking very very early barely programmable machines here that
were built to do certain specific types of aerodynamics calculation
for the Z3 and ballistics tables in the case of ENIAC. ENIAC was
Turing complete by design. The Z3 has only fairly recently been shown
to be so.

The proof is a bit like Conway's proof of Life being Turing complete.

http://en.wikipedia.org/wiki/Conway%27s_Game_of_Life

Regards,
Martin Brown

Obviously you don't understand the sentence "It may not be specified in
the way you would like
but it definitey existed." Maybe reread it a few times until it sinks
in.


You are dumb as a rock. It was so *obvious* that the Zuse's Z3 was
Turing complete that it took until 1998 for someone to show how it was
possible using purely arithmetical means and publish a formal proof.

http://ieeexplore.ieee.org/xpl/freea...rnumber=707574


The Z3 had no need of conditional branches for the work that it was
designed to do.


lol, A rock huh? You sure? If you really believe that then what does
that make you dumb as?

Even a human sitting at a patch desk is a "conditional branch". If
anything you don't understand much about computation theory.

"This is done by simulating conditional branching and indirect
addressing by purely arithmetical means."

Which you obviously misinterpret, no doubt due to your lack of
intelligence. The Z3 was not purely arithmetical. The statement is
refering to the mechanics of the proof. It treated conditional branches
and indirect addressing as arithemetic operations to prove what it
needed to prove. It is not talking about the Z3.

http://en.wikipedia.org/wiki/Z3_%28computer%29

"It was possible to construct loops on the Z3, but there was no
conditional branch instruction."


Yes. A loop (singular) could be made by splicing the ends of the punched
film program tape together. The full paper is online.

http://www.zib.de/zuse/Inhalt/Kommen...niversal2.html

It is only because the Z3 traps undefined op 0/0 that there is a halt
when the algorithm completes. The hardware capability was very limited.

Quoting from the 1998 paper:

"It is the purpose of this paper to show that Konrad Zuse's Z3, a
computing automaton built in Berlin between 1938 and 1941, could in
principle be programmed as any other modern computer. This is a rather
curious result, since the Z3 can only compute sequences of arithmetical
operations (addition, subtraction, multiplication and division) stored
in a punched tape. There is no conditional branching. Since both ends of
the punched tape can be glued together, the Z3 is a machine capable of
repeatedly executing a single loop of arithmetical operations which act
on numbers stored in memory!"


"He proposes that the tape program would have to be long enough to
execute every possible path through both sides of every branch."

hmm, so if hte Z3 cannot do conditional branching then why would it say
"execute ever possible path through both sides of every branch."?


Because it has to enumerate results for every possible path and sum them
together with a multiplication factor that is 1 for the wanted case and
0 otherwise. The final result is formally equivalent to a conditional
branch statement but a lot more computationally expensive.


Just because the Z3 does not support conditional branching
directly(through an instruction, does not mean there is not an indirect
way to do is. This is where you are a complete failure because you
cannot comprehend the abstract concept of conditional branching.

Now, if you would have said "conditional branch instruction" then things
would have been different... but again, this is where you are an utter
pathetic failure.


You are a truly worthless troll.

Regards,
Martin Brown
  #12   Report Post  
Posted to alt.binaries.schematics.electronic,sci.electronics.design
external usenet poster
 
Posts: 27
Default Turing complete

On Wed, 06 Oct 2010 14:12:00 +0100, Martin Brown wrote:

hmm, so if hte Z3 cannot do conditional branching then why would it say
"execute ever possible path through both sides of every branch."?


Because it has to enumerate results for every possible path and sum them
together with a multiplication factor that is 1 for the wanted case and
0 otherwise. The final result is formally equivalent to a conditional
branch statement but a lot more computationally expensive.


In the general case, it isn't equivalent, as a recursive computation which
uses a conditional to terminate in the base case will result in
non-termination (infinite recursion) if the conditional doesn't do
short-circuit evaluation.

Reply
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Bar is almost complete Walter H. Klaus Woodworking Plans and Photos 0 May 2nd 07 02:45 AM
Bar is almost complete James \Cubby\ Culbertson Woodworking Plans and Photos 2 March 16th 07 12:37 AM
FS complete pkg Mick1V Woodturning 2 November 13th 04 11:16 AM
Zenith model Z27A11S not turing on Joust Electronics Repair 6 August 29th 04 03:02 PM
thanks all 1st project complete James Schenck Metalworking 9 April 19th 04 03:33 AM


All times are GMT +1. The time now is 12:44 AM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright ©2004-2024 DIYbanter.
The comments are property of their posters.
 

About Us

"It's about DIY & home improvement"