The definition of the set of allowable operations used for computation and their respective costs. Some examples of models include Turing machines, recursive functions, lambda calculus, and production systems.
Questions tagged [computation-models]
523 questions
79
votes
2 answers
What does the "Lambda" in "Lambda calculus" stand for?
I've been reading about Lambda calculus recently but strangely I can't find an explanation for why it is called "Lambda" or where the expression comes from.
Can anyone explain the origins of the term?
Klangen
- 1,100
- 8
- 15
77
votes
6 answers
Why is the Turing Machine a popular model of computation?
I am a CS undergraduate. I understand how Turing came up with his abstract machine (modeling a person doing a computation), but it seems to me to be an awkward, inelegant abstraction. Why do we consider a "tape", and a machine head writing symbols,…
Alex
- 903
- 1
- 7
- 5
61
votes
7 answers
Is a Turing Machine "by definition" the most powerful machine?
I agree that a Turing Machine can do "all possible mathematical problems". But that is because it is just a machine representation of an algorithm: first do this, then do that, finally output that.
I mean anything that is solvable can be…
Sounak Bhattacharya
- 667
- 1
- 6
- 5
56
votes
2 answers
How to define quantum Turing machines?
In quantum computation, what is the equivalent model of a Turing machine?
It is quite clear to me how quantum circuits can be constructed out of quantum gates, but how can we define a quantum Turing machine (QTM) that can actually benefit from…
Ran G.
- 20,884
- 3
- 61
- 117
45
votes
7 answers
Is there anything that MUST be done on a multi-core CPU?
When considering how multi-thread-friendly our program must be, my team puzzled about whether there's anything that absolutely cannot be done on a single-core CPU. I posited that graphics processing requires massively parallel processing, but they…
Ky -
- 599
- 1
- 4
- 9
38
votes
3 answers
How is algorithm complexity modeled for functional languages?
Algorithm complexity is designed to be independent of lower level details but it is based on an imperative model, e.g. array access and modifying a node in a tree take O(1) time. This is not the case in pure functional languages. The Haskell list…
wsaleem
- 581
- 6
- 10
37
votes
2 answers
Quantum lambda calculus
Classically, there are 3 popular ways to think about computation: Turing machine, circuits, and lambda-calculus (I use this as a catch all for most functional views). All 3 have been fruitful ways to think about different types of problems, and…
Artem Kaznatcheev
- 4,872
- 2
- 28
- 57
36
votes
6 answers
Differences and relationships between randomized and nondeterministic algorithms?
What differences and relationships are between randomized algorithms and nondeterministic algorithms?
From Wikipedia
A randomized algorithm is an algorithm which employs a degree of
randomness as part of its logic. The algorithm typically uses
…
Tim
- 5,035
- 5
- 37
- 71
30
votes
4 answers
What did Turing mean when saying that "machines cannot give rise to surprises" is due to a fallacy?
I encountered below statement by Alan M. Turing here:
"The view that machines cannot give rise to surprises is due, I
believe, to a fallacy to which philosophers and mathematicians are
particularly subject. This is the assumption that as soon…
smwikipedia
- 401
- 5
- 7
27
votes
7 answers
Is there a physical analogy to the Turing Machine?
Recently in my CS class I've been introduced to the Turing Machine.
After the class, I spent over 2 hours trying to figure out what is the relationship between a tape and a machine.
I was completely unaware of the existence of computer tapes or…
Fraïssé
- 821
- 11
- 20
25
votes
3 answers
Array access is O(1) implies a fixed index size, which implies O(1) array traversal?
Arrays are generally presented as data structures with $\Theta(N)$ traversal and $\Theta(1)$ random element access. However, this seems inconsistent:
if array access is really $\Theta(1)$, this means that the size of an element index is bounded by…
Antoine Pietri
- 380
- 3
- 10
24
votes
8 answers
Programming language where every expression makes sense
Per recommendation I am reposting this from Stack Overflow.
Recently I have been thinking about following issue.
Consider the code for a standard "Hello world!" program:
main()
{
printf("Hello World");
}
Now almost any change in this code will…
user1561358
- 961
- 1
- 8
- 10
24
votes
3 answers
How to show two models of computation are equivalent?
I'm seeking explanation on how one could prove that two models of computation are equivalent. I have been reading books on the subject except that equivalence proofs are omitted. I have a basic idea about what it means for two models of computation…
mrk
- 3,748
- 23
- 35
22
votes
5 answers
Could the Halting Problem be "resolved" by escaping to a higher-level description of computation?
I've recently heard an interesting analogy which states that Turing's proof of the undecidability of the halting problem is very similar to Russell's barber paradox.
So I got to wonder: mathematicians did eventually manage to make set theory…
H2CO3
- 323
- 2
- 6
22
votes
3 answers
Machines for context-free languages which gain no extra power from nondeterminism
When considering machine models of computation, the Chomsky hierarchy is normally characterised by (in order), finite automata, push-down automata, linear bound automata and Turing Machines.
For the first and last levels1 (regular languages and…
Luke Mathieson
- 18,373
- 4
- 60
- 87