MHB Formal vs. informal - Numerical Functions

Click For Summary
The discussion centers on the concept of "effectively computable" functions in both informal and formal senses. "Effectively" refers to the existence of an algorithm that can compute the function for each value in its domain, with the implication that this computation can be performed using reasonable resources, such as time and storage. The conversation emphasizes that "reasonable" is defined within the context of computation theory rather than engineering. To clarify, a function is considered computable in the formal sense if it adheres to precise definitions associated with universal computation models like Turing machines. The Church-Turing thesis posits that informal and formal computability are equivalent. The dialogue also touches on the nuances of terminology, particularly the distinction between "effectively" and "efficiently," which may vary across languages.
agapito
Messages
46
Reaction score
0
The literature mentions "functions that are effectively computable in the informal sense". What is meant by that? It would be helpful to have an example involving "informal sense" vs. "formal sense" for some numerical function.

All help appreciated. am
 
Technology news on Phys.org
It would be helpful to know the context. If "effectively" means "with reasonable resources, i.e., time and storage", then it means precisely that: with reasonable resources, which is not a precise judgment. We could make it more precise, for example, by saying that the function is computable in polynomial time, or in time $O(t^5)$ on an unlimited register machine. If "effectively" means computable at all, then it means there is an something like an algorithm, which can be implemented on reasonable devices like a modern computer with unlimited memory. Here "reasonable" means in the context of computation theory, not engineering. For example, a pushdown automaton is not a reasonable device because its computational power is known to be strictly less than that of a Turing machine. Showing that a function is computable in the formal sense would involve showing that it is computable according to a precise definition of some universal device, such as Turing machines, Markov algorithms, Kleene recursive functions, etc. The Church-Turing thesis says that the informal and the formal senses of computability coincide.
 
Evgeny.Makarov said:
It would be helpful to know the context. If "effectively" means "with reasonable resources, i.e., time and storage", then it means precisely that: with reasonable resources, which is not a precise judgment. We could make it more precise, for example, by saying that the function is computable in polynomial time, or in time $O(t^5)$ on an unlimited register machine. If "effectively" means computable at all, then it means there is an something like an algorithm, which can be implemented on reasonable devices like a modern computer with unlimited memory. Here "reasonable" means in the context of computation theory, not engineering. For example, a pushdown automaton is not a reasonable device because its computational power is known to be strictly less than that of a Turing machine. Showing that a function is computable in the formal sense would involve showing that it is computable according to a precise definition of some universal device, such as Turing machines, Markov algorithms, Kleene recursive functions, etc. The Church-Turing thesis says that the informal and the formal senses of computability coincide.[/QUOTE

Thank you very much. So, if we state that a function is effectively computable in the informal sense, we are simply acknowledging the existence of an algorithm that can be used to compute it for each value of its domain. Is that correct?

Again thanks a lot for helping me out, agapito
 
I would say, yes. Plus, if "effectively" is a statement about resources, then the algorithm takes reasonable time and storage. But it may sound this way to me only because in Russian there are no two different words for "effectively" and "efficiently". I am not sure "effective" is about resources here. (Smile)
 
Evgeny.Makarov said:
I would say, yes. Plus, if "effectively" is a statement about resources, then the algorithm takes reasonable time and storage. But it may sound this way to me only because in Russian there are no two different words for "effectively" and "efficiently". I am not sure "effective" is about resources here. (Smile)

Thanks again for your patience, you have been very helpful. agapito
 
Learn If you want to write code for Python Machine learning, AI Statistics/data analysis Scientific research Web application servers Some microcontrollers JavaScript/Node JS/TypeScript Web sites Web application servers C# Games (Unity) Consumer applications (Windows) Business applications C++ Games (Unreal Engine) Operating systems, device drivers Microcontrollers/embedded systems Consumer applications (Linux) Some more tips: Do not learn C++ (or any other dialect of C) as a...

Similar threads

  • · Replies 63 ·
3
Replies
63
Views
4K
  • · Replies 13 ·
Replies
13
Views
3K
  • · Replies 7 ·
Replies
7
Views
2K
Replies
0
Views
766
Replies
3
Views
2K
  • · Replies 11 ·
Replies
11
Views
3K
  • · Replies 6 ·
Replies
6
Views
2K
  • · Replies 9 ·
Replies
9
Views
4K
  • · Replies 8 ·
Replies
8
Views
2K
  • · Replies 3 ·
Replies
3
Views
2K